:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:#183944;background:#f5f6f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{border:0;border-radius:12px;background:#1a5c5b;color:#fff;padding:14px 20px;min-height:50px;font-weight:700;cursor:pointer}button:hover{filter:brightness(.94)}button:focus-visible,select:focus-visible{outline:3px solid #e4a93f;outline-offset:3px}.secondary{background:#edf3ee;color:#24534f;border:1px solid #c5d8ce}.danger{background:#a74135}.wrap{width:min(1100px,calc(100% - 40px));margin:auto}header{background:#173c4a;color:#fff}.head{display:flex;align-items:center;justify-content:space-between;min-height:72px}.brand,.nav{background:transparent;padding:8px;color:#fff}.brand{font-size:21px;letter-spacing:.05em}.brand span{font-size:14px;font-weight:500;margin-left:10px;letter-spacing:0}.nav{font-size:14px}.hero{padding:62px 0 46px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800;color:#458277;margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,5vw,52px);line-height:1.25;letter-spacing:-.02em;margin-bottom:18px}h2{font-size:26px;margin-bottom:14px}h3{font-size:20px}.hero>p:not(.eyebrow){font-size:18px}.note,small{font-size:13px;color:#607b7c;line-height:1.6}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.section-title span{color:#6b8481}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.card,.panel{background:#fff;border:1px solid #dce7df;border-radius:18px;padding:26px}.card h3{font-family:Georgia,serif;font-size:23px;margin:14px 0}.card>p{color:#718582;font-size:14px}.number,.label{font-size:12px;letter-spacing:.1em;font-weight:800;color:#56867a}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.bonus{margin:24px 0 50px;padding:28px;background:#e5eee2;border-radius:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.bonus p:last-child{margin:0}.breadcrumbs{display:flex;gap:18px;align-items:center;color:#6a827f;font-size:14px;margin:24px 0}.breadcrumbs button{background:transparent;color:#37645d;min-height:auto;padding:8px 0}.session-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.session-head h1{font-family:Georgia,serif;font-size:clamp(30px,4vw,42px)}.step{background:#dfece3;border-radius:99px;padding:10px 16px;font-size:14px;font-weight:700;white-space:nowrap}.material{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-bottom:16px}.material img{width:100%;border-radius:10px}.passage p{font:21px/1.65 Georgia,serif;margin:12px 0 0;color:#1f3b43}.panel{margin-bottom:20px}.panel>h1{font-size:36px}.timer{font-size:64px;font-weight:800;line-height:1.2;color:#205f59}.timer small{font-size:18px}.english{font:24px/1.5 Georgia,serif;color:#1b3b45}.record{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.record small{width:100%}.record audio{max-width:100%;height:42px}.answer{background:#eff7ee;border-left:4px solid #67a57c;padding:18px;margin:18px 0;line-height:1.6}.answer strong,.review strong{font:700 20px/1.5 Georgia,serif}.answer p{margin:10px 0}.divider{border-top:1px solid #e1ebe4;padding-top:20px;margin-top:22px;justify-content:space-between}.review{border-top:1px solid #e1ebe4;padding:20px 0}.review .english{margin:8px 0}.speed{margin:20px 0;color:#54736d}.speed select{padding:8px;border:1px solid #b6ccc0;border-radius:8px;background:#fff}.speed span{display:block;color:#a74135}.history{list-style:none;padding:0}.history li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #e1ebe4}footer{border-top:1px solid #d9e5db;padding:25px 0 36px;font-size:12px;color:#718c85}@media(max-width:700px){.wrap{width:min(100% - 28px,1100px)}.hero{padding:42px 0 30px}.grid,.material{grid-template-columns:1fr}.material{gap:18px}.bonus{align-items:flex-start;flex-direction:column}.session-head{align-items:flex-start}.step{font-size:12px}.card,.panel{padding:20px}.history li{flex-direction:column;gap:4px}.brand span{font-size:12px}}
