/* スマホファースト。PCは max-width で中央寄せするだけ。 */
:root{--fg:#1a1a1a;--sub:#666;--line:#e3e3e3;--bg:#fff;--accent:#0b6b5e;
      --ok:#0a7a3d;--ng:#c0392b;--soft:#f6f8f8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--fg);background:var(--bg);line-height:1.75;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;
  font-size:16px}
a{color:var(--accent)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;
  background:var(--bg);z-index:5}
.hd-logo{font-weight:700;text-decoration:none;font-size:17px}
.hd-nav a{margin-left:14px;font-size:14px;text-decoration:none}
.crumb{padding:8px 14px;font-size:12px;color:var(--sub);overflow-x:auto;white-space:nowrap}
.crumb ol{list-style:none;margin:0;padding:0;display:inline-flex;gap:6px}
.crumb li+li::before{content:"›";margin-right:6px;color:#aaa}
.crumb a{color:var(--sub)}
.main{max-width:760px;margin:0 auto;padding:14px 14px 56px}
.pg-h1{font-size:20px;line-height:1.5;margin:8px 0 12px}
.lead{color:var(--sub);font-size:14px}
/* 問題 */
.q-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--sub)}
.q-no{font-weight:700;color:var(--fg)}
.q-cat{text-decoration:none;background:var(--soft);padding:2px 8px;border-radius:99px}
.q-stem{font-size:19px;line-height:1.65;margin:10px 0 18px;font-weight:700}
.opts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.opt{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;
  padding:14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;
  font:inherit;color:inherit;cursor:pointer;min-height:56px}
.opt:active{transform:scale(.995)}
.opt-n{flex:0 0 26px;height:26px;border-radius:50%;background:var(--soft);
  display:grid;place-items:center;font-size:13px;font-weight:700}
.opt.is-ok{border-color:var(--ok);background:#f1faf4}
.opt.is-ok .opt-n{background:var(--ok);color:#fff}
.opt.is-ng{border-color:var(--ng);background:#fdf3f2}
.opt.is-ng .opt-n{background:var(--ng);color:#fff}
.opt[disabled]{cursor:default;opacity:1}
.hint{font-size:13px;color:var(--sub);text-align:center;margin:14px 0 0}
.ans{margin-top:22px;border-top:3px solid var(--soft);padding-top:16px}
.ans-head{font-weight:700;font-size:17px;margin:0 0 10px}
#judge.ok{color:var(--ok)}#judge.ng{color:var(--ng)}
.ex h2,.rel h2,.cpt-sec h2{font-size:15px;margin:20px 0 6px;padding-left:9px;
  border-left:4px solid var(--accent)}
.ex p,.cpt-sec p{margin:0;font-size:15px}
.ex-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
.ex-list li{background:var(--soft);padding:10px 12px;border-radius:8px}
.ex-list li.is-c{background:#f1faf4}
.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tags li a,.tags li span{display:inline-block;padding:6px 12px;border-radius:99px;
  background:var(--soft);font-size:14px;text-decoration:none}
.tags li span{color:var(--sub)}
.links,.qlist{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.links li a,.qlist li a{display:block;padding:12px 4px;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--fg);font-size:15px}
.qn{display:inline-block;min-width:66px;color:var(--sub);font-size:12px}
.pager{display:flex;gap:10px;margin-top:28px}
.pg{flex:1;padding:14px;text-align:center;border:1.5px solid var(--line);
  border-radius:12px;text-decoration:none;font-size:15px;min-height:52px}
.pg-n{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700}
.grp{margin:22px 0}
.grp h2{font-size:16px;margin:0 0 6px}
.grp h2 a{text-decoration:none}
.cnt{font-size:12px;color:var(--sub);font-weight:400;margin-left:6px}
.cpt-kind{font-size:13px;color:var(--sub);margin:0 0 14px}
.ft{border-top:1px solid var(--line);padding:18px 14px 40px;font-size:12px;color:var(--sub)}
.ft p{margin:0 0 6px}
@media (min-width:768px){body{font-size:17px}.q-stem{font-size:22px}.pg-h1{font-size:26px}}
