/* ============================================================
   LP専用デザイン「経営提案書」 (body.lp-doc スコープ)
   紙白×墨紺×金 / 明朝見出し / 章立て構成。CTAのみブルーで機能色を分離
   ============================================================ */

body.lp-doc {
  --paper: #faf9f5;
  --ink: #101d2e;
  --navy: #12294a;
  --navy-deep: #0d1f38;
  --gold: #b7922e;
  --gold-soft: #e8c766;
  --line-warm: #e5e1d6;
  background: var(--paper);
  color: var(--ink);
  counter-reset: chapter;
}

/* ---------- 見出し書体: しっぽり明朝 ---------- */
body.lp-doc h1,
body.lp-doc h2,
body.lp-doc h3,
body.lp-doc .cta-copy {
  font-family: "Shippori Mincho B1", "Noto Serif JP", serif;
  font-weight: 700;
  letter-spacing: .02em;
}
body.lp-doc .section-head h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); line-height: 1.4; }
body.lp-doc .section-head .sub { color: #4c5668; }

/* ---------- 章番号（提案書の目次構造） ---------- */
body.lp-doc .section-head .en {
  color: var(--gold);
  letter-spacing: .3em;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 1em;
}
body.lp-doc .section-head .en::before {
  counter-increment: chapter;
  content: "第" counter(chapter, decimal-leading-zero) "章";
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
  letter-spacing: .18em;
  color: var(--ink);
  border: 1px solid var(--gold);
  padding: .3em .9em;
  font-size: .82rem;
}
body.lp-doc .section-head .en::after {
  content: "";
  width: 4em;
  height: 1px;
  background: var(--line-warm);
}

/* ---------- ヒーロー: 提案書の表紙 ---------- */
body.lp-doc .hero-dark {
  background: var(--navy-deep);
  min-height: auto;
}
body.lp-doc .hero-dark::before {
  /* オーロラ廃止 → 静かな金の斜光のみ */
  background:
    radial-gradient(50% 60% at 88% 0%, rgba(183,146,46,.18), transparent 70%),
    radial-gradient(40% 55% at 0% 100%, rgba(37,99,235,.14), transparent 70%);
  filter: none;
  animation: none;
  inset: 0;
}
body.lp-doc .hero-dark::after {
  /* ビーム・ドット廃止 → 細い罫線（紙の表紙の意匠） */
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(120% 100% at 50% 0%, #000 30%, transparent 100%);
}
body.lp-doc .hero-dark .inner { padding-top: 4.5rem; }
body.lp-doc .kicker {
  border: 1px solid rgba(232,199,102,.55);
  background: rgba(183,146,46,.12);
  color: var(--gold-soft);
  border-radius: 0;
  letter-spacing: .22em;
}
body.lp-doc .kicker::before { background: var(--gold-soft); box-shadow: none; width: 5px; height: 5px; border-radius: 0; }
body.lp-doc .hero-dark h1 {
  font-size: clamp(2rem, 4.2vw, 3.3rem);
  line-height: 1.5;
  text-shadow: none;
  font-weight: 700;
}
body.lp-doc .hero-dark h1 em {
  font-style: normal;
  color: var(--gold-soft);
  background: none;
  -webkit-text-fill-color: currentColor;
  animation: none;
  border-bottom: 1px solid rgba(232,199,102,.6);
  padding-bottom: .06em;
}
body.lp-doc .hero-dark .lead { color: rgba(240,243,248,.86); font-size: clamp(.98rem, 1.2vw, 1.08rem); }
body.lp-doc .hero-dark .lead strong { color: #fff !important; }
body.lp-doc .trust-row { color: rgba(255,255,255,.82); }
body.lp-doc .trust-row span::before { background: var(--gold); color: #fff; }
body.lp-doc .ticker { display: none; }

/* ---------- ヒーローフォーム: 申込書カード ---------- */
body.lp-doc .hero-form {
  border-radius: 6px !important;
  border-top: 3px solid var(--gold);
  box-shadow: 0 30px 60px -24px rgba(0,0,0,.55) !important;
  background: #fff;
}
body.lp-doc .hero-form .hf-title { font-family: "Shippori Mincho B1", serif; font-weight: 700; }
body.lp-doc .form-panel input[type="text"],
body.lp-doc .form-panel input[type="email"],
body.lp-doc .form-panel input[type="tel"],
body.lp-doc .form-panel select,
body.lp-doc .form-panel textarea {
  border-radius: 4px;
  border-color: var(--line-warm);
  background: #fdfdfb;
}

/* ---------- ボタン: 機能色はブルーのみ・形は矩形寄り ---------- */
body.lp-doc .btn { border-radius: 6px; }
body.lp-doc .btn-primary { box-shadow: 0 10px 24px -10px rgba(37,99,235,.5); }
body.lp-doc .btn-ghost-light { border-radius: 6px; }

/* ---------- 実績バンド: 紙にヘアライン ---------- */
body.lp-doc .stat-band {
  background: transparent;
  border-top: 1px solid var(--line-warm);
  border-bottom: 1px solid var(--line-warm);
  box-shadow: none;
}
body.lp-doc .stat-band > div { border-color: var(--line-warm); }
body.lp-doc .stat-band .num {
  font-family: "Shippori Mincho B1", serif;
  color: var(--navy);
}
body.lp-doc .stat-band .num small { color: var(--gold); }
body.lp-doc .stat-band .label { color: #5a6374; }

/* ---------- カード類: 白×温ヘアライン・影は最小 ---------- */
body.lp-doc .pillar {
  background: #fff;
  border: 1px solid var(--line-warm);
  border-radius: 8px;
  box-shadow: none;
  transition: transform .25s var(--ease-out), box-shadow .25s;
}
body.lp-doc .pillar:hover { box-shadow: 0 16px 40px -20px rgba(16,29,46,.25); }
body.lp-doc .pillar .num { color: var(--gold); letter-spacing: .26em; }
body.lp-doc .pillar h3 { font-size: 1.22rem; }

/* ---------- 料金セクション（bg-deep）: 紺の提案書中扉 ---------- */
body.lp-doc .bg-deep { background: var(--navy-deep); }
body.lp-doc .bg-deep .section-head h2,
body.lp-doc .bg-deep .section-head .sub { color: #f4f6fa; }
body.lp-doc .bg-deep .section-head .sub strong { color: var(--gold-soft); background: none; }
body.lp-doc .bg-deep .section-head .en::before { color: #fff; }

/* ---------- テーブル: 罫線の効いた比較表 ---------- */
body.lp-doc .table-wrap table thead th,
body.lp-doc table thead th {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}
body.lp-doc table th, body.lp-doc table td { border-color: var(--line-warm); }
body.lp-doc .td-hl { background: #fbf6e7; }

/* ---------- CTAブロック: 金縁の紺 ---------- */
body.lp-doc .cta {
  background: var(--navy-deep);
  border: 1px solid rgba(183,146,46,.45);
  border-radius: 8px;
}
body.lp-doc .cta::before, body.lp-doc .cta::after { display: none; }

/* ---------- FAQ ---------- */
body.lp-doc .faq details {
  background: #fff;
  border: 1px solid var(--line-warm);
  border-radius: 6px;
}
body.lp-doc .faq summary { font-weight: 700; }

/* ---------- マーカー: 黄→淡金 ---------- */
body.lp-doc .section strong,
body.lp-doc .section-head strong {
  background: linear-gradient(transparent 58%, rgba(212,175,55,.32) 58%);
}

/* ---------- sticky CTA ---------- */
body.lp-doc .sticky-cta { background: rgba(13,31,56,.96); border-top: 1px solid rgba(183,146,46,.4); }

/* ---------- リンク色 ---------- */
body.lp-doc a { color: var(--navy); }
body.lp-doc a.btn-primary { color: #fff; }

/* ---------- カテゴリ色の全廃: LPは紺×金×青の3色システムに統一（緑・水色を排除） ---------- */
body.lp-doc .cat-aio,
body.lp-doc .cat-seo,
body.lp-doc .cat-meo,
body.lp-doc .cat-ai { --cat-color: var(--navy); }
body.lp-doc .pillar .num { color: var(--gold); }
body.lp-doc .pillar .icon {
  color: var(--navy);
  background: #f2efe6;
}
body.lp-doc .kicker::before { background: var(--gold-soft); }

/* ---------- 章間CV帯: どの章で読み止めても申込みへ ---------- */
body.lp-doc .lead-band {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  background: #fff;
  border: 1px solid var(--line-warm);
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  padding: 1.4rem clamp(1.2rem, 2.5vw, 2.2rem);
  margin: 0 auto;
  max-width: var(--max-wide);
}
body.lp-doc .lead-band p {
  margin: 0;
  font-size: .95rem;
  font-weight: 500;
}
body.lp-doc .lead-band p strong { font-weight: 800; }
body.lp-doc .lead-band .btn { white-space: nowrap; }
body.lp-doc .lead-band .tel {
  font-size: .78rem;
  color: #5a6374;
  margin-top: .3em;
}

/* ---------- 3Dチルトは提案書トーンに合わないため無効化 ---------- */
body.lp-doc [data-tilt], body.lp-doc .pillar { transform: none !important; }
body.lp-doc .pillar:hover { transform: translateY(-4px) !important; }

@media (prefers-reduced-motion: reduce) {
  body.lp-doc .pillar, body.lp-doc .pillar:hover { transform: none !important; transition: none; }
}

/* ---------- 課題章を紙白に: 表紙(紺)→本文(紙)の提案書リズムを回復 ---------- */
body.lp-doc [data-area-id="problem"] { background: var(--paper); color: var(--ink); }
body.lp-doc [data-area-id="problem"] .section-head h2 { color: var(--ink); }
body.lp-doc [data-area-id="problem"] .section-head .sub { color: #4c5668; }
body.lp-doc [data-area-id="problem"] .section-head .sub strong {
  color: var(--ink);
  background: linear-gradient(transparent 58%, rgba(212,175,55,.32) 58%);
}
body.lp-doc [data-area-id="problem"] .section-head .en::before { color: var(--ink); }
body.lp-doc .check-list li {
  border: 1px solid var(--line-warm);
  box-shadow: none;
}

/* ============================================================
   v3: 紺色の全廃。「白×金×墨」の明るい提案書へ
   （以降の宣言が前段を上書きする）
   ============================================================ */
body.lp-doc {
  --ink: #23201a;      /* 青みのない墨色 */
  --navy: #2a261e;     /* 旧navy変数は墨に差し替え */
  --navy-deep: #1b1813;/* 濃い墨（料金中扉・CTA用） */
  color: var(--ink);
}

/* ---------- ヒーロー: 白い表紙へ ---------- */
body.lp-doc .hero-dark {
  background: linear-gradient(180deg, #fffdf7 0%, #f7f3e9 100%);
  color: var(--ink);
}
body.lp-doc .hero-dark::before {
  background:
    radial-gradient(46% 60% at 88% 0%, rgba(183,146,46,.14), transparent 70%),
    radial-gradient(34% 46% at 4% 100%, rgba(183,146,46,.08), transparent 70%);
}
body.lp-doc .hero-dark::after {
  background:
    linear-gradient(rgba(35,32,26,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(35,32,26,.05) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(120% 100% at 50% 0%, #000 30%, transparent 100%);
}
body.lp-doc .hero-dark h1 { color: var(--ink); }
body.lp-doc .hero-dark h1 em {
  color: #96751a;
  border-bottom-color: rgba(183,146,46,.55);
}
body.lp-doc .hero-dark .lead { color: #5a5546; }
body.lp-doc .hero-dark .lead strong { color: var(--ink) !important; }
body.lp-doc .kicker {
  color: #8a6d1d;
  border-color: rgba(183,146,46,.55);
  background: rgba(183,146,46,.08);
}
body.lp-doc .kicker::before { background: var(--gold); }
body.lp-doc .trust-row { color: #5a5546; }
body.lp-doc .trust-row span::before { background: var(--gold); color: #fff; }
body.lp-doc .btn-ghost-light { border-color: rgba(35,32,26,.35); color: var(--ink); }
body.lp-doc .hero-form {
  border: 1px solid var(--line-warm);
  border-top: 3px solid var(--gold);
  box-shadow: 0 26px 60px -30px rgba(35,32,26,.35) !important;
}
body.lp-doc .hero-wave { display: none; }
body.lp-doc .hero-dark .inner { padding-bottom: 4.5rem; }

/* ---------- 実績バンド: 表紙直下の帯として整える ---------- */
body.lp-doc .stat-band {
  border-top: 1px solid var(--line-warm);
  border-bottom: 1px solid var(--line-warm);
  background: #fff;
}
body.lp-doc .stat-band > div { background: #fff; box-shadow: none; border-radius: 0; }
body.lp-doc .stat-band .num { color: var(--ink); }

/* ---------- 中扉・CTA・表ヘッダー: 紺→墨 ---------- */
body.lp-doc .bg-deep { background: var(--navy-deep); }
body.lp-doc .cta { background: var(--navy-deep); }
body.lp-doc .sticky-cta { background: rgba(27,24,19,.96); }
body.lp-doc .table-wrap table thead th,
body.lp-doc table thead th { background: var(--navy); border-color: var(--navy); }

/* ---------- リンク・その他の青み除去 ---------- */
body.lp-doc a { color: var(--ink); }
body.lp-doc a:hover { color: #96751a; }
body.lp-doc a.btn-primary, body.lp-doc a.btn-primary:hover { color: #fff; }
body.lp-doc .section-head .sub { color: #5a5546; }
body.lp-doc [data-area-id="problem"] .section-head .sub { color: #5a5546; }
body.lp-doc .stat-band .label { color: #6b6553; }
body.lp-doc .lead-band .tel { color: #6b6553; }
body.lp-doc .pillar .icon { color: var(--ink); }

/* ---------- v3追補: 上書き順の整理 ---------- */
body.lp-doc .trust-row strong { color: var(--ink) !important; background: none; }
body.lp-doc [data-area-id="problem"] { background: var(--paper); color: var(--ink); }
body.lp-doc [data-area-id="problem"] .section-head h2 { color: var(--ink); }
body.lp-doc [data-area-id="problem"] .section-head .sub { color: #5a5546; }
body.lp-doc [data-area-id="problem"] .section-head .en::before { color: var(--ink); }

/* ---------- 暗色は料金の中扉のみに限定（他のbg-deepは紙白へ） ---------- */
body.lp-doc .bg-deep { background: var(--paper); }
body.lp-doc .bg-deep .section-head h2 { color: var(--ink); }
body.lp-doc .bg-deep .section-head .sub { color: #5a5546; }
body.lp-doc .bg-deep .section-head .sub strong {
  color: var(--ink);
  background: linear-gradient(transparent 58%, rgba(212,175,55,.32) 58%);
}
body.lp-doc .bg-deep .section-head .en::before { color: var(--ink); }

body.lp-doc [data-area-id="price"] { background: var(--navy-deep); }
body.lp-doc [data-area-id="price"] .section-head h2,
body.lp-doc [data-area-id="price"] .section-head .sub { color: #f6f4ee; }
body.lp-doc [data-area-id="price"] .section-head .sub strong { color: var(--gold-soft); background: none; }
body.lp-doc [data-area-id="price"] .section-head .en::before { color: #fff; }

/* ============================================================
   v4: 黒背景の全廃。ヒーローはオウンドメディアと同じブルーに統一
   ============================================================ */

/* ---------- ヒーロー: メディアトップと同じ明るいブルー ---------- */
body.lp-doc .hero-dark {
  background: linear-gradient(160deg, #0d3585 0%, #1d4ed8 52%, #3b82f6 100%);
  color: #fff;
}
body.lp-doc .hero-dark::before {
  background:
    radial-gradient(36% 42% at 80% 18%, rgba(147,197,253,.7), transparent 70%),
    radial-gradient(30% 36% at 10% 88%, rgba(96,165,250,.55), transparent 70%),
    radial-gradient(22% 28% at 55% 45%, rgba(219,234,254,.3), transparent 70%);
  filter: blur(44px);
}
body.lp-doc .hero-dark::after {
  background:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(120% 100% at 50% 0%, #000 30%, transparent 100%);
}
body.lp-doc .hero-dark h1 { color: #fff; }
body.lp-doc .hero-dark h1 em {
  color: var(--gold-soft);
  border-bottom-color: rgba(232,199,102,.6);
}
body.lp-doc .hero-dark .lead { color: rgba(240,244,250,.92); }
body.lp-doc .hero-dark .lead strong { color: #fff !important; background: none; }
body.lp-doc .trust-row { color: rgba(255,255,255,.88); }
body.lp-doc .trust-row strong { color: #fff !important; background: none; }
body.lp-doc .trust-row span::before { background: rgba(255,255,255,.22); color: #fff; }
body.lp-doc .kicker {
  color: #fff;
  border-color: rgba(255,255,255,.45);
  background: rgba(255,255,255,.12);
}
body.lp-doc .kicker::before { background: #fff; }
body.lp-doc .hero-dark .btn-ghost-light { color: #fff; border-color: rgba(255,255,255,.5); }

/* ---------- 料金: 黒廃止 → 紙白 ---------- */
body.lp-doc [data-area-id="price"] { background: var(--paper); }
body.lp-doc [data-area-id="price"] .section-head h2 { color: var(--ink); }
body.lp-doc [data-area-id="price"] .section-head .sub { color: #5a5546; }
body.lp-doc [data-area-id="price"] .section-head .sub strong {
  color: var(--ink);
  background: linear-gradient(transparent 58%, rgba(212,175,55,.32) 58%);
}
body.lp-doc [data-area-id="price"] .section-head .en::before { color: var(--ink); }

/* ---------- 表ヘッダー: 黒系廃止 → 生成り ---------- */
body.lp-doc .table-wrap table thead th,
body.lp-doc table thead th {
  background: #f0ead7;
  color: var(--ink);
  border-color: #e2dbc4;
}

/* ---------- CTAブロック: 黒廃止 → 金縁の生成り ---------- */
body.lp-doc .cta {
  background: #fdf8ea;
  border: 1px solid rgba(183,146,46,.5);
}
body.lp-doc .cta .cta-copy { color: var(--ink); }
body.lp-doc .cta .cta-sub { color: #6b6553; }

/* ---------- sticky CTA: 黒廃止 → 白 ---------- */
body.lp-doc .sticky-cta {
  background: rgba(255,255,255,.97);
  border-top: 1px solid var(--line-warm);
  box-shadow: 0 -10px 30px rgba(35,32,26,.1);
  color: var(--ink);
}
body.lp-doc .sticky-cta a:not(.btn) { color: var(--ink); }

/* ---------- CV帯の均整: 本文+補足の2段構成 ---------- */
body.lp-doc .lead-band { align-items: center; }
body.lp-doc .lead-band .lb-text { flex: 1 1 32em; min-width: min(30em, 100%); }
body.lp-doc .lead-band .lb-main { margin: 0; font-size: 1.02rem; font-weight: 700; line-height: 1.7; }
body.lp-doc .lead-band .lb-sub { margin: .35em 0 0; font-size: .78rem; color: #6b6553; font-weight: 500; }
body.lp-doc .lead-band .lb-sub a { color: #6b6553; }
body.lp-doc .lead-band .btn { flex-shrink: 0; }

/* ============================================================
   v5: モーション強化（すべてCSSのみ・prefers-reduced-motion対応）
   ============================================================ */

/* ---------- ヒーロー: キーワードマーキー復活 ---------- */
body.lp-doc .ticker { display: block; }
body.lp-doc .ticker-track { color: rgba(255,255,255,.35); }

/* ---------- 見出しの金下線が伸びる ---------- */
body.lp-doc .hero-dark h1 em {
  border-bottom: none;
  background-image: linear-gradient(rgba(232,199,102,.75), rgba(232,199,102,.75));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 2px;
  animation: goldLine 1s .9s var(--ease-out) forwards;
  padding-bottom: .1em;
}
@keyframes goldLine { to { background-size: 100% 2px; } }

/* ---------- 章ラベル: スライドイン + 罫線が伸びる ---------- */
body.lp-doc .reveal.in .en::before,
body.lp-doc .section-head.reveal.in .en::before { animation: chipIn .6s var(--ease-out) both; }
@keyframes chipIn { from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: none; } }
body.lp-doc .section-head.reveal.in .en::after { animation: ruleGrow .8s .3s var(--ease-out) both; }
@keyframes ruleGrow { from { width: 0; opacity: 0; } to { width: 4em; opacity: 1; } }

/* ---------- ヒーローフォーム: 浮遊 + 金の天面シマー ---------- */
body.lp-doc .hero-form { position: relative; overflow: hidden; animation: formFloat 7s 2s ease-in-out infinite; }
@keyframes formFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
body.lp-doc .hero-form::before {
  content: ""; position: absolute; top: 0; left: -40%; width: 40%; height: 3px;
  background: linear-gradient(90deg, transparent, #fff8dd, transparent);
  animation: shimmer 3.2s 1.6s ease-in-out infinite;
}
@keyframes shimmer { 0% { left: -40%; } 60%, 100% { left: 110%; } }

/* ---------- ボタン: ホバーで矢印スライド + 光沢スイープ ---------- */
body.lp-doc .btn-primary { position: relative; overflow: hidden; }
body.lp-doc .btn-primary::after {
  content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.35), transparent);
  transform: skewX(-20deg);
  transition: left .55s var(--ease-out);
}
body.lp-doc .btn-primary:hover::after { left: 120%; }
body.lp-doc .btn .arw { display: inline-block; transition: transform .25s var(--ease-out); }
body.lp-doc .btn:hover .arw { transform: translateX(5px); }

/* ---------- カード: ホバーで金線が浮かぶ + アイコンが跳ねる ---------- */
body.lp-doc .pillar { position: relative; }
body.lp-doc .pillar::after {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 3px;
  background: linear-gradient(180deg, var(--gold), var(--gold-soft));
  opacity: 0; transition: opacity .3s;
  border-radius: 8px 0 0 8px;
}
body.lp-doc .pillar:hover::after { opacity: 1; }
body.lp-doc .pillar:hover { transform: translateY(-6px) !important; }
body.lp-doc .pillar .icon { transition: transform .35s var(--ease-out); }
body.lp-doc .pillar:hover .icon { transform: translateY(-4px) rotate(-4deg); }

/* ---------- 課題チェック: 出現後にチェックが跳ねる・ホバーで滑る ---------- */
body.lp-doc .check-list li { transition: transform .25s var(--ease-out), border-color .25s, box-shadow .25s; }
body.lp-doc .check-list li:hover {
  transform: translateX(6px);
  border-color: rgba(183,146,46,.55);
  box-shadow: 0 10px 26px -16px rgba(35,32,26,.3);
}

/* ---------- CV帯: 表示時に金の縦線が伸び、ボタンが波動 ---------- */
body.lp-doc .lead-band.reveal { border-left-color: transparent; transition: border-left-color .6s .3s; }
body.lp-doc .lead-band.reveal.in { border-left-color: var(--gold); }
body.lp-doc .lead-band .btn-primary { animation: softPulse 3.4s 1.2s ease-in-out infinite; }
@keyframes softPulse {
  0%, 100% { box-shadow: 0 10px 24px -10px rgba(37,99,235,.5); }
  50% { box-shadow: 0 10px 30px -6px rgba(37,99,235,.75); }
}

/* ---------- 比較表: 行ホバーで生成りハイライト ---------- */
body.lp-doc table tbody tr { transition: background .2s; }
body.lp-doc table tbody tr:hover { background: #fbf7ec; }

/* ---------- FAQ: 開閉マーカー回転 + 中身フェード ---------- */
body.lp-doc .faq details summary { transition: color .2s; }
body.lp-doc .faq details summary:hover { color: #96751a; }
body.lp-doc .faq details[open] .faq-a { animation: faqIn .35s var(--ease-out) both; }
@keyframes faqIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ---------- 特典コード3010: やわらかな金の呼吸 ---------- */
body.lp-doc [class*="tokuten"], body.lp-doc .code-banner { animation: none; }
body.lp-doc .gold-pulse, body.lp-doc .sticky-cta .btn-primary { animation: softPulse 3.8s ease-in-out infinite; }

/* ---------- 実績バンド: 数字が浮かび上がる（count-upと併用） ---------- */
body.lp-doc .stat-band > div { transition: transform .3s var(--ease-out), box-shadow .3s; }
body.lp-doc .stat-band > div:hover { transform: translateY(-4px); box-shadow: 0 14px 30px -18px rgba(35,32,26,.35); }

/* ---------- reduced-motion: 全アニメーション停止 ---------- */
@media (prefers-reduced-motion: reduce) {
  body.lp-doc .hero-form,
  body.lp-doc .hero-form::before,
  body.lp-doc .hero-dark h1 em,
  body.lp-doc .lead-band .btn-primary,
  body.lp-doc .sticky-cta .btn-primary,
  body.lp-doc .section-head.reveal.in .en::before,
  body.lp-doc .section-head.reveal.in .en::after { animation: none !important; }
  body.lp-doc .hero-dark h1 em { background-size: 100% 2px; }
}

/* ---------- フッター: 黒廃止 → 生成りの明るいフッター ---------- */
body.lp-doc .site-footer {
  background: #f3efe3;
  color: var(--ink);
  border-top: 1px solid var(--line-warm);
}
body.lp-doc .site-footer .brand-f { color: var(--ink); }
body.lp-doc .site-footer p { color: #6b6553 !important; }
body.lp-doc .site-footer .addr { color: #6b6553; }
body.lp-doc .site-footer nav a { color: #55503f; }
body.lp-doc .site-footer nav a:hover { color: #96751a; }
body.lp-doc .site-footer .copyright { color: #8a8471; border-color: #e0dac8; }

/* ---------- モバイル修正: ヒーローのインライン2カラム指定を上書き ---------- */
@media (max-width: 940px) {
  body.lp-doc .hero-grid { grid-template-columns: 1fr !important; }
  body.lp-doc .hero-dark h1 { font-size: clamp(1.7rem, 7.5vw, 2.4rem); }
}

/* ============================================================
   v6: 監査で検出したカスケード事故の修正（最終勝者をここで確定）
   ============================================================ */
/* sticky-cta（白背景）上のゴーストボタンは墨色で可視化 */
body.lp-doc .sticky-cta .btn-ghost-light {
  color: var(--ink);
  border-color: rgba(35,32,26,.4);
}
/* 比較表の自社列ヘッダー: 青×墨の低コントラストを金×白に */
body.lp-doc thead th.th-hl { background: var(--gold) !important; color: #fff; }
/* おすすめ列セル: style.cssの!important(水色)に勝って生成りへ */
body.lp-doc td.td-hl { background: #fbf6e7 !important; }
/* reduced-motion: v5のホバー移動より後着で確実に停止させる */
@media (prefers-reduced-motion: reduce) {
  body.lp-doc .pillar,
  body.lp-doc .pillar:hover { transform: none !important; transition: none; }
}
