/* ABOUT（TEF TANIGUMI 参考：中央明朝コピー＋フルブリード写真の交互） */
.about-head{text-align:center;margin-bottom:var(--space-8)}
.about-title{font-size:clamp(1.6rem,3.2vw,2.6rem);letter-spacing:.08em;line-height:1.5}
.about-head .label{display:block;margin-top:var(--space-2)}
.about-logo{width:120px;height:60px;margin:var(--space-4) auto 0;display:grid;place-items:center;border:1px solid var(--c-line)}
.about-logo::after{content:attr(data-ph);font-family:var(--font-latin);letter-spacing:.18em;font-size:.66rem;color:var(--c-text-weak)}
.about-lead{text-align:center;max-width:760px;margin-inline:auto;font-size:clamp(1rem,1.5vw,1.2rem);line-height:2.6;letter-spacing:.04em}
.about-lead .label{display:block;margin-bottom:var(--space-3)}
.about-lead::after{content:"";display:block;width:34px;height:1px;background:var(--c-accent);opacity:.5;margin:var(--space-4) auto 0}
.about-fullbleed{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;background:var(--c-bg-sub)}
.about-fullbleed img{display:block;width:100%;height:clamp(320px,52vh,620px);object-fit:cover}

/* ABOUT US：中央ロゴ＋導入 */
.about-intro{text-align:center;max-width:820px;margin-inline:auto}
.about-logo-img{height:clamp(48px,7vw,72px);width:auto;display:block;margin:0 auto 1.4rem}
.about-intro .about-title{margin-bottom:1.2rem}
.about-place{font-family:var(--font-serif);letter-spacing:.12em;color:var(--c-text-weak);margin-bottom:1.4rem;font-size:.95rem}
/* ABOUT US：左右交互の写真＋テキスト */
.about-row{display:grid;gap:clamp(1.4rem,4vw,3rem);align-items:center;margin-bottom:clamp(3rem,7vw,6rem)}
.about-row:last-child{margin-bottom:0}
@media(min-width:860px){
  .about-row{grid-template-columns:1.05fr .95fr}
  .about-row:nth-child(even) .ar-media{order:2}
}
.about-row .ar-media{overflow:hidden;background:var(--c-bg-sub)}
.about-row .ar-media img{width:100%;height:clamp(260px,40vh,460px);object-fit:cover;display:block}
.about-row .ar-title{font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.5;margin:.6rem 0 1rem}
/* ABOUT US：下部リンク */
.about-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.about-links a{display:flex;flex-direction:column;gap:.35rem;border:1px solid var(--c-line);padding:1.2rem 2rem;min-width:200px;transition:.2s}
.about-links a:hover{background:var(--c-bg-sub)}
.about-links .al-ja{font-family:var(--font-serif);font-size:1.05rem;letter-spacing:.04em}
.about-links .al-en{font-family:var(--font-latin);letter-spacing:.18em;font-size:.7rem;color:var(--c-text-weak)}

/* TOP intro */
.intro-grid{display:grid;gap:2rem;align-items:center}
@media(min-width:768px){.intro-grid{grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem)}}

/* TOP intro-about（中央揃え・明朝・画像なし／町家インズ参考・コンパクト） */
.intro-about{text-align:center;padding-block:clamp(2.4rem,5vw,4rem)}
.intro-about-inner{max-width:800px;margin-inline:auto}
.intro-about-inner .sec-title{margin:0 0 1.4rem;font-size:clamp(1.55rem,3.4vw,2.4rem);line-height:1.5;letter-spacing:.05em}
.intro-about-inner .lead{margin-inline:auto;max-width:58ch;line-height:1.8;letter-spacing:.01em;
  font-size:clamp(.95rem,1.25vw,1.05rem);color:var(--c-text)}
.intro-about-cta{margin-top:2rem}
/* ABOUT USリンク：下線が伸び、矢印がスライドするホバーアニメ */
.about-link{display:inline-flex;align-items:center;gap:.7em;font-family:var(--font-latin);letter-spacing:.18em;font-size:1rem;
  color:var(--c-text);padding:.5em .2em;transition:color .3s ease}
.about-link:hover{color:var(--c-accent)}
.about-link .al-label{position:relative;display:inline-block}
.about-link .al-label::after{content:"";position:absolute;left:0;bottom:-.35em;height:1px;width:100%;background:currentColor;
  transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.4,0,.1,1)}
.about-link:hover .al-label::after{transform:scaleX(1)}
.about-link .al-arrow{display:inline-block;transition:transform .45s cubic-bezier(.4,0,.1,1)}
.about-link:hover .al-arrow{transform:translateX(.55em)}

/* experience season */
.season-tabs{display:flex;gap:.6rem;justify-content:center;margin-bottom:var(--space-6)}
.exp-grid{display:grid;grid-template-columns:1fr;gap:1.4rem}
@media(min-width:600px){.exp-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.exp-grid{grid-template-columns:repeat(4,1fr)}}
.exp-card .name{margin-top:.9rem;font-size:1.05rem}
.exp-card .desc{color:var(--c-text-weak);font-size:.85rem;margin-top:.4rem}
.exp-hidden{display:none}

/* area：宿泊名ピッカー（地図と同じ高さ・枠内スクロール） */
@media(min-width:900px){.map-cols .access-list{max-height:none;height:420px}.map-cols .allmap{height:420px}}

