@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');
:root{--paper:#F7F7F7;--card:#FFFFFF;--grid:#E5E5E5;--ink:#3C3C3C;--ink-soft:#6b7280;--brass:#1CB0F6;--brass-dark:#1477A8;--ok:#46A302;--ok-bg:#EEF9E4;--warn:#C2334A;--warn-bg:#FDEEEF;--note-bg:#EEF7FF;--hl:#FFF6DA;}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Zen Maru Gothic','Hiragino Maru Gothic ProN','Noto Sans JP',sans-serif;line-height:1.9;-webkit-font-smoothing:antialiased;word-break:normal;overflow-wrap:anywhere;}
a{color:var(--brass-dark);}
header.site{background:#fff;border-bottom:1px solid var(--grid);}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:820px;margin:0 auto;padding:14px 20px;}
.brand{display:inline-block;white-space:nowrap;text-decoration:none;color:var(--ink);font-weight:700;font-size:18px;}
.brand-o{display:inline-flex;width:.62em;height:.62em;border:.1em solid var(--ink);border-radius:50%;position:relative;margin:0 .03em;vertical-align:-.05em;}
.brand-o::after{content:'';position:absolute;top:50%;left:50%;width:.28em;height:.28em;background:var(--brass);border-radius:50%;transform:translate(-50%,-50%);}
.nav-links{display:flex;gap:14px;font-size:13px;}
.nav-links a{text-decoration:none;color:var(--ink-soft);font-weight:700;}
.wrap{max-width:820px;margin:0 auto;padding:24px 20px 60px;}
.crumbs{font-size:12px;color:var(--ink-soft);margin:0 0 14px;}
.crumbs a{color:var(--ink-soft);}
article{background:var(--card);border:1px solid var(--grid);border-radius:20px;padding:30px 30px 34px;}
.tag{display:inline-block;font-size:11.5px;font-weight:700;color:var(--brass-dark);background:var(--note-bg);border-radius:99px;padding:2px 10px;margin:0 6px 8px 0;}
h1{font-size:26px;line-height:1.45;margin:4px 0 10px;}
.lead{font-size:15px;color:var(--ink);margin:0 0 6px;}
.meta{font-size:12px;color:var(--ink-soft);margin:0 0 20px;}
.toc{background:var(--paper);border-radius:14px;padding:14px 18px;margin:18px 0 8px;font-size:13.5px;}
.toc p{font-weight:700;margin:0 0 4px;}
.toc ol{margin:0;padding-left:20px;}
h2{font-size:20px;line-height:1.5;margin:38px 0 12px;padding:0 0 8px;border-bottom:2px solid var(--grid);}
h3{font-size:16.5px;margin:26px 0 8px;}
p{font-size:15px;margin:0 0 14px;}
ul,ol{font-size:15px;margin:0 0 14px;padding-left:22px;}
li{margin:4px 0;}
.point{background:var(--hl);border-radius:14px;padding:14px 18px;margin:16px 0;}
.point .ttl{font-weight:900;font-size:13px;color:#8A6200;margin:0 0 4px;}
.point p:last-child,.point ul:last-child{margin-bottom:0;}
.formula{background:var(--note-bg);border-radius:14px;padding:14px 18px;margin:16px 0;text-align:center;font-weight:700;font-size:17px;}
.formula small{display:block;font-weight:500;font-size:12.5px;color:var(--ink-soft);margin-top:4px;}
.mistake{background:var(--warn-bg);border-radius:14px;padding:14px 18px;margin:16px 0;}
.mistake .ttl{font-weight:900;font-size:13px;color:var(--warn);margin:0 0 4px;}
.mistake p:last-child,.mistake ul:last-child{margin-bottom:0;}
figure{margin:18px auto;text-align:center;}
figure svg{max-width:100%;height:auto;}
figcaption{font-size:12.5px;color:var(--ink-soft);margin-top:4px;}
.example{border:2px solid var(--grid);border-radius:16px;padding:16px 18px;margin:18px 0;}
.example .ttl{font-weight:900;font-size:13px;color:var(--brass-dark);margin:0 0 6px;}
.example .ans{background:var(--ok-bg);border-radius:12px;padding:12px 14px;margin-top:10px;}
.example .ans p:last-child{margin-bottom:0;}
div.q{border:2px solid var(--grid);border-radius:14px;padding:12px 16px;margin:12px 0;}
div.q .qtext{font-size:15px;margin:0;}
div.q details summary{cursor:pointer;font-weight:700;font-size:13.5px;color:var(--brass-dark);margin-top:8px;}
div.q .a{background:var(--ok-bg);border-radius:10px;padding:10px 14px;margin-top:8px;font-size:14.5px;}
div.q .a p:last-child{margin-bottom:0;}
table{border-collapse:collapse;width:100%;margin:14px 0;font-size:14px;}
th,td{border:1px solid var(--grid);padding:8px 10px;text-align:left;vertical-align:top;}
th{background:var(--paper);}
.related{margin-top:34px;}
.related ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.related li a{display:block;background:var(--paper);border-radius:12px;padding:10px 14px;text-decoration:none;font-weight:700;font-size:13.5px;}
.cta{margin-top:30px;background:linear-gradient(135deg,#1CB0F6,#1477A8);color:#fff;border-radius:18px;padding:22px 22px;}
.cta p{color:#fff;margin:0 0 12px;font-size:14px;}
.cta .big{font-weight:900;font-size:17px;margin-bottom:6px;}
.cta a{display:inline-block;background:#fff;color:#1477A8;font-weight:900;text-decoration:none;border-radius:99px;padding:10px 20px;font-size:14px;}
.author{margin-top:24px;font-size:12.5px;color:var(--ink-soft);border-top:1px solid var(--grid);padding-top:14px;}
footer.site{max-width:820px;margin:0 auto;padding:10px 20px 40px;font-size:12.5px;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:14px;}
footer.site a{color:var(--ink-soft);}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.guide-card{display:block;background:#fff;border:1px solid var(--grid);border-radius:16px;padding:16px 18px;text-decoration:none;color:var(--ink);}
.guide-card b{display:block;font-size:15.5px;margin:2px 0 4px;}
.guide-card span{display:block;font-size:13px;color:var(--ink-soft);line-height:1.7;}
.grade-head{font-size:17px;margin:30px 0 10px;}
svg text{font-family:'Zen Maru Gothic',sans-serif;}
@media (max-width:640px){
  article{padding:22px 18px 26px;border-radius:16px;}
  h1{font-size:22px;}
  h2{font-size:18px;}
  p,ul,ol{font-size:14.5px;}
  .related ul,.guide-grid{grid-template-columns:1fr;}
  .nav-links{gap:10px;font-size:12px;}
}
