/* CSS Document */
/* --- Header --- */
.l-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}
.l-header__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 0; /* ロゴ画像自体に余白があるなら0、なければ調整 */
}
.l-header__logo {
	width: 20%;
}
.l-header__logo img {
	width: 100%;
	height: auto;
}
.l-header__right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin-right: 3%;
	margin-top: 2%;
}
.l-header__name {
	font-family: var(--font-jp);
	font-size: 1.4vw;
	font-weight: normal;
	color: var(--main-color);
	margin: 0;
}
.l-header__sns {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 1vw;
	width: 14%;
	padding: 0;
	margin: 16% 0 0 0;
}
.l-header__sns img {
	/*width: 24px;*/
	height: auto;
}
/********************************************************************************************/
/* --- Hero Section --- */
.p-hero {
	padding: 7% 8.5%;
	background-color: var(--back-color); /* 背景の薄いグレー */
}
.p-hero__inner {
	position: relative;
	width: 100%;
	margin: auto;
	overflow: hidden;
	aspect-ratio: 12/7;
}
.swiper {
	width: 100%;
	height: auto;
}
.swiper-slide img {
	/* 133KBなら読み込みが早いので、フェードの質を上げるために */
	width: 100%;
	height: auto;
	object-fit: cover;
	font-family: 'object-fit: cover;'; /* IE対策が必要な場合のみ */
	/* 読み込みまで一瞬ガタつかないように */
	aspect-ratio: 1800 / 1050; /* 画像の比率に合わせる */
	background-color: #112A45; /* 画像が出る前の下地色 */
}
/* テキストをスライダーの上に絶対配置 */
.p-hero__text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10; /* スライダーより上に来るように */
	text-align: center;
	pointer-events: none; /* テキストが下のリンク等の邪魔をしないように */
	color: white;
}
.p-hero__sub {
	font-family: var(--font-en);
	font-weight: 500;
	font-size: var(--fs37);
	margin-bottom: 10px;
	margin-top: 0;
}
.p-hero__main {
	font-family: var(--font-en);
	font-weight: 500;
	font-size: var(--fs64);
	letter-spacing: 0.05em;
}

