@charset "UTF-8";

.logo-prince {
	background: #fff;
	padding: 16px 25px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* ロゴだけ */
.logo-prince a.logo {
	display: block;
	width: 205px;
	position: relative;
	z-index: 100;
}

/* PCではメニュー非表示 */
.menu {
	display: none;
}

/* PCではボタン非表示 */
.menu-toggle {
	display: none;
}

@media screen and (max-width: 768px) {
	.logo-prince {
		padding: 10px;
	}

	.logo-prince a.logo {
		width: 110px;
	}

	/* バーガーボタン */
	.menu-toggle {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 8px;
		width: 50px;
		height: 50px;
		padding: 0;
		border: none;
		background: transparent;
		cursor: pointer;
		z-index: 1001;
		position: fixed;
		top: 5px;
		right: 5px;
	}

	.menu-toggle span {
		display: block;
		width: 35px;
		height: 2px;
		background: #000;
		margin: 0 auto;
		transition: transform 0.3s ease, opacity 0.3s ease;
		transform-origin: center;
	}

	/* 開いた時にバツ */
	.logo-prince.is-open .menu-toggle span:nth-child(1) {
		transform: translateY(5px) rotate(25deg);
		background: #fff;
	}

	.logo-prince.is-open .menu-toggle span:nth-child(2) {
		transform: translateY(-5px) rotate(-25deg);
		background: #fff;
	}

	/* メニュー本体 */
	.menu {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		gap: 0;
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100vh;
		padding: 80px 35px 20px;
		background: #816D3B;
		transition: right 0.3s ease;
		z-index: 1000;
	}
	.logo-prince.is-open .menu {
		right: 0;
	}
	.menu a {
		display: block;
		width: 100%;
		color: #fff;
		font-family: var(--shippori);
		font-size: min(1.8rem, 4.8vw);
		font-weight: 600;
		line-height: 68px;
		letter-spacing: 1.8px;
		text-decoration: none;
	}
}

/* ----------------------------------------------------
 kv
---------------------------------------------------- */
.kv {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.kv .title {
	background: #816D3B;
	color: #fff;
	opacity: 0.9;
	border-radius: 0 0 0 90px;
	width: 637px;
	height: 222px;
	font-family: var(--shippori);
	padding-top: 37px;
	padding-left: 68px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 100;
}

.kv .title .txt {
	display: flex;
	align-items: center;
	font-size: min(1.8rem, 1.318vw);
	font-weight: 600;
	line-height: 22px;
	letter-spacing: 0.9px;
}
.kv .title .txt::before,
.kv .title .txt::after {
	content: '';
	display: inline-block;
	background: #fff;
	width: 0.5px;
	height: 26.2px;
	margin: 0 20px;
}
.kv .title .txt::before {
	margin-left: 0;
}

.kv .title h1 {
	font-size: min(4rem, 2.928vw);
	font-weight: 600;
	line-height: 54px;
	margin-top: 12px;
}

.kv .title h1 span {
	display: block;
	font-size: min(2.8rem, 2.05vw);
	font-weight: 600;
	line-height: 50px;
	letter-spacing: 1.4px;
}

.kv-slider,
.kv-slide {
	height: 100%;
}

.kv-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media screen and (max-width: 768px) {
	.kv .title {
		border-radius: 0 0 0 40px;
		width: 244px;
		height: 156px;
		padding-top: 15px;
		padding-left: 15px;
	}
	.kv .title .txt {
		font-size: min(1.3rem, 3.467vw);
		line-height: 8px;
		letter-spacing: 0.65px;
	}
	.kv .title .txt::before,
	.kv .title .txt::after {
		height: 14px;
		margin: 0 10px;
	}
	.kv .title h1 {
		font-size: min(2.9rem, 7.733vw);
		line-height: 34px;
		margin-top: 12px;
	}
	.kv .title h1 span {
		font-size: min(1.5rem, 4vw);
		line-height: 26px;
	}
}

/* ----------------------------------------------------
 lead
---------------------------------------------------- */
.lead {
	display: flex;
	max-width: 1100px;
	margin: 0 auto;
	font-family: var(--shippori);
	font-size: min(2.2rem, 1.611vw);
	font-weight: 400;
	line-height: 60px;
}

@media screen and (max-width: 768px) {
	.lead {
		font-size: min(1.6rem, 4.267vw);
		font-weight: 400;
		line-height: 36px;
		letter-spacing: 0.48px;
		padding: 0 20px;
	}

}

/* ----------------------------------------------------
 profile
---------------------------------------------------- */
.profile {
	display: flex;
	max-width: 1100px;
	margin: 110px auto 0;
	border-radius: 90px 0 0 0;
	background: rgba(129, 109, 59, 0.2);
	overflow: hidden;
}

.profile .area_text {
	width: 600px;
	padding: 90px 50px 90px 80px;
	box-sizing: border-box;
}

.profile .area_text h4 {
	margin: 0 0 35px;
	font-family: var(--shippori);
	font-size: min(2.3rem, 1.684vw);
	font-weight: 600;
	line-height: 50px;
	letter-spacing: 2.3px;
}

.profile .area_text h3 {
	margin: 0 0 45px;
	font-family: var(--shippori);
	font-size: min(3.5rem, 2.562vw);
	font-weight: 600;
	line-height: 50px;
}

.profile .area_text h3 span {
	display: inline-block;
	font-family: var(--gothic);
	font-size: min(1.9rem, 1.391vw);
	font-weight: 500;
	line-height: 30px;
}

.profile .area_text ruby {
	ruby-position: over;
}

.profile .area_text rt {
	font-size: min(1.1rem, 0.805vw);
	font-weight: 600;
	line-height: 50px;
	text-align: center;
	padding-left: 10px;
}

.profile .area_text rt:nth-of-type(1) {
	padding-left: 0;
}

.profile .area_text .txt {
	margin: 0;
	font-size: min(1.5rem, 1.098vw);
	font-weight: 500;
	line-height: 30px;
}

.profile .img {
	width: 500px;
	position: relative;
	flex-shrink: 0;
}

.profile .img figure {
	margin: 0;
	height: 100%;
}

.profile .img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.profile .img figcaption {
	position: absolute;
	right: 12px;
	bottom: 5px;
	color: #fff;
	font-size: min(1.3rem, 0.952vw);
	font-weight: 500;
	line-height: 1.4;
}

/* --- profile animation --- */
.profile.js-profile-curtain {
	position: relative;
	overflow: hidden;
}

/* 幕 */
.profile.js-profile-curtain::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("../img/bg-animation.webp") center / cover no-repeat;
	transform: translateX(0);
	z-index: 100;
	transition: transform 3s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 開く（左へスライドして消える） */
.profile.is-show::before {
	transform: translateX(100%);
}

.profile .area_text,
.profile .img {
	position: relative;
	z-index: 1;
}

.profile .js-curtain-item {
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity 0.5s ease,
		transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.profile.is-show .js-curtain-item.is-show {
	opacity: 1;
	transform: translateY(0);
}

@media screen and (max-width: 768px) {
	.profile {
		display: block;
		margin: 30px 20px 0;
		border-radius: 40px 0 0 0;
	}
	.profile .area_text {
		width: 100%;
		padding: 22px 25px;
	}

	.profile .area_text h4 {
		margin: 0 0 5px;
		font-size: min(1.8rem, 4.8vw);
		letter-spacing: 1.8px;
	}
	.profile .area_text h3 {
		margin: 0 0 20px;
		font-family: var(--shippori);
		font-size: min(2.5rem, 6.667vw);
		line-height: 25px;
		letter-spacing: 0;
	}
	.profile .area_text h3 span {
		font-size: min(1.6rem, 4.267vw);
	}
	.profile .area_text rt {
		font-size: min(0.8rem, 2.133vw);
		line-height: 10px;
		padding-left: 5px;
	}
	.profile .area_text .txt {
		font-size: min(1.4rem, 3.733vw);
		font-weight: 500;
		line-height: 24px;
	}
	.profile .img {
		width: 100%;
	}
	.profile .img figcaption {
		font-size: min(1.3rem, 3.467vw);
		line-height: 23px;
	}
	.profile.js-profile-curtain::before {
		background: url("../img/bg-animation_sp.webp") center / cover no-repeat;
	}
}


/* ----------------------------------------------------
 hotels
---------------------------------------------------- */
.hotels {
	margin-top: 180px;
	position: relative;
}

.hotels h2 {
	max-width: 1100px;
	margin: 0 auto;
	font-family: var(--garamond);
	font-size: min(11.1rem, 8.126vw);
	font-weight: 400;
	line-height: 75px;
}

.hotels h2 span {
	display: flex;
	align-items: center;
	font-family: var(--shippori);
	font-size: min(1.8rem, 1.318vw);
	font-weight: 600;
	line-height: 50px;
	letter-spacing: 1.8px;	
}

.hotels h2 span::before {
	content: '';
	display: inline-block;
	width: 59px;
	height: 0.5px;
	background: #000;
	margin-top: 4px;
	margin-right: 13px;
}

/* 判定用 */
.hotels-nav-sentinel {
	height: 1px;
}

.hotels-nav-placeholder {
	height: 0;
}

/* nav本体 */
.hotels nav {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 30px;
	position: relative;
	z-index: 100;
	width: 100%;
	transition: background 0.35s ease, box-shadow 0.35s ease;
}

/* カード */
.hotels nav a {
	width: 33.3333%;
	height: 661px;
	color: #fff;
	border-radius: 0 150px 0 0;
	position: relative;
	overflow: hidden;
	padding: 53px 31px 0;
	transition:
		height 0.35s ease,
		padding 0.35s ease,
		border-radius 0.35s ease;
}

.hotels nav a:hover {
	opacity: 1;
}

.hotels nav a::before {
	content: "";
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
	will-change: transform;
	transform: translateZ(0);
	width: 105%;
}

.hotels nav a:nth-of-type(1)::before {
	background-image: url(../img/nav-img01.webp);
}
.hotels nav a:nth-of-type(2)::before {
	background-image: url(../img/nav-img02.webp);
}
.hotels nav a:nth-of-type(3)::before {
	background-image: url(../img/nav-img03.webp);
}

.hotels nav a:hover::before {
	transform: scale(1.1);
}

/* txt */
.hotels nav a .txt {
	display: flex;
	align-items: center;
	font-family: var(--garamond);
	font-size: min(3rem, 2.196vw);
	font-weight: 400;
	line-height: 57px;
	position: relative;
	z-index: 1;
	transition: font-size 0.35s ease, line-height 0.35s ease;
}

.hotels nav a .txt::before {
	content: '';
	display: inline-block;
	width: 37px;
	height: 0.5px;
	background: #fff;
	margin-right: 11px;
	transition: width 0.35s ease, margin-right 0.35s ease;
}

.hotels nav a .txt span {
	font-size: min(4.5rem, 3.294vw);
	font-style: italic;
	transition: font-size 0.35s ease;
}

/* h3 */
.hotels nav a h3 {
	font-family: var(--shippori);
	font-size: min(4.3rem, 3.148vw);
	font-weight: 600;
	line-height: 60px;
	letter-spacing: 2.15px;
	position: relative;
	z-index: 1;
	transition:
		font-size 0.35s ease,
		line-height 0.35s ease,
		letter-spacing 0.35s ease,
		margin-top 0.35s ease;
}

.hotels nav a h3 span {
	display: block;
}

/* 追従時 */
.hotels nav.is-fixed {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	margin-top: 0;
	z-index: 1000;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.hotels nav.is-fixed a {
	height: 88px;
	padding: 18px 24px 0;
	border-radius: 0 50px 0 0;
}

.hotels nav.is-fixed a .txt {
	font-size: min(1.8rem, 1.318vw);
	line-height: 1.2;
}

.hotels nav.is-fixed a .txt::before {
	width: 24px;
	margin-right: 8px;
}

.hotels nav.is-fixed a .txt span {
	font-size: min(2.4rem, 1.757vw);
}

.hotels nav.is-fixed a h3 {
	font-size: min(1.6rem, 1.171vw);
	line-height: 1.4;
	letter-spacing: 1.6px;
	margin-top: 2px;
}

.hotels nav.is-fixed a h3 span {
	display: inline;
}

@media screen and (max-width: 768px) {
	.hotels {
		margin-top: 97px;
	}
	.hotels h2 {
		font-size: min(6rem, 16vw);
		padding: 0 20px;
		line-height: 55px;
	}
	.hotels h2 span {
		font-size: min(1.6rem, 4.267vw);
		letter-spacing: 1.6px;	
	}
	.hotels nav {
		display: block;
	}
	.hotels nav a {
		display: block;
		width: 100%;
		height: 200px;
		border-radius: 0 80px 0 0;
		margin-bottom: 5px;
		padding: 40px 25px 0;
	}
	.hotels nav a .txt {
		font-size: min(2.5rem, 6.667vw);
		line-height: 25px;
	}
	.hotels nav a .txt span {
		font-size: min(3.5rem, 9.333vw);
	}
	.hotels nav a h3 {
		font-size: min(3rem, 8vw);
		line-height: 45px;
		letter-spacing: 1.5px;
		margin-top: 10px;
	}
}


/* ----------------------------------------------------
 hotels-contents
---------------------------------------------------- */
.area-hotels-contents {
	position: relative;
}

.area-hotels-contents::before {
	content: '';
	background: rgba(129, 109, 59, 0.2);
	border-radius: 0 100px 0 0;
	display: block;
	width: 100%;
	height: 924px;
	position: absolute;
	top: 750px;
	left: 550px;
	transform: translate(-50%, -50%);
}

.area-hotels-contents .hotels-contents {
	position: relative;
	max-width: 1366px;
	margin: 0 auto;
	padding: 255px 0 120px;
	z-index: 10;
}

.area-hotels-contents .hotels-contents h3 {
	position: relative;
	z-index: 2;
	max-width: 1240px;
	margin-left: auto;
	font-family: var(--shippori);
	font-size: min(5.2rem, 3.807vw);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 5.2px;
}

.area-hotels-contents .hotels-contents .contents {
	display: flex;
	justify-content: space-between;
	max-width: 1233px;
	margin-top: 70px;
	margin-left: auto;
	align-items: start;
}

.area-hotels-contents .hotels-contents .contents .box {
	width: 30%;
}

.area-hotels-contents .hotels-contents .contents .hotels-slider {
	width: 64%;
}

.area-hotels-contents .hotels-contents .contents .area-text .txt {
	margin: 0;
	font-size: min(1.5rem, 1.098vw);
	font-weight: 500;
	line-height: 30px;
}

.area-hotels-contents .hotels-contents .contents .area-button {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-top: 40px;
}

.area-hotels-contents .hotels-contents .contents .area-button a {
	display: flex;
	align-items: center;
	width: 230px;
	height: 50px;
	border: 1px solid #4C4B4B;
	margin-top: 30px;
	padding-left: 17px;
	color: #4C4B4B;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 400;
	line-height: 39px;
	position: relative;
	transition: background 0.5s ease, color 0.5s ease, transform 0.5s ease;
	box-sizing: border-box;
}

.area-hotels-contents .hotels-contents .contents .area-button a:first-child {
	margin-top: 0;
}

.area-hotels-contents .hotels-contents .contents .area-button a::before {
	content: '';
	background: url(../img/arrow-gray.svg) no-repeat center / 100%;
	display: block;
	width: 14.142px;
	height: 14.142px;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translate(-50%, -50%);
}

.area-hotels-contents .hotels-contents .contents .area-button a:hover {
	opacity: 1;
}

.area-hotels-contents .hotels-contents .contents .area-button a.map:hover {
	background: #B8B8B8;
	border: 1px solid #B8B8B8;
}

.area-hotels-contents .hotels-contents .contents .area-button a.reservation {
	background: #4C4B4B;
	color: #fff;
}

.area-hotels-contents .hotels-contents .contents .area-button a.tour {
	background: #8A770D;
	color: #fff;
	border: 1px solid #8A770D;
}

.area-hotels-contents .hotels-contents .contents .area-button a.reservation::before,
.area-hotels-contents .hotels-contents .contents .area-button a.tour::before {
	background: url(../img/arrow-white.svg) no-repeat center / 100%;
}

.area-hotels-contents .hotels-contents .contents .area-button a.reservation:hover {
	background: rgba(0, 0, 0, 0);
	color: #4C4B4B;
}

.area-hotels-contents .hotels-contents .contents .area-button a.reservation:hover::before {
	background: url(../img/arrow-gray.svg) no-repeat center / 100%;
}

.area-hotels-contents .hotels-contents .contents .area-button a.tour:hover {
	background: rgba(0, 0, 0, 0);
	color: #8A770D;
}

.area-hotels-contents .hotels-contents .contents .area-button a.tour:hover::before {
	background: url(../img/arrow-tour.svg) no-repeat center / 100%;
}

.area-hotels-contents .hotels-contents .movie {
	max-width: 850px;
	width: 100%;
	margin: 70px auto 0;
}

.area-hotels-contents .hotels-contents .movie iframe {
	width: 100%;
	height: 478px;
}

@media screen and (max-width: 768px) {
	.area-hotels-contents::before {
		width: 100%;
		height: 300vw;
		top: 170px;
		left: -20px;
		transform: none;
	}
	.area-hotels-contents .hotels-contents {
		padding: 100px 0 0;
	}
	.area-hotels-contents .hotels-contents h3 {
		font-size: min(3.8rem, 10.133vw);
		line-height: 50px;
		letter-spacing: 3.8px;
		padding: 0 20px;
	}
	.area-hotels-contents .hotels-contents .contents {
		display: flex;
		flex-wrap: wrap;
		margin-top: 40px;
	}
	.area-hotels-contents .hotels-contents .contents .box {
		display: contents;
	}
	.area-hotels-contents .hotels-contents .contents .area-text .txt {
		width: 90%;
		font-size: min(1.4rem, 3.733vw);
		line-height: 24px;
		padding: 0 20px;
	}
	.area-hotels-contents .hotels-contents .contents .area-button {
		width: 100%;
		order: 3;
		margin-top: 20px;
		padding: 0 20px;
	}
	.area-hotels-contents .hotels-contents .contents .hotels-slider {
		width: 95%;
		order: 2;
		margin-top: 30px;
		margin-left: auto;
	}
	.area-hotels-contents .hotels-contents .contents .area-button a {
		font-size: min(1.4rem, 3.733vw);
	}
	.area-hotels-contents .hotels-contents .movie {
		width: 90%;
		margin-top: 50px;
		margin: 50px 0 0;
		padding-left: 20px;
	}
	.area-hotels-contents .hotels-contents .movie iframe {
		height: 182px;
	}
}

/* ----------------------------------------------------
 profile-B
---------------------------------------------------- */
.profile-B {
	background: #fff;
	max-width: 1100px;
	margin: 0 auto;
	padding: 84px 95px;
	display: flex;
	justify-content: space-between;
}

.profile-B h4 {
	font-family: var(--shippori);
	font-size: min(2.3rem, 1.684vw);
	font-weight: 600;
	line-height: 50px;
	letter-spacing: 2.3px;
}

.profile-B h3 {
	font-family: var(--shippori);
	font-size: min(3.5rem, 2.562vw);
	font-weight: 600;
	line-height: 50px;
	letter-spacing: 3.5px;
	margin-top: 20px;
}

.profile-B .area_text {
	margin-right: 62px;
}

.profile-B .txt {
	font-size: min(1.5rem, 1.098vw);
	font-weight: 500;
	line-height: 30px;
	margin-top: 27px;
	margin-bottom: 0;
}

.profile-B .txtB {
	font-size: min(1.3rem, 0.952vw);
	font-weight: 500;
	line-height: 23px;
	margin-top: 20px;
}

.profile-B .txtB span {
	display: block;
	font-family: var(--garamond);
	font-size: min(2.2rem, 1.611vw);
	font-weight: 400;
	line-height: 38px;
}

.profile-B .img {
	width: 236px;
	height: 293px;
	position: relative;
	flex-shrink: 0;
}

.profile-B .img figure {
	margin: 0;
	height: 100%;
}

.profile-B .img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.profile-B .img figcaption {
	position: absolute;
	right: 12px;
	bottom: 5px;
	color: #fff;
	font-size: min(1.3rem, 0.952vw);
	font-weight: 500;
	line-height: 23px;
}

@media screen and (max-width: 768px) {
	.profile-B {
		display: block;
		margin: 100px 20px 0;
		padding: 17px 25px 60px;
	}
	.profile-B h4 {
		font-size: min(1.8rem, 4.8vw);
		font-weight: 600;
		line-height: 50px;
		letter-spacing: 1.8px;
	}
	.profile-B h3 {
		font-size: min(2.5rem, 6.667vw);
		font-weight: 600;
		line-height: 50px;
		letter-spacing: 2.5px;
		margin-top: 0;
	}
	.profile-B .area_text {
		margin-right: 0;
	}
	.profile-B .txt {
		font-size: min(1.4rem, 3.733vw);
		font-weight: 500;
		line-height: 24px;
	}
	.profile-B .txtB {
		font-size: min(1.3rem, 3.467vw);
		font-weight: 500;
		line-height: 23px;
	}
	.profile-B .txtB span {
		font-size: min(2.2rem, 5.867vw);
		font-weight: 400;
		line-height: 38px;
	}
	.profile-B .img {
		width: 100%;
		height: auto;
		margin-top: 24px;
	}
	.profile-B .img figcaption {
		font-size: min(1.3rem, 3.467vw);
	}
}


/* ----------------------------------------------------
 footer
---------------------------------------------------- */
footer {
	background: #816D3B;
	padding-top: 60px;
}

/* footer-project */
.footer-project {
	background: #fff;
	max-width: 1100px;
	margin: 0 auto;
	padding: 27px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer-project img {
	width: 282px;
}

.footer-project .txt {
	font-size: min(1.5rem, 1.098vw);
	font-weight: 500;
	line-height: 30px;
	margin-left: 25px;
}

/*-- area-note --*/
.area-note {
	max-width: 1060px;
	margin: 0 auto;
	padding: 37px 0 10px;
}

.area-note .note {
	color: #fff;
	font-size: min(1.3rem, 0.952vw);
	font-weight: 400;
	line-height: 21px;
	padding-left: 1em;
	text-indent: -1em;
}
.area-note .note::before {
	content: '※';
}

/*-- hotellink --*/
.hotellink {
	text-align: center;
	padding: 34px 0 25px;
}

.hotellink a {
	display: inline-block;
	color: #F9F3EB;
	text-align: center;
	font-family: var(--zenkakugothic);
	font-size: min(1.8rem, 1.318vw);
	font-weight: 500;
	line-height: 44px;
}
.hotellink a::before,
.hotellink a::after {
	content: '｜';
	padding: 0 10px;
}

.hotellink .copy {
	color: #F9F3EB;
	text-align: center;
	font-family: var(--zenkakugothic);
	font-size: min(1rem, 0.732vw);
	font-weight: 500;
	line-height: 44px;
}

@media screen and (max-width: 768px) {
	.footer-project {
		margin: 0 20px;
		padding: 28px 0;
		display: block;
	}
	.footer-project img {
		display: block;
		width: 70%;
		margin: 0 auto;
	}
	.footer-project .txt {
		font-size: min(1.3rem, 3.467vw);
		line-height: 23px;
		margin-left: 0;
		padding: 20px 10px 0;
	}
	.area-note {
		padding: 30px 20px 20px;
	}
	.area-note .note {
		font-size: min(1.2rem, 3.2vw);
	}
	.hotellink {
		padding: 20px 0 15px;
	}
	.hotellink a {
		font-size: min(1.6rem, 4.267vw);
	}
	.hotellink .copy {
		font-size: min(1rem, 2.667vw);
		letter-spacing: 0;
	}
}

/* ----------------------------------------------------
 アンカーリンク調整
---------------------------------------------------- */
section[id] {
	scroll-margin-top: 140px;
}

@media screen and (max-width: 768px) {
	section[id] {
		scroll-margin-top: 30px;
	}
}

.menu100_slide,
.architecture_slide,
.gourmet_slide,
.history_slide,
.event_slide,
.conceptroom_slide {
	scroll-margin-top: 140px;
}

@media screen and (max-width: 768px) {
	.menu100_slide,
	.architecture_slide,
	.gourmet_slide,
	.history_slide,
	.event_slide,
	.conceptroom_slide {
		scroll-margin-top: 30px;
	}
}

/* --------------------------------
 上からワイプ（背景依存なし）
-------------------------------- */
.wipe-text {
	clip-path: inset(0 0 100% 0);
	transition: clip-path 2s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: 0.3s;
}

.wipe-text.is-show {
	clip-path: inset(0 0 0 0);
}