:root{font-family:-apple-system,BlinkMacSystemFont,'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;color:#18213b;background:#eef1f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #f6a919;outline-offset:4px}header{max-width:1120px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;color:#18213b;font-size:21px;font-weight:800;letter-spacing:-.5px}.brand span{font-size:14px;font-weight:500;margin-left:20px;letter-spacing:0}.edition{font-size:13px;color:#5c6478}main{max-width:880px;margin:25px auto 50px;padding:0 24px}h1{font-size:clamp(32px,5.8vw,52px);line-height:1.4;letter-spacing:-1.5px;margin:8px 0 14px}p{line-height:1.8}.eyebrow{font-size:13px;font-weight:800;letter-spacing:2px;color:#2445d9}.intro{text-align:center}.intro>p{color:#5c6478;margin:8px 0 28px}.card{background:#fff;border:1px solid #dce1ed;border-radius:20px;box-shadow:0 10px 0 -5px #dce1ed,0 20px 0 -10px #e3e7f0;overflow:hidden}.sample{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:25px 32px;border-bottom:6px solid #2344e8;background:#fafbff}.sample strong{font-size:42px;letter-spacing:4px}.sample small{display:block;color:#657088;font-size:14px}.sample .questionmark{color:#2344e8;font-size:38px}.setup{padding:28px 32px}.label{display:block;font-size:14px;color:#566078;margin-bottom:12px;font-weight:700}.areas{display:flex;gap:8px;flex-wrap:wrap}.area{border:1px solid #dce1ed;border-radius:9px;padding:12px 16px;background:white;color:#48516b;flex:1;white-space:nowrap}.area.active{background:#eaf0ff;color:#193cda;border-color:#2445e4;font-weight:700}.facts{display:flex;justify-content:center;gap:40px;padding:25px 0;font-size:14px;color:#586178}.facts b{font-size:26px;color:#18213b;margin-right:3px}.primary{border:0;background:#2344e8;color:white;border-radius:10px;min-height:56px;padding:15px 24px;font-weight:700;font-size:17px;width:100%;box-shadow:0 4px 0 #1630b7}.primary:hover{background:#193bd2}.secondary{border:1px solid #cbd2e4;background:white;border-radius:10px;padding:14px 20px;color:#273657;font-weight:700;min-height:50px}.quiet{border:0;background:none;color:#5c6478;padding:8px;font-size:14px}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.score{font-size:14px;color:#647089}.score b{color:#2344e8;font-size:25px}.progress{width:100%;height:5px;border:0;display:block;margin-bottom:25px;border-radius:5px;background:#dbe0ed;overflow:hidden}.progress span{display:block;height:100%;background:#2344e8;transition:width .3s}.question{padding:24px 32px 30px}.tags{display:flex;justify-content:space-between;font-size:14px;color:#667088}.level{background:#eef1ff;padding:5px 10px;border-radius:6px;color:#3450b0}.station{text-align:center;padding:34px 0 27px}.station h1{font-size:clamp(40px,8vw,68px);letter-spacing:4px;margin:10px 0;overflow-wrap:anywhere}.station p{color:#667088;font-size:14px;margin:0}.station .reading{color:#2140ce;font-weight:700;font-size:24px;letter-spacing:2px;min-height:40px}.divider{height:6px;background:#2445e8;margin:0 -32px 26px}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.option{background:white;border:1.5px solid #d8dfea;border-radius:10px;min-height:68px;text-align:left;padding:15px 18px;color:#27324c;font-size:19px;display:flex;align-items:center;gap:12px}.option span{font-size:12px;color:#6a7690;display:grid;place-items:center;background:#f0f3f9;min-width:25px;height:25px;border-radius:6px}.option:hover:not(:disabled){border-color:#2445e8;background:#f5f7ff}.option:disabled{cursor:default;opacity:1}.option.correct{border-color:#00866a;background:#eaf8f2;color:#006650}.option.wrong{border-color:#ce4450;background:#fff0f1;color:#ac2938}.feedback{margin-top:20px;min-height:44px}.feedback p{margin:4px 0 15px;color:#5c6478;font-size:14px}.feedback strong{font-size:20px;color:#006650}.feedback strong.miss{color:#bc3e4b}.meta{font-size:13px;text-align:center;color:#657088;margin-top:24px}.result{text-align:center;padding:35px 32px}.result h1{font-size:28px}.big-score{font-size:100px;font-weight:850;letter-spacing:-6px;color:#2344e8;line-height:1.25}.big-score small{font-size:24px;letter-spacing:0;color:#69718a}.rank{display:inline-block;background:#eaf0ff;padding:8px 20px;color:#2344e8;border-radius:30px;font-weight:700}.actions{display:grid;gap:12px;margin:26px 0}.row-actions{display:flex;gap:10px}.row-actions>*{flex:1}.review{margin:32px 0}.review h2{font-size:19px}.review-row{display:flex;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid #dce1ed;align-items:center}.review-row strong{display:block}.review-row small{font-size:13px;color:#657088}.review-row>span{color:#2344e8;font-weight:700}.notice{font-size:14px;color:#53617d;overflow-wrap:anywhere}.sharebox{width:100%;min-height:100px;font:inherit;font-size:14px;padding:12px;border:1px solid #cbd2e4;border-radius:8px}footer{max-width:832px;margin:0 auto;padding:0 24px 30px;color:#657088;font-size:13px;display:flex;gap:20px;justify-content:space-between}details{max-width:470px}details p{font-size:13px}a{color:#2445d9}summary{cursor:pointer}@media(max-width:600px){header{padding:20px}.brand{font-size:19px}.brand span{margin-left:10px;font-size:12px}.edition{display:none}main{margin:12px auto 36px;padding:0 16px}h1{font-size:34px}.sample{padding:20px 24px}.setup{padding:22px}.areas{gap:6px}.area{padding:10px 8px;min-width:28%}.area:first-child{flex-basis:100%}.facts{gap:20px}.question{padding:20px}.divider{margin:0 -20px 22px}.station{padding:25px 0 18px}.options{grid-template-columns:1fr;gap:9px}.option{min-height:57px;font-size:18px}.station h1{font-size:48px}.result{padding:26px 20px}.row-actions{flex-direction:column}footer{display:block}footer>span{display:block;margin-bottom:12px}.sample strong{font-size:38px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Keep the next action on-screen, with the same space before and after answering. */
.quiz-active{height:100vh;height:100dvh;display:flex;flex-direction:column}
.quiz-active>header{width:100%;padding-top:16px;padding-bottom:16px;flex:none}
.quiz-active>main{width:100%;margin:0 auto;padding-bottom:max(16px,env(safe-area-inset-bottom));flex:1;min-height:0;display:flex;flex-direction:column}
.quiz-active>footer{display:none}
.quiz-active .topline{margin-bottom:8px;flex:none}
.quiz-active .progress{margin-bottom:12px;flex:none}
.quiz-active .question{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px 24px;box-shadow:none}
.quiz-active .question-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 3px 8px;scrollbar-width:thin}
.quiz-active .station{padding:clamp(8px,2vh,22px) 0}
.quiz-active .station h1{font-size:clamp(36px,7vh,64px);margin:4px 0;line-height:1.3}
.quiz-active .station .reading{font-size:clamp(18px,2.8vh,24px);min-height:32px;line-height:1.5}
.quiz-active .divider{margin:0 0 16px;height:5px}
.quiz-active .options{gap:10px}
.quiz-active .option{min-height:52px;padding:12px 16px}
.quiz-active .feedback{flex:none;margin-top:10px;padding-top:10px;border-top:1px solid #e5e9f2;min-height:130px}
.quiz-active .feedback strong{font-size:18px;line-height:1.5;display:block}
.quiz-active .feedback p{margin:2px 0 10px;line-height:1.5;min-height:21px}
.quiz-active .feedback .waiting{color:#647089;font-size:16px;font-weight:400}
.quiz-active .feedback .primary{min-height:50px;padding:12px 20px;box-shadow:none}
.quiz-active .primary:disabled{background:#e9edf6;color:#657088;cursor:default}
.quiz-active main>.meta{margin:8px 0 0;flex:none;font-size:12px}
.sample strong{overflow-wrap:anywhere}
@media(max-width:600px){
 .quiz-active>header{padding:12px 16px}
 .quiz-active .question{padding:12px 16px}
 .quiz-active .station{padding:10px 0}
 .quiz-active .options{gap:8px}
 .quiz-active .option{min-height:48px;padding:10px 12px;font-size:17px}
 .quiz-active .divider{margin-bottom:12px}
}
@media(max-height:700px){
 .quiz-active .station{padding:6px 0}
 .quiz-active .station h1{font-size:36px}
 .quiz-active .options{grid-template-columns:1fr 1fr}
 .quiz-active .option{padding:8px;gap:6px;font-size:16px;overflow-wrap:anywhere}
 .quiz-active .feedback{min-height:122px;margin-top:6px;padding-top:6px}
 .quiz-active main>.meta{display:none}
}
.seo-content{max-width:832px;margin:40px auto;padding:28px 24px;border-top:1px solid #d6deeb}.seo-content h2,.guide h2{font-size:23px;margin-top:32px}.seo-content h3{font-size:17px;margin:22px 0 8px}.seo-content p,.guide p{color:#4c5974}.quiz-active>.seo-content{display:none}.guide-links{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.guide-links a{background:white;border:1px solid #dce1ed;padding:14px 18px;border-radius:8px;text-decoration:none}.guide>nav{font-size:14px;margin:12px 0 24px}.guide h1{font-size:clamp(28px,5vw,44px)}.cta{display:block;text-align:center;text-decoration:none;width:fit-content;margin:24px 0}.station-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.station-list a{display:flex;flex-direction:column;gap:6px;border:1px solid #dce1ed;border-radius:10px;background:#fff;padding:16px;text-decoration:none}.station-list span{color:#596984;font-size:15px}.answer-card{background:white;border-radius:16px;padding:20px 28px;border-bottom:5px solid #2344e8}.answer-card b{color:#2344e8;font-size:32px}.facts-table{width:100%;border-collapse:collapse;margin:24px 0}.facts-table th,.facts-table td{text-align:left;padding:14px;border-bottom:1px solid #dce1ed}.facts-table th{width:35%;font-size:15px}.share-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.share-links a{padding:10px 20px;border:1px solid #ccd5e9;border-radius:9px;text-decoration:none;background:#fff}.review-row a{color:inherit;text-decoration:underline;text-underline-offset:3px}@media(max-width:420px){.station-list{grid-template-columns:1fr}.facts-table th,.facts-table td{padding:10px}}
