/* p-mv */

.p-mv {
	animation: mv-fade-scale 3s ease forwards;
	height: min(calc(860 / 1440 * 100vw), 860px);
	overflow: hidden;
	position: relative;
	width: 100%;
}

.p-mv__title {
	align-items: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-weight: 500;
	gap: min(calc(10 / 1440 * 100vw), 10px);
	left: min(calc(116 / 1440 * 100vw), 116px);
	position: absolute;
	text-align: center;
	top: min(calc(226 / 1440 * 100vw), 226px);
	z-index: 2;
}

.p-mv__title-desc {
	font-size: min(calc(22 / 1440 * 100vw), 22px);
	letter-spacing: 0.05em;
	text-shadow: 0px 0px 10px #4a4a4a;
}

.p-mv__title-title {
	font-size: min(calc(70 / 1440 * 100vw), 70px);
	letter-spacing: 0.02em;
	line-height: 1;
	text-shadow: 0px 0px 10px #4a4a4a;
}

.p-mv__title-en {
	font-family: "Amiri", serif;
	font-size: min(calc(32 / 1440 * 100vw), 32px);
	letter-spacing: 0.075em;
	line-height: 1.6;
	mix-blend-mode: overlay;
	text-shadow: 0px 0px 10px #4a4a4a;
}

.p-mv__title-en-content {
	position: relative;
}

.p-mv__title-en-content::after {
	background: url(../img/bg-wave-white.webp) no-repeat center center/contain;
	content: "";
	height: min(calc(69 / 1440 * 100vw), 69px);
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(calc(480 / 1440 * 100vw), 480px);
}

.p-mv__scroll {
	align-items: center;
	display: flex;
	gap: min(calc(16 / 1440 * 100vw), 16px);
	position: absolute;
	right: min(calc(48 / 1440 * 100vw), 48px);
	top: min(calc(650 / 1440 * 100vw), 650px);
	transform: rotate(-90deg);
	transform-origin: right;
	z-index: 2;
}

.p-mv__scroll-text {
	color: #fff;
	font-family: "Amiri", serif;
	font-size: min(calc(20 / 1440 * 100vw), 20px);
	letter-spacing: 0.075em;
}

.p-mv__scroll-line {
	background: transparent;
	display: block;
	height: min(calc(1 / 1440 * 100vw), 1px);
	overflow: hidden;
	position: relative;
	width: min(calc(120 / 1440 * 100vw), 120px);
}

