/* ============================================================
   dep-documents.css  ―  「各種書類」（旅行業約款／旅行条件書／旅行業務取扱料金）
   対象 body_class : .dep-doc-page（一覧のみ .dep-doc-index を追加付与）
   方式 : ネイティブ Gutenberg ブロック（wp:heading / paragraph / list / table）を
          そのまま整形＝クライアントがビジュアルエディタで編集できる状態を維持。
   依存 : dep-base（トークンは dep-tokens）／読み込み順 tokens → global → base → documents
   ------------------------------------------------------------
   ▼ Astra 対策（既知の落とし穴・v16/v19の学び）
     1) `.entry-content p{margin:0}`（詳細度 0,2,1）に負けるため、本文系は
        `.dep-doc-page .dep-doc-body p` のように親クラスを噛ませて 0,3,0 以上にする。
     2) Astra の button/リンク系グローバル指定（黄色hover・円形シャドウ）が
        `.dep-doc-dl__btn` を上書きするため、色・装飾は !important で抑止。
     3) Astra のテーブル既定（border/背景/font-size）を `.dep-doc-table table` で明示上書き。
     4) 全幅帯は4宣言セット（max-width:none !important 込み）。
        `#content{padding-top:74px}` は実装済みヘッダー側の処理。ここで再加算しない。
   ------------------------------------------------------------
   ▼ 共通化メモ（次回リファクタ）
     .dep-doc-dl__btn ＝ ヘッダー「お問い合わせ」(.dep-contact) 仕様 → 将来 .dep-btn へ
     .dep-doc-back    ＝ トップSERVICE型「詳しく見る →」          → 将来 .dep-more へ
     .dep-doc-hero    ＝ アクセント帯（#daeaf7 / #0081CC / #1E293B）→ 将来 .dep-band--info へ
   ============================================================ */

