/* =========================================================
   BUS ONLINE  C案カラー（ハイブリッド）共通CSS
   配置：子テーマ直下 /pam-theme-c.css
   方針：見せる場所は黒、読む・入力する場所は明るいシルバー
         赤（#c41e1e）はボタン・必須・現在地のみ
   ※各テンプレートの <style> の後に読み込まれ、上書きします。
   ========================================================= */

/* ---------- 1. 色の定義（全ページ共通） ---------- */
:root {
  /* ダーク */
  --pc-dk:      #0b0b0d;
  --pc-dk2:     #131418;
  --pc-dk-sf:   #16171b;
  --pc-dk-sf2:  #202227;
  --pc-dk-ln:   rgba(232,234,237,0.13);
  --pc-dk-tx:   #eceef1;
  --pc-dk-tx2:  #b4bac3;
  --pc-foot:    #070708;
  /* ライト（シルバー） */
  --pc-lt:      #f3f4f6;
  --pc-lt-sf:   #ffffff;
  --pc-lt-sf2:  #f6f7f9;
  --pc-lt-ln:   #d8dbe0;
  --pc-lt-inb:  #c3c7ce;
  --pc-lt-tx:   #1b1c20;
  --pc-lt-body: #33373e;
  --pc-lt-tx2:  #555b65;
  --pc-lt-ph:   #7a808a;
  /* 赤 */
  --pc-red:     #c41e1e;
  --pc-red-dk:  #ee5d5d;  /* 黒背景上の赤文字 */
  --pc-red-lt:  #b81c1c;  /* 白背景上の赤文字 */

  /* 既存テンプレートの変数を統一（ページごとのズレを解消） */
  --black:        #0b0b0d;
  --dark:         #131418;
  --dark2:        #16171b;
  --dark3:        #202227;
  --dark4:        #26282e;
  --silver:       #c8cdd4;
  --silver-lt:    #e8eaed;
  --silver-light: #e8eaed;
  --silver-dim:   #b4bac3;
  --white:        #f2f3f5;
  --red:          #c41e1e;
  --gold:         #e8eaed;  /* ゴールド廃止：シルバーに置き換え */
  --border:       rgba(232,234,237,0.12);
  --border-lt:    rgba(232,234,237,0.18);
}

/* ---------- 2. 共通：ラベル類は赤→シルバー ---------- */
.section-label span,
.eq-eyebrow span,
.contact-eyebrow span,
.category-tag,
.toc-head-en { color: var(--pc-dk-tx2) !important; }

.hero-title .accent,
.eq-hero-title .accent,
.contact-hero h1 .accent { color: var(--pc-red-dk); }

