@charset "utf-8";
.container {
		opacity: 0
}
.isStart .container {
		opacity: 1
}
.loading_base {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 5000;
}
.loading_logo {
		width: 350px;
		margin: auto;
		position: absolute;
		top: calc(50% - 200px);
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 100;
}
.loading_logo img {
		width: 100%;
		height: auto;
		opacity: 0;
		animation: fadeIn 0.3s linear forwards;
		animation-delay: 0.2s
}
@keyframes fadeIn {
		0% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
@media(max-width: 767px) {
		.loading_logo {
				width: 205px;
				top: 50%;
				transform: translateY(-150px)
		}
}
.kv {
		background-repeat: repeat-y;
		background-position: center 0;
		background-size: 3000px;
		background-image: url("../images/kv_bg_pc.png");
		position: relative;
}
.kv .kv_item {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: auto 100%;
}
.kv-1 {
		background-image: url("../images/kv-1_pc.png")
}
.kv-2 {
		background-image: url("../images/kv-2_pc.png");
		z-index: 3
}
.kv-logo {
		background-image: url("../images/kv-logo_pc.png")
}
.kv .kv-bottom_wrap {
		position: absolute;
		bottom: 30px;
		left: 0;
		width: 100%;
		z-index: 5
}
.kv_bottom {
		max-width: 755px;
		aspect-ratio: 10 / 2.48;
		margin: 0 auto;
		position: relative;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		box-sizing: border-box;
		padding-right: 4%;
}
.kv_bottom .kv_bottom_base {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		pointer-events: none
}
.kv_btn {
		width: 18%;
		position: relative;
		z-index: 2
}
.kv_bottom img {
		width: 100%;
		height: auto;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.kv_btn a:hover img {
				transform: scale(1.2)
		}
}
@media(min-width: 1921px) {
		.kv_bottom {
				max-width: 900px;
				margin: 0 auto
		}
}
@media(max-width: 1900px) {
		.kv .kv-bottom_wrap {
				bottom: 20px;
		}
		.kv_bottom {
				max-width: 38%;
				margin: 0 auto
		}
}
.kv_btn img {
		width: 100%;
		height: auto;
}
@media(max-width: 1439px) {
		.kv {
				background-size: 2000px;
				background-image: url("../images/kv_bg_mid.png");
		}
}
@media(max-width: 960px) {
		.kv, .kv .kv_bg {
				height: 50vw;
		}
		.kv .kv_bg {
				background-size: 100%;
				background-position: 0 0;
				min-height: inherit
		}
}
@media(min-width: 768px) {
		.kv-catch {
				display: none
		}
}
@media(max-width: 767px) {
		.kv {
				background-size: 100%;
				background-image: url("../images/kv_bg_sp.png");
				height: 240vw !important
		}
		.kv .kv_item {
				background-position: 0 0;
				background-size: 100%;
		}
		.kv-1 {
				background-image: url("../images/kv-1_sp.png")
		}
		.kv-2 {
				background-image: url("../images/kv-2_sp.png");
		}
		.kv-logo {
				background-image: url("../images/kv-logo_sp.png")
		}
		.kv-catch {
				background-image: url("../images/kv-catch_sp.png");
				z-index: 5
		}
		.kv .kv-bottom_wrap {
				bottom: 15px;
		}
		.kv_bottom {
				max-width: inherit;
				aspect-ratio: 10 / 5.56;
				display: block;
				padding: 0;
				position: relative;
		}
		.kv_bottom .kv_btn {
				position: absolute;
				width: 21vw;
				top: 21vw;
				right: 12vw;
		}
}
/* ============== */
@media(min-width: 768px) {
		.header_trigger {
				display: none;
		}
		.nav_drawer {
				display: none !important;
		}
}
.header_trigger {
		position: fixed;
		top: 15px;
		right: 15px;
		width: 50px;
		height: 50px;
		z-index: 500;
}
.header_trigger button {
		display: block;
		border-radius: 50%;
		width: 50px;
		height: 50px;
		background: #FFF100;
		cursor: pointer;
		text-decoration: none;
		border: none;
}
.nav_drawer .header_trigger button {
		background: #FFF100;
}
.fvShort .header_trigger {
		top: 10px;
		right: 10px;
}
.header_trigger .header_trigger_bar {
		position: absolute;
		top: 18px;
		left: 15px;
		pointer-events: none;
		width: 20px;
		height: 14px;
}
.header_trigger_bar div {
		height: 2px;
		width: 20px;
		background: #000;
		position: absolute;
		top: 0;
		left: 0;
}
.header_trigger_bar div:nth-child(2) {
		top: 6px;
}
.header_trigger_bar div:last-child {
		top: 12px
}
.nav_drawer button {
		transform: scale(0.1);
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}
.nav_drawer.drawerOpen button {
		transform: scale(1);
}
.nav_drawer .header_trigger_bar div {
		background: none;
}
.nav_drawer .header_trigger_bar div {
		top: 6px;
}
.nav_drawer .header_trigger_bar div:first-child {
		transform: rotate(-45deg);
}
.nav_drawer .header_trigger_bar div:last-child {
		transform: rotate(45deg);
}
.nav_drawer .header_trigger_bar div::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 20px;
		height: 2px;
		background: #000;
		transform: scaleX(0);
}
.nav_drawer .header_trigger_bar div:first-child::before {
		transform-origin: right center;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
}
.nav_drawer .header_trigger_bar div:last-child::before {
		transform-origin: left center;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
}
.nav_drawer.drawerOpen .header_trigger_bar div:first-child::before {
		transform: scaleX(1);
}
.nav_drawer.drawerOpen .header_trigger_bar div:last-child::before {
		transform: scaleX(1);
}
.nav_drawer {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-repeat: repeat-y;
		background-size: 100%;
		background-position: 0 0;
		background-image: url("../images/blk_bg_sp.png");
		z-index: 5000;
		display: none;
		transition: background 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
.nav_drawer.drawerOpen {
		background-position: 0 -30px;
}
.nav_drawer a {
		color: #fff;
		text-decoration: none;
		display: block;
		text-align: center;
}
.drawer_wrap_inner {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 80vh;
}
.nav_drawer li {
		list-style: none;
		margin: 0 0 40px;
		text-align: center;
}
.nav_drawer li a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
		width: 100%;
		color: #fff;
		text-decoration: none;
		box-sizing: border-box;
		padding-top: 2px;
		transition: background 0.1s, color 0.1s;
}
.nav_drawer li a span {
		display: block;
		text-align: center;
}
.nav_drawer span.en {
		font-family: "Inter", sans-serif;
		font-optical-sizing: auto;
		font-weight: 600;
		font-style: italic;
		font-size: 32px;
		line-height: 1.5;
		letter-spacing: 0;
}
.nav_drawer span.jp {
		font-size: 14px;
		font-weight: 600;
}