/* ============================================================
   page-sitemap.css
   sitemap.html（サイトマップ）専用スタイル
   前提: style.css → common-sub.css → このファイル の順に読み込むこと
   ============================================================ */

.sm-list{max-width:1100px;margin:0 auto;border-top:1px solid var(--pt-line);}

/* 1カテゴリ＝1行：左にカテゴリ名、右にページ一覧 */
.sm-row{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:32px;
  padding:32px 0;
  border-bottom:1px solid var(--pt-line);
}
.sm-ttl{margin:0;font-size:19px;font-weight:700;line-height:1.5;color:var(--pt-ink);}
.sm-ttl a{color:inherit;text-decoration:none;}
.sm-ttl a:hover{color:var(--pt-accent);}
.sm-ttl .en{
  display:block;
  margin-bottom:6px;
  font-family:"Oswald",sans-serif;
  font-size:12px;
  font-weight:400;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--pt-orange);
}
.sm-ttl small{display:block;margin-top:2px;font-size:13px;font-weight:400;color:#888;}
.sm-body:empty{display:none;}

/* ページへのリンク一覧（3列） */
.sm-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px 28px;
}
.sm-links--1{grid-template-columns:1fr;gap:8px;}
.sm-links li{position:relative;padding-left:16px;font-size:15px;line-height:1.6;}
.sm-links li::before{
  content:'';
  position:absolute;
  left:0;
  top:.62em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--pt-accent);
}
.sm-links a{color:#444;text-decoration:none;transition:color .2s;}
.sm-links a:hover{color:var(--pt-accent);text-decoration:underline;}
/* 新サイトのページがまだ無い項目（リンクなし） */
.sm-links span{color:#aaa;}
.sm-links li:has(> span)::before{background:#ccc;}

/* 介護事業：サービス／営業所ごとの小見出し */
.sm-subttl{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--pt-accent-dark);}
.sm-subttl a{color:inherit;text-decoration:none;}
.sm-subttl a:hover{color:var(--pt-accent);text-decoration:underline;}
.sm-groups{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:28px;
  padding-top:24px;
  border-top:1px dashed var(--pt-line);
}

@media(max-width:860px){
  .sm-row{grid-template-columns:1fr;gap:18px;padding:26px 0;}
  .sm-links,.sm-groups{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:520px){
  .sm-links,.sm-groups{grid-template-columns:1fr;}
}