/* area */
.area-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:var(--space-5)}
.area-tags .tag-break{flex-basis:100%;height:0;margin:0;padding:0}
/* カテゴリchipは高齢配慮で大きめ */
.area-tags .chip{font-size:1.05rem;padding:.6em 1.4em}
.area-taglist{margin-top:var(--space-5)}
.area-illust{max-width:1000px;margin-inline:auto}
.area-illust img{width:100%;height:auto;display:block;border:1px solid var(--c-line);border-radius:0;cursor:zoom-in}
/* イラストマップ拡大表示（ライトボックス） */
.img-lightbox{position:fixed;inset:0;z-index:200;background:rgba(20,20,18,.92);display:flex;align-items:center;justify-content:center;padding:4vw;cursor:zoom-out}
.img-lightbox img{max-width:100%;max-height:100%;border-radius:0;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.img-lightbox .lb-close{position:absolute;top:1rem;right:1.2rem;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:1.4rem;line-height:40px;text-align:center;cursor:pointer;border:0}

/* TODAY'S MYOKO 動画モーダル（縦9:16プレーヤー・中央） */
.video-modal{position:fixed;inset:0;z-index:200;background:rgba(20,20,18,.92);display:flex;align-items:center;justify-content:center;padding:4vw}
.video-modal .vm-player{height:min(82svh,740px);aspect-ratio:9/16;width:auto;max-width:92vw;background:#000;border-radius:0;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.45)}
.video-modal iframe{width:100%;height:100%;border:0;display:block}
.video-modal .vm-close{position:absolute;top:1rem;right:1.2rem;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:1.4rem;line-height:40px;text-align:center;cursor:pointer;border:0}
.area-list{display:grid;gap:var(--space-6)}
.info-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:768px){.info-grid{grid-template-columns:repeat(3,1fr)}}
.info-card{border:1px solid var(--c-line);border-radius:0;padding:1.6rem}
.info-card .label{margin-bottom:.4rem}

/* area: 全棟ピン地図＋施設一覧 (京の温所型) */
.map-cols{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:900px){.map-cols{grid-template-columns:1.5fr 1fr;align-items:stretch}}
.map-embed{position:relative;min-height:300px;border:1px solid var(--c-line);border-radius:0;overflow:hidden;background:var(--c-bg-sub)}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(min-width:900px){.map-embed{min-height:420px}}
.access-list{border:1px solid var(--c-line);border-radius:0;max-height:420px;overflow:auto}
/* モバイル・タブレット：棟リストは3〜4棟が見える低めの枠・幅80%中央（ページ全体スクロールの妨げ軽減） */
@media(max-width:899px){.map-cols .access-list{max-height:240px;width:80%;margin-inline:auto}}
.access-row{display:block;width:100%;text-align:left;background:transparent;cursor:pointer;font:inherit;color:var(--c-text);padding:1rem 1.2rem;border:0;border-bottom:1px solid var(--c-line);transition:.2s}
.access-row:last-child{border-bottom:0}
.access-row:hover,.access-row.active{background:var(--c-bg-sub)}
.access-row.active{font-weight:500}
.access-row .ar-series{font-family:var(--font-latin);letter-spacing:.12em;font-size:.66rem;color:var(--c-text-weak)}
.access-row .ar-name{font-size:1rem;margin:.15rem 0 .2rem}
.access-row .ar-meta{font-size:.8rem;color:var(--c-text-weak)}

/* マップ（全幅・横長） */
.map-embed-wide{min-height:clamp(320px,46vw,520px)}
/* 全棟マップ（Leaflet・ピン型イラスト） */
.allmap{height:clamp(340px,46vw,520px);border:1px solid var(--c-line);border-radius:0;background:var(--c-bg-sub);z-index:0}
.allmap .mp-pin{background:none;border:none}
.allmap .mp-pin svg{display:block;filter:drop-shadow(0 2px 4px rgba(20,24,18,.45))}
.allmap .leaflet-popup-content-wrapper{border-radius:0}
.mp-pop{display:flex;flex-direction:column;gap:.35rem;font-family:var(--font-serif);min-width:150px}
.mp-pop .mp-no{font-family:var(--font-latin);letter-spacing:.1em;font-size:.66rem;color:var(--c-accent)}
.mp-pop strong{font-size:.98rem;line-height:1.4}
.mp-pop a{font-family:var(--font-sans);font-size:.82rem;color:var(--c-accent);letter-spacing:.03em}
.map-note{margin-top:.8rem;font-size:.78rem;color:var(--c-text-weak);text-align:center}
/* 施設一覧：中央配置の細めグリーンバー（→STAY）。マップ幅に合わせず約33% */
.facility-bar{display:flex;align-items:center;justify-content:center;gap:.9em;margin:var(--space-6) auto 0;
  max-width:clamp(260px,34%,420px);
  background:var(--c-dark);color:#fff;padding:1.05rem 1.5rem;transition:background .3s ease}
@media(max-width:560px){.facility-bar{max-width:100%}}
.facility-bar:hover{background:var(--c-accent)}
.facility-bar .fbar-label{font-family:var(--font-serif);font-size:clamp(1.05rem,1.7vw,1.3rem);letter-spacing:.28em;padding-left:.28em}
.facility-bar .fbar-arrow{font-family:var(--font-latin);font-size:1.1rem;transition:transform .3s ease}
.facility-bar:hover .fbar-arrow{transform:translateX(.45em)}

/* アクセス（TEF風：車/電車の見出し＋ルート） */
.access-block{margin-top:var(--space-7)}
.access-block:first-of-type{margin-top:var(--space-6)}
.access-head{font-family:var(--font-serif);font-size:clamp(1.2rem,2.2vw,1.7rem);letter-spacing:.08em;
  padding-bottom:1rem;border-bottom:1px solid var(--c-line);margin-bottom:1.8rem}
.access-routes{display:grid;gap:1.6rem}
@media(min-width:680px){.access-routes{grid-template-columns:1fr 1fr;gap:2.4rem}}
.access-routes .route-label{font-weight:500;letter-spacing:.04em;margin-bottom:.5rem}
.access-routes p{line-height:1.95}
.access-note{margin-top:1.6rem;font-size:.85rem;color:var(--c-text-weak);line-height:1.9}

/* スキー場（エリア別グループ） */
.ski-group{margin-top:var(--space-7)}
.ski-group:first-of-type{margin-top:var(--space-7)}
.ski-area{font-family:var(--font-serif);font-size:clamp(1.1rem,1.8vw,1.35rem);letter-spacing:.06em;
  padding-bottom:.9rem;border-bottom:1px solid var(--c-line);margin-bottom:1.8rem;
  display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.ski-area-sub{font-family:var(--font-sans);font-size:.78rem;color:var(--c-text-weak);letter-spacing:.04em}
.ski-list{display:grid;grid-template-columns:1fr;gap:1.4rem}
@media(min-width:680px){.ski-list{grid-template-columns:repeat(2,1fr);gap:1.8rem 1.6rem}}
@media(min-width:1000px){.ski-list{grid-template-columns:repeat(3,1fr);gap:2rem 1.8rem}}
.ski-card{border:1px solid var(--c-line);border-radius:0;background:#fff;padding:1.4rem 1.5rem}
.ski-card h4{font-family:var(--font-serif);font-size:1.02rem;margin-bottom:.55rem;letter-spacing:.02em;line-height:1.5}
.ski-card p{font-size:.84rem;color:var(--c-text-weak);line-height:1.9}
/* ゴルフ場 */
.golf-list{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:var(--space-6)}
@media(min-width:680px){.golf-list{grid-template-columns:repeat(2,1fr);gap:1.2rem 1.4rem}}
@media(min-width:1000px){.golf-list{grid-template-columns:repeat(3,1fr)}}
.golf-card{display:flex;align-items:center;gap:.9rem;border:1px solid var(--c-line);border-radius:0;padding:1.15rem 1.3rem;background:#fff}
.golf-card .golf-no{font-family:var(--font-latin);font-size:.8rem;letter-spacing:.1em;color:var(--c-accent);flex:0 0 auto}
.golf-card h4{font-family:var(--font-serif);font-size:.98rem;line-height:1.4}
/* 施設名→Googleマップ（MEO）リンク */
.ski-card h4 a,.golf-card h4 a{color:inherit;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.ski-card h4 a:hover,.golf-card h4 a:hover{color:var(--c-accent);border-bottom-color:currentColor}
.ski-card h4 a::after,.golf-card h4 a::after{content:"↗";font-family:var(--font-latin);font-size:.72em;margin-left:.35em;color:var(--c-text-weak);vertical-align:.05em}

/* INSTAGRAM ギャラリー（TEF風・暗色背景） */
.insta-section{background:var(--c-dark);color:#fff}
.insta-head{text-align:center;margin-bottom:var(--space-6)}
.insta-title{font-family:var(--font-latin);letter-spacing:.32em;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:400}
.insta-sub{display:block;margin-top:.6rem;font-family:var(--font-latin);letter-spacing:.34em;font-size:.72rem;color:rgba(255,255,255,.55)}
.insta-mark{display:block;width:28px;height:1px;background:rgba(255,255,255,.4);margin:1.1rem auto 0}
/* スマホ：2列×3行＝6枚。タブレット・PC：3列×3行＝9枚 */
.insta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.insta-grid .insta-item:nth-child(n+7){display:none}
@media(min-width:680px){
  .insta-grid{grid-template-columns:repeat(3,1fr);gap:.8rem}
  .insta-grid .insta-item:nth-child(n+7){display:block}
}
.insta-item{position:relative;display:block;overflow:hidden;aspect-ratio:1/1;background:#2b2f27}
.insta-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease,opacity .3s ease}
.insta-item:hover img{transform:scale(1.06);opacity:.82}
.insta-ic{position:absolute;top:.45rem;right:.45rem;width:15px;height:15px;opacity:.92;pointer-events:none}
.insta-follow{font-family:var(--font-latin);letter-spacing:.14em;font-size:.85rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:.2em;transition:.2s}
.insta-follow:hover{border-color:#fff;opacity:.8}

/* TOP area：大型バナーCTA */
.area-cta{position:relative;display:block;overflow:hidden;margin-top:var(--space-6);min-height:clamp(220px,28vw,300px);
  border:1px solid var(--c-line)}
.area-cta-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s ease}
.area-cta:hover .area-cta-bg{transform:scale(1.05)}
.area-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,24,18,.72),rgba(20,24,18,.32) 60%,rgba(20,24,18,.15))}
.area-cta-body{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;
  padding:clamp(1.6rem,4vw,2.8rem);max-width:640px;color:#fff;height:100%;justify-content:center}
.area-cta-body .label{color:rgba(255,255,255,.9)}
.area-cta-title{font-family:var(--font-serif);font-size:clamp(1.3rem,3vw,2rem);letter-spacing:.04em;line-height:1.4}
.area-cta-sub{font-size:clamp(.85rem,1.4vw,.98rem);line-height:1.9;color:rgba(255,255,255,.9);max-width:46ch}
.area-cta-go{margin-top:.6rem;font-family:var(--font-latin);letter-spacing:.14em;font-size:.85rem;
  border-bottom:1px solid currentColor;padding-bottom:.2em;transition:.2s}
.area-cta:hover .area-cta-go{opacity:.75}

/* area: ACTIVITY spot cards */
.spot-card .ph{margin-bottom:.8rem}
.spot-card .name{font-size:1.02rem}
.spot-card .cat{font-family:var(--font-latin);letter-spacing:.12em;font-size:.66rem;color:var(--c-text-weak)}
.spot-card .desc{color:var(--c-text-weak);font-size:.83rem;margin-top:.3rem}
.spot-card .dist{font-family:var(--font-sans);font-size:.72rem;color:var(--c-text-weak);margin-top:.5rem}
.spot-other{display:block;border:1px solid var(--c-accent-soft);padding:1rem;background:var(--c-bg)}
.spot-other:hover{background:var(--c-bg-sub)}
.spot-other .dist{color:var(--c-accent);border-bottom:1px solid currentColor;display:inline-block}

/* STAY facility list （4列グリッド・コンパクトカード） */
/* STAY 一覧：京の温所相当の情報量（写真＋紹介文＋メタ＋2ボタン） */
.facility-list{display:grid;grid-template-columns:1fr;gap:clamp(1.6rem,3vw,2.2rem)}
@media(min-width:600px){.facility-list{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.facility-list{grid-template-columns:repeat(3,1fr)}}
.facility-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-line);border-radius:0;overflow:hidden;transition:box-shadow .25s ease,transform .25s ease}
.facility-card:hover{box-shadow:0 10px 28px rgba(40,44,36,.08);transform:translateY(-2px)}
.fc-media{position:relative;display:block;overflow:hidden;background:var(--c-bg-sub)}
.fc-media>img{transition:transform .7s ease;display:block;width:100%}
.facility-card:hover .fc-media>img{transform:scale(1.04)}
.fc-no{position:absolute;left:0;top:0;background:rgba(20,24,18,.8);color:#fff;font-family:var(--font-latin);letter-spacing:.1em;font-size:.72rem;padding:.2em .6em}
.fc-body{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.1rem 1.2rem}
.fc-body .brand{font-family:var(--font-latin);letter-spacing:.1em;font-size:.66rem;color:var(--c-text-weak)}
.fc-body .name{font-size:1.1rem;line-height:1.5;margin:.2rem 0 .55rem}
.facility-card:hover .name a{color:var(--c-accent)}
.fc-desc{color:var(--c-text-weak);font-size:.83rem;line-height:1.85;margin-bottom:.9rem}
.fc-meta{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}
.fc-row{display:flex;gap:.6rem;font-size:.8rem}
.fc-k{flex:0 0 3.6em;color:var(--c-text-weak);font-size:.74rem;letter-spacing:.04em}
.fc-v{flex:1;color:var(--c-text);line-height:1.6}
.fc-actions{display:flex;gap:.6rem;margin-top:auto;flex-wrap:wrap}
.fc-actions .btn{flex:1 1 46%;justify-content:center;font-size:.76rem;letter-spacing:.06em;padding:.75em .8em}
.facility-card.is-ending{opacity:.62}
.facility-card .ending-note{margin-left:.5em;font-size:.6rem}

/* detail */
.detail-hero{display:grid;gap:1rem}
.detail-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:end;margin-block:var(--space-4)}
.detail-head .name{font-size:clamp(1.6rem,3vw,2.2rem)}
.tab-panel{display:none;padding-block:var(--space-6)}
.tab-panel.active{display:block}
/* 棟詳細：1ページスクロール（アンカーナビ＋縦並びセクション） */
.anchor-nav a{padding:1rem .2rem;font-size:.85rem;letter-spacing:.1em;color:var(--c-text-weak);border-bottom:2px solid transparent;white-space:nowrap;transition:.2s}
.anchor-nav a.active{color:var(--c-text);border-color:var(--c-accent)}
.anchor-nav a:hover{color:var(--c-text)}
.detail-sec{padding-block:var(--space-6);border-top:1px solid var(--c-line);scroll-margin-top:calc(var(--header-h) + 56px)}
.detail-sec:first-child{border-top:0}
.gal-item{margin:0}
.gal-item figcaption{margin-top:.5rem;font-family:var(--font-sans);font-size:.72rem;letter-spacing:.08em;color:var(--c-text-weak)}
.amen-sub{font-size:1rem;margin:0 0 .9rem}
.amen-sub+.tags{margin-bottom:1.6rem}
.tab-panel .map-embed{position:relative;min-height:300px;border:1px solid var(--c-line);border-radius:0;overflow:hidden}
.tab-panel .map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(min-width:768px){.tab-panel .map-embed{min-height:380px}}
.sticky-book{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--c-line);
  padding:.8rem var(--gutter);display:none;justify-content:space-between;align-items:center;gap:1rem}
@media(max-width:767px){.sticky-book{display:flex}}

/* 今日の妙高：横長・均整カード（Instagram誘導） */
.today-card{display:grid;grid-template-columns:1fr;gap:0;max-width:960px;margin-inline:auto;
  background:#fff;border:1px solid var(--c-line);border-radius:0;overflow:hidden;color:var(--c-text);
  transition:box-shadow .25s,transform .25s}
.today-card:hover{box-shadow:0 12px 30px rgba(40,44,36,.1);transform:translateY(-2px)}
@media(min-width:760px){.today-card{grid-template-columns:1.15fr 1fr;align-items:stretch}}
.today-card .today-media{overflow:hidden;background:var(--c-bg-sub);aspect-ratio:16/10}
@media(min-width:760px){.today-card .today-media{aspect-ratio:auto;height:100%}}
.today-card .today-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.today-card:hover .today-media img{transform:scale(1.04)}
.today-card .today-body{display:flex;flex-direction:column;justify-content:center;gap:.5rem;padding:clamp(1.5rem,3vw,2.2rem)}
.today-card .label{font-size:clamp(1.4rem,2.8vw,2rem);letter-spacing:.12em;color:var(--c-accent);margin-bottom:.2rem}
.today-card .today-title{font-family:var(--font-serif);font-size:clamp(1.3rem,2.2vw,1.7rem);letter-spacing:.06em}
.today-card .today-desc{font-size:.88rem;color:var(--c-text-weak);line-height:1.85}
.today-card .today-go{margin-top:.4rem;font-family:var(--font-serif);font-size:.86rem;letter-spacing:.06em;color:var(--c-accent)}
.today-card:hover .today-go{opacity:.7}

/* news */
.news-list{display:grid;gap:0}
.news-row{display:flex;gap:1.5rem;align-items:flex-start;padding:1.3rem 0;border-bottom:1px solid var(--c-line);transition:.2s}
.news-row:hover{opacity:.65}
.news-row .nr-meta{display:flex;flex-direction:row;gap:.8rem;flex:0 0 auto;align-items:baseline}
/* PC：日付＋タグの枠幅を固定し、各行のタイトル1文字目を揃える */
@media(min-width:1024px){.news-row .nr-meta{min-width:13rem}}
@media(max-width:1023px){.news-row .nr-meta{flex-direction:column;gap:.35rem;align-items:flex-start}}
.news-row .date{font-family:var(--font-latin);letter-spacing:.06em;color:var(--c-text-weak);font-size:.85rem;flex:0 0 auto}
.news-row .cat{font-family:var(--font-sans);font-size:.7rem;border:1px solid var(--c-line);padding:.2em .7em;border-radius:0;color:var(--c-text-weak);flex:0 0 auto}
.news-row .nr-title{flex:1;font-family:var(--font-serif);line-height:1.55}
/* TOP：お知らせ一覧ボタンが区切り線と重ならないよう、最終行の線を消す */
#topNews .news-row:last-child{border-bottom:0}
/* NEWS：ページネーション（1・2・3） */
.pager{display:flex;justify-content:center;gap:.5rem;margin-top:var(--space-6);flex-wrap:wrap}
.pager button{min-width:40px;height:40px;padding:0 .6em;border:1px solid var(--c-line);border-radius:0;background:#fff;
  font-family:var(--font-latin);letter-spacing:.04em;color:var(--c-text);transition:.2s}
.pager button:hover{border-color:var(--c-text)}
.pager button.active{background:var(--c-accent);border-color:var(--c-accent);color:#fff}
.pager button[disabled]{opacity:.4;cursor:default}

/* TOP NEWS：お知らせ一覧ボタン（京の温所風・横長アウトライン矩形） */
.btn-news-all{display:block;max-width:520px;margin-inline:auto;text-align:center;
  border:1px solid var(--c-line);border-radius:0;padding:1.5rem;background:var(--c-bg-sub);
  font-family:var(--font-serif);letter-spacing:.4em;font-size:1rem;color:var(--c-text);transition:.25s}
.btn-news-all:hover{background:#ddd6c4}
/* TOP NEWS：サムネ付きブログ風カード行 */
.news-card{display:flex;gap:1.2rem;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--c-line);transition:.2s}
.news-card:last-child{border-bottom:0}
.news-card:hover{opacity:.7}
.news-card .nc-thumb{flex:0 0 auto;width:96px;height:72px;overflow:hidden;background:var(--c-bg-sub);border:1px solid var(--c-line)}
.news-card .nc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.news-card .nc-thumb.is-empty{display:grid;place-items:center}
.news-card .nc-thumb.is-empty::after{content:"NEWS";font-family:var(--font-latin);letter-spacing:.14em;font-size:.6rem;color:#b9b3a8}
.news-card .nc-body{flex:1;min-width:0}
.news-card .nc-meta{display:flex;gap:.7rem;align-items:center;margin-bottom:.35rem}
.news-card .nc-date{font-family:var(--font-latin);letter-spacing:.06em;color:var(--c-text-weak);font-size:.8rem}
.news-card .nc-cat{font-family:var(--font-sans);font-size:.66rem;border:1px solid var(--c-line);padding:.2em .7em;border-radius:0;color:var(--c-text-weak)}
.news-card .nc-title{font-family:var(--font-serif);font-size:clamp(.98rem,1.4vw,1.1rem);line-height:1.55}

/* 施設ブランドで選ぶ ページ（動画差し込み可能なカード・Ken Burns仮表示） */
.brand-grid{display:grid;grid-template-columns:1fr;gap:clamp(1rem,2.5vw,1.6rem)}
@media(min-width:600px){.brand-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.brand-grid{grid-template-columns:repeat(4,1fr)}}
.brand-card{position:relative;display:block;overflow:hidden;border-radius:0;aspect-ratio:3/4;color:#fff;
  transition:box-shadow .25s,transform .25s}
.brand-card:hover{box-shadow:0 12px 30px rgba(40,44,36,.18);transform:translateY(-2px)}
.brand-card .bc-kb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center;
  animation:kbZoom 14s ease-in-out infinite alternate}
.brand-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,30,22,.2),rgba(20,30,22,.62))}
.brand-card .bc-name{position:absolute;inset:auto 0 0 0;z-index:2;padding:1.5rem 1.2rem;text-align:center;
  font-family:var(--font-latin);letter-spacing:.16em;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.3;text-shadow:0 1px 16px rgba(20,24,18,.5)}
/* ブランド指定フォント（.hc-en--* を bc-name より優先）※秀英にじみ未ライセンス時は Shippori にフォールバック */
.brand-card .bc-name.hc-en--shuei{font-family:"DNP 秀英にじみ初号明朝 Std","A-OTF 秀英初号明朝 Std","Shippori Mincho","Noto Serif JP",serif;font-weight:600}
.brand-card .bc-name.hc-en--shippori{font-family:"Shippori Mincho","Noto Serif JP",serif;font-weight:400}
.brand-card .bc-go{display:block;margin-top:.6rem;font-family:var(--font-serif);font-size:.74rem;letter-spacing:.1em;opacity:.9}
@keyframes kbZoom{from{transform:scale(1.02)}to{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.brand-card .bc-kb{animation:none}}

/* 利用シーンで選ぶ ページ（LP風・写真カード） */
.scene-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.4rem,3vw,2rem)}
@media(min-width:768px){.scene-grid{grid-template-columns:repeat(2,1fr)}}
.scene-card{display:flex;flex-direction:column;background:var(--c-bg-sub);border:1px solid var(--c-line);
  border-radius:0;overflow:hidden;color:var(--c-text);transition:box-shadow .25s,transform .25s}