.hero-sub { font-weight: 400; color: #c9ced5; }

footer,
.eq-footer, .fq-footer, .pp-footer { background: var(--pc-foot); }


/* =========================================================
   3. トップ（front-page.php）
   黒：ヘッダー／ヒーロー／数字／車両　シルバー：見積／流れ
   ========================================================= */
.stats-bar { background: var(--pc-dk2); }
.stat-num span { color: var(--pc-dk-tx2); }

/* クイック見積：シルバー */
.estimate-section { background: var(--pc-lt); color: var(--pc-lt-tx); }
.estimate-section::before { color: rgba(27,28,32,0.035); }
.estimate-section .section-label span { color: var(--pc-lt-tx2) !important; }
.estimate-section .section-title { color: var(--pc-lt-tx); }
.estimate-section .section-desc { color: var(--pc-lt-tx2); }
.est-step-title { color: var(--pc-lt-tx); }
.est-option { background: var(--pc-lt-sf); border-color: var(--pc-lt-ln); }
.est-option:hover { border-color: var(--pc-lt-inb); background: var(--pc-lt-sf); }
.est-option.selected { border-color: var(--pc-red); background: rgba(196,30,30,0.05); box-shadow: inset 0 0 0 1px var(--pc-red); }
.est-option-label { color: var(--pc-lt-tx); }
.est-option-sub { color: var(--pc-lt-tx2); }
.est-progress { background: var(--pc-lt-ln); }
.est-back { color: var(--pc-lt-tx2); border-color: var(--pc-lt-inb); }
#estimate-img { background: #e1e4e8 !important; filter: none !important; }

/* 車両ラインナップ：黒（赤を減らす） */
.lineup-section { background: var(--pc-dk); }
.lineup-tabs { border-color: var(--pc-dk-ln); }
.lineup-tab.active { background: var(--pc-dk-tx); color: var(--pc-dk); font-weight: 700; }
.card-type { color: var(--pc-dk-tx2); }
.lineup-card:hover { border-color: rgba(232,234,237,0.35); box-shadow: 0 20px 60px rgba(0,0,0,0.5); }
.lineup-card:hover .card-arrow { background: var(--pc-dk-tx); border-color: var(--pc-dk-tx); }
.lineup-card:hover .card-arrow svg { color: var(--pc-dk); }

/* ご利用の流れ：シルバー */
.flow-section { background: var(--pc-lt); color: var(--pc-lt-tx); border-color: var(--pc-lt-ln); }
.flow-section .section-label span { color: var(--pc-lt-tx2) !important; }
.flow-section .section-title { color: var(--pc-lt-tx); }
.flow-steps::before { background: var(--pc-lt-ln); }
.flow-num { background: var(--pc-lt-sf); border-color: var(--pc-lt-ln); color: var(--pc-lt-tx2); }
.flow-step.highlight .flow-num { background: var(--pc-lt-tx); border-color: var(--pc-lt-tx); color: #fff; }
.flow-step-title { color: var(--pc-lt-tx); }
.flow-step-desc { color: var(--pc-lt-tx2); }
@media (max-width: 768px) {
  .flow-step { background: var(--pc-lt-sf); border-color: var(--pc-lt-ln); }
}


/* =========================================================
   4. 車両ラインナップ（page-lineup.php）：全体黒、赤を減らす
   ========================================================= */
.vehicle-card:hover { border-color: rgba(232,234,237,0.35); }
.vehicle-link {
  background: transparent;
  border: 1px solid rgba(232,234,237,0.35);
  color: var(--pc-dk-tx);
}
.vehicle-link:hover { background: var(--pc-dk-tx); border-color: var(--pc-dk-tx); color: var(--pc-dk); }
.select-wrap select:focus,
.select-wrap select:hover,
.cb-trigger:hover,
.cb-dropdown.open .cb-trigger { border-color: rgba(232,234,237,0.5); background: rgba(255,255,255,0.08); }


/* =========================================================
   5. 概算見積（page-estimate.php）
   黒：ヘッダー／ヒーロー／フッター　シルバー：入力フォーム
   （#bq_root のダーク化指定を明るく戻す）
   ========================================================= */
body .eq-main { background: var(--pc-lt); }

/* BQプラグイン本体は CSS変数（--bg-base など）でダーク配色を決めているため、
   変数ごと明るい値に上書きする（var() を使う全要素に効く） */
html body #bq_root {
  --bg-base:    #ffffff !important;
  --bg-card:    #ffffff !important;
  --bg-field:   #f6f7f9 !important;
  --bg-input:   #ffffff !important;
  --bg-header:  #f6f7f9 !important;
  --border:     #d8dbe0 !important;
  --border-lt:  #c3c7ce !important;
  --text-pri:   #1b1c20 !important;
  --text-sec:   #555b65 !important;
  --text-muted: #7a808a !important;
  --accent:     #c41e1e !important;
  --accent-dk:  #a81818 !important;
  --gold:       #1b1c20 !important;
  --danger:     #c41e1e !important;
  --success:    #1f7a3a !important;
  --warn-bg:    #fdf3f3 !important;
  --warn-text:  #b81c1c !important;
  --warn-bd:    #f1c9c9 !important;
}
html body #bq_root .bq-wrap {
  background: #ffffff !important;
  color: #1b1c20 !important;
  border: 1px solid #d8dbe0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
html body #bq_root .bq-header {
  background: #f6f7f9 !important;
  border-color: #d8dbe0 !important;
  color: #1b1c20 !important;
}
html body #bq_root .bq-header * { color: #1b1c20; }
html body #bq_root .bq-header p,
html body #bq_root .bq-header small { color: #555b65 !important; }
html body #bq_root .bq-field {
  background: #f6f7f9 !important;
  border-color: #d8dbe0 !important;
  color: #1b1c20 !important;
}
html body #bq_root .bq-section { background: transparent !important; }
html body #bq_root h1,
html body #bq_root h4 { color: #1b1c20 !important; }

