:root{
	--header-copy: 20px;
	--header-height-sp: 50px;
	--header-height-sp-sc: 50px;
	--header-height-pc: 72px;
	--header-height-pc-sc: 50px;
	--gNav-main-height-sp: 56px;
	--gNav-main-height-pc: 48px;
	--gNav-main-2-height-pc: 0;
	--gNav-sub-height-sp: 48px;
	--gNav-sub-height-pc: 36px;
	--iconMenu-size: 70%;
	--page-title-height-sp:40vw;
	--page-title-height-pc:30vw;
}

.anchor{
	position: relative;
	top:calc(var(--header-height-sp-sc) + 14);
	display:block;
	visibility:hidden;
}

/********** Header **********/
#header{
	background:rgba(255,255,255, .9);
	border-bottom:1px solid rgba(255,255,255, 0);
	transition:all .4s ease-in-out;
	z-index:120;
	#headerCopy{
		height:var(--header-copy);
		line-height:var(--header-copy);
	}
	#headerMain{
		height:var(--header-height-sp);
		#logoArea{
			height:60%;
			#logoImg{
				transition:all .4s ease-in-out;
				max-width:296px;
			}
		}
	}
}
.scroll #header{
	background:rgba(255,255,255, .9);
	border-bottom:1px solid rgba(255,255,255, 1);
}
#home #header{
	background:rgba(255,255,255, .7);
	position:fixed!important;
}
#home.scroll #header{
	background:rgba(255,255,255, .9);
}
#sub-column{
}
.stickyPos3 #sub-column{
}
/********** Page Title **********/
#pageTitleWrap{
	height:var(--page-title-height-sp);
	max-height:360px;
}
#pageTitle,
#pageTitleSub{
	z-index:2
}

/********** Navigation **********/
/** #navToggle **/
#navToggle{
	z-index:120;
	#iconMenu{
		vertical-align:middle;
		width:var(--iconMenu-size);
		height:var(--iconMenu-size);
		.line{
			left:0;
			width:100%;
			height:2px;
			opacity:1;
			will-change:transform;
			-webkit-backface-visibility: hidden;
			backface-visibility: hidden
		}
		.line-1{top:4px;}
		.line-2{top:calc(50% - 1px);}
		.line-3{bottom:3px;}

	}
}
/** #gNavWrap **/
#gNavWrap{
	top:var(--header-height-sp);
	padding:2em;
	right:0;
	z-index:120;
	width:100%;
	height:calc(100% - var(--header-height-sp));
	overflow-y:auto;
	visibility:hidden;
	transition:all .4s ease-in-out,padding .4s ease-in-out;
	transform:translateX(100%);
	will-change:transform;
	-webkit-overflow-scrolling:touch;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	#glovalNav{
		padding:0;
		.menu-item-has-children.isActive::after{
			content:"\f0d8";
		}
		.menu-item{
			display:block;
			&>a{
				display:flex;
				align-items:center;
				padding:0 .8em;
				border-bottom:1px solid var(--color-w);
			}
			.sub-menu{
				padding:0;
				>.menu-item>a,
				>.menu-item-has-children::after{
					background:var(--color-w);
					height:0;
					line-height:0;
					opacity:0;
				}
				.menu-item{
					&a{
						border-bottom:0 solid var(--bg-alpha-0);
					}
				}
				>.menu-item{
					&>a{
						padding:0 0 0 1.6em;
					}
				}
				.menu-item-has-children a{
					padding-right:calc(var(--gNav-sub-height-sp) + .2em);
				}
				.menu-item-has-children::after{
					width:var(--gNav-sub-height-sp);
					border-left:1px solid var(--color-02);
					font-size:1.2em;
				}
			}
		}
		>.menu-item{	/** 第1階層のみ **/
			&>a{
				height:var(--gNav-main-height-sp);
				line-height:1;
			}
			&>a::before{
				content:"\f0da";
				padding-right:.4em;
			}
		}
		>.menu-item-has-children{
			&>a{
				padding-right:var(--gNav-main-height-sp);
			}
		}
		.menu-item-has-children::after{
			content:"\f0d7";
			position:absolute;
			z-index:2;
			top:0;
			right:0;
			cursor:pointer;
		}
		>.menu-item-has-children::after{
			width:var(--gNav-main-height-sp);
			height:calc(var(--gNav-main-height-sp) - 1px);
			line-height:1;
			border-left:1px solid var(--color-w);
			font-size:1.2em
		}
	}
}
#gNavWrap.isVisible{
	visibility:visible;
	transform:translateX(0);
}
.headerType-h2 #gNavWrap{
	top:calc(var(--header-height-sp) + var(--header-copy));
}

