@charset "UTF-8";

/* ===================================
	File Name   : common.css
	Description : Base Layout CSS
	Editor      : Bface Saeki
	Last Editor : Bface yokono
	
	Update Description :
	[2019/03/26] #global_naviに装飾追加
	[2020/03/08] #sub_cont ul a.soon 追加
  	[2020/1/22] #global_navi修正、supタグの装飾追加
	[2017/10/23] 新規作成

====================================== */

/*========== Style Contents ==========

	1. Global Redefinition
	2. Font Redefinition
	3. Box Setting
	4. Common Items Setting
		- Basic Link
	 	- Header Items
		- Global Navigation
	 	- Footer Items
		- Footer Navigation
		- Breadcrumbs
		- Page Top Button
		- Title Items
		- Sub Column
		- Inner Anchor
		− Clear Fix

====================================== */



/*===== ■1. Global Redefinition =====*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,700);

body {
	color: #333333;
	line-height: 1.5;
  margin: 0px auto;
}

img { max-width: 100%;}



/*===== ■2. Font Redefinition =====*/
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

html { font-size: 62.5%;}

body {
	font-size: 1.4em;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragio Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, Meiryo, "M+ 1p", sans-serif;
}

@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?e20oli');
  src:  url('fonts/icomoon.eot?e20oli#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?e20oli') format('truetype'),
    url('fonts/icomoon.woff?e20oli') format('woff'),
    url('fonts/icomoon.svg?e20oli#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon_"], [class*=" icon_"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon_blank:before {
  content: "\e900";
  color: #d8a63c;
	margin-left: 4px;
}

a:hover .icon_blank:before { color: #fff;}
a.soon:hover .icon_blank:before { color: #d8a63c;}

a.box .icon_blank:before { transition: all .5s;}
a.box:hover .icon_blank:before { transition: all .7s;}

a.txt:hover .icon_blank:before { color: #f6e8d0;}

footer .icon_blank:before { color: #f6e8d0;}

footer .soon .icon_blank:before { color: #999;}

#sub_cont a .icon_blank:before { color: #f6e8d0;}

#footer_contact a .icon_blank:before { color: #d8a63c;}
#footer_contact a:hover .icon_blank:before { opacity: .6;}

.icon_key:before {
  content: "\e901";
  color: #fff;
  margin-left: 2px;
}

a:hover .icon_key:before { color: #fff;}


i.icon_pdf {
	display: inline-block;
	position: relative;
	top: -2px;
	width: 20px;
	margin-left: 5px;
	vertical-align: middle;
}
i.icon_pdf_s {
	display: inline-block;
	position: relative;
	top: -2px;
	width: 14px;
	margin-left: 5px;
	vertical-align: middle;
	line-height: 0;
}





@media screen and (max-width:640px) {
	body {
		font-size: 1.3em;
	}
	
	i.icon_pdf {
		display: inline-block;
		position: relative;
		top: 0;
		width: 15px;
		margin-left: 5px;
		vertical-align: middle;
	}
}

sup { 
  font-size: .9rem;
  vertical-align: top;
}


/*===== ■3. Box Setting =====*/
#entirety {
	overflow: hidden;
	position: relative;
	width: 100%;
}

#entirety:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 120%;
	height: 320px;
	margin: 65px -10% 0;
	background: #d8a63c;
	transform-origin: left center;
	transform: rotate(2deg);
	z-index: -1;
}

#entirety:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 120%;
	height: 320px;
	margin: 55px -10% 0;
	background: #f6e8d0;
	transform-origin: right center;
	transform: rotate(-2deg);
	z-index: -2;
}

main {
	display: block;
	max-width: 1200px;
	margin: 0px auto;
}

article {
	position: relative;
	max-width: 1200px;
	margin: 0px auto;
}

section {
	position: relative;
	width: 100%;
	margin: 0px auto 35px;
}
section:last-of-type { margin-bottom: 20px;}


section .inner { margin: 0 10px;}

header {
	display: flex;
	max-width: 1200px;
	margin: 10px auto 15px;
	color: #d8a63c;
	font-family: 'Open Sans', 'Noto Sans Japanese';
}

article .wrapper {
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto 40px;
}

article .wrapper #main_cont {
	width: 870px;
	min-height: 300px;
	margin: 0 10px;
	padding: 15px;
	box-shadow: 0 2px 10px rgba(0,0,0,.3);
	background: #fff;
}

article .wrapper #sub_cont {
	position: relative;
	width: 250px;
	margin: 0 10px;
  background: #d8a63c;
}

article .wrapper #sub_cont:before {
	position: absolute;
	top: 0;
	content: url(../img/common/bg-subcont-top.png);
}

article .wrapper #sub_cont:after {
	position: absolute;
	bottom: -6px;
	content: url(../img/common/bg-subcont-bottom.png);
}


@media screen and (max-width:1200px) {
	article .wrapper #main_cont {
		width: calc(100% - 20px);
	}

	article .wrapper #sub_cont { display: none;}
}

@media screen and (min-width: 641px) and (max-width: 860px){
	#entirety:before {
		height: 350px;
		margin: 85px -10% 0;
	}
	#entirety:after {
		height: 350px;
		margin: 85px -10% 0;
	}
}

