@charset "utf-8";
/* =========================================================================
   Luxway — MIDNIGHT design system
   このファイルがスタイルの正本。HTML側に直値（色・サイズ）を書かないこと。
   ========================================================================= */

:root{
  /* --- 色 --- */
  --ink:#0A0C0E;              /* 漆黒（基本背景） */
  --ink-2:#12161A;            /* 一段明るい面 */
  --ink-3:#1A2026;            /* カード・入力欄 */
  --ink-0:#06080A;            /* フッター */
  --paper:#F2EFE9;            /* 本文の白 */
  --mist:#A8AFB6;             /* 補助テキスト */
  --mist-2:#C6C2BB;           /* 本文グレー */
  --gold:#C6A96B;             /* シャンパンゴールド（罫・アクセント） */
  --gold-2:#E4D3A8;           /* 明るい金（見出し・リンク） */
  --ember:#C8763A;            /* 行灯の灯り（限定使用） */
  --line:rgba(214,199,168,.22);
  --line-2:rgba(255,255,255,.08);

  /* --- 書体 --- */
  --mincho:"Zen Old Mincho",serif;
  --gothic:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",sans-serif;
  --serif:"Cormorant Garamond","Zen Old Mincho",serif;

  /* --- 寸法 --- */
  --maxw:1240px;
  --maxw-narrow:820px;
  --gut:44px;
  --header-h:84px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ink);color:var(--paper);
  font-family:var(--gothic);font-weight:300;line-height:1.9;letter-spacing:.04em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}

.wrap{width:min(100% - var(--gut),var(--maxw));margin-inline:auto}
.narrow{width:min(100% - var(--gut),var(--maxw-narrow));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- 共通パーツ ---------- */
.eyebrow{font-family:var(--serif);font-size:12px;letter-spacing:.42em;color:var(--gold);
  text-transform:uppercase;margin:0}
.rule{height:1px;background:linear-gradient(90deg,var(--gold),transparent);width:64px;margin:18px 0 0}
.en{font-family:var(--serif);letter-spacing:.22em;font-weight:300}

.cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:17px 38px;
  font-size:13px;letter-spacing:.22em;border:1px solid var(--gold);transition:.4s;text-align:center}
.cta.fill{background:var(--gold);color:var(--ink);font-weight:500}
.cta.fill:hover{background:var(--gold-2);border-color:var(--gold-2)}
.cta.ghost{color:var(--gold-2);background:rgba(10,12,14,.28)}
.cta.ghost:hover{background:var(--gold);color:var(--ink)}
.cta.sm{padding:12px 26px;font-size:12px}

.textlink{font-family:var(--serif);font-size:12px;letter-spacing:.26em;color:var(--gold-2);
  border-bottom:1px solid var(--line);padding-bottom:6px;transition:.3s;display:inline-block}
.textlink:hover{border-bottom-color:var(--gold)}

/* ---------- ヘッダー ---------- */
header{position:fixed;inset:0 0 auto;z-index:80;border-bottom:1px solid transparent;
  transition:background .4s,backdrop-filter .4s,border-color .4s}
header.solid,body.sub header{background:rgba(10,12,14,.9);backdrop-filter:blur(14px);
  border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:20px}
.brand{font-family:var(--serif);font-size:27px;letter-spacing:.28em;color:#fff;padding-left:.28em;flex:none}
.brand small{display:block;font-family:var(--gothic);font-size:9px;letter-spacing:.5em;color:var(--gold);margin-top:-2px}
.menu{display:flex;gap:32px;align-items:center;font-size:12.5px;letter-spacing:.18em;margin:0;padding:0;list-style:none}
.menu > li{position:relative}
.menu > li > a{opacity:.84;position:relative;padding:10px 0;display:inline-block}
.menu > li > a::after{content:"";position:absolute;left:0;bottom:4px;width:0;height:1px;background:var(--gold);transition:width .35s}
.menu > li > a:hover,.menu > li[aria-current] > a{opacity:1}
.menu > li > a:hover::after,.menu > li[aria-current] > a::after{width:100%}
.menu > li[aria-current] > a::after{width:100%;background:var(--gold-2)}
/* ドロップダウン（階層を示す） */
.submenu{position:absolute;top:100%;left:-22px;min-width:260px;background:rgba(10,12,14,.97);
  border:1px solid var(--line);padding:10px 0;margin:0;list-style:none;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.28s;backdrop-filter:blur(12px)}
.menu > li:hover .submenu,.menu > li:focus-within .submenu{opacity:1;visibility:visible;transform:none}
.submenu a{display:block;padding:11px 22px;font-size:12.5px;letter-spacing:.1em;color:var(--mist-2);transition:.25s}
.submenu a:hover{background:rgba(198,169,107,.1);color:var(--gold-2)}
.submenu .sm-en{display:block;font-family:var(--serif);font-size:10px;letter-spacing:.24em;color:var(--gold);margin-top:2px}
.nav-right{display:flex;align-items:center;gap:14px;flex:none}
.btn-r{border:1px solid var(--gold);color:var(--gold-2);padding:11px 26px;font-size:11.5px;
  letter-spacing:.3em;transition:.35s;font-family:var(--serif)}
.btn-r:hover{background:var(--gold);color:var(--ink)}
.burger{display:none;width:40px;height:40px;border:1px solid var(--line);background:none;cursor:pointer;padding:0}
.burger span{display:block;width:16px;height:1px;background:var(--paper);margin:4px auto;transition:.3s}
/* SPドロワー */
.drawer{position:fixed;inset:0;z-index:79;background:rgba(6,8,10,.98);backdrop-filter:blur(10px);
  padding:calc(var(--header-h) + 20px) 24px 40px;overflow-y:auto;display:none}
.drawer.open{display:block}
.drawer ul{list-style:none;margin:0;padding:0}
.drawer > ul > li{border-bottom:1px solid var(--line)}
.drawer > ul > li > a{display:block;padding:19px 4px;font-size:16px;letter-spacing:.1em}
.drawer .sm-en{font-family:var(--serif);font-size:10px;letter-spacing:.26em;color:var(--gold);display:block;margin-top:2px}
.drawer ul ul{padding:0 0 14px 16px}
.drawer ul ul a{display:block;padding:9px 0;font-size:13.5px;color:var(--mist-2)}
.drawer .cta{width:100%;margin-top:28px}

/* ---------- 下層ページのヒーロー ---------- */
.page-hero{position:relative;min-height:clamp(300px,44vh,460px);display:flex;align-items:flex-end;
  overflow:hidden;padding-top:var(--header-h)}
.page-hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,12,14,.8) 0%,rgba(10,12,14,.45) 45%,rgba(10,12,14,.94) 100%)}
.page-hero .wrap{position:relative;z-index:2;padding-bottom:clamp(34px,4vw,58px)}
.page-hero h1{font-family:var(--mincho);font-weight:400;font-size:clamp(26px,4vw,48px);
  letter-spacing:.11em;line-height:1.5;margin:16px 0 0}
