@charset "UTF-8";
/* ==========================================================================
   下層ページ共通 / ページ固有スタイル
   共通トークン・共通パーツは style.css を参照（こちらは追記のみ）
   ========================================================================== */

/* ---------- ページ見出しバンド（デザイン未支給ページ用の最小構成） ------- */
.phead{
  position:relative; height:420px;
  background:url(../img/bg/washi-splash.jpg) center top/cover no-repeat, var(--c-washi);
  display:flex; align-items:center;
}
.phead .wrap{ display:flex; justify-content:center; }
.phead__ttl{
  font-family:var(--ff-min); font-weight:400; font-size:38px; line-height:1;
  letter-spacing:.16em; text-indent:.16em; color:var(--c-ink);
}
.pplain{
  background:url(../img/bg/washi-plain.jpg) center top/cover no-repeat, var(--c-washi);
  padding:120px 0 160px; text-align:center;
}
.pplain__lead{
  font-family:var(--ff-min); font-size:24px; letter-spacing:.08em;
}
.pplain__note{ margin-top:24px; font-size:15px; letter-spacing:.02em; }
.pplain__back{ margin-top:64px; display:flex; justify-content:center; }

@media (max-width:767px){
  .phead{ height:26rem; }
  .phead__ttl{ font-size:2.6rem; }
  .pplain{ padding:8rem 2rem 10rem; }
  .pplain__lead{ font-size:1.9rem; }
  .pplain__note{ margin-top:1.6rem; font-size:1.4rem; }
  .pplain__back{ margin-top:4.8rem; }
}

/* ==========================================================================
   アクセス  access.html   .pg-access
   原本 : 260807_miharuya_Web / 00_みはるや_WEB_アクセス.ai
          アートボード PC 1366 x 3724（SP アートボードは支給なし）
   バンド : FV 0-599.41 / 地図 599.41-1199.97 / ルート 1199.97-3173.26 /
            ご宿泊予約(スリム) 3173.26-3424 / フッター 3424-3724
   すべての数値はアートボード実測値（design px）。
   ========================================================================== */

/* ---------------------------------------------------------------- ページFV */
.pg-access .ax-fv{
  position:relative; height:599.41px; overflow:hidden;
  background:#0e1310;
}
/* PLACED 実測 left -10.18 / top -193.34 / 1524.16 x 1016.11 を
   ビューポート幅に追従する % に変換（1366 幅で実寸と一致）*/
.pg-access .ax-fv__photo{
  position:absolute; inset:0; width:auto; height:auto;
  background-image:url(../img/photo/access-fv-train.jpg);
  background-size:111.578% auto; background-position:6.4344% 46.3862%;
}
/* 実測: 暗幕は左 .486 → 右 .236 のほぼ直線的な水平グラデーション（12分割で測定）*/
.pg-access .ax-fv__photo::after{
  content:""; position:absolute; inset:0; opacity:1;
  background:linear-gradient(to right,
    rgba(0,0,0,.486) 0%,   rgba(0,0,0,.467) 11.7%, rgba(0,0,0,.429) 27.4%,
    rgba(0,0,0,.390) 43.1%,rgba(0,0,0,.351) 58.7%, rgba(0,0,0,.313) 74.4%,
    rgba(0,0,0,.273) 90.1%,rgba(0,0,0,.236) 100%);
}
.pg-access .ax-fv__inner{ position:relative; z-index:2; height:100%; }
.pg-access .ax-fv__en{
  position:absolute; left:1.12px; top:410.25px;
  font-family:"Work Sans", var(--ff-got); font-weight:400;
  font-size:16px; line-height:1; letter-spacing:-.1404em;
  color:#b9a35a;
}
.pg-access .ax-fv__ttl{
  position:absolute; right:41.14px; top:362.66px;
  writing-mode:vertical-rl; text-orientation:upright;
  font-family:var(--ff-min); font-weight:400;
  font-size:50px; line-height:1.1; letter-spacing:0;
  color:var(--c-white);
}

/* ------------------------------------------------------------------ 地図帯 */
/* 原本は「ダミー_map.png」（1367x601 グレースケール／住所カード焼き込み）。
   1366 幅で cover = 1:1。 */
.pg-access .ax-map{
  position:relative; height:600.56px; overflow:hidden; background:#dcdcdc;
}
.pg-access .ax-map__img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center center;
}

/* ------------------------------------------------------------ ルート案内帯 */
.pg-access .ax-routes{ background:var(--c-white); }
.pg-access .ax-routes > .wrap{ height:1973.29px; }

/* 住所 2行（行送り 28px / 約物半角）*/
.pg-access .ax-addr{
  position:absolute; left:1.12px; top:53.33px;   /* = em上端 59.33 − ハーフレディング 6.0 */
  font-family:var(--ff-got); font-weight:500;
  font-size:15px; line-height:28px; letter-spacing:0; color:var(--c-ink);
}
.pg-access .ax-addr > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:block; white-space:nowrap; }

/* セクション見出し（游明朝 Medium 20px・字送り 0・アートボード中央）*/
.pg-access .ax-h2{
  position:absolute; left:0; right:0;
  font-family:var(--ff-min); font-weight:500;
  font-size:20px; line-height:1; letter-spacing:0;
  text-align:center; color:var(--c-ink);
}
.pg-access .ax-h2--train{ top:184.44px; }
.pg-access .ax-h2--car{   top:1029.48px; }

/* ---------------------------------------------------------- ルート図 共通 */
.pg-access .ax-scroll{ position:absolute; }
.pg-access .ax-dg{ position:absolute; inset:0; }
.pg-access .ax-dg__viz{ position:absolute; inset:0; }

