@charset "utf-8";
/* CSS Document */

/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body { min-width: 0px; font-size: 0.9em; line-height: 1.8;}

.ta_right-s_center { text-align: center;}
.ta_left-s_center { text-align: center;}

.hidden_s { display: none !important;}

/* margin */
.mb40-20 { margin-bottom: 20px !important;}
.mb60-30 { margin-bottom: 30px !important;}
.mb80-40 { margin-bottom: 40px !important;}
.mb100-60 { margin-bottom: 60px !important;}
.mb120-60 { margin-bottom: 60px !important;}
.mb160-80 { margin-bottom: 80px !important;}

/* ------------------------
	ヘッダー
------------------------ */

.header { padding: 0px 60px 0px 10px; line-height: 50px;}
.header h1 img { width: auto; height: 30px; vertical-align: middle;}

select.sp_lang { border: solid 1px #000; border-radius: 3px; padding: 0.2em 0.4em; margin-left: 1em;}


/* ------------------------
	グローバルナビ
------------------------ */

/* ハンバーガーメニュー */
.humberger {
	background: #FB7E7B;
	cursor: pointer;
	display: block;
	position: fixed;
	top: 0px;
	right: 0px;
	width: 50px;
	height: 50px;
	z-index: 10001;
}
.humberger span {
	background: #fff;
	border-radius: 15px;
	position: absolute;
	left: 10px;
	width: 30px;
	height: 3px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 9px;}
.humberger span:nth-of-type(2) { top: 17px;}
.humberger span:nth-of-type(3) { top: 25px;}
.humberger:after {
	color: #fff;
	content: 'MENU';
	display: block;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	transition: 0.4s;
	position: absolute;
	left: 0;
	bottom: 1px;
	width: 100%;
}
.is-open .humberger:after { content: 'CLOSE';}
.is-open .humberger span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
	  -ms-transform: translateY(6px) rotate(-45deg);
		  transform: translateY(6px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
	  -ms-transform: translateY(-10px) rotate(45deg);
		  transform: translateY(-10px) rotate(45deg);
}
/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(3,3,3,.5);
	display: block;
}

.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 10000;
}
.sp-navi .sp-navi-inner {
	background: #FFF9ED;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	/*left: 0px;*/
	right: 0px;
	height: 100%;
	width: 90%;
	transition: .5s;
	padding-bottom: 80px;
}


.sp-navi .sp-navi-inner .navi-main > li {
	margin-left: 5%;
	margin-right: 5%;
	border-bottom: 1.5px solid #000000;
	position: relative;
}
.sp-navi .sp-navi-inner .navi-main > li:before {
	background: #000;
	content: "";
	height: 3px;
	width: 0px;
	position: absolute;
	left: 5px;
	top: 20px;
}
.sp-navi .sp-navi-inner .navi-main > li:first-child { border-top: 1px solid #ddd;}

.sp-navi .sp-navi-inner .navi-main > li > span {
	display: block;
	padding: 13px 10px 13px 10px;
	overflow: hidden;
	line-height: 1.3em;
	text-decoration: none;
	cursor: pointer;
	font-weight: bold;
	font-size: 16px;
}

.sp-navi .sp-navi-inner .navi-main > li > a {
	display: block;
	padding: 13px 10px 13px 10px;
	overflow: hidden;
	line-height: 1.3em;
	text-decoration: none;
	cursor: pointer;
	font-weight: bold;
	font-size: 16px;
}

.sp-navi .sp-navi-inner .navi-main > li > a:hover{
  color: #000000;
  text-decoration: underline solid;
}

.sp-navi .sp-navi-inner .navi-main > li > ul > li { width: 100%;}
.sp-navi .sp-navi-inner .navi-main > li > ul > li > a {
	display: block;
	font-size: 14px;
	line-height: 1.3em;
	padding: 13px 10px 13px 60px;
	position: relative;
	text-decoration: none;
	font-weight: bold;
}
.sp-navi .sp-navi-inner .navi-main > li > ul > li > a:before {
	background: #000;
	content: "";
	height: 2px;
	width: 15px;
	position: absolute;
	left: 40px;
	top: 21px;
}

.sp-navi .sp-navi-inner .navi-main > li > ul > li > a:hover {
  color: #000000;
  text-decoration: underline solid;
}

.sp-navi .logo { padding: 0px 60px 0px 10px; line-height: 50px; display: flex; justify-content: space-between; align-items: center;}
.sp-navi .logo img { width: auto; height: 30px; vertical-align: middle;}