:root{
  --teal:#2E7F74; --teal-deep:#215B53; --teal-soft:#E3EEEB;
  --ink:#20241F; --soft:#5B6158; --paper:#FAFAF7; --line:#E1E1D8; --white:#fff;
  --warn:#96700F; --warn-soft:#FBF2DC;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium",Meiryo,sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.95;font-size:15.5px;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--teal-deep);text-decoration:underline}
.wrap{max-width:760px;margin:0 auto;padding:0 24px}

header.site{background:var(--white);border-bottom:1px solid var(--line);padding:18px 0}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{font-weight:700;font-size:15px;letter-spacing:.03em;text-decoration:none;color:var(--ink)}
.brand small{display:block;font-size:9.5px;color:var(--soft);letter-spacing:.16em;font-weight:600}
.backlink{font-size:13px}

main{padding:52px 0 80px}
h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(22px,3.4vw,30px);font-weight:600;line-height:1.5;margin-bottom:10px}
.lead{color:var(--soft);font-size:13.5px;margin-bottom:8px}
.rev{color:var(--soft);font-size:12.5px;border-bottom:2px solid var(--ink);padding-bottom:18px;margin-bottom:34px}

h2{font-size:17px;margin:38px 0 12px;padding-bottom:7px;border-bottom:1.5px solid var(--teal);color:var(--teal-deep)}
h3{font-size:15px;margin:24px 0 8px}
p{margin-bottom:12px}
ol,ul{margin:0 0 14px 1.5em}
li{margin-bottom:7px}
ol.num{counter-reset:item;list-style:none;margin-left:0}
ol.num>li{counter-increment:item;position:relative;padding-left:2.1em;margin-bottom:10px}
ol.num>li::before{content:counter(item)".";position:absolute;left:0;font-weight:700;color:var(--teal)}
ol.paren{list-style:none;margin-left:1.2em}
ol.paren>li{counter-increment:sub;position:relative;padding-left:2.6em}
ol.paren{counter-reset:sub}
ol.paren>li::before{content:"("counter(sub)")";position:absolute;left:0;color:var(--soft);font-size:13.5px}

table{border-collapse:collapse;width:100%;margin:14px 0 20px;background:var(--white)}
th,td{border:1px solid var(--line);padding:11px 14px;font-size:14px;text-align:left;vertical-align:top;line-height:1.75}
th{background:var(--teal-soft);width:32%;font-weight:600}
@media(max-width:560px){th,td{display:block;width:100%}th{border-bottom:none}}

.note{background:var(--warn-soft);border-left:4px solid var(--warn);padding:14px 18px;font-size:14px;margin:18px 0;border-radius:0 8px 8px 0}
.note b{color:var(--warn)}
.emph{background:var(--teal-soft);border-left:4px solid var(--teal);padding:14px 18px;font-size:14px;margin:18px 0;border-radius:0 8px 8px 0}

footer.site{border-top:1px solid var(--line);padding:26px 0 40px;font-size:12.5px;color:var(--soft)}
footer.site .wrap{display:flex;gap:10px 22px;flex-wrap:wrap;justify-content:space-between}
footer.site nav a{margin-right:16px}
