@charset "utf-8";
.loading_base {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #fff;
		z-index: 9999;
}
.loading_logo {
		display: none;
}
.loading_base .loading_logo {
		width: 400px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
}
@media(max-width: 767px) {
		.loading_base {
				width: 100%;
				height: 100vh;
				height: 100dvh;
		}
		.loading_base .loading_logo {
				width: 240px;
				transform: translate(-50%, -42.5%);
		}
}
.loading_logo img {
		width: 100%;
		height: auto;
		opacity: 0;
		animation: fadeIn 0.3s linear forwards;
}
@keyframes fadeIn {
		0% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
main {
		margin-top: 130px;
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		main {
				margin-top: 90px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		main {
				margin-top: 59px;
		}
}
.kv {
		position: relative;
		overflow: hidden;
		aspect-ratio: 16 / 7.8;
		;
}
.kv .kv_main {
		position: absolute;
		top: 0;
		right: 0;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		/* background-image: url("../images/kv_main_pc.jpg"); */
		border-radius: 4px 0px 0px 4px;
		aspect-ratio: 10 / 5.5;
		width: 77.5%;
		box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
		z-index: 2;
}
.kv_movie {
		width: 100%;
		height: 100%;
		overflow: hidden;
		position: relative;
		border-radius: 4px 0px 0px 4px;
}
.kv_movie video {
		width: 100%;
		height: auto;
		display: block;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.kv_movie video {
				position: absolute;
				top: 50%;
				left: 50%;
				width: auto;
				height: 100%;
				min-width: 100%;
				transform: translate(-50%, -50%);
				object-fit: cover;
				object-position: center;
		}
}
.kv .kv_main::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: -24.3%;
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-position: left bottom;
		background-size: auto 100%;
		background-image: url("../images/kv_catch_pc.png");
		transition: opacity 0.8s;
		opacity: 0;
}
.kv.isStart .kv_main::after, .kv.isDone .kv_main::after {
		opacity: 1;
}
.kv .kv_bg {
		position: absolute;
		left: 0;
		bottom: 0;
		background: linear-gradient(90deg, #ff6e00 0%, #ffcf54 100%);
		border-radius: 0px 0px 6px 0px;
		aspect-ratio: 10 / 4.6;
		width: 93%;
}
.kv .kv_bg::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-repeat: repeat;
		background-position: 0 0;
		background-size: 50px;
		background-image: url("../images/wht_bg2.png");
		pointer-events: none
}
.kv .kv_bg::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-position: left bottom;
		background-size: auto 100%;
		background-image: url("../images/kv_bg_ptn_pc.png");
}
.kv_main .kv_catch {
		color: #fff;
		position: absolute;
		z-index: 5;
		font-weight: 500;
		line-height: 2.0;
		font-size: clamp(0.938rem, 1.313vw + 0.15rem, 2.25rem);
		left: -20%;
		bottom: 0;
		transition: opacity 0.8s;
		transition-delay: 1s;
		opacity: 0;
}
.kv.isStart .kv_catch, .kv.isDone .kv_catch {
		opacity: 1;
}
@media(max-width: 960px) {
		.kv .kv_main::after {
				left: -27%
		}
		.kv_main .kv_catch {
				font-size: 14px;
				left: -22%;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.kv {
				aspect-ratio: unset;
				height: calc(100vh - 100px);
				height: calc(100dvh - 100px);
		}
		.kv .kv_main {
				background-image: url("../images/kv_main_sp.jpg");
				background-repeat: no-repeat;
				background-position: 0 0;
				aspect-ratio: unset;
				width: 90%;
				height: calc(100vh - 190px);
				height: calc(100dvh - 190px);
		}
		.kv .kv_bg {
				position: absolute;
				left: 0;
				bottom: inherit;
				top: 16vw;
				aspect-ratio: unset;
				width: 100%;
				height: 100vh;
				height: 100dvh;
		}
		.kv .kv_bg::after {
				background-size: 100%;
				background-image: url("../images/kv_bg_ptn_sp.png?55");
		}
		.kv .kv_main::after {
				content: '';
				display: block;
				position: absolute;
				top: inherit;
				left: -10%;
				bottom: 0;
				width: 100%;
				height: 100%;
				background-repeat: no-repeat;
				background-position: left bottom;
				background-size: 100%;
				background-image: url("../images/kv_catch_sp.png");
		}
		.kv_main .kv_catch {
				font-size: 16px;
				line-height: 1;
				text-align: center;
				left: -10%;
				bottom: -40px;
				width: 110%;
		}
		.kv_main .kv_catch br {
				display: none;
		}
}
@media screen and (orientation: portrait) and (max-width: 375px) {
		.kv .kv_main {
				background-image: url("../images/kv_main_se.jpg");
				height: calc(100vh - 180px);
				height: calc(100dvh - 180px);
		}
		.kv .kv_main::after {
				left: -10%;
				bottom: 0;
				width: 90%;
				height: 100%;
		}
		.kv_main .kv_catch {
				font-size: 14px;
				bottom: -35px;
		}
}
.kv_main .kv_news {
		position: absolute;
		bottom: -35px;
		right: 100px;
		width: 420px;
		height: 115px;
		border: 1px solid #f9f7ef;
		border-radius: 20px;
		z-index: 10;
		box-sizing: border-box;
		padding: 10px;
}
.kv_news_in {
		background: #f9f7ef;
		height: 95px;
		border-radius: 18px;
		display: flex;
		align-items: center;
		padding: 0 25px
}
.kv_news_in .kv_news_hd {
		font-size: 14px;
		font-weight: 700;
		margin: 0 0 15px;
}
.kv_news_in dl {
		display: flex;
		align-items: center;
		font-size: 13px;
		font-weight: 500;
}
.kv_news_in dt {
		color: #8c8c8c;
		letter-spacing: 0;
		margin-right: 10px;
}
.kv_news_in dd {
		flex: 1
}
.kv_news_in dd p {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
		-webkit-line-clamp: 1;
		line-height: 1.3;
}
.kv_news_in dd p a {
		color: #222;
		text-decoration: none;
}
@media (hover: hover) {
		.kv_news_in dd p a:hover {
				color: #FF5A01;
				text-decoration: underline;
				text-underline-offset: 4px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.kv_main .kv_news {
				bottom: -25px;
				right: 90px;
				width: 320px;
				height: 90px;
				border-radius: 16px;
				padding: 6px;
		}
		.kv_news_in {
				height: 78px;
				border-radius: 14px;
				padding: 0 15px
		}
		.kv_news_in .kv_news_hd {
				font-size: 13px;
				margin: 0 0 10px;
		}
		.kv_news_in dl {
				font-size: 13px;
		}
		.kv_news_in dt {
				margin-right: 5px;
		}
}
.mobile_news {
		display: none
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.kv_main .kv_news {
				display: none;
		}
		.kv .mobile_news {
				display: block;
				position: absolute;
				top: 15px;
				left: 15px;
				width: calc(100% - 30px);
				box-sizing: border-box;
				z-index: 100;
				padding: 15px;
				background: #f9f7ef;
				border-radius: 8px;
		}
		.mobile_hd {
				font-size: 12px;
				font-weight: 700;
				margin: 0 0 8px;
		}
		.mobile_news dl {
				display: flex;
				align-items: center;
				font-size: 12px;
				font-weight: 500;
		}
		.mobile_news dt {
				color: #8c8c8c;
				letter-spacing: 0;
				margin-right: 10px;
		}
		.mobile_news dd {
				flex: 1
		}
		.mobile_news dd p {
				display: -webkit-box;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
				-webkit-line-clamp: 1;
				line-height: 1.3;
		}
		.mobile_news dd p a {
				color: #222;
				text-decoration: none;
		}
}