:root{color:#263542;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7f8;font-family:Arial,Noto Sans JP,Yu Gothic,Meiryo,sans-serif;font-weight:400;line-height:1.65}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{color:#283b4b;cursor:pointer;background:#fff;border:1px solid #c8d0d6;border-radius:6px;padding:11px 22px;font-weight:600;transition:background-color .15s}button:hover{background:#edf2f5}button:disabled{cursor:default;opacity:.45}button.primary{color:#fff;background:#304f63;border-color:#304f63}button.primary:hover{background:#233e50}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #5a87a7}a{color:#355c74;text-underline-offset:4px}p{margin:0 0 1em}h1,h2,h3{color:#243845;line-height:1.5}h1{letter-spacing:.025em;margin:0 0 16px;font-size:32px}h2{margin:0;font-size:21px}h3{margin:0 0 12px;font-size:18px}.muted{color:#687783;font-size:14px}.site-header{justify-content:space-between;align-items:center;gap:20px;max-width:1160px;height:103px;margin:auto;padding:0 32px;display:flex}.brand{text-align:left;letter-spacing:.035em;background:0 0;border:0;align-items:center;gap:12px;padding:0;font-size:17px;display:flex}.brand:hover{background:0 0}.brand small{color:#72818b;letter-spacing:.07em;margin-top:2px;font-size:11px;font-weight:400;display:block}.brand-symbol{color:#496b7b;font-size:37px;line-height:1}.site-header nav{gap:12px;display:flex}.site-header nav button{color:#6a7882;background:0 0;border:0;border-radius:0;padding:8px 12px;font-size:14px}.site-header nav button.active{color:#263f51;box-shadow:0 2px #35566c}.content{max-width:1160px;margin:0 auto;padding:0 32px 64px}.hero{background:#eaf0f2;border:1px solid #dbe4e8;border-radius:10px;grid-template-columns:1fr 225px;gap:45px;margin:16px 0 42px;padding:46px 48px;display:grid}.eyebrow{color:#597080;letter-spacing:.11em;margin-bottom:16px;font-size:12px;font-weight:700}.hero h1{letter-spacing:.055em;margin-bottom:20px;font-size:clamp(28px,3vw,37px);line-height:1.65}.lead{color:#657580;font-size:15px;line-height:1.9}.hero .lead{margin-bottom:0;font-size:14px}.hero-stat{color:#39566a;flex-wrap:wrap;place-content:center;align-items:center;gap:15px;display:flex}.hero-stat strong{font-variant-numeric:tabular-nums;font-size:48px;font-weight:500;line-height:1.2}.hero-stat strong span{padding-left:5px;font-size:14px}.hero-stat p{text-align:center;color:#657a87;flex:100%;margin:0;font-size:12px}.stat-divider{background:#c7d3d9;width:1px;height:40px;transform:rotate(18deg)}.section-heading{justify-content:space-between;align-items:baseline;gap:20px;margin:34px 0 18px;display:flex}.section-heading>span{color:#6c7c87;font-size:13px}.mode-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.mode-card{background:#fff;border:1px solid #dce3e7;border-radius:8px;padding:28px 32px}.mode-card.featured{border-top:3px solid #486b80;padding-top:26px}.card-kicker{letter-spacing:.14em;color:#7c8993;margin-bottom:12px;font-size:10px;font-weight:700}.mode-card h3{margin-bottom:9px;font-size:23px}.mode-numbers{color:#3e5769;margin-bottom:14px;font-size:20px;font-weight:600}.mode-numbers span{color:#b6c1c8;padding:0 10px;font-weight:400}.mode-card>p:not(.mode-numbers):not(.card-kicker){color:#6e7b86;min-height:46px;font-size:14px}.mode-card>button{justify-content:space-between;width:100%;margin-top:24px;padding:13px 18px;display:flex}.practice-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.practice-card{text-align:left;border-color:#dce3e7;grid-template-rows:auto auto;grid-template-columns:38px 1fr 20px;align-items:center;gap:3px 12px;padding:21px;display:grid}.practice-icon{color:#748895;grid-row:1/3;font-size:28px;font-weight:400}.practice-card>span:not(.practice-icon){color:#7b8791;grid-column:2;font-size:11px;font-weight:400}.practice-card b{grid-area:1/3/3;font-weight:400}.home-bottom{color:#6d7b86;border-top:1px solid #dce3e7;grid-template-columns:1fr 1fr;gap:50px;margin:36px 0 0;padding-top:30px;font-size:13px;display:grid}.home-bottom h3{font-size:15px}.text-button{color:#355c74;background:0 0;border:0;padding:0;font-size:13px}.site-footer{text-align:center;color:#7b8791;background:#eef2f4;border-top:1px solid #e1e6e9;padding:27px 30px;font-size:11px}.site-footer p{margin:0 0 4px}.panel{background:#fff;border:1px solid #dce3e7;border-radius:8px;padding:30px}.intro{max-width:830px;margin:24px auto 0;padding:45px 55px}.intro-meta{color:#536d7c;margin:0 0 24px;font-size:22px}.instructions{padding-left:22px;font-size:15px}.instructions li{padding:5px 0 8px 3px}.note{color:#607481;background:#f1f5f7;border-left:3px solid #94a8b6;margin:22px 0;padding:16px 20px;font-size:13px}.seed-options{color:#687986;margin:25px 0;font-size:13px}summary{cursor:pointer}.seed-options label{align-items:center;gap:15px;margin:18px 0 10px;display:flex}input:not([type=radio]),select{color:#354e60;background:#fff;border:1px solid #c5d0d7;border-radius:4px;max-width:100%;padding:7px 10px}.actions{justify-content:space-between;gap:20px;margin-top:30px;display:flex}.warning{background:#fff3d9;border:1px solid #e1c993;border-radius:6px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:13px 20px;display:flex}.warning button{background:0 0;border:0;padding:0 6px}.exam-shell{color:#20262b;background:#f2f2f2;min-height:100vh;padding-top:121px}.exam-header{z-index:10;color:#fff;background:#293e4f;justify-content:space-between;align-items:center;height:88px;padding:0 5%;display:flex;position:fixed;top:0;left:0;right:0}.exam-title{letter-spacing:.05em;font-size:16px;font-weight:600}.clock{align-items:center;gap:24px;display:flex}.clock>span{font-size:13px}.clock strong{color:#293e4f;letter-spacing:.04em;font-variant-numeric:tabular-nums;background:#fff;border-radius:3px;padding:0 8px;font-size:28px;line-height:1.4}.page-progress{z-index:10;background:#a8b8c3;border-bottom:8px solid #293e4f;height:33px;position:fixed;top:88px;left:0;right:0}.page-progress>div{background:#e7eef2;height:100%}.page-progress>span{text-align:center;color:#2a4153;font-size:12px;font-weight:600;line-height:25px;position:absolute;inset:0}.exam-paper{background:#fff;outline:none;width:calc(100% - 48px);max-width:1016px;margin:50px auto 42px;padding:64px 68px}.question{margin:0 0 40px;padding:8px 16px 24px;font-size:16px;line-height:22px}.question-number{color:#3e5668;text-align:center;background:#edf0f3;width:100%;margin:0 0 10px;padding:3px 0;font-size:12px;font-weight:600;line-height:22px;display:block}.question-prompt{white-space:pre-line;margin:8px 0 20px;line-height:22px}.options{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;display:grid}.options-column{flex-direction:column;gap:12px;display:flex}.option{cursor:pointer;overflow-wrap:anywhere;align-items:flex-start;gap:9px;min-height:28px;padding:4px 0;font-weight:400;display:flex;position:relative}.option input{accent-color:#496c85;cursor:pointer;flex:none;width:18px;height:18px;margin:2px 0 0}.option.is-selected{color:#234762}.figure{max-width:100%;margin:10px 0 14px;line-height:0}.figure svg{max-width:100%;height:auto;max-height:175px;display:block}.figure-option{width:calc(100% - 28px);display:block}.figure-option .figure{margin:0}.figure-option svg{width:100%;max-height:130px}.exam-navigation{gap:12px;margin:15px 0;padding:0 16px;display:flex}.exam-navigation button{padding:14px 24px}.exam-footer{color:#dce5eb;text-align:center;background:#293e4f;padding:14px 20px;font-size:11px}.practice-label{color:#70838f;border-bottom:1px solid #dbe2e7;margin-bottom:20px;padding:0 16px 20px;font-size:13px}.explanation{color:#354f5e;background:#edf4f2;border-left:3px solid #789d8e;margin:20px 0;padding:20px 24px;font-size:14px}.explanation p{white-space:pre-line;margin:8px 0 0}.result-title{justify-content:space-between;align-items:center;gap:24px;margin-top:30px;display:flex}.score-panel{background:#fff;border:1px solid #dbe3e7;border-radius:8px;grid-template-columns:260px 1fr;margin-top:22px;display:grid;overflow:hidden}.raw-score{background:#e8eff2;padding:30px 35px}.raw-score p{color:#617887;margin:0;font-size:12px}.raw-score>strong{color:#304f64;font-size:62px;font-weight:500;line-height:1.5;display:block}.raw-score>strong span{color:#7f949f;font-size:24px}.metrics-grid{grid-template-columns:repeat(3,1fr);gap:23px;padding:28px 36px;display:grid}.metrics-grid>div span{color:#7b8993;font-size:12px;display:block}.metrics-grid strong{color:#334e61;font-size:24px;font-weight:500;display:block}.method-note{color:#7b8791;margin:15px 0 25px;font-size:12px;line-height:1.8}.table-wrap{background:#fff;border:1px solid #dce3e7;border-radius:6px;overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid #e5eaed;padding:16px 24px}thead th{color:#647988;background:#edf2f5;font-size:12px}tbody th{font-weight:500}tr:last-child>*{border-bottom:0}td button{padding:5px 14px;font-size:12px}th small{color:#788993;font-size:11px;font-weight:400;display:block}.type-details{margin-top:15px;padding:18px 24px;font-size:14px}.type-details[open] summary{margin-bottom:20px}.time-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.time-grid>div{background:#fff;border:1px solid #dbe3e7;border-radius:6px;padding:20px 24px}.time-grid span{color:#748793;font-size:12px;display:block}.time-grid strong{color:#395668;margin-top:8px;font-size:27px;font-weight:500;display:block}.time-grid small{padding-left:7px;font-size:12px}.review-heading label,.section-heading label{color:#71828d;font-size:12px}.review-heading select{margin-left:12px}.review-item{background:#fff;border:1px solid #dce3e7;border-radius:5px;margin-bottom:10px}.review-item summary{align-items:center;gap:18px;padding:16px 22px;font-size:13px;list-style:none;display:flex}.review-item summary:after{content:"+";color:#647d8e;padding-left:8px;font-size:18px}.review-item[open] summary:after{content:"−"}.status-dot{background:#b4bfc6;border-radius:100%;flex-shrink:0;width:9px;height:9px}.status-dot.correct{background:#568c77}.status-dot.incorrect{background:#c0806d}.review-type{color:#7d8d97;margin-left:auto}.review-time{text-align:right;color:#657b8a;font-variant-numeric:tabular-nums;min-width:64px}.review-body{border-top:1px solid #e5eaed;padding:24px 30px}.review-body .question{margin:15px 0 20px;padding:0}.review-body .question-number{display:none}.review-body .option{cursor:default;border-radius:4px;padding:10px}.is-correct{background:#e9f3ee}.is-wrong{background:#faeeea}.answer-marker{color:#487e67;font-size:10px;position:absolute;bottom:-12px;right:4px}.answer-summary{color:#637e8e;padding-top:14px;font-size:13px}.result-bottom{justify-content:space-between;align-items:center;gap:20px;margin-top:32px;display:flex}.result-bottom .muted{overflow-wrap:anywhere}.empty-state{text-align:center;color:#7b8c98;border:1px dashed #c8d5dd;border-radius:6px;padding:45px 25px}.guide{max-width:870px;margin:25px auto 0;padding:45px 55px}.guide h2{margin:35px 0 14px;font-size:19px}.guide p,.source-list{color:#647580;font-size:15px;line-height:1.95}.source-list{padding-left:20px}.source-list li{margin-bottom:10px}@media (width<=800px){.site-header{padding:0 22px}.content{padding:0 22px 45px}.hero{grid-template-columns:1fr;gap:24px;padding:30px}.hero-stat{display:none}.mode-card{padding:25px}.mode-card.featured{padding-top:23px}.practice-grid{gap:10px}.practice-card{grid-template-columns:26px 1fr;padding:17px 12px}.practice-card b{display:none}.practice-icon{font-size:22px}.exam-paper{padding:34px 28px}.score-panel{grid-template-columns:210px 1fr}.metrics-grid{gap:15px;padding:24px}.time-grid>div{padding:17px}}@media (width<=600px){.site-header{flex-wrap:wrap;gap:5px;height:112px;padding:18px 20px 12px}.brand{font-size:15px}.brand-symbol{font-size:29px}.site-header nav{gap:10px;margin-left:auto}.site-header nav button{padding:6px 10px;font-size:12px}.content{padding:0 16px 40px}.hero{margin:15px 0 30px;padding:26px 22px}.hero h1{font-size:26px}.desktop-only{display:none}.mode-grid{grid-template-columns:1fr;gap:15px}.mode-card>p:not(.mode-numbers):not(.card-kicker){min-height:0}.mode-card>button{margin-top:18px}.section-heading{flex-direction:column;align-items:flex-start;gap:5px;margin-top:28px}.section-heading h2{font-size:19px}.practice-grid{grid-template-columns:1fr}.practice-card{grid-template-columns:38px 1fr 20px;padding:18px 22px}.practice-card b{display:block}.practice-card>span:not(.practice-icon){font-size:12px}.home-bottom{grid-template-columns:1fr;gap:24px}.intro,.guide{margin-top:20px;padding:28px 23px}.intro h1,.guide h1{font-size:26px}.seed-options label{flex-direction:column;align-items:flex-start;gap:5px}.seed-options input{width:100%}.exam-shell{padding-top:98px}.exam-header{height:72px;padding:0 18px}.exam-title{font-size:12px}.clock{gap:9px}.clock>span{font-size:10px}.clock strong{font-size:23px}.page-progress{border-bottom-width:5px;height:26px;top:72px}.page-progress>span{font-size:11px;line-height:21px}.exam-paper{width:calc(100% - 20px);margin-top:22px;padding:23px 8px}.question{margin-bottom:27px;padding:8px 10px 20px}.options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.options-figures{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.options-figures .option{flex-wrap:wrap;gap:7px}.figure-option{width:100%}.figure svg{max-height:120px}.figure-option svg{max-height:90px}.question-prompt{line-height:1.7}.exam-navigation{padding:0 10px}.exam-navigation button{padding:12px 24px}.result-title{flex-direction:column;align-items:flex-start;gap:7px}.score-panel{grid-template-columns:1fr}.raw-score{flex-wrap:wrap;align-items:center;gap:0 20px;padding:23px;display:flex}.raw-score>strong{font-size:48px}.raw-score p:last-child{width:100%}.metrics-grid{gap:18px;padding:22px}.metrics-grid strong{font-size:22px}.metrics-grid>div span{font-size:11px}th,td{padding:12px 16px}.time-grid{grid-template-columns:repeat(2,1fr);gap:11px}.time-grid strong{font-size:25px}.review-item summary{gap:12px;padding:14px 16px}.review-type{display:none}.review-time{margin-left:auto}.review-body{padding:20px 15px}.review-body .option{padding:6px}.result-bottom{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