/* 駅・IC の枡（すべて幅 60px。左端=白+1px罫 / 中間=#dadada / 終点=#666）*/
.pg-access .ax-box{
  position:absolute; top:0; width:60px; z-index:1;
  display:flex; align-items:center; justify-content:center;
}
.pg-access .ax-box--start{ top:-.5px; background:var(--c-white); border:1px solid var(--c-line); }
.pg-access .ax-box--mid{   background:#dadada; }
.pg-access .ax-box--end{   background:#666666; color:var(--c-white); }

/* 枡の中の縦組み（17px / 字送り .2em。CSS は最後の1字にも字送りが付くため
   margin-bottom で 0.2em 戻して Illustrator の送り幅に合わせる）*/
.pg-access .ax-vt{
  writing-mode:vertical-rl; text-orientation:upright;
  font-family:var(--ff-min); font-weight:600;
  font-size:17px; line-height:1; letter-spacing:.2em;
  margin-bottom:-.2em; white-space:nowrap;
}

/* 連結線（1px #333。枡の下に敷いて、枡の塗りで分断させる）*/
.pg-access .ax-ln{
  position:absolute; height:1px; background:var(--c-line); z-index:0;
}

/* 区間ラベル（16px。各区間の中央に置く＝原本の送り中心と一致）*/
.pg-access .ax-lb{
  position:absolute; z-index:2; text-align:center; white-space:nowrap;
  font-family:var(--ff-min); font-weight:600;
  font-size:16px; line-height:1; letter-spacing:.05em; color:var(--c-ink);
}
/* 例外（実測）: T1 上段の 2本だけ字送り 0 */
.pg-access .ax-lb--tight{ letter-spacing:0; }

/* ------------------------------------------------ 電車ルート図（3本共通X） */
.pg-access .ax-scroll--t1{ left:201.24px; top:252.13px;  width:599.57px; height:239px; }
.pg-access .ax-scroll--t2{ left:201.24px; top:559.73px;  width:599.57px; height:122px; }
.pg-access .ax-scroll--t3{ left:201.24px; top:748.93px;  width:599.57px; height:122px; }

.pg-access .ax-dg--tr .ax-p1{ left:0; }
.pg-access .ax-dg--tr .ax-p2{ left:267.66px; }
.pg-access .ax-dg--tr .ax-p3{ left:539.57px; }
.pg-access .ax-dg--tr .ax-g0{ left:60px;     width:479.57px; }
.pg-access .ax-dg--tr .ax-g1{ left:60px;     width:207.66px; }
.pg-access .ax-dg--tr .ax-g2{ left:327.66px; width:211.91px; }

.pg-access .ax-dg--t1 .ax-box{ height:239px; }
.pg-access .ax-dg--t1 .ax-box--start{ height:240px; }
.pg-access .ax-dg--t1 .ax-p2--t1{ top:116.9px; height:122.2px; }
.pg-access .ax-ln--t1u{ top:54.9px;  left:60px; width:479.57px; }
.pg-access .ax-ln--t1l{ top:176.9px; left:60px; width:479.57px; }
.pg-access .ax-lb--t1a{ top:30.59px; }
.pg-access .ax-lb--t1b{ top:67.73px; }
.pg-access .ax-lb--t1c{ top:151.82px; }
.pg-access .ax-lb--t1d{ top:188.96px; }

.pg-access .ax-dg--t2 .ax-box,
.pg-access .ax-dg--t3 .ax-box{ height:122px; }
.pg-access .ax-dg--t2 .ax-box--start,
.pg-access .ax-dg--t3 .ax-box--start{ height:123px; }
.pg-access .ax-ln--t2{ top:60.3px; left:60px; width:479.57px; }
.pg-access .ax-ln--t3{ top:60.1px; left:60px; width:479.57px; }
.pg-access .ax-lb--tra{ top:34.81px; }
.pg-access .ax-lb--trb{ top:71.95px; }

/* -------------------------------------------------------- お車ルート図 3本 */
.pg-access .ax-scroll--c1{ left:4.98px; top:1094.73px; width:992.42px; height:150px; }
.pg-access .ax-scroll--c2{ left:4.98px; top:1310.73px; width:992.42px; height:150px; }
.pg-access .ax-scroll--c3{ left:4.98px; top:1526.73px; width:992.42px; height:150px; }

.pg-access .ax-dg--cr .ax-box{ height:150px; }
.pg-access .ax-dg--cr .ax-box--start{ height:151px; }
.pg-access .ax-ln--cr{ top:74.3px; left:60px; width:872.42px; }
.pg-access .ax-lb--cra{ top:47.78px; }
.pg-access .ax-lb--crb{ top:87.12px; }

.pg-access .ax-dg--c1 .ax-p1{ left:0; }
.pg-access .ax-dg--c1 .ax-p2{ left:239.89px; }
.pg-access .ax-dg--c1 .ax-p3{ left:465.77px; }
.pg-access .ax-dg--c1 .ax-p4{ left:702.16px; }
.pg-access .ax-dg--c1 .ax-p5{ left:932.42px; }
.pg-access .ax-dg--c1 .ax-g1{ left:60px;     width:179.89px; }
.pg-access .ax-dg--c1 .ax-g2{ left:299.89px; width:165.88px; }
.pg-access .ax-dg--c1 .ax-g3{ left:525.77px; width:176.39px; }
.pg-access .ax-dg--c1 .ax-g4{ left:762.16px; width:170.26px; }

.pg-access .ax-dg--c2 .ax-p1{ left:0; }
.pg-access .ax-dg--c2 .ax-p2{ left:186.48px; }
.pg-access .ax-dg--c2 .ax-p3{ left:372.97px; }
.pg-access .ax-dg--c2 .ax-p4{ left:589.45px; }
.pg-access .ax-dg--c2 .ax-p5{ left:760.94px; }
.pg-access .ax-dg--c2 .ax-p6{ left:932.42px; }
.pg-access .ax-dg--c2 .ax-g1{ left:60px;     width:126.48px; }
.pg-access .ax-dg--c2 .ax-g2{ left:246.48px; width:126.49px; }
.pg-access .ax-dg--c2 .ax-g3{ left:432.97px; width:156.48px; }
.pg-access .ax-dg--c2 .ax-g4{ left:649.45px; width:111.49px; }
.pg-access .ax-dg--c2 .ax-g5{ left:820.94px; width:111.48px; }

.pg-access .ax-dg--c3 .ax-p1{ left:0; }
.pg-access .ax-dg--c3 .ax-p2{ left:304.75px; }
.pg-access .ax-dg--c3 .ax-p3{ left:657.21px; }
.pg-access .ax-dg--c3 .ax-p4{ left:932.42px; }
.pg-access .ax-dg--c3 .ax-g1{ left:60px;     width:244.75px; }
.pg-access .ax-dg--c3 .ax-g2{ left:364.75px; width:292.46px; }
.pg-access .ax-dg--c3 .ax-g3{ left:717.21px; width:215.21px; }

/* -------------------------------------------------- 外部リンクボタン 2つ */
.pg-access .ax-btns{ position:absolute; left:0; top:1810.03px; height:60.2px; }
.pg-access .ax-btn{
  position:absolute; top:0; width:200px; height:60.2px;
  display:flex; align-items:center; justify-content:center;
  background:var(--c-ink); color:var(--c-white);
  font-family:var(--ff-min); font-weight:600;
  font-size:16px; line-height:1; letter-spacing:.05em; white-space:nowrap;
  transition:background .4s var(--ease);
}
.pg-access .ax-btn:hover{ opacity:1; background:var(--c-gold); }
.pg-access .ax-btn--1{ left:281.5px; }
.pg-access .ax-btn--2{ left:521.5px; }

/* --------------------------------------------- ご宿泊予約（スリム版・h=250.7）
   TOP の .reserve は h=565（検索フォーム＋リボン＋電話）。
   このページはタイトル＋ボタンだけの帯なので高さと中身を差し替える。 */
.pg-access .reserve--slim{ height:250.74px; }
.pg-access .reserve--slim .reserve__ttl{ top:82.17px; }
.pg-access .ax-rbtn{
  position:absolute; left:401px; top:158.74px; width:200px; height:40px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 22px 0 21.65px;
  background:var(--c-ink); color:var(--c-white);
  font-family:var(--ff-got); font-weight:500;
  font-size:14px; line-height:1; letter-spacing:0; white-space:nowrap;
  transition:background .4s var(--ease);
}
.pg-access .ax-rbtn:hover{ opacity:1; background:var(--c-gold); }
.pg-access .ax-rbtn__chev{ flex:none; display:block; }

/* ======================================================================
   SP（375px）— このページには SP アートボードが存在しないため、
   PC 実測レイアウトを崩さない範囲での暫定対応。
   ルート図は原寸のまま横スクロールコンテナに入れる（ページ自体は横スクロールしない）。
   ※クライアント確認事項：SP でのルート図の見せ方（横スクロール／縦積み／画像化）
   ====================================================================== */
@media (max-width:767px){
  .pg-access .ax-fv{ height:44rem; }
  .pg-access .ax-fv__photo{ background-size:cover!important; background-position:52% 46%!important; }
  .pg-access .ax-fv__inner{ width:auto; }
  .pg-access .ax-fv__en{ left:2.5rem; top:auto; bottom:3.4rem; font-size:1.3rem; }
  .pg-access .ax-fv__ttl{ right:8.2rem; top:8rem; font-size:3.2rem; }

  .pg-access .ax-map{ height:34rem; }
  .pg-access .ax-map__img{ object-position:left center; }

  .pg-access .ax-routes > .wrap{ height:auto; padding:4.4rem 2rem 5.6rem; }
  .pg-access .ax-addr{ position:static; font-size:1.5rem; line-height:1.87; }
  .pg-access .ax-addr > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ white-space:normal; }
  .pg-access .ax-h2{ position:static; margin-top:3.6rem; font-size:2rem; }
  .pg-access .ax-h2--train,
  .pg-access .ax-h2--car{ top:auto; }

  .pg-access .ax-scroll{
    position:static; width:auto; margin-top:2.4rem;
    overflow-x:auto; -webkit-overflow-scrolling:touch;
  }
  .pg-access .ax-scroll--t1{ height:239px; }
  .pg-access .ax-scroll--t2,
  .pg-access .ax-scroll--t3{ height:122px; }
  .pg-access .ax-scroll--c1,
  .pg-access .ax-scroll--c2,
  .pg-access .ax-scroll--c3{ height:150px; }
  .pg-access .ax-dg{ position:relative; inset:auto; height:100%; }
  .pg-access .ax-dg--tr{ width:599.57px; }
  .pg-access .ax-dg--cr{ width:992.42px; }

  .pg-access .ax-btns{
    position:static; height:auto; margin-top:4rem;
    display:flex; flex-direction:column; align-items:center; gap:1.6rem;
  }
  .pg-access .ax-btn{ position:static; width:100%; max-width:28rem; height:5.4rem; font-size:1.5rem; }

  .pg-access .reserve--slim{ height:22rem; }
  .pg-access .reserve--slim .reserve__ttl{ top:5.4rem; font-size:2.5rem; }
  .pg-access .ax-rbtn{
    left:50%; top:12.4rem; transform:translateX(-50%);
    width:24rem; height:4.4rem; padding:0 2rem; font-size:1.4rem;
  }
}

/* ==========================================================================
   過ごし方  stay.html
   原本 : 260807_miharuya_Web / みはるや_WEB_06_過ごし方 / 00_みはるや_WEB_過ごし方.ai
   アートボード PC 1366 x 6694.4（SP面は支給なし）
   構成 : FV 768 + セクション 768x7 + 予約帯 250 + フッター 300 = 6694
   すべての数値は Illustrator テキストフレーム/配置画像の実測値。
   pageY = 5000 - (Illustrator y) / コンテンツ幅は共通の .wrap 1002px（x182..1184）
   ========================================================================== */
.pg-stay{
  /* このページの金（実測 rgb(185,163,90)）。style.css の --c-gold(#8d7435) とは別値 */
  --c-gold-2:#b9a35a;
  --sy-lane:883px;          /* 左の写真レーン幅（実測 x0..883 / 最終写真ピクセル x882）*/
  --sy-scrim:220px;         /* 左スクリム幅（実測 x0..220）*/
}

/* ---------------------------------------------------------------- ページFV */
/* 全幅ブリード写真（スクリム無し・実測で左右輝度比 1.00）＋縦組み白タイトル */
.pg-stay .sy-fv{
  position:relative; height:var(--vh); min-height:var(--band);
  overflow:hidden; background:#6b6f71;
}
.pg-stay .sy-fv__media{
  position:absolute; inset:0;
  /* PLACED 画像_SUG_0792.jpg  left -256.21 / top -241.01 / 1622.68 x 1081.79 */
  background:url(../img/photo/stay-fv.jpg) no-repeat;
  background-size:1622.68px 1081.79px; background-position:-256.21px -241.01px;
}
/* デザイン上で写真に重ねている黒の量（実測: 正本/素材 の輝度比 0.7532 が
   x/y 方向いずれもフラット＝一様な黒ベタ。左側だけのスクリムは FV には無い）*/
.pg-stay .sy-fv__media::after{
  content:""; position:absolute; inset:0; background:#000; opacity:.247;
}
.pg-stay .sy-fv .wrap{ height:100%; }
/* em box x1088.64 → right 1138.64 / top 495.9（YuMin 50px, ls .05em, line-height 1）*/
.pg-stay .sy-fv__ttl{
  position:absolute; top:495.9px; right:45.36px; margin:0;
  writing-mode:vertical-rl;
  font-family:var(--ff-min); font-weight:400;
  font-size:50px; line-height:1; letter-spacing:.05em;
  color:var(--c-white); white-space:nowrap;
}

/* ------------------------------------------------------------ 7つのバンド */
/* 地色は交互（実測 x1200 の垂直スキャン）: 奇数バンド #FFFFFF / 偶数 #E7E4DE */
.pg-stay .sy-sec{
  position:relative; height:var(--vh); min-height:var(--band);
  background:var(--c-white);
}
.pg-stay .sy-sec--alt{ background:#e7e4de; }
.pg-stay .sy-sec > .wrap{
  position:absolute; left:0; right:0; top:0; z-index:2; height:100%;
}

/* 左レーン = 写真883x768 ＋ 左スクリム ＋ 大時刻 ＋ タイムライン。
   指示レイヤー(barhotel)「スクロールに連動して画像が固定・切り替わる
   （ピン留め・Sticky固定のアニメーション）」→ position:sticky で固定し、
   バンドが変わるごとに写真・大時刻・金ドットが切り替わる。 */
.pg-stay .sy-lane{
  position:sticky; top:0; z-index:1;
  width:var(--sy-lane); height:100%;
  overflow:hidden;
}
/* 指示レイヤー(kiyasuya)「画像枠の左側からマスク（カバー）が右へスライドして
   剥がれるように画像が現れる」→ style.css の .rv-img（clip-path inset）を使う */
.pg-stay .sy-lane__pic{ position:absolute; inset:0; }
.pg-stay .sy-lane__pic > .ph{ position:absolute; left:0; top:0; }
/* デザイン上で写真に重ねている黒の量（バンドごとに実測。--dim は各 .sy-ph--bN で指定）
   マスク剥がしと一緒に出るよう、クリップされる .ph の内側に置く */
.pg-stay .sy-lane__pic .ph::after{
  content:""; position:absolute; inset:0; background:#000; opacity:var(--dim,0);
}
/* 左スクリム: x0..220 の全高（実測で x219→220 に1段のみ。境界はサブピクセル無し）*/
.pg-stay .sy-scrim{
  left:0; top:0; width:var(--sy-scrim); height:100%;
  background:rgba(0,0,0,.145);   /* 実測: 左/中央の輝度比 0.855（全7バンド一致）*/
}

/* 大時刻ラベル: em box x47.58 / top +66.1 / YuMin 50px / 白 / 送り 27.0px＝0.54em */
/* top: em box 実測は +66.1 だが Shippori Mincho の数字は YuMincho より 2px 高く
   ベースラインも 5px 下がるため -4px してインク中心（正本 y841..877）に合わせる */
.pg-stay .sy-time{
  position:absolute; left:47.58px; top:62.1px; z-index:3; margin:0;
  font-family:var(--ff-min); font-weight:400;
  font-size:50px; line-height:1; letter-spacing:.04em;
  color:var(--c-white); white-space:nowrap;
}
/* 時刻は数字も「：」も一律 0.5em 幅＋0.04em 送り（実測 advance 0.54em）。
   Shippori Mincho の ':' は 0.209em しか無いので半角セルで字送りを固定する */
.pg-stay .sy-time i,
.pg-stay .sy-tl__lbl i{
  display:inline-block; width:.5em; margin-right:.04em; text-align:center;
  font-style:normal;
}

/* タイムライン: ドット中心 x65.5 / 中心y = バンド上端 +237.5 +48.129*k */
.pg-stay .sy-tl{
  position:absolute; left:0; top:0; z-index:3;
  width:var(--sy-scrim); height:100%;
}
.pg-stay .sy-tl li{ position:absolute; left:0; height:0; }
.pg-stay .sy-tl li:nth-child(1){ top:237.5px; }
.pg-stay .sy-tl li:nth-child(2){ top:285.63px; }
.pg-stay .sy-tl li:nth-child(3){ top:333.76px; }
.pg-stay .sy-tl li:nth-child(4){ top:381.89px; }
.pg-stay .sy-tl li:nth-child(5){ top:430.02px; }
.pg-stay .sy-tl li:nth-child(6){ top:478.15px; }
.pg-stay .sy-tl li:nth-child(7){ top:526.27px; }
.pg-stay .sy-tl__dot{
  position:absolute; left:60.5px; top:-5px; width:10px; height:10px;
  border-radius:50%; background:var(--c-white);
  transition:background .5s var(--ease);
}
.pg-stay .sy-tl li.is-on .sy-tl__dot{ background:var(--c-gold-2); }
/* 連結線: 白 1.25px（実測インク x65.4..66.7）。ドットの上下に 5.5px のアキ */
.pg-stay .sy-tl li:not(:last-child)::after{
  content:""; position:absolute; left:65.45px; top:10.5px;
  width:1.25px; height:27.13px; background:var(--c-white);
}
/* タイムライン時刻: em box x78.0 / em top = ドット中心 -5.4 / YuMin 12px */
.pg-stay .sy-tl__lbl{
  position:absolute; left:78px; top:-5.4px;
  font-family:var(--ff-min); font-weight:400;
  font-size:12px; line-height:1; letter-spacing:.04em;
  color:var(--c-white); white-space:nowrap;
}

/* 縦組み見出し: em box right 1184.40 / top +99.5 / YuMin 32px ls .05em
   half-leading = (1.903-1)*32/2 = 14.45 → right = 1184 - 1184.40 - 14.45 */
.pg-stay .vttl{ top:99.5px; right:-14.85px; }
/* 縦組み本文: 最右列 em right 1113.70 / top +105.2 / YuMin 16px / 列ピッチ 32.0
   half-leading = (2-1)*16/2 = 8 → right = 1184 - (1113.70 + 8) */
.pg-stay .vbody{
  top:105.2px; right:62.3px;
  font-family:var(--ff-min); font-weight:400;
  font-size:16px; line-height:2; letter-spacing:.05em;
}
.pg-stay .vbody__gap{ margin-right:32px; }   /* 原稿の段落アキ = 1列（32px）*/

/* 縦組みリンク（b3/b4/b5）: em box x944.24 → right 956.24 / YuGo 12px ls 0 / 金
   左に 0.75px の縦罫（x935.45, h=101.5）＋罫の下端に約5pxの矢羽 */
.pg-stay .sy-link{
  position:absolute; right:221.76px;
  writing-mode:vertical-rl;
  font-family:var(--ff-got); font-weight:500;
  font-size:12px; line-height:1; letter-spacing:0;
  color:var(--c-gold-2); white-space:nowrap;
}
.pg-stay .sy-link span{ display:block; transition:transform .5s var(--ease); }
.pg-stay .sy-link::before{
  content:""; position:absolute; left:-8.8px; top:-3.5px;
  width:.75px; height:101.5px; background:currentColor;
}
.pg-stay .sy-link::after{
  content:""; position:absolute; left:-8.8px; top:92.3px;
  width:.75px; height:5.7px; background:currentColor;
  transform:rotate(-45deg); transform-origin:50% 100%;
  transition:transform .5s var(--ease);
}
.pg-stay .sy-link:hover{ opacity:1; }
.pg-stay .sy-link:hover span{ transform:translateY(4px); }
.pg-stay .sy-link:hover::after{ transform:rotate(-45deg) translateY(-4px); }
.pg-stay .sy-sec--b3 .sy-link{ top:424.1px; }   /* 罫 top = バンド上端 +421.0 */
.pg-stay .sy-sec--b4 .sy-link,
.pg-stay .sy-sec--b5 .sy-link{ top:495px; }     /* 罫 top = バンド上端 +491.0 */

/* ---- 写真（PLACED の実寸をそのまま background-size / position に使う）---- */
.pg-stay .sy-ph--b1{ background-image:url(../img/photo/stay-01-noren.jpg);
  background-size:904.84px 1357.64px; background-position:-18.95px -582.11px; }
.pg-stay .sy-ph--b2{ background-image:url(../img/photo/stay-02-lounge.jpg);
  background-size:1230.03px 819.95px; background-position:-9.62px -46.57px;  --dim:.247;}
.pg-stay .sy-ph--b3{ background-image:url(../img/photo/stay-03-sunaburo.jpg);
  background-size:1181.87px 787.69px; background-position:-134.68px -13.16px;  --dim:.247;}
.pg-stay .sy-ph--b4{ background-image:url(../img/photo/stay-04-onsen.jpg);
  background-size:1264.15px 842.59px; background-position:-205.09px -65.01px;  --dim:.247;}
/* b5 の原本 画像_538A9030.jpg は TOP の 画像_料理_538A9030.jpg と同一ファイル
   （画素差 0.00）→ 既存 band-cuisine.jpg を再利用 */
.pg-stay .sy-ph--b5{ background-image:url(../img/photo/band-cuisine.jpg);
  background-size:1198.46px 798.97px; background-position:-119.56px -6.46px; }
.pg-stay .sy-ph--b6{ background-image:url(../img/photo/stay-06-daiyokujo.jpg);
  background-size:896.33px 1344.49px; background-position:-6.04px -376.78px; }
.pg-stay .sy-ph--b7{ background-image:url(../img/photo/stay-07-town.jpg);
  background-size:890.47px 1335.71px; background-position:-6.04px -404.07px;  --dim:.145;}

/* ------------------------------------------- ご宿泊予約（下層の簡易版 h=250） */
/* TOP の .reserve は h=565（検索フォーム／電話／リボン付き）だが
   このページは見出し＋CTA 1個のみ。地色は同じ和紙テクスチャ（実測平均一致）*/
.pg-stay .reserve--slim{ height:250px; }
.pg-stay .reserve--slim .reserve__ttl{ top:82.5px; }   /* em top = バンド上端 +82.5 */
/* CTA: 矩形 200x40（中心 x683 = ページ中央）/ 上端 = バンド上端 +159 */
.pg-stay .sy-cta{
  position:absolute; left:0; right:0; top:159px; margin-inline:auto;
  width:200px; height:40px;
  background:var(--c-ink); color:var(--c-white);
  transition:background .4s var(--ease), opacity .4s var(--ease);
}
.pg-stay .sy-cta:hover{ opacity:1; background:var(--c-gold-2); }
.pg-stay .sy-cta__lbl{
  position:absolute; left:21.7px; top:50%; transform:translateY(-50%);
  font-family:var(--ff-got); font-weight:500;
  font-size:14px; line-height:1; letter-spacing:0; white-space:nowrap;
}
/* 右端のシェブロン（実測インク x755..761 / y6317..6329 = 6x12px）*/
.pg-stay .sy-cta::after{
  content:""; position:absolute; right:23.75px; top:50%;
  width:8.5px; height:8.5px;
  border-top:1.4px solid currentColor; border-right:1.4px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
  transition:transform .4s var(--ease);
}
.pg-stay .sy-cta:hover::after{ transform:translateY(-50%) rotate(45deg) translate(3px,-3px); }

/* --------------------------------------------------- 現在のバンド（JS 付与） */
/* barhotel 指示の「切り替わる」感を出すための現在位置表示。
   静止レンダリングはデザイン通り（バンドごとに金ドットが1個）で変わらない。 */
.pg-stay .sy-sec.is-cur .sy-tl li.is-on .sy-tl__dot{
  box-shadow:0 0 0 4px rgba(185,163,90,.28);
}

/* ======================================================================
   SP（375）— このページは SP アートボードが支給されていないため暫定。
   PC の意図（写真→縦組み見出し＋本文）を保ったまま1カラムに畳む。
   タイムラインは幅が取れないため非表示（大時刻ラベルは残す）。
   ====================================================================== */
@media (max-width:767px){
  .pg-stay .sy-fv{ height:52rem; min-height:0; }
  .pg-stay .sy-fv__media{ background-size:cover; background-position:52% 60%; }
  .pg-stay .sy-fv__ttl{
    top:auto; bottom:5.6rem; right:2.4rem; font-size:3.4rem;
  }
  .pg-stay .sy-sec{ height:auto; min-height:0; }
  .pg-stay .sy-lane{
    position:relative; top:auto; width:100%; height:37.5rem;
  }
  .pg-stay .sy-scrim{ width:9rem; }
  .pg-stay .sy-time{ left:2rem; top:2.4rem; font-size:3.4rem; }
  .pg-stay .sy-tl{ display:none; }
  .pg-stay .sy-sec > .wrap{
    position:relative; left:auto; right:auto; top:auto; height:44rem;
  }
  .pg-stay .vttl{ top:5rem; right:2.4rem; font-size:2.4rem; line-height:1.9; }
  .pg-stay .vbody{
    top:5.6rem; right:8.4rem; font-size:1.5rem; line-height:2; letter-spacing:.05em;
  }
  .pg-stay .vbody__gap{ margin-right:1.6rem; }
  /* SP はリンクを横組みの下線リンクにする（縦組みだと本文と干渉する）*/
  .pg-stay .sy-link{
    top:auto!important; bottom:3.2rem; right:auto; left:2.4rem;
    writing-mode:horizontal-tb; font-size:1.3rem; padding-bottom:.6rem;
  }
  .pg-stay .sy-link::before{
    left:0; top:auto; bottom:0; width:12rem; height:1px;
  }
  .pg-stay .sy-link::after{
    left:11.2rem; top:auto; bottom:0; width:1px; height:.8rem;
    transform:rotate(-45deg);
  }
  .pg-stay .sy-link:hover span{ transform:none; }

  .pg-stay .reserve--slim{ height:22rem; }
  .pg-stay .reserve--slim .reserve__ttl{ top:5.4rem; font-size:2.5rem; }
  .pg-stay .sy-cta{ top:12.6rem; width:24rem; height:4.4rem; }
  .pg-stay .sy-cta__lbl{ left:2.4rem; font-size:1.4rem; }
  .pg-stay .sy-cta::after{ right:2.4rem; }
}

/* ==========================================================================
   下層ページ 共通レイアウト（Illustrator 実測値）
   PC 1366 / コンテンツ幅 1002px（x182–1184）。wrap 基準の right/top で配置する。
   縦組みの right = 1184 - inkRight - halfLeading
   halfLeading = (line-height - 1) × font-size / 2
   ========================================================================== */

/* ---------------- ページFV: 全幅写真 ＋ 縦組み大見出し -------------------- */
.pfv{
  position:relative; height:768px; overflow:hidden; background:#0d1512;
}
.pfv__media{ position:absolute; inset:0; background-repeat:no-repeat; }
.pfv__media::after{
  content:""; position:absolute; inset:0; background:#000; opacity:var(--dim,0);
}
.pfv .wrap{ position:relative; height:100%; z-index:2; }
.pfv__ttl{
  position:absolute; writing-mode:vertical-rl;
  font-family:var(--ff-min); font-weight:400; font-size:70px; line-height:1.1;
  letter-spacing:.1em; color:#fff; margin:0;
}

/* ---------------- 白地イントロ（縦組み3ブロック） ------------------------ */
.pintro{ position:relative; background:#fff; height:626.5px; }
.pintro .wrap{ height:100%; }
.pintro__ttl{
  position:absolute; writing-mode:vertical-rl;
  font-family:var(--ff-min); font-weight:500; font-size:32px; line-height:1.905;
  letter-spacing:.05em; margin:0;
}
.pintro__lead{
  position:absolute; writing-mode:vertical-rl;
  font-family:var(--ff-min); font-weight:500; font-size:18px; line-height:1.851;
  letter-spacing:.05em;
}
.pintro__body{
  position:absolute; writing-mode:vertical-rl;
  font-weight:500; font-size:15px; line-height:2.173; letter-spacing:0;
}
.pintro__ttl > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
.pintro__lead > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:block; white-space:nowrap; }
.pdeco{ position:absolute; }
.pdeco img{ width:100%; }

/* ---------------- 和紙バンド（汎用） ------------------------------------ */
.pband{ position:relative; }
.pband .wrap{ height:100%; }
.pband__ttl{
  position:absolute; writing-mode:vertical-rl;
  font-family:var(--ff-min); font-weight:500; font-size:18px; line-height:1;
  letter-spacing:.05em; margin:0;
}
.pband__body{
  position:absolute; writing-mode:vertical-rl;
  font-weight:500; font-size:15px; line-height:2.173; letter-spacing:0;
}
.pfig{ position:absolute; overflow:hidden; }
.pfig .ph{ display:block; width:100%; height:100%; background-repeat:no-repeat; position:relative; }
.pfig .ph::after{
  content:""; position:absolute; inset:0; background:#000; opacity:var(--dim,0);
}

/* ---------------- 無限ループのスライド帯 -------------------------------- */
/* 指示:「右から左へゆっくり無限ループ」（参考 kiyasuya.jp/spa） */
.pmarquee{ position:relative; height:400px; overflow:hidden; background:#fff; }
/* 温泉: スライド 684px ＋ ガター49px ＝ ピッチ733px、初期位置 x-392（実測）*/
.pg-onsen .pmarquee{ --x0:-392px; --loop:2932px; --run:64s; }
.pmarquee__track{
  position:absolute; top:0; left:0; height:100%;
  display:flex; gap:49px;
  animation:pmarquee-run var(--run,64s) linear infinite;
  will-change:transform;
  transform:translateX(var(--x0,0));
}
.pmarquee:hover .pmarquee__track,
.pmarquee.is-paused .pmarquee__track{ animation-play-state:paused; }
@keyframes pmarquee-run{
  from{ transform:translateX(var(--x0,0)); }
  to  { transform:translateX(calc(var(--x0,0px) - var(--loop, 2932px))); }
}
.pslide{
  position:relative; flex:none; width:684px; height:400px; overflow:hidden;
}
.pslide .ph{ display:block; width:100%; height:100%; background-repeat:no-repeat; position:relative; }
.pslide .ph::after{ content:""; position:absolute; inset:0; background:#000; opacity:var(--dim,0); }
.pslide__label{
  position:absolute; left:calc(100% + 9.42px); bottom:0;
  writing-mode:vertical-rl; white-space:nowrap;
  font-weight:500; font-size:15px; line-height:1; letter-spacing:0;
}
.pmarquee-nav{
  position:relative; height:142.5px; background:#fff;
}
.pmarquee-nav .wrap{ height:100%; }
.pmarquee-nav__dots{
  position:absolute; left:0; top:23.5px; display:flex; gap:29px;
}
.pmarquee-nav__dots button{
  width:11.5px; height:11.5px; border-radius:50%; background:#8a8a8a;
  transition:background .3s var(--ease);
}
.pmarquee-nav__dots button[aria-current="true"]{ background:#141414; }
.pmarquee-nav__arrow{
  position:absolute; top:18.5px; width:11px; height:20px;
}
.pmarquee-nav__arrow::before{
  content:""; position:absolute; left:1px; top:4px; width:11px; height:11px;
  border-top:1.4px solid #141414; border-right:1.4px solid #141414;
}
.pmarquee-nav__arrow--prev{ right:59px; }
.pmarquee-nav__arrow--prev::before{ transform:rotate(-135deg); }
.pmarquee-nav__arrow--next{ right:-1px; }
.pmarquee-nav__arrow--next::before{ transform:rotate(45deg); }

/* ---------------- セクション一覧（点線区切り） -------------------------- */
.plist{ position:relative; background:#e7e4de; }
.plist .wrap{ height:100%; }
.psec{ position:absolute; left:0; right:0; height:450px; }
.psec + .psec::before{
  content:""; position:absolute; left:0; right:0; top:-50.5px; height:1px;
  background:repeating-linear-gradient(to right,#333 0 2px,transparent 2px 5.85px);
}
.psec__fig{ position:absolute; left:1.3px; top:.3px; width:300.6px; height:240.5px; overflow:hidden; }
.psec__tag{
  position:absolute; right:1.5px; top:.5px; width:30px; height:90px;
  writing-mode:vertical-rl; display:flex; align-items:center; justify-content:center;
  font-family:var(--ff-min); font-weight:500; font-size:16px; letter-spacing:0;
}
.psec__tag--fill{ background:var(--c-ink); color:#fff; }
.psec__tag--line{ border:1px solid var(--c-ink); color:var(--c-ink); }
.psec__ttl{
  position:absolute; top:0; writing-mode:vertical-rl; margin:0;
  font-family:var(--ff-min); font-weight:500; font-size:22px; line-height:1;
  letter-spacing:.05em;
}
.psec__lead,
.psec__note,
.psec__detail{
  position:absolute; top:0; writing-mode:vertical-rl; height:350px;
}
.psec__lead{ font-weight:500; font-size:15px; line-height:2.173; }
.psec__detail{ font-weight:400; font-size:15px; line-height:1.7; }
.psec__note{ font-weight:400; font-size:13px; line-height:1.8; }
.psec__lead > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
.psec__note > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
.psec__detail > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
.pband__body > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:block; white-space:nowrap; }
.psec__label{
  position:absolute; top:0; writing-mode:vertical-rl; white-space:nowrap;
  font-weight:600; font-size:15px; line-height:1; letter-spacing:0;
}
.psec__rule{
  position:absolute; top:0; width:1px; height:351px; background:rgba(51,51,51,.75);
}

/* ---------------- 白カード（泉質表） ----------------------------------- */
.pcard{
  position:absolute; left:101px; width:800px; background:#fff;
}
.pcard__row{ position:absolute; }
.pcard__key{
  font-family:var(--ff-min); font-weight:500; font-size:20px; line-height:1.25;
  letter-spacing:0; white-space:nowrap;
}
.pcard__val{
  font-weight:500; font-size:15px; line-height:2.173; letter-spacing:0;
}
.pcard__hr{
  position:absolute; left:95px; width:611px; height:1px; background:rgba(51,51,51,.75);
}
.pcard__note{
  position:absolute; font-weight:400; font-size:13px; line-height:1; letter-spacing:0;
}

/* ---------------- 下部の 250px バンド（写真 / 和紙） -------------------- */
.pcta{ position:relative; height:250px; overflow:hidden; }
.pcta .wrap{ position:relative; height:100%; z-index:2; }
.pcta__media{ position:absolute; inset:0; background-repeat:no-repeat; isolation:isolate;
  /* 乗算マップだけでは 9% 暗く残るぶんの実測補正（onsen/rooms の線形フィット平均）*/
  filter:brightness(1.089) contrast(1.019); }
/* 正本の暗幕は「黒ベタ」でも楕円ビネットでもなく、位置ごと・チャンネルごとに倍率が違う乗算。
   暗幕なしの描画と正本から倍率マップを実測し、multiply で重ねている（コントラストが保たれる）。 */
.pcta__media::after{
  content:""; position:absolute; inset:0; mix-blend-mode:multiply;
  background:url(../img/bg/scrim-cta.png) 0 0/100% 100% no-repeat;
}
.pcta--washi{
  background:url(../img/bg/yoyaku.jpg) center/cover no-repeat, var(--c-reserve);
}
.pcta__ttl{
  position:absolute; left:0; right:0; top:83px;
  font-family:var(--ff-min); font-weight:500; font-size:38px; line-height:1;
  letter-spacing:.2em; text-indent:.2em; text-align:center; color:#fff; margin:0;
}
.pbtn{
  position:absolute; left:401px; top:158px; width:200px; height:40px;
  display:flex; align-items:center;
  padding-left:22px; box-sizing:border-box;
  font-weight:500; font-size:14px; letter-spacing:0; color:#fff;
  background:var(--c-ink); border:0;
  transition:background .4s var(--ease), opacity .4s var(--ease);
}
.pbtn::after{
  content:""; position:absolute; right:22px; top:50%; width:7px; height:7px;
  border-top:1.4px solid currentColor; border-right:1.4px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
  transition:transform .4s var(--ease);
}
.pbtn:hover{ opacity:1; background:var(--c-gold); }
.pbtn:hover::after{ transform:translateY(-50%) rotate(45deg) translate(3px,-3px); }
.pbtn--line{
  left:400.5px; top:157.5px; width:201px; height:41px;
  background:none; border:1px solid rgba(255,255,255,.75);
}
.pbtn--line:hover{ background:rgba(255,255,255,.14); }

/* ==========================================================================
   下層ページ SP（375px 基準）
   ※下層ページには SP のデザインが支給されていないため、TOP の SP 面で確立した
     作法（縦組みは維持・写真は全幅・数値は 375 基準の rem）で展開している。
   ========================================================================== */
@media (max-width:767px){
  /* ページFV */
  .pfv{ height:56rem; }
  .pfv__media{ background-size:cover !important; background-position:center !important; }
  .pfv__ttl{ font-size:4.4rem; right:3.2rem !important; top:8rem !important; letter-spacing:.1em; }

  /* 縦組み3ブロックは右→左の行として並べる */
  .pintro{ height:auto; padding:7rem 0 8rem; }
  .pintro .wrap{ height:auto; display:flex; flex-direction:row-reverse;
    justify-content:center; align-items:flex-start; gap:2.4rem; padding:0 2rem; }
  .pintro__ttl,
  .pintro__lead,
  .pintro__body{ position:static !important; right:auto !important; top:auto !important; }
  .pintro__ttl{ font-size:2.3rem; line-height:1.9; }
  .pintro__lead{ font-size:1.6rem; line-height:1.85; }
  .pintro__body{ font-size:1.4rem; line-height:2.1; height:38rem !important; }
  .pdeco{ display:none; }

  /* 和紙バンド: 写真を全幅にして、その下に文字列を置く */
  .pband{ height:auto !important; padding-bottom:7rem;
    background-size:cover !important; background-position:center !important; }
  .pband .wrap{ height:auto; }
  .pband .pfig{
    position:static !important; width:100% !important; height:24rem !important;
    left:auto !important; top:auto !important; margin-bottom:4rem;
  }
  .pband__ttl,
  .pband__body{ position:static !important; right:auto !important; top:auto !important; }
  .pband .wrap{ display:flex; flex-wrap:wrap; flex-direction:row-reverse;
    justify-content:center; align-items:flex-start; gap:2rem; padding:0 2rem; }
  .pband .pfig{ order:-1; flex:0 0 100%; }
  .pband__ttl{ font-size:1.7rem; }
  .pband__body{ font-size:1.4rem; line-height:2.1; height:40rem !important; }

  /* スライド帯 */
  .pmarquee{ height:23rem; }
  .pslide{ width:33.5rem; height:23rem; }
  .pg-onsen .pmarquee{ --x0:0px; --loop:145.2rem; --run:48s; }
  .pmarquee__track{ gap:2.8rem; }
  .pslide__label{ left:auto; right:1rem; bottom:1rem; font-size:1.3rem; color:#fff;
    text-shadow:0 0 8px rgba(0,0,0,.5); }
  .pmarquee-nav{ height:8rem; }
  .pmarquee-nav .wrap{ padding:0 2rem; }
  .pmarquee-nav__dots{ left:2rem; top:1.6rem; gap:1.8rem; }
  .pmarquee-nav__dots button{ width:1rem; height:1rem; }
  .pmarquee-nav__arrow{ top:1.2rem; }
  .pmarquee-nav__arrow--prev{ right:6rem; }
  .pmarquee-nav__arrow--next{ right:2rem; }

  /* セクション一覧: 1本ずつ縦に積む */
  .plist{ height:auto !important; padding:6rem 0 7rem; }
  .plist .wrap{ height:auto; }
  .psec{
    position:relative; left:auto; right:auto; height:auto;
    display:flex; flex-direction:row-reverse; flex-wrap:wrap;
    justify-content:center; align-items:flex-start; gap:1.8rem;
    top:auto !important; padding:0 2rem 5rem;
  }
  .psec + .psec{ padding-top:5rem; }
  .psec + .psec::before{ top:0; left:2rem; right:2rem; }
  .psec__fig{
    position:static !important; order:-1; flex:0 0 100%;
    width:100% !important; height:24rem !important; left:auto !important; top:auto !important;
    margin-bottom:3rem;
  }
  .psec__tag{ position:static !important; right:auto !important; top:auto !important;
    width:2.6rem; height:7.6rem; font-size:1.4rem; flex:none; }
  .psec__ttl,
  .psec__lead,
  .psec__detail,
  .psec__note,
  .psec__label{ position:static !important; right:auto !important; top:auto !important; }
  .psec__ttl{ font-size:2rem; }
  .psec__lead{ font-size:1.4rem; line-height:2.1; height:30rem !important; }
  .psec__detail{ font-size:1.4rem; line-height:1.75; height:auto !important; }
  .psec__note{ font-size:1.2rem; line-height:1.8; height:26rem !important; }
  .psec__label{ font-size:1.4rem; }
  .psec__rule{ display:none; }

  /* 泉質カード */
  .pcard{
    position:relative; left:auto !important; top:auto !important;
    width:auto; height:auto !important; margin:0 2rem; padding:3rem 2rem 3.4rem;
  }
  .pcard dl{ display:block; }
  .pcard__row{ position:static !important; left:auto !important; top:auto !important; }
  .pcard__key{ font-size:1.8rem; }
  .pcard__val{ font-size:1.4rem; line-height:1.9; margin:.6rem 0 2.4rem !important; width:auto !important; }
  .pcard__hr{ display:none; }
  .pcard__note{ position:static !important; left:auto !important; top:auto !important;
    margin-top:1.4rem; font-size:1.2rem; line-height:1.7; }

  /* 下部 250px バンド */
  .pcta{ height:20rem; }
  .pcta__media{ background-size:cover !important; background-position:center !important; }
  .pcta__ttl{ top:5.4rem; font-size:2.6rem; }
  .pbtn{ left:50% !important; transform:translateX(-50%);
    top:11.6rem !important; width:24rem; height:4.4rem; font-size:1.3rem; padding-left:2rem; }
  .pbtn::after{ right:2rem; }
  .pbtn--line{ width:24rem; height:4.4rem; }
}

/* --------------------------------------------------------------------------
   SP: 長い本文だけ横組みに落とす
   375px 幅では縦組みの長文が読めないため、見出し・タグ・リード見出しは縦組みの
   ままにし、本文/明細/注記だけ横組みにする（SP デザイン未支給ぶんの判断）。
   -------------------------------------------------------------------------- */
@media (max-width:767px){
  .pintro__body,
  .pband__body,
  .psec__lead,
  .psec__detail,
  .psec__note{
    writing-mode:horizontal-tb !important;
    height:auto !important; flex:0 0 100%;
    letter-spacing:.01em;
  }
  .pintro__body > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
  .pband__body > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
  .psec__lead > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
  .psec__detail > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
  .psec__note > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:inline; white-space:normal; }
  .pintro__body{ line-height:1.95; }
  .pband__body{ line-height:1.95; }
  .psec__lead{ line-height:1.95; }
  .psec__detail{ line-height:1.85; }
  .psec__note{ line-height:1.8; }
  .psec__label{ writing-mode:horizontal-tb !important; font-size:1.4rem; }
  .psec__detail > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:block; }
  /* 横組みに落ちた要素は行として積む */
  .pintro .wrap,
  .pband .wrap,
  .psec{ flex-wrap:wrap; }
  .pintro__ttl,
  .pintro__lead{ flex:none; }
  .psec__ttl,
  .psec__tag{ flex:none; }
  .psec__label{ flex:0 0 100%; margin-top:1.6rem; }
  .tcy{ writing-mode:horizontal-tb; width:auto; height:auto; display:inline; }
}

/* ==========================================================================
   過ごし方 stay.html — 追補（追記のみ / 既存行は触らない）
     A) 指示レイヤー(oreder) 2件目の本実装：バンドのピン留め＋切り替え
     B) 正本とのサブピクセル差の詰め（タイムライン連結線 / 縦罫 / 矢羽 / シェブロン）
   ========================================================================== */

/* 左スクリムの黒量を再測定して修正（PC/SP 共通）。
   正本と素材の輝度から α を逆算すると 7バンドで .1478〜.1571（平均 .1511）。
   .145 では 0.5% ほど明るかった。 */
.pg-stay .sy-scrim{ background:rgba(0,0,0,.151); }

@media (min-width:768px){

  /* --- A) barhotel: 「スクロールに連動して画像が固定・切り替わる（Sticky）」 ---
     以前は .sy-lane を sticky にしていたが、レーン高 = セクション高 = 100vh の
     ため sticky の可動域が 0 で、実測上まったく固定されていなかった
     （スクロール量に対してレーンが 1:1 で動くことを Playwright で確認）。
     バンドそのものを .sy-flow（7バンド = 7画面）の中で sticky に重ね、
     いま見ているバンドが画面に固定 → 次のバンドが下からかぶさる、に変更する。
     ページ総高は変わらない（768 + 768*7 + 250 + 300 = 6694）。 */
  .pg-stay .sy-flow{ position:relative; z-index:0; }
  .pg-stay .sy-flow > .sy-sec{ position:sticky; top:0; }
  .pg-stay .sy-flow > .sy-sec:nth-child(1){ z-index:1; }
  .pg-stay .sy-flow > .sy-sec:nth-child(2){ z-index:2; }
  .pg-stay .sy-flow > .sy-sec:nth-child(3){ z-index:3; }
  .pg-stay .sy-flow > .sy-sec:nth-child(4){ z-index:4; }
  .pg-stay .sy-flow > .sy-sec:nth-child(5){ z-index:5; }
  .pg-stay .sy-flow > .sy-sec:nth-child(6){ z-index:6; }
  .pg-stay .sy-flow > .sy-sec:nth-child(7){ z-index:7; }
  /* 親が sticky になったのでレーン側の入れ子 sticky は不要（可動域 0 で無意味） */
  .pg-stay .sy-flow > .sy-sec > .sy-lane{ position:relative; }

  /* --- B1) タイムライン連結線 -------------------------------------------
     正本のインクは x65.5..66.75（幅 1.25px）で、x65 が 50%・x66 が 75% の
     被覆。width:1.25px はブラウザで 2px ベタに丸められて太くなるので、
     2px の箱＋グラデーションで被覆率そのものを再現する。 */
  .pg-stay .sy-tl li:not(:last-child)::after{
    left:65px; width:2px; height:27.25px;
    background:linear-gradient(90deg,
      rgba(255,255,255,.5) 0 1px, rgba(255,255,255,.75) 1px 2px);
  }

  /* --- B2) 縦組みリンクの金の縦罫 ---------------------------------------
     正本のインクは x935.5..936.25（幅 0.75px / x935 が 50.5%・x936 が 24.8%）。
     width:.75px も 1px ベタに丸められるため、同じくグラデーションで再現する。
     色は --c-gold-2 = rgb(185,163,90) の実測値。 */
  .pg-stay .sy-link::before{
    left:-9.24px; width:2px;
    background:linear-gradient(90deg,
      rgba(185,163,90,.505) 0 1px, rgba(185,163,90,.248) 1px 2px);
  }

  /* --- B3) 縦罫の下端の矢羽 ---------------------------------------------
     正本は罫の下端から右上へ伸びる 1本の羽（x935.5,y2825.5 → x939.5,y2823.0
     ＝ 長さ約 4.7px / 垂直から 58°）。以前は rotate(-45deg) で左上へ出ていた。 */
  .pg-stay .sy-link::after{
    left:-9px; top:92.8px; width:.75px; height:4.7px;
    transform:rotate(58deg); transform-origin:50% 100%;
  }
  .pg-stay .sy-link:hover::after{ transform:rotate(58deg) translateY(-4px); }

  /* --- B4) 予約 CTA のシェブロン ----------------------------------------
     正本のインクは x754.0..761.6 / y6316.75..6329.7（縦 12.94px・中心 y6323.2）。
     45°の線を横に切った被覆量は 2.24px ＝ 線の実効太さ 1.58px。
     border-width は整数デバイスピクセルに丸められて 1.58px を出せないので、
     2px の枠を scale(.79) して 1.58px を作る（縦 = 11.58*√2*.79 = 12.94）。 */
  .pg-stay .sy-cta::after{
    right:22.1px; width:11.58px; height:11.58px;
    border-top-width:2px; border-right-width:2px;
    transform:translateY(-50%) rotate(45deg) scale(.79);
  }
  .pg-stay .sy-cta:hover::after{
    transform:translateY(-50%) rotate(45deg) scale(.79) translate(3px,-3px);
  }
}

/* ピン留めは「動き」なので、動きを減らす設定では通常スクロールに戻す */
@media (prefers-reduced-motion:reduce){
  .pg-stay .sy-flow > .sy-sec{ position:relative; }
}

/* ==========================================================================
   砂風呂  sunaburo.html   .pg-sunaburo
   原本 : 260807_miharuya_Web / みはるや_WEB_03_砂風呂 / 00_みはるや_WEB_砂風呂.ai
          アートボード PC 1366 x 3422.11（AB 0「アートボード 1」のみ。SP 面は支給なし）
   バンド : FV 0–768 / イントロ 768–1394 / 効能・体験の流れ 1394–2374 /
            料金表 2374–2872 / ご宿泊予約 2872–3122.11 / フッター 3122.11–3422.11
   pageY = 5000 − (Illustrator y)。コンテンツ幅は共通の .wrap 1002px（x182–1184）。
   縦組みは right = 1184 − emRight − halfLeading、halfLeading = (line-height−1)×font-size/2。
   ========================================================================== */

/* 出現ディレイ（指示レイヤー「右から順にふわっと現れる」）。
   .rv--d1 は style.css に定義済み（.16s）。d2/d3 をこのページ用に足す。 */
.pg-sunaburo .rv--d2.is-in{ transition-delay:.32s; }
.pg-sunaburo .rv--d3.is-in{ transition-delay:.48s; }

/* ---------------------------------------------------------------- ページFV */
/* PLACED 画像_image_0238.jpg  left -44.831 / top -162.803 / 1425.914 x 950.609
   可視域は x0–1296（x1296–1366 は共通ヘッダーの和紙帯が上に乗る）*/
.pg-sunaburo .sb-fv{ background:#2f3b38; }
.pg-sunaburo .sb-fv .ph{ position:relative; }
/* 正本は素材より暗い。黒ベタの最小二乗フィット α=0.178（R .192 / G .170 / B .174）*/
.pg-sunaburo .sb-fv .ph::after{
  content:""; position:absolute; inset:0; background:#000; opacity:var(--dim,0);
}
.pg-sunaburo .sb-fv__ph{
  background-image:url(../img/photo/sunaburo-fv.jpg);
  background-size:1425.914px 950.609px;
  background-position:-44.831px -162.803px;
}
/* FV の暗幕も一様ではない（sd比 1.13）。実測アルファ画像を使う。 */
.pg-sunaburo .sb-fv .sb-fv__ph::after{
  background:url(../img/bg/scrim-sunaburo-fv.png) 0 0/100% 100% no-repeat; opacity:1;
}
/* TenMincho-Regular 70px（Web フォント無し → var(--ff-min)）/ 送り 77px = ls .1em
   em box 1078.64–1148.64（ink 中心 1113.6）/ em top = pageY 483.16 */
.pg-sunaburo .sb-fv__ttl{ top:483.16px; right:31.86px; }

/* -------------------------------------------------------------- イントロ帯 */
.pg-sunaburo .sb-intro{ height:626px; }
/* YuMin-Medium 32px / 行送り 61.5px / ls .05em / em右端 1129.64 */
.pg-sunaburo .sb-intro__ttl{
  top:99.54px; right:39.61px; line-height:1.922;
}
/* YuMin-Medium 18px / 行送り 33px / 1em送り 18.94 = ls .052em / em右端 631.27 */
.pg-sunaburo .sb-intro__lead{
  top:99.8px; right:545.23px; line-height:1.8333; letter-spacing:.052em;
}
/* YuGoPr6N-Medium 15px / 列送り 32.5px / ls 0 / em右端 490.80（7列）*/
.pg-sunaburo .sb-intro__body{
  top:100.62px; right:684.45px; line-height:2.1667;
}
.pg-sunaburo .sb-intro__body > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:block; white-space:nowrap; }
/* 手描きの浴衣イラスト（ink x935–1011 / y1211–1294）*/
.pg-sunaburo .sb-yukata{ left:752px; top:441px; width:78px; }

/* --------------------------------------------- 効能・体験の流れ帯（ベタ塗り）*/
/* 和紙テクスチャではなく背景レイヤーのベクター矩形（実測 std=0 / #E7E4DE 全幅）*/
.pg-sunaburo .sb-beige{
  position:relative; height:980px; background:#e7e4de;
}
.pg-sunaburo .sb-spec{
  position:relative; height:498px; background:var(--c-white);
}
.pg-sunaburo .sb-beige > .wrap,
.pg-sunaburo .sb-spec > .wrap{ height:100%; }

/* 縦組みセクションタグ（TOP の .vtag と違い囲み罫なし）
   YuMin-Medium 21px / 1em送り 22.0px = ls .0476em */
.pg-sunaburo .sb-vtag{
  position:absolute; margin:0; writing-mode:vertical-rl;
  font-family:var(--ff-min); font-weight:500; font-size:21px; line-height:1;
  letter-spacing:.0476em; color:var(--c-ink); white-space:nowrap;
}
.pg-sunaburo .sb-vtag--1{ top:132.33px; right:41.65px; }   /* em右端 1142.35 */
.pg-sunaburo .sb-vtag--2{ top:586.89px; right:41.65px; }   /* em右端 1142.35 */
.pg-sunaburo .sb-vtag--3{ top:50.86px;  right:99.27px; }   /* em右端 1084.73 */

/* 出現グループ（実測座標のまま子を絶対配置するための透明レイヤー）*/
.pg-sunaburo .sb-g{
  position:absolute; left:0; top:0; width:100%; height:100%; pointer-events:none;
}
.pg-sunaburo .sb-g > *{ pointer-events:auto; }

/* ---- 効能カード 3枚（水彩ブロブ 265x254 / y1523）---- */
.pg-sunaburo .sb-blob{
  position:absolute; top:129px; width:265px; height:254px;
}
.pg-sunaburo .sb-blob img{ width:100%; height:100%; }
/* YuMin-Medium 17px / ls 0 / em top = pageY 1793.10 */
.pg-sunaburo .sb-elabel{
  position:absolute; top:399.1px; margin:0; text-align:center;
  font-family:var(--ff-min); font-weight:500; font-size:17px; line-height:1;
  letter-spacing:0; color:var(--c-ink); white-space:nowrap;
}
/* 1px 罫 y1820。実測 rgb(96,95,94) = #333 の 75%（0.75pt ヘアライン相当）*/
.pg-sunaburo .sb-erule{
  position:absolute; top:426px; height:1px; background:rgba(51,51,51,.75);
}
/* YuGoPr6N-Medium 13px / ls 0 / em top = pageY 1833.94 */
.pg-sunaburo .sb-ecap{
  position:absolute; top:439.94px; margin:0; text-align:center;
  font-weight:500; font-size:13px; line-height:1; letter-spacing:0;
  color:var(--c-ink); white-space:nowrap;
}
.pg-sunaburo .sb-c1 .sb-blob  { left:30px; }
.pg-sunaburo .sb-c1 .sb-elabel{ left:128.32px; width:68px; }
.pg-sunaburo .sb-c1 .sb-erule { left:56px;     width:213px; }
.pg-sunaburo .sb-c1 .sb-ecap  { left:49.51px;  width:227.5px; }
.pg-sunaburo .sb-c2 .sb-blob  { left:326.5px; }
.pg-sunaburo .sb-c2 .sb-elabel{ left:396.16px; width:127.5px; }
.pg-sunaburo .sb-c2 .sb-erule { left:352px;    width:214px; }
.pg-sunaburo .sb-c2 .sb-ecap  { left:347.83px; width:221px; }
.pg-sunaburo .sb-c3 .sb-blob  { left:627.5px; }
.pg-sunaburo .sb-c3 .sb-elabel{ left:686.75px; width:136px; }
.pg-sunaburo .sb-c3 .sb-erule { left:649px;    width:213px; }
.pg-sunaburo .sb-c3 .sb-ecap  { left:645.92px; width:221px; }

/* ---- 体験の流れ 4ステップ ---- */
/* 白丸 直径244 / 中心y=2102（重なりは正本どおり。全て純白なので継ぎ目は出ない）*/
.pg-sunaburo .sb-circle{
  position:absolute; top:586px; width:244px; height:244px;
  border-radius:50%; background:var(--c-white);
}
/* YuMin-Medium 21.678px / #666666 / em top = pageY 2011.24（中央揃え）*/
.pg-sunaburo .sb-num{
  position:absolute; top:617.24px; margin:0; width:80px; text-align:center;
  font-family:var(--ff-min); font-weight:500; font-size:21.678px; line-height:1;
  letter-spacing:0; color:#666666;
}
.pg-sunaburo .sb-numline{
  position:absolute; top:645px; height:2px; background:#c0c0c0;
}
/* YuGoPr6N-Medium 15.355px / 行送り 23px / 2行中央揃え
   top = TF上端 2055.60 − ハーフレディング (23−15.355)/2 */
.pg-sunaburo .sb-slabel{
  position:absolute; top:657.78px; margin:0; text-align:center;
  font-weight:500; font-size:15.355px; line-height:23px; letter-spacing:0;
  color:var(--c-ink);
}
.pg-sunaburo .sb-slabel > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:block; white-space:nowrap; }
.pg-sunaburo .sb-icon{ position:absolute; }
.pg-sunaburo .sb-icon img{ width:100%; height:100%; }
/* 矢羽「＜」 w14 h25 / y2090–2115 / #666666 / 線幅 1.8 */
.pg-sunaburo .sb-arrow{
  position:absolute; top:696px; width:14px; height:25px; color:#666666;
}
.pg-sunaburo .sb-arrow svg{ display:block; }
/* 「先着順」 箱 72x35（1px #8D8D8D）＋ YuGoPr6N-Demi 14.633px */
.pg-sunaburo .sb-badge{
  position:absolute; left:744.5px; top:765px; width:72px; height:35px; margin:0;
  border:1px solid #8d8d8d; color:#8d8d8d;
  display:flex; align-items:center; justify-content:center;
  font-weight:600; font-size:14.633px; line-height:1; letter-spacing:0;
}
.pg-sunaburo .sb-s1 .sb-circle  { left:658.5px; }
.pg-sunaburo .sb-s1 .sb-num     { left:740.86px; }
.pg-sunaburo .sb-s1 .sb-numline { left:764px; width:32px; }
.pg-sunaburo .sb-s1 .sb-slabel  { left:718.89px; width:122.844px; }
.pg-sunaburo .sb-s1 .sb-icon    { left:737.5px; top:718px;   width:86px;   height:45.5px; }
.pg-sunaburo .sb-s2 .sb-circle  { left:441.75px; }
.pg-sunaburo .sb-s2 .sb-num     { left:525.29px; }
.pg-sunaburo .sb-s2 .sb-numline { left:549px; width:31px; }
.pg-sunaburo .sb-s2 .sb-slabel  { left:511.01px; width:107.488px; }
.pg-sunaburo .sb-s2 .sb-icon    { left:528px;   top:729.5px; width:72.5px; height:71.5px; }
.pg-sunaburo .sb-s2 .sb-arrow   { left:672px; }
.pg-sunaburo .sb-s3 .sb-circle  { left:216px; }
.pg-sunaburo .sb-s3 .sb-num     { left:300.57px; }
.pg-sunaburo .sb-s3 .sb-numline { left:324px; width:32px; }
.pg-sunaburo .sb-s3 .sb-slabel  { left:278.6px; width:122.844px; }
.pg-sunaburo .sb-s3 .sb-icon    { left:292px;   top:722px;   width:94px;   height:70.5px; }
.pg-sunaburo .sb-s3 .sb-arrow   { left:446px; }
.pg-sunaburo .sb-s4 .sb-circle  { left:-1px; }
.pg-sunaburo .sb-s4 .sb-num     { left:81.99px; }
.pg-sunaburo .sb-s4 .sb-numline { left:106px; width:31px; }
.pg-sunaburo .sb-s4 .sb-slabel  { left:44.67px; width:153.555px; }
.pg-sunaburo .sb-s4 .sb-icon    { left:69.5px;  top:725px;   width:79px;   height:72.5px; }
.pg-sunaburo .sb-s4 .sb-arrow   { left:229px; }

/* --------------------------------------------------- 料金・時間・予約方法 表 */
.pg-sunaburo .sb-tbl{ margin:0; }
/* ラベル YuGoPr6N-Medium 15px。原本は各ラベルを高さ 75px に両端揃えしている
   （料金=送り60 / 利用時間・所要時間=約20.3 / ご注意=約29 / ご予約方法=自然送り15）*/
.pg-sunaburo .sb-tbl__k{
  position:absolute; top:51.23px; height:75px;
  writing-mode:vertical-rl;
  font-weight:500; font-size:15px; line-height:1; letter-spacing:0;
  color:var(--c-ink);
  text-align:justify; text-align-last:justify;
}
/* 値 YuGoPr6N-Regular 16px / 段落内の列送り 28px（1段落＝1列。実測どおり）*/
.pg-sunaburo .sb-tbl__v{
  position:absolute; top:149.27px; margin:0;
  writing-mode:vertical-rl;
  font-weight:400; font-size:16px; line-height:1.75; letter-spacing:0;
  color:var(--c-ink);
}
.pg-sunaburo .sb-tbl__v > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:block; white-space:nowrap; }
/* 列送りが一定でない（em右端 978.7→920.4→862.1→803.9→702.3）ため個別指定 */
.pg-sunaburo .sb-k1{ right:205.32px; }
.pg-sunaburo .sb-k2{ right:263.59px; }
.pg-sunaburo .sb-k3{ right:321.87px; }
.pg-sunaburo .sb-k4{ right:380.14px; }
.pg-sunaburo .sb-k5{ right:481.7px; }
.pg-sunaburo .sb-v1{ right:198.11px; }
.pg-sunaburo .sb-v2{ right:256.6px; }
.pg-sunaburo .sb-v3{ right:314.5px; }
.pg-sunaburo .sb-v4{ right:372.6px; }
.pg-sunaburo .sb-v5{ right:475.6px; }
/* 半角の縦中横（「1」「3」「8」「7」= 送り 0.5em。「30」「40」「50」は .tcy の 1em）*/
.pg-sunaburo .tcy--half{ height:.5em; line-height:.5em; }

/* ------------------------------------------- ご宿泊予約（下層共通の簡易CTA帯）*/
.pg-sunaburo .pcta{ height:250.11px; }
/* YuMin-Medium 38px / 送り 44.08 = ls .16em（TOP の .reserve__ttl と同値）*/
.pg-sunaburo .pcta__ttl{ top:82.02px; letter-spacing:.16em; text-indent:.16em; }
/* 矩形 200x40 中心 x683 / 帯内 top159 / ラベル左 21.65 / シェブロン右 21 */
.pg-sunaburo .pbtn{ top:159px; padding-left:21.65px; }
.pg-sunaburo .pbtn::after{ content:none; }
.pg-sunaburo .sb-chev{
  position:absolute; right:21px; top:50%; display:block;
  transform:translateY(-50%); transition:transform .4s var(--ease);
}
.pg-sunaburo .pbtn:hover .sb-chev{ transform:translateY(-50%) translateX(3px); }

/* ==========================================================================
   砂風呂 SP（375px 基準）
   ※このページには SP アートボードが支給されていない（PC 1枚のみ）。
     TOP の SP 面で確立した作法（縦組みの見出し・タグは維持／写真は全幅／
     長い本文は横組みに落とす）で1カラムに畳んでいる。要クライアント確認。
   ========================================================================== */
@media (max-width:767px){
  .pg-sunaburo .sb-fv__ph{
    background-size:cover; background-position:52% 46%;
  }
  .pg-sunaburo .sb-fv__ttl{ top:8rem; right:3.2rem; font-size:4.4rem; }

  .pg-sunaburo .sb-intro{ height:auto; }
  .pg-sunaburo .sb-intro__ttl{ font-size:2.3rem; line-height:1.92; }
  .pg-sunaburo .sb-intro__lead{ font-size:1.6rem; line-height:1.83; }
  .pg-sunaburo .sb-intro__body{ line-height:1.95; }
  .pg-sunaburo .sb-intro__body > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:inline; white-space:normal; }
  .pg-sunaburo .sb-yukata{
    position:static; display:block; width:7.8rem; margin:3.2rem auto 0;
  }

  /* ---- 効能・体験の流れ: 絶対配置を解いて縦積み ---- */
  .pg-sunaburo .sb-beige{ height:auto; padding:6rem 0 6.4rem; }
  .pg-sunaburo .sb-spec{ height:auto; padding:6rem 0 6.4rem; }
  .pg-sunaburo .sb-beige > .wrap,
  .pg-sunaburo .sb-spec > .wrap{ height:auto; padding:0 2rem; }
  .pg-sunaburo .sb-vtag{
    position:static; display:block; width:2.1rem; margin:0 0 3.2rem auto;
  }
  .pg-sunaburo .sb-vtag--2{ margin-top:5.6rem; }

  .pg-sunaburo .sb-cards,
  .pg-sunaburo .sb-steps{ display:block; }
  .pg-sunaburo .sb-g{
    position:relative; left:auto; top:auto; width:auto; height:auto;
    pointer-events:auto; text-align:center;
  }
  .pg-sunaburo .sb-g + .sb-g{ margin-top:4rem; }
  .pg-sunaburo .sb-blob,
  .pg-sunaburo .sb-elabel,
  .pg-sunaburo .sb-erule,
  .pg-sunaburo .sb-ecap,
  .pg-sunaburo .sb-num,
  .pg-sunaburo .sb-numline,
  .pg-sunaburo .sb-slabel,
  .pg-sunaburo .sb-icon,
  .pg-sunaburo .sb-badge,
  .pg-sunaburo .sb-circle,
  .pg-sunaburo .sb-arrow{
    position:static; left:auto; top:auto;
  }
  .pg-sunaburo .sb-blob{
    display:block; width:20rem; height:19.16rem; margin:0 auto;
  }
  .pg-sunaburo .sb-elabel{ margin-top:1.2rem; font-size:1.8rem; }
  .pg-sunaburo .sb-erule{
    display:block; width:22rem; margin:1rem auto 0;
  }
  .pg-sunaburo .sb-ecap{ margin-top:1.2rem; font-size:1.35rem; }

  /* ステップは白丸をやめて白カードにする（375px に直径244の丸は入らない）*/
  .pg-sunaburo .sb-steps .sb-g{
    background:var(--c-white); padding:2.8rem 2rem 3.2rem;
  }
  .pg-sunaburo .sb-circle{ display:none; }
  .pg-sunaburo .sb-num{ width:auto; font-size:2.2rem; }
  .pg-sunaburo .sb-numline{
    display:block; width:3.2rem; margin:.6rem auto 0;
  }
  .pg-sunaburo .sb-slabel{ margin-top:1.2rem; width:auto; font-size:1.55rem; line-height:1.5; }
  .pg-sunaburo .sb-slabel > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:inline; white-space:normal; }
  .pg-sunaburo .sb-icon{
    display:block; width:auto; height:auto; margin:1.6rem auto 0;
  }
  .pg-sunaburo .sb-icon img{ width:auto; height:6rem; margin-inline:auto; }
  .pg-sunaburo .sb-badge{
    display:inline-flex; width:7.2rem; height:3.5rem; margin:1.6rem auto 0;
    font-size:1.4rem;
  }
  /* 矢羽は縦積みに合わせて下向きにする */
  .pg-sunaburo .sb-arrow{
    display:block; width:1.4rem; height:2.5rem; margin:2.4rem auto 0;
    transform:rotate(90deg);
  }

  /* ---- 料金表: 縦組みのままだと 375px に収まらないので定義リストに落とす ---- */
  .pg-sunaburo .sb-tbl{
    display:flex; flex-wrap:wrap; align-items:baseline;
  }
  .pg-sunaburo .sb-tbl__k{
    position:static; right:auto; top:auto; height:auto;
    flex:0 0 9rem; writing-mode:horizontal-tb;
    text-align:left; text-align-last:auto;
    font-size:1.5rem; line-height:1.7; margin-top:1.6rem;
  }
  .pg-sunaburo .sb-tbl__v{
    position:static; right:auto; top:auto;
    flex:1 1 20rem; writing-mode:horizontal-tb;
    font-size:1.5rem; line-height:1.7; margin-top:1.6rem;
  }
  .pg-sunaburo .sb-tbl__v > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:block; white-space:normal; }
  .pg-sunaburo .tcy--half{ height:auto; line-height:1; }
}

