@charset "UTF-8";
#header{
	position:fixed;
	top:0;
	width:100%;
	padding:0 15px;
	z-index:10;
	height:60px;
	background:#FFF;
	box-shadow:0 0 20px 0 rgba(0, 0, 0, 0.15);
	font-family:'Noto Sans CJK JP', sans-serif;}
.headimg .headgrid{
	margin:0 auto;
	width:100%;}
h1.head-logo{
	margin:0;}
#nav-input{
	display:none;}
#mainNav{
	display:flex;
	justify-content:inherit;
	align-items:center;
	flex-wrap:wrap;}
#gnavi{
	padding:0;
	margin:0;}
#gnavi li{
	padding:0;
	list-style:none;
	text-align:center;
	margin:0;}
#gnavi li::before{
	display:none;}
#gnavi a{
	transition:0.4s;
	color:#333;
	text-decoration:none;
	font-size:clamp(14px, 1.4vw, 16px);}
.headbtn{
	margin:auto;
	width:100%;
	z-index:2;
	box-sizing:border-box;}
.headbtn a{
	display:flex;
	width:180px;
	height:60px;
	text-decoration:none;
	text-align:center;
	justify-content:center;
	align-items:center;
	background:#A82F00;
	border:2px solid #A82F00;
	position:relative;
	font-weight:bold;
	color:#FFF;
	box-sizing:border-box;
	transition:.3s;}
.headbtn a::before{
	font-family:icons !important;
	speak:none;
	font-style:normal;
	font-weight:400;
	font-variant:normal;
	text-transform:none;
	line-height:1;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	content:"\ea07";
	margin-right:10px;
	margin-top:.1em;}
