:root{--color-bg:#fcfcfa;--color-surface:#fff;--color-text:#1f2328;--color-muted:#5b636b;--color-border:#dde1e4;--color-accent:#1f6f5c;--color-accent-soft:#e5f2ee;--color-warn-bg:#fff6e0;--color-warn-text:#7a4b00;--color-pr-bg:#6b7280;--radius:8px;--font-sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);margin:0;font-size:16px;line-height:1.8}a{color:var(--color-accent)}h1,h2,h3{line-height:1.4}h1{margin:.5rem 0 1rem;font-size:1.6rem}h2{border-bottom:2px solid var(--color-accent-soft);margin:2.5rem 0 .75rem;padding-bottom:.25rem;font-size:1.25rem}h3{margin:1.5rem 0 .5rem;font-size:1.05rem}.container{width:100%;max-width:960px;margin:0 auto;padding:0 16px}main.container{padding-bottom:3rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{position:absolute;left:-9999px}.skip-link:focus{background:var(--color-surface);z-index:10;padding:4px 8px;top:8px;left:16px}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.site-header__inner{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;padding-top:.75rem;padding-bottom:.75rem;display:flex}.site-logo{color:var(--color-text);font-size:1.3rem;font-weight:700;text-decoration:none}.site-tagline{color:var(--color-muted);font-size:.85rem}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);padding:1.5rem 0;font-size:.9rem}.footer-links{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.footer-note,.footer-copy{margin:.25rem 0}.env-banner{background:var(--color-warn-bg);color:var(--color-warn-text);text-align:center;padding:.4rem 16px;font-size:.85rem}.breadcrumbs ol{color:var(--color-muted);flex-wrap:wrap;margin:1rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";margin:0 .5rem}.promotion-notice{color:var(--color-muted);margin:.75rem 0 0;font-size:.8rem}.lead{color:var(--color-muted)}.badge{vertical-align:middle;white-space:nowrap;border-radius:999px;padding:0 .5rem;font-size:.75rem;line-height:1.6;display:inline-block}.badge--unverified{background:var(--color-warn-bg);color:var(--color-warn-text);border:1px solid #f0d9a8}.badge--stale{color:#8a1c12;background:#fdecea}.pr-label{background:var(--color-pr-bg);color:#fff;vertical-align:.1em;border-radius:3px;margin-right:.35rem;padding:0 .35rem;font-size:.7rem;font-weight:700;line-height:1.5;text-decoration:none;display:inline-block}.button,.affiliate-link.button{background:var(--color-accent);color:#fff;border-radius:var(--radius);padding:.5rem 1.1rem;font-weight:700;text-decoration:none;display:inline-block}.button:hover{opacity:.9}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.25rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;padding:0;list-style:none;display:grid}.card h3{margin-top:0}.exits{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;padding:0;list-style:none;display:grid}.definition{grid-template-columns:max-content 1fr;gap:.25rem 1.25rem;margin:0;display:grid}.definition dt{color:var(--color-muted);font-weight:700}.definition dd{margin:0}.source-note{color:var(--color-muted);border-left:3px solid var(--color-border);margin:1.5rem 0;padding:.25rem 0 .25rem .75rem;font-size:.85rem}.source-note p,.source-note ul{margin:.2rem 0}.source-note__list{padding-left:1.1rem}.source-note.is-stale{border-left-color:#d9822b}.source-note__warning{color:var(--color-warn-text);font-weight:700}.mikke-cta{border-radius:var(--radius);background:var(--color-accent-soft);margin-top:3rem;padding:1.25rem}.mikke-cta h2{border:none;margin-top:0}.faq dt{margin-top:1rem;font-weight:700}.faq dd{margin:.25rem 0 0}.empty-state{border:1px dashed var(--color-border);border-radius:var(--radius);color:var(--color-muted);text-align:center;padding:1.5rem}.todo{background:var(--color-warn-bg);color:var(--color-warn-text);border-radius:var(--radius);padding:.5rem .75rem;font-size:.9rem}.course-filter{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1rem;margin:1rem 0;padding:1rem;display:grid}.course-filter fieldset{border:none;margin:0;padding:0}.course-filter legend,.course-filter label.field-label{margin-bottom:.25rem;font-size:.85rem;font-weight:700;display:block}.course-filter select{width:100%;font:inherit;padding:.35rem;font-size:.95rem}.course-filter .check{font-size:.95rem;display:block}.course-filter__actions{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.link-button{color:var(--color-accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);overflow-x:auto}.course-table{border-collapse:collapse;width:100%;min-width:960px;font-size:.9rem}.course-table th,.course-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.6rem .75rem}.course-table thead th{white-space:nowrap;background:#f3f5f6;font-size:.8rem}.course-table .num{white-space:nowrap}.course-table .note{color:var(--color-muted);font-size:.75rem;display:block}.card+.card{margin-top:1rem}.course-table tbody th[scope=row]{white-space:nowrap}.badge--held{color:var(--color-muted);background:#eef1f3;margin-left:.25rem}.course-table .campaign-price{color:var(--color-warn-text)}.support-program+.support-program{margin-top:.5rem}