/* ==========================================================================
   客室  rooms.html   .pg-rooms
   原本 : 260807_miharuya_Web / みはるや_WEB_04_客室 / 00_みはるや_WEB_客室.ai
          アートボード PC 1366 x 5324.87（SP 面は支給なし）
   実ページ高 = 1366 x 5824.87（アートボード外にフッター配置 top=5524.87 h=300）
   バンド : FV 0-768 / リード 768-1386 / スライダー1 1386-1786 /
            操作帯1 1786-1903 / スライダー2 1903-2303 / 操作帯2 2303-2428 /
            客室スペック 2428-5024.5 / 砂風呂CTA 5024.5-5274.5 /
            予約CTA 5274.5-5525 / フッター 5525-5824.87
   共通の .pfv / .pintro / .pmarquee / .pslide / .plist / .pcta / .pbtn を再利用し、
   このページ固有の実測値だけを .pg-rooms スコープで足している（既存行は触らない）。
   縦組みは right = 1184 − emBoxRight − halfLeading（halfLeading=(lh−1)×size/2）。
   ========================================================================== */

/* ---------------------------------------------------------------- ページFV */
/* 指示レイヤー(kiyasuya): 画像枠の左側からマスクが右へスライドして剥がれる
   → .rv-img（style.css の clip-path）を効かせるため .ph を内側に持つ箱にする。
   実測: 写真の上に黒は乗っていない（正本/素材の輝度比 1.000）*/
