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

/* ヘッダー
------------------------------------------------------------*/
#mainnav a {
	color: #203744;
	font-weight:600;
transition: all 0.5s;
}
#mainnav a:hover {
	font-weight:500;
	color:#00699f;
}
.logo-sidebar {
	background: url(../images/logo.svg) no-repeat top center;
	background-size:220px;
	height: 200px;
	margin: 0 0 0 0;
	text-indent: -9999px;
	-webkit-transition:0.3s;
	-moz-transition:0.3s;
	transition:0.3s;
}

.logo-sidebar a {
	width:100%;
	height:100%;
	display:block;
}

.logo-sidebar:hover {
	filter:alpha(opacity=60);
	-moz-opacity:0.6;
	opacity:0.6;
}

@media only screen and (max-width:1370px){
.logo-sidebar {
	background-size:210px;
	height:180px;
}
}

@media only screen and (max-width:1200px){
.logo-sidebar {
	background-size:200px;
}	
}

@media only screen and (max-width:1060px){
.logo-sidebar {
	background: url(../images/logo-yoko.svg) no-repeat;
	background-position: center left 12px;
	background-size: 210px;
	height: 65px;
	text-indent: -9999px;
}	
}

@media only screen and (max-width:320px){
.logo-sidebar {
background-size: 200px;
}	
}


/* RESPONSIVE 設定
------------------------------------------------------------*/

@media only screen and (min-width: 1061px){
  a#menu{
		display:none;
	}
	.panel{
		display:block !important;
	}	
	#sidebar h1 {
		padding:50px 0 0;
	}
	#mainnav li {
		font-size: 14.5px;
		letter-spacing:1.5px;
		text-align:center;
		font-weight:600;
	}	
	#mainnav li a {
		position:relative;
		display:block;
		padding:12px 0;
		text-decoration:none;
		/*border-bottom: 1px solid #eee;*/
	}

/*	#mainnav li.contact a {
	margin: 20px auto 60px;
	font-weight:600;
	letter-spacing:2px;
	color:#004096;
	text-align:center;
	border:#004096 2.3px solid;
	border-radius:60px;
	padding:11px 5px 13px 0;
	width:180px;
	position:relative;
	transition: .3s ease-in-out;
}
	#mainnav li.contact a::after {
	position: absolute;
	top: 50%;
	right:20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width:28px;
	height:28px;
	content:'';
	background: url(../images/mail.svg) no-repeat;
	background-size: contain;
}	
	#mainnav li.contact a:hover{
	background:rgba(228,238,245,0.5);
}*/
}

@media only screen and (max-width: 1060px){
  a#menu{
  	display: inline-block;
  	position: relative;
  	width: 40px;
  	height: 46px;
  	margin: 10px 16px 10px 6px;
  	cursor: pointer;
}
	#menuBtn{
  	display: block;
  	position: absolute;
  	top: 50%;
  	left: 50%;
  	width: 22px;
  	height: 1.9px;
  	margin: -1px 0 0 -7px;
  	background: #004096;
  	transition: .2s;
 }
	#menuBtn:before, #menuBtn:after{
  	display: block;
  	content: "";
  	position: absolute;
  	top: 50%;
  	left: 0;
  	width: 22px;
  	height: 1.7px;
  	background: #004096;
  	transition: .3s;
 }
	#menuBtn:before{
  	margin-top: -7px;
	}

	#menuBtn:after{
  	margin-top: 5.2px;
 }
	a#menu .close{
  	background: transparent;
	}

	a#menu .close:before, a#menu .close:after{
  	margin-top: 0;
	}

	a#menu .close:before{
  	transform: rotate(-45deg);
  	-webkit-transform: rotate(-45deg);
	}

	a#menu .close:after{
  	transform: rotate(-135deg);
  	-webkit-transform: rotate(-135deg);
	}
	.panel{
		width: 100%;
		display: none;
		overflow: hidden;
		position: relative;
		left: 0;
		top: -0.8px;
		z-index:100;
		/* height: 100dvh; */
		/* background: #fff; */
		/* overflow-y: scroll; */
	}
	#menuWrap {line-height: 0;}
	#mainnav{
		position:absolute;
		top: 0;
		width: 100%;
		text-align: right;
		box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px;
	}
	#mainnav ul{
		background: #fff;
	}
	#mainnav li a {
		position: relative;
		text-align: center;
		display: block;
		text-decoration: none;
		padding: 18px 25px;
		border-bottom: 2px solid #fff;
		color: #444;
		transition: all 0.5s;
	}	
#mainnav li{
	font-size: 15px;
}
	
	#mainnav li:first-child a {
		/*border-top: 1px solid #eee;*/
	}
	#mainnav li:last-child a {
		/*border-bottom: none;*/
	}
	#mainnav li a:hover {
		color:#00699f;
	}
/*	#mainnav li.contact a {
	margin:20px auto 0;
	color:#004096;
	text-align:center;
	border:#004096 2.3px solid;
	padding:11px 5px 13px 0;
	border-radius:60px;
	width:70%;
	transition: .3s ease-in-out;
}	
	#mainnav li.contact a::after {
	position: absolute;
	top: 50%;
	right:25px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width:28px;
	height:28px;
	content:'';
	background: url(../images/mail.svg) no-repeat;
	background-size: contain;
}
	#mainnav li.contact a:hover{
	background:#f1f8f9;
}
	#mainnav li.contact {
	border-bottom: none!important;
}*/
}

@media only screen and (max-width:1060px){
	#mainnav{
		position:absolute;
		top: 0;
		width: 100%;
		text-align: right;
	}
	#mainnav ul{
		background: #fff;
	}
}

/*スマホ用メニュースクロール*/
@media only screen and (max-width:1060px){
	.panel{
		    background-color: #f1f6f9;
		overflow-y: auto!important;
		height: 100vh;
	}
	#mainnav ul{
		    background-color: #f1f6f9;
		padding-bottom:100px;
	}
}

.menu_toggle {
	margin:auto;
	width: 10em;
}

/*HOMEボタン　スマホのみ*/
.menu_toggle li.sp-only {
	display:none;
}

@media only screen and (max-width: 1060px){
.menu_toggle li.sp-only {
	display:block;}
}
.menu_toggle {
	width:100%;
}
.menu_toggle > li { position: relative;}
.menu_toggle .sub-menu {
	display: none;
	position: relative;
	padding:0!important;
}

.sub-menu li a {
background:rgba(228,238,245,0.2)!important;
font-size:14px;
padding:6px 0!important;
color: #444!important;
}

.sub-menu li a:hover {
background:rgba(228,238,245,0.5)!important;
}

.toggle_btn {
	position: absolute;
	top: 50%;
	right:10px;
	transform: translateY(-50%);
	background: none;
	display: block;
	width: 20px;
	height: 20px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	border-radius: 50%;
}
.toggle_btn:before {
	display: block;
	content: '';
	background-color: #0052a4;
	position: absolute;
	width:1.2px;
	height:15px;
	top: 50%;
	left: 50%;
	transition: .5s;
	transform: translate(-50%, -50%);
}

.toggle_btn:after {
	display: block;
	content: '';
	background-color: #0052a4;
	position: absolute;
	width:15px;
	height:1.2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.menu-parent:hover .toggle_btn:before {
	transform: translateY(-50%) rotate(90deg);
}

@media only screen and (max-width:840px){
.menu_toggle .sub-menu {
	border-bottom: 1px solid #eee;
}	
}