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

/***************** MENU SETTING *****************/
/*開閉用ボタン（ハンバーガーボタン）*/
.menu-btn {
	position: fixed;
	top: 0;
	right: 0;
	width: 40px;
	height: 50px;
	cursor: pointer;
	z-index: 9999;
	border: none;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.menu-btn::after {
	position: absolute;
	content: 'MENU';
	bottom: -6px;
	left: 1px;
	right: 0;
	margin: auto;
	display: block;
	width: 100%;
	color: #444;
	font-size: 10px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	transition: all .4s;
	letter-spacing: 0.05em;
}
.open .menu-btn::after {
	position: absolute;
	content: 'CLOSE';
	bottom: -6px;
	left: 1px;
	right: 0;
	margin: auto;
	display: block;
	width: 100%;
	color: #000;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	transition: all .4s;
	letter-spacing: 0.05em;
}
.menu-btn-line {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	height: 2px;
	width: 100%;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.menu-btn-line::before,
.menu-btn-line::after {
	content: "";
	height: 2px;
	width: 100%;
	margin: auto;
	background: #000;
	position: absolute;
	left: 0;
	-webkit-transition: inherit;
	transition: inherit;
}
.menu-btn-line::before{
	top: -5px;
}
.menu-btn-line::after{
	top: 5px;
}

/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu {
	 transform: translateX(0); /* 右から登場 */
	z-index: 9998;
}
.open .menu-btn {
	border-color: #000;
}
.open .menu-btn-line{
	background-color: transparent;
}
.open .menu-btn-line::before,
.open .menu-btn-line::after {
	top: 0;
	background: #000;
}
.open .menu-btn-line::before {
	-webkit-transform: rotate(160deg);
	-ms-transform: rotate(160deg);
	transform: rotate(160deg);
}
.open .menu-btn-line::after {
	-webkit-transform: rotate(-160deg);
	-ms-transform: rotate(-160deg);
	transform: rotate(-160deg);
}

/*開いたメニュー*/
.menu {
	position: fixed;
	top: 0;
	right: 0;
	width: 400px;
	height: 100vh;
	background: rgba(255,255,255,0.95);
	z-index: 9998;
	overflow-y: auto;
	transform: translateX(100%); /* 右に隠す */
	transition: transform 0.5s ease; /* アニメーション */
}
.menu .inner_nav {
	width: 100%;
	padding: 50px;
	box-sizing: border-box; 
}
.menu .inner_nav li {
	font-size: 24px;
	font-weight: 700;
	margin: 0.7em 0;
}
.menu .inner_nav li a {
	width: 100%;
	padding: 0.1em 0;
	display: block;
}
.menu .inner_nav li span {
	width: 15px;
	display: inline-block;
	vertical-align: top;
	margin-left: 0.5em;
}
.menu .inner_nav .sns_box {
	display: flex;
}
.menu .inner_nav .sns_box div {
	width: 40px;
	margin: 20px 5px;
}
.overlay {
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: rgba(0,0,0,0.4);
	background-image: linear-gradient(-120deg, rgba(32,226,215,.5) 0%, rgba(249,254,165,.7) 100%);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
	z-index: 9990;
}
.open .overlay {
	opacity: 1;
	pointer-events: auto;
}



@media screen and (max-width: 767px) {
	
/***************** MENU SETTING *****************/
/*開閉用ボタン（ハンバーガーボタン）*/
.menu-btn {
	position: fixed;
	top: 0;
	right: 0;
	width: 35px;
	height: 45px;
	cursor: pointer;
	z-index: 9999;
	border: none;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.menu-btn::after {
	position: absolute;
	content: 'MENU';
	bottom: -5px;
	left: 1px;
	right: 0;
	margin: auto;
	display: block;
	width: 100%;
	color: #444;
	font-size: 9px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	transition: all .4s;
	letter-spacing: 0.05em;
}
.open .menu-btn::after {
	position: absolute;
	content: 'CLOSE';
	bottom: -5px;
	left: 1px;
	right: 0;
	margin: auto;
	display: block;
	width: 100%;
	color: #000;
	font-size: 9px;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	transition: all .4s;
	letter-spacing: 0.05em;
}
.menu-btn-line::before{
	top: -4px;
}
.menu-btn-line::after{
	top: 4px;
}
	
/*開いたメニュー*/
.menu {
	position: fixed;
	top: 0;
	right: 0;
	width: 55%;
	height: 100vh;
	background: rgba(255,255,255,0.95);
	z-index: 9998;
	overflow-y: auto;
	transform: translateX(100%); /* 右に隠す */
	transition: transform 0.5s ease; /* アニメーション */
}
.menu .inner_nav {
	width: 100%;
	padding: 2.0em;
	box-sizing: border-box; 
}
.menu .inner_nav li {
	font-size: 18px;
	font-weight: 700;
	margin: 1.0em 0;
}
.menu .inner_nav li span {
	width: 12px;
	display: inline-block;
	vertical-align: top;
	margin-left: 0.5em;
}

	
}