.menu_eng{
	font-size:.8em;
}
.menu_eng::before{
	content:"-";
	margin:0 .3em;
}

@media all and (min-width:768px),print{
	#gNavWrap{
		padding:1em;
		max-width:50%
	}
}
@media all and (min-width:992px),print{

	.anchor{
		top:calc(var(--header-height-pc-sc) + 14);
	}

/********** Header **********/
	#header{
		#headerMain{
			height:var(--header-height-pc);
		}
	}
	.stickyPos3 #header{
		background:none;
	}
	#sub-column #logoImg_2{
		transition:all .4s ease-in-out;
		width:100%;
		height:auto;
	}

/********** Page Title **********/
#pageTitleWrap{
	height:var(--page-title-height-pc);
}
/** #gNavWrap **/
	#gNavWrap{
		padding:0;
		top:var(--header-height-pc);
		transition:all .4s ease-in-out;
		max-width:360px;
		border:none;
		border-left:1px solid var(--color-01);
	}
	#gNavWrap.pos-lg-sticky,
	#gNavWrap.pos-lg-sticky.isVisible,
	#gNavWrap.pos-lg-sta,
	#gNavWrap.pos-lg-sta.isVisible{
		visibility:visible;
		transform:translateX(0);
		overflow-y:visible;
		max-width:100%;
		border:none;
		#glovalNav{
			>.menu-item{
				&>a{
					-ms-flex-direction:column!important;
					flex-direction:column!important;
					-ms-flex-pack:center!important;
					justify-content:center!important;
					border-bottom:none;
					text-shadow:1px 1px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,-1px -1px 0 #fff;
				}
				&>a::before{
					content:none;
					padding:0;
				}
				>.sub-menu{
					position:absolute!important;
					left:0!important;
					width:200px!important;
					min-width:calc(100% + 1px);
				}
			}
			.menu-item-has-children>a{
					padding-right:2em;
			}
			.menu-item-has-children::after{
				border:none;
				width:2em;
				line-height:1;
				font-size:1em;
			}
		}
	}
	#gNavWrap.pos-lg-sticky,
	#gNavWrap.pos-lg-sticky.isVisible{
		top:var(--header-height-pc);
		#glovalNav{
			>.menu-item>a,
			>.menu-item-has-children::after{
				height:var(--gNav-main-height-pc);
			}
			>.menu-item{
				>a{
					border-left:1px solid var(--color-w);
				}
			}
		}
	}
	#wrapper.container #gNavWrap.pos-lg-sticky,
	#wrapper.container #gNavWrap.pos-lg-sticky.isVisible,
	#wrapper.container #gNavWrap.pos-lg-sta,
	#wrapper.container #gNavWrap.pos-lg-sta.isVisible{
		#glovalNav{
			>.menu-item:first-child{
				>a{
					border-left:none;
				}
			}
		}
	}
	#gNavWrap.pos-lg-sta,
	#gNavWrap.pos-lg-sta.isVisible,
	#gNavWrap.pos-lg-sta #glovalNav>.menu-item,
	#gNavWrap.pos-lg-sta #glovalNav>.menu-item>a,
	#gNavWrap.pos-lg-sta #glovalNav>.menu-item-has-children::after{
		width:auto!important;
		height:44px
	}
	.stickyPos3 #gNavWrap,
	.stickyPos3 #gNavWrap.isVisible{
		position:static!important
	}
	#gNavWrap.pos-lg-sta #glovalNav>.menu-item-has-children::after{
		padding-right:.8em;
	}
	.stickyPos3 #gNavWrap{
		visibility:visible;
		transform:translateX(0);
		overflow-y:visible;
		max-width:100%;
		border:none;
		border-top:1px solid var(--color-02);
	}
	.headerType-h2 #gNavWrap{
		top:calc(var(--header-height-pc) + var(--header-copy));
	}
	.menu_eng{
		font-size:.8em;
	}
	.menu_eng::after{
		content:"-";
		margin:0 .3em;
	}
	#menu-item-1105.menu-item .menu_eng::before,
	#menu-item-1105.menu-item .menu_eng::after{display:none!important}
	#menu-item-1105.menu-item{margin-left:1em!important}
	#menu-item-1105.menu-item a{background:#227324!important;color:#fff!important;padding:.4em 2em!important;border-radius:.2em;text-shadow:none!important}
	#menu-item-1105.menu-item a:hover{background:#1b4704!important;color:#fff!important}
}
@media all and (min-width:1200px),print{
	#gNavWrap.pos-lg-sticky #glovalNav{
		border-right:1px solid var(--color-w)
	}
	#wrapper.container #gNavWrap.pos-lg-sticky #glovalNav{
		border-right:none
	}

}