@media screen and (max-width: 640px){
	#entirety:before {
		height: 200px;
		margin: 185px -10% 0;
		transform: rotate(3deg);
	}
	#entirety:after {
		height: 200px;
		margin: 185px -10% 0;
		transform: rotate(-3deg);
	}
}

@media screen and (max-width:640px) {
	section { margin-bottom: 30px;}
	section:last-of-type { margin-bottom: 15px;}
	
	header {
		display: block;
		margin: 10px 15px 25px;
	}
	
	section .inner { margin: 0;}

	article .wrapper {
		display: block;
		margin: 0 auto 15px;
	}
	
	article .wrapper #main_cont {
		margin: 0 10px;
		padding: 10px;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 480px){
	#entirety:before {margin: 135px -10% 0;}
	#entirety:after {margin: 135px -10% 0;}
}



/* Clear Fix Only Box  */
main:after {
	display: block;
	clear: both;
	content: '';
}



/*===== ■4. Common Items Setting =====*/
/* Basic Link */
a {
	outline: hidden;
	font-weight: bold;
	text-decoration: underline;
}

a:link {
	color: #d8a63c;
	text-decoration: underline;
}

a:visited {
	color: #d8a63c;
	text-decoration: underline;
}

a:hover {
	color: #ecd19e;
	text-decoration: none;
}

a:hover img { opacity: 0.6;}

a.txt {
	position: relative;
	padding-left: 10px;
}
a.txt:before {
	position: absolute;
	top: 50%;
	left: 0;
	border: 4px solid transparent;
	border-left: 5px solid #d8a63c;
	transform: translateY(-50%);
	content: '';
}

a.box:not(.soon) {
    display: block;
    overflow: hidden;
    outline: none;
    position: relative;
    padding: 22px 10px;
    color: #d8a63c;
    font-size: 1.6rem;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: all .5s;
}

a.box:before,
a.box:after {
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	transition: all .5s;
}
a.box:before {
	top: 0;
	left: 0;
	border-top: 1px solid #d8a63c;
	border-left: 1px solid #d8a63c;
}
a.box:not(.soon):after {
	right: 0;
	bottom: 0;
	border-right: 1px solid #d8a63c;
	border-bottom: 1px solid #d8a63c;
}
a.box:not(.soon):hover {
	background-color: #d8a63c;
	color: #fff;
	transition: all .7s;
}
a.box:not(.soon):hover:before,
a.box:not(.soon):hover:after {
	width: 0;
	height: 0;
	opacity: 0;
	transition: all .7s;
}

a.box i.icon_arrow {
	position: absolute;
	top: 50%;
	left: 0;
	border: 8px solid transparent;
	border-left: 8px solid #d8a63c;
	transform: translateY(-50%);
	content: '';
}

a.pdf:after {
	display: inline-block;
	position: relative;
	top: 2px;
	margin-left: 5px;
	width: 16px;
	height: 16px;
	content: '';
}
a.pdf:after { background: url(../img/common/mark-pdf.png) no-repeat right top / 100%;}


@media screen and (max-width:640px) {
	a.box:not(.soon) {
		padding: 10px 15px;
		box-sizing: border-box;
		font-size: 1.4rem;
	}
}


/* Header Items */
header h1,
header strong {
	display: block;
	width: 25%;
	margin: 0 2.5% 0 0;
}

header #h_info li:first-child { margin-bottom: 3px;}

header #h_info dl {
	display: flex;
	align-items: flex-start;
}

header #h_info dt {
	line-height: 1;
	min-width: 60px;
	margin-right: 5px;
	padding: 4px 5px;
	border-radius: 5px;
	background: #d8a63c;
	color: #fff;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-align: center;
}

header #h_info li:first-child dd {
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1;
}

header #h_info li:first-child dd b {
	font-weight: bold;
	font-size: 2.6rem;
}

header #h_info li:first-child dd span:first-child {
	display: inline-block;
	position: relative;
}
header #h_info li:first-child dd span:first-child:after {
	float: right;
	margin: 5px 8px 0px 5px;
	content: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE3cHgiIGhlaWdodD0iMTdweCIgdmlld0JveD0iMCAwIDE3IDE3IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOiNEOEE2M0M7fQ0KPC9zdHlsZT4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik05LDBMNywybDUsNUgwdjNoMTJsLTUsNWwyLDJsOC04VjhMOSwweiIvPg0KPC9zdmc+DQo=);
}

header #h_info li:first-child dd span em { font-size: 1.4rem;}

header #h_info li:first-child+li dd {
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1;
}

header #h_info li:first-child+li dd a {
	display: inline-block;
	position: relative;
	width: 110px;
	margin-left: 10px;
	padding: 3px 3px 3px 5px;
	box-sizing: border-box;
	border: 1px solid #d8a63c;
	background: #fff;
	font-weight: 500;
	font-size: 1.3rem;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	vertical-align: top;
}

header #h_info li:first-child+li dd a:before {
	position: absolute;
	top: 50%;
	left: 0;
	border: 4px solid transparent;
	border-left: 4px solid #d8a63c;
	transform: translateY(-50%);
	content: '';
}