body #bq_root { color: var(--pc-lt-tx) !important; }
body #bq_root .bq-card {
  background: var(--pc-lt-sf) !important;
  border: 1px solid var(--pc-lt-ln) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}
body #bq_root .bq-label { color: var(--pc-lt-tx2) !important; }
body #bq_root h2,
body #bq_root h3,
body #bq_root strong,
body #bq_root b { color: var(--pc-lt-tx) !important; }

body #bq_root input,
body #bq_root select,
body #bq_root textarea {
  background: var(--pc-lt-sf) !important;
  border: 1px solid var(--pc-lt-inb) !important;
  color: var(--pc-lt-tx) !important;
}
body #bq_root input:focus,
body #bq_root select:focus,
body #bq_root textarea:focus {
  border-color: rgba(196,30,30,0.6) !important;
  background: var(--pc-lt-sf) !important;
  box-shadow: 0 0 0 3px rgba(196,30,30,0.12) !important;
}
body #bq_root input::placeholder,
body #bq_root textarea::placeholder { color: var(--pc-lt-ph) !important; }
body #bq_root select option { background: var(--pc-lt-sf) !important; color: var(--pc-lt-tx) !important; }
body #bq_root input[type="time"],
body #bq_root input[type="time"].bq-input { color-scheme: light; background: var(--pc-lt-sf) !important; color: var(--pc-lt-tx) !important; }
body #bq_mode.bq-unselected { color: var(--pc-lt-ph) !important; }
body #bq_mode option { color: var(--pc-lt-tx) !important; }

body #bq_root .bq-btn-sec {
  background: var(--pc-lt-sf) !important;
  border: 1px solid var(--pc-lt-inb) !important;
  color: var(--pc-lt-tx) !important;
}
body #bq_root .bq-btn-sec:hover { background: var(--pc-lt-sf2) !important; color: var(--pc-lt-tx) !important; }

/* 料金表示：ゴールド廃止 */
body #bq_root #bq_price { color: var(--pc-lt-tx) !important; }
body #bq_root #bq_priceSub,
body #bq_root #bq_meta { color: var(--pc-lt-tx2) !important; }
body #bq_root #bq_out {
  background: var(--pc-lt-sf) !important;
  border: 1px solid var(--pc-lt-ln) !important;
}

/* プラグインの白背景・灰色文字を元の明るい配色に戻す */
body #bq_root [style*="background:#fff"],
body #bq_root [style*="background: #fff"],
body #bq_root [style*="background:white"] {
  background: var(--pc-lt-sf) !important;
  color: var(--pc-lt-tx) !important;
}
body #bq_root [style*="background:#fafafa"],
body #bq_root [style*="background:#f8fafc"],
body #bq_root [style*="background:#f0f0f0"] {
  background: var(--pc-lt-sf2) !important;
  color: var(--pc-lt-tx) !important;
}
body #bq_root [style*="color:#666"],
body #bq_root [style*="color:#555"],
body #bq_root [style*="color:#333"],
body #bq_root [style*="color:#444"],
body #bq_root [style*="color:#777"] { color: var(--pc-lt-tx2) !important; }

body #bq_mapSwitch { background: var(--pc-lt-sf2) !important; border-top: 1px solid var(--pc-lt-ln) !important; }
body #bq_map { border-top: 1px solid var(--pc-lt-ln) !important; }
body #bq_clearWp_day,
body #bq_clearWp_multi {
  background: var(--pc-lt-sf) !important;
  border-color: var(--pc-lt-inb) !important;
  color: var(--pc-lt-tx2) !important;
}
body #bq_font_panel {
  background: var(--pc-lt-sf2) !important;
  border-color: var(--pc-lt-ln) !important;
  color: var(--pc-lt-tx) !important;
}

