@charset "utf-8";

	nav {
		top:0;
		width: inherit;
		position: relative;
		z-index: 999 !important;
		display: block;
	}

	nav {
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}

	nav a:hover {
		text-decoration: none !important;
	}

	.overlay {
		position: fixed !important;
		top: 0;
		left: 0;
		display: none;
		width: 100%;
		height: 100%;
		background: #fff;
		opacity: 0.5;
		filter: alpha(opacity=80);
		-ms-filter: "alpha(opacity=70)";
		z-index: 5;
	}

	header .inner {
		position: relative;
		padding: 1.5em;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}

	header nav {
		overflow: scroll;
		position: fixed !important;
		left: -100%;
		width: 100% !important;
		height: 100% !important;
		background: #fff;
		z-index: 10279 !important;
		font-weight: 500;
		padding: 40px 0 0;
		box-sizing: border-box;
		display: block;
	}

	header.navOpen nav {
		top: 0;
		opacity: 1;
		left: 0;
		z-index: 6 !important;
		padding-bottom: 80px;
		padding-top:40px;
		border-radius: 0;
		overflow: scroll;
		background:#dbcfbd;
	}

	nav>div{
		width:90%;
		max-width:640px;
		margin:0 auto;
		position:relative;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
		text-align: left;
	}
	nav>img:nth-of-type(1) {
		width:50%;
		max-width:200px;
		margin:0 auto 40px;
	}
	nav>div>ul{
		width:47%;
		margin-right:3%;
	}
	nav>div>ul li{
		font-size:120%;
		margin-bottom:10px;
	}
	nav>div>div{
		width:50%;
	}
	nav>div>div p{
		font-size:120%;
		margin-bottom:2px;
	}
	nav>div>div>div ul li{
		margin-bottom:4px;
	}
	nav>div>div>div ul li::before{
		content:'−';
		display: inline-block;
		margin-right:5px;
	}

	nav #nav_sns{
		width:100px;
		margin:6% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	nav #nav_yt{
		width:45px;
		display: block;
	}
	nav #nav_insta{
		width:38px;
		display: block;
	}
	nav>p{
		text-align: center;
		margin-bottom:0;
		font-size:90%;
		padding-top:5%;
	}

	@media screen and (max-width: 800px) {
		nav>div{
			width:300px;
		}
		nav>div>ul{
			width:100%;
			margin-right:0;
			margin-bottom:3%;
		}
		nav>div>ul li{
			font-size:110%;
			text-align: center;
		}
		nav>div>div{
			width:100%;
		}
		nav>div>div p{
			font-size:110%;
			text-align: center;
		}
		nav>div>div ul{
			font-size:90%;
		}
	}
	@media screen and (max-width: 480px) {
		nav>div{
			width:55%;
		}
	}

	header .navBtn {
		display: block;
		width: 65px;
		height: 60px;
		cursor: pointer;
		padding: 16px 13px 0;
		z-index: 999 !important;
		box-sizing: border-box;
		transition: all 0.5s;
		position: fixed;
		top: 15px;
		right: 25px;
		z-index:10;
	}
	@media screen and (max-width: 480px) {
		header .navBtn {
			top: 0px;
			right: 0px;
		}
	}

	header .navBtn.scrolled-out{
		/* background:#c8bba8d9; */
		background:#dbcfbdd9;
	}
	.navOpen .navBtn{
		/* background:#c8bba8d9!important; */
	}

	header.navOpen .navBtn {
		pointer-events: all;
		padding-top: 3px;
	}


	header .navBtn span {
		display: block;
		height: 3px;
		width: 40px;
		background: #fff;
		border-radius: 0px;
		-webkit-transition: all .5s ease-in-out;
		-moz-transition: all .5s ease-in-aout;
		transition: all .5s ease-in-out;
		z-index: 99999 !important;
	}

	header .navBtn span:nth-of-type(2) {
		margin-top: 10px;
	}
	header .navBtn span:nth-of-type(3) {
		margin-top: 10px;
	}


/* 追加 dw↓ */
header h1{
position:absolute;
left:3%;
top:20px;
display:block;
}

.under_header{
background:#fff !important;
height:90px;
}

.under_header .navBtn span {
background: #222 !important;
}
/* 追加 dw↑ */



	header.navOpen .navBtn span:nth-of-type(1) {
		-webkit-transform: translateY(22px) translateX(0) rotate(45deg);
		-ms-transform: translateY(22px) translateX(0) rotate(45deg);
		transform: translateY(22px) translateX(0) rotate(45deg);
		margin: 3px 0;
	}

	header.navOpen .navBtn span:nth-of-type(2) {
		-webkit-transform: translateY(8px) translateX(0) rotate(-45deg);
		-ms-transform: translateY(8px) translateX(0) rotate(-45deg);
		transform: translateY(8px) translateX(0) rotate(-45deg);
	}

	header.navOpen .navBtn span:nth-of-type(3) {
		opacity:0;
	}

	.line01,
	.line02 {
		display: none;
	}

	nav nav {
		display: none;
	}

	.nav_pc {
		display: block;
	}

	.nav_sp {
		display: none;
	}

/* --------------------------
レスポンシブメニュー　2025.0410追加
---------------------------*/
@media screen and (max-width: 767px){
	.under_header{
		height: 65px;
	}
	header h1{
		top: 13px;
	}
	header .navBtn span{
		width: 45px;
	}
	header .navBtn{
		top: 0;
	}
}
@media screen and (max-width: 500px){
	.under_header{
		height: 55px;
	}
	header h1{
		top: 10px;
	}
	header .navBtn span{
		width: 35px;
	}
	header .navBtn span:nth-of-type(2),
	header .navBtn span:nth-of-type(3){
		margin-top: 8px;
	}
	header.navOpen .navBtn span:nth-of-type(2){
		transform: translateY(10px) translateX(0) rotate(-45deg);
	}
}
