
/*----------------------------------------------------------------------> ▼ .smart_menu_button <--*/

.smart_menu_button {
	position: fixed;
	top: 0;
	right: 40px;
	width: 50px;
	height: 100px;
	margin: ;
	cursor: pointer;
	z-index: 10000;
	border: 0px solid #f00;
}

.smart_menu_button div,
.smart_menu_button div::before,
.smart_menu_button div::after {
	position: absolute;
	width: 100%;
	height: 3px;
	left: 0px;
	border-radius: 50px;
	background: #777;
	transition: var(--transition);
}

.smart_menu_button div::before,
.smart_menu_button div::after {
	content: '';
}
	
.smart_menu_button div::before {
	top: -10px;
}

.smart_menu_button div {
	top: calc(50% - 3px / 2);
}

.smart_menu_button div::after {
	top: 10px;
}

.smart_menu_button_active div::before,
.smart_menu_button_active div::after {
	top: -1px;
	height: 3px;
	background: ;
}

.smart_menu_button_active div::before {
	transform: rotate(45deg);
}

.smart_menu_button_active div {
	background: transparent;
}

.smart_menu_button_active div::after {
	transform: rotate(-45deg);
}

@media (width <= 1366px) {
	.smart_menu_button {
		right: 30px;
		width: 40px;
	}
}

@media (width <= 1023px) {
	.smart_menu_button {
		display: flex;
	}
}

@media (width <= 500px) {
	.smart_menu_button {
		width: 40px;
	}
}

@media (hover: hover) and (pointer: fine) {
	/*
	.smart_menu_button:hover div,
	.smart_menu_button:hover div::before,
	.smart_menu_button:hover div::after {
		background: var(--hover);
	}
	*/
}

/*----------------------------------------------------------------------> ▼ .wrap_smart_menu <--*/

.wrap_smart_menu {
	display: none;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 1);
	transition: ;
	z-index: 1000;
	
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.wrap_smart_menu::scrollbar {
	display: none;
}

.wrap_smart_menu.open {

}

#smart_menu_logo {
	position: absolute;
	top: 35px;
	left: 50px;
	height: 30px;
	z-index: 1100;
}

/*----------------------------------------------------------------------> ▼ .smart_menu <--*/

.smart_menu {
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	bottom: 50px;
	left: 50px;
}

.smart_menu a {
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
	width: 100%;
	margin-top: 10px;
	padding-top: 15px;
	border: 0px dashed #ccc;
	font-size: 90px;
	font-family: Helvetica-UL;
	letter-spacing: 0.03em;
	line-height: 55px;
	color: #999;
}
	
.smart_menu a:nth-child(1) {
	color: #115;
}

.smart_menu a:nth-child(2) {
	color: #133;
}

.smart_menu a:nth-child(3) {
	color: #151;
}

.smart_menu a:nth-child(4) {
	color: #351;
}

.smart_menu a:nth-child(5) {
	color: #551;
}

.smart_menu a:nth-child(6) {
	color: #731;
}

.smart_menu a:nth-child(7) {
	color: #a00;
}

.smart_menu a span {
	vertical-align: bottom;
	margin-left: 15px;
	font-family: RyuMin-R;
	font-size: 16px;
	color: #000;
}

.smart_menu a.tel {
	display: none;
	justify-content: center;
	color: #000;
	font-size: 36px;
	font-family: Helvetica-T;
	letter-spacing: 1px;
}

.smart_menu a.tel + div {
	display: none;
	padding: 5px 0 0 17px;
	font-size: 11px;
}

@media (1367px <= width) {
	.smart_menu {
		width: calc(50% - 100px);
	}
}

@media (width <= 1366px) {
	.smart_menu {
		width: calc(60% - 100px);
	}
}

@media (1024px <= width <= 1200px) or (height <= 768px) {
	.smart_menu {
		width: calc(86.7% - 100px);
	}
	
	.smart_menu a {
		font-size: 64px;
		line-height: 32px;
	}
	
	.smart_menu a span {
		font-size: 14px;
	}
}
	
@media (width <= 1023px) {
	.smart_menu a {
		flex-wrap: wrap;
		margin: 0;
		font-size: 70px;
		line-height: 40px;
	}
	
	.smart_menu a span {
		width: 100%;
		margin: 0;
		font-size: 14px;
	}
}

@media (width <= 767px) {
	.smart_menu {
		width: calc(100% - 100px);
		bottom: 100px;
	}
	
	.smart_menu a {
		font-size: 40px;
		line-height: 30px;
	}
	
	.smart_menu a::before {
		content: '-';
		margin-right: 5px;
	}
	
	.smart_menu a span {
		width: 100%;
		margin: 2px 0 0 15px;
		font-family: YuGo-B;
		font-size: 12px;	
	}
	
	.smart_menu a.tel,
	.smart_menu a.tel + div {
		display: block;
	}
}

@media (width <= 500px) {
	.smart_menu a {
		line-height: 28px;
	}
}

@media (width <= 400px) {
	.smart_menu a {
		line-height: 20px;
	}
	
	.smart_menu a span {
		margin: 5px 0 0 15px;
		font-size: 11px;	
	}
	
	.smart_menu a.tel + div {
		margin-top: 5px;
	}
}


@media (hover: hover) and (pointer: fine) {
	.smart_menu a {
		transition: var(--transition);
	}
	
	.smart_menu a:hover {
		padding-left: 30px;
		background: linear-gradient(to right, #fff, #f0f0f0);
	}
	
	.smart_menu a:nth-child(1):hover {
		color: #115;
	}
	
	.smart_menu a:nth-child(2):hover {
		color: #133;
	}
	
	.smart_menu a:nth-child(3):hover {
		color: #151;
	}
	
	.smart_menu a:nth-child(4):hover {
		color: #351;
	}
	
	.smart_menu a:nth-child(5):hover {
		color: #551;
	}
	
	.smart_menu a:nth-child(6):hover {
		color: #731;
	}
	
	.smart_menu a:nth-child(7):hover {
		color: #a00;
	}
	
	.smart_menu a:hover span {
		color: inherit;
	}
}

/*-----------------------------------------------------------------------------------------------> ▼ #smart_menu_cover <--*/

#smart_menu_cover {
	position: absolute;
	right: 0;
	height: 100vh;
	background: url(/asset/image/general/smart_menu/cover.jpg) center / cover;
}

@media (1367px <= width) {
	#smart_menu_cover {
		width: 50%;
	}
}

@media (width <= 1366px) {
	#smart_menu_cover {
		width: 40%;
	}
}

@media (width <= 1200px) {
	#smart_menu_cover {
		width: 33.3%;
	}
}

@media (width <= 767px) {
	#smart_menu_cover {
		display: none;
	}
}