.dep-doc-page{
  --_primary : var(--dep-primary,#0081CC);
  --_accent  : var(--dep-accent,#FF750E);
  --_bg      : var(--dep-bg,#FAF9F2);
  --_text    : var(--dep-text,#323232);
  --_line    : var(--dep-line,#E6E3DC);
  --_muted   : #6b6b6b;
  --_band    : #daeaf7;   /* アクセント帯 背景（下層ページ共通仕様） */
  --_band-ttl: #1E293B;   /* アクセント帯 見出し（下層ページ共通仕様） */
  --_font-jp : var(--dep-jp,"Zen Kaku Gothic Antique",sans-serif);
  --_font-en : var(--dep-en,"Montserrat",sans-serif);
}

/* 全幅生成り（#content 地色方式）＋ 全幅帯のはみ出しクリップ */
body.dep-doc-page #content{ background:var(--_bg); overflow-x:clip; }

/* 本文カラム：.dep-wrap 標準（1100px）内でさらに 860px に絞る＝長文の可読性優先 */
body.dep-doc-page .entry-content{
  max-width:860px; margin-left:auto; margin-right:auto;
  padding-bottom:clamp(48px,6vw,72px);
}

/* パンくず：dep-base は 1100px 列に合わせて全幅化するため、本ページの本文列（860px）に揃え直す。
   （dep-base の `.dep-wrap:has(> .dep-crumb)` の padding-inline を上書きするだけ） */
body.dep-doc-page .entry-content .dep-wrap:has(> .dep-crumb){
  padding-inline:max(4vw, calc(50vw - 430px));
}

/* ★Astra の既定ブロック余白の打ち消し（2026/8/7）
   Astra は `.entry-content > .wp-block-group` に上下100px・左右80px（SPは50/30px）を入れる。
   .dep-doc-body / .dep-doc-foot がこれに該当し、本番だけ本文カラムが 860→700px に狭まり、
   目次パネル・タイトル帯と左右がずれていた（ローカルQAは本ルール未再現で見逃し）。
   カラム幅と余白は本CSSで設計しているので直下グループでは打ち消す。
   ただし狭い画面では本文が画面端に付かないよう左右20pxのゆとりを残す（.dep-doc-hero と同値）。 */
body.dep-doc-page .entry-content > .wp-block-group.dep-doc-body{ padding:0 20px; }
body.dep-doc-page .entry-content > .wp-block-group.dep-doc-foot{ padding:24px 20px 0; }
@media (min-width:900px){
  body.dep-doc-page .entry-content > .wp-block-group.dep-doc-body{ padding:0; }
  body.dep-doc-page .entry-content > .wp-block-group.dep-doc-foot{ padding:24px 0 0; }
}

/* アンカー着地がヘッダーに隠れないように（#content の padding-top:74px ＋ 余白） */
body.dep-doc-page .entry-content :is(h1,h2,h3){ scroll-margin-top:90px; }

/* ============================================================
   1. ページヘッダー（.dep-doc-hero）＝ アクセント帯・全幅
   ============================================================ */
body.dep-doc-page .dep-doc-hero{
  background:var(--_band);
  padding:clamp(30px,4.4vw,46px) 20px clamp(32px,4.6vw,48px);
  margin-bottom:clamp(26px,3.4vw,38px);
  /* 全幅ブレイクアウト（4宣言セット・ledger の鉄則） */
  max-width:none !important; width:100vw !important;
  margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
  box-sizing:border-box;
}
body.dep-doc-page .dep-doc-hero__eyebrow{
  display:flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--_font-jp); font-size:13px; font-weight:600; letter-spacing:.12em;
  color:var(--_primary); margin:0 0 10px; text-align:center;
}
body.dep-doc-page .dep-doc-hero__eyebrow::before{
  content:""; width:3px; height:15px; background:var(--_accent);
  border-radius:2px; display:inline-block; flex:0 0 auto;
}
body.dep-doc-page .dep-doc-hero h1{
  font-family:var(--_font-jp); font-weight:700; color:var(--_band-ttl);
  font-size:clamp(22px,3.4vw,31px); line-height:1.45; text-align:center;
  margin:0; max-width:860px; margin-inline:auto; letter-spacing:.01em;
}
/* 原稿の様式表記（例「第4号様式」「商号 株式会社ディパーチャーズ」）＝小さく残す */
body.dep-doc-page .dep-doc-hero__form{
  font-family:var(--_font-jp); font-size:12.5px; line-height:1.8; color:#5a6b7a;
  text-align:center; margin:12px 0 0;
}

/* ============================================================
   2. PDFダウンロードボタン（.dep-doc-dl）
      ※ ACF `dep_doc_pdf` が空なら [dep_doc_pdf] は何も出力しない
        （＝この要素ごと存在しないので余白も残らない）
   ============================================================ */
body.dep-doc-page .dep-doc-dl{
  text-align:center; margin:0 0 clamp(24px,3vw,34px);
}
body.dep-doc-page .dep-doc-dl__btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  background:var(--_accent) !important; color:#fff !important;
  font-family:var(--_font-jp); font-weight:600; font-size:15px; line-height:1.5;
  padding:11px 28px !important; border-radius:999px !important;
  border:1px solid var(--_accent) !important; text-decoration:none !important;
  box-shadow:none !important;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
body.dep-doc-page .dep-doc-dl__btn:hover{
  background:#fff !important; color:var(--_accent) !important; border-color:var(--_accent) !important;
}
body.dep-doc-page .dep-doc-dl__meta{ font-size:13px; font-weight:500; }

/* ============================================================
   3. 目次（.dep-doc-toc / details）
      SP では JS（dep-documents.js）が open を外す。JS 無効でも開いたままで実害なし。
   ============================================================ */
body.dep-doc-page .dep-doc-toc{
  background:#fff; border:1px solid var(--_line); border-radius:10px;
  margin:0 0 clamp(28px,3.6vw,40px); overflow:hidden;
}
body.dep-doc-page .dep-doc-toc__sum{
  list-style:none; cursor:pointer; padding:15px 20px;
  font-family:var(--_font-jp); font-size:15.5px; font-weight:700; color:var(--_text);
  display:flex; align-items:center; gap:10px;
}
body.dep-doc-page .dep-doc-toc__sum::-webkit-details-marker{ display:none; }
body.dep-doc-page .dep-doc-toc__sum::before{
  content:""; width:3px; height:15px; background:var(--_accent);
  border-radius:2px; flex:0 0 auto;
}
body.dep-doc-page .dep-doc-toc__sum::after{
  content:""; margin-left:auto; width:9px; height:9px; flex:0 0 auto;
  border-right:2px solid var(--_primary); border-bottom:2px solid var(--_primary);
  transform:rotate(45deg) translateY(-2px); transition:transform .25s ease;
}
body.dep-doc-page .dep-doc-toc[open] .dep-doc-toc__sum::after{
  transform:rotate(-135deg) translateY(-2px);
}
body.dep-doc-page .dep-doc-toc nav{ padding:0 20px 18px; border-top:1px solid var(--_line); }
body.dep-doc-page .dep-doc-toc__list{
  list-style:none; margin:14px 0 0 !important; padding:0 !important;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 24px;
}
body.dep-doc-page .dep-doc-toc__list li{ margin:0; line-height:1.7; }
/* 章・別表の行（約款）＝ぶら下がる条の見出しなので少し強調して区切る */
body.dep-doc-page .dep-doc-toc__list li.is-chapter{ margin-top:8px; }
body.dep-doc-page .dep-doc-toc__list li.is-chapter:first-child{ margin-top:0; }
body.dep-doc-page .dep-doc-toc__list li.is-chapter a{ font-weight:700; color:var(--_primary) !important; }
body.dep-doc-page .dep-doc-toc__list a{
  color:var(--_text) !important; text-decoration:none !important;
  font-family:var(--_font-jp); font-size:14px;
  display:inline-block; padding:3px 0; border-bottom:1px solid transparent;
}
body.dep-doc-page .dep-doc-toc__list a:hover{
  color:var(--_primary) !important; border-bottom-color:var(--_primary);
}

/* ============================================================
   4. 本文（.dep-doc-body）
      ※ 親クラスを噛ませて Astra `.entry-content p{margin:0}`（0,2,1）に勝つ
   ============================================================ */
body.dep-doc-page .dep-doc-body{ margin:0; }

body.dep-doc-page .dep-doc-body p{
  font-family:var(--_font-jp); color:var(--_text);
  font-size:16px; line-height:1.9; margin:0 0 1em; text-align:left;
}
/* 冒頭リード（「本旅行条件書は…契約書面の一部となります。」等） */
body.dep-doc-page .dep-doc-body .dep-doc-lead{
  font-size:15px; line-height:1.95; color:var(--_muted);
  padding:14px 18px; background:#fff; border:1px solid var(--_line);
  border-left:3px solid var(--_primary); border-radius:6px;
  margin:0 0 1.8em;
}
/* 原稿の右寄せ署名（協会名・社名） */
body.dep-doc-page .dep-doc-body .dep-doc-sign{
  text-align:right; font-size:14.5px; color:var(--_muted); margin:0 0 .4em; line-height:1.8;
}
body.dep-doc-page .dep-doc-body .dep-doc-sign + .dep-doc-sign{ margin-bottom:1.8em; }

/* 項番号（①・(1)・一 等）付き段落のインデント表現。
   ★番号自体は原文のまま本文に残し、<ol> の自動採番には置き換えない（採番ズレ防止）。 */
body.dep-doc-page .dep-doc-body .dep-doc-ind{ padding-left:1.6em; }
body.dep-doc-page .dep-doc-body .dep-doc-ind2{ padding-left:3.2em; }

/* 見出し */
body.dep-doc-page .dep-doc-body h2,
body.dep-doc-page .entry-content h2.dep-doc-h2{
  font-family:var(--_font-jp); font-weight:700; color:var(--_text);
  font-size:19px; line-height:1.5; margin:2.4em 0 .7em;
  padding:10px 0 10px 14px; border-left:4px solid var(--_primary);
  background:linear-gradient(90deg,#eaf5fb 0%,rgba(234,245,251,0) 60%);
}
body.dep-doc-page .dep-doc-body h2:first-child{ margin-top:0; }
body.dep-doc-page .dep-doc-body h3{
  font-family:var(--_font-jp); font-weight:700; color:var(--_primary);
  font-size:16.5px; line-height:1.55; margin:1.6em 0 .5em;
}

/* リスト（（注）1.2.3… 等はリスト化してよい＝体裁のみ） */
body.dep-doc-page .dep-doc-body ul,
body.dep-doc-page .dep-doc-body ol{ margin:0 0 1.4em; padding-left:1.5em; }
body.dep-doc-page .dep-doc-body li{
  font-family:var(--_font-jp); font-size:15.5px; line-height:1.9; margin:.3em 0; color:var(--_text);
}
body.dep-doc-page .dep-doc-body a{ color:var(--_primary); text-decoration:underline; }

/* （注）・備考ブロック */
body.dep-doc-page .dep-doc-body .dep-doc-note{
  background:#fff; border:1px solid var(--_line); border-radius:8px;
  padding:16px 20px; margin:1.2em 0 1.8em;
}
body.dep-doc-page .dep-doc-body .dep-doc-note h3{ margin-top:0; font-size:15px; }
body.dep-doc-page .dep-doc-body .dep-doc-note p,
body.dep-doc-page .dep-doc-body .dep-doc-note li{ font-size:14.5px; line-height:1.85; color:#4a4a4a; }
body.dep-doc-page .dep-doc-body .dep-doc-note :last-child{ margin-bottom:0; }

/* ============================================================
   5. 表（.dep-doc-table ／ 料金表 .dep-doc-table--fee）
      ★ rowspan/colspan は使わない（Gutenberg テーブルブロックが結合セルを保持できず、
        クライアントが編集した瞬間に崩れるため）。Word の結合セルは
        「区分を H3 に昇格 → 配下を『内容／料金』2列表に分解」で解消する。
      ★ SP の縦持ち化は CSS のみ（data-label はブロック保存時に剥がれるため使用禁止）。
   ============================================================ */
/* 万一表が容器より広くなっても #content{overflow-x:clip} で切り落とされないよう、
   表そのものを横スクロールの受け皿にする（通常は発生しない＝スクロールバーも出ない）。 */
body.dep-doc-page .dep-doc-table{ margin:0 0 1.8em; overflow-x:auto; }
body.dep-doc-page .dep-doc-table table{
  width:100%; border-collapse:collapse; background:#fff;
  font-family:var(--_font-jp); font-size:15px; line-height:1.75; color:var(--_text);
  border:1px solid var(--_line) !important;
}
body.dep-doc-page .dep-doc-table th,
body.dep-doc-page .dep-doc-table td{
  border:1px solid var(--_line) !important;
  padding:11px 14px !important; text-align:left; vertical-align:top;
  background:transparent;
}
body.dep-doc-page .dep-doc-table th{
  background:#eaf5fb !important; font-weight:700; color:var(--_band-ttl);
}
body.dep-doc-page .dep-doc-table figcaption{
  font-size:13.5px; color:var(--_muted); margin-top:8px; line-height:1.8;
}
/* 料金表：列幅は 左60% / 右40% の固定。左寄せ。
   ★ table-layout:fixed ＋ th と td の両方に width を指定する。
     原稿由来の表は「見出し行あり」と「見出し行なし」が混在しており、
     th だけに width を書くと見出しなしの表だけ自動幅になって列比率が揃わない。
   ★ nowrap は付けない。この列は「2,200円」だけでなく
     「宿泊機関1件1手配につき費用の20％以内(下限2,200円)(但し…)」のような長文も入るため、
     nowrap にすると列が最長行の幅まで広がり、1列目が1文字幅に潰れて表が容器から溢れる。 */
body.dep-doc-page .dep-doc-table--fee table{ table-layout:fixed; }
body.dep-doc-page .dep-doc-table--fee th:nth-of-type(1),
body.dep-doc-page .dep-doc-table--fee td:nth-of-type(1){ width:60%; }
body.dep-doc-page .dep-doc-table--fee th:nth-of-type(2),
body.dep-doc-page .dep-doc-table--fee td:nth-of-type(2){ width:40%; text-align:left; }
/* 3列の表が出た場合のみ使用（区分／内容／料金） */
body.dep-doc-page .dep-doc-table--fee3 table{ table-layout:fixed; }
body.dep-doc-page .dep-doc-table--fee3 th:nth-of-type(3),
body.dep-doc-page .dep-doc-table--fee3 td:nth-of-type(3){ text-align:left; }

/* --- 約款の別表 ---
   ★ --fee と同じ方針：table-layout:fixed ＋ th と td の両方に width ＋ 左寄せ。
     見出し行あり／なしが混在しても、同じ種類の表なら列比率が必ずそろう。 */

/* 別表第一 取消料（区分／取消料の2列）＝ 70:30
   右列は「旅行代金の２０％以内」が大半で短いため、40%だと余白が目立つ。
   ★「当該船舶に係る取消料の規定によります。」のような文も入るため nowrap を付けない。 */
body.dep-doc-page .dep-doc-table--rate table{ table-layout:fixed; }
body.dep-doc-page .dep-doc-table--rate th:nth-of-type(1),
body.dep-doc-page .dep-doc-table--rate td:nth-of-type(1){ width:70%; }
body.dep-doc-page .dep-doc-table--rate th:nth-of-type(2),
body.dep-doc-page .dep-doc-table--rate td:nth-of-type(2){ width:30%; text-align:left; }

/* 別表第二 変更補償金（変更／旅行開始前／旅行開始後の3列）＝ 68:16:16
   2・3列目は「1.5」等の数値のみ。見出し「旅行開始前」が折り返さない幅を確保する。 */
body.dep-doc-page .dep-doc-table--rate3 table{ table-layout:fixed; }
body.dep-doc-page .dep-doc-table--rate3 th:nth-of-type(1),
body.dep-doc-page .dep-doc-table--rate3 td:nth-of-type(1){ width:68%; }
body.dep-doc-page .dep-doc-table--rate3 th:nth-of-type(2),
body.dep-doc-page .dep-doc-table--rate3 td:nth-of-type(2),
body.dep-doc-page .dep-doc-table--rate3 th:nth-of-type(3),
body.dep-doc-page .dep-doc-table--rate3 td:nth-of-type(3){ width:16%; text-align:left; white-space:nowrap; }

/* 特別補償規程 別表第二（後遺障害／支払割合）＝ 78:22・原稿に列見出しが無い表 */
body.dep-doc-page .dep-doc-table--plain2 table{ table-layout:fixed; }
body.dep-doc-page .dep-doc-table--plain2 th:nth-of-type(1),
body.dep-doc-page .dep-doc-table--plain2 td:nth-of-type(1){ width:78%; }
body.dep-doc-page .dep-doc-table--plain2 th:nth-of-type(2),
body.dep-doc-page .dep-doc-table--plain2 td:nth-of-type(2){ width:22%; text-align:left; white-space:nowrap; }
/* 記載事項表（旅行業登録票の「項目／内容」2列）
   ★金額表ではないので --fee は使わない（--fee は2列目を右寄せ＋nowrap にし、
     SPでは ::before に「料金」ラベルを出してしまうため）。 */
body.dep-doc-page .dep-doc-table--spec th:nth-of-type(1){ width:34%; }
body.dep-doc-page .dep-doc-table--spec td:nth-of-type(1){ font-weight:600; }

/* 表に添える区分ラベル（Wordの結合セル＝全幅行を見出しに落とさず段落として残したもの）と、
   表の直後の「備考」「注」。原文の文言をそのまま保持するための受け皿。 */
body.dep-doc-page .dep-doc-body .dep-doc-tablelabel{
  font-weight:700; font-size:15.5px; color:var(--_band-ttl);
  margin:1.6em 0 .5em; padding-left:11px; border-left:3px solid var(--_primary);
}
/* 区分と内容が結合されていた行（例「添乗サービス料金…」）＝H3の直下に金額だけを置く */
/* 単独の料金ボックス（表にならない1行の料金）。
   見た目は「1行だけの表」なので、文字組みは .dep-doc-table のセルに揃える
   （15px / 1.75 / 左寄せ / 太字にしない）。 */
body.dep-doc-page .dep-doc-body .dep-doc-price{
  background:#fff; border:1px solid var(--_line); border-radius:8px;
  padding:11px 14px; margin:0 0 1.8em; text-align:left;
  font-size:15px; line-height:1.75; font-weight:400;
}
body.dep-doc-page .dep-doc-body .dep-doc-tablenote{
  font-size:14px; line-height:1.85; color:var(--_muted); margin:-.6em 0 1.8em;
}

/* ============================================================
   5-2. 書類の画像（[dep_doc_image] の出力 ／ 登録票の写し等）
        ACF が空なら figure ごと出力されないため、余白も残らない。
   ============================================================ */
body.dep-doc-page .dep-doc-body .dep-doc-fig{
  max-width:860px; margin:0 auto 1.8em !important; padding:0 !important;
  border:1px solid var(--_line); border-radius:4px; overflow:hidden; background:#fff;
}
body.dep-doc-page .dep-doc-body .dep-doc-fig img{
  width:100%; height:auto; display:block;
}

/* ============================================================
   6. 一覧へ戻る（.dep-doc-back ＝ トップSERVICE型「詳しく見る →」）
   ============================================================ */
body.dep-doc-page .dep-doc-foot{
  margin-top:clamp(34px,4.4vw,52px); padding-top:24px; border-top:1px solid var(--_line);
  text-align:center;
}
body.dep-doc-page .dep-doc-foot .dep-doc-dl{ margin-bottom:18px; }
body.dep-doc-page .dep-doc-back{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--_font-jp); font-weight:700; font-size:15px; line-height:1.6;
  color:var(--_primary) !important; text-decoration:none !important;
}
body.dep-doc-page .dep-doc-back__ar{ transition:transform .15s ease; display:inline-block; }
body.dep-doc-page .dep-doc-back:hover{ color:var(--dep-primary-light,#00AAE8) !important; }
body.dep-doc-page .dep-doc-back:hover .dep-doc-back__ar{ transform:translateX(4px); }

/* ============================================================
   7. 一覧ページ（.dep-doc-index ／ [dep_documents_list] の出力）
   ============================================================ */
body.dep-doc-page .dep-doc-index__group{ margin:0 0 clamp(32px,4vw,46px); }
body.dep-doc-page .dep-doc-index__ttl{
  font-family:var(--_font-jp); font-weight:700; color:var(--_text);
  font-size:19px; line-height:1.5; margin:0 0 16px;
  padding:10px 0 10px 14px; border-left:4px solid var(--_primary);
  background:linear-gradient(90deg,#eaf5fb 0%,rgba(234,245,251,0) 60%);
}
body.dep-doc-page .dep-doc-index__list{
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;
}
body.dep-doc-page .dep-doc-index__list > li{ margin:0; }
body.dep-doc-page .dep-doc-card{
  height:100%; box-sizing:border-box;
  background:#fff; border:1px solid var(--_line); border-radius:10px;
  padding:18px 20px; display:flex; flex-direction:column; gap:9px;
  transition:border-color .2s ease, box-shadow .2s ease;
}
body.dep-doc-page .dep-doc-card:hover{
  border-color:var(--_primary); box-shadow:0 6px 18px rgba(0,24,48,.07);
}
body.dep-doc-page .dep-doc-card__ttl{
  font-family:var(--_font-jp); font-size:16px; font-weight:700; line-height:1.6; margin:0;
}
body.dep-doc-page .dep-doc-card__ttl a{ color:var(--_text) !important; text-decoration:none !important; }
body.dep-doc-page .dep-doc-card:hover .dep-doc-card__ttl a{ color:var(--_primary) !important; }
body.dep-doc-page .dep-doc-card__lead{
  font-family:var(--_font-jp); font-size:14px; line-height:1.85; color:var(--_muted); margin:0;
}
/* ボタン列：左「表示する」＋右「PDF」（PDFはACF登録時のみ）。折り返しても崩れないよう flex */
body.dep-doc-page .dep-doc-card__dl{
  margin-top:auto; padding-top:4px;
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
}
/* 「表示する」＝主導線（accent塗り。ヘッダー「お問い合わせ」と同じ考え方の小型版） */
body.dep-doc-page .dep-doc-card__view{
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--_font-jp); font-size:13px; font-weight:600; line-height:1.4;
  color:#fff !important; text-decoration:none !important;
  background:var(--_accent) !important; border:1px solid var(--_accent) !important;
  border-radius:999px !important; padding:6px 18px !important; box-shadow:none !important;
  transition:background .2s ease,color .2s ease;
}
body.dep-doc-page .dep-doc-card__view:hover{
  background:#fff !important; color:var(--_accent) !important;
}
body.dep-doc-page .dep-doc-card__pdf{
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--_font-jp); font-size:13px; font-weight:600; line-height:1.4;
  color:var(--_accent) !important; text-decoration:none !important;
  border:1px solid var(--_accent) !important; border-radius:999px !important;
  padding:6px 16px !important; background:#fff !important; box-shadow:none !important;
  transition:background .2s ease,color .2s ease;
}
body.dep-doc-page .dep-doc-card__pdf:hover{
  background:var(--_accent) !important; color:#fff !important;
}
/* 一覧ページの eyebrow は英字ラベル（DOCUMENTS）＝欧文フォント・字間広め */
body.dep-doc-page.dep-doc-index .dep-doc-hero__eyebrow{
  font-family:var(--_font-en); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
}
/* 一覧ページのリード */
body.dep-doc-page.dep-doc-index .entry-content .dep-doc-index__lead{
  font-family:var(--_font-jp); font-size:15.5px; line-height:2; color:var(--_muted);
  margin:0 0 clamp(28px,3.4vw,40px);
}

/* ============================================================
   8. レスポンシブ（SP＝781px以下／Gutenberg のブレイクポイントに合わせる）
   ============================================================ */
@media (max-width:781px){
  body.dep-doc-page .entry-content{ max-width:100%; }
  body.dep-doc-page .dep-doc-hero h1{ font-size:21px; }
  body.dep-doc-page .dep-doc-body p{ font-size:15.5px; line-height:1.95; }
  body.dep-doc-page .dep-doc-body h2,
  body.dep-doc-page .entry-content h2.dep-doc-h2{ font-size:17px; }
  body.dep-doc-page .dep-doc-body h3{ font-size:15.5px; }
  body.dep-doc-page .dep-doc-toc__list{ grid-template-columns:1fr; }
  body.dep-doc-page .dep-doc-index__list{ grid-template-columns:1fr; }

  /* 表：横スクロールさせず、セルを縦積み（列見出しは ::before で補う） */
  body.dep-doc-page .dep-doc-table table,
  body.dep-doc-page .dep-doc-table tbody,
  body.dep-doc-page .dep-doc-table tr,
  body.dep-doc-page .dep-doc-table td{ display:block; width:100% !important; box-sizing:border-box; }
  body.dep-doc-page .dep-doc-table thead{ display:none; }
  body.dep-doc-page .dep-doc-table tr{
    border:1px solid var(--_line); border-radius:8px; overflow:hidden;
    margin-bottom:12px; background:#fff;
  }
  body.dep-doc-page .dep-doc-table td{
    border:0 !important; border-bottom:1px solid var(--_line) !important;
    padding:10px 14px !important;
  }
  body.dep-doc-page .dep-doc-table tr td:last-child{ border-bottom:0 !important; }

  /* 料金表（内容／料金の2列に統一済み）＝列見出しを固定文字列で補う */
  body.dep-doc-page .dep-doc-table--fee td::before{
    display:block; font-size:11.5px; font-weight:700; letter-spacing:.06em;
    color:var(--_primary); margin-bottom:3px;
  }
  body.dep-doc-page .dep-doc-table--fee td:nth-of-type(1)::before{ content:"内容"; }
  body.dep-doc-page .dep-doc-table--fee td:nth-of-type(2)::before{ content:"料金"; }
  body.dep-doc-page .dep-doc-table--fee td:nth-of-type(2){ text-align:left; white-space:normal; }
  /* 3列版（区分／内容／料金） */
  body.dep-doc-page .dep-doc-table--fee3 td:nth-of-type(1)::before{ content:"区分"; }
  body.dep-doc-page .dep-doc-table--fee3 td:nth-of-type(2)::before{ content:"内容"; }
  body.dep-doc-page .dep-doc-table--fee3 td:nth-of-type(3)::before{ content:"料金"; }
  body.dep-doc-page .dep-doc-table--fee3 td:nth-of-type(3){ text-align:left; white-space:normal; }

  /* 別表第一 取消料（区分／取消料） */
  body.dep-doc-page .dep-doc-table--rate td::before{
    display:block; font-size:11.5px; font-weight:700; letter-spacing:.06em;
    color:var(--_primary); margin-bottom:3px;
  }
  body.dep-doc-page .dep-doc-table--rate td:nth-of-type(1)::before{ content:"区分"; }
  body.dep-doc-page .dep-doc-table--rate td:nth-of-type(2)::before{ content:"取消料"; }
  body.dep-doc-page .dep-doc-table--rate td:nth-of-type(2){ text-align:left; white-space:normal; width:auto; }

  /* 別表第二 変更補償金（変更／旅行開始前／旅行開始後） */
  body.dep-doc-page .dep-doc-table--rate3 td::before{
    display:block; font-size:11.5px; font-weight:700; letter-spacing:.06em;
    color:var(--_primary); margin-bottom:3px;
  }
  body.dep-doc-page .dep-doc-table--rate3 td:nth-of-type(2)::before{ content:"旅行開始前"; }
  body.dep-doc-page .dep-doc-table--rate3 td:nth-of-type(3)::before{ content:"旅行開始後"; }
  body.dep-doc-page .dep-doc-table--rate3 td:nth-of-type(2),
  body.dep-doc-page .dep-doc-table--rate3 td:nth-of-type(3){ text-align:left; white-space:normal; width:auto; }

  /* 列見出しの無い表（特別補償規程 別表第二）は ::before ラベルを付けずに縦積みだけ行う
     （原稿に無い列名を作らないため）。割合は右寄せのまま。 */
  body.dep-doc-page .dep-doc-table--plain2 td:nth-of-type(2){ width:auto; }

  /* 記載事項表：1列目（項目名）をそのまま見出し帯として使う（架空の列名を作らない） */
  body.dep-doc-page .dep-doc-table--spec td:nth-of-type(1){
    background:#eaf5fb; color:var(--_band-ttl); font-weight:700;
  }
  body.dep-doc-page .dep-doc-table--spec td:nth-of-type(2):empty{ min-height:1.75em; }
}