.pg-rooms .pfv__mask{ position:absolute; inset:0; overflow:hidden; }

/* --------------------------------------------------------- リード（白地帯） */
/* 18px 縦組みの列ピッチ実測 33.77px（frame w 51.77 = 33.77 + 18）*/
.pg-rooms .pintro__lead{ line-height:1.876; }
/* 急須の線画（ベクター。.ai から SVG 抽出）*/

/* ------------------------------------------------------- 写真スライダー2段 */
/* 指示レイヤー(kiyasuya): 1段目=右から左へ / 2段目=左から右へ ゆっくり無限ループ
   1周分 = タイル幅＋ギャップ49px の合計。同じ並びを2周ぶん並べて継ぎ目を消す。 */
.pg-rooms .pslide{ overflow:visible; }        /* キャプションはタイルの外（ギャップ）に出る */
.pg-rooms .pslide--w401{ width:401px; }
.pg-rooms .rmq--1{ --x0:-109px; --loop:2816px; --run:74s; }
.pg-rooms .rmq--2{ --x0:-392px; --loop:2366px; --run:62s; }
.pg-rooms .rmq--2 .pmarquee__track{ animation-direction:reverse; }  /* 左→右 */

/* 操作帯（ドット＋左右矢印）。正本 実測:
   ドット φ11.5 / ピッチ40.6 / 1個目 x182・y1811(帯上端+25) / 選択色 #141414・他 #898989
   矢印 11x20 / prev x1115-1126・next x1174-1185（右端 1184 基準 58px / -1px）*/
