:root{font-family:Inter,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#172c38;background:#f5f7f5;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#087b74;text-decoration:none}a:hover{text-decoration:underline}
.topbar{min-height:74px;background:#fff;border-bottom:1px solid #dfe8e5;display:flex;align-items:center;gap:30px;padding:12px max(28px,calc((100vw - 1420px)/2));position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:11px;color:#172c38;white-space:nowrap}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#0d756d;color:#fff;font-weight:800;font-size:15px}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{font-size:11px;color:#75878b;margin-top:2px}.topbar nav{display:flex;gap:5px;margin-left:auto}.tab{border:0;background:transparent;color:#657a80;padding:10px 16px;border-radius:9px;font-weight:700}.tab.active,.tab:hover{background:#e7f3ef;color:#087b74}.original-link{font-size:12px;white-space:nowrap}
main{max-width:1420px;margin:auto;padding:30px}.intro{background:linear-gradient(110deg,#143f45,#0f665e 78%,#178376);border-radius:18px;color:#fff;padding:34px 40px;display:flex;justify-content:space-between;align-items:center;gap:24px}.intro h1{font-size:clamp(25px,3vw,37px);line-height:1.35;margin:10px 0}.intro p:not(.eyebrow){font-size:14px;color:#d8efeb;margin:0}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:#0b9081;margin:0}.intro .eyebrow{color:#a7e7dd}.totals{display:flex;gap:14px}.totals div{border:1px solid #6baaa2;border-radius:12px;min-width:120px;padding:15px}.totals strong,.totals span{display:block}.totals strong{font-size:26px}.totals span{font-size:11px;color:#d2ebe6}.notice{display:flex;align-items:center;gap:15px;background:#fff9e7;border:1px solid #f0dfaf;border-radius:12px;padding:13px 18px;margin:19px 0;color:#5b4b25;font-size:13px}.notice strong{white-space:nowrap}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 32px;color:#5d7279;font-size:13px}.toolbar-actions{display:flex;gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;border:1px solid #c9ddd7;padding:9px 13px;font-size:12px;font-weight:700;line-height:1.3;white-space:nowrap;text-decoration:none}.button:hover{text-decoration:none}.button.primary{background:#0d756d;border-color:#0d756d;color:#fff}.button.primary:hover{background:#0a625b}.button.secondary{background:#fff;color:#0d756d}.button.secondary:hover{background:#f0f8f5}.button:disabled{opacity:.45;cursor:not-allowed}
.view{display:none}.view.active{display:block}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 18px}.section-heading h2{font-size:30px;margin:7px 0 7px}.section-heading p:not(.eyebrow){font-size:13px;color:#687f85;margin:0}.badge{background:#e4f3ef;color:#087b74;border-radius:30px;padding:8px 13px;font-size:11px;font-weight:800;white-space:nowrap}.panel{background:#fff;border:1px solid #e2ebe7;border-radius:14px;padding:20px;box-shadow:0 3px 14px rgba(13,63,58,.035)}.controls{display:flex;align-items:center;gap:20px;margin-bottom:15px;flex-wrap:wrap}.controls label{font-size:12px;color:#64787f;font-weight:700}.controls select{display:block;margin-top:7px;min-width:270px;max-width:100%;background:#fff;border:1px solid #d3e0dc;border-radius:8px;padding:10px;color:#183239}.controls>span{font-size:12px;color:#667d83}.timer-controls{margin-left:auto;display:flex;align-items:center;gap:8px}.timer-controls strong{font-size:21px;min-width:58px;text-align:right}.practice-layout{display:grid;grid-template-columns:1.04fr .96fr;gap:15px;align-items:start}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:15px;margin-bottom:14px}.panel-title span{color:#6b7d83;font-size:12px}.page-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px;font-size:13px;font-weight:700}.page-frame{height:min(69vh,800px);overflow:auto;background:#f1f3f2;border:1px solid #dfe6e3;border-radius:9px;text-align:center}.page-frame img{width:100%;height:auto;display:block}.source-note{font-size:11px;color:#6d7f84;line-height:1.6;margin:10px 0 0}.answer-panel{max-height:calc(100vh - 100px);overflow:auto;position:sticky;top:90px}.question,.b-card{border-top:1px solid #e7eeeb;padding:15px 0}.question:first-child,.b-card:first-child{border-top:0}.question-top{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:800}.question-source{display:block;color:#78898e;font-size:11px;line-height:1.5;margin:4px 0 9px}.feedback{font-size:12px;font-weight:800}.question.correct .question-top,.question.correct .feedback{color:#1763c6}.question.wrong .question-top,.question.wrong .feedback{color:#c43232}.choices{display:flex;gap:7px;flex-wrap:wrap}.choice{cursor:pointer}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:inline-grid;place-items:center;min-width:42px;min-height:37px;border:1px solid #d9e4e0;border-radius:8px;color:#5a7179;font-size:13px;font-weight:700}.choice input:checked+span{border-color:#0d756d;background:#edf7f3;color:#0d756d}.question.correct .choice input:checked+span{border-color:#1763c6;background:#e9f1ff;color:#1763c6}.question.wrong .choice input:checked+span{border-color:#c43232;background:#fff0ee;color:#c43232}.choice input:focus-visible+span{outline:2px solid #1763c6;outline-offset:2px}.question textarea,.b-card textarea{display:block;width:100%;min-height:68px;border:1px solid #dce7e3;border-radius:8px;padding:9px;margin-top:9px;resize:vertical;font-size:12px;color:#243d45}.question textarea::placeholder,.b-card textarea::placeholder{color:#9babae}.explanation-link{display:inline-block;font-size:12px;font-weight:700;margin-top:9px}.sticky-actions{position:sticky;bottom:-20px;background:#fff;padding:13px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #e7eeeb}.result-box{background:#eaf5f1;color:#245047;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.6;margin:0}.hint{font-size:12px;line-height:1.6;color:#72858a}.b-card h3{font-size:15px;margin:0}.b-card label{display:block;font-size:12px;color:#5e7279;margin:10px 0 0}.b-card .select-question{display:flex;gap:7px;align-items:center;font-weight:700}.b-card input[type=checkbox]{accent-color:#0d756d}.b-card select{display:block;width:100%;padding:8px;margin-top:6px;border:1px solid #dce7e3;border-radius:8px;background:#fff}.review-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:9px;font-size:12px;font-weight:700}footer{max-width:1420px;margin:0 auto;padding:12px 30px 30px;color:#839397;font-size:11px;line-height:1.7}
@media(max-width:900px){.topbar{padding:12px 20px;flex-wrap:wrap;gap:8px}.topbar nav{margin-left:auto}main{padding:18px}.intro{padding:27px;display:block}.totals{margin-top:20px}.practice-layout{grid-template-columns:1fr}.answer-panel{max-height:none;position:static}.page-frame{height:65vh}.timer-controls{margin-left:0}.notice{align-items:start;flex-direction:column;gap:4px}}@media(max-width:620px){.topbar nav{order:3;width:100%}.original-link{margin-left:auto}.section-heading{display:block}.badge{display:inline-block;margin-top:12px}.toolbar{align-items:start;flex-direction:column}.toolbar-actions{flex-wrap:wrap}.controls label,.controls select{width:100%}.controls{gap:12px}.page-frame{height:55vh}.panel{padding:16px}.intro h1{font-size:26px}}