.page-hero .desc{color:var(--mist-2);font-size:14px;line-height:2.1;margin:18px 0 0;max-width:46em}

/* ---------- パンくず ---------- */
.crumbs{border-bottom:1px solid var(--line);background:var(--ink)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:10px;align-items:center;list-style:none;margin:0;padding:16px 0;
  font-family:var(--serif);font-size:11.5px;letter-spacing:.16em;color:var(--mist)}
.crumbs li::after{content:"／";margin-left:10px;color:var(--line)}
.crumbs li:last-child::after{content:""}
.crumbs a{color:var(--gold-2)}
.crumbs a:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- セクション ---------- */
section{position:relative}
.sec{padding:clamp(72px,9vw,132px) 0}
.sec.tight{padding:clamp(52px,6vw,84px) 0}
.sec.alt{background:var(--ink-2)}
.sec-head{margin-bottom:56px}
.sec-head h2{font-family:var(--mincho);font-weight:400;font-size:clamp(24px,3.2vw,38px);
  letter-spacing:.12em;margin:14px 0 0;line-height:1.6}
.sec-head p{color:var(--mist);font-size:14.5px;max-width:44em;margin:20px 0 0;line-height:2.15}
.sec-head.center{text-align:center}
.sec-head.center .rule{margin-inline:auto}

/* ---------- 本文（コラム記事など） ---------- */
.prose{font-size:15.5px;line-height:2.25;color:#E2DFD9}
.prose > * + *{margin-top:1.6em}
.prose h2{font-family:var(--mincho);font-weight:400;font-size:clamp(20px,2.4vw,27px);letter-spacing:.1em;
  line-height:1.75;margin-top:2.6em;padding-top:1.2em;border-top:1px solid var(--line)}
.prose h3{font-family:var(--mincho);font-weight:400;font-size:clamp(17px,2vw,21px);letter-spacing:.09em;
  color:var(--gold-2);margin-top:2.2em}
.prose p{margin:0}
.prose a{color:var(--gold-2);border-bottom:1px solid var(--line)}
.prose a:hover{border-bottom-color:var(--gold)}
.prose figure{margin:2.4em 0}
.prose figure img{width:100%}
.plan-fig{background:#fff;padding:20px;border:1px solid var(--line);max-width:760px}
.prose figcaption{font-size:12px;color:var(--mist);letter-spacing:.06em;margin-top:12px;line-height:1.9}
.prose ul,.prose ol{padding-left:1.4em;margin:0}
.prose li{margin-top:.7em}
.prose li::marker{color:var(--gold)}
.prose blockquote{margin:2.2em 0;padding:22px 28px;border-left:2px solid var(--gold);background:var(--ink-2);
  font-family:var(--mincho);font-size:16.5px;line-height:2.05;color:var(--gold-2)}
.prose table{width:100%;border-collapse:collapse;font-size:14px}
.prose th,.prose td{border:1px solid var(--line);padding:13px 16px;text-align:left;line-height:1.9}
.prose th{background:var(--ink-2);font-weight:400;color:var(--mist);white-space:nowrap}
.table-scroll{overflow-x:auto;max-width:100%}
.prose .table-scroll table{min-width:560px}

/* ---------- 汎用テーブル（スペック等） ---------- */
.spec-table{width:100%;border-collapse:collapse;font-size:14px}
.spec-table th,.spec-table td{border-bottom:1px solid var(--line);padding:16px 0;text-align:left;vertical-align:top}
.spec-table th{font-weight:400;color:var(--mist);font-size:12px;letter-spacing:.14em;width:11em;padding-right:20px}
.spec-table td{font-family:var(--serif);font-size:15.5px;letter-spacing:.05em;color:var(--paper)}
.spec-table td .jp{font-family:var(--gothic);font-size:14px}

/* ---------- カードグリッド ---------- */
.cards{display:grid;gap:2px;background:var(--line)}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--ink);display:flex;flex-direction:column;position:relative;transition:.4s}
.card:hover{background:var(--ink-2)}
.card .ph{overflow:hidden;aspect-ratio:16/10;position:relative}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,.8,.3,1)}
.card:hover .ph img{transform:scale(1.05)}
.card .tag{position:absolute;top:16px;left:16px;z-index:2;background:rgba(10,12,14,.8);border:1px solid var(--gold);
  color:var(--gold-2);font-family:var(--serif);font-size:10.5px;letter-spacing:.24em;padding:6px 13px}
.card .bd{padding:28px 26px 32px;display:flex;flex-direction:column;flex:1}
.card .brandname{font-family:var(--serif);font-size:11px;letter-spacing:.36em;color:var(--gold)}
.card h3{font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);font-weight:300;letter-spacing:.07em;
  margin:10px 0 0;line-height:1.25;color:var(--paper)}