.pg-rooms .rmnav{ position:relative; background:var(--c-white); }
.pg-rooms .rmnav > .wrap{ height:100%; }
.pg-rooms .rmnav--1{ height:117px; }
.pg-rooms .rmnav--2{ height:125px; }
.pg-rooms .rmnav__dots{
  position:absolute; left:0; top:25px; margin:0;
  display:flex; align-items:center; gap:29.1px;
}
.pg-rooms .rmnav__dots button{
  width:11.5px; height:11.5px; border-radius:50%; background:#898989;
  transition:background .3s var(--ease);
}
.pg-rooms .rmnav__dots button[aria-current="true"]{ background:#141414; }
.pg-rooms .rmnav__dots button:hover{ background:#141414; }
.pg-rooms .rmnav__arrow{
  position:absolute; width:11px; height:20px; color:#141414;
  transition:transform .4s var(--ease), opacity .4s var(--ease);
}
.pg-rooms .rmnav--1 .rmnav__arrow{ top:20px; }
.pg-rooms .rmnav--2 .rmnav__arrow{ top:21px; }
.pg-rooms .rmnav__arrow--prev{ right:58px; }
.pg-rooms .rmnav__arrow--next{ right:-1px; }
.pg-rooms .rmnav__arrow svg{ display:block; width:100%; height:100%; fill:currentColor; }
.pg-rooms .rmnav__arrow--prev:hover{ transform:translateX(-3px); }
.pg-rooms .rmnav__arrow--next:hover{ transform:translateX(3px); }

/* ------------------------------------------------- 客室スペック（4枚＋白カード） */
/* 帯 2428-5024.5（#E7E4DE = .plist の地色）。カード上端 2528/2985/3442/3899（ピッチ457）
   カード高 358（縦罫の実測 y2528→2886）。区切り点線は次カード上端 −49px。 */
.pg-rooms .rmcard{ position:absolute; left:0; right:0; height:358px; }
.pg-rooms .rmcard--1{ top:100px; }
.pg-rooms .rmcard--2{ top:557px; }
.pg-rooms .rmcard--3{ top:1014px; }
.pg-rooms .rmcard--4{ top:1471px; }
/* 点線（実測 1px #333 / ダッシュ3px＋間隙2.6px = ピッチ5.6px / x182-1184）*/
.pg-rooms .rmcard + .rmcard::before{
  content:""; position:absolute; left:0; right:0; top:-49px; height:1px;
  background:repeating-linear-gradient(to right,#333 0 3px, transparent 3px 5.6px);
}
/* 写真 300x204（x183-483 / カード上端 +1）*/
.pg-rooms .rmcard__fig{
  position:absolute; left:1px; top:1px; width:300px; height:204px;
  overflow:hidden; margin:0;
}
/* 黒タグ 29.5x279（x1153-1182.5 / カード上端 +2）＋ 縦組み16px 白 */
.pg-rooms .rmcard__tag{
  position:absolute; right:1.5px; top:2px; width:29.5px; height:279px; margin:0;
  background:var(--c-ink); color:var(--c-white);
  display:flex; align-items:center; justify-content:center;
  writing-mode:vertical-rl;
  font-family:var(--ff-min); font-weight:500; font-size:16px; line-height:1;
  letter-spacing:0; white-space:nowrap;
}
/* 見出し 2列（右=18px サブ / 左=25px 部屋名）
   em box: 18px 列の右 1137.88（= frame x+w）／25px 列の左 1081.47（= frame x）
   → line-height:1 で right = 1184 − 1137.88、25px 列は margin-right 13.41px で送る */
.pg-rooms .rmcard__ttl{
  position:absolute; top:.5px; right:46.12px; margin:0;
  writing-mode:vertical-rl;
  font-family:var(--ff-min); font-weight:500; line-height:1; white-space:nowrap;
}
.pg-rooms .rmcard__ttl > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:block; }
.pg-rooms .rmcard__ttl-sub{ font-size:18px; letter-spacing:0; }
.pg-rooms .rmcard__ttl-name{ font-size:25px; letter-spacing:.04em; margin-right:13.41px; }
/* 説明（15px 縦組みエリアテキスト・列ピッチ32.6 / em右 1031.02 / 高さ360.89）*/
.pg-rooms .rmcard__lead{
  position:absolute; top:0; right:144.18px; height:360.89px; margin:0;
  writing-mode:vertical-rl;
  font-weight:500; font-size:15px; line-height:2.173; letter-spacing:0;
}
/* スペック（ラベル=YuGo Demi / 値=Regular もしくは Medium。いずれも1列 15px）*/
.pg-rooms .rmcard__spec{ margin:0; }
.pg-rooms .rmcard__k,
.pg-rooms .rmcard__v{
  position:absolute; top:0; margin:0;
  writing-mode:vertical-rl;
  font-size:15px; line-height:1; letter-spacing:0; white-space:nowrap;
}
.pg-rooms .rmcard__k{ font-weight:600; }
.pg-rooms .rmcard__v{ font-weight:400; }
.pg-rooms .rmcard__v--med{ font-weight:500; }
/* 縦罫 4本（実測 0.75px ぶんのインク。1px ベタに丸まらないよう2pxの箱で被覆率を作る）*/
.pg-rooms .rmcard__rule{
  position:absolute; top:0; width:2px; height:358px;
  background:linear-gradient(90deg,
    rgba(51,51,51,.47) 0 1px, rgba(51,51,51,.25) 1px 2px);
}
.pg-rooms .rmcard__rule--b{
  background:linear-gradient(90deg,
    rgba(51,51,51,.75) 0 1px, transparent 1px 2px);
}
/* 鳥・急須の線画オーナメント */
.pg-rooms .rmorn{ position:absolute; display:block; }
.pg-rooms .rmorn img{ display:block; width:100%; height:auto; }

/* ---------------------------------------- 設備とアメニティのご案内（白カード） */
/* x183-1183（w=1000）/ y4325-4926（h=601）。ヘアラインは x233-1133 の 0.75px #333 */
.pg-rooms .rmamen{
  position:absolute; left:1px; top:1897px; width:1000px; height:601px;
  background:var(--c-white);
}
.pg-rooms .rmamen__ttl{
  position:absolute; left:0; right:0; top:49.5px; margin:0;
  font-family:var(--ff-min); font-weight:500; font-size:20px; line-height:1;
  letter-spacing:0; text-align:center;
}
.pg-rooms .rmamen__k{
  position:absolute; left:50px; margin:0;
  font-family:var(--ff-min); font-weight:500; font-size:16px; line-height:1;
  letter-spacing:0; white-space:nowrap;
}
/* 本文は 15px / 行送り 30px の横組みエリアテキスト（幅 804.29 で自動折返し）。
   line-height:30px のハーフレディング 7.5px ぶん上に置いて1行目のインクを合わせる */
.pg-rooms .rmamen__v{
  position:absolute; left:145.24px; width:804.29px; margin:0;
  font-weight:400; font-size:15px; line-height:30px; letter-spacing:0;
}
.pg-rooms .rmamen__hr{
  position:absolute; left:50px; width:900px; height:1px;
  background:rgba(51,51,51,.75);
}

/* --------------------------------------------------------------- 下部 CTA 2本 */
/* 砂風呂（写真＋白1px枠のゴーストボタン）/ ご宿泊予約（和紙＋#333 ベタ）
   タイトルの字送りは実測 .16em（TOP の .reserve__ttl と同じ）*/
.pg-rooms .pcta__ttl{ top:81.5px; letter-spacing:.16em; text-indent:.16em; }
.pg-rooms .pcta .pbtn{ top:159px; height:40.5px; }
.pg-rooms .pcta .pbtn--line{ top:158.5px; height:40.5px; }

/* ======================================================================
   SP（375px）— このページには SP アートボードが無いため、TOP / 他の下層ページで
   確立した作法（写真は全幅・縦組みの長文は横組みに落とす・rem は 375 基準）で展開。
   ※クライアント確認事項：客室ページの SP デザイン（特にスペック表4列＋縦罫、
     2段の写真マーキー、設備アメニティの2カラム）の見せ方。
   ====================================================================== */
@media (max-width:767px){
  /* ---- FV ---- */
  .pg-rooms .pfv__mask{ position:absolute; inset:0; }

  /* ---- スライダー（タイル幅を揃えて1周を作り直す）---- */
  .pg-rooms .pslide,
  .pg-rooms .pslide--w401{ width:30rem; height:23rem; }
  .pg-rooms .rmq--1{ --x0:0px; --loop:164rem; --run:52s; }
  .pg-rooms .rmq--2{ --x0:0px; --loop:131.2rem; --run:44s; }
  .pg-rooms .rmnav--1,
  .pg-rooms .rmnav--2{ height:8rem; }
  .pg-rooms .rmnav__dots{ left:2rem; top:1.6rem; gap:1.8rem; }
  .pg-rooms .rmnav__dots button{ width:1rem; height:1rem; }
  .pg-rooms .rmnav--1 .rmnav__arrow,
  .pg-rooms .rmnav--2 .rmnav__arrow{ top:1.1rem; }
  .pg-rooms .rmnav__arrow--prev{ right:6rem; }
  .pg-rooms .rmnav__arrow--next{ right:2rem; }

  /* ---- 客室スペック: 1枚ずつ縦に積む ---- */
  .pg-rooms .plist{ height:auto!important; padding:6rem 0 6rem; }
  .pg-rooms .plist > .wrap{ height:auto; }
  .pg-rooms .rmcard{
    position:relative; left:auto; right:auto; top:auto!important; height:auto;
    padding:0 2rem 5rem;
  }
  .pg-rooms .rmcard + .rmcard{ padding-top:5rem; }
  .pg-rooms .rmcard + .rmcard::before{ top:0; left:2rem; right:2rem; }
  .pg-rooms .rmcard__fig{
    position:static; width:100%; height:22rem; margin-bottom:2.4rem;
  }
  .pg-rooms .rmcard__tag{
    position:static; width:100%; height:3.4rem; margin-bottom:1.8rem;
    writing-mode:horizontal-tb; font-size:1.4rem; letter-spacing:.04em;
  }
  .pg-rooms .rmcard__ttl{
    position:static; right:auto; top:auto;
    writing-mode:horizontal-tb; display:flex; flex-direction:column-reverse;
    align-items:flex-start; gap:.4rem;
  }
  .pg-rooms .rmcard__ttl-sub{ font-size:1.4rem; }
  .pg-rooms .rmcard__ttl-name{ font-size:2.2rem; margin:0; }
  .pg-rooms .rmcard__lead{
    position:static; right:auto; height:auto!important; margin-top:1.6rem;
    writing-mode:horizontal-tb; font-size:1.4rem; line-height:1.95;
  }
  .pg-rooms .rmcard__spec{
    position:relative; margin-top:1.4rem; padding-top:1.4rem;
    border-top:1px solid rgba(51,51,51,.25);
    display:flex; gap:1.2rem;
  }
  .pg-rooms .rmcard__k,
  .pg-rooms .rmcard__v{
    position:static; right:auto!important; top:auto;
    writing-mode:horizontal-tb; white-space:normal; font-size:1.4rem; line-height:1.7;
  }
  .pg-rooms .rmcard__k{ flex:0 0 7rem; }
  .pg-rooms .rmcard__rule{ display:none; }
  .pg-rooms .rmorn{ display:none; }

  /* ---- 設備とアメニティ ---- */
  .pg-rooms .rmamen{
    position:relative; left:auto; top:auto; width:auto; height:auto;
    margin:1rem 2rem 0; padding:3rem 2rem 3.4rem;
  }
  .pg-rooms .rmamen__ttl{ position:static; top:auto; font-size:1.8rem; }
  .pg-rooms .rmamen__k{
    position:static; left:auto; top:auto!important;
    margin-top:2.6rem; font-size:1.6rem;
  }
  .pg-rooms .rmamen__v{
    position:static; left:auto; top:auto!important; width:auto;
    margin-top:1rem; font-size:1.4rem; line-height:1.9;
  }
  .pg-rooms .rmamen__hr{ display:none; }

  /* ---- 下部 CTA ---- */
  .pg-rooms .pcta__ttl{ top:5.4rem; }
}
/* 原稿に実在する半角スペース U+0020（「／ 1名」「最終受付 午後7時30分」）。
   游ゴシックの space は 0.5em だが Zen Kaku Gothic New は 0.28em しかないため
   inline-block で 0.5em の送りに固定する（文字自体は原稿どおり残す）*/
.pg-sunaburo .sb-sp{ display:inline-block; width:1em; height:.5em; }

/* ==========================================================================
   お知らせ 一覧 / 詳細（実測: 一覧 1366x2284.6 / 詳細 1366x2624）
   ========================================================================== */
.pg-news,
.pg-newsdetail{ background:#fff; }

/* ページFV（高さ 600px・縦組みタイトルのみ） */
.nfv{ position:relative; height:600px; overflow:hidden; background:#0d1512; }
.nfv__media{ position:absolute; inset:0; background-repeat:no-repeat; }
.nfv__media::after{ content:""; position:absolute; inset:0; background:#000; opacity:var(--dim,0); }
.nfv .wrap{ position:relative; height:100%; z-index:2; }
.nfv__ttl{
  position:absolute; writing-mode:vertical-rl; margin:0;
  font-family:var(--ff-min); font-weight:400; font-size:50px; line-height:1;
  letter-spacing:0; color:#fff;
}

/* 2カラム（一覧 x182-933 / アーカイブ x1020-1184） */
.nwrap{ position:relative; }
.nlist{ position:absolute; left:0; top:0; width:751px; }
.nlist li{ border-bottom:1px solid #b2b2b2; }
.nlist{ border-top:1px solid #b2b2b2; }
.nlist a{
  position:relative; display:flex; align-items:center; height:79px;
  padding-left:2.775px;
}
.nlist time{
  flex:none; width:95px;
  font-family:"Work Sans","Zen Kaku Gothic New",sans-serif; font-weight:300;
  font-size:15px; line-height:1; letter-spacing:0; color:var(--c-ink);
  font-variant-numeric:lining-nums tabular-nums;
}
.ntag{
  flex:none; width:71px; height:31px; margin-right:23.862px;
  border:1px solid #baa35a; color:#baa35a;
  display:flex; align-items:center; justify-content:center;
  font-weight:500; font-size:14px; line-height:1; letter-spacing:0;
}
.nlist span:last-child{
  font-family:var(--ff-min); font-weight:500; font-size:15px; line-height:1;
  letter-spacing:0; color:var(--c-ink);
}
.nlist a:hover{ opacity:1; color:var(--c-gold); }
.nlist a:hover .ntag{ border-color:currentColor; color:currentColor; }

/* 月別アーカイブ */
.narc{ position:absolute; left:838px; top:0; width:164px; }
/* お知らせ詳細は正本のパネル上端が y748（一覧は y713）。実測差 +19px */
.pg-newsdetail .narc{ top:19px; }
.narc__ttl{
  position:absolute; top:-18.4px; left:0;
  font-family:var(--ff-min); font-weight:500; font-size:13px; line-height:1;
  letter-spacing:0; margin:0;
}
.narc__list{ border-top:1px solid #b2b2b2; }
.narc__list a{
  /* 正本の行ピッチ実測 37.0px（罫線1pxを含む・border-box）*/
  position:relative; display:flex; align-items:center; height:37px;
  padding-left:7.006px; border-bottom:1px solid #a6a6a6; background:#e6e6e6;
  font-family:"Work Sans","Zen Kaku Gothic New",sans-serif; font-weight:300;
  font-size:14px; line-height:1; letter-spacing:0;
  font-variant-numeric:lining-nums tabular-nums;
  transition:background .35s var(--ease);
}
.narc__list a::after{
  content:""; position:absolute; right:12px; top:50%; width:6px; height:6px;
  border-right:2px solid var(--c-ink); border-bottom:2px solid var(--c-ink);
  transform:translateY(-70%) rotate(45deg);
}
.narc__list a:hover{ opacity:1; background:#dcd8cd; }

/* ページネーション */
/* 実測（正本）: 前へ円 x559-584 #B8B8B8 / 数字 1,2,3 のインク中心 x621・660・698.5（y1884-1895）
   / 三点リーダ x734-749（3px×3・y1889-1891）/ 次へ円 x781-806 #333。数字に下線は無い。
   コンテンツ左端 x182 を基準に中心座標で絶対配置する。 */
.npager{ position:relative; height:26px;
  font-family:"Work Sans","Zen Kaku Gothic New",sans-serif; font-weight:400;
  font-size:16px; line-height:1; color:var(--c-ink);
  font-variant-numeric:lining-nums tabular-nums;
}
.npager__num{
  position:absolute; top:50%; transform:translate(-50%,-50%);
  display:block; padding:2px 6px;
}
.npager__num:nth-child(2){ left:439px; }   /* x621 */
.npager__num:nth-child(3){ left:478px; }   /* x660 */
.npager__num:nth-child(4){ left:516.5px; } /* x698.5 */
.npager [aria-current="page"]{ font-weight:500; }
.npager__dots{
  position:absolute; left:559.5px; top:50%; transform:translate(-50%,-50%);
  display:flex; gap:3.5px;
}
.npager__dots i{ width:3px; height:3px; background:var(--c-ink); }
/* 前へ／次へ の丸ボタン（26px・1px の輪郭＋矢印） */
.npager__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:26px; height:26px; border:1px solid var(--c-ink); border-radius:50%;
  transition:border-color .4s var(--ease), background .4s var(--ease);
}
.npager__nav--prev{ left:376.5px; }   /* x559-584 */
.npager__nav--next{ left:598.5px; }   /* x781-806 */
.npager__nav.is-off{ border-color:#b8b8b8; }
.npager__nav::before,
.npager__nav::after{ content:""; position:absolute; background:var(--c-ink); }
.npager__nav::before{ left:5px; right:5px; top:11.5px; height:1px; }
.npager__nav::after{ width:5px; height:5px; top:9.5px;
  border-left:1px solid var(--c-ink); border-bottom:1px solid var(--c-ink);
  background:none; }
.npager__nav--prev::after{ left:5.5px; transform:rotate(45deg); }
.npager__nav--next::after{ right:5.5px; transform:rotate(-135deg); }
.npager__nav.is-off::before{ background:#b8b8b8; }
.npager__nav.is-off::after{ border-color:#b8b8b8; }
.npager__nav--next:hover{ background:var(--c-ink); }
.npager__nav--next:hover::before{ background:#fff; }
.npager__nav--next:hover::after{ border-color:#fff; }

@media (max-width:767px){
  .nfv{ height:34rem; }
  .nfv__media{ background-size:cover !important; background-position:center !important; }
  .nfv__ttl{ font-size:3.2rem; right:3.2rem !important; top:6rem !important; }
  .nwrap{ padding:0 2rem; }
  .nlist{ position:static; width:auto; }
  .nlist a{ display:block; height:auto; padding:1.8rem 0; }
  .nlist time{ display:block; width:auto; font-size:1.3rem; }
  .ntag{ display:inline-flex; margin:.9rem 0 .8rem; width:7.1rem; height:2.8rem; font-size:1.2rem; }
  .nlist span:last-child{ display:block; font-size:1.5rem; line-height:1.6; }
  .narc{ position:static; width:auto; margin-top:5rem; }
  .narc__ttl{ position:static; margin-bottom:1.2rem; font-size:1.4rem; }
  /* SP はデザイン未支給。PC の絶対配置を解いて中央寄せの並びに戻す */
  .npager{ margin-top:4rem; height:auto; display:flex; align-items:center;
    justify-content:center; gap:1.6rem; }
  .npager__num,
  .npager__dots,
  .npager__nav{ position:static; left:auto; top:auto; transform:none; }
  .npager__nav{ width:3.2rem; height:3.2rem; flex:0 0 auto; }
}

/* ==========================================================================
   キャンセル・プライバシーポリシー（実測 1366x1818.667・白地・写真ゼロ）
   ========================================================================== */
.pg-policy{ background:#fff; }
.pg-policy main{ padding-top:110.6px; }
.plc__h1{
  font-family:var(--ff-min); font-weight:500; font-size:25px; line-height:1.247;
  letter-spacing:0; color:#000; margin:0;
}
.plc__sub{
  margin:0; font-family:var(--ff-min); font-weight:500; font-size:18px; line-height:1;
  letter-spacing:.1em; color:var(--c-ink);
}
.plc__table{
  width:1000px; margin:0; border-collapse:collapse; border-top:1px solid #666;
  font-family:var(--ff-min); font-weight:500; font-size:18px; letter-spacing:.1em;
  color:var(--c-ink);
}
.plc__table th,
.plc__table td{
  height:80px; padding:0; border-bottom:1px solid #666; font-weight:500; text-align:left;
  vertical-align:middle;
}
.plc__table th{ width:268px; padding-left:38px; }
.plc__table td{ padding-left:68px; }
.plc__note{
  font-family:var(--ff-min); font-weight:500; font-size:14px; line-height:1;
  letter-spacing:.1em; color:var(--c-ink);
}
/* 正本の行位置（インク上端 実測）: リード 793 / 821.5 / 850 → 行送り 28.5px */
.plc__lead p{
  margin:0; font-weight:400; font-size:16px; line-height:28.5px;
  letter-spacing:0; color:var(--c-ink);
}
/* 正本ではフレームからあふれて非表示だった段落（内容は残す。README 参照） */
.plc__over{ margin-top:0; }

/* 正本の本文は 33.3px の一定グリッド。見出しも1スロットを占め、
   2本目の見出しの前に空きスロットが1つある（実測 15スロット）。 */
.plc__body h3{
  margin:0; font-family:var(--ff-min); font-weight:500; font-size:18px;
  line-height:33.3px; letter-spacing:0; color:#000;
}
.plc__body p{
  margin:0; font-weight:400; font-size:16px; line-height:33.3px; letter-spacing:0;
  color:var(--c-ink);
}
.plc__gap{ height:33.3px; }

/* ==========================================================================
   お問い合わせ（実測 1366x2148・入力幅 800px 中央 / ラベル箱 200x48 #DADADA）
   ========================================================================== */
.pg-contact{ background:#fff; }
.cfv{ position:relative; height:600px; overflow:hidden; background:#2a241d; }
.cfv__media{ position:absolute; inset:0; background-repeat:no-repeat; }
.cfv .wrap{ position:relative; height:100%; z-index:2; }
.cfv__ttl{
  position:absolute; writing-mode:vertical-rl; margin:0;
  font-family:var(--ff-min); font-weight:400; font-size:40px; line-height:1.1;
  letter-spacing:0; color:#fff;
}
.cform{ width:800px; margin:0 auto; }
.crow{ display:flex; align-items:stretch; margin-bottom:16px; }
.crow__label{
  flex:none; width:200px; background:#dadada;
  display:flex; flex-direction:column; justify-content:center;
  padding:0 0 0 11.3px; box-sizing:border-box;
}
.crow--top .crow__label{ justify-content:flex-start; padding-top:15.9px; }
.crow__label b{
  display:block; font-weight:500; font-size:16px; line-height:1; letter-spacing:.06em;
  color:var(--c-ink);
}
.crow__req{
  display:block; margin-top:6.5px;
  font-weight:400; font-size:11px; line-height:1; letter-spacing:0; color:#e32325;
}
.crow__field{
  flex:1 1 auto; margin-left:15.9px; display:flex; gap:16px;
}
.crow__field input[type="text"],
.crow__field input[type="email"],
.crow__field input[type="tel"],
.crow__field textarea{
  flex:1 1 auto; min-width:0; height:48px; padding:0 15.5px; box-sizing:border-box;
  border:1px solid #c8c8c8; background:#fff; border-radius:0;
  font-family:var(--ff-got); font-weight:500; font-size:16px; color:var(--c-ink);
}
.crow__field textarea{ height:208px; padding:14px 15.5px; resize:vertical; line-height:1.75; }
.crow__field input::placeholder,
.crow__field textarea::placeholder{ color:#c0c0c0; }
.cchoice{
  flex:1 1 auto; margin-left:15.9px; display:flex; align-items:center; gap:0;
}
.cchoice label{ display:flex; align-items:center; cursor:pointer; }
.cchoice input,
.cgrid input{
  appearance:none; flex:none; width:20px; height:20px; margin:0 10.35px 0 0;
  border:1px solid #767676; border-radius:50%; background:#fff; cursor:pointer;
  position:relative;
}
.cchoice input:checked::after,
.cgrid input:checked::after{
  content:""; position:absolute; inset:4px; border-radius:50%; background:var(--c-ink);
}
.cchoice label + label{ margin-left:88.5px; }
.cchoice span,
.cgrid span{ font-weight:500; font-size:16px; line-height:1; letter-spacing:.03em; }
.cgrid{
  flex:1 1 auto; margin-left:15.9px;
  display:grid; grid-template-columns:308px 1fr; row-gap:14.9px;
  align-content:start; padding:15.9px 0 30.5px;
}
.cgrid label{ display:flex; align-items:center; cursor:pointer; }
.cconfirm{
  margin-top:0; font-weight:500; font-size:16px; line-height:1; letter-spacing:.06em;
  color:var(--c-ink);
}
.cconfirm .crow__req{ display:inline; margin-left:6px; }
.ccheck{
  margin-top:14px; display:flex; align-items:center; cursor:pointer;
  font-weight:500; font-size:16px; letter-spacing:.05em;
}
.ccheck input{
  appearance:none; flex:none; width:19px; height:19px; margin:0 12.07px 0 5px;
  border:1px solid #666; background:#fff; cursor:pointer; position:relative;
}
.ccheck input:checked::after{
  content:""; position:absolute; left:3px; top:-2px; width:7px; height:13px;
  border-right:2px solid var(--c-ink); border-bottom:2px solid var(--c-ink);
  transform:rotate(40deg);
}
.cprivacy{
  margin-top:45px; font-weight:400; font-size:15px; line-height:1; letter-spacing:0;
  color:var(--c-ink);
}
.cprivacy a{ text-decoration:underline; text-underline-offset:3px; }
.csubmit{
  display:block; width:250px; height:50px; margin:58.7px auto 0;
  background:var(--c-ink); color:#fff;
  font-family:var(--ff-min); font-weight:500; font-size:21px; letter-spacing:0;
  transition:background .4s var(--ease);
}
.csubmit:hover{ background:var(--c-gold); }

@media (max-width:767px){
  .pg-policy main{ padding-top:6rem; }
  .plc__h1{ font-size:2.2rem; }
  .plc__sub{ font-size:1.6rem; }
  .plc__table{ width:100%; font-size:1.4rem; }
  .plc__table th{ width:45%; padding-left:1rem; }
  .plc__table td{ padding-left:1.2rem; }
  .plc__table th,.plc__table td{ height:6.4rem; }
  .plc__note{ font-size:1.2rem; line-height:1.7; }
  .plc__lead p,.plc__body p{ font-size:1.4rem; line-height:1.9; }
  .plc__body h3{ font-size:1.6rem; }

  .cfv{ height:34rem; }
  .cfv__media{ background-size:cover !important; background-position:center !important; }
  .cfv__ttl{ font-size:2.8rem; right:3.2rem !important; top:6rem !important; }
  .cform{ width:auto; padding:0 2rem; }
  .crow{ display:block; margin-bottom:2.4rem; }
  .crow__label{ width:auto; background:none; padding:0 0 .8rem; }
  .crow__label b{ font-size:1.5rem; }
  .crow__field,.cchoice,.cgrid{ margin-left:0; display:block; }
  .crow__field input,.crow__field textarea{ width:100%; height:4.6rem; font-size:1.5rem; }
  .crow__field input + input{ margin-top:1rem; }
  .crow__field textarea{ height:18rem; }
  .cchoice label + label{ margin:1.2rem 0 0; }
  .cchoice label{ margin-bottom:1.2rem; }
  .cgrid{ padding-top:0; }
  .cgrid label{ margin-bottom:1.2rem; }
  .cchoice span,.cgrid span{ font-size:1.4rem; }
  .cconfirm{ font-size:1.4rem; line-height:1.7; }
  .cprivacy{ font-size:1.3rem; line-height:1.8; }
  .csubmit{ width:100%; height:5.4rem; font-size:1.8rem; }
}

/* ---------------------------------------------- お知らせ詳細（1366x2624） */
.nd__meta{
  font-weight:500; font-size:16px; line-height:1; letter-spacing:0; color:#b9a35a;
}
.nd__ttl{
  margin:16.7px 0 0 -.5px;
  font-family:var(--ff-min); font-weight:500; font-size:22px; line-height:1.24;
  letter-spacing:.10em; color:var(--c-ink);
}
.nd__banner{ margin:44.3px 0 0; width:750px; }
.nd__banner img{ width:100%; }
.nd__body{
  margin:47.6px 0 0;
  font-family:var(--ff-min); font-weight:500; font-size:17px; line-height:1.9154;
  letter-spacing:.10em; color:var(--c-ink);
}
.nd__body p{ margin:0; }
.nd__body p:empty{ height:32.5625px; line-height:0; }
.nd__cta{
  /* 実測: 420x60・地色 #B9A35A・x473〜892（コンテンツ中央 682.5）・y2068 */
  display:flex; align-items:center; justify-content:center;
  width:420px; height:60px; margin:71px 0 0 289px;
  background:#b9a35a; color:#fff;
  font-family:var(--ff-min); font-weight:500; font-size:21px; letter-spacing:0;
  transition:background .4s var(--ease);
}
.nd__cta:hover{ opacity:1; background:var(--c-gold); }
.nd__pager{
  position:relative; height:75px; margin-top:120.8px;
  font-weight:500; font-size:12px; line-height:1; letter-spacing:0;
}
.nd__prev{
  position:absolute; left:355px; top:0; width:126px; padding-bottom:23.6px;
  text-align:center;
}
.nd__prev::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:#666;
}
.nd__prev::after{
  content:""; position:absolute; left:0; bottom:0; width:11px; height:1px; background:#666;
  transform-origin:0 50%; transform:rotate(-45deg);
  transition:transform .4s var(--ease);
}
.nd__prev:hover{ opacity:1; color:var(--c-gold); }
.nd__prev:hover::after{ transform:rotate(-45deg) translateX(-3px); }
.nd__index{ position:absolute; left:533px; top:0; }
.nd__index:hover{ opacity:1; color:var(--c-gold); }

@media (max-width:767px){
  .nd__ttl{ font-size:1.9rem; line-height:1.5; }
  .nd__banner{ width:100%; margin-top:2.8rem; }
  .nd__body{ margin-top:3rem; font-size:1.5rem; line-height:1.95; letter-spacing:.04em; }
  .nd__body p:empty{ height:1.6rem; }
  .nd__cta{ width:100%; height:5.4rem; margin:4.4rem 0 0; font-size:1.8rem; }
  .nd__pager{ height:auto; margin-top:5rem; display:flex; flex-direction:column;
    align-items:center; gap:2.4rem; font-size:1.3rem; }
  .nd__prev,.nd__index{ position:static; width:auto; }
  .nd__prev{ width:16rem; }
}

/* 記事カラムは絶対配置なので、親に実測の高さを与えてページャを正しい位置に流す */
.pg-newsdetail .nwrap{ min-height:1399.4px; }
@media (max-width:767px){
  .pg-newsdetail .nwrap{ min-height:0; }
  .pg-newsdetail .nwrap > article{ position:static !important; width:auto !important; }
}

/* --------------------------------------------- SP はみ出しの後始末（実測対応） */
@media (max-width:767px){
  /* 客室のスライド帯は SP でも必ずクリップする */
  .pg-rooms .pmarquee,
  .pg-rooms [class*="marquee"]{ overflow:hidden; }
  .pg-rooms .pslide,
  .pg-rooms .pslide--w401{ width:26rem; }
  .pg-rooms .pmarquee{ --x0:0px; }
  /* ポリシーの負マージン（PC実測値）は SP では戻す */
  .pg-policy .plc__h1,
  .pg-policy .plc__sub,
  .pg-policy .plc__note,
  .pg-policy .plc__table{ margin-left:0 !important; }
  .pg-policy .wrap{ padding:0 2rem; }
}

@media (max-width:767px){
  /* 客室の客室スペック（定員/広さ/…）は SP では 2列グリッドで積む
     （PC は縦組みを横に並べる作りのため、そのままだと 1行に全ペアが並んで溢れる）*/
  .pg-rooms .rmcard__spec{
    display:grid !important; grid-template-columns:7rem 1fr;
    row-gap:.7rem; column-gap:1.2rem; align-items:start;
  }
  .pg-rooms .rmcard__k,
  .pg-rooms .rmcard__v{ flex:none !important; }
}

/* ==========================================================================
   お料理（実測 1366x7316.53）
   ========================================================================== */
.pg-cuisine{ background:#fff; }
.cu-band{ position:relative; }
.cu-band > .wrap{ height:100%; }
.cu-v{ position:absolute; writing-mode:vertical-rl; margin:0; }
.cu-v > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:block; white-space:nowrap; }
.cu-ttl32{ font-family:var(--ff-min); font-weight:500; font-size:32px; line-height:1.9045; letter-spacing:.05em; }
/* 縦見出しは1列。親の高さが足りないとインラインサイズが1文字に潰れるので明示的に折り返さない */
.cu-ttl22{ font-family:var(--ff-min); font-weight:500; font-size:22px; line-height:1;
  letter-spacing:.05em; white-space:nowrap; }
/* ダミーの □（U+25A1）は行分割の機会を持たないため、正本と同じ列数に折り返せるよう分割を許可する */
.cu-dm{ white-space:normal !important; word-break:break-all; }
.cu-ttl18{ font-family:var(--ff-min); font-weight:500; font-size:18px; line-height:1; letter-spacing:.05em; }
.cu-lead18{ font-family:var(--ff-min); font-weight:500; font-size:18px; line-height:1.8504; letter-spacing:.05em; }
.cu-body15{ font-weight:500; font-size:15px; line-height:2.173; letter-spacing:0; }
/* ご案内ブロックの ◆見出しのみ 18px Demi（本文は15px。正本の字幅実測 17/14）*/
.cu-h18{ font-size:18px; font-weight:600; }
.cu-note11{ font-weight:500; font-size:11px; line-height:1.868; letter-spacing:0; }
.cu-menu14{ font-family:var(--ff-min); font-weight:500; font-size:14px; line-height:2.3286; letter-spacing:0; }
.cu-bullet18{ font-family:var(--ff-min); font-weight:500; font-size:18px; line-height:2.8347; letter-spacing:0; }
.cu-cap{ position:absolute; writing-mode:vertical-rl; white-space:nowrap;
  font-weight:500; font-size:13px; line-height:1; letter-spacing:0; }
.cu-fig{ position:absolute; overflow:hidden; }
.cu-fig .ph{ display:block; width:100%; height:100%; background-repeat:no-repeat; }
.cu-deco{ position:absolute; }
.cu-deco img{ width:100%; }
.cu-rule{
  position:absolute; left:1px; width:1001px; height:1px;
  background:repeating-linear-gradient(to right,#333 0 1.6px,transparent 1.6px 5.6px);
}
.cu-dummy{ position:absolute; background:#c5c3be; }
.cu-mq{ position:relative; height:560px; overflow:hidden; background:#fff; }
.cu-mq__track{
  position:absolute; top:0; left:0; height:100%; display:flex; gap:50px;
  animation:pmarquee-run var(--run,70s) linear infinite;
  transform:translateX(var(--x0,0)); will-change:transform;
}
.cu-mq:hover .cu-mq__track,
.cu-mq.is-paused .cu-mq__track{ animation-play-state:paused; }
.cu-slot{ position:relative; flex:none; width:422px; height:560px; overflow:visible; }
.cu-slot .ph{ display:block; width:100%; height:100%; background-repeat:no-repeat; overflow:hidden; }
.cu-slot__cap{
  position:absolute; left:calc(100% + 9.48px); bottom:-1.96px;
  writing-mode:vertical-rl; white-space:nowrap;
  font-weight:500; font-size:15px; line-height:1; letter-spacing:0; color:var(--c-ink);
}

@media (max-width:767px){
  .pfv.cu-fvsp{ height:34rem; }
  .cu-band{ height:auto !important; padding:5rem 0; }
  .cu-band > .wrap{ height:auto; padding:0 2rem; display:flex; flex-direction:row-reverse;
    flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:2rem; }
  .cu-v{ position:static !important; right:auto !important; top:auto !important; }
  .cu-ttl32{ font-size:2.2rem; line-height:1.9; }
  .cu-lead18{ font-size:1.6rem; }
  .cu-ttl22{ font-size:2rem; }
  .cu-ttl18{ font-size:1.7rem; }
  .cu-body15,
  .cu-note11,
  .cu-menu14,
  .cu-bullet18{
    writing-mode:horizontal-tb !important; height:auto !important; flex:0 0 100%;
    letter-spacing:.01em;
  }
  .cu-body15{ font-size:1.4rem; line-height:1.95; }
  .cu-note11{ font-size:1.2rem; line-height:1.8; }
  .cu-menu14{ font-size:1.4rem; line-height:1.9; }
  .cu-bullet18{ font-size:1.5rem; line-height:2; }
  .cu-body15 > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
  .cu-menu14 > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
  .cu-bullet18 > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
  .cu-note11 > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ display:block; white-space:normal; }
  .cu-fig{ position:static !important; order:-1; flex:0 0 100%;
    width:100% !important; height:22rem !important; margin-bottom:2rem; }
  .cu-deco,
  .cu-rule,
  .cu-slot__cap{ display:none; }
  .cu-dummy{ position:static !important; order:-1; flex:0 0 100%; width:100% !important;
    height:20rem !important; margin-bottom:2rem; }
  .cu-mq{ height:22rem; --x0:0px; }
  .cu-slot{ width:28rem; height:22rem; }
  .cu-mq__track{ gap:1.6rem; }
}

/* Illustrator のエリアテキストは枠内で自動折り返しするので、本文・お品書き・注記は
   nowrap を外して同じ挙動にする（見出しだけデザインの改行どおり固定）*/
.pg-cuisine .cu-body15 > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
.pg-cuisine .cu-menu14 > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
.pg-cuisine .cu-note11 > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr),
.pg-cuisine .cu-bullet18 > span:not(.hw,.hwc,.hwo,.hwe,.tcy,.u-sr){ white-space:normal; }

@media (max-width:767px){
  /* お料理: PC は article/縦組みを絶対配置で積んでいるので SP は通常フローに戻す */
  .pg-cuisine .cu-band > .wrap{
    display:flex; flex-direction:column; align-items:stretch; gap:0;
    height:auto; padding:0 2rem;
  }
  .pg-cuisine .cu-band article{
    position:static !important; left:auto !important; right:auto !important; top:auto !important;
    width:100%; display:flex; flex-direction:row-reverse; flex-wrap:wrap;
    justify-content:center; align-items:flex-start; gap:1.6rem; padding-bottom:5rem;
  }
  .pg-cuisine .cu-band > .wrap > .cu-v{ margin-bottom:2.4rem; }
  .pg-cuisine .cu-v,
  .pg-cuisine .vtag,
  .pg-cuisine .cu-fig,
  .pg-cuisine .cu-dummy{
    position:static !important; left:auto !important; right:auto !important; top:auto !important;
  }
  .pg-cuisine .vtag{ width:2.6rem; height:7.6rem; font-size:1.4rem; flex:none; }
  .pg-cuisine .cu-fig,
  .pg-cuisine .cu-dummy{ order:-1; flex:0 0 100%; width:100% !important; height:22rem !important; margin-bottom:2rem; }
  .pg-cuisine .cu-cap,
  .pg-cuisine .cu-deco,
  .pg-cuisine .cu-rule{ display:none; }
  .pg-cuisine .cu-mq{ overflow:hidden; }
}

@media (max-width:767px){
  /* ダミーの □ 連続は改行機会が無いため、SP では強制的に折り返す */
  .pg-cuisine .cu-body15,
  .pg-cuisine .cu-menu14,
  .pg-cuisine .cu-note11,
  .pg-cuisine .cu-bullet18{ overflow-wrap:anywhere; }
}

/* 写真ごとのトーン補正は各要素のインライン --dim（実測値）で行う */
