:root{color-scheme:light dark;--bg:#fff;--fg:#1b1b1f;--muted:#5b5f6b;--line:#e2e4ea;--accent:#0b6ed0;--accent-strong:#0959ab;--bg-sub:#f7f8fa;--accent-bg:#e9f2fd;--fill:#e5e7ee;--fill-strong:#d6d9e3;--shadow-1:0 1px 2px #14192d14;--shadow-2:0 2px 6px #14192d1f;--shadow-accent:0 1px 2px #14192d1f, 0 4px 12px #0b6ed042;--shadow-accent-lift:0 2px 4px #14192d24, 0 8px 20px #0b6ed052;--ok:#1a7f4b;--ok-bg:#eaf6ef;--ng:#b23c3c;--ng-bg:#fbeeee;--max:52rem}@media (prefers-color-scheme:dark){:root{--bg:#16171b;--fg:#e8e9ed;--muted:#a0a4b0;--line:#2c2e36;--accent:#6fb6f5;--accent-strong:#93cbfa;--bg-sub:#1b1d22;--accent-bg:#16283a;--fill:#2b2e38;--fill-strong:#363a46;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 6px #00000080;--shadow-accent:0 1px 2px #0006, 0 4px 12px #00000073;--shadow-accent-lift:0 2px 4px #00000073, 0 8px 20px #0000008c;--ok:#5cc98a;--ok-bg:#17301f;--ng:#ef8a8a;--ng-bg:#33201f}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--fg);flex-direction:column;min-height:100vh;margin:0;font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;line-height:1.8;display:flex}main{width:100%;max-width:var(--max);flex:1;margin:0 auto;padding:2rem 1.25rem 4rem}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.site-header-inner{max-width:var(--max);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.9rem 1.25rem;display:flex}.site-name{color:var(--fg);align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.site-mark{flex:none;width:1.7rem;height:1.7rem}.site-header nav{gap:1rem;font-size:.9rem;display:flex}.site-header nav a{color:var(--muted);text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--accent)}.site-footer{border-top:1px solid var(--line);background:var(--bg-sub)}.site-footer-inner{max-width:var(--max);color:var(--muted);margin:0 auto;padding:2rem 1.25rem 3rem;font-size:.85rem}.site-footer nav{flex-wrap:wrap;gap:1.25rem;margin-bottom:1.25rem;display:flex}.site-notes{gap:.5rem;margin:0;padding:0;line-height:1.7;list-style:none;display:grid}.site-copyright{margin:1.5rem 0 0}a{color:var(--accent)}h1{font-size:1.6rem;line-height:1.3}h2{border-bottom:1px solid var(--line);margin-top:2.5rem;padding-bottom:.4rem;font-size:1.25rem;line-height:1.4}h3{color:var(--muted);margin-top:1.75rem;font-size:1.05rem;line-height:1.4}.field-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.2rem 1rem;display:flex}.field-heading-stat{color:var(--muted);font-size:.85rem;font-weight:400}table{border-collapse:collapse;width:100%;margin:1.25rem 0;line-height:1.6}th,td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:.55rem .75rem}th{background:var(--fill);font-weight:700}td{background:var(--bg)}.lead{color:var(--muted)}.category-group{border:1px solid var(--line);background:var(--bg-sub);border-radius:.75rem;margin-top:1.25rem;padding:1rem 1.25rem 1.25rem}.category-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.category-list{background:linear-gradient(var(--line), var(--line)) no-repeat center / 1px 100%;grid-template-columns:repeat(2,1fr);column-gap:3.5rem}}.group-heading{color:var(--fg);border-bottom:none;margin-top:0;margin-bottom:.75rem;padding-bottom:0;font-weight:700}.category-list li{align-items:baseline;gap:.7rem;padding:.45rem 0;display:flex}.count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.hero{border-bottom:1px solid var(--line);padding:1rem 0 2.5rem}.hero h1{margin:0 0 1rem;font-size:1.75rem;line-height:1.3}.hero-lead{margin:0;font-size:1.05rem}.hero-actions .primary-button{margin-top:1.75rem}.hero-note{color:var(--muted);margin:.75rem 0 0;font-size:.85rem}.resume{border:1px solid var(--accent);background:var(--accent-bg);border-radius:.75rem;margin:2rem 0 0;padding:1.25rem}.resume-text{margin:0;font-weight:600}.resume .primary-button{margin-top:1rem}.feature-list{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.feature-list li{border-left:3px solid var(--accent);gap:.3rem;padding-left:1rem;display:grid}.feature-list b{font-size:1.02rem}.quiz-links{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.quiz-links a{border:1px solid var(--line);color:inherit;border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;padding:.9rem 1rem;text-decoration:none;display:flex}.quiz-links a:hover{border-color:var(--accent)}.quiz-link-name{color:var(--accent);font-weight:700}.quiz-link-meta{color:var(--muted);font-size:.85rem}.exam-cards{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.exam-cards{grid-template-columns:repeat(2,1fr)}}.exam-cards .is-planned{border:1px dashed var(--line);background:var(--bg-sub);color:var(--muted);border-radius:.75rem;padding:1.1rem}.exam-card-head{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 .4rem;display:flex}.exam-card-name{color:var(--fg);font-weight:700}.exam-card-badge{background:var(--line);color:var(--muted);letter-spacing:.04em;white-space:nowrap;border-radius:999px;flex:none;padding:.1rem .55rem;font-size:.7rem;font-weight:700}.exam-card-note{margin:0;font-size:.9rem;line-height:1.7}.field-cards{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.field-cards{grid-template-columns:repeat(3,1fr)}}.field-cards a,.field-cards .is-empty{border:1px solid var(--line);height:100%;color:inherit;border-radius:.75rem;gap:.3rem;padding:1.1rem;text-decoration:none;display:grid}.field-cards a:hover{border-color:var(--accent)}.field-cards .is-empty{color:var(--muted);background:var(--bg-sub)}.field-card-name{font-weight:700}.field-cards a .field-card-name{color:var(--accent)}.field-card-meta{color:var(--muted);font-size:.85rem}.field-card-count{font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:.9rem}.stats{border:1px solid var(--line);border-radius:.5rem;flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0 0;padding:1rem 1.25rem;display:flex}.stats>div{gap:.15rem;display:grid}.stats dt{color:var(--muted);font-size:.8rem}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem;font-weight:700}.primary-button,.secondary-button,.ghost-button{width:100%;font:inherit;text-align:center;cursor:pointer;border:1px solid #0000;border-radius:.5rem;margin:1.5rem 0 0;padding:.9rem 1rem;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s,color .15s;display:block}.primary-button:active,.secondary-button:active{box-shadow:var(--shadow-1);transform:translateY(1px)}.primary-button:focus-visible,.secondary-button:focus-visible,.ghost-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary-button{background:var(--accent);color:var(--bg);box-shadow:var(--shadow-accent)}.primary-button:hover{background:var(--accent-strong);box-shadow:var(--shadow-accent-lift)}.secondary-button{background:var(--fill);color:var(--fg);box-shadow:var(--shadow-1)}.secondary-button:hover{background:var(--fill-strong);box-shadow:var(--shadow-2)}.ghost-button{border-color:var(--line);color:var(--muted);background:0 0;font-weight:600}.ghost-button:hover{border-color:var(--accent);color:var(--accent)}@media (prefers-reduced-motion:reduce){.primary-button,.secondary-button,.ghost-button{transition:none}.primary-button:active,.secondary-button:active{transform:none}}.notice{border:1px solid var(--line);color:var(--muted);border-radius:.5rem;margin:1.5rem 0 0;padding:.9rem 1rem;font-size:.9rem}.quiz-progress{gap:.4rem;margin:0 0 1.5rem;display:grid}.quiz-progress-text{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.quiz-progress-bar{background:var(--line);border-radius:999px;height:4px;display:block;overflow:hidden}.quiz-progress-fill{background:var(--accent);border-radius:999px;width:0;height:100%;display:block}.result-score{border:1px solid var(--line);text-align:center;border-radius:.75rem;margin:0 0 2rem;padding:1.5rem}.result-score.is-perfect{border-color:var(--ok);background:var(--ok-bg)}.result-score-main{font-variant-numeric:tabular-nums;margin:0;font-size:1.3rem;font-weight:700}.result-score-main b{color:var(--accent);font-size:2.4rem}.result-score.is-perfect .result-score-main b{color:var(--ok)}.result-score-sub{color:var(--muted);justify-content:center;gap:1rem;margin:.25rem 0 0;font-size:.9rem;display:flex}.review-list{gap:.75rem;display:grid}.review-item{border:1px solid var(--line);border-left:4px solid var(--ng);border-radius:.5rem;padding:.9rem 1rem}.review-item summary{cursor:pointer;gap:.6rem;font-weight:600;display:flex}.review-mark{color:var(--ng);flex:none;font-weight:700}.review-choices{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.review-choices li{border-left:3px solid var(--line);padding-left:.75rem}.review-choices .is-correct{border-left-color:var(--ok)}.review-choice-head{gap:.6rem;margin:0 0 .2rem;font-weight:600;display:flex}.review-choice-body{color:var(--muted);margin:0;font-size:.95rem}.review-link{margin-top:1rem;font-size:.9rem;display:inline-block}.field-bars{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.field-bars li{grid-template-columns:1fr auto;gap:.3rem 1rem;display:grid}.field-bars .is-current .field-bar-label{font-weight:700}.field-bar-label{font-size:.9rem}.field-bar-track{background:var(--line);border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.field-bar-fill{background:var(--accent);border-radius:999px;width:0;height:100%;display:block}.legal h2{margin-top:2.5rem;font-size:1.1rem}.legal p{margin:0 0 1rem}.legal ul{gap:.4rem;margin:0 0 1.25rem;padding-left:1.5rem;display:grid}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;padding:0;font-size:.85rem;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";color:var(--line);margin-right:.5rem}.question-meta{color:var(--muted);flex-wrap:wrap;gap:.75rem;margin:0;font-size:.85rem;display:flex}.difficulty{letter-spacing:.1em}.question-text{white-space:pre-wrap;margin:.75rem 0 1.5rem;font-size:1.2rem;font-weight:600;line-height:1.8}.choices{gap:.6rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.choice{border:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:.5rem;gap:.75rem;padding:.9rem 1rem;line-height:1.7;display:flex}.choice:hover:not(:disabled){border-color:var(--accent)}.choice:disabled{cursor:default;opacity:.85}.choice-label{color:var(--muted);flex:none;font-weight:700}.choice-text{flex:1}.choice-mark{flex:none;font-weight:700;line-height:1}.choice.is-answer{border-color:var(--ok);background:var(--ok-bg);opacity:1}.choice.is-answer .choice-mark{color:var(--ok)}.choice.is-wrong{border-color:var(--ng);background:var(--ng-bg);opacity:1}.choice.is-wrong .choice-mark{color:var(--ng)}.choice.is-chosen{border-width:2px}.explanation{border-top:2px solid var(--line);padding-top:1.5rem}.js .explanation:not(.is-revealed){visibility:hidden;border-top-width:0;height:0;margin:0;padding:0;overflow:hidden}.verdict{border-radius:.5rem;margin:0 0 1rem;padding:.75rem 1rem;font-weight:700}.verdict.is-correct{background:var(--ok-bg);color:var(--ok)}.verdict.is-wrong{background:var(--ng-bg);color:var(--ng)}.answer{margin:0 0 1.25rem;font-size:1.1rem}.answer b{color:var(--accent);font-size:1.3rem}.choice-comments{gap:1rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.choice-comments li{border:1px solid var(--line);border-left-width:4px;border-radius:.5rem;padding:.9rem 1rem}.choice-comments .is-correct{border-left-color:var(--ok)}.choice-comments .is-wrong{border-left-color:var(--ng)}.choice-comments .is-chosen{border-color:var(--accent);border-left-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.choice-comments .is-chosen .choice-comment-head:after{content:"あなたの解答";background:var(--accent);color:var(--bg);white-space:nowrap;border-radius:999px;flex:none;margin-left:auto;padding:.1rem .5rem;font-size:.75rem;font-weight:700}.choice-comment-head{gap:.75rem;margin:0 0 .4rem;font-weight:600;display:flex}.choice-comment-body{color:var(--muted);margin:0}.question-list{gap:.75rem;margin:0;padding-left:1.5rem;display:grid}.question-list li{border-bottom:1px solid var(--line);padding-bottom:.75rem}.question-list .count{font-size:.85rem;display:block}.question-footer{color:var(--muted);margin-top:2.5rem;font-size:.9rem}.next-bar{padding:.75rem 1.25rem calc(.75rem + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);margin:2rem -1.25rem 0;position:sticky;bottom:0}.next-button{background:var(--accent);color:var(--bg);text-align:center;border-radius:.5rem;padding:.9rem 1rem;font-weight:700;text-decoration:none;display:block}.contact-form{gap:1.5rem;margin:2rem 0 0;display:grid}.contact-field{gap:.4rem;display:grid}.contact-field label{font-size:.95rem;font-weight:700}.contact-field input,.contact-field select,.contact-field textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--fg);font:inherit;border-radius:.5rem;padding:.7rem .8rem}.contact-field textarea{resize:vertical;min-height:12rem;line-height:1.8}.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.contact-note{color:var(--muted);margin:0;font-size:.85rem}.contact-note code{font-size:.95em}.contact-form .primary-button{margin:0}.contact-status{border:1px solid var(--line);border-radius:.5rem;margin:1.5rem 0 0;padding:.9rem 1rem;font-size:.95rem}.contact-status.is-ok{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.contact-status.is-ng{border-color:var(--ng);background:var(--ng-bg);color:var(--ng)}.sample{border:1px solid var(--line);background:var(--bg-sub);border-radius:.75rem;margin-top:2.5rem;padding:1.25rem}.sample h2{border-bottom:none;margin-top:0;padding-bottom:0}.sample-field{color:var(--muted);font-size:.85rem;font-weight:400}.sample-question{white-space:pre-wrap;font-weight:600}.sample-choices{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.sample-choices li{border:1px solid var(--line);background:var(--bg);border-radius:.5rem;gap:.7rem;padding:.6rem .8rem;display:flex}.sample-label{flex:none;font-weight:700}.sample-answer{margin-top:1.25rem}.sample-answer>summary{background:var(--fill);cursor:pointer;border-radius:.5rem;padding:.6rem .8rem;font-weight:700}.sample-verdict{color:var(--ok);font-weight:700}.sample-related{font-size:.9rem}.sample-source{border:1px solid var(--line);background:var(--bg-sub);border-radius:.5rem;padding:.9rem 1rem;font-size:.9rem}
