:root{color-scheme:light;--paper:#f7f4ec;--ink:#182f33;--green:#204d48;--rule:#b7b8a6;--muted:#56635c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 system-ui,"Hiragino Sans",sans-serif}header{border-top:5px solid var(--green);border-bottom:1px solid var(--rule)}.mast,main,footer{max-width:1120px;margin:auto;padding-left:5%;padding-right:5%}.mast,nav,footer{display:flex;align-items:center;gap:1.5rem}.mast{justify-content:space-between;min-height:75px}.brand,h1,h2,h3{font-family:Georgia,"Hiragino Mincho ProN","Yu Mincho",serif}.brand{font-weight:700;font-size:1.7rem;letter-spacing:.065em;text-decoration:none}.brand small{font:600 .8rem/1 sans-serif}a{color:var(--green);text-underline-offset:4px}nav a,footer a{font-size:.86rem}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;padding:66px 0}.kicker,.serial{font:600 .74rem/1.6 ui-monospace,monospace;letter-spacing:.14em;color:var(--green)}h1{font-size:clamp(2.4rem,5.7vw,4.25rem);line-height:1.22;letter-spacing:-.04em;margin:.32em 0}.hero p,.entry p,.lead{color:var(--muted)}.button{display:inline-block;padding:10px 20px;background:var(--green);color:white;text-decoration:none;border-radius:3px;font-weight:600;margin:.6rem 0}.hero aside{padding:28px;background:#eeebdc;border:1px solid #c7c2af;border-top:5px solid #927446;box-shadow:5px 6px 0 #dedccc}.hero table{border-collapse:collapse;width:100%;margin:1rem 0;font-variant-numeric:tabular-nums}.hero th,.hero td{font-size:.9rem;text-align:right;border-bottom:1px solid var(--rule);padding:7px 0}.hero th:first-child{text-align:left}.hero aside small{color:var(--muted)}section{border-top:1px solid var(--rule);padding:30px 0 45px}h2{font-size:1.7rem;margin:.25em 0 .55em}.entry{padding:20px 0;display:grid;grid-template-columns:105px 1fr auto;gap:15px;text-decoration:none;border-top:1px dotted var(--rule)}.entry h3{font-size:1.4rem;margin:0}.entry p{margin:.45em 0}.feature{font-size:1.1rem;font-weight:600}.guide{background:#e8ede5;padding:25px 28px;margin:10px 0 32px}article{max-width:760px;margin:55px auto}article h1{font-size:clamp(2.2rem,5vw,3.4rem)}.lead{font-size:1.15rem}.body{margin:2rem 0}.body h2{margin:1.7em 0 .5em;padding-top:.5em;border-top:1px solid var(--rule)}footer{flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:20px;padding-bottom:30px;font-size:.8rem}button{cursor:pointer}.entry:hover h3,nav a:hover{text-decoration:underline}@media(max-width:760px){.mast{flex-wrap:wrap;gap:5px;padding-block:10px}.hero{grid-template-columns:1fr;gap:30px;padding:34px 0}.entry{grid-template-columns:1fr auto}.entry .serial{grid-column:1/-1}.hero aside{padding:20px}article{margin:32px auto}footer{gap:12px}}

.investigation,.lp-cover{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,28%);align-items:center;gap:4%;padding:40px 0}.investigation img,.lp-cover img{max-width:100%;height:auto}.investigation h1{font-size:clamp(2.2rem,4.4vw,3.7rem)}.rank-scroll{overflow:auto}.ranking{width:100%;text-align:left;border-collapse:collapse}.ranking th,.ranking td{border-bottom:1px solid var(--rule);padding:9px}.ranking thead{background:var(--green);color:white}.directory{display:flex;flex-wrap:wrap;gap:.7rem}.directory a{border:1px solid var(--rule);padding:5px 15px;text-decoration:none}.shelves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px}.report-shelf{padding:20px 0}.empty{color:var(--muted);font-size:.9rem}.entry{grid-template-columns:1fr auto}.course-lp{max-width:940px}.lp-cover{background:#193c3b;color:#faf3df;padding:clamp(20px,4vw,48px);border-radius:8px}.lp-cover .kicker{color:#ecce86}.lp-cover .signup{background:#f2cd79;color:#263731}.case{border-left:4px solid #b3904b;margin:34px 0;background:#f1eadd;padding:25px}.case p{white-space:pre-line}.course-lp .body{max-width:720px;margin:30px auto}
@media(max-width:700px){.investigation,.lp-cover{grid-template-columns:1fr}.investigation img,.lp-cover img{width:150px;justify-self:center}.shelves{grid-template-columns:1fr}.ranking th,.ranking td{font-size:.8rem}.mast nav{flex-wrap:wrap;gap:12px}}
