:root{
  --bg:#f7f5ef; --surface:#ffffff; --text:#2b2a26; --muted:#6b675d;
  --accent:#2f7a4f; --accent-soft:#e6f1ea; --border:#e2ddd0; --link:#1f6a9a;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#1b1c1a; --surface:#242623; --text:#e8e6df; --muted:#a6a297;
    --accent:#7cc79a; --accent-soft:#2a3a30; --border:#3a3c37; --link:#7fbfe8;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic UI","Meiryo",sans-serif;
  font-size:16px;line-height:1.85;letter-spacing:.02em;
}
a{color:var(--link);overflow-wrap:anywhere}

/* ページ見出し */
h1.title{
  margin:0;padding:14px 16px;background:var(--accent);color:#fff;
  font-size:1.1rem;line-height:1.5;letter-spacing:.05em;text-align:center;
}

/* 本文 */
body>div{max-width:760px;margin:0 auto;padding:28px 16px 64px}
body>div p{margin:0 0 .7em}

/* 前文 */
body>div>p:first-child{
  background:var(--surface);border:1px solid var(--border);border-radius:12px;
  padding:16px 18px;margin:0 0 28px;
}

/* 条見出し */
h4{
  font-size:1.1rem;line-height:1.5;margin:28px 0 10px;padding:6px 0 6px 12px;
  border-left:4px solid var(--accent);
}
body>div>p:first-child+h4{margin-top:0}

/* 項・号 */
body>div>ol{margin:0 0 .7em;padding-left:1.8em}
body>div>ol>li{margin:0 0 .55em;padding-left:.2em}
body>div>ol>li::marker{color:var(--accent);font-weight:700}
li ol.list_parentheses{list-style:none;counter-reset:sub;margin:.5em 0 0;padding-left:.2em}
li ol.list_parentheses>li{counter-increment:sub;position:relative;padding-left:2.4em;margin:0 0 .4em}
li ol.list_parentheses>li::before{content:"（" counter(sub) "）";position:absolute;left:0;color:var(--accent);font-weight:700}

/* 「見出し<br>本文」形式の号は1行目を見出しとして扱う */
li:has(>br)::first-line{font-weight:700}

/* 連絡先・送信情報のブロック */
h4+p:has(>br),
p:has(>a[href^="tel:"]),
p:has(>a[href^="mailto:"]){
  background:var(--surface);border:1px solid var(--border);border-radius:10px;
  padding:12px 16px;margin:0 0 10px;
}

/* 附則 */
body>div>div{margin-top:40px;padding-top:16px;border-top:1px solid var(--border)}
body>div>div>p:first-child{font-size:1.1rem;font-weight:700;line-height:1.5;margin:0 0 10px}
