/* ════════════════════════════════════════════════════════════
   dish-detail.css — Sub-page renewal for /dish/<slug>/index.html
   - dish/index.html の .rs-* 体系を継承し、サブページ用に拡張
   - 既存 style.css / lp-base.css / lp-layouts.css とは衝突しない
   - 全クラスを .rs-page / body.dish-day 配下にスコープ
   ════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════
   ヘッダー — dish ページ専用色オーバーライド（スクロール前 = 黒系）
   dish-day = 親ページ（dish/index.html）和紙昼系
   ════════════════════════════════════════════════════════════ */

body.dish-day .loader{background:#f4efe3 !important;}
body.dish-day .loader .loader__logo-img{filter:brightness(0);animation-name:loaderLogoBlurInBlack;}
body.dish-day .loader .loader__line{background:#1f1b16 !important;}
body.dish-day .header:not(.is-scrolled){
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
}
body.dish-day .header:not(.is-scrolled)::before,
body.dish-day .header:not(.is-scrolled)::after{display:none !important;}
body.dish-day .header:not(.is-scrolled) .header-tel,
body.dish-day .header:not(.is-scrolled) .header-nav-link,
body.dish-day .header:not(.is-scrolled) .lang-en,
body.dish-day .header:not(.is-scrolled) .lang-select-v2__toggle,
body.dish-day .header:not(.is-scrolled) .header-sns a{
  color:#1f1b16 !important;
}
body.dish-day .header:not(.is-scrolled) svg{stroke:#1f1b16;}
body.dish-day .header:not(.is-scrolled) svg[fill="currentColor"]{fill:#1f1b16;}
body.dish-day .header:not(.is-scrolled) .menu-toggle span{background:#1f1b16 !important;}
body.dish-day .header:not(.is-scrolled) .header__logo-img{filter:brightness(0) saturate(100%);}
body.dish-day .header:not(.is-scrolled) .lang-select-v2__caret{border-top-color:#1f1b16;}

/* ════════════════════════════════════════════════════════════
   dish-detail = サブページ（暗ネイビー HERO）— ヘッダー白文字
   ════════════════════════════════════════════════════════════ */
body.page-dish-detail{background:var(--rs-navy-deep,#1a2638);}
body.page-dish-detail .loader{background:var(--rs-navy-deep,#1a2638) !important;}
body.page-dish-detail .loader .loader__logo-img{filter:brightness(0) invert(1);}
body.page-dish-detail .loader .loader__line{background:#f4efe3 !important;}
/* df-cream（現行の全プランページ）はヒーローも本文の地もクリームなので、
   ローダーもクリームに合わせる（ロゴと罫は反転） */
body.page-dish-detail.df-cream .loader{background:#f4efe3 !important;}
body.page-dish-detail.df-cream .loader .loader__logo-img{filter:brightness(0);animation-name:loaderLogoBlurInBlack;}
body.page-dish-detail.df-cream .loader .loader__line{background:#1f1b16 !important;}
body.page-dish-detail .header:not(.is-scrolled){
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
}
body.page-dish-detail .header:not(.is-scrolled)::before,
body.page-dish-detail .header:not(.is-scrolled)::after{display:none !important;}
body.page-dish-detail .header:not(.is-scrolled) .header-tel,
body.page-dish-detail .header:not(.is-scrolled) .header-nav-link,
body.page-dish-detail .header:not(.is-scrolled) .lang-en,
body.page-dish-detail .header:not(.is-scrolled) .lang-select-v2__toggle,
body.page-dish-detail .header:not(.is-scrolled) .header-sns a{
  color:#f4efe3 !important;
}
body.page-dish-detail .header:not(.is-scrolled) svg{stroke:#f4efe3;}
body.page-dish-detail .header:not(.is-scrolled) svg[fill="currentColor"]{fill:#f4efe3;}
body.page-dish-detail .header:not(.is-scrolled) .menu-toggle span{background:#f4efe3 !important;}
body.page-dish-detail .header:not(.is-scrolled) .header__logo-img{filter:brightness(0) invert(1);}
body.page-dish-detail .header:not(.is-scrolled) .lang-select-v2__caret{border-top-color:#f4efe3;}

/* スクロール時ヘッダー・フッターをトップページと同じダークネイビーに揃える
   (default: rgba(14,17,22,.82) / var(--ink-2)=#1c2028 → #1a2638 系で統一) */
body.page-dish-detail .header.is-scrolled{
  background:rgba(26,38,56,.85);
}
body.page-dish-detail .footer{
  background:#1a2638;
  border-top-color:rgba(184,147,90,.25);
}

/* ════════════════════════════════════════════════════════════
   .rs-page — 和紙背景・トークン
   ════════════════════════════════════════════════════════════ */
.rs-page{
  --rs-bg:#f4efe3;
  --rs-bg-alt:#ebe3cf;
  --rs-bg-warm:#f8f3e5;
  --rs-ink:#1f1b16;
  --rs-sub:#6e665b;
  --rs-line:rgba(120,100,70,.26);
  --rs-line-soft:rgba(120,100,70,.14);
  --rs-gold:#b89665;
  --rs-gold-soft:#d6ba85;
  --rs-navy:#243349;
  --rs-navy-deep:#1a2638;
  --rs-serif-display:'Shippori Mincho',serif;
  --rs-serif:'Shippori Mincho',serif;
  --rs-en:'Cormorant Garamond',serif;
  --rs-en-sans:'Cinzel',serif;
  --rs-sec-py:clamp(120px,14vw,200px);
  --rs-wrap:none;                                /* 大画面でも全幅、ヘッダーと同条件 */
  --rs-gutter:clamp(24px,8vw,120px);             /* ヘッダーの実測 padding に一致 */
  background-color:var(--rs-bg);
  background-image:
    radial-gradient(circle at 23% 17%,rgba(120,95,55,.04) 0,transparent 1px),
    radial-gradient(circle at 67% 43%,rgba(120,95,55,.035) 0,transparent 1.2px),
    radial-gradient(circle at 38% 78%,rgba(120,95,55,.04) 0,transparent 1px),
    radial-gradient(circle at 81% 88%,rgba(120,95,55,.03) 0,transparent 1.4px),
    radial-gradient(circle at 12% 62%,rgba(120,95,55,.035) 0,transparent 1.1px);
  background-size:7px 7px,11px 11px,9px 9px,13px 13px,8px 8px;
  color:var(--rs-ink);
  font-family:var(--rs-serif);
  font-weight:400;
  line-height:1.9;
  letter-spacing:.06em;
  -webkit-font-smoothing:antialiased;
}
.rs-page *{box-sizing:border-box;}
.rs-page a{color:inherit;text-decoration:none;}
.rs-page img{display:block;max-width:100%;}

/* ── Wrap & section base ── */
.rs-sec{padding:var(--rs-sec-py) 0;position:relative;overflow:hidden;}
.rs-wrap{max-width:var(--rs-wrap);width:100%;margin:0 auto;padding:0 var(--rs-gutter);position:relative;z-index:2;box-sizing:border-box;}
.rs-sec--warm{background:var(--rs-bg-warm);}


/* ── 装飾画像 ── */
.rs-bgdeco{
  position:absolute;
  background-repeat:no-repeat;
  background-size:contain;
  pointer-events:none;
  z-index:1;
  opacity:.7;
}
.rs-bgdeco--momiji{width:clamp(180px,22vw,320px);aspect-ratio:155/186;background-image:url('../images/bg/bg-1.png');}

.rs-bgdeco--willow{width:clamp(200px,24vw,360px);aspect-ratio:253/112;background-image:url('../images/bg/bg-3.png');}
.rs-bgdeco--tl{top:32px;left:-20px;}
.rs-bgdeco--tr{top:48px;right:-30px;}
.rs-bgdeco--bl{bottom:32px;left:-20px;}
.rs-bgdeco--br{bottom:32px;right:-30px;}


.rs-bgdeco--momiji.rs-bgdeco--tl,
.rs-bgdeco--momiji.rs-bgdeco--bl{left:0;}
.rs-bgdeco--momiji.rs-bgdeco--tr,
.rs-bgdeco--momiji.rs-bgdeco--br{right:0;}
.rs-bgdeco--flip{transform:rotate(180deg);}
.rs-bgdeco--flip.rs-bgdeco--cr{transform:translateY(-50%) rotate(180deg);}
.rs-bgdeco--flip.rs-bgdeco--cl{transform:translateY(-50%) rotate(180deg);}
@media(max-width:767px){.rs-bgdeco{opacity:.4;}}

/* ── Section head ── */
.rs-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:clamp(48px,6vw,80px);}
.rs-head__title{margin:0;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(22px,2.2vw,30px);letter-spacing:.22em;color:var(--rs-ink);line-height:1.6;display:flex;align-items:baseline;gap:14px;}
.rs-head__title::before{content:"";width:28px;height:.5px;background:var(--rs-gold);display:inline-block;margin-right:4px;flex-shrink:0;align-self:center;}
.rs-head__en{display:block;margin-top:10px;font-family:var(--rs-en);font-style:italic;font-size:13px;letter-spacing:.2em;color:var(--rs-navy);text-transform:uppercase;font-weight:400;}


.rs-head__more .arrow{margin-left:10px;display:inline-block;transition:transform .35s ease;}
.rs-head__more:hover .arrow{transform:translateX(4px);}
.rs-lead{font-family:var(--rs-serif);font-weight:300;font-size:14px;line-height:2.1;letter-spacing:.08em;color:var(--rs-sub);margin:-32px 0 clamp(40px,5vw,72px);}

/* ════════════════════════════════════════════════════════════
   .rs-detail-hero — コース詳細 HERO（参考デザイン準拠）
   全幅写真の上に「左ベタ塗り + 右斜めに徐々に透過」する overlay を重ね、
   テキストは左半分に配置
   ════════════════════════════════════════════════════════════ */
.rs-detail-hero{
  position:relative;
  min-height:560px;
  height:72vh;
  padding-top:clamp(90px,10vw,130px);
  overflow:hidden;
  background-color:var(--rs-navy-deep);
  color:#f4efe3;
}
/* 画像背景 — 範囲内に収まるよう contain で右側寄せ、解像度をクリアに保つ */
.rs-detail-hero__bg{
  position:absolute;inset:0;z-index:0;
  background-size:contain;
  background-position:right center;
  background-repeat:no-repeat;
}
/* 斜めのベタ塗り overlay — 左 ~45% は完全 navy、45%→85% で斜めに透過 */

.rs-detail-hero__inner{
  position:relative;z-index:2;
  width:100%;height:100%;
  max-width:var(--rs-wrap);margin:0 auto;
  padding:0 var(--rs-gutter);                    /* ヘッダーと同じ左右 padding */
  display:flex;align-items:center;
  box-sizing:border-box;
}
.rs-detail-hero__copy{
  display:flex;flex-direction:column;
  max-width:46%;
}
.rs-detail-hero__crumb{
  font-family:var(--rs-en);font-style:italic;font-size:11px;
  letter-spacing:.32em;color:rgba(244,239,227,.65);text-transform:uppercase;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 36px;
}
.rs-detail-hero__crumb a{color:rgba(244,239,227,.65);transition:color .3s ease;}
.rs-detail-hero__crumb a:hover{color:var(--rs-gold-soft);}
.rs-detail-hero__crumb .sep{width:22px;height:.5px;background:rgba(244,239,227,.5);}
.rs-detail-hero__title-wrap{margin:0 0 24px;}
.rs-detail-hero__title{margin:0;font-family:var(--rs-serif-display);font-weight:400;font-size:clamp(22px,2.4vw,34px);letter-spacing:.22em;line-height:1.6;color:#f4efe3;}
.rs-detail-hero__sub{display:block;font-family:var(--rs-en);font-style:italic;font-size:13px;letter-spacing:.3em;color:var(--rs-gold-soft);text-transform:uppercase;margin:0 0 28px;}
.rs-detail-hero__lead{font-family:var(--rs-serif);font-weight:300;font-size:14px;line-height:2.2;letter-spacing:.1em;color:rgba(244,239,227,.82);margin:0 0 36px;max-width:30em;}
.rs-detail-hero__meta{
  display:flex;flex-wrap:wrap;gap:14px 28px;
  margin:0 0 36px;padding:20px 0;
  border-top:.5px solid rgba(214,186,133,.35);
  border-bottom:.5px solid rgba(214,186,133,.35);
  list-style:none;
}
.rs-detail-hero__meta-item{display:flex;flex-direction:column;gap:4px;}
.rs-detail-hero__meta-label{font-family:var(--rs-en);font-style:italic;font-size:10px;letter-spacing:.3em;color:var(--rs-gold-soft);text-transform:uppercase;}
.rs-detail-hero__meta-value{font-family:var(--rs-serif);font-size:13px;letter-spacing:.08em;color:#f4efe3;}


@media (min-width:768px) and (max-width:1024px){
  .rs-detail-hero{min-height:520px;height:64vh;}
  .rs-detail-hero__inner{padding:0 clamp(40px,6vw,80px);}
  .rs-detail-hero__copy{max-width:54%;}
  .rs-detail-hero__title{font-size:clamp(20px,2.6vw,28px);}
  /* タブレット時の HERO 筆文字を少し小さく */
  .rs-detail-hero--brush .rs-detail-hero__brush{height:88%;}
  .rs-detail-hero--brush .rs-detail-hero__bg{width:46%;top:clamp(100px,11vw,140px);right:4%;}
}

/* ════════════════════════════════════════════════════════════
   .rs-detail-hero--tall — HEROの高さを広げる
   ════════════════════════════════════════════════════════════ */
.rs-detail-hero--tall{
  min-height:760px;
  height:92vh;
}
@media (min-width:768px) and (max-width:1024px){
  .rs-detail-hero--tall{min-height:640px;height:82vh;}
}

/* ════════════════════════════════════════════════════════════
   .rs-detail-hero--organic — 左側のみ緩やかな丸み、右側は直角で HERO 右端にぴったり
   ════════════════════════════════════════════════════════════ */

.rs-detail-hero--organic .rs-detail-hero__bg{
  inset:auto;
  top:0;
  right:0;                                       /* 右端ぴったり（隙間なし） */
  width:48%;                                     /* サイズ縮小で解像度を稼ぐ */
  height:100%;
  border-radius:40% 0 0 40% / 50% 0 0 50%;       /* 左側だけ緩やかな曲線、右側は直角 */
  background-size:cover;
  background-position:center;
  z-index:0;
}


/* ════════════════════════════════════════════════════════════
   .rs-detail-hero--brush — ヘッダーと同じ navy + 筆書き漢字 + 歪な円画像 + 飛沫
   ════════════════════════════════════════════════════════════ */
.rs-detail-hero--brush{
  overflow:visible;                              /* 筆文字が HERO 下にはみ出る */
  background-color:var(--rs-navy-deep);
}
/* 筆書き漢字（縦長画像）— 左右中央、HERO 高さの 90%、上に余白、下にはみ出し可、回転なし */
.rs-detail-hero__brush{
  position:absolute;
  top:10%;                                       /* 上に少し余白 */
  left:50%;
  transform:translateX(-50%);
  height:97%;                                    /* HERO 高さの 97% → 下に約 7% はみ出る */
  width:auto;
  aspect-ratio:762/1587;
  z-index:3;
  pointer-events:none;
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  /* PNG の白文字 → ゴールド (#b89665) に色変換 */
  filter:brightness(0) saturate(100%) invert(63%) sepia(15%) saturate(905%) hue-rotate(2deg) brightness(94%) contrast(88%);
  font-size:0;
}
.rs-detail-hero__brush--mizutaki{
  background-image:url('../images/cuisine/mizutaki_hero_txt.png');
}
/* 歪な円形の画像 — 不規則なカーブ、配置を少し上に */
.rs-detail-hero--brush .rs-detail-hero__bg{
  inset:auto;
  top:clamp(96px,10vw,130px);                    /* ヘッダー下、少し上に */
  right:6%;
  width:42%;
  height:auto;
  bottom:clamp(40px,5vw,72px);                   /* 下に余白、上に押し上げる */
  border-radius:58% 42% 64% 36% / 42% 56% 44% 58%;  /* default — mizutaki 用 */
  background-size:cover;
  background-position:center;
  z-index:2;
  box-shadow:0 30px 80px rgba(0,0,0,.4);
}
.rs-detail-hero--brush .rs-detail-hero__scrim{display:none;}

/* ── HERO 画像形状バリエーション（各ページごとに異なる形） ──
   specificity を default と同じ (0,2,0) にし、後ろに書くことで上書き */
.rs-detail-hero--brush .rs-detail-hero__bg--cloud-a{border-radius:72% 28% 56% 44% / 38% 64% 36% 62%;}     /* もくもく雲：左上膨らみ */
.rs-detail-hero--brush .rs-detail-hero__bg--cloud-b{border-radius:28% 72% 40% 60% / 64% 36% 60% 40%;}     /* 流れる雲：右上膨らみ */
.rs-detail-hero--brush .rs-detail-hero__bg--gourd{border-radius:44% 56% 56% 44% / 70% 70% 30% 30%;}        /* 瓢箪：上下に膨らみ */
.rs-detail-hero--brush .rs-detail-hero__bg--circle{border-radius:50%;}                                    /* 完全な円 */
.rs-detail-hero--brush .rs-detail-hero__bg--leaf{border-radius:0 78% 0 78% / 0 60% 0 60%;}                /* 葉形：右上+左下が尖る */
.rs-detail-hero--brush .rs-detail-hero__bg--oval{border-radius:48% 52% 48% 52% / 65% 65% 35% 35%;}        /* 縦長楕円 */
.rs-detail-hero--brush .rs-detail-hero__bg--fan{border-radius:30% 70% 30% 70% / 30% 30% 70% 70%;}         /* 扇形：左右の膨らみが対称 */
.rs-detail-hero--brush .rs-detail-hero__bg--petal{border-radius:78% 22% 50% 50% / 50% 50% 22% 78%;}        /* 花びら：右下に尖る */
.rs-detail-hero--brush .rs-detail-hero__bg--drop{border-radius:60% 40% 50% 50% / 70% 30% 60% 40%;}         /* 雫：上に膨らみ */

/* ── 筆文字画像バリエーション ── */
.rs-detail-hero__brush--iwai{background-image:url('../images/cuisine/mizutaki_hero_txt_iwai.png');}
.rs-detail-hero__brush--shiki{background-image:url('../images/cuisine/mizutaki_hero_txt_shiki.png');}
.rs-detail-hero__brush--tenpura{background-image:url('../images/cuisine/mizutaki_hero_txt_tenpura.png');}
.rs-detail-hero__brush--niku{background-image:url('../images/cuisine/mizutaki_hero_txt_niku.png');}

/* ════════════════════════════════════════════════════════════
   .rs-detail-hero--cream — 全面写真 + 左からクリームのグラデオーバーレイ（kaiseki-tokusen 専用）
   画像をHERO全面の背景にし、左端ほど濃いクリーム → 右へ徐々に透過。
   テキスト/ヘッダーはダークでクリーム側に置き視認性を確保。
   ════════════════════════════════════════════════════════════ */
.rs-detail-hero.rs-detail-hero--cream{background-color:#f4efe3;}
.rs-detail-hero--cream .rs-detail-hero__title,
.rs-detail-hero--cream .rs-detail-hero__meta-value{color:#1f1b16;}
.rs-detail-hero--cream .rs-detail-hero__lead{color:#3a342c;}
.rs-detail-hero--cream .rs-detail-hero__crumb,
.rs-detail-hero--cream .rs-detail-hero__crumb a{color:#6e665b;}
.rs-detail-hero--cream .rs-detail-hero__crumb a:hover{color:#b89665;}
.rs-detail-hero--cream .rs-detail-hero__crumb .sep{background:rgba(60,52,42,.4);}
.rs-detail-hero--cream .rs-detail-hero__sub,
.rs-detail-hero--cream .rs-detail-hero__meta-label{color:#b89665;}
.rs-detail-hero--cream .rs-detail-hero__meta{border-top-color:rgba(184,150,101,.45);border-bottom-color:rgba(184,150,101,.45);}
/* 画像 — 変形楕円(扇形)をやめて四角に（モバイルは縦積みのまま） */
.rs-detail-hero--cream .rs-detail-hero__bg,
.rs-detail-hero--cream.rs-detail-hero--brush .rs-detail-hero__bg--fan{border-radius:0;}
/* ヘッダー(スクロール前) — クリーム背景で読めるようダーク文字に */
body.page-dish-detail:has(.rs-detail-hero--cream) .header:not(.is-scrolled) .header-tel,
body.page-dish-detail:has(.rs-detail-hero--cream) .header:not(.is-scrolled) .header-nav-link,
body.page-dish-detail:has(.rs-detail-hero--cream) .header:not(.is-scrolled) .lang-en,
body.page-dish-detail:has(.rs-detail-hero--cream) .header:not(.is-scrolled) .lang-select-v2__toggle,
body.page-dish-detail:has(.rs-detail-hero--cream) .header:not(.is-scrolled) .header-sns a{color:#1f1b16 !important;}
body.page-dish-detail:has(.rs-detail-hero--cream) .header:not(.is-scrolled) svg{stroke:#1f1b16;}
body.page-dish-detail:has(.rs-detail-hero--cream) .header:not(.is-scrolled) svg[fill="currentColor"]{fill:#1f1b16;}
body.page-dish-detail:has(.rs-detail-hero--cream) .header:not(.is-scrolled) .menu-toggle span{background:#1f1b16 !important;}
body.page-dish-detail:has(.rs-detail-hero--cream) .header:not(.is-scrolled) .header__logo-img{filter:brightness(0) saturate(100%);}
body.page-dish-detail:has(.rs-detail-hero--cream) .header:not(.is-scrolled) .lang-select-v2__caret{border-top-color:#1f1b16;}

/* PC/タブレット — .rs-detail-hero--photofill 時のみ:
   画像をHERO全面に敷き、グラデは無し。テキストエリアにだけ薄い白の透過オーバーレイ。
   （モバイルは縦積みのため非適用） */
@media (min-width:768px){
  .rs-detail-hero.rs-detail-hero--cream.rs-detail-hero--photofill{overflow:hidden;}
  /* 画像 — inset:0 で全面 cover */
  .rs-detail-hero--cream.rs-detail-hero--photofill .rs-detail-hero__bg{
    inset:0;top:0;right:0;bottom:0;
    width:100%;height:100%;
    background-size:cover;
    background-position:center;
    border-radius:0;
    box-shadow:none;
    z-index:0;
  }
  /* テキストは最前面・左下隅寄せ */
  .rs-detail-hero--cream.rs-detail-hero--photofill .rs-detail-hero__inner{
    z-index:2;
    align-items:flex-end;
    padding-bottom:clamp(24px,3vw,44px);
  }
  /* テキストエリア — 見出しが1行に収まる幅を前提にした可変サイズ + 薄い白の透過背景 */
  .rs-detail-hero--cream.rs-detail-hero--photofill .rs-detail-hero__copy{
    width:fit-content;
    max-width:90%;
    background:rgba(255,255,255,.5);
    -webkit-backdrop-filter:blur(5px);
    backdrop-filter:blur(5px);
    padding:clamp(30px,3vw,46px);
    border-radius:2px;
  }
  /* 見出しは改行しない → これがテキストエリアの可変幅の下限を決める */
  .rs-detail-hero--cream.rs-detail-hero--photofill .rs-detail-hero__title{white-space:nowrap;}
  /* リードは本来の幅(30em)で折り返し */
  .rs-detail-hero--cream.rs-detail-hero--photofill .rs-detail-hero__lead{max-width:30em;}
}

/* 画像を主役にする2レイアウト（写真は本来の3:2、文字と重ねない）。
   いずれも .--cream と併用、高 specificity で全ブレークポイントの --brush 既定を上書き。 */
.rs-detail-hero--cream.rs-detail-hero--photosplit .rs-detail-hero__bg,
.rs-detail-hero--cream.rs-detail-hero--photofull .rs-detail-hero__bg{
  aspect-ratio:3/2;
  background-size:cover;
  background-position:center;
  border-radius:0;
}

/* ── index3: 2カラム（左テキスト / 右画像）、両方を上下中央 ── */
.rs-detail-hero--cream.rs-detail-hero--photosplit .rs-detail-hero__bg{
  box-shadow:0 24px 60px rgba(0,0,0,.18);
}
@media (min-width:768px){
  /* 上下 padding を対称にして、flex 中央寄せ位置を HERO の真の縦中央に合わせる
     （画像の top:50% と一致させるため） */
  .rs-detail-hero--cream.rs-detail-hero--photosplit{
    padding-top:clamp(96px,9vw,120px);
    padding-bottom:clamp(96px,9vw,120px);
  }
  /* テキスト列を縦中央に（inner は既定で align-items:center） */
  .rs-detail-hero--cream.rs-detail-hero--photosplit .rs-detail-hero__inner{align-items:center;}
  .rs-detail-hero--cream.rs-detail-hero--photosplit .rs-detail-hero__copy{max-width:42%;}
  /* 画像列を右側で縦中央に */
  .rs-detail-hero--cream.rs-detail-hero--photosplit .rs-detail-hero__bg{
    inset:auto;left:auto;bottom:auto;
    top:50%;right:5%;
    transform:translateY(-50%);
    width:48%;height:auto;
  }
}

/* ── index4: 画像を画面横幅いっぱい（全幅バナー）、上に文字（meta は HTML から削除済み）── */
.rs-detail-hero--cream.rs-detail-hero--photofull .rs-detail-hero__bg{
  box-shadow:0 26px 64px rgba(0,0,0,.20);
}
@media (min-width:768px){
  .rs-detail-hero--cream.rs-detail-hero--photofull{
    height:auto;min-height:0;
    display:flex;flex-direction:column;align-items:stretch;
    padding:clamp(120px,12vw,168px) 0 0;          /* 横 padding 0 → 画像を全幅に */
    overflow:hidden;
  }
  .rs-detail-hero--cream.rs-detail-hero--photofull .rs-detail-hero__inner{
    order:1;width:100%;max-width:var(--rs-wrap);
    height:auto;display:block;
    padding:0 var(--rs-gutter) clamp(40px,5vw,64px); /* テキストはガター内に収める */
  }
  /* テキストエリアの横幅を広げる（リードの 30em 制限も解除）— index.html と同じ扱い */
  .rs-detail-hero--cream.rs-detail-hero--photofull .rs-detail-hero__copy{width:74%;max-width:74%;}
  .rs-detail-hero--cream.rs-detail-hero--photofull .rs-detail-hero__lead{max-width:none;}
  .rs-detail-hero--cream.rs-detail-hero--photofull .rs-detail-hero__bg{
    order:2;position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;
    transform:none;
    width:100%;height:auto;margin:0;                /* 画面横幅いっぱい */
  }
}

/* ── index5: 全面写真 + 左からクリームのグラデオーバーレイ（旧グラデ版を復元）── */
@media (min-width:768px){
  .rs-detail-hero.rs-detail-hero--cream.rs-detail-hero--photograd{overflow:hidden;}
  /* 画像 — inset:0 で全面 cover */
  .rs-detail-hero--cream.rs-detail-hero--photograd .rs-detail-hero__bg{
    aspect-ratio:auto;
    inset:0;top:0;right:0;bottom:0;left:0;
    width:100%;height:100%;
    background-size:cover;
    background-position:right center;
    border-radius:0;
    box-shadow:none;
    transform:none;
    z-index:0;
  }
  /* クリームのグラデオーバーレイ — 左端ベタ → 右へ透過（少し幅を狭く＝早めにフェード） */
  .rs-detail-hero--cream.rs-detail-hero--photograd::after{
    content:"";
    position:absolute;inset:0;z-index:1;
    pointer-events:none;
    background:linear-gradient(100deg,
      #f4efe3 0%,
      rgba(244,239,227,.92) 18%,
      rgba(244,239,227,.66) 34%,
      rgba(244,239,227,.28) 48%,
      rgba(244,239,227,0) 64%);
  }
  /* テキストは最前面 */
  .rs-detail-hero--cream.rs-detail-hero--photograd .rs-detail-hero__inner{z-index:2;}
}

/* 飛沫 — 多数の小円を box-shadow と radial-gradient で散らす */


/* ::before — 左半分の飛沫群 */

/* ::after — 右半分の飛沫群 */

@media (max-width:767px){
  .rs-detail-hero__brush{font-size:clamp(200px,55vw,360px);}
  .rs-detail-hero--brush .rs-detail-hero__bg{position:relative;inset:auto;top:auto;right:auto;width:78%;height:auto;aspect-ratio:1/1;margin:0 auto;}
}
@media (min-width:768px) and (max-width:1024px){
  .rs-detail-hero--organic .rs-detail-hero__bg{width:64%;height:108%;top:-4%;right:-6%;}
}
@media (max-width:767px){
  .rs-detail-hero--organic .rs-detail-hero__bg{
    position:relative;inset:auto;
    top:auto;right:auto;width:90%;height:auto;
    margin:0 auto;aspect-ratio:1/1;
    border-radius:50%;
  }
}
@media (max-width:767px){
  /* HERO: 画像エリア（筆文字付き）が上、テキストエリアが下 */
  .rs-detail-hero{
    height:auto;min-height:0;
    padding:clamp(96px,22vw,120px) 0 clamp(48px,8vw,72px);
    background-color:var(--rs-navy-deep);
    display:flex;flex-direction:column;
  }
  
  /* 画像エリア（contains brush） */
  .rs-detail-hero__bg{
    position:relative;inset:auto;
    width:100%;aspect-ratio:4/3;height:auto;
    order:1;
    margin-bottom:clamp(56px,12vw,96px);          /* 画像下にゆとりある余白 */
  }
  /* テキストエリアは画像の下 */
  .rs-detail-hero__inner{
    padding:0 var(--rs-gutter);
    order:2;
    height:auto;display:block;
  }
  .rs-detail-hero__copy{max-width:none;width:100%;padding:0;}
  .rs-detail-hero__title{font-size:clamp(22px,6vw,30px);letter-spacing:.16em;line-height:1.55;}
  .rs-detail-hero__meta{gap:10px 20px;padding:14px 0;}

  /* --organic / --brush 系：画像コンテナ調整 — スマホは四角・横幅フル */
  .rs-detail-hero--organic .rs-detail-hero__bg,
  .rs-detail-hero--brush .rs-detail-hero__bg{
    position:relative;inset:auto;top:auto;right:auto;
    width:100%;height:auto;aspect-ratio:4/3;
    margin:0 0 clamp(56px,12vw,96px);
    border-radius:0;
  }
  /* 筆文字: 画像（bg）の右下に重ねて配置 — HERO padding-top + bg の中央線あたりから配置 */
  .rs-detail-hero--brush .rs-detail-hero__brush{
    top:calc(clamp(96px,22vw,120px) + 40vw);
    left:auto;
    right:2%;
    bottom:auto;
    transform:none;
    width:clamp(110px,28vw,160px);
    height:auto;
    aspect-ratio:762/1587;
    z-index:3;
  }
}

/* ════════════════════════════════════════════════════════════
   .rs-prologue — 序文セクション（左右レイアウト + 2枚並列対応）
   参考: 左テキスト + 右に縦長写真 + 横長写真の non-uniform grid
   ════════════════════════════════════════════════════════════ */
.rs-prologue{padding:var(--rs-sec-py) 0;position:relative;overflow:hidden;}
.rs-prologue__inner{
  max-width:var(--rs-wrap);width:100%;margin:0 auto;padding:0 var(--rs-gutter);box-sizing:border-box;
  display:grid;grid-template-columns:1fr 1.1fr;
  gap:clamp(40px,6vw,96px);align-items:center;position:relative;z-index:2;
}
.rs-prologue--reverse .rs-prologue__inner{grid-template-columns:1.1fr 1fr;}
.rs-prologue--reverse .rs-prologue__photos{order:2;}
.rs-prologue--reverse .rs-prologue__copy{order:1;}
.rs-prologue__copy{padding-right:clamp(0px,3vw,40px);}
.rs-prologue__kicker{display:flex;align-items:center;gap:14px;font-family:var(--rs-en);font-style:italic;font-size:12px;letter-spacing:.28em;color:var(--rs-navy);text-transform:uppercase;margin:0 0 18px;}
.rs-prologue__kicker::before{content:"";width:28px;height:.5px;background:var(--rs-gold);}
.rs-prologue__title{margin:0 0 24px;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(22px,2.4vw,32px);letter-spacing:.22em;color:var(--rs-ink);line-height:1.6;}
.rs-prologue__text{font-family:var(--rs-serif);font-weight:300;font-size:14px;line-height:2.2;letter-spacing:.08em;color:var(--rs-sub);margin:0 0 28px;}
.rs-prologue__photos{display:grid;grid-template-columns:1fr;gap:18px;}
.rs-prologue__photos--duo{grid-template-columns:1.25fr 1fr;align-items:center;}
.rs-prologue__photos--duo .rs-prologue__photo:nth-child(1){aspect-ratio:4/3;}
.rs-prologue__photos--duo .rs-prologue__photo:nth-child(2){aspect-ratio:1/1;margin-top:32px;}
.rs-prologue__photo{aspect-ratio:4/5;background-size:cover;background-position:center;}
/* 写真が1枚だけのとき（--solo）は、枠いっぱいに大きく見せる。
   2枚組の骨格のまま片方を空けると、PCでは写真の隣に白い箱が残って入れ忘れに見える。
   横位置の写真が多いので、縦長（4/5）ではなく 4/3 で切る。 */
.rs-prologue__photos--solo{grid-template-columns:1fr;}
.rs-prologue__photos--solo .rs-prologue__photo{aspect-ratio:4/3;}
/* 写真が1枚も無いときは本文だけを横いっぱいに */
.rs-prologue--nophoto .rs-prologue__inner,
.rs-prologue--nophoto.rs-prologue--reverse .rs-prologue__inner{grid-template-columns:1fr;}

@media(max-width:900px){.rs-prologue__inner,.rs-prologue--reverse .rs-prologue__inner{grid-template-columns:1fr;gap:48px;}.rs-prologue--reverse .rs-prologue__photos{order:0;}.rs-prologue--reverse .rs-prologue__copy{order:0;}.rs-prologue__photos--duo{grid-template-columns:1fr 1fr;}}

/* ════════════════════════════════════════════════════════════
   .rs-tabs — タブナビゲーション（お献立コース切替）
   ════════════════════════════════════════════════════════════ */
.rs-tabs{
  display:flex;justify-content:center;gap:0;
  margin:0 auto clamp(36px,4vw,56px);
  max-width:560px;
  border:.5px solid var(--rs-line);
}
.rs-tab{
  flex:1;padding:14px 24px;background:transparent;border:0;cursor:pointer;
  font-family:var(--rs-serif);font-size:13px;letter-spacing:.18em;
  color:var(--rs-sub);transition:background .3s ease,color .3s ease;
}
.rs-tab + .rs-tab{border-left:.5px solid var(--rs-line);}
.rs-tab:hover{color:var(--rs-ink);}
.rs-tab.is-active{background:var(--rs-ink);color:#f4efe3;}

/* ════════════════════════════════════════════════════════════
   .rs-courseflow — お献立タイムライン（壱〜結）
   ════════════════════════════════════════════════════════════ */
.rs-courseflow[data-tab-target]{display:none;}
.rs-courseflow[data-tab-target].is-active{display:block;}
.rs-courseflow{
  max-width:920px;margin:0 auto;padding:0;list-style:none;
  border-top:.5px solid var(--rs-line);
}
.rs-courseflow__item{
  display:grid;grid-template-columns:84px 1fr 1.4fr 120px;
  gap:clamp(16px,1.8vw,28px);
  padding:clamp(20px,2.2vw,28px) 6px;
  border-bottom:.5px dotted var(--rs-line-soft);
  align-items:center;
}
.rs-courseflow__img{
  aspect-ratio:4/3;
  background-size:cover;
  background-position:center;
  background-color:var(--rs-bg-alt);
  border:.5px solid var(--rs-line-soft);
}
.rs-courseflow__num{display:flex;align-items:baseline;gap:10px;}
.rs-courseflow__num .kanji{font-family:var(--rs-serif-display);font-weight:700;font-size:clamp(20px,1.8vw,26px);letter-spacing:.08em;color:var(--rs-gold);}
.rs-courseflow__num .en{font-family:var(--rs-en);font-style:italic;font-size:10px;letter-spacing:.3em;color:var(--rs-navy);text-transform:uppercase;}
.rs-courseflow__name{font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(15px,1.3vw,18px);letter-spacing:.18em;color:var(--rs-ink);}
.rs-courseflow__desc{font-family:var(--rs-serif);font-weight:300;font-size:13px;line-height:2.05;letter-spacing:.08em;color:var(--rs-sub);margin:0;}
@media(max-width:767px){
  .rs-courseflow__item{grid-template-columns:60px 1fr 80px;grid-template-rows:auto auto;gap:8px 14px;}
  .rs-courseflow__num{grid-row:1/span 2;}
  .rs-courseflow__name{grid-column:2;}
  .rs-courseflow__desc{grid-column:2;margin-top:4px;font-size:12.5px;}
  .rs-courseflow__img{grid-column:3;grid-row:1/span 2;}
  .rs-tab{padding:12px 14px;font-size:12px;letter-spacing:.1em;}
}

/* ════════════════════════════════════════════════════════════
   .rs-gallery — 料理写真複数枚 grid
   ════════════════════════════════════════════════════════════ */
.rs-gallery{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(10px,1.2vw,18px);
  max-width:1180px;margin:clamp(56px,7vw,96px) auto 0;
}
.rs-gallery__item{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  background:var(--rs-bg-alt);
}
.rs-gallery__item img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1200ms ease;
}
.rs-gallery__item:hover img{transform:scale(1.04);}
@media(max-width:767px){.rs-gallery{grid-template-columns:repeat(2,1fr);gap:8px;}}

/* ════════════════════════════════════════════════════════════
   .rs-pdf — お献立PDF方式（PDF貼付＋クリックで拡大）
   ════════════════════════════════════════════════════════════ */
.rs-pdfblock[data-tab-target]{display:none;}
.rs-pdfblock[data-tab-target].is-active{display:block;}

/* コース名（PDFが1枚＝タブが出ないときの見出し。タブバーと同じ位置・余白に置く） */
.rs-pdf__title{
  margin:0 auto clamp(36px,4vw,56px);
  text-align:center;
  font-family:var(--rs-serif-display);font-weight:500;
  font-size:clamp(16px,1.5vw,20px);letter-spacing:.22em;
  color:var(--rs-ink);
}
.rs-pdf__title::after{
  content:"";display:block;width:28px;height:.5px;
  background:var(--rs-gold);margin:14px auto 0;
}

.rs-pdf{
  position:relative;
  max-width:920px;margin:0 auto;
  background:var(--rs-bg-alt);
  border:.5px solid var(--rs-line);
  overflow:hidden;
}
/* 紙面が途中で切れないよう、高さは頭打ちにせず原寸比のまま全体を表示する。 */
.rs-pdf__thumb{
  width:100%;height:auto;
  display:block;background:#fff;
}
/* PDF.js で描き直した表紙（features/dish-pdf.js）。描けたら元の画像・iframe・代替カードは隠す */
.rs-pdf__canvas{display:block;width:100%;height:auto;background:#fff;animation:rsPdfIn .5s ease both;}
@keyframes rsPdfIn{from{opacity:0}to{opacity:1}}
.rs-pdf.is-rendered .rs-pdf__thumb,
.rs-pdf.is-rendered .rs-pdf__frame,
.rs-pdf.is-rendered .rs-pdf__fallback{display:none !important;}
@media (prefers-reduced-motion:reduce){.rs-pdf__canvas{animation:none;}}
/* 自動生成プレビューが無い環境のみ iframe で直接表示。
   aspect-ratio はPDFの /MediaBox から算出した実寸比をインラインで入れている（既定はA4縦）。 */
.rs-pdf__frame{width:100%;height:auto;aspect-ratio:595/842;border:0;display:block;background:#fff;}
.rs-pdf__fallback{display:none;}

.rs-pdf__open{
  position:absolute;inset:0;z-index:2;
  background:transparent;border:0;padding:0;
  cursor:zoom-in;
  display:flex;align-items:flex-end;justify-content:flex-end;
}
.rs-pdf__zoom{
  width:52px;height:52px;margin:16px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(31,27,22,.82);
  border:.5px solid var(--rs-gold);
  border-radius:50%;
  color:var(--rs-gold-soft);
  opacity:.85;
  transition:opacity .3s ease,transform .3s ease,background .3s ease;
}
.rs-pdf__zoom::before{content:"\002B";font-family:var(--rs-en);font-size:22px;line-height:1;}
.rs-pdf__open:hover .rs-pdf__zoom,
.rs-pdf__open:focus-visible .rs-pdf__zoom{opacity:1;transform:scale(1.08);background:var(--rs-ink);}

/* キャプション（入力があるときだけ出力される） */
.rs-pdf__caption{
  max-width:920px;margin:18px auto 0;
  text-align:center;
  font-family:var(--rs-serif);font-weight:300;
  font-size:13px;line-height:2.05;letter-spacing:.08em;
  color:var(--rs-sub);
}

.rs-pdf__links{
  text-align:center;margin:14px 0 0;
  font-family:var(--rs-serif);font-size:13px;letter-spacing:.14em;
}
.rs-pdf__links a{color:var(--rs-sub);text-decoration:none;transition:color .3s ease;}
.rs-pdf__links a:hover{color:var(--rs-gold);}
.rs-pdf__links .arrow{display:inline-block;transition:transform .3s ease;}
.rs-pdf__links a:hover .arrow{transform:translateX(4px);}

/* PDF直下の写真6枚 — .rs-gallery を流用し、上の余白だけ詰める */
.rs-gallery--pdf{margin-top:clamp(28px,3.5vw,48px);}

@media(max-width:767px){
  /* モバイルブラウザは iframe 内のPDFを描画しないため、代替カードを出してタップで別タブへ */
  .rs-pdf__frame{display:none;}
  .rs-pdf__fallback{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
    min-height:220px;padding:32px 24px;text-align:center;
  }
  .rs-pdf__fallback-label{
    font-family:var(--rs-en);font-style:italic;font-size:11px;letter-spacing:.3em;
    color:var(--rs-gold);text-transform:uppercase;
  }
  .rs-pdf__fallback-name{
    font-family:var(--rs-serif-display);font-size:15px;letter-spacing:.18em;color:var(--rs-ink);
  }
  .rs-pdf__open{cursor:pointer;}
  .rs-pdf__zoom{width:44px;height:44px;margin:12px;}
  .rs-pdf__title{font-size:15px;letter-spacing:.16em;margin-bottom:28px;}
  .rs-pdf__caption{font-size:12.5px;line-height:1.95;text-align:left;}
}

/* ── PDF拡大モーダル（pages/rooms.css の .room-modal-overlay に準拠） ── */
.rs-pdf-overlay{
  position:fixed;inset:0;z-index:9999;
  background:rgba(20,16,10,.88);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .4s ease;
  padding:clamp(16px,3vw,40px);
}
.rs-pdf-overlay.is-open{opacity:1;pointer-events:auto;}
.rs-pdf-modal{
  position:relative;
  width:100%;max-width:1000px;
  /* オーバーレイのpadding内に必ず収める（縦にはみ出さない） */
  max-height:100%;
  display:flex;flex-direction:column;
  background:var(--rs-bg);
  border:.5px solid rgba(184,150,101,.4);
  transform:translateY(24px);
  transition:transform .45s ease;
}
.rs-pdf-overlay.is-open .rs-pdf-modal{transform:translateY(0);}
.rs-pdf-modal__close{
  position:absolute;top:0;right:0;z-index:5;
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(31,27,22,.7);
  border:none;cursor:pointer;
  color:var(--rs-gold-soft);font-size:22px;line-height:1;
  transition:color .3s ease,background .3s ease;
}
.rs-pdf-modal__close:hover{color:#f4efe3;background:var(--rs-ink);}
.rs-pdf-modal__frame{
  /* 残り高さいっぱい。min-height:0 が無いとflex子要素が縮まずはみ出す */
  flex:1 1 auto;min-height:0;
  width:100%;height:88vh;display:block;border:0;background:#fff;
}
.rs-pdf-modal__actions{
  flex:0 0 auto;
  display:flex;justify-content:center;gap:clamp(16px,3vw,40px);
  padding:14px 16px;
  border-top:.5px solid var(--rs-line);
}
.rs-pdf-modal__link{
  font-family:var(--rs-serif);font-size:12.5px;letter-spacing:.16em;
  color:var(--rs-sub);text-decoration:none;cursor:pointer;
  transition:color .3s ease;
}
.rs-pdf-modal__link:hover{color:var(--rs-gold);}

/* ════════════════════════════════════════════════════════════
   .rs-seasons — 四季の食材 全幅画像 + 4列カード
   ════════════════════════════════════════════════════════════ */













/* ════════════════════════════════════════════════════════════
   .rs-space — お部屋紹介 左右レイアウト
   ════════════════════════════════════════════════════════════ */
.rs-space__grid{
  display:grid;grid-template-columns:1.1fr 1fr;
  gap:clamp(36px,4vw,72px);align-items:center;
}
.rs-space__photo{aspect-ratio:4/5;background-size:cover;background-position:center;}
.rs-space__body{display:flex;flex-direction:column;gap:22px;}
.rs-space__en{font-family:var(--rs-en);font-style:italic;font-size:12px;letter-spacing:.28em;color:var(--rs-navy);text-transform:uppercase;}
.rs-space__h{margin:0;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(20px,2vw,28px);letter-spacing:.2em;line-height:1.65;color:var(--rs-ink);}
.rs-space__desc{font-family:var(--rs-serif);font-size:14px;line-height:2.2;letter-spacing:.1em;color:var(--rs-sub);margin:0;}
.rs-space__meta{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px 24px;
  margin-top:4px;padding-top:22px;
  border-top:.5px solid var(--rs-line);
}
.rs-space__meta > div{display:flex;flex-direction:column;gap:4px;}
.rs-space__meta dt{font-family:var(--rs-en);font-style:italic;font-size:10px;letter-spacing:.3em;color:var(--rs-gold);text-transform:uppercase;margin:0;}
.rs-space__meta dd{margin:0;font-family:var(--rs-serif);font-size:13px;line-height:1.8;letter-spacing:.08em;color:var(--rs-ink);}
.rs-space__link{display:inline-flex;align-items:center;gap:14px;margin-top:22px;padding-bottom:6px;border-bottom:.5px solid var(--rs-line);font-family:var(--rs-serif);font-size:13px;letter-spacing:.22em;color:var(--rs-ink);text-decoration:none;align-self:flex-start;transition:color .35s ease,border-color .35s ease,gap .35s ease;}
.rs-space__link:hover{color:var(--rs-gold);border-bottom-color:var(--rs-gold);gap:20px;}
@media(max-width:900px){.rs-space__grid{grid-template-columns:1fr;}}

/* ════════════════════════════════════════════════════════════
   .rs-price-panel + .rs-price-alt + .rs-options
   ════════════════════════════════════════════════════════════ */
.rs-price-panel{
  max-width:1080px;margin:0 auto;
  padding:clamp(36px,4vw,64px);
  background:rgba(255,255,255,.55);
  border:.5px solid var(--rs-line);
  display:grid;grid-template-columns:1fr 1.1fr;
  gap:clamp(36px,4vw,64px);align-items:center;
}
.rs-price-panel__head{display:flex;flex-direction:column;gap:14px;}
.rs-price-panel__en{font-family:var(--rs-en);font-style:italic;font-size:12px;letter-spacing:.28em;color:var(--rs-navy);text-transform:uppercase;}
.rs-price-panel__label{margin:0;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(16px,1.4vw,18px);letter-spacing:.22em;color:var(--rs-ink);}
.rs-price-panel__amount{display:flex;align-items:baseline;gap:10px;padding-top:14px;border-top:.5px solid var(--rs-gold);}
/* 金額の大きさは**全プラン共通**（2026-09-20 ご指示で名物水たき会席に合わせた）。
   元は 60px まで大きくなる見出し数字だったが、「¥27,500／¥35,000」のように2つ並べる
   プランでは2カラムの左半分（1024pxで345px）に収まらず、数字の途中で折れていた。
   小さいほうに寄せて、どのプランでも同じ見た目・同じ行数になるようにしてある。
   **プランごとに大きさを変えないこと**（同じ節の金額が並ぶと差が目立つ）。 */
.rs-price-panel__amount .num{font-family:var(--rs-serif);font-weight:500;font-size:clamp(24px,6.2vw,40px);letter-spacing:.02em;color:var(--rs-navy);line-height:1;}
.rs-price-panel__amount .unit{font-family:var(--rs-serif);font-size:13px;letter-spacing:.08em;color:var(--rs-sub);}
@media(min-width:901px){   /* 2カラムに戻ると左半分が狭くなるので、vw の効きを弱める */
  .rs-price-panel__amount .num{font-size:clamp(28px,3vw,42px);}
}
/* 2つ並べる形だけ、途中折れを止めて単位を数字の下へ回す（印は jisaku_amount_class()）。
   1つだけの金額は単位が横に収まるので、並びは変えない。 */
.rs-price-panel__amount--long{flex-wrap:wrap;row-gap:6px;}
.rs-price-panel__amount--long .num{white-space:nowrap;}
.rs-price-panel__amount--long .unit{flex:0 0 100%;}
.rs-price-panel__note{margin:0;font-family:var(--rs-en);font-style:italic;font-size:12px;color:var(--rs-gold);letter-spacing:.06em;}
.rs-price-panel__inc{list-style:none;margin:0;padding:0;}
.rs-price-panel__inc li{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:14px 0;border-bottom:.5px dotted var(--rs-line-soft);font-family:var(--rs-serif);font-size:13px;letter-spacing:.08em;line-height:1.8;color:var(--rs-ink);}
.rs-price-panel__inc li:last-child{border-bottom:none;}
.rs-price-panel__inc .lab{font-family:var(--rs-en);font-style:italic;font-size:10px;letter-spacing:.3em;color:var(--rs-gold);text-transform:uppercase;align-self:center;}
/* 特撰を同じ形で並べるとき（近江牛 → 松阪牛）の間隔 */
.rs-price-panel + .rs-price-panel{margin-top:clamp(32px,4vw,48px);}

.rs-price-alt{
  max-width:1080px;margin:clamp(32px,4vw,48px) auto 0;
  padding:clamp(28px,3vw,48px) clamp(36px,4vw,64px);
  background:var(--rs-bg-alt);border:.5px solid var(--rs-line);
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
}
.rs-price-alt__body{display:flex;flex-direction:column;gap:8px;max-width:60%;}
.rs-price-alt__en{font-family:var(--rs-en);font-style:italic;font-size:11px;letter-spacing:.28em;color:var(--rs-gold);text-transform:uppercase;}
.rs-price-alt__label{margin:0;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(16px,1.4vw,18px);letter-spacing:.2em;color:var(--rs-ink);}
.rs-price-alt__desc{margin:6px 0 0;font-family:var(--rs-serif);font-size:13px;line-height:2;letter-spacing:.08em;color:var(--rs-sub);}
.rs-price-alt__amount{display:flex;align-items:baseline;gap:10px;}
/* 特撰を1行で出す形（「時価」など）の金額も、上の料金パネルと同じ大きさにそろえる
   （2026-09-20 ご指示。同じ節の中で数字の大きさが変わらないように）。 */
.rs-price-alt__amount .num{font-family:var(--rs-serif);font-weight:500;font-size:clamp(24px,6.2vw,40px);color:var(--rs-navy);line-height:1;}
@media(min-width:901px){
  .rs-price-alt__amount .num{font-size:clamp(28px,3vw,42px);}
}
.rs-price-alt__amount .unit{font-family:var(--rs-serif);font-size:12px;letter-spacing:.08em;color:var(--rs-sub);}

.rs-options{margin-top:clamp(80px,10vw,120px);}
.rs-options__divider{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin-bottom:clamp(48px,6vw,72px);}
.rs-options__en{font-family:var(--rs-en);font-style:italic;font-size:12px;letter-spacing:.28em;color:var(--rs-gold);text-transform:uppercase;}
.rs-options__h{margin:0;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(18px,1.8vw,24px);letter-spacing:.2em;color:var(--rs-ink);}
.rs-options__lead{font-family:var(--rs-serif);font-weight:300;font-size:13px;line-height:2;letter-spacing:.08em;color:var(--rs-sub);margin:0;max-width:36em;}
.rs-options__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,48px);}
.rs-option{display:flex;flex-direction:column;background:rgba(255,255,255,.45);border:.5px solid var(--rs-line);}
.rs-option__img{position:relative;aspect-ratio:4/3;overflow:hidden;}
.rs-option__img img{width:100%;height:100%;object-fit:cover;display:block;}
.rs-option__tag{position:absolute;top:14px;left:14px;font-family:var(--rs-en);font-style:italic;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--rs-gold);padding:6px 12px;background:rgba(244,239,227,.85);border:.5px solid var(--rs-gold);}
.rs-option__body{padding:clamp(22px,2.2vw,32px);display:flex;flex-direction:column;gap:12px;flex:1;}
.rs-option__h{margin:0;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(16px,1.4vw,19px);letter-spacing:.18em;line-height:1.55;color:var(--rs-ink);}
.rs-option__desc{margin:0;font-family:var(--rs-serif);font-size:12.5px;line-height:2;letter-spacing:.08em;color:var(--rs-sub);flex:1;}
.rs-option__price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:16px;border-top:.5px solid var(--rs-line);}
.rs-option__price .num{font-family:var(--rs-serif);font-weight:500;font-size:clamp(17px,1.5vw,20px);color:var(--rs-navy);}
.rs-option__price .unit{font-family:var(--rs-serif);font-size:11px;color:var(--rs-sub);letter-spacing:.08em;}
.rs-option__price .tiered{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--rs-navy);}
.rs-option__price .tiered .unit{display:inline;}
@media(max-width:900px){.rs-price-panel{grid-template-columns:1fr;} .rs-options__grid{grid-template-columns:1fr;} .rs-price-alt__body{max-width:100%;}}
@media (min-width:768px) and (max-width:1080px){.rs-options__grid{grid-template-columns:repeat(2,1fr);}}

/* ════════════════════════════════════════════════════════════
   .rs-notes — ご予約と注意事項 3カラム
   ════════════════════════════════════════════════════════════ */
.rs-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,2.4vw,40px);}
.rs-note{
  padding:clamp(26px,2.6vw,40px);
  background:rgba(255,255,255,.5);border:.5px solid var(--rs-line);
  display:flex;flex-direction:column;gap:14px;
}
.rs-note__en{font-family:var(--rs-en);font-style:italic;font-size:10px;letter-spacing:.28em;color:var(--rs-gold);text-transform:uppercase;}
.rs-note__h{margin:0;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(15px,1.2vw,17px);letter-spacing:.2em;line-height:1.65;color:var(--rs-ink);}
.rs-note__desc{margin:0;font-family:var(--rs-serif);font-size:13px;line-height:2;letter-spacing:.08em;color:var(--rs-sub);}
.rs-note__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-family:var(--rs-serif);font-size:12.5px;line-height:1.85;letter-spacing:.08em;color:var(--rs-sub);}
.rs-note__list li{padding-left:14px;position:relative;}
.rs-note__list li::before{content:"・";position:absolute;left:0;color:var(--rs-gold);}
.rs-note__tel{display:inline-flex;align-items:baseline;gap:10px;font-family:var(--rs-en);font-style:italic;font-size:20px;color:var(--rs-navy);text-decoration:none;margin-top:auto;}
.rs-note__tel small{font-family:var(--rs-serif);font-style:normal;font-size:11px;color:var(--rs-sub);}
@media(max-width:1080px){.rs-notes{grid-template-columns:1fr;}}

/* ════════════════════════════════════════════════════════════
   .rs-other — 他のお料理プラン
   ════════════════════════════════════════════════════════════ */















/* ════════════════════════════════════════════════════════════
   .rs-tiers — 月花雅3カラム（大漢字 + ふりがな + 価格 + 写真）
   参考デザインの「おまかせコース」3カラムを再現
   ════════════════════════════════════════════════════════════ */
.rs-tiers{
  display:grid;grid-template-columns:1fr 1.4fr;
  gap:clamp(40px,5vw,80px);align-items:center;
}
.rs-tiers__copy{display:flex;flex-direction:column;gap:0;}
.rs-tiers__kicker{display:flex;align-items:center;gap:14px;font-family:var(--rs-en);font-style:italic;font-size:12px;letter-spacing:.28em;color:var(--rs-navy);text-transform:uppercase;margin:0 0 18px;}
.rs-tiers__kicker::before{content:"";width:28px;height:.5px;background:var(--rs-gold);}
.rs-tiers__title{margin:0 0 24px;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(22px,2.4vw,32px);letter-spacing:.22em;color:var(--rs-ink);line-height:1.6;white-space:nowrap;}
.rs-tiers__text{font-family:var(--rs-serif);font-weight:300;font-size:14px;line-height:2.2;letter-spacing:.08em;color:var(--rs-sub);margin:0 0 28px;}


.rs-tiers__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,32px);}
.rs-tier{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit;}
.rs-tier__name{display:flex;align-items:baseline;gap:8px;}
.rs-tier__kanji{font-family:var(--rs-serif-display);font-weight:600;font-size:clamp(36px,3.8vw,52px);letter-spacing:.04em;color:var(--rs-ink);line-height:1;}
.rs-tier__furigana{font-family:var(--rs-serif);font-size:11px;letter-spacing:.16em;color:var(--rs-sub);}
.rs-tier__price{display:flex;flex-direction:column;gap:2px;}
.rs-tier__price-num{font-family:var(--rs-serif);font-weight:500;font-size:clamp(18px,1.5vw,22px);color:var(--rs-navy);letter-spacing:.04em;}
.rs-tier__price-unit{font-family:var(--rs-serif);font-size:10px;letter-spacing:.06em;color:var(--rs-sub);}
.rs-tier__photo{aspect-ratio:1/1;background-size:cover;background-position:center;}
.rs-tiers__note{margin-top:clamp(28px,3vw,40px);grid-column:1 / -1;font-family:var(--rs-serif);font-size:11px;letter-spacing:.08em;color:var(--rs-sub);text-align:right;}
@media(max-width:900px){
  .rs-tiers{grid-template-columns:1fr;gap:48px;}
  .rs-tiers__grid{grid-template-columns:repeat(3,1fr);gap:16px;}
}
@media(max-width:520px){
  .rs-tiers__grid{grid-template-columns:1fr;gap:32px;}
}

/* ════════════════════════════════════════════════════════════
   .rs-access — フッター直前のアクセス＋予約セクション（暗ネイビー）
   参考デザインの「アクセス／ご予約・お問い合わせ」4カラム
   ════════════════════════════════════════════════════════════ */
.rs-access{
  position:relative;overflow:hidden;
  padding:clamp(80px,9vw,120px) 0;
  background:var(--rs-navy-deep);
  color:#f4efe3;
}
.rs-access__inner{
  max-width:var(--rs-wrap);margin:0 auto;padding:0 var(--rs-gutter);
  display:grid;grid-template-columns:1.1fr 1.2fr 1fr;
  gap:clamp(32px,4vw,72px);align-items:center;
}
.rs-access__col{display:flex;flex-direction:column;gap:14px;}
.rs-access__en{font-family:var(--rs-en);font-style:italic;font-size:12px;letter-spacing:.28em;color:var(--rs-gold-soft);text-transform:uppercase;}
.rs-access__h{margin:0 0 6px;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(16px,1.4vw,18px);letter-spacing:.22em;color:#f4efe3;}
.rs-access__addr{margin:0;font-family:var(--rs-serif);font-weight:300;font-size:13px;line-height:2;letter-spacing:.08em;color:rgba(244,239,227,.78);}
.rs-access__link{display:inline-flex;align-items:center;gap:12px;padding-bottom:6px;font-family:var(--rs-serif);font-size:12px;letter-spacing:.22em;color:var(--rs-gold-soft);border-bottom:.5px solid var(--rs-gold-soft);transition:color .35s,border-color .35s,gap .35s;align-self:flex-start;}
.rs-access__link:hover{color:#f4efe3;border-bottom-color:#f4efe3;gap:18px;}
.rs-access__tel{font-family:var(--rs-en);font-style:italic;font-size:clamp(22px,2.4vw,30px);color:#f4efe3;text-decoration:none;letter-spacing:.04em;display:inline-block;}
.rs-access__hours{font-family:var(--rs-serif);font-size:11px;letter-spacing:.08em;color:rgba(244,239,227,.65);}
.rs-access__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  padding:16px clamp(32px,3vw,48px);
  background:transparent;color:#f4efe3;
  font-family:var(--rs-serif);font-size:13px;letter-spacing:.24em;
  border:.5px solid var(--rs-gold-soft);
  text-decoration:none;
  transition:background .35s,color .35s,gap .35s,border-color .35s;
}
.rs-access__btn:hover{background:var(--rs-gold-soft);color:var(--rs-navy-deep);gap:20px;}
.rs-access__visual{aspect-ratio:3/4;background-size:cover;background-position:center;}
@media(max-width:900px){
  .rs-access__inner{grid-template-columns:1fr;gap:32px;}
  .rs-access__visual{display:none;}
}

/* ════════════════════════════════════════════════════════════
   .rs-night-section — 夜の差し色（左右分割、bg-4.png + 濃紺）
   ════════════════════════════════════════════════════════════ */
.rs-night-section{
  position:relative;overflow:hidden;
  padding:clamp(120px,15vw,200px) 0;
  background-color:var(--rs-navy-deep);
  background-image:url('../images/bg/bg-4.png');
  background-size:cover;background-position:center;background-repeat:no-repeat;
  color:#f4efe3;
}
.rs-night-section::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,28,42,.4) 0%,rgba(26,38,56,.55) 100%);
  z-index:1;pointer-events:none;
}
.rs-night-section__inner{
  position:relative;z-index:2;
  max-width:var(--rs-wrap);margin:0 auto;padding:0 var(--rs-gutter);
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(40px,6vw,96px);align-items:center;
}
.rs-night-section--reverse .rs-night-section__photo{order:2;}
.rs-night-section--reverse .rs-night-section__body{order:1;}
.rs-night-section__photo{aspect-ratio:4/5;background-size:cover;background-position:center;}
.rs-night-section__kicker{display:flex;align-items:center;gap:14px;font-family:var(--rs-en);font-style:italic;font-size:12px;letter-spacing:.28em;color:var(--rs-gold-soft);text-transform:uppercase;margin:0 0 22px;}
.rs-night-section__kicker::before{content:"";width:28px;height:.5px;background:var(--rs-gold-soft);}
.rs-night-section__title{margin:0 0 24px;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(22px,2.6vw,32px);letter-spacing:.22em;line-height:1.75;color:#f4efe3;}
.rs-night-section__text{margin:0 0 32px;font-family:var(--rs-serif);font-weight:300;font-size:14px;line-height:2.2;letter-spacing:.1em;color:rgba(244,239,227,.82);}


@media(max-width:900px){.rs-night-section__inner{grid-template-columns:1fr;gap:48px;}.rs-night-section--reverse .rs-night-section__photo,.rs-night-section--reverse .rs-night-section__body{order:0;}}

/* ════════════════════════════════════════════════════════════
   df-cream（index / index4 / index5）専用
   ① rs-night-section を他セクションと同じクリーム背景に（文字色をダークへ）
   ② フッターを dish/index.html と同じクリーム調に
   ════════════════════════════════════════════════════════════ */
/* ① rs-night-section → クリーム（rs-page の地を見せる） */
body.page-dish-detail.df-cream .rs-night-section{
  background-color:transparent;
  background-image:none;
  color:var(--rs-ink);
}
body.page-dish-detail.df-cream .rs-night-section::before{display:none;}
body.page-dish-detail.df-cream .rs-night-section__kicker{color:var(--rs-navy);}
body.page-dish-detail.df-cream .rs-night-section__kicker::before{background:var(--rs-gold);}
body.page-dish-detail.df-cream .rs-night-section__title{color:var(--rs-ink);}
body.page-dish-detail.df-cream .rs-night-section__text{color:var(--rs-sub);}

/* rs-access（フッター直前のアクセス＋予約）→ クリーム */
body.page-dish-detail.df-cream .rs-access{background:transparent;color:var(--rs-ink);}
body.page-dish-detail.df-cream .rs-access__en{color:var(--rs-gold);}
body.page-dish-detail.df-cream .rs-access__h{color:var(--rs-ink);}
body.page-dish-detail.df-cream .rs-access__addr{color:var(--rs-sub);}
body.page-dish-detail.df-cream .rs-access__link{color:var(--rs-gold);border-bottom-color:var(--rs-gold);}
body.page-dish-detail.df-cream .rs-access__link:hover{color:var(--rs-ink);border-bottom-color:var(--rs-ink);}
body.page-dish-detail.df-cream .rs-access__tel{color:var(--rs-ink);}
body.page-dish-detail.df-cream .rs-access__hours{color:var(--rs-sub);}
body.page-dish-detail.df-cream .rs-access__btn{color:var(--rs-ink);border-color:var(--rs-gold);}
body.page-dish-detail.df-cream .rs-access__btn:hover{background:var(--rs-gold);color:#fff;}

/* スマホ — HERO 画像下の影（黒いグラデーション）を削除 */
@media (max-width:767px){
  body.page-dish-detail.df-cream .rs-detail-hero__bg{box-shadow:none;}
}

/* ③ ヘッダー（スクロール時）— dish/index.html（body.page-dish）と同じクリーム調 */
body.page-dish-detail.df-cream .header.is-scrolled{
  background:rgba(244,239,227,.82) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  backdrop-filter:blur(14px) !important;
}
body.page-dish-detail.df-cream .header.is-scrolled .header-tel,
body.page-dish-detail.df-cream .header.is-scrolled .header-nav-link,
body.page-dish-detail.df-cream .header.is-scrolled .lang-en,
body.page-dish-detail.df-cream .header.is-scrolled .lang-select-v2__toggle,
body.page-dish-detail.df-cream .header.is-scrolled .header-sns a{color:#1f1b16 !important;}
body.page-dish-detail.df-cream .header.is-scrolled svg{stroke:#1f1b16;}
body.page-dish-detail.df-cream .header.is-scrolled svg[fill="currentColor"]{fill:#1f1b16;}
body.page-dish-detail.df-cream .header.is-scrolled .menu-toggle span{background:#1f1b16 !important;}
body.page-dish-detail.df-cream .header.is-scrolled .header__logo-img{filter:brightness(0) saturate(100%);}
body.page-dish-detail.df-cream .header.is-scrolled .lang-select-v2__caret{border-top-color:#1f1b16;}

/* ② フッター — dish/index.html（body.page-dish）と同じクリーム調 */
body.page-dish-detail.df-cream .footer{
  background:#ebe3cf;
  color:#1f1b16;
  border-top:.5px solid rgba(120,100,70,.26);
  margin-top:0;
}
body.page-dish-detail.df-cream .footer__brand .since{color:#6e665b;}
body.page-dish-detail.df-cream .footer__brand .vert{color:#1f1b16;}
body.page-dish-detail.df-cream .footer__logo-img{filter:brightness(0) saturate(100%);}
body.page-dish-detail.df-cream .footer h5{color:#1f1b16;border-bottom-color:rgba(120,100,70,.26);}
body.page-dish-detail.df-cream .footer li{color:#2a251f;}
body.page-dish-detail.df-cream .footer li a{color:inherit;}
body.page-dish-detail.df-cream .footer li a:hover{color:#b89665;}
body.page-dish-detail.df-cream .footer__bottom{color:#6e665b;border-top-color:rgba(120,100,70,.18);}
body.page-dish-detail.df-cream .footer__address{color:#2a251f;}
body.page-dish-detail.df-cream .footer__cta{border-color:rgba(120,100,70,.32);}
body.page-dish-detail.df-cream .footer__cell{color:#1f1b16;border-bottom-color:rgba(120,100,70,.22);}
body.page-dish-detail.df-cream .footer__cell:hover{background:rgba(184,150,101,.10);color:#b89665;}
body.page-dish-detail.df-cream .footer__cell-icon{color:#b89665;}
body.page-dish-detail.df-cream .footer__cell:hover .footer__cell-icon{color:#8e6e3f;}
body.page-dish-detail.df-cream .footer__cell-sub{color:#6e665b;}
body.page-dish-detail.df-cream .footer__sns > a[aria-label]{color:#2a251f;border-color:rgba(120,100,70,.36);}
body.page-dish-detail.df-cream .footer__sns > a[aria-label]:hover{color:#b89665;border-color:#b89665;background:rgba(184,150,101,.08);}
body.page-dish-detail.df-cream .follow-nav__sns a,
body.page-dish-detail.df-cream .follow-nav__bar{background:#1a2638;}
/* Menu modal — 地色はページと同じクリーム。配色は style.css の --mm-* が持つ */

/* ════════════════════════════════════════════════════════════
   .rs-fullphoto-dark — 暗いトーンのフル幅画像セクション（夜の庭園型）
   ════════════════════════════════════════════════════════════ */
.rs-fullphoto-dark{
  position:relative;width:100%;
  height:clamp(380px,55vw,640px);
  background-size:cover;background-position:center;
  overflow:hidden;
}
.rs-fullphoto-dark::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,22,34,.2) 0%,rgba(15,22,34,.75) 100%);
}
.rs-fullphoto-dark__inner{
  position:relative;z-index:2;
  max-width:var(--rs-wrap);margin:0 auto;
  padding:0 var(--rs-gutter) clamp(48px,6vw,80px);
  height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;
  color:#f4efe3;
}
.rs-fullphoto-dark__en{font-family:var(--rs-en);font-style:italic;font-size:12px;letter-spacing:.28em;color:var(--rs-gold-soft);text-transform:uppercase;margin:0 0 14px;}
.rs-fullphoto-dark__title{
  margin:0 0 18px;
  font-family:var(--rs-serif-display);font-weight:500;
  font-size:clamp(22px,2.8vw,36px);letter-spacing:.22em;line-height:1.6;
  color:#f4efe3;
}
.rs-fullphoto-dark__lead{margin:0 0 24px;font-family:var(--rs-serif);font-size:14px;line-height:2.1;letter-spacing:.1em;color:rgba(244,239,227,.85);max-width:32em;}



/* ════════════════════════════════════════════════════════════
   .rs-cta — 最終CTA（dish/index.html と同等）
   ════════════════════════════════════════════════════════════ */
.rs-cta{padding:clamp(120px,14vw,200px) 0;text-align:center;background:var(--rs-bg-alt);position:relative;overflow:hidden;}
.rs-cta__en{display:block;font-family:var(--rs-en);font-style:italic;font-size:14px;letter-spacing:.24em;color:var(--rs-navy);text-transform:uppercase;margin-bottom:18px;}
.rs-cta__title{margin:0 0 24px;font-family:var(--rs-serif-display);font-weight:500;font-size:clamp(22px,2.6vw,32px);letter-spacing:.22em;color:var(--rs-ink);line-height:1.7;}
.rs-cta__lead{font-family:var(--rs-serif);font-weight:300;font-size:14px;line-height:2.2;letter-spacing:.08em;color:var(--rs-sub);margin:0 auto 36px;max-width:560px;}
.rs-cta__btn{display:inline-flex;align-items:center;gap:14px;padding:18px 40px;background:transparent;color:var(--rs-ink);font-family:var(--rs-serif);font-size:13px;letter-spacing:.24em;text-decoration:none;border:.5px solid var(--rs-gold);transition:background .35s ease,color .35s ease,gap .35s ease,border-color .35s ease;}
.rs-cta__btn:hover{background:var(--rs-gold);color:#fff;gap:20px;border-color:var(--rs-gold);}
.rs-cta__btn .arrow{transition:transform .35s ease;}
.rs-cta__btn:hover .arrow{transform:translateX(4px);}

/* ════════════════════════════════════════════════════════════
   タブレット (768〜1024px) — 全体調整
   ════════════════════════════════════════════════════════════ */
@media (min-width:768px) and (max-width:1024px){
  .rs-page{--rs-sec-py:clamp(96px,12vw,160px);}
  .rs-head__title{font-size:clamp(20px,2.6vw,26px);}
  .rs-head{margin-bottom:clamp(36px,5vw,60px);}
  .rs-prologue__inner,.rs-prologue--reverse .rs-prologue__inner{grid-template-columns:1fr;gap:48px;}
  .rs-prologue--reverse .rs-prologue__photos,.rs-prologue--reverse .rs-prologue__copy{order:0;}
  .rs-night-section{padding:clamp(96px,12vw,160px) 0;}
  .rs-cta{padding:clamp(96px,12vw,160px) 0;}
  .rs-bgdeco--momiji{width:clamp(150px,18vw,260px);}
  
  .rs-bgdeco--willow{width:clamp(170px,20vw,280px);}
}

/* ════════════════════════════════════════════════════════════
   Reveal アニメーション
   ════════════════════════════════════════════════════════════ */
.rs-page .reveal{opacity:0;transform:translateY(12px);transition:opacity .9s ease,transform .9s ease;}
.rs-page .reveal.is-in{opacity:1;transform:none;}

/* detail ページのフッター上マージン除去（各ページのインライン<style>から統合） */
body.page-dish-detail .footer{margin-top:0;}
