/* =========================================================
   sema-theme page-about-service.css（「女性用風俗を知る」固有）
   静かな解説記事／小さな入門書。長文を自然に読み進められることを最優先。
   全章を同一構造（見出し／短い罫線／本文／CTA／章間の極細罫線）に統一し、
   単一の縦軸で上から下へ読める中央寄せ1カラム。左右分割・幅変化・大きな面はしない。
   共通土台（page.css）を継承。全クラス sema- プレフィックス。
   ========================================================= */

/* =========================================================
   導入領域（維持）：アイボリー＋ずらした極細罫線＋短い深緑線
   ========================================================= */
.sema-as-hero{
  position:relative; overflow:hidden; background:var(--sema-ivory);
  border-bottom:1px solid var(--sema-line);
  padding:clamp(56px,9vw,112px) 0 clamp(30px,4vw,48px);
}
.sema-as-hero__inner{ position:relative; }
.sema-as-hero__marks{ position:relative; height:0; margin-bottom:1.6em; }
.sema-as-hero__marks span{ display:block; height:1px; background:var(--sema-line-strong); }
.sema-as-hero__marks span:nth-child(1){ width:64px; }
.sema-as-hero__marks span:nth-child(2){ width:34px; margin:7px 0 0 14px; }
.sema-as-hero__marks span:nth-child(3){ width:26px; margin:7px 0 0 0; background:var(--sema-sage); }
.sema-as-hero__title{
  font-family:var(--sema-serif); font-weight:700;
  font-size:clamp(1.7rem, 3.1vw, 2.3rem); line-height:1.42; letter-spacing:.09em;
  margin:0; color:var(--sema-ink); text-wrap:balance;
}

/* =========================================================
   本文：中央寄せ1カラムの読み物（760〜860px相当）
   ========================================================= */
.sema-as-body{ max-width:52rem; margin-inline:auto; }

/* 導入リード（本文冒頭）→ 本文との明確な区切り */
.sema-as-body .sema-as-lead{
  padding-bottom:clamp(28px,4vw,44px);
  border-bottom:1px solid var(--sema-line);
  margin:0 0 clamp(36px,5vw,56px);
}
.sema-as-body .sema-as-lead p{
  font-family:var(--sema-serif); font-size:1.14rem; line-height:2.05;
  color:var(--sema-ink); margin:0; max-width:36em;
}

/* --- 章：全章同一構造（開始位置・幅・余白・見出し・CTAを統一） --- */
.sema-as-body .sema-as-section{ margin:0; }
.sema-as-body .sema-as-section + .sema-as-section{
  margin-top:clamp(40px,5vw,60px);
  padding-top:clamp(40px,5vw,60px);
  border-top:1px solid var(--sema-line);           /* 章間の極細罫線 */
}
.sema-as-body .sema-as-section__title{
  font-family:var(--sema-serif); font-weight:600;
  font-size:clamp(1.38rem, 2.6vw, 1.72rem); line-height:1.5; letter-spacing:.06em;
  color:var(--sema-ink); margin:0 0 .9em; padding-bottom:.5em; position:relative;
}
.sema-as-body .sema-as-section__title::after{         /* 見出し下の短いブロンズ罫線 */
  content:""; position:absolute; left:0; bottom:0; width:40px; height:1px; background:var(--sema-bronze);
}
.sema-as-body .sema-as-section__body p{ margin:0 0 1.2em; color:var(--sema-ink); }
.sema-as-body .sema-as-section__body > :last-child{ margin-bottom:0; }

/* CTA：全章で同じ静かな矢印リンク（同じ位置・同じ余白） */
.sema-as-body .sema-as-section__link{ margin:1.1em 0 0; }
.sema-as-body .sema-as-section__link a,
.sema-as-body .sema-as-next__list a{
  display:inline-flex; align-items:center; gap:.45em;
  font-family:var(--sema-sans); font-size:.9rem; letter-spacing:.06em;
  color:var(--sema-sage-deep); text-decoration:none;
}
.sema-as-body .sema-as-section__link a::after,
.sema-as-body .sema-as-next__list a::after{ content:"→"; color:var(--sema-bronze); transition:margin .25s var(--sema-ease); }
.sema-as-body .sema-as-section__link a:hover,
.sema-as-body .sema-as-next__list a:hover{ color:var(--sema-bronze); text-decoration:underline; text-underline-offset:3px; }
.sema-as-body .sema-as-section__link a:hover::after,
.sema-as-body .sema-as-next__list a:hover::after{ margin-left:.3em; }

/* =========================================================
   末尾「次に読むページ」：同じ縦軸・控えめな索引（余韻）
   ========================================================= */
.sema-as-body .sema-as-next{
  margin:clamp(48px,6vw,80px) 0 0; padding-top:clamp(30px,4vw,44px);
  border-top:1px solid var(--sema-line);
}
.sema-as-body .sema-as-next__title{
  font-family:var(--sema-serif); font-weight:600; font-size:1.16rem; letter-spacing:.06em;
  color:var(--sema-ink); margin:0 0 .7em;
}
.sema-as-body .sema-as-next p{ color:var(--sema-ink-soft); font-size:.96rem; margin:0 0 1.1em; }
.sema-as-body .sema-as-next__list{ list-style:none; margin:0; padding:0; }
.sema-as-body .sema-as-next__list li{ border-top:1px solid var(--sema-line); }
.sema-as-body .sema-as-next__list li:last-child{ border-bottom:1px solid var(--sema-line); }
.sema-as-body .sema-as-next__list a{ padding:.85em 2px; }

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