.headbtn a:hover{
	background:#FFF;
	color:#A82F00;}
.head_inner{
	margin:0 auto;
	width:100%;}
.sp-logo{
	display:none;}
@media screen and (min-width:992px){
	#header{
		position:absolute;
		top:10px;
		left:0;
		right:0;
		margin:auto;
		width:calc(100vw - 30px);
		display:flex;
		justify-content:space-between;
		align-items:center;
		height:90px;
		box-sizing:border-box;
		box-shadow:none;
		box-shadow:0 0 10px rgba(0,0,0,.3);}
	.head_inner{
		padding:0;
		width:auto;}
	#menu{
		display:none;}
	#gnavi{
		display:flex;
		justify-content:end;
		width:100%;}
	#gnavi li{
		margin:0 0 0 20px;
		font-size:15px;
		text-align:center;}
	#gnavi li:first-child{
		margin:0;}
	#gnavi a{
		display:block;
		line-height:1.2;
		height:90px;
		line-height:90px;
		letter-spacing:0;}
	#gnavi span{
		color:#a5a5a5;}
	#gnavi ul{
		opacity:0;
		visibility:hidden;
		transition:opacity 0.4s ease, visibility 0.4s ease;}
	#gnavi .menu-ckeck,
	#gnavi .menu-pull{
		display:none;}
	#gnavi li:hover ul{
		opacity:1;
		visibility:visible;
		position:absolute;
		top:90px;
		left:0;
		z-index:500;
		padding:0;}
	#gnavi li li{
		margin:0;
		float:none;
		width:100%;
		text-align:left;
		background:#092C4C;
		border:none!important;}
	#gnavi li li a{
		padding:16px 10px;
		border:0;
		height:auto;
		color:#fff;
		line-height:normal;
		text-align:center;
		font-size:14px;}
	#gnavi li.current-menu-item li a,
	#gnavi li li a{
		border-bottom-width:1px;}
	#gnavi li li.current-menu-item a,
	#gnavi li li a:hover{
		background:#0e4272;}
	#gnavi > li.has-children{
		position:relative;}
	li.has-children ul.sub-menu{
		position:absolute;
		top:90px;
		width:100%;
		margin-left:-70px;
		width:200px;
		padding:0;
		background:#033AC7;
		-webkit-transition:all .2s ease;
		transition:all .2s ease;}
	li.has-children:hover ul.sub-menu{
		top:50px;
		visibility:visible;
		opacity:1;}
	.headbtn{
		width:auto;
		margin:0 0 0 30px;}
}
@media only screen and (max-width:991px){
	.headimg{
		z-index:500;
		width:100%;
		top:0;
		height:60px;}
	.head-logo{
		display:flex;
		align-items:center;
		height:60px;
		line-height:60px;
		font-size:30px;
		margin:0;}
	.headimg img{
		width:240px!important;}
	#nav-drawer{
		position:fixed;
		display:block;
		width:60px;
		height:60px;
		right:0;
		top:0;
		background:#092C4C;}
	.nav-unshown{
		display:none;}
	#nav-open{
		display:inline-block;
		width:60px;
		height:60px;
		margin:auto;
		vertical-align:middle;
		z-index:99;
		position:relative;}
	#nav-open span,
	#nav-open span:before,
	#nav-open span:after{
		position:absolute;
		height:2px;
		top:calc(50% - 1px - 10px);
		left:0;
		right:0;
		margin:auto;
		width:28px;
		border-radius:3px;
		background:#FFF;
		display:block;
		content:'';
		cursor:pointer;
		transition:all .4s;}
	#nav-open span:before{
		top:10px;}
	#nav-open span:after{
		top:20px;}
	#nav-input:checked ~ #nav-open span{
		transform:translateY(8px) rotate(-45deg);}
	#nav-input:checked ~ #nav-open span:before{
		opacity:0;}
	#nav-input:checked ~ #nav-open span:after{
		transform:translateY(-16px) rotate(90deg);
		top:16px;}
	#gnavi .menu-pull::before,
	#gnavi .menu-pull::after{
		content:'';
		display:block;
		background:#000;
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		margin:auto;}
	#gnavi .menu-pull:before{
		width:2px;
		height:16px;
		transition:transform .2s ease;}
	#gnavi .menu-pull:after{
		width:16px;
		height:2px;}
	#gnavi .menu-ckeck:checked ~ .menu-pull::before{
		transform:rotate(90deg);}
	#nav-close{
		display:none;
		position:fixed;
		z-index:98;
		top:0;
		left:0;
		width:100%;
		height:100%;
		opacity:0;
		transition:.3s ease-in-out;}
	#mainNav{
		overflow:auto;
		position:fixed;
		display:block;
		align-items:start;
		top:60px;
		left:0;
		z-index:9999;
		width:100%;
		height:100%;
		transition:.3s ease-in-out;
		-webkit-transform:translateX(-105%);
		transform:translateX(105%);
		overflow:auto;
		scroll-snap-type:y mandatory;
		max-height:100vh;}
	#nav-input:checked~#nav-close{
		display:block;
		opacity:.5;}
	#nav-input:checked~#mainNav{
		-webkit-transform:translateX(0%);
		transform:translateX(0%);
		background:#f5f5f5;}
	#gnavi{
		padding:0;
		margin:0;
		box-shadow:0 0 10px rgba(0, 0, 0, .3);}
	#gnavi .menu-ckeck{
		position:absolute;
		opacity:0;}
	#gnavi .menu-pull{
		font-weight:bold;
		line-height:1.6;
		position:absolute;
		display:block;
		margin:auto;
		top:3px;
		right:0;
		height:40px;
		width:40px;
		cursor:pointer;
		z-index:2;}
	#gnavi li{
		position:relative;}
	#gnavi li:first-child{
		border-top:1px solid #092C4C;}
	#gnavi li a{
		position:relative;
		display:flex;
		padding:0 10px;
		align-items:center;
		height:48px;
		font-size:16px;
		text-align:left;
		margin:auto;
		box-sizing:border-box;
		border-bottom:1px solid #092C4C;}
	#gnavi li.drawer-nav-item.has-children a:before{
		display:none;}
	#gnavi .sub-menu{
		height:0;
		transition:all 0.5s ease;
		opacity:0;
		position:relative;
		z-index:-1;
		padding:0;
		background:#092C4C;}
	#gnavi .sub-menu li{
		opacity:0;
		height:0;
		margin:auto;}
	#gnavi .sub-menu li a{
		border-bottom:1px solid #FFF;
		color:#FFF;
		padding:12px 20px;
		position:relative;}
	#gnavi .menu-ckeck:checked ~ .sub-menu{
		height:auto;
		opacity:1;
		z-index:1;}
	#gnavi .menu-ckeck:checked ~ .sub-menu li{
		height:auto;
		opacity:1;}
	#gnavi li li:last-child a{
		border-bottom:none}
	.headbtn{
		padding:20px}
	.headbtn a{
		width:auto;
		text-align:center;
		max-width:300px;
		height:50px;
		margin:auto;
		background:#A82F00;}
	.headbtn a:before{
		right:auto;
		top:22px;
		left:30px;}
}