.p-mv__scroll-line::after {
	animation: scroll-line 6s ease-in-out infinite;
	background: #fff;
	content: "";
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-mv__img {
	height: min(calc(860 / 1440 * 100vw), 860px);
}

.p-mv__img img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

/* p-contact */

.p-contact {
	background: #4a4a4a;
	color: #fff;
	padding-block: min(calc(67 / 1440 * 100vw), 67px) min(calc(82 / 1440 * 100vw), 82px);
}

.p-contact__items {
	display: flex;
	gap: min(calc(143 / 1440 * 100vw), 143px);
	justify-content: center;
	margin-top: min(calc(24 / 1440 * 100vw), 24px);
}

.p-contact__item {
	display: flex;
	flex-direction: column;
	gap: min(calc(10 / 1440 * 100vw), 10px);
}

.p-contact__item:last-child {
	position: relative;
}

.p-contact__item:last-child::after {
	background: #fff;
	content: "";
	height: 100%;
	left: max(calc(-80 / 1440 * 100vw), -80px);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: min(calc(1 / 1440 * 100vw), 1px);
}

.p-contact__desc {
	font-size: min(calc(18 / 1440 * 100vw), 18px);
	font-weight: 200;
	letter-spacing: 0.01em;
}

.p-contact__tel {
	align-items: center;
	display: flex;
	font-weight: 400;
	gap: min(calc(10 / 1440 * 100vw), 10px);
}

.p-contact__icon-tel {
	display: block;
	width: min(calc(28 / 1440 * 100vw), 28px);
}

.p-contact__num {
	font-family: "Amiri", serif;
	font-size: min(calc(44 / 1440 * 100vw), 44px);
	letter-spacing: -0.05em;
}

/* .p-fv */

.p-fv {
	align-items: center;
	background: url(../img/facility-fv.webp) no-repeat center right, #f3f2ea;
	background-size: auto 100%;
	display: flex;
	height: min(calc(320 / 1440 * 100vw), 320px);
	justify-content: center;
	position: relative;
}

/* p-room */

.p-room {
	padding-block: min(calc(59 / 1440 * 100vw), 59px) min(calc(101 / 1440 * 100vw), 101px);
}

.p-room__content {
	display: flex;
	flex-direction: column;
	font-weight: 500;
	gap: min(calc(40 / 1440 * 100vw), 40px);
	margin-top: min(calc(32 / 1440 * 100vw), 32px);
}

.p-room__desc {
	font-size: min(calc(18 / 1440 * 100vw), 18px);
	font-weight: 500;
	text-align: center;
}

.p-room__desc a {
	color: #b49531;
	text-decoration: underline;
	text-underline-offset: min(calc(4 / 1440 * 100vw), 4px);
}

.p-room__items {
	display: flex;
	flex-wrap: wrap;
	gap: min(calc(30 / 1440 * 100vw), 30px);
}

.p-room__item {
	align-items: center;
	aspect-ratio: 380/120;
	border: min(calc(1 / 1440 * 100vw), 1px) solid #b49531;
	display: flex;
	padding: 0 min(calc(30 / 1440 * 100vw), 30px) min(calc(5 / 1440 * 100vw), 5px);
	width: calc((100% - min(calc(30 / 1440 * 100vw), 30px) * 2) / 3);
}

.p-room__item:nth-child(1) {
	background: url("../img/p-room01.webp") no-repeat center right/contain;
}

.p-room__item:nth-child(2) {
	background: url("../img/p-room02.webp") no-repeat center right/contain;
}

.p-room__item:nth-child(3) {
	background: url("../img/p-room03.webp") no-repeat center right/contain;
}

.p-room__item:nth-child(4) {
	background: url("../img/p-room04.webp") no-repeat center right/contain;
}

.p-room__item:nth-child(5) {
	background: url("../img/p-room05.webp") no-repeat center right/contain;
}

.p-room__item:nth-child(6) {
	background: url("../img/p-room06.webp") no-repeat center right/contain;
}

.p-room__item.--facility {
	border: min(calc(2 / 1440 * 100vw), 2px) solid #b49531;
	justify-content: center;
	margin: 0 auto;
	position: relative;
}

.p-room__item.--facility::after {
	background: #fff;
	content: "";
	inset: 0;
	opacity: 0.8;
	position: absolute;
	z-index: 1;
}

.p-room__body {
	display: flex;
	flex-direction: column;
	gap: min(calc(2 / 1440 * 100vw), 2px);
	line-height: 1;
	position: relative;
	z-index: 2;
}

.p-room__name {
	color: #b49531;
	font-size: min(calc(22 / 1440 * 100vw), 22px);
	line-height: 1;
}

.p-room__name.--facility {
	-webkit-text-decoration: min(calc(1 / 1440 * 100vw), 1px) underline;
	text-decoration: min(calc(1 / 1440 * 100vw), 1px) underline;
	text-underline-offset: min(calc(4 / 1440 * 100vw), 4px);
}

.p-room__name-en {
	color: #9a9a9a;
	font-size: min(calc(13 / 1440 * 100vw), 13px);
}

@media screen and (max-width: 768px) {

.p-mv {
	height: 100svh;
	transition: 0.4s;
}

.p-mv__title {
	gap: calc(10 / 375 * 100vw);
	left: 50%;
	top: 40%;
	transform: translateX(-50%);
	width: 100%;
}

.p-mv__title-desc {
	font-size: calc(14 / 375 * 100vw);
}

.p-mv__title-title {
	font-size: calc(36 / 375 * 100vw);
}

.p-mv__title-en {
	font-size: calc(14 / 375 * 100vw);
}

.p-mv__scroll {
	bottom: calc(113 / 375 * 100vw);
	right: calc(20 / 375 * 100vw);
	top: auto;
}

.p-mv__scroll-text {
	font-size: calc(14 / 375 * 100vw);
}

.p-mv__scroll-line {
	height: calc(1 / 375 * 100vw);
	width: calc(70 / 375 * 100vw);
}

.p-mv__img {
	height: 100svh;
	transition: 0.4s;
}

.p-contact {
	padding-block: calc(40 / 375 * 100vw);
}

.p-contact__items {
	align-items: center;
	flex-direction: column;
	gap: calc(20 / 375 * 100vw);
	margin-top: calc(40 / 375 * 100vw);
}

.p-contact__item {
	gap: calc(10 / 375 * 100vw);
	width: calc(220 / 375 * 100vw);
}

.p-contact__item:last-child::after {
	display: none;
}

.p-contact__desc {
	font-size: calc(14 / 375 * 100vw);
}

.p-contact__tel {
	gap: calc(10 / 375 * 100vw);
}

.p-contact__icon-tel {
	width: calc(20 / 375 * 100vw);
}

.p-contact__num {
	font-size: calc(30 / 375 * 100vw);
	line-height: 1;
}

.p-fv {
	height: calc(150 / 375 * 100vw);
}

.p-room {
	padding-block: calc(60 / 375 * 100vw);
}

.p-room__content {
	gap: calc(40 / 375 * 100vw);
	margin-top: calc(30 / 375 * 100vw);
}

.p-room__desc a {
	text-underline-offset: calc(4 / 375 * 100vw);
}

.p-room__desc {
	font-size: calc(14 / 375 * 100vw);
}

.p-room__items {
	gap: calc(10 / 375 * 100vw);
	justify-content: center;
}

.p-room__item {
	border: calc(1 / 375 * 100vw) solid #b49531;
	padding: 0 calc(10 / 375 * 100vw);
	width: 80%;
}

.p-room__item.--facility {
	border: calc(2 / 375 * 100vw) solid #b49531;
}

.p-room__body {
	gap: calc(5 / 375 * 100vw);
}

.p-room__name {
	font-size: calc(18 / 375 * 100vw);
}

.p-room__name.--facility {
	-webkit-text-decoration: calc(1 / 375 * 100vw) underline;
	text-decoration: calc(1 / 375 * 100vw) underline;
	text-underline-offset: calc(4 / 375 * 100vw);
}

.p-room__name-en {
	font-size: calc(12 / 375 * 100vw);
}

}

@keyframes mv-fade-scale {

0% {
	opacity: 0;
	transform: scale(1.01);
}

100% {
	opacity: 1;
	transform: scale(1);
}

}

@keyframes scroll-line {

0% {
	left: 0%;
	opacity: 1;
}

30% {
	left: -100%;
	opacity: 1;
}

40% {
	left: -100%;
	opacity: 0;
}

41% {
	left: 100%;
	opacity: 0;
}

45% {
	left: 100%;
	opacity: 1;
}

70% {
	left: 0%;
}

100% {
	left: 0%;
	opacity: 1;
}

}