.card .cap{font-size:12px;letter-spacing:.14em;color:var(--mist);margin:12px 0 0}
.card p{font-size:13px;color:var(--mist-2);line-height:2.05;margin:16px 0 auto}
.card .price{display:flex;align-items:baseline;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.card .price b{font-family:var(--serif);font-size:27px;font-weight:300;color:var(--gold-2);line-height:1}
.card .price span{font-size:11px;letter-spacing:.16em;color:var(--mist)}
.card .textlink{margin-top:20px;align-self:flex-start}

/* ---------- 記事カード ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.post{background:var(--ink-2);display:flex;flex-direction:column;transition:.4s;
  box-shadow:inset 0 0 0 1px var(--line-2)}
.post:hover{background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line)}
.post .ph{aspect-ratio:16/10;overflow:hidden}
.post .ph img{width:100%;height:100%;object-fit:cover;filter:brightness(.9);
  transition:transform 1.1s cubic-bezier(.16,.8,.3,1),filter .5s}
.post:hover .ph img{transform:scale(1.05);filter:brightness(1)}
.post .bd{padding:26px 24px 30px;display:flex;flex-direction:column;flex:1}
.post .meta{display:flex;gap:14px;align-items:center;font-family:var(--serif);font-size:11px;
  letter-spacing:.2em;color:var(--mist)}
.post .cat{color:var(--gold);border:1px solid var(--line);padding:4px 11px;letter-spacing:.18em}
.post h3{font-family:var(--mincho);font-weight:400;font-size:17.5px;letter-spacing:.06em;line-height:1.75;
  margin:16px 0 0;color:var(--paper)}
.post p{font-size:13px;color:var(--mist);line-height:2;margin:14px 0 auto}
.post .textlink{margin-top:20px;align-self:flex-start}
.post.wide{flex-direction:row;grid-column:1 / -1}
.post.wide .ph{flex:0 0 52%;aspect-ratio:16/9}
.post.wide .bd{padding:clamp(26px,3vw,44px)}
.post.wide h3{font-size:clamp(19px,2.2vw,26px);line-height:1.65}

/* ---------- サイドバー付きレイアウト ---------- */
.with-side{display:grid;grid-template-columns:1fr 300px;gap:clamp(40px,5vw,72px);align-items:start}
.with-side > *{min-width:0}
.side{position:sticky;top:calc(var(--header-h) + 24px);display:flex;flex-direction:column;gap:34px}
.side h4{font-family:var(--serif);font-size:11.5px;letter-spacing:.32em;color:var(--gold);margin:0 0 18px;font-weight:400}
.side ul{list-style:none;margin:0;padding:0;font-size:13.5px}
.side li{border-bottom:1px solid var(--line)}
.side li a{display:block;padding:13px 0;color:var(--mist-2);transition:.3s}
.side li a:hover{color:var(--gold-2);padding-left:6px}
.side .side-card{border:1px solid var(--line);padding:26px 24px;background:linear-gradient(180deg,rgba(198,169,107,.06),transparent)}
.side .side-card p{font-size:12.5px;color:var(--mist);line-height:2;margin:0 0 18px}

/* ---------- 数字帯 ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:42px 24px;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{display:block;font-family:var(--serif);font-size:clamp(28px,3.6vw,46px);font-weight:300;
  color:var(--gold-2);line-height:1}
.stat span{display:block;font-size:11.5px;letter-spacing:.22em;color:var(--mist);margin-top:14px}

/* ---------- 設備アイコングリッド ---------- */
.facil{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.facil div{background:var(--ink);padding:22px 14px;text-align:center}
.facil .ic{font-family:var(--serif);font-size:18px;color:var(--gold);letter-spacing:.08em;margin:0}
.facil span{display:block;font-size:11.5px;color:var(--paper);margin-top:9px;letter-spacing:.1em}

/* ---------- ギャラリー ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.gallery figure{margin:0;position:relative;overflow:hidden;aspect-ratio:4/3}
.gallery img{width:100%;height:100%;object-fit:cover;filter:brightness(.88);
  transition:transform 1s cubic-bezier(.16,.8,.3,1),filter .5s}
.gallery figure:hover img{transform:scale(1.06);filter:brightness(1)}
.gallery figcaption{position:absolute;left:0;bottom:0;background:rgba(10,12,14,.82);color:var(--paper);
  font-size:10.5px;letter-spacing:.14em;padding:7px 12px}
.gallery.mosaic figure:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}

/* ---------- CTA帯 ---------- */
.cta-band{position:relative;overflow:hidden}
.cta-band > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(1px)}
.cta-band::after{content:"";position:absolute;inset:0;background:rgba(10,12,14,.9)}
.cta-band .wrap{position:relative;z-index:2;text-align:center;padding:clamp(60px,7vw,104px) 0}
.cta-band h2{font-family:var(--mincho);font-weight:400;font-size:clamp(22px,3vw,34px);letter-spacing:.12em;
  line-height:1.65;margin:16px 0 0}
.cta-band .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}

/* ---------- ページ送り ---------- */
.pager{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:56px;
  font-family:var(--serif);font-size:13px;letter-spacing:.14em}
.pager a,.pager span{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);transition:.3s}
.pager a:hover{border-color:var(--gold);color:var(--gold-2)}
.pager .now{background:var(--gold);color:var(--ink);border-color:var(--gold)}

/* ---------- フッター ---------- */
footer{background:var(--ink-0);border-top:1px solid var(--line);padding:70px 0 40px;font-size:12.5px;color:var(--mist)}
.foot-grid{display:grid;grid-template-columns:1.2fr 2fr;gap:clamp(34px,5vw,80px)}
.foot-brand .brand{font-size:24px;padding-left:0}
.foot-brand p{margin:16px 0 0;line-height:2}
.foot-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.foot-nav h5{font-family:var(--serif);font-size:11px;letter-spacing:.3em;color:var(--gold);margin:0 0 14px;font-weight:400}
.foot-nav ul{list-style:none;margin:0;padding:0}
.foot-nav li{margin-bottom:10px}
.foot-nav a:hover{color:var(--gold-2)}
.copy{margin-top:50px;padding-top:24px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;
  gap:20px;flex-wrap:wrap;font-size:11px;letter-spacing:.14em}

/* ---------- リビール ---------- */
.rv{opacity:0;transform:translateY(26px);
  transition:opacity 1s cubic-bezier(.16,.8,.3,1),transform 1s cubic-bezier(.16,.8,.3,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  *{animation:none!important}
}

/* =========================== レスポンシブ =========================== */
@media (max-width:1000px){
  :root{--gut:36px;--header-h:70px}
  .menu{display:none}
  .burger{display:block}
  .cards.c3,.posts{grid-template-columns:repeat(2,1fr)}
  .with-side{grid-template-columns:1fr}
  .side{position:static}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2n){border-right:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr}
  .foot-nav{grid-template-columns:repeat(2,1fr)}
  .post.wide{flex-direction:column}
  .post.wide .ph{flex:none;aspect-ratio:16/10}
}
@media (max-width:640px){
  :root{--gut:28px}
  .cards.c2,.cards.c3,.posts{grid-template-columns:1fr}
  .facil{grid-template-columns:repeat(2,1fr)}
  .brand{font-size:21px}
  .btn-r{display:none}
  .cta{padding:15px 26px;font-size:12px;letter-spacing:.16em}
  .gallery.mosaic figure:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}
  .spec-table th{width:8.5em;font-size:11.5px}
  .prose{font-size:15px}
}

/* グリッド子要素がはみ出さないようにする（SP390px対策） */
.cards,.posts,.gallery,.facil,.stats,.duo,.form-grid,.contact-cols,.concept-grid{min-width:0}
.cards > *,.posts > *,.gallery > *,.facil > *,.stats > *,.contact-cols > *,.form-grid > *{min-width:0}
.f-row input,.f-row select,.f-row textarea{width:100%;min-width:0;max-width:100%}

/* =========================================================================
   LIGHT — 情報を「読ませる」エリアの反転スキン（260820追加）
   黒＝世界観／白＝情報。この2択で情報の強弱をつける。
   .sec.light … 全幅の白セクション（読む・比べる・入力する場所）
   .panel-light … 黒の中に置く白パネル（スペック表・料金表・間取り図）
   どちらもトークンを差し替えるだけで、既存の部品がそのまま反転する。
   ========================================================================= */
