:root{color-scheme:light;--ink:#334458;--muted:#687989;--line:#e4e9ee;--green:#58b929;--green-dark:#37831b;--green-pale:#edfadf;--blue:#188ab7;--correct:#397d1f;--wrong:#b93f4f;--radius:24px;font-family:"Arial Rounded MT Bold","Hiragino Maru Gothic ProN","BIZ UDPGothic","Yu Gothic UI",Meiryo,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #187dac;outline-offset:5px}[hidden]{display:none!important}.page-shell{width:min(1040px,100% - 64px);margin:0 auto}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:2px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-size:16px;font-weight:900;line-height:1.35}.brand-symbol{color:var(--green);font:900 46px/1 "Arial Rounded MT Bold",Arial,sans-serif;letter-spacing:-.08em;transform:rotate(-8deg);padding-right:7px}.brand-symbol>span{color:#2aa9d1}.brand-sub{display:block;color:var(--muted);font-size:14px;margin-top:2px}.edition{border:2px solid #d2eaba;color:#427e2b;background:#f4fce9;border-radius:14px;padding:9px 14px;font-size:14px;font-weight:800;white-space:nowrap}main{padding:44px 0 52px;min-height:calc(100svh - 185px);outline:none}
.welcome{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:48px;align-items:center}.welcome-heading{margin-bottom:27px}.eyebrow{font:900 14px/1.4 Arial,sans-serif;letter-spacing:.13em;color:var(--green-dark)}.welcome h1{font-size:clamp(28px,3.15vw,36px);line-height:1.5;letter-spacing:.01em;margin:10px 0;font-weight:900}.welcome h1 br{display:none}.intro{font-size:16px;color:var(--muted);line-height:1.7;margin:0}.start-card{border:2px solid #8bd35b;border-bottom-width:6px;background:var(--green-pale);border-radius:var(--radius);padding:26px 28px}.card-label{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:900;color:#467a2e}.lesson-number{display:grid;place-items:center;background:var(--green);color:#183808;border-radius:14px;box-shadow:0 4px 0 #3c9420;width:46px;height:46px;flex-shrink:0;font:900 23px/1 Arial,sans-serif}.level-label{display:block;color:#648155;font-size:14px;font-weight:600;margin-top:4px}.lesson-star{font-size:28px;color:#d39408;margin-left:auto}.start-card h2{font-size:25px;line-height:1.55;letter-spacing:.005em;margin:24px 0 10px;font-weight:900}.start-description{font-size:16px;line-height:1.8;color:#576d4c;margin:0}.start-facts{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 24px}.start-facts span{font-size:14px;font-weight:800;background:#fff9;border:1px solid #cbe2b8;padding:7px 13px;border-radius:10px}.primary-button{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;background:var(--green);color:#183808;border:0;border-radius:16px;min-height:56px;padding:15px 20px;font-size:17px;font-weight:900;box-shadow:0 5px 0 var(--green-dark);transition:background .15s,transform .12s,box-shadow .12s}.primary-button>span{font:900 24px/1 Arial,sans-serif}.primary-button:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 var(--green-dark)}.no-timer{font-size:14px;color:var(--muted);text-align:center;line-height:1.7;margin:18px 0 0}.welcome-side{display:flex;flex-direction:column;gap:24px}.coach-card{text-align:center;padding:0 12px}.coach-art{width:250px;height:224px;margin:0 auto 12px;overflow:hidden}.coach-art img{width:100%;height:100%;object-fit:contain;display:block;transform:scale(1.3)}.coach-bubble{position:relative;display:inline-block;background:#fff;border:2px solid var(--line);border-bottom-width:4px;border-radius:20px;padding:15px 24px;font-size:16px;line-height:1.8;color:var(--muted)}.coach-name{display:block;color:#518936;font-size:13px;font-weight:800;margin-bottom:5px}.coach-bubble strong{color:var(--ink);font-weight:800}.coach-bubble:before{content:"";position:absolute;top:-10px;left:calc(50% - 9px);width:16px;height:16px;background:#fff;border-top:2px solid var(--line);border-left:2px solid var(--line);transform:rotate(45deg)}.topic-card{border:2px solid var(--line);border-radius:20px;padding:22px}.topic-card h2{font-size:16px;margin:0 0 20px}.topic-row{display:flex;align-items:center;gap:12px}.topic-row+.topic-row{margin-top:20px}.topic-row h3{font-size:15px;margin:0 0 4px;line-height:1.5}.topic-row p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.topic-icon{display:grid;place-items:center;width:42px;height:44px;flex-shrink:0;border-radius:12px;font:900 21px/1 Arial,sans-serif}.blue{color:#1985b4;background:#e4f5fc}.violet{color:#9060c4;background:#f1eafd}
.site-footer{border-top:2px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;color:var(--muted);font-size:14px}.site-footer>span{font:800 12px/2 Arial,sans-serif;letter-spacing:.08em}.source-details{max-width:610px;text-align:right;font-size:14px}.source-details summary{cursor:pointer;list-style-position:inside}.source-panel{font-size:14px;line-height:1.85;text-align:left;padding:16px 20px;margin-top:12px;background:#fff;border:2px solid var(--line);border-radius:16px}.source-panel p{margin:4px 0 12px}.source-panel ul{padding-left:20px}.source-panel li{margin:8px 0}.source-panel a{text-underline-offset:3px}
.quiz-layout{max-width:760px;margin:0 auto}.round-panel{margin-bottom:30px}.round-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;font-size:14px;font-weight:800}.round-title{color:var(--muted)}.round-counter{display:flex;align-items:baseline;gap:5px;color:var(--muted)}.round-counter strong{font:900 20px/1 Arial,sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}.progress-row{display:flex;align-items:center;gap:18px}.progress-track{height:18px;border-radius:20px;background:#e9edf0;overflow:hidden;flex:1;min-width:0}.progress-track>span{position:relative;display:block;width:0;height:100%;background:var(--green);border-radius:inherit;transition:width .35s ease}.progress-track>span:after{content:"";position:absolute;top:4px;left:8px;right:8px;height:5px;background:#ffffff4a;border-radius:10px}.round-score{display:flex;align-items:center;gap:6px;font-size:14px;color:#8f671a;white-space:nowrap}.round-score>span:first-child{color:#d39408;font-size:24px}.round-score strong{font:900 21px/1 Arial,sans-serif;font-variant-numeric:tabular-nums}.lesson-dots{display:flex;gap:10px;justify-content:space-between;margin-top:17px}.lesson-dot{width:27px;height:27px;display:grid;place-items:center;border:2px solid #e8ecf0;border-radius:50%;color:#84909b;background:#fff;font:700 12px/1 Arial,sans-serif}.lesson-dot.current{border-color:#9acf74;background:#f2fbe9;color:#457a29}.lesson-dot.correct{border-color:#96d36f;color:#427b27;background:#e8f7db}.lesson-dot.wrong{border-color:#f1b5bb;color:#b84152;background:#fff0f2}.question-card{min-width:0}.question-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.category-badge{background:#eaf7fe;border:1px solid #cceaf8;border-radius:10px;padding:7px 13px;font-size:14px;font-weight:800;color:#207a9f}.question-label{font-size:14px;color:var(--muted);font-weight:600}.question-heading{display:flex;align-items:center;gap:20px;margin:24px 0}.question-coach{width:100px;height:104px;flex-shrink:0;overflow:hidden}.question-coach img{width:100%;height:100%;object-fit:contain;transform:scale(1.3)}.question-card h2{font-size:clamp(22px,2.7vw,28px);line-height:1.65;letter-spacing:.005em;margin:0;outline:none;font-weight:900;overflow-wrap:anywhere}.answers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:4px 0 28px}.answer-button{border:2px solid var(--line);border-bottom-width:5px;border-radius:18px;background:#fff;color:var(--ink);min-height:85px;padding:17px 15px;text-align:left;display:flex;align-items:center;gap:12px;font-size:17px;font-weight:800;line-height:1.6;transition:background .13s,border-color .13s,transform .1s;overflow-wrap:anywhere}.answer-letter{font:800 14px/1 Arial,sans-serif;color:#91a0ad;display:grid;place-items:center;border:2px solid #e4e9ee;border-radius:9px;width:30px;height:30px;flex-shrink:0}.answer-text{flex:1;min-width:0}.answer-button:active:not(:disabled){transform:translateY(3px);border-bottom-width:2px;margin-bottom:3px}.answer-button:disabled{opacity:1}.answer-button.is-correct{border-color:#8ace63;background:#edfadf;color:#3c7a21;animation:correct-pop .24s ease-out}.answer-button.is-correct .answer-letter{border-color:#a7d985;color:#518a36}.answer-button.is-wrong{border-color:#ed9ca8;background:#fff0f2;color:#b04151;animation:wrong-shake .26s ease-out}.answer-button.is-wrong .answer-letter{border-color:#edb8bf;color:#b55e6b}.answer-button.is-muted{color:#87949f;background:#fafbfc;border-color:#edf0f2}.answer-mark{font-size:22px;font-weight:900}.feedback{border:2px solid #b9e399;border-bottom-width:4px;border-radius:18px;padding:21px 23px;background:#edfadf;animation:reveal .2s ease-out;scroll-margin-top:20px}.feedback.wrong{background:#fff0f2;border-color:#f0bac3}.feedback-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}.feedback-icon{display:grid;place-items:center;width:36px;height:36px;background:#71bd41;color:#fff;border-radius:50%;font:900 24px/1 Arial,sans-serif;flex-shrink:0}.wrong .feedback-icon{background:#e7798c}.feedback-label{font-size:21px;font-weight:900;color:var(--correct);margin:0;line-height:1.5}.feedback.wrong .feedback-label{color:var(--wrong)}.feedback-answer{font-size:17px;font-weight:800;margin:0 0 8px;line-height:1.65}.feedback-explanation{font-size:16px;line-height:1.85;margin:0;color:#526346}.wrong .feedback-explanation{color:#76545a}.source-link{display:inline-block;font-size:13px;line-height:1.7;margin-top:13px;color:#566c47;text-underline-offset:3px;overflow-wrap:anywhere}.wrong .source-link{color:#815b62}.question-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;padding-top:24px;border-top:2px solid var(--line)}.question-bottom>span{color:var(--muted);font-size:14px;line-height:1.7}.next-button{width:auto;min-width:190px;flex-shrink:0;font-size:16px;gap:16px}.primary-button:disabled{background:#e6eaee;color:#91a0ac;box-shadow:0 4px 0 #d7dfe5;transform:none}.primary-button.wrong-next{background:#f08092;box-shadow:0 5px 0 #ba455a}.primary-button.wrong-next:active{box-shadow:0 1px 0 #ba455a}
.results{display:grid;grid-template-columns:minmax(290px,.9fr) minmax(0,1.1fr);gap:38px;align-items:start}.result-summary{text-align:center;border:2px solid var(--line);border-bottom-width:5px;border-radius:var(--radius);padding:30px 25px}.complete-badge{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:9px 13px;background:#fff4c5;color:#926510;font-size:15px;font-weight:800}.complete-badge>span{color:#d39408;font-size:20px}.result-summary h1{font-size:25px;line-height:1.5;margin:21px 0 25px;outline:none;font-weight:900}.score-ring{--score-angle:0deg;width:178px;height:178px;border-radius:50%;padding:12px;background:conic-gradient(from -90deg,var(--green) var(--score-angle),#e9f0e4 0);margin:0 auto 26px}.score-ring>div{height:100%;border-radius:50%;background:#fff;display:flex;flex-direction:column;justify-content:center}.result-score{font:900 65px/1.1 "Arial Rounded MT Bold",Arial,sans-serif;color:#4da028}.result-denominator{font-size:14px;color:var(--muted);margin-top:5px}.result-summary h2{font-size:21px;line-height:1.6;margin:0 0 12px}.result-summary>p{font-size:16px;color:var(--muted);line-height:1.85;margin:0 0 20px}.result-note{font-size:14px;color:#5c823e;line-height:1.7;background:#f1fae7;border-radius:12px;padding:12px 10px;margin-bottom:23px}.result-note>span{font-weight:900;margin-right:4px}.text-button{background:none;border:0;color:var(--muted);font-size:14px;font-weight:800;min-height:52px;padding:16px 8px 0}.review-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.review-heading h2{font-size:21px;line-height:1.6;margin:4px 0 8px}.review-heading>span{font-size:14px;color:var(--muted);white-space:nowrap}.review-intro{font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 20px}.review-item{border:2px solid var(--line);border-bottom-width:4px;border-radius:16px;margin-bottom:12px}.review-item summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.7;padding:16px;font-weight:700}.review-item summary::-webkit-details-marker{display:none}.review-item summary:after{content:"＋";margin-left:auto;flex-shrink:0;color:#8796a3}.review-item[open] summary:after{content:"−"}.review-status{font-size:13px;flex-shrink:0;line-height:1.6;color:var(--correct);padding:3px 6px;background:#ebf8e0;border-radius:7px;font-weight:800}.review-status.wrong{color:var(--wrong);background:#fff0f2}.review-content{font-size:15px;line-height:1.85;padding:0 16px 20px;color:var(--muted)}.review-content p{margin:0 0 10px}.review-correct{font-weight:800;color:var(--ink)}.review-picked{color:#ab6671}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-200%);z-index:20;padding:12px;background:#fff}.skip-link:focus{transform:none}.noscript{padding:24px;border:2px solid var(--wrong);background:#fff;line-height:1.8}summary{touch-action:manipulation}
@media(hover:hover){.primary-button:hover:not(:disabled){background:#65c735}.primary-button.wrong-next:hover{background:#f48a9c}.answer-button:hover:not(:disabled){border-color:#86c6e0;background:#f0faff}.text-button:hover{color:var(--blue)}}
@keyframes reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes correct-pop{50%{transform:translateY(-3px)}}@keyframes wrong-shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media(max-width:900px){.welcome{gap:28px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.welcome h1{font-size:29px}.welcome h1 br{display:initial}.start-card{padding:24px}.start-card h2{font-size:23px}.topic-card{padding:19px}.coach-art{width:220px;height:205px}.results{gap:24px;grid-template-columns:1fr 1fr}.result-summary{padding:26px 20px}}
@media(max-width:680px){.page-shell{width:calc(100% - 36px)}.site-header{height:82px}.brand{gap:9px;font-size:14px}.brand-symbol{font-size:38px}.brand-sub{font-size:13px}.edition{font-size:12px;padding:8px 9px;border-radius:10px}main{padding:28px 0 34px;min-height:calc(100svh - 163px)}.welcome{grid-template-columns:1fr;gap:26px;max-width:480px;margin:0 auto}.welcome-heading{text-align:center;margin-bottom:23px}.welcome h1{font-size:27px;margin-top:9px}.welcome h1 br{display:none}.eyebrow{font-size:12px}.intro{font-size:15px}.start-card{padding:23px 22px;border-radius:22px}.start-card h2{font-size:23px;margin-top:21px}.start-description{font-size:16px}.start-facts{margin:17px 0 21px}.no-timer{font-size:13px;margin-top:17px}.welcome-side{gap:20px}.coach-card{display:flex;align-items:center;justify-content:center;gap:8px;padding:0}.coach-art{width:120px;height:125px;flex-shrink:0;margin:0}.coach-bubble{padding:12px 15px;font-size:14px}.coach-bubble:before{left:-10px;top:calc(50% - 9px);transform:rotate(-45deg)}.coach-name{font-size:12px;margin-bottom:3px}.topic-card{padding:20px}.topic-card h2{margin-bottom:18px}.topic-row+.topic-row{margin-top:18px}.site-footer{gap:10px;padding:22px 0}.site-footer>span{font-size:11px}.source-details{font-size:13px;max-width:68%}.source-panel{padding:14px}.round-panel{margin-bottom:23px}.round-heading{margin-bottom:14px}.progress-row{gap:12px}.progress-track{height:16px}.round-score{font-size:13px;gap:4px}.round-score strong{font-size:19px}.round-score>span:first-child{font-size:22px}.lesson-dots{gap:4px;margin-top:15px}.lesson-dot{width:23px;height:23px;font-size:12px}.question-meta{gap:8px}.category-badge{font-size:13px;padding:6px 10px}.question-label{font-size:13px}.question-heading{gap:10px;margin:20px 0}.question-coach{width:70px;height:80px}.question-card h2{font-size:22px;line-height:1.65}.answers{grid-template-columns:1fr;gap:12px;margin-bottom:22px}.answer-button{min-height:64px;padding:13px 14px;font-size:16px;border-radius:15px}.answer-letter{width:28px;height:28px}.feedback{padding:19px 17px;border-radius:16px}.feedback-label{font-size:20px}.feedback-explanation{font-size:16px}.question-bottom{flex-direction:column;align-items:stretch;gap:15px;margin-top:22px;padding-top:20px}.question-bottom>span{text-align:center;font-size:13px}.next-button{width:100%;min-height:54px}.results{grid-template-columns:1fr;gap:28px}.result-summary{padding:26px 21px}.result-summary h1{font-size:24px}.review-heading h2{font-size:20px}.review-item summary{padding:15px 13px}.review-content{padding-left:13px;padding-right:13px}}
@media(max-width:370px){.page-shell{width:calc(100% - 28px)}.brand{font-size:13px}.brand-sub{font-size:12px}.brand-symbol{font-size:34px}.edition{font-size:12px;padding:7px}.welcome h1{font-size:24px}.start-card{padding:21px 18px}.question-coach{display:none}.coach-art{width:100px;height:110px}.coach-bubble{padding:11px}.lesson-dots{gap:2px}.lesson-dot{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

