@charset "utf-8";
:root {
	--spnav-main-color: #39230D;
	--spnav-icon-childMenubg: #39230D;
	--spnav-icon-menubg: #FFFFFF;
	--spnav-icon-menuLine: #FFFFFF;
	--spnav-text-link: #39230D;
	--spnav-text-nolink: #39230D;
	--spnav-text-lightText: #FFFFFF;
	--spnav-text-normalText: #000000;
	--spnav-border: #39230D;
}
.globalMenuSp .main_menu dd ul ul li br{
	display: none;
	white-space: pre-line;
}
.navToggle {
    display: block;
    position: absolute;
    right: 0;
    top: 0px;
    width: 80px;
    height: 80px;
    cursor: pointer;
	z-index: 99999 !important;
	background: var(--spnav-icon-childMenubg);
}
.navToggle .menus-wrap{
	position: relative;
	width: 100%;
	height: 100%;
}
.navToggle .menus-inner{
	position: absolute;
	top: 65%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 40px;
	height: 70px;
}
.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 40px;
    border-bottom: solid 3px var(--spnav-icon-menuLine);
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
 
.navToggle span:nth-child(1) {
    top: 0px;
}
 
.navToggle span:nth-child(2) {
    top: 9px;/*+9ずつしていく*/
}
 
.navToggle span:nth-child(3) {
    top: 18px;/*+9ずつしていく*/
}
 
.navToggle span:nth-child(4) {
    border: none;
    color: var(--spnav-icon-menuLine);
    font-size: 12px;
    font-weight: bold;
    top: 27px;
	text-align: center;
}

/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 10px;
    left: 0px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 10px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}


/*menu*/

.overflowHidden {
    overflow: hidden;
}

nav.globalMenuSp .forpc {
	margin: 0 auto;
	padding-top: 100px;
	width:100%;
	display: block;
	color: var(--spnav-text-link);
}
nav.globalMenuSp .forpc .inframe{
	width: 96%;
	margin: 0 2% 1%;
}
nav.globalMenuSp .forpc .inframe .inwrap{
	background: #FFF;
}
.globalMenuSp .main_menu dl{
	margin: 0;
}

.globalMenuSp .inframe .ttl,
.globalMenuSp .inframe dt.sh,
.globalMenuSp .inframe ul.main_menu > li{
	display: block;
	background: var(--spnav-icon-menubg);
	padding: 0 10px;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
	color: var(--spnav-text-nolink);
	font-weight: bold;
	line-height: 50px;
	border-bottom: 1px solid var(--spnav-border);
}
.globalMenuSp .inframe dt.sh a{
	color: var(--spnav-text-link);
}
.globalMenuSp .inframe dt.sh:last-child{
	border: 0;
}
.globalMenuSp .inframe .ttl a{
	color: var(--spnav-text-link);
	display: block;
}
.globalMenuSp .inframe dl dd.main_menu{
	background: var(--spnav-icon-childMenubg);
}
.globalMenuSp .inframe dd.main_menu ul{
	background-color: rgba( 255, 255, 255, 0.15 );
}
.globalMenuSp .main_menu li{
}
.globalMenuSp .main_menu li a{
	color: var(--spnav-text-lightText);
	display: inline-block;
}
.globalMenuSp .main_menu ul li span,
.globalMenuSp .main_menu ul li > a{
	color: var(--spnav-text-lightText);
	border-bottom: 1px solid var(--spnav-border);
	line-height: 50px;
	display: block;
	padding: 0 10px;
}
.globalMenuSp .inframe ul.main_menu > li a{
	color: var(--spnav-text-link);
	font-weight: normal;
}
.globalMenuSp .main_menu li img{
	vertical-align: middle;
	margin: 0 10px 0 0;
	width: 25px;
	height: auto;
}
.globalMenuSp .main_menu dt.sh span,
.globalMenuSp .main_menu ul li span{
	display: block;
	position: relative;
	cursor: pointer;
}
.globalMenuSp .main_menu dt.sh span::after,
.globalMenuSp .main_menu ul li span::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: 1em;
	width: 1em;
	content: "＋";
	font-weight: bold;
	color: var(--spnav-text-nolink);
}
.globalMenuSp .main_menu dt.sh.active span::after,
.globalMenuSp .main_menu ul li span.active::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: 1em;
	width: 1em;
	content: "－";
	font-weight: bold;
	color: var(--spnav-text-nolink);
}