.light{
  --ink:#F4F2ED;              /* 面 */
  --ink-2:#EAE7DF;            /* 一段沈めた面 */
  --ink-3:#FFFFFF;            /* カード・入力欄 */
  --ink-0:#E4E0D7;
  --paper:#14181B;            /* 文字 */
  --mist:#5F686E;             /* 補助テキスト */
  --mist-2:#363C41;           /* 本文グレー */
  --gold:#7E632E;             /* 白地でコントラストを確保した金（5.06:1）*/
  --gold-2:#6E5527;
  --line:rgba(20,24,27,.18);
  --line-2:rgba(20,24,27,.08);
  background:var(--ink);
  color:var(--paper);
}
/* 白エリアの境目に金の細線を引いて「章が変わった」ことを示す */
.sec.light{border-top:1px solid var(--gold);border-bottom:1px solid rgba(20,24,27,.12)}
.sec.light + .sec.light{border-top:0}

/* 反転しきらない部品の個別調整 */
.light .cta.fill{background:#14181B;color:#F4F2ED;border-color:#14181B}
.light .cta.fill:hover{background:#7E632E;border-color:#7E632E;color:#fff}
.light .cta.ghost{background:transparent;color:#14181B;border-color:rgba(20,24,27,.4)}
.light .cta.ghost:hover{background:#14181B;color:#F4F2ED;border-color:#14181B}
.light .card,.light .post{box-shadow:inset 0 0 0 1px var(--line)}
.light .card:hover,.light .post:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--gold)}
.light .side-card{background:linear-gradient(180deg,rgba(126,99,46,.10),transparent)}
.light .spec-table thead th{color:var(--mist)}
.light .prose{color:#22282C}
.light .prose h2{border-top-color:var(--line)}
.light .prose blockquote{background:#fff;border-left-color:var(--gold)}
.light .prose th{background:#EAE7DF;color:var(--mist)}
.light .facil div{background:#fff}
.light .gallery img{filter:none}
.light .gallery figcaption{background:rgba(20,24,27,.86);color:#F4F2ED}
.light .card .tag{background:rgba(255,255,255,.9);border-color:var(--gold);color:#6E5527}
.light .post .cat{color:#6E5527;border-color:var(--line)}
.light .pager .now{background:#14181B;color:#F4F2ED;border-color:#14181B}

/* ---------- 黒の中に置く白パネル ---------- */
.panel-light{
  --ink:#F4F2ED;--ink-2:#EAE7DF;--ink-3:#FFFFFF;--paper:#14181B;
  --mist:#5F686E;--mist-2:#363C41;--gold:#7E632E;--gold-2:#6E5527;
  --line:rgba(20,24,27,.18);--line-2:rgba(20,24,27,.08);
  background:var(--ink);color:var(--paper);
  padding:clamp(26px,3.4vw,46px);
  border-top:2px solid #C6A96B;
}
.panel-light > :first-child{margin-top:0}
.panel-light h2,.panel-light h3{color:var(--paper)}
.panel-light .eyebrow{color:var(--gold)}
.panel-light .cta.fill{background:#14181B;color:#F4F2ED;border-color:#14181B}
.panel-light .cta.fill:hover{background:#7E632E;border-color:#7E632E;color:#fff}
.panel-light .cta.ghost{color:#14181B;border-color:rgba(20,24,27,.4);background:transparent}
.panel-light .cta.ghost:hover{background:#14181B;color:#F4F2ED}
.panel-light .spec-table td{color:var(--paper)}
.panel-light .facil div{background:#fff}
.panel-light figure{margin:0}

/* パネル見出し（白エリア共通の小見出し） */
.panel-title{font-family:var(--mincho);font-weight:400;font-size:clamp(19px,2.3vw,25px);
  letter-spacing:.11em;margin:0 0 6px;line-height:1.6}
.panel-lead{color:var(--mist);font-size:13.5px;line-height:2.05;margin:0 0 26px;max-width:44em}
.panel-light .gallery img{filter:none}
.panel-light .gallery figcaption{background:rgba(20,24,27,.86);color:#F4F2ED}
.panel-light .spec-table thead th{color:var(--mist)}
.sec.light + .sec.light{padding-top:clamp(46px,5vw,78px)}
.panel-light .spec-table th{width:9.5em;font-size:11.5px}
@media (max-width:640px){.panel-light .spec-table th{width:7.5em}}

/* =========================================================================
   CHAPTER — 事業ごとの章扉（260820追加）
   トップで「レンタルの話」「RVパークの話」の切れ目を明示するための全幅帯。
   ========================================================================= */
.chapter{position:relative;min-height:clamp(320px,48vh,500px);display:flex;align-items:center;overflow:hidden}
.chapter > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chapter::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(10,12,14,.9) 0%,rgba(10,12,14,.6) 50%,rgba(10,12,14,.25) 100%)}
.chapter::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(10,12,14,.7) 0%,rgba(10,12,14,.15) 40%,rgba(10,12,14,.8) 100%)}
.chapter .wrap{position:relative;z-index:2;padding:clamp(46px,6vw,80px) 0}
.chapter .ch-no{display:flex;align-items:center;gap:16px;font-family:var(--serif);
  font-size:12px;letter-spacing:.42em;color:var(--gold);text-transform:uppercase}
.chapter .ch-no b{font-size:44px;font-weight:300;letter-spacing:.02em;line-height:1;color:var(--gold-2)}
.chapter h2{font-family:var(--mincho);font-weight:400;font-size:clamp(25px,3.8vw,44px);
  letter-spacing:.12em;line-height:1.5;margin:20px 0 0;text-shadow:0 2px 30px rgba(0,0,0,.6)}
.chapter p{color:var(--mist-2);font-size:14.5px;line-height:2.15;margin:20px 0 0;max-width:38em;
  text-shadow:0 1px 16px rgba(0,0,0,.8)}
.chapter .ch-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
@media (max-width:640px){.chapter .ch-no b{font-size:34px}}

/* 章のまとめCTA（黒地・軽い） */
.chapter-end{text-align:center;padding:clamp(46px,5vw,76px) 0;border-top:1px solid var(--line)}
.chapter-end .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.chapter-end p{color:var(--mist);font-size:14px;line-height:2.1;margin:0;max-width:40em;margin-inline:auto}

/* =========================================================================
   可読性の調整（260820 CEO指摘）
   ・和文のウェイトを300→400へ（暗い地の上で細字は沈む）
   ・本文サイズを底上げし、字間を詰める（和文は広い字間ほど読みにくい）
   ・データ（料金・寸法・日付）をセリフ体からゴシック体へ
     ＝Cormorantの既定はオールドスタイル数字で「¥6o,ooo」に見えるため
   ・補助テキストの明度を上げてコントラストを確保
   このブロックが最後に来るので、上の定義より優先される。
   ========================================================================= */
:root{
  --mist:#B4BBC1;     /* 補助テキスト（旧 #A8AFB6 から明るく：10.4:1） */
  --mist-2:#D6D2CB;   /* 本文グレー（旧 #C6C2BB） */
}
body{
  font-weight:400;
  font-size:16px;
  line-height:1.95;
  letter-spacing:.02em;
  font-variant-numeric:lining-nums tabular-nums;  /* 数字を等幅のライニング数字に */
  -webkit-font-smoothing:auto;                    /* 暗い地で細らせない */
  text-rendering:optimizeLegibility;
}
/* --- 見出し：明朝は字間を少し詰めて締める --- */
.sec-head h2,.page-hero h1,.chapter h2,.cta-band h2,.panel-title,
.concept blockquote,.prose h2,.prose h3{letter-spacing:.06em}
.sec-head h2{font-size:clamp(25px,3.3vw,39px);line-height:1.65}
.page-hero h1{font-size:clamp(27px,4.1vw,49px);line-height:1.55}
.page-hero .desc{font-size:15px;line-height:2.05;color:#D6D2CB}
.sec-head p{font-size:15.5px;line-height:2.05;letter-spacing:.015em}

/* --- 本文まわり --- */
.prose{font-size:17px;line-height:2.1;letter-spacing:.015em;color:#E6E3DD}
.prose figcaption{font-size:13px}
.prose li::marker{font-size:.9em}
.card p,.post p,.duo-in p,.entry-card .desc,.chapter p{font-size:14.5px;line-height:2.05;letter-spacing:.015em}
.card .cap{font-size:13px;letter-spacing:.04em}
.facil span{font-size:12.5px;letter-spacing:.03em}
.side li a,.side .side-card p{font-size:14px;letter-spacing:.015em}
.crumbs ol{font-family:var(--gothic);font-size:12.5px;letter-spacing:.04em}
.copy,.foot-nav li,footer{letter-spacing:.03em}
.foot-nav a,.foot-brand p{font-size:13.5px}

/* --- ナビ・ボタン：和文の字間を詰めて読みやすく --- */
.menu{font-size:13.5px;letter-spacing:.06em}
.menu > li > a{opacity:.92}
.submenu a{font-size:13.5px;letter-spacing:.04em}
.submenu .sm-en{font-size:10.5px;letter-spacing:.2em}
.drawer > ul > li > a{font-size:17px;letter-spacing:.05em}
.drawer ul ul a{font-size:14.5px;letter-spacing:.03em}
.cta{font-family:var(--gothic);font-weight:500;font-size:14px;letter-spacing:.06em}
.cta.sm{font-size:13px}
.btn-r{font-size:12px;letter-spacing:.18em}

/* --- リンク文字：和文はゴシック、英字だけセリフのまま --- */
.textlink{font-family:var(--gothic);font-size:13.5px;letter-spacing:.05em;font-weight:500}
.textlink:lang(en){font-family:var(--serif)}

/* --- データ（料金・寸法・定員・日付）はゴシックの数字で --- */
.spec-table th{font-size:13px;letter-spacing:.03em;color:var(--mist)}
.spec-table td{font-family:var(--gothic);font-size:15.5px;font-weight:400;letter-spacing:.02em}
.spec-table td .jp{font-size:14.5px}
.card .price b,.entry-card .meta b,.stat b,.card .fee b{font-family:var(--gothic);font-weight:500;letter-spacing:.01em}
.card .price b{font-size:26px}
.card .price span,.entry-card .meta div,.stat span{font-size:12.5px;letter-spacing:.06em}
.entry-card .meta b{font-size:22px}
.stat b{font-size:clamp(29px,3.6vw,44px)}
.post .meta{font-family:var(--gothic);font-size:12px;letter-spacing:.06em}
.post .cat{font-family:var(--serif);letter-spacing:.16em;font-size:11px}
.post h3{font-size:18.5px;line-height:1.8}
.side-card p[style*="30px"]{font-family:var(--gothic)!important}

/* --- 英字ラベルは装飾なので字間そのまま。ただし少しだけ大きく --- */
.eyebrow{font-size:12.5px;letter-spacing:.36em}
.brandname{font-size:11.5px;letter-spacing:.3em}

/* --- 白エリアの補助色（黒地より暗く締める） --- */
.light,.panel-light{--mist:#59626A;--mist-2:#2F353A}
.light .prose{color:#22282C}
.light .page-hero .desc{color:#2F353A}

@media (max-width:640px){
  body{font-size:15.5px}
  .prose{font-size:16.5px}
  .sec-head p,.card p,.post p,.chapter p{font-size:14.5px}
}

/* =========================================================================
   TYPOGRAPHY SCALE — 本文中で使う文字クラス（260820）
   🔴 HTML側に font-size / letter-spacing / color を直接書かないこと。
      必ず下のクラスを使う。全18ページの文字がここ1か所で揃う。
   ========================================================================= */

/* 見出し */
.h2-block{font-family:var(--mincho);font-weight:400;font-size:clamp(21px,2.5vw,28px);
  letter-spacing:.06em;line-height:1.7;margin:64px 0 0}
.h2-block:first-child{margin-top:0}
.h3-block{font-family:var(--mincho);font-weight:400;font-size:20px;letter-spacing:.05em;
  line-height:1.75;margin:52px 0 18px}
.step-title{font-family:var(--mincho);font-weight:400;font-size:19px;letter-spacing:.05em;
  line-height:1.7;margin:10px 0 0}
.label-en{font-family:var(--serif);font-size:12px;letter-spacing:.32em;color:var(--gold);
  font-weight:400;margin:0 0 18px}

/* リード・本文 */
.lead-mincho{font-family:var(--mincho);font-weight:400;font-size:clamp(19px,2.2vw,26px);
  line-height:2;letter-spacing:.05em;margin:18px 0 0}
.article-lead{font-family:var(--mincho);font-weight:400;font-size:clamp(19px,2.2vw,25px);
  line-height:2;letter-spacing:.05em;color:var(--gold-2);margin:0 0 44px;
  padding-bottom:36px;border-bottom:1px solid var(--line)}
.body-p{color:var(--mist);font-size:15px;line-height:2.1;letter-spacing:.015em;margin:24px 0 0}
.note{color:var(--mist);font-size:13px;line-height:2;letter-spacing:.015em;margin:18px 0 0}
.unit-note{color:var(--mist);font-size:12.5px;letter-spacing:.06em;margin:0 0 20px}
.box-text{font-size:14.5px;line-height:2.05;letter-spacing:.015em;margin:12px 0 0}

/* 数字（料金・電話） */
.price-lg{font-family:var(--gothic);font-weight:500;font-size:31px;color:var(--gold-2);
  line-height:1;letter-spacing:.01em;margin:0 0 6px}

/* リスト */
.bullet-list{margin:24px 0 0;padding-left:1.3em;color:var(--mist-2);font-size:15px;
  line-height:2.1;letter-spacing:.015em}
.bullet-list li{margin-bottom:6px}
.bullet-list li::marker{color:var(--gold)}
.link-list{list-style:none;margin:0;padding:0;font-size:14.5px;letter-spacing:.015em}
.link-list li{border-bottom:1px solid var(--line)}
.link-list li:last-child{border-bottom:0}
.link-list a{display:block;padding:14px 0;color:var(--gold-2);transition:.3s}
.link-list a:hover{padding-left:6px}
.link-list.muted a{color:var(--mist-2)}
.link-list.muted a:hover{color:var(--gold-2)}

/* 番号つきの条件リスト */
.req-list{margin:0;padding:0;counter-reset:n;list-style:none}
.req-list li{counter-increment:n;position:relative;padding:24px 0 24px 56px;
  border-bottom:1px solid var(--line);font-size:15.5px;color:var(--mist-2);
  line-height:2.05;letter-spacing:.015em}
.req-list li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:25px;
  font-family:var(--serif);color:var(--gold);font-size:15px;letter-spacing:.06em}
.req-list li strong{color:var(--paper);font-weight:500}

/* FAQ */
.faq{margin:0}
.faq > div{border-bottom:1px solid var(--line);padding:26px 0}
.faq dt{font-family:var(--mincho);font-weight:400;font-size:17.5px;letter-spacing:.05em;
  line-height:1.8;color:var(--gold-2)}
.faq dd{margin:14px 0 0;font-size:15px;color:var(--mist-2);line-height:2.05;letter-spacing:.015em}

/* ---------- トップページ固有（ページ内styleから移設・260820） ---------- */
/* トップページ専用 */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;animation:kb 24s ease-out forwards}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero-bg::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(10,12,14,.78) 0%,rgba(10,12,14,.42) 46%,transparent 74%)}
.hero-bg::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(10,12,14,.72) 0%,rgba(10,12,14,.28) 38%,rgba(10,12,14,.92) 100%)}
.hero-in{position:relative;z-index:2}
.hero h1{font-family:var(--mincho);font-weight:400;font-size:clamp(30px,5.4vw,66px);line-height:1.5;
  margin:24px 0 0;letter-spacing:.1em;text-shadow:0 2px 40px rgba(0,0,0,.6)}
.hero h1 .g{color:var(--gold-2)}
.hero .lead{max-width:35em;margin:26px 0 0;font-size:15px;color:#DCD8D0;line-height:2.2;
  text-shadow:0 1px 18px rgba(0,0,0,.85)}

/* ヒーロー直下の「2つの入口」＝このサイトの目次 */
.entry{position:relative;z-index:3;margin-top:-104px}
.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);border:1px solid var(--line)}
.entry-card{position:relative;background:var(--ink);padding:38px 36px 34px;display:flex;flex-direction:column;
  transition:.35s}
.entry-card:hover{background:var(--ink-2)}
.entry-card .no{font-family:var(--serif);font-size:11px;letter-spacing:.4em;color:var(--gold)}
.entry-card h2{font-family:var(--mincho);font-weight:400;font-size:clamp(19px,2.1vw,25px);
  letter-spacing:.1em;margin:14px 0 6px}
.entry-card .en{font-family:var(--serif);font-size:12px;letter-spacing:.3em;color:var(--gold-2);margin:0}
.entry-card .desc{font-size:13.5px;color:var(--mist);line-height:2.05;margin:18px 0 auto;max-width:26em}
.entry-card .meta{display:flex;gap:26px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);
  flex-wrap:wrap}
.entry-card .meta div{font-size:11px;letter-spacing:.14em;color:var(--mist)}
.entry-card .meta b{display:block;font-family:var(--serif);font-size:21px;font-weight:300;color:var(--gold-2);
  line-height:1.1;margin-bottom:5px}
.entry-card .go{margin-top:26px;align-self:flex-start}

.concept-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px);align-items:center}
.concept blockquote{font-family:var(--mincho);font-size:clamp(20px,2.5vw,31px);line-height:2.05;
  letter-spacing:.1em;margin:0;font-weight:400}
.concept blockquote em{font-style:normal;color:var(--gold-2)}
.concept-fig{position:relative;margin:0}
.concept-fig img{aspect-ratio:4/5;object-fit:cover}
.concept-fig figcaption{position:absolute;left:-14px;bottom:26px;background:var(--ink);border-left:2px solid var(--gold);
  padding:14px 22px;font-size:11px;letter-spacing:.2em;color:var(--gold-2);font-family:var(--serif)}
@media (max-width:1000px){
  .entry-grid,.concept-grid{grid-template-columns:1fr}
  .entry{margin-top:-48px}
  .concept-fig figcaption{left:0}
}
@media (max-width:640px){.entry{margin-top:0}.entry-card{padding:30px 26px}}

/* ---------- お問い合わせページ固有（ページ内styleから移設・260820） ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.f-row{display:flex;flex-direction:column;gap:9px}
.f-row.full{grid-column:1 / -1}
.f-row label{font-size:12px;letter-spacing:.16em;color:var(--mist)}
.f-row label .req{color:var(--gold);margin-left:8px;font-family:var(--serif);font-size:10px;letter-spacing:.2em}
.f-row input,.f-row select,.f-row textarea{
  background:var(--ink-3);border:1px solid var(--line);color:var(--paper);padding:15px 16px;
  font-family:var(--gothic);font-size:14.5px;font-weight:300;letter-spacing:.04em;border-radius:0}
.f-row textarea{min-height:170px;resize:vertical;line-height:1.9}
.f-row input:focus,.f-row select:focus,.f-row textarea:focus{outline:none;border-color:var(--gold)}
.f-note{font-size:12px;color:var(--mist);line-height:2}
.contact-cols{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(40px,5vw,80px);align-items:start}
.contact-box{border:1px solid var(--line);padding:30px 28px;background:linear-gradient(180deg,rgba(198,169,107,.06),transparent)}
.contact-box .tel{font-family:var(--serif);font-size:31px;color:var(--gold-2);letter-spacing:.04em;
  display:block;margin:10px 0 4px;line-height:1.1}
@media (max-width:1000px){.contact-cols{grid-template-columns:1fr}}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}

/* ---------- 移設分の可読性調整（上書き・260820） ---------- */
.hero .lead{font-size:16px;line-height:2.1;letter-spacing:.02em;color:#E2DED7}
.hero h1{letter-spacing:.06em}
.entry-card h2{font-size:clamp(20px,2.1vw,26px);letter-spacing:.05em}
.entry-card .no{font-size:11.5px}
.entry-card .en{font-size:12.5px;letter-spacing:.28em}
.entry-card .desc{font-size:14.5px;line-height:2.05;letter-spacing:.015em;color:var(--mist)}
.entry-card .meta div{font-size:12.5px;letter-spacing:.04em}
.entry-card .meta b{font-family:var(--gothic);font-weight:500;font-size:22px;letter-spacing:.01em}
.concept blockquote{font-size:clamp(21px,2.4vw,30px);letter-spacing:.06em;line-height:2}
.concept-fig figcaption{font-size:11.5px;letter-spacing:.18em}
.f-row label{font-size:13px;letter-spacing:.04em;color:var(--mist)}
.f-row input,.f-row select,.f-row textarea{font-size:15.5px;font-weight:400;letter-spacing:.02em}
.f-note{font-size:13px;line-height:2;letter-spacing:.015em}
.contact-box .tel{font-family:var(--gothic);font-weight:500;font-size:29px;letter-spacing:.01em}
.foot-tag{font-family:var(--serif);font-size:11.5px;letter-spacing:.28em;color:var(--gold);margin:10px 0 0}

/* ---------- 最小文字サイズの底上げ（SP実測に基づく・260820） ---------- */
.note,.f-note{font-size:13.5px;line-height:2.05}
.card .cap{font-size:13.5px}
.unit-note{font-size:13px}
.post .meta,.entry-card .meta div,.card .price span,.stat span{font-size:12.5px}
.gallery figcaption,.card .tag{font-size:11.5px}
.crumbs ol{font-size:13px}
.copy{font-size:12px}
@media (max-width:640px){
  body{font-size:16px}                 /* SPでも本文は16pxを維持 */
  .note,.f-note{font-size:14px}
  .card .cap,.card p,.post p{font-size:14.5px}
  .prose{font-size:17px;line-height:2.05}
  .spec-table td{font-size:15px}
  .spec-table th{font-size:12.5px}
}

/* =========================================================================
   🔴 画像の引き伸ばし防止（260820・実害あり）
   width/height属性を入れている画像は、CSSで幅だけ縮めると高さが属性値のまま
   固定されて縦に伸びる。基本の img に height:auto を必ず持たせる。
   object-fitで敷き込む画像は各コンポーネント側で height:100% を指定しており
   （詳細度が高いので）この指定に上書きされない。
   ========================================================================= */
img{height:auto}
.card .ph img,.post .ph img,.duo-card img,.gallery img,.igrid img,.page-hero > img,
.chapter > img,.cta-band > img,.hero-bg img,.contact-bg img,.entry-card img,
.concept-fig img,.park-lead img{height:100%}
.concept-fig img{height:auto;aspect-ratio:4/5}
.prose figure img,.panel-light figure img,.card .ph img.plan{height:auto}

/* 間取り図は原寸が小さい（436〜800px幅）。引き伸ばして粗くしない */
.plan-figure{background:#fff;border:1px solid var(--line);padding:18px;margin:24px 0 0;
  display:flex;justify-content:center}
.plan-figure img{width:auto;max-width:100%;height:auto}

/* =========================================================================
   ★★★ B案テーマ（260820）★★★
   ルール：メインKV＝黒／その下は全ページ白ベース／CVの予約ブロックだけ黒。
   A案のCSSはすべてデザイントークン経由なので、:root を白へ入れ替えるだけで
   表・カード・本文・サイドバーがまとめて反転する。
   写真の上に敷くグラデーション（KV・CTA帯）は rgba で直接書いてあるため
   トークンを入れ替えても黒のまま残る＝KVとCVが自動的に黒になる。
   ========================================================================= */
:root{
  --ink:#F6F4EF;              /* 面（白ベース） */
  --ink-2:#EEEBE4;            /* 一段沈めた面 */
  --ink-3:#FFFFFF;            /* カード・入力欄 */
  --ink-0:#0A0C0E;            /* フッターは黒のまま（下端を締める） */
  --paper:#14181B;            /* 文字 */
  --mist:#59626A;             /* 補助テキスト（5.5:1） */
  --mist-2:#2F353A;           /* 本文グレー（11.1:1） */
  --gold:#7E632E;             /* 白地でコントラストを確保した金（5.1:1） */
  --gold-2:#6E5527;
  --line:rgba(20,24,27,.16);
  --line-2:rgba(20,24,27,.08);
}
/* .light / .panel-light は白ベースでは「同じ白」になるので、
   境界が消えないよう枠と面差だけ残す */
.light{--ink:#FFFFFF;--ink-2:#F6F4EF;background:#fff}
.sec.light{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.panel-light{background:#fff;border:1px solid var(--line);border-top:2px solid var(--gold)}

/* ---------- ヘッダー：KVの上は透明（白文字）、スクロールで白地 ---------- */
header .brand,header .menu > li > a{color:#fff}
header.solid{background:rgba(246,244,239,.94);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
header.solid .brand,header.solid .menu > li > a{color:var(--paper)}
header.solid .brand small{color:var(--gold)}
header.solid .btn-r{border-color:var(--paper);color:var(--paper)}
header.solid .btn-r:hover{background:var(--paper);color:#fff}
header.solid .burger{border-color:var(--line)}
header.solid .burger span{background:var(--paper)}
body.sub header{background:transparent;border-bottom-color:transparent}
body.sub header.solid{background:rgba(246,244,239,.94);border-bottom-color:var(--line)}
.submenu{background:rgba(255,255,255,.98);border-color:var(--line)}
.submenu a{color:var(--mist-2)}
.submenu a:hover{background:rgba(126,99,46,.08);color:var(--gold-2)}
.drawer{background:rgba(246,244,239,.985)}
.drawer > ul > li > a{color:var(--paper)}

/* ---------- KV（黒のまま。ページ最上部だけ） ---------- */
.hero .lead{color:#E2DED7}
.page-hero h1,.chapter h2{color:inherit}
.page-hero .desc{color:#D6D2CB}

/* ---------- パンくずは白地 ---------- */
.crumbs{background:var(--ink);border-bottom-color:var(--line)}

/* ---------- 章扉：写真は帯、見出しは白ブロック（KVにしない） ---------- */
.chapter{min-height:0;display:block;background:var(--ink);overflow:visible}
.chapter::before,.chapter::after{display:none}
.chapter > img{position:static;width:100%;height:clamp(170px,22vw,280px);object-fit:cover}
.chapter .wrap{padding:clamp(40px,5vw,68px) 0 clamp(32px,4vw,52px)}
.chapter h2{text-shadow:none;color:var(--paper)}
.chapter p{text-shadow:none;color:var(--mist)}
.chapter .ch-no b{color:var(--gold)}

/* ---------- 章の締めは白（ナビであってCVではない） ---------- */
.chapter-end{border-top:1px solid var(--line)}

/* ---------- ボタン：白地では黒が主、金は従 ---------- */
.cta.fill{background:var(--paper);color:#fff;border-color:var(--paper)}
.cta.fill:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.cta.ghost{background:transparent;color:var(--paper);border-color:rgba(20,24,27,.38)}
.cta.ghost:hover{background:var(--paper);color:#fff;border-color:var(--paper)}

/* ---------- カード・記事 ---------- */
.card,.post{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.card:hover,.post:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--gold)}
.cards,.posts{background:transparent}
.card .tag{background:rgba(255,255,255,.92);border-color:var(--gold);color:var(--gold-2)}
.post .cat{color:var(--gold-2);border-color:var(--line)}
.gallery img{filter:none}
.gallery figcaption{background:rgba(20,24,27,.84);color:#F6F4EF}
.facil div{background:#fff}
.prose{color:#22282C}
.prose blockquote{background:#fff;border-left-color:var(--gold)}
.prose th{background:var(--ink-2);color:var(--mist)}
.concept-fig figcaption{background:var(--ink);color:var(--gold-2)}
.stats{border-color:var(--line)}
.pager .now{background:var(--paper);color:#fff;border-color:var(--paper)}

/* =========================================================================
   ★ CVブロック＝黒（ここだけ目立たせる）
   ========================================================================= */
.cv-dark{
  --ink:#0A0C0E;--ink-2:#12161A;--ink-3:#1A2026;
  --paper:#F2EFE9;--mist:#B4BBC1;--mist-2:#D6D2CB;
  --gold:#C6A96B;--gold-2:#E4D3A8;
  --line:rgba(214,199,168,.22);--line-2:rgba(255,255,255,.08);
  background:var(--ink);color:var(--paper);
}
.cv-dark .cta.fill{background:var(--gold);color:#0A0C0E;border-color:var(--gold)}
.cv-dark .cta.fill:hover{background:var(--gold-2);border-color:var(--gold-2);color:#0A0C0E}
.cv-dark .cta.ghost{color:var(--gold-2);border-color:rgba(214,199,168,.45);background:transparent}
.cv-dark .cta.ghost:hover{background:var(--gold);color:#0A0C0E;border-color:var(--gold)}

/* 予約カード（車両詳細・RVパーク・コラムのサイドバー）
   ※ 基底の `.side .side-card` に負けないよう詳細度を合わせる */
.side .side-card,.light .side-card,.side-card{
  --ink:#0A0C0E;--ink-2:#12161A;--ink-3:#1A2026;
  --paper:#F2EFE9;--mist:#B4BBC1;--mist-2:#D6D2CB;
  --gold:#C6A96B;--gold-2:#E4D3A8;--line:rgba(214,199,168,.22);
  background:#0A0C0E;color:#F2EFE9;border:0;padding:30px 28px}
.side .side-card h4,.side-card h4{color:var(--gold)}
.side .side-card p,.side-card p{color:var(--mist)}
.side-card .price-lg{color:var(--gold-2)}
.side-card .cta.fill{background:var(--gold);color:#0A0C0E;border-color:var(--gold)}
.side-card .cta.fill:hover{background:var(--gold-2);border-color:var(--gold-2)}
.side-card .cta.ghost{color:var(--gold-2);border-color:rgba(214,199,168,.45)}
.side-card .cta.ghost:hover{background:var(--gold);color:#0A0C0E}

/* お問い合わせページの連絡先ボックス＝予約導線なので黒 */
.contact-box{
  --paper:#F2EFE9;--mist:#B4BBC1;--gold:#C6A96B;--gold-2:#E4D3A8;--line:rgba(214,199,168,.22);
  background:#0A0C0E;color:#F2EFE9;border:0;padding:28px 26px}
.contact-box .eyebrow{color:var(--gold)}
.contact-box .tel{color:var(--gold-2)}
.contact-box .textlink{color:var(--gold-2)}
.contact-box a{color:#F2EFE9}

/* CTA帯（全ページ末尾の予約ブロック）は元から黒。金の枠で締める */
.cta-band{border-top:2px solid #C6A96B}
.cta-band .cta.fill{background:#C6A96B;color:#0A0C0E;border-color:#C6A96B}
.cta-band .cta.fill:hover{background:#E4D3A8;border-color:#E4D3A8}
.cta-band .cta.ghost{color:#E4D3A8;border-color:rgba(214,199,168,.45)}
.cta-band .cta.ghost:hover{background:#C6A96B;color:#0A0C0E}
.cta-band h2{color:#F2EFE9}
.cta-band .eyebrow{color:#C6A96B}

/* フッターは黒（下端を締める。予約への最後の導線も置く） */
footer{
  --paper:#F2EFE9;--mist:#B4BBC1;--gold:#C6A96B;--gold-2:#E4D3A8;
  --line:rgba(214,199,168,.22);--line-2:rgba(255,255,255,.08);
  background:#06080A;color:var(--mist);border-top:0}
footer .brand,footer .foot-brand .brand{color:#fff}
footer a:hover{color:var(--gold-2)}

/* トップの入口カードは目次なので白 */
.entry-card{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.entry-card:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--gold)}
.entry-grid{background:transparent;border:0;gap:clamp(16px,2vw,28px)}
.entry{margin-top:-70px}
@media (max-width:1000px){.entry{margin-top:-40px}}
@media (max-width:640px){.entry{margin-top:0}}

/* ---------- KVは黒スコープ（白ベース化でも文字は白のまま） ---------- */
.hero,.page-hero{
  --ink:#0A0C0E;--ink-2:#12161A;--ink-3:#1A2026;
  --paper:#F2EFE9;--mist:#B4BBC1;--mist-2:#D6D2CB;
  --gold:#C6A96B;--gold-2:#E4D3A8;--line:rgba(214,199,168,.22);
  background:#0A0C0E;color:#F2EFE9;
}
.hero h1,.page-hero h1{color:#F2EFE9}
.hero h1 .g{color:#E4D3A8}
.hero .eyebrow,.page-hero .eyebrow{color:#C6A96B}
.hero .lead,.page-hero .desc{color:#DCD8D0}
.scroll-hint{color:#B4BBC1}
.hero .cta.fill{background:#C6A96B;color:#0A0C0E;border-color:#C6A96B}
.hero .cta.fill:hover{background:#E4D3A8;border-color:#E4D3A8}
.hero .cta.ghost{color:#E4D3A8;border-color:rgba(214,199,168,.45)}
.hero .cta.ghost:hover{background:#C6A96B;color:#0A0C0E}
