/* =========================================================
   sema-theme page.css（固定ページ共通の土台）
   共通化するのは「文字サイズ・本文幅・行間・見出し基本・リンク・
   ボタン・罫線・余白・アクセシビリティ・レスポンシブ」に限定。
   ページ固有の配置・見せ方は個別テンプレート／個別CSSで行う。
   すべて sema- プレフィックス。front-page.css には固定ページ用を足さない。
   ========================================================= */

/* ---- 導入領域（共通・最小限：タイトル＋細い罫線） ---- */
.sema-page-hero{ padding:clamp(48px,7vw,84px) 0 0; }
.sema-page-hero__inner{ position:relative; }
.sema-page-title{
  font-family:var(--sema-serif); font-weight:700;
  font-size:clamp(1.7rem, 3.2vw, 2.3rem); line-height:1.4; letter-spacing:.08em;
  margin:0; color:var(--sema-ink); text-wrap:balance;
}
.sema-page-hero__inner::after{
  content:""; display:block; width:40px; height:1px; background:var(--sema-bronze); margin-top:1.1em;
}

/* ---- 本文コンテナ（読みやすい幅・行間） ---- */
.sema-page-body{
  max-width:44rem; margin-inline:auto;
  padding-block:clamp(28px,4vw,48px) clamp(56px,8vw,96px);
}
.sema-page-body > :first-child{ margin-top:0; }

.sema-page-body h2{
  font-family:var(--sema-serif); font-weight:600;
  font-size:clamp(1.28rem, 2.6vw, 1.6rem); line-height:1.5; letter-spacing:.05em;
  margin:2.2em 0 .7em; color:var(--sema-ink);
}
.sema-page-body h3{
  font-family:var(--sema-serif); font-weight:600;
  font-size:1.14rem; line-height:1.6; letter-spacing:.04em;
  margin:1.8em 0 .5em; color:var(--sema-ink);
}
.sema-page-body p{ margin:0 0 1.5em; color:var(--sema-ink); }
.sema-page-body ul,
.sema-page-body ol{ margin:0 0 1.6em; padding-left:1.4em; }
.sema-page-body li{ margin-bottom:.55em; }
.sema-page-body li::marker{ color:var(--sema-bronze); }

/* リンク：色だけに依存しない（下線を付与） */
.sema-page-body a{
  color:var(--sema-sage-deep); text-decoration:underline; text-underline-offset:2px;
  text-decoration-thickness:1px;
}
.sema-page-body a:hover{ color:var(--sema-bronze); }

/* 区切り */
.sema-page-body hr{ border:0; border-top:1px solid var(--sema-line); margin:2.4em 0; }

/* 管理バー表示時の見出しアンカー配慮は base.css の scroll-padding / admin-bar 補正を継承 */

@media (max-width:767px){
  .sema-page-body{ max-width:none; }
}