@media (max-width: 768px) {
    /* 1. コンテナの設定（変更なし） */
    .p-hero__inner {
        aspect-ratio: 3 / 4;
        overflow: hidden;
        position: relative;
    }

    .p-hero .swiper-slide img {
        width: auto;
        height: 100%;
        max-width: none;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate3d(-50%, 0, 0);
        will-change: transform;
    }

    /* 2. 【ここを修正】アクティブなスライドと、その一つ前のスライド両方にアニメーションをかける */
    /* Swiperがループの際に付与するクラス（-active, -prev）を利用します */
    .p-hero .swiper-slide-active img,
    .p-hero .swiper-slide-duplicate-active img,
    .p-hero .swiper-slide-prev img {
        animation: panSmooth 12s linear forwards;
    }

    @keyframes panSmooth {
        0% {
            transform: translate3d(-55%, 0, 0);
        }
        100% {
            transform: translate3d(-45%, 0, 0);
        }
    }
}
/********************************************************************************************/
/* --- News Section --- */
.news-section {
	background-color: var(--back-color);
	color: var(--main-color);
	padding-bottom: 150px;
}
.news-inner {
	width: 90%;
	max-width: var(--max);
	margin: 0 auto;
}
/* ヘッダー：News + お知らせ + 記事一覧へ */
.news-header {
	display: flex;
	justify-content: space-between;
	align-items: center; /* 中央揃え */
	padding-bottom: 10px;
	margin-bottom: 50px;
}
.news-title-group {
	display: flex;
	align-items: baseline;
}
.news-title-en {
	font-family: "Times New Roman", serif; /* デザインに合わせたセリフ体 */
	font-size: var(--fs50);
	font-weight: 500;
	margin: 0 25px 0 0;
	line-height: 1;
}
.news-title-jp {
	font-size: var(--fs20);
	letter-spacing: 0.05em;
	color:#4d4d4d;
}
/* 右側の「/ 記事一覧へ >」部分 */
.news-link-wrap {
	display: flex;
	align-items: center;
}
/* 斜め線の再現 */
.news-link-wrap::before {
/*	content: "";
	width: 1px;
	height: 40px;
	background-color: #333;
	transform: rotate(25deg);
	margin-right: 20px;*/
}
.news-link-all {
	text-decoration: none;
	color: var(--main-color);
	font-size: var(--fs18);
	font-weight: bold;
	display: flex;
	align-items: center;
	transition: opacity 0.3s;
	padding: 0.75rem 0.5rem 0.5rem 3.5rem;
    background-repeat: no-repeat;
    width: 12rem;
	justify-content: space-between;
}
.news-link-all span{
	width:10%;
}
.news-link-all span img{
	display:block;
}
.news-link-all::after {
	/*content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 1px solid var(--main-color);
	border-right: 1px solid var(--main-color);
	transform: rotate(45deg);
	margin-left: 10px;*/
}
.news-link-all:hover {
	opacity: 0.6;
}
/* グリッドレイアウト */
.news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}
.news-item a {
	text-decoration: none;
	color: inherit;
	display: block;
}
.news-item-img {
	width: 100%;
	aspect-ratio: 345 / 235; /* デザイン比率 */
	background-color: #fff;
	margin-bottom: 15px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.news-item-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.3s;
}
.news-item:hover .news-item-img img {
	transform: scale(1.05);
}
.news-item-date {
	font-size: var(--fs18);
	font-family: var(--font-en);
	font-weight: 500;
	margin-bottom: 8px;
}
.news-item-title {
	font-size: var(--fs20);
	font-weight: 500;
	line-height: 1.6;
	margin: 0;
}
/* スマホ対応 */
@media (max-width: 768px) {
	.news-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.news-title-jp, .news-item-date, .news-item-title, .news-item-title, .news-link-all {
		font-size: var(--fs36);
	}
	.news-title-en {
		font-size: var(--fs80);
	}
	.news-header {
		flex-wrap: wrap;
		margin-bottom: 30px;
	}
	.news-link-wrap {
		margin-top: 50px;
		width: 100%;
		justify-content: flex-end;
	}
	.news-link-wrap-sp{display: flex!important;}
}
/********************************************************************************************/
/* --- セクション全体 --- */
.p-concept {
	position: relative;
	width: 100%;
}
/* --- 背景・ロゴ（全画面固定） --- */
.p-concept__visual {
	position: sticky; /* スクロールに合わせて固定開始 */
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh; /* ブラウザの高さぴったり */
	z-index: 1;
	overflow: hidden;
}
.p-concept__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.p-concept__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-concept__logo {
	position: absolute;
	top: 50%;
	left: 25%;
	transform: translate(-50%, -50%);
	width: 20vw;
	max-width: 364px;
	z-index: 2;
}
.p-concept__logo img {
	width: 100%;
	height: auto;
}
/* --- テキスト枠（1200px基準・右寄せ） --- */
.p-concept__inner {
	position: relative;
	z-index: 5; /* 画像より上に重ねる */
	margin-top: -100vh; /* 重要：画像の上にテキストを引っ張り上げる */
	width: 90%;
	max-width: var(--max);
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: flex-end; /* 右側に寄せる */
}
.p-concept__content {
	width: 48%; /* 1200pxの約半分 */
	padding: 50vh 0 60vh; /* スクロールさせるための巨大な余白 */
}
.p-concept__text-wrapper {
	h3, p {
		color: #fff;
	}
}
.p-concept__title {
	font-family: var(--font-jp2);
	/*font-family: var(--font-jp);*/
	font-size: var(--fs30);
	font-weight: 500;
	margin-bottom: 4rem;
	letter-spacing: 0.1em;
}
.p-concept__body {
	font-family: var(--font-jp);
	font-size: var(--fs16);
	line-height: 3;
	letter-spacing: 0.05em;
}
.p-concept__body p {
	margin-bottom: 3rem;
}
/********************************************************************************************/
/* --- 背景色統一 --- */
.l-beige-wrapper {
	background-color: var(--back-color);
	width: 100%;
	overflow: hidden;
}
/* --- Rooms Section --- */
.p-rooms {
	position: relative;
	padding: 5% 0;
}
/* 背景イラストの遅延フェード用 */
.p-rooms__back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 0;
	opacity: 0;
	transition: opacity 1.5s ease;
}
.p-rooms__back img {
	width: 100%;
	height: auto;
}
.p-rooms__inner {
	/*position: relative;*/
	z-index: 2;
	display: flex;
	justify-content: space-between;
	width: 90%;
	max-width: var(--max);
	margin: 0 auto;
}
.p-rooms__content {
	width: 42%;
}
.p-rooms__title {
	font-family: var(--font-en);
	font-size: var(--fs50);
	color: var(--main-color);
	margin-bottom: 25px;
}
.p-rooms__sub {
	font-family: var(--font-jp);
	font-size: var(--fs20);
	color: #4D4D4D;
	margin-left: 15px;
	font-weight: 400;
}
.p-rooms__lead {
	font-size: var(--fs30);
	/*color: var(--main-color);*/
	font-family: var(--font-jp2);
	line-height: 1.6;
	margin-bottom: 40px;
}
.p-rooms__type-label {
	font-family: var(--font-en);
	font-size: var(--fs24);
	/*color: var(--main-color);*/
	margin-bottom: 20px;
}
.p-rooms__type-list {
	list-style: none;
	padding: 0;
	border-top: 1px solid black;
    border-bottom: 1px solid black;
	padding: 5%;
	width: fit-content;
}
.p-rooms__type-list li {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}