/* お問い合わせモーダル・見積書プレビュー：明るく */
body #bq_contact_modal > div {
  background: var(--pc-lt-sf) !important;
  border: 1px solid var(--pc-lt-ln) !important;
  color: var(--pc-lt-tx) !important;
}
body #bq_contact_modal label,
body #bq_contact_modal p { color: var(--pc-lt-tx2) !important; }
body #bq_contact_modal h2,
body #bq_contact_modal h3,
body #bq_contact_modal strong { color: var(--pc-lt-tx) !important; }
body #bq_quote_overlay > div { background: var(--pc-lt) !important; }

/* 料金内訳アコーディオン */
body #bq_root .eq-bd-toggle {
  background: var(--pc-lt-sf) !important;
  border: 1px solid var(--pc-lt-inb) !important;
  color: var(--pc-lt-tx) !important;
}
body #bq_root .eq-bd-toggle:hover { background: var(--pc-lt-sf2) !important; border-color: var(--pc-lt-tx2) !important; }
body #bq_root .eq-bd-hint { color: var(--pc-lt-tx2); }

/* ── 計算を実行する（メインボタン）：白文字・グロー無し ── */
html body #bq_root .bq-btn-pri,
html body #bq_root .bq-btn-pri * {
  color: #ffffff !important;
  text-shadow: none !important;
}
html body #bq_root .bq-btn-pri {
  background: #c41e1e !important;
  border: 1px solid #c41e1e !important;
  box-shadow: none !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
html body #bq_root .bq-btn-pri:hover { background: #a81818 !important; border-color: #a81818 !important; transform: none !important; }

/* ── 内容をクリア：控えめなアウトライン（押せる見た目に） ── */
html body #bq_root .bq-btn-danger,
html body #bq_root .bq-btn-clear,
html body #bq_root button[id*="clear"]:not([id*="Wp"]),
html body #bq_root button[id*="reset"] {
  background: #ffffff !important;
  border: 1px solid #c3c7ce !important;
  color: #555b65 !important;
  text-shadow: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
html body #bq_root .bq-btn-danger:hover,
html body #bq_root .bq-btn-clear:hover,
html body #bq_root button[id*="clear"]:not([id*="Wp"]):hover,
html body #bq_root button[id*="reset"]:hover {
  border-color: #c41e1e !important;
  color: #b81c1c !important;
  background: #fdf3f3 !important;
}

/* ── ベース計算金額の枠：黒背景・白文字 ── */
html body #bq_root .bq-card:has(#bq_price):not(:has(#bq_out)) {
  background: #16171b !important;
  border: 1px solid #16171b !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.12) !important;
}
html body #bq_root .bq-card:has(#bq_price):not(:has(#bq_out)) * {
  color: #b4bac3 !important;
  background: transparent !important;
}
html body #bq_root .bq-card:has(#bq_price):not(:has(#bq_out)) #bq_price { color: #ffffff !important; }
html body #bq_root .bq-card:has(#bq_price):not(:has(#bq_out)) #bq_meta,
html body #bq_root .bq-card:has(#bq_price):not(:has(#bq_out)) #bq_priceSub { color: #d6dae0 !important; }

/* ── メールフォームから問い合わせる ── */
html body #bq_root #bq_mail,
html body #bq_root #bq_mail * {
  color: #ffffff !important;
  text-shadow: none !important;
}
html body #bq_root #bq_mail {
  background: #c41e1e !important;
  border: 1px solid #c41e1e !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 480px !important;
  min-height: 56px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
html body #bq_root #bq_mail:hover { background: #a81818 !important; border-color: #a81818 !important; transform: none !important; }

