/* ============================================================
   黒基調テーマ「漆黒」 body.theme-black で適用
   - 参考トンマナ: 黒 × 深紅 × 高コントラストセリフ英字
   - KV: フルスクリーン写真スライド（vegahouse参考）
   ============================================================ */

/* 再読み込み時の白フラッシュ防止（main.jsが描画前に付与） */
html.theme-black-early { background: #14120e; }

body.theme-black {
  --shirokuro: #14120e;   /* 漆黒（背景） */
  --sumi: #f0ede5;        /* 文字（生成りの白） */
  --sumi-usu: #a49d92;    /* 補助文字 */
  --shumi: #d0202e;       /* 深紅 */
  --kinari: #1c1914;      /* セクション差し色（墨） */
  --keisen: #38332b;      /* 罫線 */
}

/* ハードコードされた墨色の飾りを白系に反転 */
body.theme-black .sumi-lines::before,
body.theme-black .sumi-lines::after { background: rgba(240, 237, 229, .07); }

body.theme-black .header.is-scrolled {
  background: rgba(20, 18, 14, .88);
  box-shadow: 0 1px 0 var(--keisen);
}
body.theme-black .mnav { background: rgba(20, 18, 14, .96); }

/* 下層ヒーローの目盛り・罫線を白系に */
body.theme-black .page-hero {
  background:
    repeating-linear-gradient(90deg, rgba(240,237,229,.02) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(0deg, rgba(240,237,229,.016) 0 1px, transparent 1px 120px),
    var(--shirokuro);
}
body.theme-black .page-hero::after {
  background:
    repeating-linear-gradient(90deg, rgba(240,237,229,.4) 0 1px, transparent 1px 10px),
    repeating-linear-gradient(90deg, rgba(240,237,229,.6) 0 1px, transparent 1px 100px);
  background-size: auto 8px, auto 15px;
  background-repeat: repeat-x;
  background-position: bottom left;
  opacity: .2;
}

/* 写真は少しモノクロームに寄せて統一感を出す */
body.theme-black .ph img { filter: grayscale(.3) brightness(.92); }
body.theme-black .ph {
  background: linear-gradient(140deg, #24211b 0%, #1c1914 60%, #16140f 100%);
}
body.theme-black .ph::after { color: rgba(240,237,229,.3); }

/* マーキーの縁取り文字 */
body.theme-black .marquee { background: var(--shirokuro); }
body.theme-black .marquee-track span { -webkit-text-stroke: 1px rgba(240,237,229,.25); }
body.theme-black .marquee-track span i { -webkit-text-stroke: 1px rgba(208,32,46,.6); }

/* バナー・フッター・CTA */
body.theme-black .banner-duo a .bg::after {
  background: linear-gradient(to top, rgba(8, 7, 5, .88) 0%, rgba(8, 7, 5, .45) 55%, rgba(8, 7, 5, .2) 100%);
}
body.theme-black .banner-duo a:hover .bg::after {
  background: linear-gradient(to top, rgba(120, 16, 24, .85) 0%, rgba(120, 16, 24, .45) 55%, rgba(120, 16, 24, .2) 100%);
}
body.theme-black .footer { background: #0e0c09; }
body.theme-black .cta-tel { background: transparent; }
body.theme-black .cta-tel:hover { background: var(--shumi); }

/* 提携会社のロゴ枠（白地のまま見せる） */
body.theme-black .partner-item .ph-logo { background: #f5f3ee; }
body.theme-black .partner-item .ph-logo img { filter: none; }

/* Googleマップは暗色に反転 */
body.theme-black .map-wrap iframe { filter: grayscale(1) invert(.9) contrast(.9) !important; }

/* ============================================================
   テーマ切替ボタン（両テーマ共通で使用）
   ============================================================ */
.theme-toggle {
  position: fixed;
  left: max(14px, 2.6vw);
  bottom: 18px;
  z-index: 120;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-min);
  font-size: 0.66rem;
  letter-spacing: 0.22em;
  color: var(--sumi);
  background: color-mix(in srgb, var(--shirokuro) 82%, transparent);
  backdrop-filter: blur(8px);
  border: 1px solid var(--keisen);
  padding: 9px 16px;
  cursor: pointer;
  transition: border-color .3s ease, color .3s ease;
}
.theme-toggle::before {
  content: "";
  width: 10px; height: 10px;
  border-radius: 50%;
  border: 1px solid currentColor;
  background: linear-gradient(90deg, #16140f 50%, #f6f4ee 50%);
}
.theme-toggle:hover { border-color: var(--shumi); color: var(--shumi); }

/* ============================================================
   モバイル調整
   ============================================================ */