header #h_info li:first-child+li dd a:hover {
	background: #d8a63c;
	color: #fff;
}

header #h_info li:first-child+li dd a:hover .icon_blank:before { color: #fff;}

header #h_info li:first-child dd span:nth-child(2) { margin-right: 10px;}
header #h_info li:first-child dd span:nth-child(3) { white-space: nowrap;}


header #h_info li:last-child { 
	display: flex;
	align-items: flex-end;
}

header #h_info li:last-child div { 
	display: flex;
	position: relative;
	z-index: 100;
	margin-left: 10px;
}

header #h_info li:last-child > div a { 
	display: inline-block;
    position: relative;
    width: 140px;
	height: 22px;
	margin-left: 5px;
    padding: 3px 3px 4px 5px;
    box-sizing: border-box;
    border: 1px solid #fff;
    background: #ea592a;
	color: #fff !important;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none !important;
    vertical-align: top;
}

header #h_info li:last-child > div a:hover { 
    opacity: 0.8;
}

header #h_info li:last-child > div a:before {
	position: absolute;
	top: 50%;
	left: 1px;
	border: 4px solid transparent;
	border-left: 4px solid #fff;
	transform: translateY(-50%);
	content: '';
}

header #h_info li:last-child > div a .icon_blank:before {color: #fff;}



header > div {
	width: 150px;
	margin-left: auto;
}

header div dl {
	position: relative;
	margin-bottom: 5px;
	font-size: 1.3rem;
}

header div dt {
	width: 100%;
	padding: 5px;
	box-sizing: border-box;
	border: 1px solid #d8a63c;
	font-weight: 600;
	line-height: 1;
	text-align: center;
}
header div dt:hover,
header div dt.on {
	background: #d8a63c;
	color: #fff;
}

header div dd {
	display: none;
	position: absolute;
	z-index: 3;
	width: 100%;
	background: rgba(216,166,60,0.7);
	color: #fff;
}

header div dd a {
	display: block;
	position: relative;
	padding: 7px 5px 7px 10px;
	border-bottom: 1px solid #fff;
	color: #fff !important;
	font-weight: normal;
	text-decoration: none !important;
}
header div dd a:last-child { border: none;}

header div dd a:before {
	position: absolute;
	top: 50%;
	left: 0;
	border: 4px solid transparent;
	border-left: 4px solid #fff;
	transform: translateY(-50%);
	content: '';
}
header div dd a:hover { background: #d8a63c;}

header div dd a.soon {
	opacity: 0.6;
	cursor: default;
}

header div ul {
	display: flex;
	justify-content: space-between;
}

header button { display: none;}


@media screen and (max-width:1100px) {
	header #h_info dt {
		min-width: 50px;
		letter-spacing: 0;
		font-size: 1.2rem;
	}

	header #h_info li:first-child dd {
		font-size: 1.6rem;
		letter-spacing: 0;
	}

	header #h_info li:first-child dd b {
		font-size: 2.2rem;
	}
	
	header #h_info li:first-child dd span em { font-size: 1.2rem;}

	header #h_info li:first-child+li dd {
		font-size: 1.8rem;
		letter-spacing: 0;
	}

}

@media screen and (max-width:640px) {
	header h1,
	header strong {
		width: 70%;
		margin: 0 auto 5px;
	}
	
	header #h_info li:first-child { margin-bottom: 5px;}

	header #h_info dt {
		min-width: 50px;
		padding: 3px 5px;
		font-size: 3.125vw;
		letter-spacing: 0;
	}

	header #h_info li:first-child dd {
		font-size: 3.4375vw;
		letter-spacing: 0;
	}

	header #h_info li:first-child dd b {
		font-size: 4.6875vw;
	}

	header #h_info li:first-child dd span:first-child { margin-right: 18px;}

	header #h_info li:first-child dd span:first-child:after {
	position: absolute;
	top: 50%;
	right: -14px;
	float: none;
	width: 10px;
	height: 10px;
	margin: 0;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE3cHgiIGhlaWdodD0iMTdweCIgdmlld0JveD0iMCAwIDE3IDE3IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOiNEOEE2M0M7fQ0KPC9zdHlsZT4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik05LDBMNywybDUsNUgwdjNoMTJsLTUsNWwyLDJsOC04VjhMOSwweiIvPg0KPC9zdmc+DQo=) no-repeat left top / 100%;
	transform: translateY(-45%);
	content: '';
}

	header #h_info li:first-child+li dd {
		font-size: 4.375vw;
		letter-spacing: 0.05em;
		text-shadow: 0 0px 2px #FFF;
		vertical-align: middle;
	}

	header #h_info li:first-child+li dd a {
		display: inline-block;
		width: auto;
		margin: 2px 0 0 7px;
		padding: 2px 3px 2px 5px;
		font-size: 3.75vw;
		vertical-align: middle;
	}
	
	header #h_info li:first-child dd span:nth-child(2) { margin-right: 10px; white-space: nowrap;}
	header #h_info li:first-child dd span:nth-child(3) { display:block; margin-top:3px;}

	header #h_info li:last-child > div{display: none;}
	
	header > div { display: none;}
	
	header button {
		display: block;
		position: absolute;
		top: 5px;
		right: 5px;
		z-index: 999;
		max-width: 70px;
		width: 14%;
		padding: 0;
		border: none;
		background: none;
		transition: transform .5s;
	}
	header button.fixed {
		position: fixed;
		top: 0;
	}

	header button span {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 40%;
		height: 2px;
		margin-top: -2px;
		background: #d8a63c;
		transform: translate(-50%);
	}
	
	header button span:before,
	header button span:after {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background: #d8a63c;
		content: '';
		transition: all .5s;
	}
	header button span:before { margin-top: -6px;}
	header button span:after { margin-top: 6px;}
	
	header button.active { transform: rotate(90deg);}
	
	header button.active span {
		background: none;
	}
	header button.active span:before {
		margin: 0;
		transform: rotate(45deg);
	}
	header button.active span:after {
		margin: 0;
		transform: rotate(-45deg);
	}
}


