@charset "UTF-8";
/* ==========================================================================
   Object / Project / mv（メインビジュアル：全画面）
   ========================================================================== */
.p-mv {
	position: relative;
	width: 100%;
}

.p-mv__slider {
	position: relative;
	width: 100%;
	min-height: clamp(480px, 76vh, 880px);
	overflow: hidden;
	background: #eef8fc;
}

.p-mv__slider::after {
	content: "";
	position: absolute;
	z-index: 2;
	bottom: -30px;
	background: url("../../../img/wave.webp") center bottom / 100% 100% no-repeat;
	pointer-events: none;
	width: 100%;
	height: 44%;
	opacity: 0.7;
}

.p-mv__track {
	position: absolute;
	inset: 0;
}

.p-mv__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.1s var(--ease);
}
.p-mv__slide.is-active {
	opacity: 1;
}
.p-mv__slide:only-child {
	opacity: 1;
}
.p-mv__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0%,
		rgba(0, 0, 0, 0.08) 8%,
		rgba(0, 0, 0, 0.28) 17%,
		rgba(0, 0, 0, 0.62) 28%,
		#000 40%,
		#000 100%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0%,
		rgba(0, 0, 0, 0.08) 8%,
		rgba(0, 0, 0, 0.28) 17%,
		rgba(0, 0, 0, 0.62) 28%,
		#000 40%,
		#000 100%
	);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}

/* 左上キャプション（サイト幅に整列） */
.p-mv__caption {
	position: absolute;
	z-index: 3;
	top: 24%;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: var(--inner-max);
	padding-inline: var(--inner-pad);
text-shadow: 
	white 2px 0px 2px, white -2px 0px 2px,
	white 0px -2px 2px, white -2px 0px 2px,
	white 2px 2px 2px, white -2px 2px 2px,
	white 2px -2px 2px, white -2px -2px 2px,
	white 1px 2px 2px, white -1px 2px 2px,
	white 1px -2px 2px, white -1px -2px 2px,
	white 2px 1px 2px, white -2px 1px 2px,
	white 2px -1px 2px, white -2px -1px 2px,
	white 1px 1px 2px, white -1px 1px 2px,
	white 1px -1px 2px, white -1px -1px 2px;
	font-family: var(--font-serif);
	font-weight: bold;
}
@media (min-width: 1921px) {
	.p-mv__caption {
		max-width: var(--inner-max-xl);
	}
}

.p-mv__catch {
	font-family: var(--font-serif);
	font-weight: 700;
	font-size: clamp(34px, 5vw, 62px);
	line-height: 1.28;
	letter-spacing: 0.04em;
	color: var(--color-heading);
text-shadow: 
	white 2px 0px 2px, white -2px 0px 2px,
	white 0px -2px 2px, white -2px 0px 2px,
	white 2px 2px 2px, white -2px 2px 2px,
	white 2px -2px 2px, white -2px -2px 2px,
	white 1px 2px 2px, white -1px 2px 2px,
	white 1px -2px 2px, white -1px -2px 2px,
	white 2px 1px 2px, white -2px 1px 2px,
	white 2px -1px 2px, white -2px -1px 2px,
	white 1px 1px 2px, white -1px 1px 2px,
	white 1px -1px 2px, white -1px -1px 2px;
}
.p-mv__lead {
	margin-top: 24px;
	font-size: clamp(14px, 1.2vw, 16px);
	font-weight: 500;
	line-height: 2;
	color: var(--color-text);
}

/* ブランドテキスト */
.p-mv__brand {
	position: absolute;
	z-index: 3;
	left: 50%;
	bottom: 40px;
	transform: translateX(-50%);
	width: 100%;
	max-width: var(--inner-max);
	padding-inline: var(--inner-pad);
	font-family: var(--font-serif);
	font-size: clamp(15px, 1.4vw, 20px);
	font-weight: 600;
	letter-spacing: 0.28em;
	color: var(--color-gold-deep);
}
@media (min-width: 1921px) {
	.p-mv__brand {
		max-width: var(--inner-max-xl);
	}
}
@media (max-width: 1024px) {
	.p-mv__slider::after {
		bottom: -10px;
		left:0;
		background: url(../../../img/wave.webp) center bottom / 110% 80% no-repeat;
		pointer-events: none;
		width: 110%;
		height: 40%;
	}
	.p-mv__slider{
		min-height: 46vh;
	}
}
@media (max-width: 767px) {
	.p-mv__slider {
		min-height: 48vh;
	}
	.p-mv__slider::after {
		bottom: -10px;
		left:0;
		background: url(../../../img/wave.webp) center bottom / 110% 80% no-repeat;
		pointer-events: none;
		width: 110%;
		height: 40%;
	}
	.p-mv__caption {
		top: 25%;
		padding-inline: var(--inner-pad-sp);
	}
	.p-mv__lead {
		margin-top: 18px;
	}
	.p-mv__brand {
		bottom: 24px;
		padding-inline: var(--inner-pad-sp);
	}

	.p-mv__image {
		-webkit-mask-image: linear-gradient(
			to right,
			transparent 0%,
			rgba(0, 0, 0, 0.18) 10%,
			rgba(0, 0, 0, 0.55) 22%,
			#000 34%,
			#000 100%
		);
		mask-image: linear-gradient(
			to right,
			transparent 0%,
			rgba(0, 0, 0, 0.18) 10%,
			rgba(0, 0, 0, 0.55) 22%,
			#000 34%,
			#000 100%
		);
	}
}
