
/*----------------------------------------------------------------------> ▼ .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: flex;
	align-items: center;
	position: fixed;
	width: 100%;
	height: 100vh;
	padding-top: 0px;
	background: rgba(255, 255, 255, 1);
	transition: var(--transition);
	z-index: 1000;
	
	-ms-overflow-style: none;
	scrollbar-width: none;
	visibility: hidden;
	opacity: 0;
	
	@media (width <= 1023px) {
		align-items: flex-start;
	}
	
	.header_logo {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1100;
	}
}

.wrap_smart_menu::scrollbar {
	display: none;
}

.wrap_smart_menu.open {
	visibility: visible;
	opacity: 1;
}

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

.smart_menu {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.smart_menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 430px;
	max-width: 100%;
	margin: 0 calc((100% - 430px) / 2);
	padding: 15px;
	font-family: YuGo-B;
}

.smart_menu a:not(.tel) i::before {
	content: '\f105';
	color: var(--theme);
}

.smart_menu a.tel {
	padding: 13px 30px 10px;
	justify-content: center;
	color: var(--theme);
	font-size: 27px;
	font-family: var(--font-family-numeric);
	letter-spacing: 0;
	line-height: 1em;
}

.smart_menu a.tel i {
	margin-top: -5px;
}

.smart_menu a.tel i::before {
	content: '\f2a0';
	margin-right: 10px;
	transform: rotate(-45deg);
}

@media (1024px <= width) {
	.smart_menu a.tel {
		display: none;
	}
}
	
@media (width <= 1023px) {
	.smart_menu {
		margin-top: 115px;
	}
	
	.smart_menu a {
		width: 100%;
		margin: 0;
		padding: 12px 30px;
		background: linear-gradient(#fff, #f3f3f3);
	}
}

@media (1024px <= width) and (height <= 768px) {
	.smart_menu a {
		padding: 10px;
	}
}

@media (hover: hover) and (pointer: fine) {
}