/* Global Navigation */
#global_navi .sp { display: none;}

#global_navi {
	display: block;
	top: -76px;
	max-width: 1200px;
	margin: 0 auto 30px;
	padding: 1px;
	box-sizing: border-box;
	box-shadow: 0 0 10px rgba(0,0,0,.1);
	background: linear-gradient(to bottom, rgba(255,255,255,1), rgba(255,255,255,0.8));
	font-family: 'Open Sans', 'Noto Sans Japanese';
}

#global_navi.fixed {
	position: fixed;
	top: 0;
	z-index: 99;
	width: 100%;
	max-width: none;
	background: linear-gradient(to bottom, rgba(255,255,255,0.9), rgba(255,255,255,1));
	transition: top .5s;
}

#global_navi.fixed > ul {
	max-width: 1200px;
	margin: 0 auto;
}

#global_navi > ul {
	display: flex;
	flex-flow: row;
	justify-content: space-between;
}

#global_navi > ul > li {
	display: flex;
	position: relative;
	z-index: 2;
	align-items: center;
	width: 20%;
	box-sizing: border-box;
	padding: 0 4px 0 3px;
}
#global_navi > ul > li:nth-child(2) { padding-left: 0;}
#global_navi > ul > li:nth-last-child(2) { padding-right: 0;}

#global_navi > ul > li:after {
	position: absolute;
	right: 0;
	top: 50%;
	width: 1px;
	height: 20px;
	margin-top: -10px;
	background: #999;
	content: '';
}
#global_navi > ul > li:nth-last-child(-n+2):after { display: none;}

#global_navi > ul > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 20px 0;
	color: #d8a63c;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1;
	text-align: center;
	text-decoration: none !important;
}

#global_navi > ul > li > a > i {
	margin: 0 10px 0 0;
}


#global_navi > ul > li > a.soon {opacity: 0.5;}

#global_navi > ul > li > a:not(.soon):hover,
#global_navi > ul > li > a.active {
  height: 100%;
	box-sizing: border-box;
	background: #ecd19e;
	color: #fff;
}
#global_navi > ul > li > a[href^='javascript'] { cursor: default;}

#global_navi > ul > li > a.soon:hover { color: #d8a63c;}

#global_navi > ul > li.active > a:before {
	position: absolute;
	left: 50%;
	bottom: 0px;
	border: 10px solid transparent;
	border-bottom: 10px solid 	rgba(246,232,208,1);
	transform: translateX(-50%);
	content:'';
}

#global_navi ul ul {
	display: none;
	position: absolute;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
	padding: 10px 0 5px;
	border-radius: 5px;
	background: rgba(246,232,208,0.95);
}

#global_navi ul ul li {
	margin-bottom: 1px;
	padding-bottom: 1px;
	border-bottom: 1px solid rgba(255,255,255,0.5);
}

#global_navi ul ul li:last-child {
	margin: 0;
	padding: 0;
	border: 0;
}

#global_navi ul li:not(:last-child) ul a {
	display: block;
	position: relative;
	padding: 12px 10px;
	line-height: 1.3;
	text-decoration: none !important;
}

#global_navi ul ul a:not(.soon):before {
	position: absolute;
	top: 50%;
	left: 0;
	border: 6px solid transparent;
	border-left: 6px solid #d8a63c;
	transform: translateY(-50%);
	content: '';
}
#global_navi ul ul a.soon { opacity: 0.5;}

#global_navi ul ul a:not(.soon):hover {
	background: #d8a63c;
	color: #fff;
}
#global_navi ul ul a.soon:hover { color: inherit;}
#global_navi ul ul a:hover:before { border-left: 6px solid #fff;}



@media screen and (max-width:1024px) {
	#global_navi > ul > li > a { font-size: 1.4rem;}
	#global_navi ul li:not(:last-child) ul a {
		font-size: 1.2rem;
		padding: 12px 5px;
	}
}