.p-rooms__type-list li:last-of-type {
	margin-bottom:0;
}

.p-rooms__type-list .name {
	font-size: var(--fs20);
	width: 5rem;
}
.p-rooms__type-list .line {
	height: 1px;
	background-color: #ccc;
	margin: 0 15px;
	width: 50px;
}
.p-rooms__type-list .detail {
	font-size: var(--fs16);
	text-align: right;
	line-height: 1.5;
}
.p-rooms__note {
	font-size: var(--fs16);
	color: #1A1A1A;
	margin-top: 25px;
}
/* --- スライダー --- */
.p-rooms__slider-wrapper {
	width: 55vw;
	position: absolute;
	right: 0;
	z-index: 2;
}
.roomSwiper img {
	width: 100%;
	height: auto;
}
.p-rooms__nav {
	display: flex;
	justify-content: flex-end;
	gap: 20px;
	position: absolute;
	bottom: 2%;
	left: 2%;
}
.p-rooms__nav .swiper-button-prev, .p-rooms__nav .swiper-button-next {
	position: static;
	color: white;
	width: 30px;
	height: 30px;
}
.p-rooms__nav .swiper-button-prev::after, .p-rooms__nav .swiper-button-next::after {
	font-size: var(--fs20);
}
/* --- Features Section --- */
.p-features {
    /*padding: 5% 0;*/
    margin: 10% auto;
}
.p-features__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 1200px;
	margin: 0 auto;
	width: 90%;
}
/* 左側：画像エリア */
.p-features__visual {
	width: 50%;
	position: relative;
}
.p-features__img-main img {
	width: 527px;
	height: auto;
}
.p-features__img-sub {
	position: absolute;
	bottom: -130px;
	right: -30px;
	width: 300px;
	z-index: 2;
}
.p-features__img-sub img {
	width: 100%;
}
/* 右側：テキストエリア */
.p-features__content {
	width: 50%;
	position: relative;
	margin-top: 30px;
}
/* 「Features」を右上に浮かせる */
.p-features__en-title {
	/*	font-family: var(--font-en);
	font-size: var(--fs30);
	color: var(--main-color2);
	text-align: right;
	margin-bottom: -15px;
	position: relative;
	
    z-index: 2;
    width: fit-content;
    right: 0;
    position: absolute;
    top: -30%;
    background-color: white;
    padding: 3% 5% 3% 10%;*/
	font-family: var(--font-en);
	font-size: var(--fs30);
	color: var(--main-color2);
	text-align: right;
	width: fit-content;
	position: absolute;
	top: -65px;
	right: 0;
	z-index: 2;
	background-color: white;
	padding: 10px 40px 10px 80px;
	clip-path: polygon(40px 0%, 100% 0%, 100% 100%, 0% 100%);
}
/* 白い箱 */
.p-features__white-box {
	background: #fff;
	padding: 10%;
	position: relative;
	z-index: 1;
}
.p-features__box-title {
	font-size: var(--fs30);
	font-family: var(--font-jp2);
	margin-bottom: 10px;
	padding-bottom: 5px;
	font-weight: bold;
	border-bottom: 1px solid #111;
}
.p-features__box-lead {
	font-size: var(--fs22);
	font-family: var(--font-jp2);
	margin: 25px auto;
}
.p-features__box-body {
	font-size: var(--fs16);
	line-height: 2;
}
/* --- アニメーション共通 --- */
.js-fade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1s ease, transform 1s ease;
}
.js-fade.is-show {
	opacity: 1;
	transform: translateY(0);
}
.js-fade-delay.is-show {
	opacity: 1; /* 背景イラスト用 */
}
/*******************************************************************************/
/* --- Access --- */
.p-access {
	padding: 100px 0;
	text-align: center;
	background-color: var(--back-color);
}
.p-access__inner {
	width: 90%;
	max-width: var(--max);
	margin: 0 auto;
}
.p-access__title {
	font-family: var(--font-en);
	font-size: var(--fs34);
	color: var(--main-color);
}
.p-access__sub {
	display: block;
	font-family: var(--font-jp);
	font-size: var(--fs20);
	color: #4D4D4D;
	font-weight: 400;
	margin-top: 10px;
}
.p-access__map {
	width: 100%;
	aspect-ratio: 16 / 7;
	margin: 40px 0;
}
.p-access__map iframe {
	width: 100%;
	height: 100%;
	border: none;
}
.p-access__address {
	font-size: var(--fs24);
	margin-bottom: 10px;
	font-family: var(--font-jp2);
}
.p-access__address span{display:inline-block;}
.p-access__walk, .p-access__link {
	font-size: var(--fs16);
	color: #333;
}
.p-access__link{
	width: 113px;
    display: block;
	margin: 30px auto auto;
}
/* --- Sightseeing --- */
.p-sightseeing {
	padding: 5% 0 10%;
	overflow: hidden; /* 右側の突き抜けによる横スクロールを防止 */
	background-color: var(--back-color); /* セクション背景はベージュ */
}
.p-sightseeing__inner {
	/* 【鬼畜仕様の計算式】Mapの左余白と一致させ、右端まで伸ばす */
	margin-left: calc(50% - min(45%, 600px));
	background-color: white;
	padding: 80px 0; /* 上下の余白 */
}
.p-sightseeing-content-region {
	display: flex;
	gap: 60px;
	/* コンテンツ自体の幅をMapの幅（最大1200px）に合わせる */
	width: min(100%, 1200px);
	padding-left: 4%; /* 見出し横の微調整 */
}
.p-sightseeing__head {
	writing-mode: vertical-rl;
	color: var(--main-color);
	flex-shrink: 0;
	display: flex;
	flex-direction: row;
}
.p-sightseeing__title {
	font-family: var(--font-en);
	font-size: var(--fs34);
	letter-spacing: 0.01em;
	color: var(--main-color2);
	line-height: 1.7;
}
.p-sightseeing__sub {
	font-family: var(--font-jp);
	font-size: var(--fs20);
	margin-top: 15px;
}
.p-sightseeing__list {
	display: flex;
	justify-content: space-between;
	flex: 1;
	list-style: none;
	padding: 0;
	margin: 0;
}
.p-sightseeing__item {
	width: 31%;
}
.p-sightseeing__item img {
	width: 100%;
	height: auto;
	aspect-ratio:unset;
}
.p-sightseeing__name {
	font-family: var(--font-jp2);
	font-size: var(--fs20);
	font-weight: 500;
	margin: 20px 0 10px;
}
.p-sightseeing__name, .p-sightseeing__dist {
	text-align: center;
}
.p-sightseeing__dist, .p-sightseeing__text {
	font-family: var(--font-jp);
	font-size: var(--fs16);
	line-height: 1.8;
	color: black;
}
.p-sightseeing__dist {
	border-bottom: 1px solid black;
	margin-bottom: 1em;
}
/* スマホ対応（必要に応じて） */
@media (max-width: 768px) {
	.p-sightseeing__inner {
		margin-left: 5%; /* スマホ時は単純な余白に切り替え */
	}
	.p-sightseeing-content-region {
		flex-direction: column;
		padding-right: 5%;
		gap: 0;
	}
	.p-sightseeing__head {
		writing-mode: horizontal-tb;
		/*margin-bottom: 30px;*/
		flex-wrap: wrap;
	}
	.p-sightseeing__list {
		/*flex-direction: column;*/
		gap: 40px;
	}
	.p-sightseeing__item {
		width: 100%;
	}
}
/* --- Footer --- */
.l-footer {
	background-color: #282828;
	color: #fff;
	padding: 60px 0 30px;
}
.l-footer__inner {
	width: 90%;
	max-width: var(--max);
	margin: 0 auto;
}
/* 上段レイアウト */
.l-footer__top {
	display: flex;
	align-items: flex-end;
	gap: 40px;
	margin-bottom: 25px;
}
.l-footer__logo {
	width: 220px;
}
.l-footer__logo img {
	width: 100%;
}
.l-footer__hotel-group {
	display: flex;
	align-items: flex-end;
	gap: 30px;
}
.l-footer__hotel-group, .l-footer__nav, .l-footer__bottom {
	width: 75%;
	margin: auto 0 auto auto;
}
.l-footer__hotel-name {
	font-size: var(--fs24);
	font-weight: 500;
	margin-bottom: 5px;
}
.l-footer__address {
	font-size: var(--fs16);
	/*color: #bbb;*/
}
.l-footer__check-info {
	display: flex;
	align-items: center;
	gap: 20px;
}
.l-footer__check-info .slash,
.l-footer__check-info-sp .slash{
	aspect-ratio:45/115;
	width: 30px;
    height: -webkit-fill-available;
    background-size: 100% 70%;
    background-position: center;
    background-repeat: no-repeat;
}
.l-footer__times {
	font-size: var(--fs16);
	line-height: 1.4;
	white-space: nowrap;
}
/* ナビゲーション */
.l-footer__nav {
	/*border-top: 1px solid #444;*/
	padding: 25px 0;
	margin: auto 0 30px auto;
}
.l-footer__nav-list {
	display: flex;
	gap: 30px;
	padding: 0;
	list-style: none;
	justify-content: flex-start;
}
.l-footer__nav-list a {
	color: #fff;
	text-decoration: none;
	font-size: var(--fs16);
}
/* 下段：規約ボタン（斜めライン装飾） */
.l-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
}
.l-footer__policies {
	display: flex;
	gap: 20px;
}
.l-footer__policy-btn {
	position: relative;
	display: flex;
	justify-content: space-between;
	background-repeat: no-repeat;
	column-gap: 30px;
	padding: 15px 5px 10px 50px;
	color: #fff;
	text-decoration: none;
	font-size: var(--fs16);
	/*border-bottom: 1px solid #666;*/
}
/* 左側の斜め線 */
.l-footer__policy-btn::before {
	/*content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 1px;
	height: 30px;
	background: #fff;
	transform: rotate(25deg);
	transform-origin: bottom left;*/
}
/* 右側の矢印 */
.l-footer__policy-btn img {
	width: 10px;
	vertical-align: baseline;
	margin: 0;
    height: 65%;
    margin: auto;
	/*content: "＞";
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	font-size: var(--fs16);*/
	/*color: white;*/
}
.l-footer__copyright {
	font-size: var(--fs14);
	/*color: #666;*/
	width: 100%;
	text-align: right;
	margin-top: 30px;
}
/* スマホ対応 */
@media (max-width: 768px) {
	.l-footer__top {
		flex-direction: column;
		align-items: flex-start;
	}
	.l-footer__hotel-group {
		flex-direction: column;
		align-items: flex-start;
		gap: 15px;
	}
	.l-footer__check-info .slash {
		/*display: none;*/
	}
	.l-footer__nav-list {
		flex-wrap: wrap;
		gap: 15px;
	}
	.l-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 30px;
	}
	.l-footer__policies {
		flex-direction: column;
		width: 100%;
	}
	/*↓スマホ版で非表示をここに集約↓*/
	.l-header__sns {
		display: none;
	}
	/*↑スマホ版で非表示をここに集約↑*/
	.p-hero__inner {
		aspect-ratio: 707/1070;
	}
	.p-hero .swiper-slide img, .p-hero .swiper {
		height: 100%;
	}
	.l-header__logo {
		width: 45%;
	}
	.p-hero {
		padding: 16.5% 5% 15%;
	}
	.l-header__right {
		margin-top: 5%;
	}
	.l-header__name {
		font-size: 4vw;
	}
	.p-hero__text {
		white-space: nowrap;
	}
	.p-rooms__inner {
		display: block;
	}
	.p-rooms__content, .p-rooms__slider-wrapper {
		width: 100vw;
		right: 5vw;
	}
	.p-rooms__slider-wrapper {
		position: relative;
	}
	.p-rooms .swiper-slide img {
		aspect-ratio: 627/369;
		height: auto;
	}
	.p-rooms .swiper {
		height: fit-content;
	}
	.p-rooms__back {
		left: -10%;
		width: 180%;
	}
	.p-rooms {
		padding: 50px 0;
	}
	.p-features {
		padding: 0 0 50px;
	}
	.p-features__inner {
		flex-direction: column-reverse;
	}
	.p-features__content, .p-features__visual {
		width: 100%;
	}
	.p-features__content {
		margin-bottom: 30px;
	}
	.p-features__img-main {
		width: 90%;
	}
	.p-features__img-sub {
		width: 45%;
		bottom: -30%;
		right: 0;
	}
	.p-access__title {
		font-size: var(--fs60);
		display: flex;
		align-items: baseline;
	}
	.p-access__sub {
		font-size: var(--fs36);
		margin: 0 auto 0 5%;
	}
	.p-access__map {
		aspect-ratio: 707 / 722;
	}
	.p-sightseeing__inner{padding: 40px 0;}
	.p-sightseeing__title {
		font-size: var(--fs50);
	}
	.p-sightseeing__sub {
		font-size: var(--fs30);
		margin-left: 5%;
		margin-bottom: 0;
	}
	.p-sightseeing-content-region{
		padding-left:5%;
	}
	.l-footer__hotel-group, .l-footer__nav, .l-footer__bottom {
		width: 100%;
	}
	.l-footer__nav-list {
		display: block;
		margin-bottom: 30px;
	}
	.l-footer__top{
		margin-bottom:0;
		display: block;
		position: relative;
	}
	.l-footer__nav-list a {
		font-size:var(--fs30);
		line-height: 2;
	}
	.l-footer__copyright {
		font-size: var(--fs28);
	}
	.l-footer__logo ,.l-footer__check-info-sp{
		width: 49%;
		display: inline-block !important;
		vertical-align: -webkit-baseline-middle;
	}
	
	.l-footer__check-info-sp{position:relative;}
	@supports (-webkit-touch-callout: none) {
		.slash{display: none;}
	}
	.l-footer__check-info-sp{
	-webkit-appearance: none; /* iOS標準ボタンスタイルをリセット */
	appearance: none;
	}
	.l-footer__check-info-sp .slash{
		position:absolute;left: 5%;
		background-size:100% 90%;
	}
	.l-footer__times p{
		text-align: right;
	}
	.l-footer__times {
		line-height: 0;
		display: flex;
		flex-direction: column;
	}
	.slash{
		/*position: absolute;
		font-size: 11vw;
		font-weight: 100;
		top: 18%;
		left: 55%;
		transform: translate(-50%, -50%);*/
	}
	.l-footer__hotel-name {
		font-size:var(--fs48);
		margin-top:20px;
	}
	.l-footer__hotel-main span{display:inline-block;}
	.l-footer__address {
		font-size: var(--fs32);
		font-weight: 100;
	}
	.l-footer__nav {margin: auto;padding: 0;}
	.l-footer__policies {
		column-gap: 5px;
	}
	.p-sightseeing {
		padding: 50px 0;
	}
	.p-access {
		padding: 50px 0 0;
	}
	.p-features {
		margin: 20px auto 0px;
	}
	.news-section {
		padding-bottom: 100px;
	}
	.p-rooms__title{
		font-size:var(--fs80);
	}
	.p-features__en-title{
		font-size:var(--fs40);
	}
	.p-sightseeing__name,.p-access__link,.p-rooms__sub,.p-concept__title{
		font-size:var(--fs36);
	}
	.p-access__address{
		font-size:var(--fs32);
	}
	.p-features__box-title,.p-sightseeing__dist,.p-access__walk,.l-footer__policy-btn,.p-rooms__type-label {
		font-size:var(--fs30);
	}
	.l-footer__times,.p-features__box-lead{
		font-size:var(--fs28);
	}
	.p-features__box-body,.p-sightseeing__text{
		font-size:var(--fs20);
	}
	.p-features__box-body{line-height: 1.5;}
	.p-sightseeing__name{
		margin-bottom:0;
	}
	.p-sightseeing__dist{
		margin-top:0;
	}
	.p-concept__logo {
		width: 80%;
		position: relative;
		margin: 20% auto 10%;
		max-width: unset;
		top: unset;
		left: unset;
		transform: unset;
	}
	.p-concept__visual {
		position: relative;
		height: auto;
	}
	.p-concept__inner {
		margin-top: 0;
		flex-direction: column;
	}
	.p-concept__content {
		width: 100%;
		padding: 50px 0;
	}
	#concept {background-size:100% 100%;}
	.p-concept__body p {
		letter-spacing: 0.01rem;
		line-height: 1.75;
	}
	.l-footer__policy-btn{
		/*padding:0 0 0 10%;*/
	}
	.news-link-all{width:14rem;}
	.p-rooms__type-list{width:90%;}
	.p-rooms__type-list li {
		justify-content: space-between;
	}
	.p-rooms__note {
		margin-bottom: 25px;
	}
	.p-features__box-lead{
		margin-bottom:20px;
	}
	.p-features__white-box {
		padding: 10% 10% 5%;
	}
	.l-footer__policy-btn {width: fit-content;}
	.p-concept__title{margin-bottom:3rem;}
}
/*@media (max-width: 600px) {
    .slash {
		top: 16%;
	}
}*/
@media(max-width:550px){
	.l-footer__times{
		font-size:var(--fs24);
	}
}
/*@media (max-width: 500px) {
    .slash {
		top: 14%;}
}*/
@media (max-width: 400px) {
   /* .slash {
		top: 12%;}*/
	
	.l-footer__times{
		font-size:var(--fs16);
	}
}
/* --- 追加：Swiper用リセットCSS --- */

