:root{--ink:#1a1a1a;--sub:#6b6b6b;--line:#e4e4e4;--soft:#fafafa;--acc:#124a8a;
--ok:#0a7d3f;--okbg:#e8f5ed;--warn:#8a6d00;--warnbg:#fdf6e0;--u:#8a8a8a;--ubg:#f0f0f0}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Hiragino Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.62}
.w{max-width:920px;margin:0 auto;padding:20px 16px 80px}
.bc{font-size:.77rem;color:var(--sub);margin:0 0 8px}
.bc a{color:var(--acc);text-decoration:none}
h1{font-size:1.4rem;margin:0 0 3px;line-height:1.35}
h1 small{font-size:.95rem;color:var(--sub);font-weight:400;margin-left:8px}
h2{font-size:1.02rem;margin:24px 0 8px;padding-bottom:5px;border-bottom:2px solid var(--ink)}
.lead{color:var(--sub);font-size:.86rem;margin:0 0 4px}.lead b{color:var(--ink)}
.note{color:var(--sub);font-size:.82rem;margin:0 0 14px}
.hero{background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:16px 18px;margin:14px 0 20px}
.bar{display:flex;gap:6px;flex-wrap:wrap;padding:10px;background:var(--soft);border:1px solid var(--line);
border-radius:8px;margin-bottom:6px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.bar b{font-size:.78rem;color:var(--sub);align-self:center;margin-right:3px}
.f{font:inherit;font-size:.82rem;padding:5px 11px;border:1px solid var(--line);background:#fff;
color:var(--ink);border-radius:20px;cursor:pointer;min-height:32px}
.f.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.f[data-k="jo"]{background:#fdf1f5;border-color:#efc9d8;color:#9d3a5c}
.f[data-k="jo"].on{background:#c4527a;color:#fff;border-color:#c4527a}
.f[data-k="hp"]{background:#eff5fc;border-color:#c2d8ef;color:var(--acc)}
.f[data-k="hp"].on{background:var(--acc);color:#fff;border-color:var(--acc)}
.cnt{font-size:.83rem;color:var(--sub);margin:12px 0 6px}.cnt b{color:var(--ink);font-size:1rem}
.pop{display:block;width:100%;text-align:left;margin:16px 0 20px;padding:15px 18px;background:#fff;
border:2px solid var(--acc);border-left-width:6px;border-radius:7px;font:inherit;cursor:pointer;
box-shadow:0 2px 10px rgba(18,74,138,.10)}
.pop:hover{background:#f2f7fc}
.pop::before{content:"\2605 ";color:var(--acc)}
.pop b{display:block;color:var(--acc);font-size:1.02rem;margin-bottom:2px}
.pop span{font-size:.84rem;color:var(--sub)}
.g{display:grid;gap:11px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.c{background:#fff;border:1px solid #e9e9e9;border-radius:8px;padding:13px 14px;display:flex;flex-direction:column;
box-shadow:0 1px 2px rgba(0,0,0,.05),0 4px 14px rgba(0,0,0,.06)}
.c h3{margin:0 0 2px;font-size:1rem;line-height:1.4}
.ad{margin:0 0 8px;font-size:.81rem;color:var(--sub);display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ad .map{white-space:nowrap;font-size:.79rem;color:var(--acc);text-decoration:none}
.tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.t{font-size:.73rem;padding:3px 8px;border-radius:4px;font-weight:600}
.t1{color:var(--ok);background:var(--okbg)}.t2{color:var(--warn);background:var(--warnbg)}
.t3{color:#9d3a5c;background:#fdf1f5;border:1px solid #efc9d8}
dl{margin:0 0 8px;font-size:.81rem;display:grid;grid-template-columns:3.4em 1fr;gap:1px 8px}
dt{color:var(--sub)}dd{margin:0}
.chk{margin:0 0 7px;padding:8px 9px;border:1px solid var(--line);border-radius:5px;font-size:.75rem;line-height:1.9}
.chk b{display:block;font-size:.73rem;color:var(--sub);margin-bottom:3px}
.chk a{color:var(--acc);font-size:.78rem}
.y,.n,.u{display:inline-block;padding:1px 7px;border-radius:3px;margin:0 4px 3px 0}
.y{color:var(--ok);background:var(--okbg)}.n{color:var(--sub);background:#f5f5f5}.u{color:var(--u);background:var(--ubg)}
.ins,.out{margin:0 0 5px;font-size:.78rem;padding:7px 9px;border-radius:5px;line-height:1.5}
.ins{background:var(--okbg)}.out{background:var(--warnbg)}
.ins b,.out b{display:block;font-size:.73rem;margin-bottom:1px}
.ins b{color:var(--ok)}.out b{color:var(--warn)}
.more{display:block;width:100%;margin:2px 0 0;padding:10px 12px;text-align:left;background:#f2f7fc;
border:1px solid #bfd4ea;border-left:4px solid var(--acc);border-radius:6px;font:inherit;font-size:.82rem;
color:var(--acc);cursor:pointer;min-height:44px}
.more b{display:block;font-size:.84rem}.more span{color:var(--sub);font-size:.76rem}
.chain{color:#b3261e;font-size:.76rem;background:#fdeceb;padding:1px 6px;border-radius:3px}
.so{color:var(--sub);font-size:.76rem}
.near{margin:24px 0 0;padding:13px 15px;background:var(--soft);border:1px solid var(--line);border-radius:7px;
box-shadow:0 1px 3px rgba(0,0,0,.04)}
.near b{font-size:.82rem;display:block;margin-bottom:6px}
.near a,.ctlist a{display:inline-block;font-size:.85rem;color:var(--acc);text-decoration:none;margin:0 13px 6px 0}
.pfg{display:grid;gap:9px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.pf{border:1px solid var(--line);border-radius:8px;padding:12px 14px;text-decoration:none;color:var(--ink);
box-shadow:0 1px 2px rgba(0,0,0,.05),0 4px 14px rgba(0,0,0,.06);display:block}
.pf b{display:block;font-size:1.02rem}.pf span{font-size:.8rem;color:var(--sub)}
dialog{max-width:660px;width:calc(100% - 24px);border:none;border-radius:10px;padding:0;
box-shadow:0 16px 46px rgba(0,0,0,.3)}
dialog::backdrop{background:rgba(0,0,0,.45)}
.dh{position:sticky;top:0;background:#fff;padding:16px 20px 11px;border-bottom:1px solid var(--line);
display:flex;justify-content:space-between;align-items:center}
.dh h2{margin:0;font-size:1.05rem;border:none;padding:0}
.x{border:none;background:none;font-size:1.6rem;cursor:pointer;color:var(--sub);line-height:1;min-width:44px;min-height:44px}
.db{padding:4px 20px 22px}
.db h4{margin:17px 0 5px;font-size:.96rem;border-left:4px solid var(--acc);padding-left:9px}
.db dl{grid-template-columns:8.5em 1fr;font-size:.86rem;gap:3px 10px}
.here{font-size:.78rem;color:var(--acc);background:#eff5fc;border:1px solid #c2d8ef;
padding:1px 8px;border-radius:20px;margin-left:8px;font-weight:600;vertical-align:middle}
.dfoot{margin-top:16px;font-size:.78rem;color:var(--sub)}
.meaning{margin:0 0 10px;padding:9px 11px;background:var(--soft);border:1px solid var(--line);
border-radius:6px;font-size:.76rem;line-height:2;color:var(--sub)}
.meaning>b:first-child{display:block;font-size:.74rem;margin-bottom:2px}
.meaning b{color:var(--ink)}
.foot{margin-top:24px;padding-top:12px;border-top:1px solid var(--line);font-size:.78rem;color:var(--sub);line-height:1.9}
.foot a{color:var(--acc);margin-right:14px}
table{width:100%;border-collapse:collapse;font-size:.87rem;margin:10px 0}
th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
th{width:12em;color:var(--sub);font-weight:600}
ul{padding-left:1.3em}li{font-size:.9rem;margin-bottom:4px}
p{font-size:.9rem}
@media(max-width:600px){
.w{padding:16px 12px 70px}
h1{font-size:1.22rem}h1 small{display:block;margin:2px 0 0;font-size:.85rem}
.g{grid-template-columns:1fr;gap:10px}
.bar{padding:9px;gap:5px}.bar b{width:100%;margin-bottom:3px}
.f{font-size:.8rem;padding:6px 12px}
.ad{flex-direction:column;gap:2px}
dl{grid-template-columns:3.2em 1fr}
.chk{line-height:2.1}
.dh{padding:14px 16px 10px}.db{padding:4px 16px 20px}
.db dl{grid-template-columns:1fr;gap:0 0}
.db dt{margin-top:8px}
th{width:auto;display:block;padding-bottom:2px;border:none}
td{display:block;padding-top:0}
}