@charset "utf-8";
.h-navi .icon {
	font-size: 0;
	background-color: var(--color-main-orange);
	border-bottom-left-radius: 12px;
	position: fixed;
	z-index: 100;
	top: 30px;
	left: 30px;
	width: 60px;
	height:60px;
	background-color: #000;
	border: 1px solid #d5c114;
	border-radius: 50%;
	cursor: pointer;
	transition: top .4s ease-out;
}

/*ボタン内側*/
.h-navi .icon::before {
	content: '';
	display: block;
	height: 1px;
	width: 24px;
	background: #d5c114;
	position: absolute;
	top: 22.5px;
	left: 18px;
	transition: all .5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.h-navi .icon::after {
	content: '';
	display: block;
	height: 1px;
	width: 24px;
	background: #d5c114;
	position: absolute;
	top: 36.5px;
	left: 18px;
	transition: all .5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.h-navi .icon span {
	display: inline-block;
	position: absolute;
	top: 29.5px;
	left: 18px;
	height: 1px;
	width: 24px;
	background: #d5c114;
	transition: all .5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.h-navi .icon.active::before {
	top: 23px;
	left: 16px;
	transform: translateY(6px) rotate(-405deg);
	width: 50%;
}

.h-navi .icon.active::after {
	top: 35px;
	left: 16px;
	transform: translateY(-6px) rotate(405deg);
	width: 50%;
}

.h-navi .icon.active span {
	opacity: 0;
}


.h-navi .menu {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 40%;
	height: 100%;
	background-color: #000;
	border-right: 1px solid #d5c114;
	padding: 100px 30px;
	transform: translateX(-100%);
	transition: transform .5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

@media screen and (max-width: 640px) {
	.h-navi .menu {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 100%;
		border-right: 0;
	}
}

.h-navi .menu.active {
	transform: translateX(0);
}

.h-navi .menu li + li {
	margin-top: 1.5em;
}

.h-navi .menu li a {
	text-align: center;
	color: #d5c114;
	max-width: max-content;
	margin-inline: auto;
	position: relative;
}

.h-navi .menu li a::after {
	content: '';
	display: block;
	width: 100%;
	height: .8px;
	background-color: #d5c114;
	position: absolute;
	top: 90%;
	left: 0;
	scale: 0 1;
	transition: scale .3s;
	transform-origin: left center;
}

@media (any-hover: hover) {
	.h-navi .menu li a:hover::after {
		scale: 1 1;
	}
}