@charset "UTF-8";

#drawer-content {
	overflow: auto;
    position: fixed;
    top: 0;
    right: 0;
	box-sizing: border-box;
	z-index: 500;
    width: 90%;
    height: 100dvh;
	color: #FFF;
    background: rgb(28 54 112 / 0.9);
	padding: 25% 7% 7%;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	will-change: transform;

}
#drawer-checkbox {
	display: none;
	&:checked ~ #drawer-content {
		transform: translateX(0);
	}
}
#drawer-icon {	
	position: fixed;
	z-index: 504;
	display: block;
	text-align: center;
	outline: 0;
	transition: transform .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transform: translate3d(0, 0, 0);
	cursor: pointer;
}

/*ハンバーガーメニューデザイン*/
.drawer-hamburger {
	color: #FFF;
	top: 1em;
	right: 1em;
	width: 6.8em;
	height: 4.2em;
	padding-top: 2.6em;
	font-size: 2.5vw;
	letter-spacing: .05em;
	box-sizing: content-box;
}
.drawer-hamburger-icon {
	position: relative;
	display: block;
	background: currentColor;
	width: 2.7em;
	height: 1px;
	left: 0;
	right: 0;
	rotate: -22deg;
	margin: 0 auto;
	box-shadow: 0 0 8px rgb(0 0 0 / 0.8);

	&::before,
	&::after {
		position: absolute;
		content: "";
		width: 100%;
		height: 100%;
		background-color: #FFF;
		box-shadow: inherit;
		left: 0;
		top: 0;
		transition: rotate .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	}
	&::before {
		left: 0.25em;
		top: -0.6em;
	}
	&::after {
		left: -0.25em;
		top: .6em;
	}
}
.drawer-hamburger .menu_txt {
	display: block;
	text-align: center;
	font: var(--font-en);
	padding-top: 2em;
	transition: opacity .3s;
	filter: drop-shadow(0 0 6px rgb(0 0 0 / 1));
	
	&::before {
		content: "MENU";
	}
}
/*メニューが開いた時の処理*/
#drawer-checkbox:checked {
	~ #drawer-icon {
		width: auto;
		display: flex;
		align-items: center;
		column-gap: .8em;
		inset: 0.5em auto auto 21vw;

		&::before {
			rotate: -22deg;
		}
		.drawer-hamburger-icon {
			background: transparent;
			rotate: 0deg;

			&::before,
			&::after {
				left: 0;
				top: 0;
			}
			&::before {
				rotate: -22deg;
			}
			&::after {
				rotate: 22deg;
			}
		}
		.menu_txt {
			font-size: 120%;
			padding-top: 0;

			&::before {
				content: "CLOSE";
			}
		}
	}
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#drawer {
	display: none;
}
}