/* ── 進行バー（PC左サイドバー）：明るい背景で見やすく ── */
.eq-sidebar-num { background: #ffffff; border-color: #c3c7ce; color: #555b65; }
.eq-sidebar-connector { background: #d8dbe0; }
.eq-sidebar-label {
  background: #ffffff;
  border: 1px solid #d8dbe0;
  color: #555b65;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  font-weight: 500;
}
/* 完了：濃いグレー */
.eq-sidebar-item.done .eq-sidebar-num { background: #3a3d44; border-color: #3a3d44; color: #ffffff; }
.eq-sidebar-item.done .eq-sidebar-label { background: #3a3d44; border-color: #3a3d44; color: #ffffff; }
.eq-sidebar-item.done + .eq-sidebar-connector { background: #3a3d44; }
/* 現在：赤 */
.eq-sidebar-item.active .eq-sidebar-num { background: #c41e1e; border-color: #c41e1e; color: #ffffff; box-shadow: 0 0 0 4px rgba(196,30,30,0.18); }
.eq-sidebar-item.active .eq-sidebar-label { background: #c41e1e; border-color: #c41e1e; color: #ffffff; font-weight: 700; }

/* ヒーロー内ステップ・スマホ下部バー（黒背景）：完了＝シルバー */
.eq-step-item.done .eq-step-num { background: #b4bac3; border-color: #b4bac3; color: #0b0b0d; }
.eq-step-item.done .eq-step-label { color: #d6dae0; }
.eq-bottom-dot.done { background: #b4bac3; border-color: #b4bac3; color: #0b0b0d; }
.eq-bottom-line.done { background: #b4bac3; }
.eq-bottom-step-label { color: #ee5d5d; }
@media (max-width: 768px) {
  .eq-step-item.done { background: rgba(232,234,237,0.06); border-color: rgba(232,234,237,0.18); }
  .eq-step-item.done .eq-step-num { background: #b4bac3; border-color: #b4bac3; color: #0b0b0d; }
}

/* 「入力方法」ボタン */
.wpm-trigger-btn { border-color: var(--pc-lt-inb); color: var(--pc-lt-tx2); }
.wpm-trigger-btn:hover { border-color: var(--pc-red); color: var(--pc-red-lt); background: rgba(196,30,30,0.05); }


/* =========================================================
   6. よくある質問（page-faq.php）
   黒：ヘッダー／ヒーロー／電話CTA／フッター　シルバー：検索・タブ・Q&A
   ========================================================= */
.fq-search-bar { background: var(--pc-lt-sf); border-bottom-color: var(--pc-lt-ln); }
.fq-search {
  background: var(--pc-lt-sf);
  border-color: var(--pc-lt-inb);
  color: var(--pc-lt-tx);
}
.fq-search::placeholder { color: var(--pc-lt-ph); }
.fq-search:focus { border-color: rgba(196,30,30,0.6); box-shadow: 0 0 0 3px rgba(196,30,30,0.12); }
.fq-search-result { color: var(--pc-lt-tx2) !important; }

.fq-cats-wrap { background: rgba(243,244,246,0.97); border-bottom-color: var(--pc-lt-ln); }
.fq-cat-btn { color: var(--pc-lt-tx2); }
.fq-cat-btn:hover { color: var(--pc-lt-tx); }
.fq-cat-btn.active { color: var(--pc-lt-tx); font-weight: 700; border-bottom-color: var(--pc-red); }
.fq-cat-count { background: #e5e7eb; color: var(--pc-lt-tx2); }
.fq-cat-btn.active .fq-cat-count { background: rgba(196,30,30,0.1); color: var(--pc-red-lt); }

/* Q&A エリアを画面幅いっぱいのシルバーに */
.fq-main {
  background: var(--pc-lt);
  box-shadow: 0 0 0 100vmax var(--pc-lt);
  clip-path: inset(0 -100vmax);
  color: var(--pc-lt-tx);
}
.fq-no-result { color: var(--pc-lt-tx2); }
.fq-section-head { border-bottom-color: var(--pc-lt-ln); }
.fq-section-title { color: var(--pc-lt-tx); }
.fq-section-count { color: var(--pc-lt-tx2); }
.fq-item { background: var(--pc-lt-sf); border-color: var(--pc-lt-ln); }
.fq-item:hover { border-color: var(--pc-lt-inb); }
.fq-item.open { border-color: rgba(196,30,30,0.35); }
.fq-q:hover { background: var(--pc-lt-sf2); }
.fq-q-text { color: var(--pc-lt-tx); }
.fq-q-icon { background: var(--pc-lt); border-color: var(--pc-lt-ln); color: var(--pc-lt-tx2); }
.fq-item.open .fq-q-icon { background: rgba(196,30,30,0.08); border-color: rgba(196,30,30,0.3); color: var(--pc-red-lt); }
.fq-a-inner { border-top-color: var(--pc-lt-ln); }
.fq-a-inner p { color: var(--pc-lt-body); }
.fq-a-inner strong { color: var(--pc-lt-tx); }
.fq-a-inner a { color: var(--pc-red-lt); text-decoration: underline; }
.fq-a-inner .fq-table td { border-color: var(--pc-lt-ln); color: var(--pc-lt-body); }
.fq-a-inner .fq-table td:first-child { color: var(--pc-lt-tx2); background: var(--pc-lt-sf2); }
.fq-highlight { background: rgba(196,30,30,0.12); color: var(--pc-red-lt); }

.fq-cta { margin-top: 72px; }


/* =========================================================
   7. お問合せ（page-contact.php）
   黒：ヘッダー／ヒーロー／フッター　シルバー：フォーム
   ========================================================= */
.contact-main {
  background: var(--pc-lt);
  box-shadow: 0 0 0 100vmax var(--pc-lt);
  clip-path: inset(0 -100vmax);
}
.contact-form-wrap {
  background: var(--pc-lt-sf);
  border-color: var(--pc-lt-ln);
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.cf-label { color: var(--pc-lt-tx); }
.cf-input, .cf-select, .cf-textarea {
  background: var(--pc-lt-sf);
  border-color: var(--pc-lt-inb);
  color: var(--pc-lt-tx);
}
.cf-input::placeholder, .cf-textarea::placeholder { color: var(--pc-lt-ph); }
.cf-input:focus, .cf-select:focus, .cf-textarea:focus { border-color: rgba(196,30,30,0.6); box-shadow: 0 0 0 3px rgba(196,30,30,0.12); }
.cf-select option { background: var(--pc-lt-sf); color: var(--pc-lt-tx); }
.cf-select-wrap::after { border-top-color: var(--pc-lt-tx2); }
.cf-input.error, .cf-select.error, .cf-textarea.error { border-color: var(--pc-red); }
.cf-error-msg { color: var(--pc-red-lt); }
.cf-note { background: var(--pc-lt-sf2); border-color: var(--pc-lt-ln); color: var(--pc-lt-tx2); }
.cf-note strong { color: var(--pc-lt-tx); }
.cf-note a { color: var(--pc-lt-tx); }
.cf-note a:hover { color: var(--pc-red-lt); }
.cf-tel-row { border-top-color: var(--pc-lt-ln); }
.cf-tel-dept { color: var(--pc-lt-tx); }
.cf-tel-dept small, .cf-tel-hours, .cf-tel-foot { color: var(--pc-lt-tx2); }
.cf-tel-hours b { color: var(--pc-lt-tx); }
.cf-success h2 { color: var(--pc-lt-tx); }
.cf-success p { color: var(--pc-lt-tx2); }
.cf-success-back { background: var(--pc-lt-sf); border-color: var(--pc-lt-inb); color: var(--pc-lt-tx); }
.cf-success-back:hover { border-color: var(--pc-lt-tx2); color: var(--pc-lt-tx); }


/* =========================================================
   8. プライバシーポリシー（page-privacy.php）
   黒：ヘッダー／ヒーロー／モーダル／フッター　シルバー：目次・本文
   ========================================================= */
.pp-wrap {
  background: var(--pc-lt);
  box-shadow: 0 0 0 100vmax var(--pc-lt);
  clip-path: inset(0 -100vmax);
}
.pp-toc { background: var(--pc-lt-sf); border-color: var(--pc-lt-ln); }
.pp-toc-title { color: var(--pc-lt-tx); border-bottom-color: var(--pc-lt-ln); }
.pp-toc-list a { color: var(--pc-lt-tx2); }
.pp-toc-list a:hover { color: var(--pc-lt-tx); background: var(--pc-lt); }
.pp-toc-list a.active { color: var(--pc-lt-tx); font-weight: 700; border-left-color: var(--pc-red); background: rgba(196,30,30,0.06); }

.pp-section, .pp-intro { background: var(--pc-lt-sf); border-color: var(--pc-lt-ln); }
.pp-section-num { background: var(--pc-lt); border-color: var(--pc-lt-ln); color: var(--pc-lt-tx); }
.pp-section-title, .pp-intro-label { color: var(--pc-lt-tx); }
.pp-body { color: var(--pc-lt-body); }
.pp-body strong { color: var(--pc-lt-tx); }
.pp-body p[style*="silver-dim"] { color: var(--pc-lt-tx2) !important; }
.pp-intro-def { background: var(--pc-lt-sf2); border-left-color: var(--pc-lt-tx2); color: var(--pc-lt-body); }
.pp-contact-box { background: var(--pc-lt-sf2); border-color: var(--pc-lt-ln); }
.pp-contact-box-title { color: var(--pc-lt-tx); border-bottom-color: var(--pc-lt-ln); }
.pp-contact-row { border-bottom-color: var(--pc-lt-ln); }
.pp-contact-label { color: var(--pc-lt-tx2); }
.pp-contact-val { color: var(--pc-lt-tx); }
.pp-contact-val a { color: var(--pc-red-lt); }

/* モーダル（黒のまま）：ゴールドの名残を除去 */
.pp-modal-body th { background: rgba(232,234,237,0.06); }
.pp-modal-body h3 { border-bottom-color: rgba(232,234,237,0.15); }
.pp-modal-extlink { background: rgba(232,234,237,0.06); border-color: rgba(232,234,237,0.2); }
.pp-modal-extlink:hover { background: rgba(232,234,237,0.12); }


/* =========================================================
   9. 運送約款（page-contract.php）
   黒：ヘッダー／ヒーロー／問い合わせCTA／フッター　シルバー：目次・本文
   ========================================================= */
.contract-wrap {
  background: var(--pc-lt);
  box-shadow: 0 0 0 100vmax var(--pc-lt);
  clip-path: inset(0 -100vmax);
}
.toc { background: var(--pc-lt-sf); border-color: var(--pc-lt-ln); }
.toc-head { border-bottom-color: var(--pc-lt-ln); }
.toc-head-en { color: var(--pc-lt-tx2) !important; }
.toc-head-ja, .toc-toggle { color: var(--pc-lt-tx); }
.toc-toggle-caret { color: var(--pc-lt-tx2); }
.toc-list { border-top-color: var(--pc-lt-ln); }
.toc a { color: var(--pc-lt-tx2); }
.toc a:hover { color: var(--pc-lt-tx); background: var(--pc-lt); }
.toc a.active { color: var(--pc-lt-tx); font-weight: 700; border-left-color: var(--pc-red); background: rgba(196,30,30,0.06); }

.contract-body { color: var(--pc-lt-body); }
.contract-body h2 {
  background: var(--pc-lt-sf);
  border-color: var(--pc-lt-ln);
  border-left-color: var(--pc-red);
  color: var(--pc-lt-tx);
}
.contract-body h3 { color: var(--pc-lt-tx); border-bottom-color: var(--pc-lt-ln); }
.contract-body h4,
.contract-body strong,
.contract-body b { color: var(--pc-lt-tx); }
.contract-body li::marker { color: var(--pc-lt-tx2); }
.contract-body a { color: var(--pc-red-lt); }
.contract-body a:hover { color: var(--pc-red); }
.contract-body hr, .contract-body .wp-block-separator { background: var(--pc-lt-ln); }
.contract-body th, .contract-body td { border-color: var(--pc-lt-ln); }
.contract-body th { background: #eceef1; color: var(--pc-lt-tx); }
.contract-body blockquote, .contract-body .wp-block-quote {
  background: var(--pc-lt-sf);
  border-left-color: var(--pc-lt-tx2);
  color: var(--pc-lt-body);
}
.contract-empty { background: var(--pc-lt-sf); border-color: var(--pc-lt-inb); color: var(--pc-lt-tx2); }
/* 約款下の問い合わせカードは黒で締める */
.contract-cta { background: var(--pc-dk-sf); border-color: var(--pc-dk-sf); }

/* 印刷時はすべて白黒 */
@media print {
  .contract-wrap, .pp-wrap, .fq-main, .contact-main { background: #fff !important; box-shadow: none !important; clip-path: none !important; }
}


/* =========================================================
   10. 貸切バス事業者安全性評価認定マーク（pam-safety.php）
   マーク画像は透過PNG。黒背景の上に直接置く（台座なし）
   ========================================================= */

/* トップ：数字バー直下の帯（黒） */
.pam-safety {
  background: #131418;
  color: #eceef1;
  border-top: 1px solid rgba(232,234,237,0.1);
  border-bottom: 1px solid rgba(232,234,237,0.1);
  font-family: 'Noto Sans JP', sans-serif;
}
.pam-safety-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 44px 40px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}
.pam-safety-mark { flex: 0 0 auto; line-height: 0; }
.pam-safety-mark img { display: block; max-width: 100%; height: auto; filter: drop-shadow(0 6px 18px rgba(0,0,0,0.45)); }
.pam-safety-body { flex: 1 1 320px; min-width: 0; }
.pam-safety-label {
  display: flex; align-items: center; gap: 12px;
  font-size: 12px; font-weight: 500; letter-spacing: 0.22em;
  color: #b4bac3; text-transform: uppercase; margin-bottom: 12px;
}
.pam-safety-label::before { content: ''; display: block; width: 32px; height: 2px; background: #c41e1e; }
/* 親テーマ（Lightning）の h2 装飾（青い線など）を打ち消す */
.pam-safety .pam-safety-title,
.pam-safety h2.pam-safety-title {
  font-size: 24px; font-weight: 900; line-height: 1.5;
  color: #eceef1; margin: 0 0 10px; padding: 0;
  letter-spacing: 0.02em;
  background: none; border: 0; box-shadow: none; outline: 0;
}
.pam-safety .pam-safety-title::before,
.pam-safety .pam-safety-title::after { content: none; display: none; border: 0; background: none; }
.pam-safety-stars { margin: 0 10px; letter-spacing: 0.12em; color: #eceef1; white-space: nowrap; }
.pam-safety-text { font-size: 14px; color: #c9ced5; line-height: 1.9; margin: 0 0 8px; max-width: 640px; }
.pam-safety-meta { font-size: 12px; color: #b4bac3; margin: 0; letter-spacing: 0.04em; }
.pam-safety-meta a { color: #eceef1; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 768px) {
  .pam-safety-inner { padding: 36px 20px; gap: 18px; flex-direction: column; align-items: flex-start; }
  .pam-safety-mark img { width: 116px !important; }
  .pam-safety .pam-safety-title { font-size: 19px; }
  .pam-safety-stars { margin: 0 6px; }
}

/* フッター（全ページ）：薄い枠の黒カードにマーク＋文言 */
.pam-safety-foot {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  padding: 10px 18px 10px 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(232,234,237,0.14);
  border-radius: 10px;
}
.pam-safety-foot img { display: block; flex: 0 0 auto; }
.pam-safety-foot-txt { font-size: 12px; line-height: 1.6; color: #b4bac3; letter-spacing: 0.04em; }
.pam-safety-foot-txt strong { color: #eceef1; font-weight: 700; }

/* 概算見積ページ：フォームの下（白カード） */
.pam-safety-inline {
  max-width: 1100px;
  margin: 24px auto 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 18px;
  background: #ffffff;
  border: 1px solid #d8dbe0;
  border-radius: 10px;
  padding: 16px 20px;
}
.pam-safety-inline img { flex: 0 0 auto; display: block; }
.pam-safety-inline p { margin: 0; font-size: 13px; line-height: 1.8; color: #33373e; }
.pam-safety-inline strong { color: #1b1c20; font-size: 14px; }
.pam-safety-exp { display: block; font-size: 12px; color: #555b65; margin-top: 2px; }
@media (max-width: 520px) {
  .pam-safety-inline { align-items: flex-start; padding: 14px 16px; gap: 14px; }
  .pam-safety-inline img { width: 60px !important; }
}