.scene-card:hover{box-shadow:0 12px 30px rgba(40,44,36,.1);transform:translateY(-2px)}
.scene-card .sc-media{aspect-ratio:16/10;overflow:hidden;background:var(--c-bg)}
.scene-card .sc-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.scene-card:hover .sc-media img{transform:scale(1.04)}
.scene-card .sc-body{display:flex;flex-direction:column;padding:1.4rem 1.6rem 1.6rem}
.scene-card .sc-label{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.1em;color:var(--c-cta)}
.scene-card .sc-title{font-family:var(--font-serif);font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.5;margin:.4rem 0 .7rem}
.scene-card .sc-desc{font-size:.86rem;color:var(--c-text-weak);line-height:1.85;margin-bottom:1.2rem}
.scene-card .sc-go{align-self:flex-end;font-family:var(--font-serif);font-size:.84rem;letter-spacing:.08em;
  border:1px solid transparent;border-radius:0;padding:.6em 1.5em;background:var(--c-cta);color:#fff;transition:.2s}
.scene-card:hover .sc-go{background:var(--c-cta-deep)}

/* company */
.company-table th{width:30%;text-align:left;color:var(--c-text-weak);font-weight:400;padding:1rem 0;border-bottom:1px solid var(--c-line);vertical-align:top}
.company-table td{padding:1rem 0;border-bottom:1px solid var(--c-line)}

/* utility */
.empty-note{color:var(--c-text-weak);font-size:.85rem;padding:2rem 0}
.map-ph{min-height:280px}

/* ===== v66: 利用シーン「写真に文言ドーン」オーバーレイ ===== */
.scene-card .sc-media{position:relative}
.scene-card .sc-ov{position:absolute;inset:0;display:flex;align-items:flex-end;padding:1rem 1.2rem;
  background:linear-gradient(180deg,rgba(20,24,18,0) 45%,rgba(20,24,18,.62) 100%)}
.scene-card .sc-ov span{color:#fff;font-family:var(--font-serif);font-weight:700;
  font-size:clamp(1.3rem,2.6vw,1.7rem);letter-spacing:.05em;line-height:1.45;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.scene-card .sc-body{padding:1.05rem 1.4rem 1.3rem}
.scene-card .sc-desc{margin-bottom:1rem}

/* ===== v66: 周辺エリアマップ 写真付きカテゴリタイル ===== */
.area-tags{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(.6rem,1.6vw,1rem);max-width:920px;margin-inline:auto}
@media(max-width:719px){.area-tags{grid-template-columns:repeat(2,1fr)}.area-tags .tag-tile:last-child{grid-column:1/-1}}
.tag-tile{display:block;padding:0;border:1px solid var(--c-line);border-radius:0;overflow:hidden;background:#fff;
  cursor:pointer;text-align:center;transition:box-shadow .25s ease,transform .25s ease}
.tag-tile:hover{box-shadow:0 10px 26px rgba(40,44,36,.12);transform:translateY(-2px)}
.tag-tile .tt-img{display:block;aspect-ratio:16/11;overflow:hidden;background:var(--c-bg-sub)}
.tag-tile .tt-img img{width:100%;height:100%;object-fit:cover;display:block}
.tag-tile .tt-label{display:block;padding:.55em .3em .65em;font-family:var(--font-serif);font-weight:600;
  font-size:clamp(1.05rem,1.8vw,1.3rem);letter-spacing:.06em;color:var(--c-text)}
.tag-tile.active{outline:3px solid var(--c-cta);outline-offset:-3px}
.tag-tile.active .tt-label{color:var(--c-cta)}

/* ===== v66: COMING SOON カード ===== */
.facility-card.is-coming .fc-media{position:relative;pointer-events:none}
.facility-card.is-coming{opacity:.95}
.cs-badge{position:absolute;top:.7rem;left:.7rem;z-index:2;background:var(--c-cta);color:#fff;
  font-family:var(--font-latin);font-size:.72rem;letter-spacing:.16em;padding:.4em .95em;border-radius:0}

/* ===== v67: エリア一覧のグループ見出し（グルメ：妙高エリア／道の駅あらい） ===== */
.tag-group-title{font-family:var(--font-serif);font-weight:600;font-size:1.08rem;letter-spacing:.06em;
  text-align:center;margin:var(--space-6) 0 var(--space-4);color:var(--c-text)}
.tag-group-title:first-child{margin-top:var(--space-5)}

/* ===== v68: 大地図＋カテゴリ絞り込み ===== */
.allmap--big{height:clamp(440px,58vh,660px)}
.area-tags{grid-template-columns:repeat(6,1fr);max-width:1080px}
@media(max-width:719px){.area-tags{grid-template-columns:repeat(3,1fr)}.area-tags .tag-tile:last-child{grid-column:auto}}
.tt-label .dot{display:inline-block;width:.55em;height:.55em;border-radius:50%;margin-right:.4em;vertical-align:.05em;
  border:1.5px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
/* 一覧カード：名前ボタン＋Googleマップ外部リンク */
.ski-card h4{display:flex;align-items:center;gap:.5rem;justify-content:space-between}
.spot-btn{background:none;border:0;padding:0;font:inherit;color:var(--c-text);cursor:pointer;text-align:left;flex:1}
.spot-btn:hover{color:var(--c-accent)}
.gmap-mini{flex:0 0 auto;font-size:.9rem;color:var(--c-text-weak);border:1px solid var(--c-line);border-radius:0;
  width:1.8em;height:1.8em;display:grid;place-items:center;transition:.2s}
.gmap-mini:hover{color:var(--c-cta);border-color:var(--c-cta)}

/* ===== v69: ABOUT 一行表示 ===== */
.intro-about-inner .lead--wide{max-width:none}
.intro-about-inner .lead .oneline{white-space:nowrap;font-size:min(1em,2.75vw)}
.img-frame{position:relative}

/* ===== v71: 利用シーンのタイトルを写真幅内で1行固定（カードの幅に応じて自動縮小） ===== */
.scene-card .sc-media{container-type:inline-size}
.scene-card .sc-ov span{white-space:nowrap;font-size:clamp(1rem,2vw,1.6rem)}
@supports (font-size:1cqw){
  .scene-card .sc-ov span{font-size:min(1.6rem,4.7cqw)}
}

/* ===== v76: TEF TANIGUMI トーン調整 ===== */
/* エリアのカテゴリタイル＝画像＋ダーク（#141414）でスタイリッシュに */
.tag-tile{background:#141414;border:0}
.tag-tile .tt-label{background:#141414;color:#fff}
.tag-tile.active{outline:1px solid #141414;outline-offset:3px}
.tag-tile.active .tt-label{color:#fff}
.tt-label .dot{border-color:rgba(255,255,255,.7)}

/* TOPニュース（TEFのcom_sec_newsをそのまま踏襲：#e0e0dd背景・写真4列カード） */
.news-tef{background:var(--c-bg-sub)}
body.top .news-tef{background:#e0e0dd}
.nt-title{font-size:20px;text-align:center;letter-spacing:.2em;font-weight:normal;font-family:var(--font-serif)}
.nt-en{color:#808080;font-size:12px;position:relative;padding:6px 0 9px;text-align:center;letter-spacing:.2em;font-family:var(--font-latin)}
.nt-en::after{content:"";position:absolute;width:20px;height:1px;background:#141414;bottom:0;left:0;right:0;margin:auto}
.nt-list{display:flex;align-items:flex-start;max-width:1080px;margin:50px auto 0}
.nt-list>a{width:calc((100% - 60px)/4)}
.nt-list>a:not(:last-child){margin-right:20px}
.nt-card .img_wrap{overflow:hidden;height:170px;background:#d5d5d1}
.nt-card img{width:100%;height:100%;object-fit:cover;object-position:top;transition:.3s ease-in-out;display:block}
.nt-card:hover img{opacity:.7}
.nt-card .date{font-size:12px;color:#808080;letter-spacing:.2em;margin-top:15px;font-family:var(--font-latin)}
.nt-card .title{line-height:1.71;letter-spacing:.03em;font-weight:normal;margin-top:6px;font-size:.92rem;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
@media(max-width:900px){
  .nt-list{flex-wrap:wrap;max-width:640px}
  .nt-list>a{width:calc((100% - 20px)/2);margin-bottom:30px}
  .nt-list>a:not(:last-child){margin-right:0}
  .nt-list>a:nth-child(odd){margin-right:20px}
}
@media(max-width:520px){.nt-card .img_wrap{height:140px}}

/* ===== v77: 地図モノトーン（ピンだけカラー） ===== */
.allmap .leaflet-tile{filter:saturate(.55) brightness(1.04) contrast(.98)}  /* Googleマップ風の穏やかなカラー */

/* ===== v77: エリアのカテゴリタイルを3列×2行に拡大 ===== */
.area-tags{grid-template-columns:repeat(3,1fr);max-width:1080px;gap:clamp(.8rem,1.8vw,1.2rem)}
.tag-tile .tt-img{aspect-ratio:16/9}
.tag-tile .tt-label{font-size:clamp(1.15rem,1.9vw,1.45rem);padding:.65em .4em .75em}
@media(max-width:719px){.area-tags{grid-template-columns:repeat(2,1fr)}.area-tags .tag-tile:last-child{grid-column:auto}}

/* ===== v78: companyテーブル内リンクを明示（下線＋ホバー＋外部リンク記号） ===== */
.company-table a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;
  text-decoration-color:var(--c-cta);transition:color .2s ease}
.company-table a::after{content:" ↗";font-size:.8em;color:var(--c-cta)}
.company-table a:hover{color:var(--c-cta)}

/* ===== v79: TODAY'S MYOKO フローティングボタン（背景なし・右下・明朝体・大きな天気マーク） ===== */
.today-fab{position:fixed;right:clamp(16px,2.4vw,34px);bottom:clamp(18px,3vh,34px);z-index:60;
  display:flex;flex-direction:column;align-items:center;gap:.3rem;
  background:none;border:0;box-shadow:none;padding:0;cursor:pointer;
  max-width:62px;transition:transform .25s ease,opacity .4s ease;
  opacity:0;pointer-events:none;visibility:hidden}
.today-fab.is-shown{opacity:1;pointer-events:auto;visibility:visible}
.today-fab:hover{transform:translateY(-3px)}
.today-fab .tf-icon{font-size:clamp(3rem,4vw,3.6rem);line-height:1}
.today-fab .tf-label{font-family:var(--font-serif);font-weight:600;font-size:.72rem;letter-spacing:.06em;
  color:#141414;text-align:center;line-height:1.5;transition:color .25s ease}
.today-fab .tf-temp{font-family:var(--font-serif);font-size:.68rem;color:#141414;letter-spacing:.04em;transition:color .25s ease}
@media(max-width:767px){
  .today-fab{max-width:53px}
  .today-fab .tf-icon{font-size:2.8rem}
  .today-fab .tf-label{font-size:.64rem}
}

/* ===== v81: NEWS/ACCESSはフッターとの色調が近いため、手前に余白を確保 ===== */
body.pad-foot main{padding-bottom:clamp(3.5rem,9vh,7rem)}

/* ===== v85: カテゴリタイル＝写真ドーン＋白文字センター（TEF main_link風・余白極小） ===== */
.area-tags{gap:5px;max-width:none}
.tag-tile{position:relative;background:#141414;border:0}
.tag-tile .tt-img{position:relative;aspect-ratio:16/9}
.tag-tile .tt-img::after{content:"";position:absolute;inset:0;background:rgba(20,20,20,.38);transition:background .3s ease}
.tag-tile:hover .tt-img::after{background:rgba(20,20,20,.22)}
.tag-tile .tt-label{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;
  background:transparent;color:#fff;padding:0;
  font-family:'Zen Kaku Gothic New',var(--font-sans),sans-serif;font-weight:500;
  letter-spacing:.22em;font-size:clamp(1.05rem,1.7vw,1.35rem)}
.tag-tile.active .tt-img::after{background:rgba(20,20,20,.1)}
.tag-tile.active{outline:0}
.tag-tile.active .tt-label{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}

/* ===== v85: TOPお知らせカードを拡大・余白極小 ===== */
.nt-list{max-width:1240px;margin-top:56px}
.nt-list>a{width:calc((100% - 24px)/4)}
.nt-list>a:not(:last-child){margin-right:8px}
.nt-card .img_wrap{height:clamp(210px,22vw,300px)}
@media(max-width:900px){
  .nt-list{max-width:none}
  .nt-list>a{width:calc((100% - 8px)/2);margin-bottom:14px}
  .nt-list>a:nth-child(odd){margin-right:8px}
}

/* ===== v87: ブランド／シーンを余白なし・画面いっぱいのグリッドに ===== */
.brand-grid.bleed{width:100vw;margin-left:calc(50% - 50vw);gap:0}
.brand-grid.bleed .brand-card{aspect-ratio:3/4}
@media(max-width:1023px){.brand-grid.bleed .brand-card{aspect-ratio:4/5}}
.scene-grid.bleed{width:100vw;margin-left:calc(50% - 50vw);gap:0;grid-template-columns:repeat(3,1fr)}
.scene-grid.bleed .scene-card{border:0;background:none;box-shadow:none}
.scene-grid.bleed .scene-card:hover{transform:none}
.scene-grid.bleed .sc-media{aspect-ratio:16/10}
.scene-grid.bleed .sc-media img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.scene-grid.bleed{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.scene-grid.bleed{grid-template-columns:1fr}.scene-grid.bleed .sc-media{aspect-ratio:16/9}}

/* ===== v87: お知らせ＝NOT A HOTEL型（左NEWS見出し＋右矢印・横スクロール大型カード・角なし） ===== */
.news-tef{background:#fff}
body.top .news-tef{background:#fff}
.nah-head{display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:0 auto}
.nah-title{font-family:'Jost',var(--font-latin),sans-serif;font-weight:500;font-size:clamp(1.4rem,2vw,1.8rem);letter-spacing:.06em}
.nah-nav{display:flex;gap:10px}
.nah-btn{width:44px;height:44px;border:0;background:#e6e6e3;color:#141414;font-size:1.3rem;line-height:1;cursor:pointer;transition:.2s}
.nah-btn.next{background:#141414;color:#fff}
.nah-btn:hover{opacity:.8}
.nt-list{display:flex;align-items:flex-start;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;
  width:100vw;margin-left:calc(50% - 50vw);margin-top:34px;
  padding-inline:max(calc((100vw - 1240px)/2), var(--gutter));
  -ms-overflow-style:none;scrollbar-width:none;max-width:none}
.nt-list::-webkit-scrollbar{display:none}
.nt-list>a{flex:0 0 clamp(300px,30vw,560px);width:auto;margin:0!important;scroll-snap-align:start}
.nt-card .img_wrap{height:auto;aspect-ratio:16/9}
.nt-card .title{font-family:'Zen Kaku Gothic New',var(--font-sans),sans-serif;font-weight:500;font-size:1rem;letter-spacing:.02em;margin-top:12px}
.nt-card .date{margin-top:12px}

/* ===== v88: 「選ぶ」3セクション＋NEWSの統一見出し（英語Jost小＋日本語明朝） ===== */
.sec-head2{text-align:center;margin-bottom:clamp(1.8rem,3.4vw,2.8rem)}
.sec-head2 .sh-en{display:block;font-family:'Jost',var(--font-latin),sans-serif;font-weight:400;
  font-size:.72rem;letter-spacing:.3em;color:var(--c-text-weak);margin-bottom:.55rem}
.sec-head2 .sh-ja{display:block;font-family:var(--font-serif);font-weight:600;
  font-size:clamp(1.25rem,2.2vw,1.7rem);letter-spacing:.12em;color:var(--c-text)}

/* ブランド：ラベルを中央配置＋薄暗幕（タイルと同じ視覚言語） */
.brand-grid.bleed .brand-card::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(20,20,20,.34);transition:background .3s ease}
.brand-grid.bleed .brand-card:hover::before{background:rgba(20,20,20,.16)}
.brand-grid.bleed .bc-name{inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;
  background:none;text-shadow:0 1px 14px rgba(20,24,18,.45)}

/* シーン：文言を中央配置 */
.scene-grid.bleed .sc-ov{align-items:center;justify-content:center;padding:1rem;
  background:rgba(20,20,20,.34);transition:background .3s ease}
.scene-grid.bleed .scene-card:hover .sc-ov{background:rgba(20,20,20,.16)}
.scene-grid.bleed .sc-ov span{text-align:center}

/* 地図：フルブリード帯 */
.allmap.bleed{width:100vw;margin-left:calc(50% - 50vw);height:clamp(460px,55vh,620px);border-left:0;border-right:0}

/* NEWS：矢印はカード列の直前・右端 */
.nah-nav-row{display:flex;justify-content:flex-end;max-width:1240px;margin:0 auto}

/* ===== v89: 「選ぶ」3つを1セクションに統合（NOT A HOTEL型：左見出し＋右矢印＋横スクロール列＋画像下キャプション） ===== */
.choose-sec{padding-block:clamp(3rem,6vw,5rem)}
.ch-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;max-width:1240px;margin:0 auto}
.ch-more+.ch-head{margin-top:clamp(3.2rem,6.4vw,5.2rem)}
.ch-title .sh-en{display:block;font-family:'Jost',var(--font-latin),sans-serif;font-weight:400;
  font-size:.72rem;letter-spacing:.3em;color:var(--c-text-weak);margin-bottom:.5rem}
.ch-title .sh-ja{display:block;font-family:var(--font-serif);font-weight:600;
  font-size:clamp(1.2rem,2vw,1.55rem);letter-spacing:.12em;color:var(--c-text)}
.ch-list{display:flex;align-items:flex-start;gap:clamp(12px,1.6vw,24px);overflow-x:auto;scroll-snap-type:x proximity;
  width:100vw;margin-left:calc(50% - 50vw);margin-top:clamp(20px,2.6vw,30px);
  padding-inline:calc(max((100vw - var(--container))/2, 0px) + var(--gutter));   /* 見出し（.container内）と左端を揃える */
  scroll-padding-inline:calc(max((100vw - var(--container))/2, 0px) + var(--gutter));  /* snapがパディングを食わないように */
  -ms-overflow-style:none;scrollbar-width:none}
.ch-list::-webkit-scrollbar{display:none}
.ch-card{display:block;scroll-snap-align:start;color:var(--c-text)}
.ch-card--brand{flex:0 0 clamp(240px,24vw,370px)}   /* 現行4列時とほぼ同サイズ（3:4） */
.ch-card--scene{flex:0 0 clamp(300px,32vw,500px)}   /* 現行3列時とほぼ同サイズ（16:10） */
.ch-media{display:block;overflow:hidden;background:var(--c-bg-sub)}  /* 枠は固定・中の画像だけ動く */
.ch-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.ch-media.r34{aspect-ratio:3/4}
.ch-media.r1610{aspect-ratio:16/10}
.ch-card:hover .ch-media img{transform:scale(1.06)}
.ch-cap{display:block;margin-top:12px;font-family:var(--font-serif);
  font-size:clamp(.95rem,1.4vw,1.1rem);letter-spacing:.08em;line-height:1.5}
.ch-cap.hc-en--shuei{font-family:"DNP 秀英にじみ初号明朝 Std","A-OTF 秀英初号明朝 Std","Shippori Mincho","Noto Serif JP",serif;font-weight:600}
.ch-cap.hc-en--shippori{font-family:"Shippori Mincho","Noto Serif JP",serif;font-weight:400}
.ch-more{margin-top:clamp(20px,2.6vw,28px)}
.choose-sec .allmap.bleed{margin-top:clamp(20px,2.6vw,30px)}

/* ===== v90: ブランドは4種のみ→横スクロール廃止・コンテナ幅で中央揃え（見出しと画像の左端が揃う） ===== */
.ch-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,24px);margin-top:clamp(20px,2.6vw,30px)}
@media(max-width:900px){.ch-grid4{grid-template-columns:repeat(2,1fr)}}

/* NEWSカード列も見出しと左端を揃える（snap対策込み） */
.nt-list{padding-inline:calc(max((100vw - var(--container))/2, 0px) + var(--gutter));
  scroll-padding-inline:calc(max((100vw - var(--container))/2, 0px) + var(--gutter))}

/* ブランドカード（/stay/brand/ 等）：ホバーで枠を動かさない＝画像のみズーム */
.brand-card:hover{transform:none;box-shadow:none}

/* ===== v91: ブランド／シーン＝余白なし・均等幅・画面いっぱい（縦は比率で自動） ===== */
.ch-grid4{width:100vw;margin-left:calc(50% - 50vw);gap:0;row-gap:clamp(18px,2.6vw,30px)}
.ch-grid3{display:grid;grid-template-columns:repeat(3,1fr);width:100vw;margin-left:calc(50% - 50vw);
  gap:0;row-gap:clamp(18px,2.6vw,30px);margin-top:clamp(20px,2.6vw,30px)}
@media(max-width:900px){.ch-grid3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.ch-grid3{grid-template-columns:1fr}}
/* 端のキャプションが画面縁に張り付かないよう、文字だけ少しインセット */
.ch-grid4 .ch-cap,.ch-grid3 .ch-cap{padding-inline:clamp(10px,1.2vw,16px)}

/* ===== v92: TEF型オーバーレイタイル（文字を画像内に・タイル上下左右とも完全密着）＋地図の場所チップ ===== */
.ch-grid4,.ch-grid3{row-gap:0}
.ch-media{position:relative}
.ch-ov{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.55rem;padding:1rem;text-align:center;color:#fff;background:rgba(20,20,20,.34);
  transition:background .3s ease;text-shadow:0 1px 14px rgba(20,24,18,.45)}
.ch-card:hover .ch-ov{background:rgba(20,20,20,.16)}
.ov-copy{font-family:var(--font-serif);font-size:clamp(.78rem,1vw,.9rem);letter-spacing:.14em}
.ov-en{font-family:'Jost',var(--font-latin),sans-serif;font-weight:400;font-size:.68rem;letter-spacing:.3em}
.ov-title{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.05rem,1.8vw,1.6rem);line-height:1.5;letter-spacing:.08em}
.ov-title.hc-en--shuei{font-family:"DNP 秀英にじみ初号明朝 Std","A-OTF 秀英初号明朝 Std","Shippori Mincho","Noto Serif JP",serif;font-weight:600}
.ov-title.hc-en--shippori{font-family:"Shippori Mincho","Noto Serif JP",serif;font-weight:400}
.ov-more{position:absolute;left:0;right:0;bottom:clamp(14px,2vw,24px);
  font-family:'Jost',var(--font-latin),sans-serif;font-size:.7rem;letter-spacing:.25em}
.ov-more::after{content:"";display:block;width:clamp(60px,7vw,110px);height:1px;background:#fff;margin:.5em auto 0;transition:width .3s ease}
.ch-card:hover .ov-more::after{width:clamp(90px,10vw,150px)}

/* 地図の場所チップ（クリックで該当ピンへズーム＋ポップアップ） */
.map-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:clamp(18px,2.4vw,26px)}
.map-chip{border:1px solid var(--c-line);background:#fff;color:var(--c-text);padding:.55em 1.1em;
  font-size:.82rem;letter-spacing:.06em;cursor:pointer;transition:.2s;border-radius:0}
.map-chip small{opacity:.65;font-size:.85em;margin-left:.2em}
.map-chip:hover,.map-chip.active{background:#141414;color:#fff;border-color:#141414}

/* ===== v93: すべて見る削除に伴う行間・NEWSカード80%縮小 ===== */
.ch-grid4+.ch-head,.ch-grid3+.ch-head{margin-top:clamp(3.2rem,6.4vw,5.2rem)}
.nt-list>a{flex:0 0 clamp(240px,24vw,448px)}  /* 現行clamp(300px,30vw,560px)の80% */

/* ===== v94: NEWS＝TEF型（薄グレー背景・4列静的グリッド・日付＋明朝タイトル・MORE NEWS） ===== */
.news-tef{background:var(--c-bg-sub)}
body.top .news-tef{background:var(--c-bg-sub)}
.nt-list{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,30px);
  width:auto;max-width:1240px;margin:clamp(30px,3.4vw,44px) auto 0;margin-left:auto;
  padding-inline:0;overflow:visible;scroll-snap-type:none}
.nt-list>a{width:auto;flex:none;margin:0!important}
@media(max-width:900px){.nt-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.nt-list{grid-template-columns:1fr;max-width:420px}}
.nt-card .img_wrap{aspect-ratio:3/2;height:auto}
.nt-card .date{font-family:'Jost',var(--font-latin),sans-serif;letter-spacing:.14em;font-size:.8rem;color:var(--c-text-weak);margin-top:14px}
.nt-card .title{font-family:var(--font-serif);font-weight:600;font-size:.98rem;line-height:1.9;letter-spacing:.04em;margin-top:6px}

/* MORE NEWS（TEF風：文字の下に長い線＋矢じり） */
.more-news{position:relative;display:inline-block;padding-bottom:16px;
  font-family:'Jost',var(--font-latin),sans-serif;font-weight:400;font-size:clamp(.95rem,1.4vw,1.15rem);
  letter-spacing:.2em;color:var(--c-text);transition:opacity .25s}
.more-news::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;
  width:clamp(200px,26vw,280px);height:1px;background:currentColor}
.more-news::before{content:"";position:absolute;bottom:3px;
  left:calc(50% + clamp(100px,13vw,140px) - 11px);width:11px;height:1px;background:currentColor;
  transform:rotate(28deg);transform-origin:right bottom}
.more-news:hover{opacity:.55}

/* ===== v95: ヘッダーロゴの左に1文字分の余白 ===== */
.site-header .brand{margin-left:1em}

/* ===== v97: FIND YOUR STAY（探すガイドの親見出し・導入文） ===== */
.find-head{text-align:center;margin-bottom:clamp(2.8rem,5vw,4.4rem)}
.find-head .fh-en{display:block;font-family:'Jost',var(--font-latin),sans-serif;font-weight:400;
  font-size:.78rem;letter-spacing:.34em;color:var(--c-text-weak);margin-bottom:.7rem}
.find-head .fh-ja{font-family:var(--font-serif);font-weight:600;
  font-size:clamp(1.5rem,2.8vw,2.1rem);letter-spacing:.14em;color:var(--c-text);margin-bottom:1.1rem}
.find-head .fh-lead{font-family:var(--font-serif);font-size:clamp(.9rem,1.3vw,1rem);line-height:2.1;
  letter-spacing:.05em;color:var(--c-text)}
@media(max-width:700px){.find-head .fh-br{display:none}}

/* 予約パネルの脇役キャプション */
.rs-note{text-align:center;font-family:var(--font-serif);font-size:.82rem;
  color:var(--c-text-weak);letter-spacing:.08em;margin-top:.9rem}

/* ===== v97: FAQ駐車場（割当表＋空き状況○×） ===== */
.pk-alloc{margin-top:1.4rem}
.pk-alloc-title{font-family:var(--font-serif);font-weight:600;font-size:.95rem;
  letter-spacing:.08em;margin-bottom:.6rem}
.pk-alloc-table{width:100%;max-width:520px;border-collapse:collapse;font-size:.88rem}
.pk-alloc-table th{width:42%;text-align:left;font-weight:500;color:var(--c-text-weak);
  padding:.45em .6em;border-bottom:1px solid var(--c-line)}
.pk-alloc-table td{padding:.45em .6em;border-bottom:1px solid var(--c-line)}
.pk-avail{margin-top:1.6rem}
.pk-avail-ctrl{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem;font-size:.88rem}
.pk-avail-ctrl select{border:1px solid var(--c-line);background:#fff;padding:.4em .8em;font-size:.88rem;border-radius:0}
.pk-avail-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:560px}
@media(max-width:600px){.pk-avail-grid{grid-template-columns:repeat(4,1fr)}}
.pk-day{display:flex;flex-direction:column;align-items:center;gap:2px;
  border:1px solid var(--c-line);background:#fff;padding:.45em .2em}
.pk-day .pk-date{font-family:'Jost',var(--font-latin),sans-serif;font-size:.68rem;color:var(--c-text-weak);letter-spacing:.04em}
.pk-day .pk-mark{font-size:1rem;line-height:1.2;color:var(--c-cta)}
.pk-day .pk-free{font-size:.66rem;color:var(--c-text-weak)}
.pk-day.is-full{background:var(--c-bg-sub)}
.pk-day.is-full .pk-mark{color:#b5453c}
.pk-avail-note{margin-top:.7rem;font-size:.76rem;color:var(--c-text-weak)}

/* ===== v98: 「選ぶ」セクションを黒背景に反転（TEFダーク帯） ===== */
.choose-sec{background:#141414}
.choose-sec .fh-en{color:rgba(255,255,255,.55)}
.choose-sec .fh-ja,.choose-sec .fh-lead{color:#fff}
.choose-sec .ch-title .sh-en{color:rgba(255,255,255,.55)}
.choose-sec .ch-title .sh-ja{color:#fff}
.choose-sec .btn-line{border-color:#fff;color:#fff}
.choose-sec .btn-line:hover{background:#fff;color:#141414}
.choose-sec .map-chip{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.choose-sec .map-chip small{opacity:.7}
.choose-sec .map-chip:hover,.choose-sec .map-chip.active{background:#fff;color:#141414;border-color:#fff}

/* ===== v101→v102: TODAY'S MYOKO＝動画未投稿の日は表示そのまま・タップだけ無効 ===== */
.today-fab.no-video{cursor:default}
.today-fab.no-video:hover{transform:none}

/* ===== v100: NEWSをABOUT直下へ／FIND YOUR STAY簡素化・行見出し中央揃え ===== */
.choose-sec .ch-head{justify-content:center}
.choose-sec .ch-title{text-align:center}
.find-head .fh-ja{margin-bottom:0}

/* ===== v102: FIND YOUR STAY＝英語のみをタイトル級に ===== */
.find-head .fh-en{font-weight:300;font-size:clamp(1.5rem,3vw,2.3rem);letter-spacing:.3em;
  color:#fff;margin-bottom:0;line-height:1.4}

/* ===== v103: CV改善・プレミアム化 =====
   ※背景に飾り文字（WORKS等）を敷く場合は opacity:.5 で統一し主コンテンツを妨げないこと */

/* HERO: SCROLLインジケーター（薄さ0.5・ラインが流れるループ） */
.hero-scroll{position:absolute;left:50%;bottom:0;transform:translateX(-50%);z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff;opacity:.5;transition:opacity .3s ease}
.hero-scroll:hover{opacity:.85}
.hero-scroll .hs-txt{font-family:'Jost',var(--font-latin),sans-serif;font-weight:300;font-size:.66rem;letter-spacing:.32em}
.hero-scroll .hs-line{position:relative;width:1px;height:64px;background:rgba(255,255,255,.35);overflow:hidden}
.hero-scroll .hs-line::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:#fff;
  animation:hsFlow 2.4s cubic-bezier(.4,0,.2,1) infinite}
@keyframes hsFlow{0%{top:-40%}100%{top:110%}}

/* 予約検索＝ミニマル検索バー（ヘアライン区切り・フラット入力・矢印スライド） */
.reserve-panel{background:#fff;border:1px solid var(--c-line);box-shadow:0 14px 34px rgba(20,20,20,.05);padding:0;overflow:hidden}
.reserve-form{gap:0;align-items:stretch}
.reserve-form .rf-field{padding:1.05rem clamp(1rem,1.8vw,1.7rem);border-left:1px solid var(--c-line);gap:.4rem;justify-content:center}
.reserve-form .rf-field:first-child{border-left:0}
.reserve-form label{font-family:'Jost',var(--font-latin),sans-serif;font-size:.66rem;letter-spacing:.22em;color:var(--c-text-weak)}
.reserve-form input,.reserve-form select{border:0;background:transparent;padding:0;height:auto;font-size:.95rem;font-family:var(--font-serif)}
.reserve-form input:focus,.reserve-form select:focus{outline:0;box-shadow:0 1px 0 var(--c-text)}
.reserve-form .rf-submit{min-height:0;padding:0 clamp(1.8rem,3vw,3rem);letter-spacing:.2em}
.rf-arrow{display:inline-block;margin-left:.55em;transition:transform .35s ease}
.rf-submit:hover .rf-arrow{transform:translateX(6px)}
@media(max-width:760px){
  .reserve-form .rf-field{border-left:0;border-top:1px solid var(--c-line);width:100%}
  .reserve-form .rf-field:first-child{border-top:0}
  .reserve-form .rf-submit{padding:1.05rem}
}

/* イントロ：字間拡大＋段差フェード（既存reveal/IntersectionObserverを流用） */
.intro-about-inner .sec-title{letter-spacing:.18em}
.intro-about-inner.reveal{opacity:1;transform:none;transition:none}   /* 親のフェードを止め、子で段差を作る */
.intro-about-inner>*{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s ease}
.intro-about-inner.is-visible>*{opacity:1;transform:none}
.intro-about-inner.is-visible>*:nth-child(2){transition-delay:.25s}
.intro-about-inner.is-visible>*:nth-child(3){transition-delay:.5s}

/* BRAND: プレミアム・インジケーター（左上フラグ）＋特徴タグ */
.ch-flag{position:absolute;top:12px;left:12px;z-index:2;
  font-family:'Jost',var(--font-latin),sans-serif;font-weight:400;font-size:.6rem;letter-spacing:.25em;
  color:#fff;background:rgba(20,20,20,.55);padding:.5em 1em .5em 1.2em;transition:background .35s ease,color .35s ease}
.ch-card:hover .ch-flag{background:rgba(255,255,255,.92);color:#141414}
.ov-tags{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:.25rem}
.ov-tags i{font-style:normal;font-family:var(--font-sans);font-size:.62rem;letter-spacing:.08em;
  color:#fff;border:1px solid rgba(255,255,255,.55);padding:.32em .85em;background:rgba(20,20,20,.18)}

/* CTA: すべての宿泊プランを見る（黒帯上のゴースト→白反転・矢印スライド） */
.cta-luxe{position:relative;display:inline-flex;align-items:center;gap:.9em;
  font-family:var(--font-serif);font-size:.95rem;letter-spacing:.18em;color:#fff;
  border:1px solid rgba(255,255,255,.7);padding:1.05em 2.6em;background:transparent;
  transition:background .45s ease,color .45s ease,border-color .45s ease}
.cta-luxe .cl-arrow{transition:transform .35s ease}
.cta-luxe:hover{background:#fff;color:#141414;border-color:#fff}
.cta-luxe:hover .cl-arrow{transform:translateX(7px)}

/* SCENE: ラインアイコン＋テキストの横並び（縦スクロール圧縮） */
.scene-row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1.2rem,3.4vw,3rem);margin-top:clamp(20px,2.6vw,30px)}
.scene-row a{display:flex;flex-direction:column;align-items:center;gap:.7rem;color:#fff;padding:.4rem .2rem}
.scene-row svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.scene-row span{font-family:var(--font-serif);font-size:.85rem;letter-spacing:.1em;position:relative;padding-bottom:6px}
.scene-row span::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:0;height:1px;background:#fff;transition:width .35s ease}
.scene-row a:hover span::after{width:100%}

/* NEWS: NEWチップ（14日以内・hoverで字間がひらく） */
.nt-card .img_wrap{position:relative}
.nt-new{position:absolute;top:10px;left:10px;z-index:2;
  font-family:'Jost',var(--font-latin),sans-serif;font-size:.6rem;letter-spacing:.2em;
  background:#fff;color:#141414;padding:.38em .85em .38em 1em;transition:letter-spacing .3s ease}
.nt-card:hover .nt-new{letter-spacing:.32em}

/* ===== v104→v105: FIND YOUR STAY＝明朝・不透明度60%の大文字タイトルのみ（小文字は非表示） ===== */
.find-head{position:relative;overflow:hidden}
.fh-bg{display:block;text-align:center;
  font-family:var(--font-serif);font-weight:600;
  font-size:clamp(2.2rem,7.5vw,6.2rem);letter-spacing:.14em;white-space:nowrap;line-height:1.2;
  color:rgba(255,255,255,.6);user-select:none}

/* ===== v106: クイックアクセスUI・SCENE横1行・黒帯用矢印・透かし0.5 ===== */
/* 予約パネル下：透過ボーダーのクイックアクセス（hoverで背景が左から滑らかに充填） */
.qa-row{display:flex;justify-content:center;gap:clamp(10px,1.6vw,18px);flex-wrap:wrap;margin-top:1.1rem}
.qa-btn{position:relative;overflow:hidden;font-family:var(--font-serif);font-size:.88rem;letter-spacing:.14em;
  color:var(--c-text);border:1px solid rgba(20,20,20,.35);padding:.9em 2.2em;background:transparent;
  transition:color .45s ease,border-color .45s ease}
.qa-btn::before{content:"";position:absolute;inset:0;background:#141414;transform:scaleX(0);transform-origin:left center;
  transition:transform .45s ease;z-index:-1}
.qa-btn:hover{color:#fff;border-color:#141414}
.qa-btn:hover::before{transform:scaleX(1)}

/* SCENE横1行：中央見出し＋右端矢印の両立・黒帯用の矢印配色 */
.choose-sec .ch-head{position:relative}
.choose-sec .nah-nav{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.choose-sec .nah-btn{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;transition:.3s}
.choose-sec .nah-btn:hover{background:#fff;color:#141414;border-color:#fff;opacity:1}

/* 背景文字の設計ルール：不透明度は0.5以下で固定し、主役（写真・コピー）の視認性を邪魔しない */
.fh-bg{color:rgba(255,255,255,.5)}

/* ===== v105: 行タイトル＝英字のみを主役サイズに／CTA下余白を行間リズムに揃える ===== */
.choose-sec .ch-title .sh-en{font-size:clamp(.95rem,1.5vw,1.25rem);letter-spacing:.32em;color:#fff;margin-bottom:0}
.cta-row{margin-top:clamp(2.2rem,3.6vw,3.2rem);margin-bottom:clamp(3.2rem,6.4vw,5.2rem)}
.cta-row+.ch-head{margin-top:0}  /* 余白はcta-row側で一元管理 */

/* ===== v107: セクション＝オフホワイト化・マリオット型SCENE・SANU型ABOUT・漆黒マップバンド ===== */
/* 明→漆黒（マップ）→グレー（NEWS）とトーンが変化するシアトリカル構成 */
.choose-sec{background:#f8f9fa}
.choose-sec .ch-title .sh-en{color:var(--c-text)}
.fh-bg{color:rgba(20,20,20,.5)}   /* 背景文字は不透明度0.5以下固定（明地では黒50%） */
.cta-luxe{color:var(--c-text);border-color:rgba(20,20,20,.5)}
.cta-luxe:hover{background:#141414;color:#fff;border-color:#141414}

/* SCENE＝マリオットOutdoor Collection型（3カラム・角丸16px・縦長・左下白文字・右下↗） */
.mo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,24px);
  max-width:1240px;margin:clamp(20px,2.6vw,30px) auto 0}
.mo-card{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:4/5;color:#fff;
  box-shadow:0 6px 18px rgba(20,20,20,.08);transition:transform .45s ease,box-shadow .45s ease}
.mo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.mo-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 100%)}
.mo-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(20,20,20,.16)}
.mo-card:hover img{transform:scale(1.05)}
.mo-txt{position:absolute;left:18px;bottom:16px;right:52px;z-index:2;display:flex;flex-direction:column;gap:.4rem;text-align:left}
.mo-loc{font-family:'Jost',var(--font-latin),sans-serif;font-weight:400;font-size:.64rem;letter-spacing:.28em}
.mo-name{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.02rem,1.6vw,1.3rem);line-height:1.5;letter-spacing:.05em}
.mo-arrow{position:absolute;right:16px;bottom:14px;z-index:2;font-family:'Jost',var(--font-latin),sans-serif;font-size:1.05rem;transition:transform .35s ease}
.mo-card:hover .mo-arrow{transform:translate(3px,-3px)}
@media(max-width:760px){
  .mo-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:12px;
    padding-inline:var(--gutter);margin-inline:calc(-1*var(--gutter));-ms-overflow-style:none;scrollbar-width:none}
  .mo-grid::-webkit-scrollbar{display:none}
  .mo-card{flex:0 0 76vw;scroll-snap-align:start}
}

/* ABOUT＝SANU型 非対称マルチフォト（左テキスト・右3枚グリッド／縦長は右へはみ出し） */
.intro-about{overflow:hidden}
.sanu-grid{display:grid;grid-template-columns:47% 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.sanu-txt .sec-title{text-align:left;letter-spacing:.18em;line-height:2}
.sanu-txt .lead{text-align:left;line-height:2.2;letter-spacing:.06em;margin-top:1.2rem;max-width:38ch}
.sanu-txt.reveal{opacity:1;transform:none;transition:none}
.sanu-txt>*{opacity:0;transform:translateY(16px);transition:opacity .9s ease,transform .9s ease}
.sanu-txt.is-visible>*{opacity:1;transform:none}
.sanu-txt.is-visible>*:nth-child(2){transition-delay:.2s}
.sanu-txt.is-visible>*:nth-child(3){transition-delay:.4s}
.sanu-photos{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(10px,1.4vw,18px)}
.sanu-photos.reveal{opacity:1;transform:none;transition:none}
.sanu-photos img{width:100%;height:100%;object-fit:cover;display:block;
  opacity:0;transform:scale(.92);transition:opacity 1s ease,transform 1s ease}
.sanu-photos.is-visible img{opacity:1;transform:scale(1)}
.sanu-photos.is-visible .sp-b{transition-delay:.25s}
.sanu-photos.is-visible .sp-c{transition-delay:.5s}
.sp-a{grid-column:1;grid-row:1;aspect-ratio:16/11}
.sp-b{grid-column:2;grid-row:1/3;aspect-ratio:3/4.35;margin-right:clamp(-70px,-5vw,-20px)}  /* 右端に少しはみ出す */
.sp-c{grid-column:1;grid-row:2;aspect-ratio:16/10}
@media(max-width:860px){
  .sanu-grid{grid-template-columns:1fr}
  .sanu-txt .sec-title,.sanu-txt .lead{text-align:center;margin-inline:auto}
  .sp-b{margin-right:0}
}

/* MAP＝星のや型 漆黒バンド（施設一覧・中央マップ・ミニカード） */
.map-band{width:100vw;margin-left:calc(50% - 50vw);background:#000;
  margin-top:clamp(3.2rem,6.4vw,5.2rem);padding-block:clamp(2.8rem,5.4vw,4.6rem)}
.map-band .sh-en{color:rgba(255,255,255,.6)}
.mb-title{display:block;font-family:var(--font-serif);font-weight:600;
  font-size:clamp(1.3rem,2.2vw,1.8rem);letter-spacing:.16em;color:#fff;margin-top:.5rem}
.map-wrap{position:relative}
.map-band .allmap.bleed{width:min(1240px,calc(100vw - 2*var(--gutter)));margin-inline:auto;
  margin-top:clamp(18px,2.4vw,26px);border:0}
.stay-minicard{position:absolute;left:50%;bottom:clamp(14px,2.4vw,26px);z-index:500;
  transform:translateX(-50%) translateY(12px);display:flex;align-items:stretch;
  width:min(92vw,430px);background:#fff;box-shadow:0 18px 48px rgba(0,0,0,.35);
  opacity:0;transition:opacity .35s ease,transform .35s ease}
.stay-minicard.is-on{opacity:1;transform:translateX(-50%) translateY(0)}
.stay-minicard img{width:128px;min-height:128px;object-fit:cover;flex:0 0 128px}
.sm-body{padding:.85rem 1.9rem .85rem 1rem;display:flex;flex-direction:column;gap:.28rem;min-width:0}
.sm-name{font-family:var(--font-serif);font-weight:600;font-size:.98rem;letter-spacing:.04em}
.sm-copy{font-size:.74rem;color:var(--c-text-weak);line-height:1.65}
.sm-meta{font-family:'Jost',var(--font-latin),sans-serif;font-size:.68rem;letter-spacing:.08em;color:var(--c-text-weak)}
.sm-link{margin-top:auto;align-self:flex-start;font-family:var(--font-serif);font-size:.8rem;letter-spacing:.08em;
  color:var(--c-cta);border-bottom:1px solid currentColor;padding-bottom:2px}
.sm-close{position:absolute;top:4px;right:8px;border:0;background:none;font-size:1.15rem;line-height:1;
  color:var(--c-text-weak);cursor:pointer}

/* ===== v108: フォント刷新・SANUパララックス・シームレス化・SCENEスライダー・MAP独立 ===== */
/* 英字アクセント＝クラシカルセリフ（Cormorant Garamond）。機能ラベルはJost維持 */
.ch-title .sh-en,.mo-loc,.ov-more,.hero-scroll .hs-txt{font-family:var(--font-en-serif);font-weight:500}
.mo-loc{font-size:.8rem;letter-spacing:.26em}
.ov-more{font-size:.88rem;letter-spacing:.24em}
.hero-scroll .hs-txt{font-size:.82rem;letter-spacing:.3em}
/* 情緒テキストは明朝を維持（本文ベースはゴシックへ移行済み＝base.css） */
.sanu-txt .lead{font-family:var(--font-serif)}

/* ABOUT→FIND YOUR STAY シームレス（同一背景・境界レス・余白圧縮） */
.intro-about{background:#f8f9fa;padding-bottom:clamp(1.6rem,3vw,2.6rem)}
.choose-sec{padding-top:clamp(1.6rem,3vw,2.6rem)}

/* SANU逆方向パララックス（左列=上へ・右列=下へ。入場アニメはimg側なので干渉なし） */
.sanu-photos{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(10px,1.4vw,18px);align-items:start}
.sanu-col{display:flex;flex-direction:column;gap:clamp(10px,1.4vw,18px);will-change:transform}
.sanu-col-l{transform:translateY(calc(var(--par,0px)*-1))}
.sanu-col-r{transform:translateY(var(--par,0px))}
.sanu-col-r .sp-b{margin-right:clamp(-70px,-5vw,-20px)}
.sanu-photos.is-visible .sp-c{transition-delay:.4s}
@media(max-width:860px){.sanu-col-r .sp-b{margin-right:0}}

/* SCENE＝常時横スワイプスライダー（画面右へ突き抜け・snap・ドラッグ可） */
.mo-grid{display:flex;grid-template-columns:none;max-width:none;gap:clamp(14px,1.8vw,22px);
  overflow-x:auto;scroll-snap-type:x mandatory;
  width:100vw;margin-left:calc(50% - 50vw);margin-top:clamp(20px,2.6vw,30px);
  padding-inline:calc(max((100vw - var(--container))/2, 0px) + var(--gutter));
  scroll-padding-inline:calc(max((100vw - var(--container))/2, 0px) + var(--gutter));
  padding-block:10px;-ms-overflow-style:none;scrollbar-width:none;cursor:grab}
.mo-grid:active{cursor:grabbing}
.mo-grid::-webkit-scrollbar{display:none}
.mo-card{flex:0 0 clamp(280px,26vw,380px);scroll-snap-align:start}
.mo-card:hover{transform:none;box-shadow:0 6px 18px rgba(20,20,20,.08)}   /* リフト廃止＝中の写真だけズーム */
/* オフホワイト地の‹›ボタン（v106の白枠指定を上書き） */
.choose-sec .nah-btn{background:transparent;border:1px solid rgba(20,20,20,.4);color:#141414}
.choose-sec .nah-btn:hover{background:#141414;color:#fff;border-color:#141414}

/* MAP＝独立セクション（バンド用の全幅ハック無効化・NEWSと直結する余白） */
.map-sec{width:auto;margin-left:0;margin-top:0}
.news-tef{margin-top:0}

/* ===== v109: SANU動画準拠ABOUT・MAP/NEWS見出し中央・予約セクション刷新 ===== */
/* ABOUT写真＝内側の広い列に3枚・最右の狭い列に2枚（右端見切れ）。パララックスは既存 */
.sanu-photos{grid-template-columns:1.4fr 1fr}
.sanu-photos .sp-1{aspect-ratio:16/10}
.sanu-photos .sp-2{aspect-ratio:16/11}
.sanu-photos .sp-3{aspect-ratio:16/10}
.sanu-photos .sp-4{aspect-ratio:4/4.6}
.sanu-photos .sp-5{aspect-ratio:4/4.6}
.sanu-col-r{margin-right:calc(-1*(max((100vw - var(--container))/2, 0px) + var(--gutter)) - clamp(24px,4vw,64px))}   /* 最右列は画面右端の外まで伸びて見切れる */
.sanu-col-r .sp-b{margin-right:0}
.sanu-photos.is-visible .sp-2{transition-delay:.15s}
.sanu-photos.is-visible .sp-3{transition-delay:.3s}
.sanu-photos.is-visible .sp-4{transition-delay:.2s}
.sanu-photos.is-visible .sp-5{transition-delay:.4s}
@media(max-width:860px){.sanu-col-r{margin-right:0}}

/* MAP見出し＝英字のみ中央・黒地のボタン/チップを白系に（独立化のスコープ漏れ修正） */
.map-sec .ch-head{justify-content:center;position:relative}
.map-sec .ch-title{text-align:center}
.map-sec .ch-title .sh-en{font-family:var(--font-en-serif);font-weight:500;
  font-size:clamp(1.1rem,1.8vw,1.5rem);letter-spacing:.32em;color:#fff;margin-bottom:0}
.map-sec .btn-line{border-color:#fff;color:#fff}
.map-sec .btn-line:hover{background:#fff;color:#141414}
.map-sec .map-chip{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.map-sec .map-chip small{opacity:.7}
.map-sec .map-chip:hover,.map-sec .map-chip.active{background:#fff;color:#141414;border-color:#fff}

/* NEWS見出し＝英字のみ中央 */
.news-tef .ch-head{justify-content:center}
.news-tef .ch-title{text-align:center}
.news-tef .ch-title .sh-en{font-family:var(--font-en-serif);font-weight:500;
  font-size:clamp(1.1rem,1.8vw,1.5rem);letter-spacing:.32em;color:var(--c-text);margin-bottom:0}

/* 予約セクション＝ABOUTと同一背景・TEF型の独立白タイル */
.reserve-wrap{background:#f8f9fa;padding-bottom:clamp(1.6rem,3vw,2.6rem)}
.reserve-wrap>.container{max-width:var(--container);padding-inline:var(--gutter)}
.reserve-panel{background:transparent;border:0;box-shadow:none;padding:0;overflow:visible}
.reserve-form{gap:clamp(10px,1.4vw,16px);align-items:end}
.reserve-form .rf-field{padding:0;border:0!important;gap:.45rem}
.reserve-form label{font-family:'Jost',var(--font-latin),sans-serif;font-size:.68rem;letter-spacing:.2em;color:var(--c-text-weak)}
.reserve-form input,.reserve-form select{border:1px solid var(--c-line);background:#fff;
  padding:.85em 1em;height:auto;font-size:.95rem;font-family:var(--font-serif);width:100%}
.reserve-form input:focus,.reserve-form select:focus{outline:0;border-color:var(--c-text);box-shadow:none}
.reserve-form .rf-submit{align-self:end;min-height:0;padding:.95em clamp(1.8rem,2.6vw,2.6rem)}
@media(max-width:760px){.reserve-form .rf-field{border-top:0!important;width:100%}.reserve-form .rf-submit{width:100%;padding:1rem}}

/* クイックリンク＝控えめな小テキスト＋hoverで下線が伸びる */
.qa-row{gap:clamp(18px,3vw,36px);margin-top:1.3rem}
.qa-btn{border:0;padding:.2em 0;font-size:.78rem;letter-spacing:.1em;color:var(--c-text-weak);overflow:visible}
.qa-btn::before{display:none}
.qa-btn::after{content:"";display:block;height:1px;background:currentColor;width:0;margin-top:4px;transition:width .3s ease}
.qa-btn:hover{color:var(--c-text);border-color:transparent}
.qa-btn:hover::after{width:100%}

/* ===== v110: ABOUT多重レイヤー・パララックス＋予約セクションのダーク化・高さ統一 ===== */
/* ABOUT：左=テキスト＋縦長メイン写真／右=不規則4枚。動きは[data-speed]×lerp（JS） */
.sanu-grid{align-items:start}
.sanu-left{display:flex;flex-direction:column;gap:clamp(1.8rem,3.4vw,3rem)}
.par{display:block;will-change:transform}
.sanu-main{width:min(78%,360px)}
.sanu-main img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.sanu-right{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(12px,1.6vw,20px)}
.sanu-right .pr-a{grid-column:1;grid-row:1}
.sanu-right .pr-a img{aspect-ratio:16/10}
.sanu-right .pr-b{grid-column:2;grid-row:1;margin-top:clamp(30px,4.5vw,72px)}
.sanu-right .pr-b img{aspect-ratio:4/5}
.sanu-right .pr-c{grid-column:1;grid-row:2}
.sanu-right .pr-c img{aspect-ratio:16/11}
.sanu-right .pr-d{grid-column:2;grid-row:2;margin-top:clamp(18px,2.6vw,40px);
  margin-right:calc(-1*(max((100vw - var(--container))/2, 0px) + var(--gutter)) - clamp(24px,4vw,64px))}  /* 右端見切れ */
.sanu-right .pr-d img{aspect-ratio:4/5}
.sanu-right img,.sanu-main img{height:auto}
/* 入場フェード（既存.sanu-photos img系）を新構造にも適用 */
.sanu-photos.is-visible .pr-b img{transition-delay:.15s}
.sanu-photos.is-visible .pr-c img{transition-delay:.3s}
.sanu-photos.is-visible .pr-d img{transition-delay:.45s}
@media(max-width:860px){
  .sanu-right .pr-d{margin-right:0}
  .sanu-main{width:100%}
  .par{transform:none!important}
}

/* 予約セクション＝静かなダークモスグリーン帯・部品の高さ52pxで完全統一 */
.reserve-wrap{--rf-h:52px;background:#242b27;padding-top:clamp(1.8rem,3.2vw,2.8rem)}
.reserve-form label{color:rgba(255,255,255,.72)}
.reserve-form input,.reserve-form select{height:var(--rf-h);padding-top:0;padding-bottom:0;line-height:calc(var(--rf-h) - 2px)}
.reserve-form .rf-submit{height:var(--rf-h);min-height:var(--rf-h);padding-top:0;padding-bottom:0;
  background:#fff;color:#141414;border:0}
.reserve-form .rf-submit:hover{background:var(--c-cta);color:#fff}
.qa-btn{color:rgba(255,255,255,.6)}
.qa-btn:hover{color:#fff}

/* ===== v111: 予約帯＝アッシュ黒（#1e2220）・検索ボタン＝ヘッダー「予約する」と同じ深緑×白 ===== */
.reserve-wrap{background:#1e2220}
.reserve-form .rf-submit{background:var(--c-cta);color:#fff}
.reserve-form .rf-submit:hover{background:var(--c-cta-deep);color:#fff}

/* ===== v112: 予約帯の上下余白を極小化・BRAND=マリオット型カード・MAP見出し「全棟マップ」 ===== */
.reserve-wrap{padding-block:clamp(14px,1.8vw,20px)}
.reserve-panel{margin:0}
.qa-row{margin-top:.7rem}

/* BRAND＝マリオット型（角丸16px・3:4縦長・左下に場所＋ブランド名・右下↗・写真のみズーム） */
.mo-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,20px);
  max-width:1240px;margin:clamp(20px,2.6vw,30px) auto 0}
.mo-grid4 .mo-card{aspect-ratio:3/4}
@media(max-width:860px){.mo-grid4{grid-template-columns:repeat(2,1fr)}}
.mo-name.hc-en--shuei{font-family:"DNP 秀英にじみ初号明朝 Std","A-OTF 秀英初号明朝 Std","Shippori Mincho","Noto Serif JP",serif;font-weight:600}
.mo-name.hc-en--shippori{font-family:"Shippori Mincho","Noto Serif JP",serif;font-weight:500}

/* ===== v113: BRANDグリッドをフルワイド化（画面幅いっぱい・端は最小ガター） ===== */
.mo-grid4{max-width:none;width:100vw;margin-left:calc(50% - 50vw);padding-inline:var(--gutter)}

/* ===== v114: ABOUT＝SANU実物構造（sticky固定＋画面端に接する写真の壁）／BRAND角なし・余白なし ===== */
.intro-about{padding:0;background:#f8f9fa;overflow:visible}  /* overflow:hiddenはstickyを殺すため解除（はみ出しはpin側のhiddenで遮断） */
.sanu-pin-outer{height:200vh}
.sanu-pin{position:sticky;top:0;height:100vh;overflow:hidden;
  display:grid;grid-template-columns:52% 48%;background:#f8f9fa}
.sanu-txt2{display:flex;flex-direction:column;justify-content:center;padding:0 clamp(2rem,6vw,6rem)}
.sanu-txt2 .sec-title{text-align:left;font-family:var(--font-serif);font-weight:600;
  letter-spacing:.15em;line-height:2;font-size:clamp(1.3rem,2.1vw,1.85rem)}
.sanu-txt2 .lead{text-align:left;font-family:var(--font-serif);line-height:2.2;letter-spacing:.06em;
  margin-top:1.4rem;max-width:36ch}
.sanu-wall{display:grid;grid-template-columns:55fr 45fr;gap:8px}
.wall-col{display:flex;flex-direction:column;gap:8px;margin-top:-27vh;will-change:transform}
.wall-col img{width:100%;object-fit:cover;display:block}
.wall-col-a img{height:34vh}
.wall-col-b img{height:40vh}
@media(max-width:860px){
  .sanu-pin-outer{height:auto}
  .sanu-pin{position:static;height:auto;grid-template-columns:1fr;overflow:visible}
  .sanu-txt2{padding:clamp(2.5rem,8vw,4rem) var(--gutter)}
  .wall-col{margin-top:0;transform:none!important}
  .wall-col-a img,.wall-col-b img{height:32vw}
}
/* BRAND：角丸なし・余白なし（画面端まで密着。SCENEのマリオットカードは16pxのまま） */
.mo-grid4{gap:0;padding-inline:0}
.mo-grid4 .mo-card{border-radius:0}

/* ===== v117: ABOUT微調整（予約帯との余白・上端揃えの是正・改行制御・SPは画像非表示）。TOP構成はここで一旦固定 ===== */
/* クリップ境界＝壁の上端＝見出しの高さ。paddingを壁からpinへ移し、ループ画像が余白帯へ侵入しないように */
.sanu-pin{padding-top:var(--about-top)}
.sanu-txt2{padding-top:0}
.sanu-wall{padding-top:0}
.nb{display:inline-block}   /* 読点単位のまとまりで折り返す（熟語の途中で切らない） */
@media(max-width:860px){
  .sanu-wall{display:none}  /* スマホは画像なし・テキストのみ */
  .sanu-pin{grid-template-columns:1fr;padding-top:0;padding-bottom:clamp(2.2rem,7vw,3.5rem)}
}

/* ===== v116: ヘッダー/フッター＝予約帯色・見出し上余白統一・壁＝一周ループ ===== */
/* ヘッダー/フッターを#1e2220系に（ヘッダーのalphaは従来値0.55/0.8を維持） */
.site-header:not(.scrolled):not(.solid){background:linear-gradient(180deg,rgba(30,34,32,.55),rgba(30,34,32,0))}
.site-header.scrolled,.site-header.solid{background:rgba(30,34,32,.8)}
.site-footer{background:#1e2220}

/* 見出し上の余白を統一（BRAND/SCENE/MAP/NEWS） */
:root{--sec-gap:clamp(3.6rem,7vw,6rem)}
.choose-sec{padding-top:var(--sec-gap)}
.cta-row{margin-bottom:var(--sec-gap)}
.map-sec{padding-top:var(--sec-gap)}
.news-tef{padding-top:var(--sec-gap);padding-bottom:clamp(2.8rem,5vw,4.5rem)}

/* ABOUT壁＝一周ループ（同一セット2連のトラックをtranslateY -50%/+側へ、linear無限） */
.sanu-wall{overflow:hidden}
.wall-col{animation:none}
.wall-track{display:flex;flex-direction:column;gap:8px;will-change:transform}
.wall-col-a .wall-track{animation:wallLoopUp var(--wall-a-dur,17s) linear infinite}
.wall-col-b .wall-track{animation:wallLoopDown var(--wall-b-dur,28.5s) linear infinite}
.wall-track img{width:100%;object-fit:cover;display:block}
.wall-col-a .wall-track img{height:34vh}
.wall-col-b .wall-track img{height:40vh}
@keyframes wallLoopUp{from{transform:translateY(0)}to{transform:translateY(calc(-50% - 4px))}}
@keyframes wallLoopDown{from{transform:translateY(calc(-50% - 4px))}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.wall-track{animation:none!important}}
@media(max-width:860px){.wall-track{animation:none!important}}

/* ===== v115: ABOUT＝自動ドリフト（スクロール非連動）・写真上端を見出しと揃える・BRAND見出し下の余白 ===== */
.sanu-pin-outer{height:auto}
.sanu-pin{position:relative;top:auto;--about-top:clamp(76px,13vh,130px)}   /* 予約帯との間＝写真上端までの余白 */
.sanu-txt2{justify-content:flex-start}  /* 上余白はv117でpin側に移管 */
.wall-col{margin-top:0}  /* 旧ドリフトはv116の一周ループ（.wall-track）へ移行 */
/* BRAND見出しとカード列の間に余白 */
.mo-grid4{margin-top:clamp(34px,4.2vw,56px)}

/* ===== v118: SP最適化（SCENE/NEWS＝2.5枚見せ横スワイプ・ABOUT等倍縮小）※ファイル末尾＝最優先 ===== */
@media(max-width:760px){
  /* SCENE＝2.5枚見せ（38vwカード＋右peekでスワイプ誘導） */
  .mo-grid{gap:10px}
  .mo-grid .mo-card{flex:0 0 34vw}
  .mo-txt{left:10px;bottom:10px;right:26px;gap:.25rem}
  .mo-grid .mo-loc{font-size:.56rem;letter-spacing:.18em}
  .mo-grid .mo-name{font-size:.78rem;line-height:1.45}
  .mo-arrow{right:8px;bottom:8px;font-size:.85rem}
  /* NEWS＝SCENEと同様の横スワイプ2.5枚見せ */
  .nt-list{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;gap:10px;
    max-width:none;width:100vw;margin-left:calc(50% - 50vw);padding-inline:var(--gutter);
    -ms-overflow-style:none;scrollbar-width:none}
  .nt-list::-webkit-scrollbar{display:none}
  .nt-list>a{flex:0 0 34vw;width:auto;margin:0!important;scroll-snap-align:start}
  .nt-card .title{font-size:.78rem;margin-top:8px}
  .nt-card .date{font-size:.66rem;margin-top:6px}
}
@media(max-width:860px){
  /* ABOUT＝全体フォントを等倍縮小（約78%・読める下限） */
  .sanu-txt2 .sec-title{font-size:1.02rem;letter-spacing:.12em}
  .sanu-txt2 .lead{font-size:.78rem;margin-top:1rem;line-height:2}
}

/* ===== v119: 駐車場専用ページ（/parking/）のフォーム ===== */
.pk-notes{max-width:560px;margin:1.4rem auto 0;font-size:.85rem;line-height:2;color:var(--c-text)}
.pk-form{max-width:560px;margin:1.6rem auto 0}
.pkf-row{margin-bottom:1.1rem;display:flex;flex-direction:column;gap:.45rem}
.pkf-row label{font-family:'Jost',var(--font-latin),sans-serif;font-size:.72rem;letter-spacing:.16em;color:var(--c-text-weak)}
.pkf-row label .req{font-family:var(--font-sans);font-size:.62rem;color:#b5453c;border:1px solid currentColor;padding:.1em .5em;margin-left:.5em;letter-spacing:.08em}
.pkf-row input,.pkf-row select{border:1px solid var(--c-line);background:#fff;padding:.8em 1em;font-size:.95rem;font-family:var(--font-serif);border-radius:0;width:100%}
.pkf-row input:focus,.pkf-row select:focus{outline:0;border-color:var(--c-text)}
.pkf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.pkf-grid2{grid-template-columns:1fr}}
.pk-msg{min-height:1.4em;margin-top:.6rem;font-size:.85rem;line-height:1.8;text-align:center}
.pk-msg.is-ok{color:var(--c-cta)}
.pk-msg.is-err{color:#b5453c}
.pk-msg.is-info{color:var(--c-text-weak)}

/* ===== v120: アクセスのカテゴリカードを基本フォントに・MAP背景をフッター色に ===== */
.tag-tile .tt-label{font-family:var(--font-serif);font-weight:600;letter-spacing:.16em}
.map-sec.map-band,.map-band{background:#1e2220}

/* ===== v121: SCENE初期位置＝画面左端ぎわ／NEWS一覧＝TEF型グリッド ===== */
.mo-grid{padding-inline:clamp(16px,2vw,28px);scroll-padding-inline:clamp(16px,2vw,28px)}
.news-sec{background:transparent}  /* v124: タイトル部と同じページ地色（境を作らない） */
.nw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3.4vw,44px) clamp(14px,1.8vw,24px)}
@media(max-width:900px){.nw-grid{grid-template-columns:repeat(2,1fr)}}
.nw-grid .nt-card .img_wrap{position:relative;aspect-ratio:3/2;overflow:hidden}
.nw-grid .nt-card img{width:100%;height:100%;object-fit:cover;display:block}

/* ===== v123: 棟詳細FAQ内のリンクは下線でリンクと分かるように ===== */
.detail-sec .acc .inner a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.detail-sec .acc .inner a:hover{opacity:.65}

/* ===== v125: SPのABOUT＝予約帯との余白＋文章センタリング ===== */
@media(max-width:860px){
  .sanu-pin{padding-top:clamp(2.4rem,9vw,3.6rem)}
  .sanu-txt2 .sec-title,.sanu-txt2 .lead{text-align:center}
  .sanu-txt2 .lead{margin-inline:auto}
}

/* ===== v126: FAQ回答内のテキストリンクにも下線（詳細ページと同ルール） ===== */
.acc .inner a:not(.btn){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.acc .inner a:not(.btn):hover{opacity:.65}

/* ===== v129: 棟詳細＝ヘッダー予約ボタン＋間取り図表示 ===== */
.dh-side{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}
.dh-book{padding:.7em 2.2em;font-size:.85rem;letter-spacing:.12em}
.madori-fig{background:#fff;border:1px solid #e8e8e4;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:10px;margin:0}
.madori-fig img{width:100%;height:auto;object-fit:contain;max-height:520px}
@media(max-width:860px){.dh-side{align-items:flex-start;flex-direction:row;align-items:center;gap:1rem}}

/* ===== v132: 基本アメニティ一式＝タップで内訳を開閉 ===== */
.amen-set-btn{cursor:pointer;appearance:none;-webkit-appearance:none;background:#fff;
  font-family:var(--font-sans);font-size:.7rem;letter-spacing:.04em;color:var(--c-text-weak);border-color:var(--c-line)}
.amen-set-btn:hover{background:var(--c-bg-sub)}
.amen-set-btn .asb-ic{margin-left:.45em;font-weight:600;color:var(--c-cta)}
.amen-set-panel{margin-top:1.1rem;padding:1.1rem 1.4rem;background:var(--c-bg-sub);font-size:.85rem;line-height:2.1;border-radius:4px}
.amen-set-panel .cap{display:block;margin-top:.5rem}

/* ===== v139: 天気FAB＝下地なしに一旦戻す（視認性の下地案は再検討中。明暗切替JSは廃止済み） ===== */

/* ===== v143: 予約フロー説明＝予約ボックス3ステップ＋ご予約の流れページ ===== */
.bk-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 1.2rem;text-align:center}
.bk-step{background:var(--c-bg-sub);border-radius:8px;padding:.9rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.35rem}
.bk-num{width:26px;height:26px;border-radius:50%;background:var(--c-cta);color:#fff;font-family:var(--font-sans);font-size:.78rem;display:flex;align-items:center;justify-content:center}
.bk-t{font-size:.82rem;font-weight:600}
.bk-s{font-size:.72rem;color:var(--c-text-weak)}
.bk-note{margin-top:.8rem;font-size:.72rem;color:var(--c-text-weak);line-height:1.9}
.bk-note a{text-decoration:underline;text-underline-offset:3px}
.bk-note a:hover{opacity:.65}
@media(max-width:640px){.bk-t{font-size:.72rem}.bk-s{font-size:.64rem}}
.gd-steps{display:grid;grid-template-columns:32px minmax(0,1fr);margin-top:2rem}
.gd-rail{display:flex;flex-direction:column;align-items:center}
.gd-rail .line{width:1px;flex:1;background:var(--c-line)}
.gd-body{padding:2px 0 1.6rem 14px}
.gd-body:last-child{padding-bottom:0}
.gd-body .t{font-weight:600;font-size:.95rem;display:block;margin-bottom:.25rem}
.gd-body .s{font-size:.85rem;color:var(--c-text-weak);line-height:1.9}
.gd-links{margin-top:2.2rem;display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap}
.gd-links a{font-size:.85rem;color:var(--c-text-weak);text-decoration:underline;text-underline-offset:3px}
.gd-links a:hover{opacity:.65}

/* ===== v145: 予約ボックス＝幅を絞って中央寄せ・ボタン中央揃え ===== */
#sec-plan .booking-box{max-width:640px;margin-inline:auto;text-align:center}
#sec-plan .booking-box .btn{margin-inline:auto}

/* ===== v147: 会社概要＝注記・キャプションの改行を読点単位に＋行間調整 ===== */
.company-table small.cap{display:inline-block;line-height:1.9;margin-top:.3rem}
#contact > .cap{line-height:2}

/* ===== v148: BRAND＝SPは1列フルワイド縦積み（動画化前提・PC4列は維持） ===== */
@media(max-width:860px){
  .mo-grid4{grid-template-columns:1fr;gap:8px}
  .mo-grid4 .mo-card{aspect-ratio:16/10}
}

/* ===== v149: トップへ戻る＝フッター直前・和モダン縦ライン ===== */
.to-top{display:flex;justify-content:center;padding:clamp(2.2rem,5vw,3.4rem) 0}
.to-top-btn{background:none;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.4rem .8rem;transition:opacity .25s ease}
.to-top-btn:hover{opacity:.55}
.tt-line{width:1px;height:38px;background:#141414;position:relative}
.tt-line::before{content:"";position:absolute;top:0;left:-3.5px;width:8px;height:8px;border-top:1px solid #141414;border-left:1px solid #141414;transform:rotate(45deg)}
.tt-txt{writing-mode:vertical-rl;font-family:var(--font-en,Jost,serif);font-size:.66rem;letter-spacing:.3em;color:#141414}

/* ===== v150: TOPページの「トップへ戻る」＝NEWSセクションと同背景で段差をなくす ===== */
body[data-top] .to-top{background:#e0e0dd}

/* ===== v151: 3軸ショートカットチップ（予約帯内）＋MAPヒント ===== */
.find-row{display:flex;justify-content:center;gap:clamp(8px,1.4vw,14px);flex-wrap:wrap;margin-top:1rem}
.find-chip{cursor:pointer;appearance:none;background:none;border:1px solid rgba(255,255,255,.32);border-radius:999px;
  color:rgba(255,255,255,.85);font-family:var(--font-sans);font-size:.76rem;letter-spacing:.06em;
  padding:.5em 1.25em;display:inline-flex;align-items:center;gap:.45em;transition:background .2s ease,border-color .2s ease}
.find-chip:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.55)}
.find-chip .fc-ar{font-size:.7em;opacity:.7}
.map-hint{text-align:center;font-size:.72rem;color:rgba(255,255,255,.5);margin-top:.7rem;letter-spacing:.04em}

/* ===== v156→v157: ショートカットチップ＝C案（枠なし・下線／基本フォント・下線間隔を詰め） ===== */
.find-row{gap:clamp(18px,3vw,32px)}
.find-chip{border:0;border-bottom:1px solid rgba(255,255,255,.4);border-radius:0;background:none;
  color:rgba(255,255,255,.9);font-family:inherit;padding:.1em .25em .22em}
.find-chip:hover{background:none;border-color:#fff;opacity:.75}
.find-chip .fc-en{letter-spacing:.1em;margin-right:.1em}
/* チップからのスクロール着地：見出しがヘッダーに隠れないよう余白を確保 */
.ch-head,#mapSec{scroll-margin-top:96px}

/* ===== v163: 駐車場の空き状況＝月めくりカレンダー（今月から1年分） ===== */
.pk-cal-nav{display:flex;align-items:center;gap:1rem;margin:.4rem 0 .7rem}
.pkn-btn{cursor:pointer;appearance:none;background:#fff;border:1px solid var(--c-line);border-radius:0;
  width:34px;height:34px;font-size:1.05rem;line-height:1;color:var(--c-text);transition:border-color .2s ease}
.pkn-btn:hover{border-color:var(--c-cta)}
.pkn-btn:disabled{opacity:.3;cursor:default;border-color:var(--c-line)}
.pkn-lbl{font-family:var(--font-serif);font-weight:600;font-size:1rem;letter-spacing:.08em;min-width:7.5em;text-align:center}
#pkGrid.pk-cal{grid-template-columns:repeat(7,1fr);gap:4px;max-width:560px}
.pkc-wd{text-align:center;font-size:.7rem;color:var(--c-text-weak);padding:.15em 0;letter-spacing:.1em}
.pkc-day{appearance:none;font:inherit;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--c-line);
  display:flex;flex-direction:column;align-items:center;gap:1px;padding:.4em .1em .45em;min-width:0}
.pkc-day .d{font-family:'Jost',var(--font-latin),sans-serif;font-size:.72rem;color:var(--c-text-weak);letter-spacing:.02em}
.pkc-day .mk{font-size:.95rem;line-height:1.25;color:var(--c-cta)}
.pkc-day .fr{font-size:.62rem;color:var(--c-text-weak);line-height:1.3}
button.pkc-day.is-ok{cursor:pointer;transition:border-color .2s ease,background .2s ease}
button.pkc-day.is-ok:hover{border-color:var(--c-cta);background:#f4f7f2}
.pkc-day.is-full{background:var(--c-bg-sub);cursor:pointer;transition:border-color .2s ease}
.pkc-day.is-full .mk{color:#b5453c}
.pkc-day.is-full:hover{border-color:#b5453c}
.pkc-day.is-na{background:none;border-color:#ecebe2}
.pkc-day.is-na .d,.pkc-day.is-na .mk{color:#c9c7bb}
.pkc-wd.su,.pkc-day.su .d{color:#b0685f}
.pkc-wd.sa,.pkc-day.sa .d{color:#5b7ea6}
.pkc-day.is-na.su .d,.pkc-day.is-na.sa .d{color:#c9c7bb}
@media(max-width:600px){
  .pkc-day{padding:.3em .05em .35em}
  .pkc-day .d{font-size:.62rem}
  .pkc-day .mk{font-size:.82rem}
  .pkc-day .fr{font-size:.52rem}
  .pkn-lbl{font-size:.92rem}
}

/* ===== v163: ABOUT画像ループを20%減速（17s→21.25s／28.5s→35.625s） ===== */
.sanu-wall{--wall-a-dur:21.25s;--wall-b-dur:35.625s}

/* ===== v165: 棟詳細＝オプション予約の動線（駐車場・BBQ・テントサウナ） ===== */
.opt-links{max-width:640px;margin:1.1rem auto 0;background:#fff;border:1px solid var(--c-line);padding:1rem 1.4rem 1.1rem}
.opt-title{display:block;text-align:center;font-family:var(--font-serif);font-weight:600;font-size:.92rem;letter-spacing:.1em;margin-bottom:.4rem}
.opt-item{display:flex;align-items:baseline;gap:.8rem;padding:.7em .1em;border-top:1px solid var(--c-line);text-decoration:none;color:inherit}
.opt-item .t{font-size:.9rem;letter-spacing:.04em;transition:color .2s ease}
.opt-item .s{font-size:.72rem;color:var(--c-text-weak);margin-left:auto}
.opt-item .ar{font-size:.8rem;color:var(--c-cta);transition:transform .2s ease}
.opt-item:hover .t{color:var(--c-cta)}
.opt-item:hover .ar{transform:translateX(3px)}
@media(max-width:600px){
  .opt-links{padding:.9rem 1rem 1rem}
  .opt-item{flex-wrap:wrap;gap:.4rem .6rem}
  .opt-item .s{margin-left:auto}
}

/* ===== v174: オプション予約＝カレンダー種別タブ・追加の炭・合計金額 ===== */
.ac-cal-tabs{display:flex;margin-bottom:.9rem}
.ac-cal-tabs button{cursor:pointer;appearance:none;font:inherit;font-size:.88rem;letter-spacing:.06em;
  background:#fff;border:1px solid var(--c-line);color:var(--c-text-weak);padding:.55em 1.5em;border-radius:0;transition:all .2s ease}
.ac-cal-tabs button+button{border-left:none}
.ac-cal-tabs button:hover{color:var(--c-text)}
.ac-cal-tabs button.is-on{background:var(--c-cta);border-color:var(--c-cta);color:#fff}
.ac-total{margin-top:1rem;padding:.75rem 1rem;background:var(--c-bg-sub);font-size:.92rem;text-align:center}
.ac-total strong{font-family:var(--font-serif);font-size:1.15em;letter-spacing:.04em}