@media screen and (max-width:640px) {
	#global_navi .sp { display: block;}

	#global_navi .icon_blank:before { color: #fff;}
	
	#global_navi {
		opacity: 0;
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100vw;
		height: 100%;
		max-width: none;
		padding: 0;
		box-shadow: 0;
		background: rgba(255,255,255,0.8) !important;
		margin: 0;
		transition: all .3s;
	}
	#global_navi.active {
		display: block;
		opacity: 1;
		z-index: 99;
	}

	#global_navi.fixed {
		position: static;
		background: rgba(255,255,255,0.8) !important;
		transition: none;
	}

	#global_navi > ul {
		display: block;
		position: relative;
		left: 100vw;
		background: rgba(216,166,60,0.9);
		transition: left .7s, height .7s;
	}
	#global_navi.active > ul { left: 0;}
	
	#global_navi > ul > li {
		display: block;
		width: auto;
		margin-bottom: 2px;
		padding: 0 0 2px;
		border-bottom: 1px dotted #fff;;
	}

	#global_navi > ul > li:last-child {
		margin: 0;
		padding: 0;
		border: none;
	}
	
	#global_navi > ul > li:after { display: none;}
	
	#global_navi > ul > li > a {
		display: block;
		box-sizing: border-box;
		position: relative;
		width: 100%;
		padding: 20px 15px;
		color: #fff;
		font-size: 1.4rem;
		line-height: 1.2;
		text-align: left;
	}
	#global_navi > ul > li > a.soon {opacity: 0.5;}

	#global_navi > ul > li > a:not(.soon):hover,
	#global_navi > ul > li > a.active {
		background: inherit;
	}

	#global_navi > ul > li > a.soon:hover { color: #fff;}

	#global_navi > ul > li.active > a:before { display: none;}
	
	#global_navi > ul > li > a[href]:after {
		position: absolute;
		top: 50%;
		right: 20px;
		width: 12px;
		height: 12px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
		transform: translateY(-50%) rotate(45deg);
		content:'';
	}
	
	#global_navi > ul > li > a[href^='javascript']:before {
		position: absolute;
		top: 50%;
		right: 23px;
		width: 3px;
		height: 25px;
		background: #fff;
		transform: translateY(-50%);
		content:'';
	}
	#global_navi > ul > li > a[href^='javascript']:after {
		position: absolute;
		top: 50%;
		right: 12px;
		width: 25px;
		height: 3px;
		border: none;
		background: #fff;
		transform: translateY(-50%);
		content:'';
	}
	#global_navi > ul > li.active > aa[href^='javascript']:before {
		display: none;
	}
	
	#global_navi ul ul {
		display: none;
		position: static;
		width: calc(100% - 15px);
		margin-left: 15px;
		padding: 0;
		border-radius: 0;
		background: none;
	}

	#global_navi ul ul li:not(:last-child) {
		margin-bottom: 1px;
		padding-bottom: 1px;
		border-bottom: 1px dotted rgba(140,142,180,0.5);
	}

	#global_navi ul li:not(:last-child) ul a {
		padding: 20px 15px;
		box-sizing: border-box;
		background: #d8a63c;
		color: #fff;
	}
	#global_navi ul li:not(:last-child) ul a:before {
		position: absolute;
		top: 50%;
		left: 0;
		border: 12px solid transparent;
		border-left: 6px solid #fff;
		content:'';
	}

	#global_navi ul ul a:not(.soon):before {
		position: absolute;
		top: 50%;
		left: 0;
		border: 6px solid transparent;
		border-left: 6px solid #d8a63c;
		transform: translateY(-50%);
		content: '';
	}
	#global_navi ul ul a.soon { opacity: 0.5;}
	#global_navi ul ul a:hover { color: #fff !important;}
	
	#global_navi li.sp > a i.icon_key:before,
	#global_navi li.sp > a:hover .icon_key:before { color: #fff;}
	
	#global_navi ul li:last-child ul {
		display: flex;
		justify-content: space-around;
		width: auto;
		margin-left: 0;
		padding: 30px 0;
	}
	#global_navi ul li:last-child ul li {
		margin: 0 10px;
		border: none;
	}
	
	#global_navi ul li:last-child ul li a { color: #fff;}
	
	#global_navi ul li:last-child ul a:not(.soon):before { display: none;}
}



/* Footer Items */
aside#bnr_simultaneous {
	padding: 30px 0;
	background: url(../img/common/bg-dotted-light.png);
}

aside#bnr_simultaneous h3 {
	margin-bottom: 30px;
	color: #d8a63c;
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1.3;
	text-align: center;
	text-shadow: 0 1px 0 #fff;
	font-family: 'Noto Sans Japanese';
}

aside#bnr_simultaneous ul {
	display: flex;
	justify-content: space-around;
	max-width: 1200px;
	margin: 0 auto;
}

aside#bnr_simultaneous li {
	width: 100%;
	max-width: 360px;
}

aside#bnr_simultaneous li { margin: 0 10px;}

footer .wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 0 10px;
}

footer #footer_sitemap + .wrapper {
	display: block;
	padding: 0;
}

footer #footer_contact {
	display: flex;
	margin: 15px 0 5px;
	justify-content: space-between;
	border-bottom: 1px dotted #999;
	font-family: 'Noto Sans Japanese';
}

footer #footer_contact dl { width: 48%;}

footer #footer_contact dt em {
	display: block;
	margin-bottom: 10px;
	padding: 5px 10px;
	background: #ebebeb;
	font-weight: bold;
	line-height: 1.3;
}