.globalMenuSp .main_menu ul li span::after,
.globalMenuSp .main_menu ul li span.active::after{
	color: var(--spnav-text-lightText);
}
.globalMenuSp .main_menu dd ul.child li ul.child{
	background: var(--spnav-icon-menubg);
}
.globalMenuSp .main_menu dd ul.child li ul.child li span{
	color: var(--spnav-text-lightText);
	border-bottom: 1px dotted var(--spnav-border);
	line-height: 35px;
	display: block;
	padding: 0 1em;
}
.globalMenuSp .main_menu dd ul.child li ul.child li a{
	color: var(--spnav-text-normalText);
	display: inline-block;
}
.globalMenuSp .main_menu dd ul.child li ul.child li > a{
	color: var(--spnav-text-normalText);
	display: block;
	border-bottom: 1px dotted var(--spnav-border);
	line-height: 35px;
	padding: 0 1em;
}
.globalMenuSp .main_menu dd ul ul li a{	
	padding-left: 2em;
}
.globalMenuSp .main_menu dd ul ul li ul li a{	
	padding-left: 4em;
}

.globalMenuSp .mob-phone{
	font-size: 1.5em;
	font-weight: 800;
	color: var(--spnav-text-link);
	text-align: center;
	margin: 1em 0;
}
.globalMenuSp .mob-phone a{
	color: var(--spnav-text-link);
	text-decoration: none;
}
.globalMenuSp .mob-phone img{
	margin-right: .5em;
	vertical-align: middle;
}
.globalMenuSp .mob-search{
	width: 95%;
	margin: auto;
	text-align: center;
}
.globalMenuSp .mob-search input[type=text]{
	width: 80%;
	height: 45px;
	padding: 0 0.5em;
	box-sizing: border-box;
	line-height: 45px;
	background: #E0E5EF;
	border: 0;
}
.globalMenuSp .mob-search input[type=submit]{
	width: 17%;
	height: 45px;
	background: url("../img/icon_header_src.svg") no-repeat center center var(--spnav-main-color);
	text-indent: -99999px;
	border: 0;
	cursor: pointer;
}

.globalMenuSp .translation{
	margin: 0 10px 30px;
	padding: 30px;
	background: #e7f4f9;
}
.globalMenuSp .translation .title{
	color: var(--spnav-text-link);
	font-weight: 800;
	font-size: 1.313em;
	text-align: center;
	margin-bottom: .5em;
}
.globalMenuSp .translation ul{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 5px;
	row-gap: 5px;
	align-items: stretch;
}
.globalMenuSp .translation ul li{
	border: 1px solid var(--spnav-main-color);
	border-radius: 5px;
}
.globalMenuSp .translation ul li a{
	display: block;
	text-decoration: none;
	color: var(--spnav-text-link);
	padding: 1em;
	text-align: center;
}

.globalMenuSp ul.mob-sns{
	display: table;
	margin: 1.5em auto 0;
	align-items: center;
	padding: 30px 0;
}
.globalMenuSp ul.mob-sns li{
	display: table-cell;
	vertical-align: middle;
	padding: 0 15px;
	box-sizing: border-box;
}
.globalMenuSp ul.mob-sns li img{
	width: 40px;
	height: auto;
}


@media screen and (min-width: 1025px) {
	.navToggle,
	nav.globalMenuSp{
		display: none;
	}
}
@media screen and (max-width: 1024px){
	nav.globalMenuSp {
		position: fixed;
		z-index: 66666;
		top: 0;
		left: 0;
		height: 100%;
		overflow: auto;
		background-color: rgba( 255, 255, 255, 0.8 );
		color: var(--spnav-text-normalText);
		transform: translateX(-100%);
		transition: all 0.6s;
		width: 100%;
		-webkit-overflow-scrolling: touch;
	}
	nav.globalMenuSp.active {
		transform: translateX(0%);
	}
	nav.globalMenuSp .forpc {
		margin: 0 auto;
		width: 100%;
		display: block;
		padding-top: 110px;/*headerの高さ+α*/
	}
	.navToggle {
	}
}
