/* =========================================================
   サイトマップ（固定ページ `sitemap` ／ [dep_sitemap] の出力）
   - dep-base.css に依存（.dep-wrap / .dep-crumb / トークン）
   - すべて body.dep-sitemap-page 配下にスコープ＝他ページと非干渉
   - 意匠は各種書類の一覧（dep-documents.css）に合わせている
     ＝「情報を探しに来た人が見るページ」という性格が同じため
   ========================================================= */

body.dep-sitemap-page{
  --_primary:var(--dep-primary,#0081CC);
  --_accent:var(--dep-accent,#FF750E);
  --_text:var(--dep-text,#323232);
  --_muted:#6f6d66;
  --_line:var(--dep-line,#e6e4da);
  --_band:#daeaf7;
  --_font-jp:"Zen Kaku Gothic Antique","Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
  --_font-en:"Montserrat","Zen Kaku Gothic Antique",sans-serif;
}

/* ---------------------------------------------------------
   1. ページヘッダー（各種書類の .dep-doc-hero と同じ帯）
   ⚠ 全幅ブレイクアウトは4宣言セットで（!important 必須＝台帳の鉄則）
   --------------------------------------------------------- */
body.dep-sitemap-page .dep-sm-hero{
  background:var(--_band);
  padding:clamp(30px,4.4vw,46px) 20px clamp(32px,4.6vw,48px);
  margin-bottom:clamp(26px,3.4vw,38px);
  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-sitemap-page .dep-sm-hero__eyebrow{
  display:flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--_font-en); font-size:12px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--_primary); margin:0 0 10px; text-align:center;
}
body.dep-sitemap-page .dep-sm-hero__eyebrow::before{
  content:""; width:3px; height:15px; background:var(--_accent);
  border-radius:2px; display:inline-block; flex:0 0 auto;
}
body.dep-sitemap-page .dep-sm-hero h1{
  font-family:var(--_font-jp); font-weight:700; color:#1E293B;
  font-size:clamp(22px,3.4vw,31px); line-height:1.45; text-align:center;
  margin:0; letter-spacing:.01em;
}

/* ---------------------------------------------------------
   2. リード
   --------------------------------------------------------- */
body.dep-sitemap-page .dep-sm__lead{
  font-family:var(--_font-jp); font-size:15.5px; line-height:2; color:var(--_muted);
  margin:0 0 clamp(28px,3.4vw,40px);
}

/* ---------------------------------------------------------
   3. 大分類（2カラム／SPは1カラム）
   ⚠ グループの高さがばらつくので、段組みは grid ではなく columns を使う。
     grid だと「日本の名所」だけ極端に背が高くなり、右列に大きな余白ができる。
     columns なら中身が自然に流し込まれて、左右の高さが揃う。
     break-inside:avoid でグループが段をまたいで割れるのを防ぐ。
   --------------------------------------------------------- */
body.dep-sitemap-page .dep-sm{
  columns:2; column-gap:clamp(28px,4vw,56px);
  margin-bottom:clamp(8px,2vw,20px);
}
body.dep-sitemap-page .dep-sm__group{
  break-inside:avoid; -webkit-column-break-inside:avoid; page-break-inside:avoid;
  margin:0 0 clamp(28px,3.4vw,40px);
}

/* 大分類の見出し（各種書類一覧の .dep-doc-index__ttl と同じ意匠） */
body.dep-sitemap-page .dep-sm__ttl{
  font-family:var(--_font-jp); font-weight:700; color:var(--_text);
  font-size:18px; line-height:1.5; margin:0 0 14px;
  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-sitemap-page .dep-sm__ttl a{
  color:inherit; text-decoration:none;
  transition:color .2s ease;
}
body.dep-sitemap-page .dep-sm__ttl a:hover{ color:var(--_primary); }

/* ---------------------------------------------------------
   4. リンクリスト
   ⚠ Astra の .entry-content ul は list-style と余白を持つので打ち消す。
   --------------------------------------------------------- */
body.dep-sitemap-page .dep-sm__list,
body.dep-sitemap-page .dep-sm__sub{
  list-style:none !important; margin:0 !important; padding:0 !important;
}
body.dep-sitemap-page .dep-sm__list > li{
  margin:0 0 2px; padding:0;
}
body.dep-sitemap-page .dep-sm__list > li > a{
  display:inline-flex; align-items:baseline; gap:8px;
  font-family:var(--_font-jp); font-size:15px; font-weight:500;
  color:var(--_text); text-decoration:none; padding:7px 0;
  transition:color .2s ease;
}
body.dep-sitemap-page .dep-sm__list > li > a::before{
  content:""; flex:0 0 auto;
  width:5px; height:5px; border-radius:50%;
  background:var(--_primary); transform:translateY(-3px);
}
body.dep-sitemap-page .dep-sm__list > li > a:hover{ color:var(--_primary); }

/* 入れ子（ツアー詳細・スポット・書類・カテゴリ） */
body.dep-sitemap-page .dep-sm__sub{
  margin:0 0 8px 14px !important;
  padding:4px 0 4px 14px !important;
  border-left:1px solid var(--_line);
}
body.dep-sitemap-page .dep-sm__sub li{ margin:0; }
body.dep-sitemap-page .dep-sm__sub a{
  display:inline-block;
  font-family:var(--_font-jp); font-size:13.5px; line-height:1.7;
  color:var(--_muted); text-decoration:none; padding:4px 0;
  transition:color .2s ease;
}
body.dep-sitemap-page .dep-sm__sub a:hover{ color:var(--_primary); }

/* 補足（公演日など）＝リンクの外に置き、クリック領域を汚さない */
body.dep-sitemap-page .dep-sm__note{
  display:inline-block; margin-left:8px;
  font-family:var(--_font-en); font-size:12px; color:#9a968e; letter-spacing:.02em;
}

/* ---------------------------------------------------------
   5. レスポンシブ（SP＝781px以下＝Gutenbergのブレイクポイントに合わせる）
   --------------------------------------------------------- */
@media (max-width:781px){
  body.dep-sitemap-page .dep-sm{ columns:1; }
  body.dep-sitemap-page .dep-sm-hero h1{ font-size:21px; }
  body.dep-sitemap-page .dep-sm__lead{ font-size:14.5px; }
  body.dep-sitemap-page .dep-sm__ttl{ font-size:16.5px; }
  body.dep-sitemap-page .dep-sm__list > li > a{ font-size:14.5px; }
}