footer #footer_contact dt b {
	display: block;
	margin: 0 10px 10px;
	padding: 0 0 5px;
	border-bottom: 1px dotted #ccc;
	font-weight: bold;
}

footer #footer_contact dd { margin: 0 10px 10px;}

footer #footer_contact dd strong {
	display: block;
	font-weight: bold;
}

footer #footer_contact dd li {
	position: relative;
	margin-bottom: 3px;
	padding-left: 10px;
}

footer #footer_contact dd li:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 2px;
	background: #ccc;
	transform: translateY(-50%);
	content:'';
}

footer #footer_contact dd > a { font-weight: normal;}

footer #footer_logo {
	/*
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	*/
	margin: 10px 0;
	text-align: right;
}
/*
footer #footer_logo figure {
	max-width: 310px;
	margin-bottom: 5px;
}
*/
footer #footer_logo p {
	font-size: 1.2rem;
	font-family: 'Open Sans';
}


@media screen and (max-width:640px) {
	aside#bnr_simultaneous {
		padding: 15px 0;
	}

	aside#bnr_simultaneous h3 {
		margin-bottom: 15px;
		font-weight: bold;
		font-size: 1.6rem;
	}
	
	aside#bnr_simultaneous li {
		max-width:  none;
	}

	footer .wrapper {
		display: block;
		padding: 10px 0;
	}
	
	footer #footer_sitemap + .wrapper { padding: 15px 5px 5px;}

	footer #footer_contact {
		flex-direction: column;
		width: auto;
		margin: 0 5px 5px;
	}
	
	footer #footer_contact dl { width: 100%;}

	footer #footer_contact dt em {
		margin-bottom: 10px;
		font-weight: bold;
		font-size: 1.2rem;
	}

	footer #footer_contact dd {
		margin: 0 10px 15px;
		font-size: 1.2rem;
	}
	
	footer #footer_contact dd > a { display: inline-block;}
	
	footer #footer_contact dd li { margin: 0;}
	footer #footer_contact dd li a {
		display: inline-block;
		padding: 5px 0;
	}

	footer #footer_logo {
		display: block;
		margin: 10px 0 5px;
	}

	/*
	footer #footer_logo figure {
		max-width: 310px;
		width: 64%;
		margin: 0 auto;
	}
	*/

	footer #footer_logo p {
		font-size: 1.0rem;
		text-align: center;
	}	
}


/* Footer Sitemap */
#footer_sitemap { background: url(../img/common/bg-dotted-dark.png) repeat left top, url(../img/common/bg-sitemap.jpg) no-repeat center top / cover;}

#footer_sitemap dl {
	width: 23.75%;
	margin-bottom: 20px;
	font-family: 'Open Sans', 'Noto Sans Japanese';
}
#footer_sitemap dl:first-of-type { max-width: 100%;}

#footer_sitemap dt {
	margin-bottom: 15px;
	color: #ecd19e;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1;
}

#footer_sitemap dd {
	min-height: calc(100% - 50px);
	padding: 10px 10px 10px 0;
	background: rgba(0,0,0,.3);
}
#footer_sitemap dl:first-of-type dd { min-height: inherit;}

#footer_sitemap li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 20px;
}

#footer_sitemap li:last-child { margin: 0;}

#footer_sitemap li a {
	color: #f6e8d0;
	font-weight: normal;
	line-height: 1.3;
}

#footer_sitemap li a:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 10px;
	height: 3px;
	background: #f6e8d0;
	transform: translateY(-50%);
	content: '';
}

#footer_sitemap li a:hover { opacity: .6;}

#footer_sitemap li a.soon {
	color: #666;
	text-decoration: none;
}

#footer_sitemap li a.soon:before { background: #666;}

#footer_sitemap li a.soon:hover { opacity: 1;}

#footer_sitemap dl:first-of-type { width: 100%;}

#footer_sitemap dl:first-of-type ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#footer_sitemap dl:first-of-type li {
	width: 28.5%;
	margin: 0 10px 5px 0;
}


@media screen and (max-width:640px) {
	#footer_sitemap { background: url(../img/common/bg-dotted-dark.png) repeat left top, url(../img/common/bg-sitemap.jpg) no-repeat center top / 300% auto;}
	
	#footer_sitemap dl,
	#footer_sitemap dl:first-of-type {
		width: calc(100% - 20px);
		margin: 0 10px 5px;
	}
	
	#footer_sitemap dl:last-of-type { margin-bottom: 0;}
	
	#footer_sitemap dt {
		position: relative;
		margin: 0;
		padding: 15px 10px;
		background: rgba(0,0,0,.3);
		font-size: 1.4rem;
	}
	
	#footer_sitemap dt:before {
		position: absolute;
		top: 50%;
		right: 20px;
		width: 2px;
		height: 20px;
		background: #ecd19e;
		transform: translateY(-50%);
		content:'';
	}
	#footer_sitemap dt:after {
		position: absolute;
		top: 50%;
		right: 11px;
		width: 20px;
		height: 2px;
		background: #ecd19e;
		transform: translateY(-50%);
		content:'';
	}
	#footer_sitemap dt.active:before { display: none;}
	
	#footer_sitemap dd { min-height: inherit;}
	
	#footer_sitemap dl:first-of-type ul { display: block;}

	#footer_sitemap dl:first-of-type li {
		width: 100%;
		margin: 0 0 5px;
	}
	#footer_sitemap dl:first-of-type li:last-child { margin: 0;}
	
	#footer_sitemap li a {
		display: inline-block;
		padding: 5px 0;
		font-size: 1.4rem;
	}
}


