@charset "UTF-8";
:root {
	--sitem-padding: 1.4em;
	--sitem-width: 400px;
	--sitem-width-smp: 85%;
}
@media only screen and (max-width:400px) {
	:root {
		--sitem-padding: 4vw;
	}
}
#sitemenu {
	position: fixed;
	z-index: 100;
	text-align: left;
	display: none;
	height: 100%;
	overflow-x: hidden;
	top: 0;
	right: 0;
	color: #fff;
	background-color: var(--cl-pageink);
	border-color: var(--cl-line);
}
#sitemenu[data-opend="true"] {
	display: block;
}
#sitemenu {
	width: 0px;
	border-left-width: 0px;
	transition: all 0.2s ease-out;
}
#sitemenu[data-efx="true"] {
	width: var(--sitem-width);
}
@media only screen and (max-width:400px) {
	#sitemenu[data-efx="true"] {
		width: var(--sitem-width-smp);
	}
}

/**/
#sitemenu .head {
	position: relative;
	padding: 2.25em var(--sitem-padding);
	padding-bottom: 0.5em;
	text-align: center;
}
#sitemenu .head .lgm {
	display: block;
	text-align: left;
}
	#sitemenu .head .lgm > img {
		height: 2em;
	}
#sitemenu .head .close {
	position: absolute;
	z-index: 5;
	top: 1.5em;
	right: 0.9em;
	display: inline-block;
	width: 3em;
	opacity: 0.3;
	padding: 1.5em 0.5em;
}
	#sitemenu .head .close .m-line {
		background-color: #fff;
		transform-origin: center;
	}
	#sitemenu .head .close .m-line:first-of-type {
		transform: rotate(45deg);
	}
	#sitemenu .head .close:hover .m-line:first-of-type {
		transform: rotate(30deg);
	}
	#sitemenu .head .close .m-line:last-of-type {
		transform: rotate(-45deg);
		margin-top: calc(var(--u-line-menu) * -1);
	}
	#sitemenu .head .close:hover .m-line:last-of-type {
		transform: rotate(-30deg);
	}

/**/
#sitemenu .menus {
	margin-top: 1.5em;
}
#sitemenu .menus > a {
	position: relative;
	display: block;
	font-size: 1em;
	line-height: 1.9em;
	color: #fff;
	padding: 1em 1.4em;
	font-weight: 300;
	transition: all 0.4s;
}
#sitemenu .menus > a:hover {
	padding-left: 2em;	
}
#sitemenu .menus > a:after,
#sitemenu .menus > a:first-of-type::before {
	position: absolute;
	content: "";
	display: block;
	width: calc(100% - var(--sitem-padding) * 2);
	height: 1px;
	left: 50%;
	transform: translate(-50%,0);
	background-color: var(--cl-line);
	opacity: 0.2;
}
#sitemenu .menus > a:after {
	bottom: 0;
}
#sitemenu .menus > a:first-of-type::before {
	top: 0;
}
#sitemenu .store {
	justify-content: flex-end;
	padding: var(--sitem-padding);
}
#sitemenu .store a.t-icon {
	padding: 0;
	border: none;
	margin-left: calc(var(--sitem-padding) / 2);
}
@media only screen and (max-width:640px) {
	#sitemenu .menus {
		padding-bottom: 10rem;
	}
}
@media only screen and (max-width:400px) {
	#sitemenu .menus > a {
		font-size: 4vw;
	}
}