/* PC版：Swiperが入ってもレイアウトを固定する */
@media (min-width: 769px) {
    .js-sightseeing-slider.swiper {
        overflow: visible !important; /* innerの突き抜けを邪魔しない */
        flex: 1; 
    }
    .p-sightseeing__list.swiper-wrapper {
        display: flex !important;
        justify-content: space-between !important;
        transform: none !important; /* Swiperに勝手に動かさない */
        width: 100% !important;
    }
    .p-sightseeing__item.swiper-slide {
        width: 31% !important; /* 元の幅31%を維持 */
    }
    .p-sightseeing__nav {
        display: none !important; /* PCでは矢印不要 */
    }
}

/* スマホ版：スライダーの設定 */
@media (max-width: 768px) {
    .js-sightseeing-slider.swiper {
        overflow: hidden; /* スマホの時だけ、はみ出しを隠してスライドさせる */
        margin-top: 30px;
        width: 100%;
    }
    .p-sightseeing__list.swiper-wrapper {
        display: flex !important;
        flex-direction: row !important; /* columnを打ち消して横並びに */
        gap: 0 !important;
    }
    .p-sightseeing__item.swiper-slide {
        width: 85% !important; /* 隣がチラ見えするサイズ */
        height: auto;
    }
    .p-sightseeing__nav {
        display: flex;
        gap: 30px;
        margin-top: 10px;
        padding-left: 2%;
    }
    .p-sightseeing__prev, .p-sightseeing__next {
        background: none; border: none; cursor: pointer; width: 16px; padding: 0;
    }
    .p-sightseeing__prev img, .p-sightseeing__next img { width: 100%; }
}
/* ボタンが押せない状態（最初・最後のスライド）の設定 */
.p-sightseeing__prev.swiper-button-disabled,
.p-sightseeing__next.swiper-button-disabled {
    opacity: 0.3;          /* 半透明にする */
    cursor: default;       /* カーソルを矢印に戻す */
    pointer-events: none;  /* クリックを無効化する */
}