/* Breadcrumbs */
#breadcrumbs {
	margin: 0 10px;
	padding: 15px 20px 20px;
	border-top: 1px dotted #ecd19e;
	color: #ecd19e;
	font-weight: 500;
	letter-spacing: 0.05em;
	font-family: 'Noto Sans Japanese';
}

#sub_visual + #breadcrumbs {
	padding-top: 5px;
	border-top: 0;
}

#breadcrumbs span {
	position: relative;
	margin-right: 10px;
	padding-right: 20px;
}

#breadcrumbs span:after {
	position: absolute;
	top: 50%;
	right: 3px;
	width: 6px;
	height: 6px;
	margin-top: 1px;
	border-top: 2px solid #ecd19e;
	border-right: 2px solid #ecd19e;
	transform: translateY(-50%) rotate(45deg);
	content:'';
}

#breadcrumbs a {
	color: #ecd19e;
	font-weight: 500;
	text-decoration: none;
}

#breadcrumbs a:hover {
	color: #ecd19e;
	opacity: 0.6;
}


@media screen and (max-width:640px) {
	#breadcrumbs {
		margin: 0 5px;
		padding: 10px 5px;
		border-top: 1px dotted #ecd19e;
		font-size: 1.0rem;
		letter-spacing: 0;
	}
	#breadcrumbs span {
		position: relative;
		margin-right: 5px;
		padding-right: 15px;
	}
	
}


/* Page Top Button */
#pagetop {
	width: 100px;
	height: 80px;
	float: right;
}

#sub_cont #pagetop {
	flot: none;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 2;
}

#pagetop a { text-decoration: none;}
.st0{fill:#d8a63c;}
.st1{fill:#FFFFFF;}
.st2{font-family: 'Open Sans';}
.st3{font-size: 1.3rem;}

#pagetop a .st0:hover { opacity: 0.6;}

.inner_top {
	margin: 0 10px 15px;
	line-height: 1;
	text-align: right;
}
.inner_top a {
	position: relative;
	padding-left: 14px;
	color: #d8a63c;
	text-decoration: none;
}
.inner_top a:before {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -2px;
	border: 5px solid transparent;
	border-bottom: 7px solid #d8a63c;
	transform: translateY(-50%);
	content: '';
}

.inner_top a:hover { color: #ecd19e;}
.inner_top a:hover:before {	border-bottom: 7px solid #ecd19e;}

#sp_pagetop { display: none;}


@media screen and (max-width:640px) {
	#pagetop,
	.inner_top { display: none;}
	
	#sp_pagetop {
		display: block;
		position: relative;
		margin: 20px 5% 15px;
		padding: 10px 0px;
		border: 1px solid #d8a63c;
		font-size: 1.4rem;
		letter-spacing: 0.1em;
		text-align: center;
		text-decoration: none;
	}

	#sp_pagetop:after {
		position: absolute;
		top: 50%;
		right: 10px;
		margin: -5px 0 0;
		border: 8px solid transparent;
		border-bottom: 12px solid #d8a63c;
		transform: translateY(-50%);
		content:'';
	}
}


/* Title Items */
article h1 {
	margin: 0 10px;
	padding: 40px 0px 70px;
	color: #fff;
	font-weight: bold;
	font-size: 4.0rem;
	line-height: 1.3;
	font-family: 'Noto Sans Japanese';
	letter-spacing: 0.05em;
}

article h1 b {
	margin-left: 40px;
	font-size: 3.0rem;
}

article h1#sub_visual {
	margin: -15px 6px 0;
	padding: 0;
}

article h2 {
	display: flex;
	margin-bottom: 20px;
	border: 2px solid #d8a63c;
	border-radius: 8px;
}

article h2 span:first-of-type {
	margin: 0 25px 0 15px;
	padding: 20px 0;
	color: #d8a63c;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 1.2;
	font-family: 'Noto Sans Japanese';
}

article h2 span:last-of-type {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: flex-end;
	width: 140px;
	margin-left: auto;
	padding: 0 20px;
	background: #d8a63c;
}

article h2 span:last-of-type:before {
	position: absolute;
	top: 0;
	left: -25px;
	width: 50px;
	height: 100%;
	background: #d8a63c;
	transform: skewX(-25deg);
	content: '';
}

article h2 b {
	position: relative;
	z-index: 2;
	color: #fff;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.2;
	font-family: 'Open Sans';
	word-break: break-all;
	text-align: right;
}

article section h3 {
	margin-bottom: 15px;
	padding: 0 10px 17px;
	background: url(../img/common/bg-line-ttl.png) no-repeat left bottom;
	color: #d8a63c;
	font-weight: bold;
	font-size: 1.8rem;
	font-family: 'Open Sans', 'Noto Sans Japanese';
	line-height: 1.2;
}


@media screen and (max-width:640px) {
	article h1 {
		margin: 0 5px;
		padding: 55px 0px 45px;
		font-size: 2.2rem;
		line-height: 1.2;
		letter-spacing: 0;
		text-align: center;
	}

	article h1 b {
		display: block;
		margin: 10px 0 0;
		font-size: 1.8rem;
	}
	
	article h1#sub_visual { margin: 0 6px;}
	
	article h2 {
		flex-direction: column;
		margin-bottom: 15px;
		border: none;
		border-radius: 0;
		border-bottom: 1px solid #d8a63c;
	}
	article h2 span:first-of-type {
		display: block;
		margin: 0;
		padding: 10px;
		background: #d8a63c;
		color: #fff;
		font-size: 1.6rem;
	}
	
	article h2 span:last-of-type { display: none;}

	/*
	article h2 span:first-of-type {
		order: 2;
		display: block;
		margin: 0;
		padding: 0 10px 15px;
		font-size: 1.6rem;
	}

	article h2 span:last-of-type {
		display: block;
		order: 1;
		width: auto;
		margin: 0 0 10px;
		padding: 3px 10px 5px;
	}
	*/
	article h2 span:last-of-type:before { display: none;}

	article h2 b { font-size: 1.1rem;}
	
	article section h3 {
		margin-bottom: 10px;
		padding: 0 10px 15px;
		font-size: 1.5rem;
		letter-spacing: 0em;
	}
}


/* Sub Column */
#sub_cont #particles-js {
	height: 100%;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

#sub_cont nav {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	min-height: 250px;
	padding: 15px 10px;
	box-sizing: border-box;
	background: url(../img/common/bg-subcont-nav.png) no-repeat;
	text-align: center;
	font-family: 'Noto Sans Japanese';
	transition: all .3s;
}

#sub_cont h3 {
	display: inline-block;
	position: relative;
	margin-bottom: 15px;
	padding: 0 30px;
	color: #fff;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.2;
}

#sub_cont h3:before,
#sub_cont h3:after {
	position: absolute;
	top: 50%;
	width: 20px;
	height: 1px;
	background: #f6e8d0;
	content: '';
}
#sub_cont h3:before { left: 0;}
#sub_cont h3:after { right: 0;}

#sub_cont ul {
	padding: 2px;
	border: 1px solid rgba(246,232,208,.5);
	text-align: left;
}

#sub_cont li:not(:last-child) {
	margin-bottom: 1px;
	padding-bottom: 1px;
	border-bottom: 1px dotted rgba(255,255,255,.5);
}

#sub_cont ul a {
	display: block;
	position: relative;
	padding: 10px 5px 10px 12px;
	background: rgba(216,166,60,.5);
	color: #f6e8d0;
	font-weight: 500;
	font-size: 1.3rem;
	text-decoration: none;
	line-height: 1.3;
}
#sub_cont ul a:before {
	position: absolute;
	top: 50%;
	left: 0;
	border: 4px solid transparent;
	border-left: 5px solid #f6e8d0;
	transform: translateY(-50%);
	content: '';
}

#sub_cont ul a.active,
#sub_cont ul a:hover {
	background: #f6e8d0;
	color: #d8a63c;
	font-weight: bold;
}

#sub_cont ul a.active:before,
#sub_cont ul a:hover:before {
	border: 4px solid transparent;
	border-left: 5px solid #d8a63c;
}

#sub_cont ul a.soon {
  opacity: .6;
}

#sub_cont ul a.soon:hover {
	background: rgba(216,166,60,.5);
	color: #f6e8d0;
	font-weight: 500;
}
#sub_cont ul a.soon:hover:before { border-left: 5px solid #f6e8d0;}



/* Inner Anchor */
#inner_anchor {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 15px;
	padding-bottom: 5px;
	border-bottom: 1px dotted #999;
}

#inner_anchor li { margin: 0 10px 10px 0;}

#inner_anchor a {
	display: block;
	position: relative;
	padding: 8px 20px 8px 25px;
	border: 1px solid #ecd19e;
	border-radius: 5px;
	color: #ecd19e;
	text-decoration: none;
}

#inner_anchor a:before {
	position: absolute;
	top: 50%;
	left: 10px;
	margin-top: 2px;
	border: 5px solid transparent;
	border-top: 6px solid #ecd19e;
	transform: translateY(-50%);
	content: '';
}

#inner_anchor a:hover {
	background: #ecd19e;
	color: #fff;
}


@media screen and (max-width:640px) {
	#inner_anchor {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 10px;
		padding-bottom: 5px;
		border-bottom: 1px dotted #999;
	}

	#inner_anchor li {
		width: calc(50% - 5px);
		margin: 0 0 5px;
	}	
	
	#inner_anchor a {
		padding: 8px 10px 8px 15px;
		font-size: 1.2rem;
		line-height: 1.2;
	}
	
	#inner_anchor a:before {
		left: 5px;
		margin-top: 2px;
		border: 4px solid transparent;
		border-top: 5px solid #ecd19e;
	}
	
	#inner_anchor a:hover {
		background: inherit;
		color: #ecd19e;
	}
}


/* Clear Fix */
.obj:after {
	display: block;
	clear: both;
	content: '';