:root{color-scheme:light;--ink:#102b44;--muted:#617385;--line:#dae2e8;--bg:#f3f6f8;--yellow:#dded5b;--blue:#185cd4;--soft:#9c452c;font-family:Inter,"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}a{color:inherit;text-underline-offset:4px}button{touch-action:manipulation}.masthead{background:var(--ink);color:#fff;border-bottom:4px solid var(--yellow)}.header-inner{max-width:1280px;margin:auto;min-height:78px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:27px;font-weight:900;font-style:italic;letter-spacing:.065em;text-decoration:none;line-height:1.1}.brand span{display:block;font-size:10px;font-style:normal;letter-spacing:.14em;font-weight:600;margin-top:7px}.version{font-size:13px;border:1px solid #657689;border-radius:4px;padding:6px 10px}main{max-width:1280px;margin:auto;padding:38px 40px 22px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.07em;color:var(--muted)}h1{font-size:clamp(24px,2.8vw,34px);margin:7px 0 0;line-height:1.5;letter-spacing:.015em}.mobile-break{display:none}.period{display:flex;flex-direction:column;gap:6px;border-left:3px solid var(--yellow);padding-left:20px;flex:none}.period>span{font-size:15px}.period strong{font-size:20px}.period b{font-size:17px;white-space:nowrap}.period b span{font-size:12px;border:1px solid var(--line);border-radius:50%;padding:3px;margin:0 3px;font-weight:500}.workspace{display:grid;grid-template-columns:290px minmax(0,1fr);gap:32px;align-items:start}.filters{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;position:sticky;top:20px}.filter-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}.filter-heading h2{font-size:17px;margin:0}.text-button{border:0;background:none;color:#496577;text-decoration:underline;text-underline-offset:4px;font-size:13px;padding:4px 0;min-height:32px}.searchbox{position:relative;display:block}.searchbox svg{position:absolute;width:19px;height:19px;left:12px;top:15px;stroke:var(--muted);fill:none;stroke-width:1.7}.searchbox input{width:100%;min-width:0;border:1px solid #c6d2dc;border-radius:6px;background:#fbfcfd;min-height:48px;padding:10px 8px 10px 38px;font-size:14px;color:var(--ink)}input::placeholder{color:#778794}fieldset{border:0;padding:0;margin:22px 0 0;min-width:0}legend{padding:0;margin-bottom:10px;font-size:14px;font-weight:700}.muted{color:var(--muted);font-weight:400;font-size:12px;margin-left:8px}.segmented{display:flex;background:#edf2f6;border-radius:6px;padding:4px;gap:2px}.segmented button{border:0;background:transparent;padding:9px 4px;flex:1;border-radius:4px;font-size:14px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:0 2px 5px #102b4420}.day-buttons{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.day-buttons button{border:1px solid var(--line);border-radius:5px;background:#fff;font-size:14px;padding:10px 0;min-height:42px}.day-buttons button[data-day="5"]{color:#1b5aa9}.day-buttons button[data-day="6"]{color:#ad4134}.day-buttons button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.advanced{margin-top:23px;border-top:1px solid var(--line);padding-top:18px}.advanced summary{font-size:14px;font-weight:700;cursor:pointer;line-height:1.7}.advanced-inner{padding-top:18px;display:grid;gap:16px}.advanced label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}.advanced select{font-weight:400;font-size:14px;color:var(--ink);border:1px solid #c7d3dc;border-radius:5px;padding:10px 25px 10px 9px;width:100%;background:#fff;min-height:44px}.time-fields{display:grid;gap:12px;grid-template-columns:1fr}.slot-toggle{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.6;margin-top:22px;cursor:pointer}.slot-toggle input{accent-color:var(--ink);width:18px;height:18px;flex:none;margin:3px 0 0}.slot-toggle small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.guide-button{margin-top:20px;width:100%;border:1px solid var(--line);background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:space-between;padding:11px 12px;font-size:13px;min-height:44px}.guide-button span{font-weight:800;width:18px;height:18px;border:1px solid #8a9baa;border-radius:50%;font-size:12px}.source-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:17px}.results-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:63px}.results-header h2{display:flex;align-items:baseline;gap:8px;margin:0}.results-header strong{font-size:34px;font-weight:750;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.results-header h2 span{font-size:16px;font-weight:600}.results-header p{font-size:13px;color:var(--muted);margin:4px 0 0}.sort-label select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:9px;font-size:14px;min-height:42px}.active-filters{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.active-filters:empty{display:none}.filter-chip{display:inline-flex;align-items:center;gap:8px;background:#e5ebf1;border:0;padding:7px 9px;border-radius:4px;font-size:12px;min-height:34px}.day-group{margin-top:24px}.day-heading{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-size:16px}.day-heading>span:first-child{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;background:var(--ink);color:#fff;font-size:17px}.day-heading .day-count{color:var(--muted);font-size:13px;font-weight:400}.day-heading:after{content:"";height:1px;background:var(--line);flex:1}.lesson-card{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:110px minmax(0,1fr);margin-bottom:10px;overflow:hidden;transition:border-color .15s}.lesson-card:hover{border-color:#8ba2b4}.card-time{padding:22px 15px;background:#f8fafb;border-right:1px solid #e4eaf0;display:flex;flex-direction:column;align-items:center;line-height:1.15;font-variant-numeric:tabular-nums}.card-time strong{font-size:24px;letter-spacing:-.02em;font-weight:750}.card-time .end{font-size:14px;color:var(--muted);margin-top:7px}.card-time .duration{margin-top:13px;font-size:12px;color:var(--muted)}.card-time .weekday{font-size:12px;margin-bottom:9px;background:#e4ebf0;padding:4px 8px;border-radius:3px}.card-content{padding:17px 21px;min-width:0}.card-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:8px}.badge{font-size:12px;padding:3px 7px;border-radius:3px;font-weight:650;background:#eaf1fd;color:#195aaf}.badge.soft{background:#fff0e9;color:#9b432c}.badge.slot{background:#edf0f3;color:#576a79}.code{font-size:13px;color:#4d6577;font-weight:600}.card-content h3{font-size:18px;line-height:1.55;margin:0 0 9px;overflow-wrap:anywhere}.card-meta{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:14px;line-height:1.6;color:#526779}.card-meta b{color:#244359;font-weight:600}.card-details{margin-top:11px;border-top:1px solid #edf1f4;padding-top:8px;font-size:13px;color:var(--muted)}.card-details summary{cursor:pointer;font-size:13px;min-height:24px}.card-details p{line-height:1.85;margin:7px 0 2px;overflow-wrap:anywhere}.notice-badge{font-size:12px;color:#725715;display:inline-flex;gap:5px;background:#fff7db;padding:3px 6px;border-radius:3px}.empty{text-align:center;border:1px dashed #b4c2ce;border-radius:10px;background:#fff;padding:55px 20px;margin-top:24px}.empty-symbol{display:block;font-size:42px;font-weight:700;color:#b4c5d1}.empty h3{font-size:18px;margin:15px 0 10px}.empty p{color:var(--muted);font-size:14px;line-height:1.9}.primary-button{border:0;background:var(--ink);color:#fff;border-radius:5px;min-height:44px;padding:12px 24px;font-size:14px;margin-top:12px}.result-footnote{font-size:12px;color:var(--muted);line-height:1.8;margin:24px 0}.time-error{color:#a5372e;background:#fff0ee;padding:15px;border-radius:6px;font-size:14px;line-height:1.8}footer{margin-top:40px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:24px;font-size:12px;color:var(--muted);line-height:1.9}footer b{font-size:13px;color:#355066;font-weight:600}footer p{margin-top:5px}.footer-links{display:flex;flex-direction:column;gap:8px;flex:none}dialog{color:var(--ink);border:0;border-radius:14px;padding:28px;width:min(590px,calc(100% - 32px));max-height:85dvh;box-shadow:0 30px 120px #102b444d}dialog::backdrop{background:#102b4477;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-heading h2{font-size:24px;margin:5px 0}.close-button{border:1px solid var(--line);border-radius:50%;width:42px;height:42px;font-size:28px;background:#fff;flex:none}.guide-intro{font-size:14px;color:var(--muted)}.glossary{margin-top:24px}.glossary>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;border-top:1px solid var(--line);padding:13px 0;font-size:14px;line-height:1.75}.glossary dt{font-weight:700}.glossary dd{margin:0}.guide-caution{background:#f3f6f8;border-radius:6px;padding:14px;font-size:13px;line-height:1.9;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}@media(min-width:901px){.advanced summary{list-style:none;pointer-events:none}.advanced summary::-webkit-details-marker{display:none}}@media(max-width:1000px){main{padding:30px 24px}.header-inner{padding:0 24px}.workspace{grid-template-columns:270px minmax(0,1fr);gap:22px}.filters{padding:19px}.card-content{padding:16px}.title-row{gap:14px}.period{padding-left:14px}}@media(max-width:900px){main{max-width:740px}.workspace{display:block}.filters{position:static;padding:20px;margin-bottom:26px}.filter-heading{margin-bottom:15px}.searchbox input{font-size:16px}.filters fieldset{margin-top:16px}.day-buttons{gap:7px}.day-buttons button{min-height:44px}.advanced{padding-top:14px;margin-top:18px}.advanced-inner{grid-template-columns:1fr 1fr}.time-fields{grid-column:1/-1;grid-template-columns:1fr 1fr}.slot-toggle{margin-top:17px}.guide-button{margin-top:13px}.source-note{margin-top:10px}.period b{font-size:15px}footer{flex-direction:column;gap:12px}}@media(max-width:520px){.header-inner{min-height:69px;padding:0 20px}.brand{font-size:24px}.brand span{font-size:9px}.version{font-size:12px;padding:5px 7px}main{padding:26px 16px 24px}.title-row{align-items:flex-start;margin-bottom:22px}.eyebrow{font-size:12px}h1{font-size:25px;letter-spacing:0;line-height:1.55}.mobile-break{display:block}.period{padding-left:10px;gap:6px;margin-top:3px}.period>span{font-size:12px}.period strong{font-size:16px}.period b{font-size:12px;white-space:normal;line-height:1.7}.period b span{display:none}.filters{padding:17px}.filter-heading h2{font-size:16px}.advanced-inner{grid-template-columns:1fr}.time-fields{grid-column:auto}.results-header strong{font-size:31px}.results-header h2 span{font-size:15px}.sort-label select{font-size:13px}.day-group{margin-top:21px}.lesson-card{grid-template-columns:84px minmax(0,1fr)}.card-time{padding:19px 9px}.card-time strong{font-size:21px}.card-time .end{font-size:13px}.card-content{padding:14px 13px}.card-content h3{font-size:16px;margin-bottom:8px}.card-meta{font-size:13px;gap:4px 10px}.code{font-size:12px}.badge{font-size:12px}.card-details p{font-size:13px}.glossary>div{grid-template-columns:95px 1fr}.dialog-heading h2{font-size:22px}dialog{padding:21px}.source-note{font-size:12px}.result-footnote{font-size:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.trial-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0 8px;padding:18px 20px;border:1px solid #cbd8b3;border-radius:8px;background:#f7fae9}.trial-banner b{font-size:15px}.trial-banner p{font-size:12px;line-height:1.8;color:#526576;margin:5px 0 0}.trial-cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:50px;background:var(--ink);color:#fff;border-radius:6px;padding:13px 20px;text-decoration:none;font-size:15px;font-weight:700;text-align:center;line-height:1.6;flex-shrink:0}.trial-cta:hover{background:#234763}.trial-cta span{font-size:12px;font-weight:400;color:#e0e9ee}.mobile-trial-bar{display:none}@media(min-width:901px) and (max-width:1080px){.trial-banner{align-items:stretch;flex-direction:column;gap:12px}}@media(max-width:900px){body{padding-bottom:calc(118px + env(safe-area-inset-bottom))}html{scroll-padding-bottom:calc(130px + env(safe-area-inset-bottom))}.mobile-trial-bar{display:block;position:fixed;z-index:30;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 16px calc(8px + env(safe-area-inset-bottom))}.mobile-trial-bar .trial-cta{width:100%;max-width:700px;margin:auto;min-height:48px;background:var(--ink)}.mobile-trial-bar p{font-size:12px;text-align:center;margin:5px 0 0;color:var(--muted);line-height:1.5}.trial-banner{flex-direction:column;align-items:stretch;padding:16px;gap:12px}.trial-banner .trial-cta span{display:none}}
.card-trial{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;border-top:1px solid #edf1f4;margin-top:13px;padding-top:13px}.lesson-trial-button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:5px;min-height:44px;padding:9px 16px;font-size:14px;font-weight:650;line-height:1.6}.lesson-trial-button:hover{background:#234763}.lesson-trial-button.consultation{background:#fff;color:var(--ink);border-color:#aebfcb}.lesson-trial-button.consultation:hover{background:#f0f5f8}.card-trial>span{font-size:12px;color:var(--muted);line-height:1.65}.lesson-card.is-selected{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.trial-selection{margin:20px 0;padding:18px;background:#f3f6f8;border-left:4px solid var(--yellow);border-radius:6px}.trial-selection p{margin:0;font-size:14px;color:var(--muted);line-height:1.75}.trial-selection #trial-when{font-size:21px;font-weight:750;color:var(--ink);font-variant-numeric:tabular-nums}.trial-selection h3{font-size:18px;line-height:1.6;margin:8px 0 6px}.trial-selection small{display:block;color:var(--muted);font-size:12px;margin-top:9px;line-height:1.7}.trial-category>label{display:block;font-size:14px;font-weight:650;margin-bottom:8px}.trial-category select{width:100%;min-height:46px;border:1px solid #b9c9d5;border-radius:6px;padding:9px;font-size:14px;background:#fff;color:var(--ink)}.trial-category p{font-size:15px;line-height:1.8;margin:0}.trial-explanation{font-size:14px;line-height:1.9;color:#526576;margin:18px 0}.trial-preview{padding:13px 15px;border:1px solid var(--line);background:#fafbfd;border-radius:6px;font-size:13px;line-height:1.9;overflow-wrap:anywhere}.trial-form-note{font-size:12px;line-height:1.85;color:var(--muted);margin:13px 0 0}#trial-open-form[aria-disabled=true]{opacity:.45;cursor:default;pointer-events:none}.mobile-trial-bar button.trial-cta{border:0}#mobile-trial-caption{max-width:700px;margin-left:auto;margin-right:auto;overflow-wrap:anywhere}@media(max-width:520px){.card-trial{display:block}.lesson-trial-button{width:100%;font-size:13px;padding:10px 7px}.card-trial>span{display:block;margin-top:6px;font-size:12px}.trial-selection{padding:15px}.trial-selection #trial-when{font-size:19px}.trial-selection h3{font-size:16px}.trial-category select{font-size:16px}.trial-banner br{display:none}}
.finder-banner{display:flex;align-items:center;gap:20px;margin:0 0 30px;padding:23px 26px;background:var(--ink);color:#fff;border-radius:12px}.finder-icon{display:grid;place-items:center;width:49px;height:49px;border:1px solid #627789;border-radius:50%;font-size:25px;color:var(--yellow);flex:none}.finder-banner-copy{flex:1;min-width:0}.finder-banner .eyebrow{color:#d0dfad;font-size:12px}.finder-banner h2{font-size:20px;line-height:1.6;margin:4px 0}.finder-banner p{color:#d2dce4;font-size:13px;line-height:1.7;margin:4px 0 0}.finder-start{display:flex;align-items:center;justify-content:center;gap:22px;background:var(--yellow);color:var(--ink);border:1px solid transparent;border-radius:6px;min-height:48px;padding:12px 20px;font-size:14px;font-weight:700;flex:none}.finder-start:hover{background:#e6f27f}.finder-start:disabled{background:#e9edf0;color:#758592;cursor:default}.finder-start span{font-size:19px}#finder-dialog{width:min(640px,calc(100% - 24px));padding:28px;overscroll-behavior:contain}.finder-progress{display:flex;gap:7px;margin:22px 0 25px}.finder-progress>span{display:flex;align-items:center;gap:7px;flex:1;border-top:4px solid #e4eaf0;padding-top:9px;color:#748392;font-size:12px;font-weight:700}.finder-progress>span.is-reached{border-top-color:var(--yellow);color:var(--ink)}.finder-progress small{font-size:12px;font-weight:500}.finder-question{font-size:23px;line-height:1.65;margin:23px 0 18px;outline:none}.finder-question>small{display:block;font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.04em;margin-bottom:5px}.finder-options{display:grid;gap:10px}.finder-choice{display:flex;align-items:center;gap:12px;position:relative;padding:17px 18px;border:1px solid #c9d5df;border-radius:8px;background:#fff;cursor:pointer;min-height:62px}.finder-choice:has(input:checked){background:#f6f9e7;border-color:#aab64d;box-shadow:0 0 0 1px #aab64d}.finder-choice:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}.finder-choice input{accent-color:var(--ink);width:18px;height:18px;flex:none;margin:0}.finder-choice b{font-size:15px;font-weight:650}.finder-choice small{display:block;font-size:12px;color:var(--muted);margin-top:5px;line-height:1.6}.finder-help{font-size:13px;color:var(--muted);line-height:1.85;margin:10px 0 16px}.finder-nav{display:flex;gap:14px;justify-content:flex-end;margin-top:26px;padding-top:19px;border-top:1px solid var(--line)}.finder-nav .finder-start{min-width:165px}.finder-secondary{border:1px solid #bdccd7;border-radius:6px;background:#fff;color:var(--ink);padding:11px 16px;font-size:14px;min-height:46px}.finder-secondary:hover{background:#f3f6f8}.finder-nav .finder-secondary{margin-right:auto}.finder-weekdays{margin-top:22px}.finder-weekdays .day-buttons{gap:7px}.finder-times{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.finder-times label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:650}.finder-times select{min-width:0;width:100%;min-height:46px;padding:10px 6px;border:1px solid #bdccd7;border-radius:6px;background:#fff;color:var(--ink);font-size:16px}.finder-summary{display:flex;flex-direction:column;gap:5px;background:#f3f6f8;padding:14px 16px;border-radius:7px;font-size:12px;line-height:1.7;color:#526576}.finder-reason{font-size:14px;line-height:1.9;margin:18px 0}.finder-matches{display:grid;gap:14px}.finder-match{border:1px solid #cad6df;border-left:4px solid var(--yellow);border-radius:8px;padding:18px}.finder-match h4{font-size:15px;line-height:1.8;margin:8px 0 7px;font-weight:650}.finder-match-time{font-size:22px;line-height:1.6;margin:4px 0 8px;font-weight:750;font-variant-numeric:tabular-nums}.finder-match-meta{font-size:12px;color:var(--muted);line-height:1.8;margin:5px 0 14px}.finder-match .lesson-trial-button{width:100%}.finder-show-all{width:100%;margin-top:14px}.finder-result-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.finder-disclaimer{color:var(--muted);font-size:12px;line-height:1.85;margin:17px 0 8px}.finder-search-link{font-size:13px}.finder-consult{margin-top:20px}#finder-dialog .dialog-heading h2{font-size:21px}
@media(max-width:900px){.finder-banner{padding:22px;gap:16px}.finder-icon{display:none}.finder-banner h2{font-size:18px}}
@media(max-width:600px){.finder-banner{display:block;padding:20px;margin-bottom:23px}.finder-banner h2{font-size:18px}.finder-banner .finder-start{width:100%;margin-top:15px;justify-content:space-between}#finder-dialog{padding:21px 18px;max-height:90dvh}#finder-dialog .dialog-heading h2{font-size:18px}.finder-question{font-size:21px}.finder-choice{padding:16px 13px}.finder-choice b{font-size:14px}.finder-progress{gap:6px}.finder-progress>span{gap:4px}.finder-progress small{font-size:11px}.finder-match{padding:15px}.finder-match-time{font-size:19px}.finder-match h4{font-size:14px}.finder-result-actions{align-items:stretch;flex-direction:column}.finder-nav .finder-start{min-width:150px}.finder-weekdays .muted{font-size:11px;margin-left:4px}.finder-times{gap:10px}}
.candidate-bar{position:sticky;top:12px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:16px 18px;border-radius:9px;border:1px solid #9db0c0;background:#fff;box-shadow:0 5px 20px #102b4410}.candidate-bar b{font-size:17px}.candidate-bar b span{font-size:24px;margin-left:8px}.candidate-bar small{font-size:13px;font-weight:400;color:var(--muted)}.candidate-bar p{font-size:12px;line-height:1.7;color:var(--muted);margin:4px 0 0}.candidate-bar .trial-cta{border:0;font-size:14px;padding:10px 15px}.trial-cta:disabled{background:#e5eaf0;color:#748392;cursor:default}.selection-status{min-height:20px;font-size:13px;color:#41633d;margin:8px 0}.lesson-trial-button.selected{background:#eff6cd;color:#23351f;border-color:#9da95d}.lesson-trial-button:disabled{background:#edf1f4;border-color:#d7e0e7;color:#75818c;cursor:default}.candidate-item{border:1px solid var(--line);border-radius:8px;padding:16px;margin:14px 0}.candidate-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.candidate-heading>b{background:#edf3d2;padding:5px 9px;border-radius:4px;font-size:13px}.candidate-actions{display:flex;gap:5px}.candidate-actions button{border:1px solid var(--line);border-radius:4px;background:white;min-width:40px;min-height:40px;font-size:13px}.candidate-actions button:disabled{opacity:.3;cursor:default}.candidate-item h3{font-size:17px;margin:12px 0 6px}.candidate-item h3 small{font-weight:400;color:var(--muted)}.candidate-item p{margin:5px 0;font-size:15px}.candidate-item p.candidate-coach{font-size:12px;color:var(--muted);line-height:1.7}.candidate-item label{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;margin-top:14px}.candidate-item label small{color:var(--muted)}.candidate-item select{flex-basis:100%;min-width:0;width:100%;font-size:14px;padding:10px 8px;min-height:44px;border:1px solid #bdccd7;border-radius:5px;background:#fff;color:var(--ink)}#continue-choosing{width:100%;margin-bottom:10px}.prefill-details{font-size:13px;line-height:1.8;margin:13px 0 19px}.prefill-details summary{cursor:pointer;min-height:30px}.trial-preview{white-space:pre-wrap;font-family:inherit}.candidate-coach{overflow-wrap:anywhere}@media(max-width:900px){.candidate-bar{position:static}.candidate-bar .trial-cta{display:none}}@media(max-width:520px){.candidate-item{padding:13px}.candidate-item select{font-size:16px}.candidate-heading{gap:6px}.candidate-bar p{font-size:12px}}
.period label{font-size:12px;font-weight:650}.period select{max-width:300px;padding:10px 9px;border:1px solid #9fb3c4;border-radius:6px;color:var(--ink);background:white;font:inherit;font-size:14px;min-height:44px}.period-notice{font-size:13px;line-height:1.8;color:var(--muted);margin:-14px 0 24px}.candidate-heading>b{line-height:1.6}.card-time .end{line-height:1.6}@media(max-width:600px){.title-row{flex-wrap:wrap}.period{width:100%;flex:none;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5px 10px}.period label{grid-column:1/-1}.period select{grid-column:1/-1;width:100%;max-width:none;font-size:16px}.period>span{font-size:13px}.period b{font-size:14px;text-align:right}.period-notice{font-size:12px;margin:-10px 0 22px}.candidate-heading{align-items:flex-start}.candidate-heading>b{font-size:12px}}

.coach-name{display:inline-flex;align-items:center;gap:5px;background:none;border:0;border-bottom:1px dashed #6a8499;padding:6px 2px;min-height:36px;color:#175a97;font-weight:700;cursor:pointer}.coach-name span{font-size:12px;font-weight:400}.coach-name:hover{color:#102b44;background:#eef4f9}.coach-help{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.coach-summary{font-size:17px;line-height:2;margin:22px 0}.coach-official{display:inline-block;background:#102b44;color:white;border-radius:6px;padding:14px 18px;line-height:1.6;text-decoration:none}#coach-dialog{max-width:560px}.candidate-coach .coach-name{font-size:13px}#coach-source-note{margin-top:20px}.card-meta>span{line-height:1.7}
:root{--profile-field-border:#bdccd7}.trial-date-range{font-size:13px;line-height:1.8;padding:12px 14px;border-radius:6px;background:#eef4fa}.trial-profile{margin:22px 0 0;padding:20px;background:#f4f7f9;border-radius:8px}.trial-profile legend{float:left;width:100%;font-size:17px;margin-bottom:10px}.trial-profile legend+.finder-help{clear:both}.trial-profile label{display:block;font-size:14px;font-weight:600;line-height:1.8;margin:16px 0 6px}.trial-profile select,.trial-profile textarea{width:100%;min-width:0;min-height:46px;padding:10px;border:1px solid var(--profile-field-border);border-radius:5px;background:#fff;color:var(--ink);font:inherit}.trial-profile textarea{resize:vertical}.trial-profile small{font-size:12px;font-weight:400;color:var(--muted)}.required-label{font-size:11px;margin-left:5px;color:#7d3728}.trial-profile textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.level-table-wrap{overflow-x:auto}.level-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.8}.level-table th,.level-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}.level-table thead{background:#edf3f7}.level-table tbody th{min-width:110px}.level-table td{color:#42576a}#trial-open-form[aria-disabled=true]{pointer-events:none;opacity:.5}@media(max-width:520px){.trial-profile{padding:14px}.level-table{font-size:13px}.level-table th,.level-table td{padding:10px 7px}.level-table tbody th{min-width:95px}}
/* Selection guidance stays beside the selectors, before the lesson list. */
.results>.trial-profile{margin:0 0 18px;background:#fff;border:1px solid var(--line)}.inline-level-guide{margin-top:12px;font-size:13px;line-height:1.7}.inline-level-guide summary,.profile-note summary{cursor:pointer;padding:8px 0;font-weight:600}.inline-level-guide button{display:flex;width:100%;text-align:left;gap:16px;border:0;border-bottom:1px solid var(--line);background:#fff;padding:9px 0;font-size:13px;line-height:1.65}.inline-level-guide button b{flex:none;min-width:48px}.inline-level-guide button span{color:var(--muted)}.inline-level-guide button:hover{background:#f1f6da}.selected-level-guide{font-size:13px;line-height:1.7;color:#46612d}.profile-note{margin-top:12px;font-size:13px}.profile-review{background:#f3f6f8;border-radius:8px;padding:14px;margin-top:16px;font-size:14px}.profile-review p{line-height:1.7}.period-tag{font-size:11px;background:#eef2f6;padding:3px 6px;border-radius:3px}.period b{white-space:normal;font-size:14px;max-width:250px}#source-links{display:flex;flex-direction:column;gap:10px}.finder-history{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.finder-history label{font-size:13px}.finder-history select{display:block;width:100%;padding:12px 8px;margin-top:6px;border:1px solid var(--line);border-radius:6px;font:inherit;background:white}@media(max-width:520px){.finder-history{grid-template-columns:1fr}.inline-level-guide button{gap:8px}.results>.trial-profile{padding:16px}}

.level-filter{padding:18px 20px;margin:20px 0;border:1px solid #becd8e;border-radius:8px;background:#f5f9e8}.level-filter h2{font-size:17px;margin:0 0 6px;line-height:1.6}.level-filter p{font-size:13px;margin:0;line-height:1.8;color:#42576a}.level-filter-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.level-filter-controls button{border:1px solid #aebec9;border-radius:6px;padding:10px 14px;min-height:44px;background:white;color:var(--ink);font-size:13px;font-weight:600}.level-filter-controls button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.inline-level-guide button[aria-pressed=true]{background:#edf5cf;box-shadow:inset 3px 0 #718a24;padding-left:10px}#level-candidate-note{padding:12px;background:#fff8de;border-radius:6px}@media(max-width:520px){.level-filter{padding:16px}.level-filter-controls{display:grid;grid-template-columns:1fr}.level-filter-controls button{width:100%}}

/* Stars and age cues are shared by the guide, questions and class cards. */
.level-stars{display:inline-flex;align-items:center;gap:1px;white-space:nowrap;line-height:1;font-size:18px;vertical-align:middle;font-family:Arial,sans-serif;letter-spacing:0}
.level-stars .star-glyph{color:#846007!important;font-weight:400;min-width:0;line-height:1}.level-stars .is-empty{color:#72818e!important}
.lesson-levels,.lesson-level,.guide-level-code,.level-choice-code{display:inline-flex;align-items:center;flex-wrap:wrap;gap:7px}.lesson-levels{gap:6px 12px}.lesson-level{gap:4px}.lesson-level small,.lesson-levels>small{font-size:11px;color:var(--muted)}.lesson-levels .code{font-size:14px;font-weight:750;color:var(--ink)}
.participant-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;border-radius:50%}.participant-icon svg{display:block;width:23px;height:23px}.participant-icon.is-adult{background:#e2edfc;color:#205da1}.participant-icon.is-junior{background:#def0df;color:#27663e}
.participant-badge{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;line-height:1.5;border-radius:6px;padding:4px 9px 4px 4px}.participant-badge.is-adult{background:#edf4fe;color:#205084}.participant-badge.is-junior{background:#edf7ec;color:#285c39}.participant-badge>b{font-weight:750}.participant-badge>span:last-child{font-size:11px;color:inherit}
.class-audience{margin-bottom:10px}.class-audience:empty{display:none}.audience-key{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 0}.filters .audience-key{flex-direction:column;align-items:flex-start}.guide-audience{margin-bottom:20px}.candidate-class-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.finder-choice>.participant-icon{width:48px;height:48px}.finder-choice>.participant-icon svg{width:36px;height:36px}.finder-choice>span:last-child{min-width:0}
.guide-level-code{gap:8px;flex-wrap:nowrap}.guide-level-name{display:block;margin-top:5px;font-size:13px;font-weight:500}.level-table tbody th{min-width:152px}.glossary>div{grid-template-columns:174px minmax(0,1fr)}.glossary dt .guide-level-code{display:flex;margin:3px 0;flex-wrap:wrap}.glossary .level-stars{font-size:16px}
.stars-help{font-size:12px;line-height:1.8;color:#586b7d;margin:10px 0 12px}.inline-level-guide button{display:grid;grid-template-columns:154px minmax(0,1fr);gap:14px;padding:12px 3px}.inline-level-guide button .level-choice-heading{display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:var(--ink)}.inline-level-guide button .level-choice-code{font-size:13px;color:var(--ink);gap:8px}.inline-level-guide button .level-choice-description{align-self:center;color:#526576}.selected-level-guide{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.selected-level-guide:empty{display:none}
@media(max-width:520px){.card-tags .lesson-levels{flex-basis:100%;order:3}.lesson-levels .level-stars{font-size:17px}.participant-badge{gap:5px;padding-right:7px}.finder-choice>.participant-icon{width:38px;height:38px}.finder-choice>.participant-icon svg{width:30px;height:30px}.finder-choice{gap:9px}.level-table tbody th{min-width:137px}.level-table th,.level-table td{padding-left:5px;padding-right:5px}.guide-level-code{gap:6px}.guide-level-code .level-stars{font-size:16px}.glossary>div{grid-template-columns:145px minmax(0,1fr);gap:9px}.inline-level-guide button{grid-template-columns:1fr;gap:7px}.inline-level-guide button .level-choice-heading{flex-direction:row;align-items:center;flex-wrap:wrap;gap:5px 12px}.inline-level-guide button .level-choice-description{font-size:12px}.guide-audience{flex-direction:column;align-items:flex-start}}

/* One guided entry, with results in the main timetable. */
.finder-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:28px;padding:30px 32px;margin:0 0 28px;border:1px solid #294a64;border-top:5px solid var(--yellow);box-shadow:0 10px 28px #102b4414}.finder-kicker{display:inline-block;color:var(--yellow);font-size:13px;font-weight:700;letter-spacing:.04em}.finder-banner h2{font-size:29px;line-height:1.5;margin:10px 0 12px}.finder-banner h2 em{font-style:normal;color:var(--yellow)}.finder-banner p{font-size:14px;line-height:1.9}.finder-overview{display:flex;flex-wrap:wrap;gap:9px 18px;padding:0;margin:20px 0 0;list-style:none;font-size:12px;color:#e4ecf3}.finder-overview li{display:flex;align-items:center;gap:7px}.finder-overview b{display:grid;place-items:center;width:23px;height:23px;border:1px solid #7e94a6;border-radius:50%;font-size:12px;color:var(--yellow)}.finder-banner-action{text-align:center}.finder-banner .finder-start{width:100%;min-height:62px;padding:17px 20px;font-size:18px;justify-content:space-between;box-shadow:0 4px 0 #91a31a}.finder-banner-action p{margin:14px 0 10px;font-size:12px}.finder-direct{display:inline-block;color:#dae5ed;font-size:12px;line-height:1.8;text-underline-offset:4px;padding:5px}.finder-banner+.period-notice{margin:0 0 18px}.participant-filter{display:block;margin-top:20px;font-size:13px;font-weight:600}.participant-filter select{display:block;width:100%;margin-top:9px;border:1px solid var(--line);background:white;border-radius:5px;padding:10px;min-height:44px;color:var(--ink);font-size:14px}.flow-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:white;scroll-margin-top:20px}.flow-summary h2{font-size:15px;margin:0 0 8px}.flow-summary p{font-size:13px;line-height:1.8;margin:0;color:#42576a}.flow-summary button{flex:none}.finder-final-note{padding:16px 18px;margin-top:20px;border-radius:8px;background:#f3f7e5;font-size:14px;line-height:1.8}.finder-final-note p{font-size:13px;margin:7px 0 0;color:#526576}#finder-dialog .trial-profile{margin:0;padding:0;border:0;background:white}#finder-dialog .trial-profile>legend{display:none}#finder-dialog .trial-profile label{margin-top:12px}#finder-dialog .inline-level-guide{margin-top:12px}#finder-dialog .finder-nav{position:sticky;bottom:-28px;background:white;padding-bottom:12px;z-index:3}#results-heading:focus{outline:2px solid #9fae6b;outline-offset:6px;border-radius:3px}#finder-profile-error{margin-bottom:0;color:#7e4a26}
@media(max-width:900px){.finder-banner{grid-template-columns:minmax(0,1fr) minmax(235px,280px);padding:25px 24px;gap:20px}.finder-banner h2{font-size:25px}.finder-banner .finder-start{font-size:16px}}
@media(max-width:600px){.finder-banner{display:block;padding:22px 20px;margin-bottom:22px}.finder-banner h2{font-size:27px;line-height:1.5}.finder-banner p{font-size:13px}.finder-banner .finder-start{margin-top:22px;font-size:18px;min-height:58px}.finder-banner-action p{font-size:12px;margin-bottom:4px}.finder-overview{gap:9px 12px;font-size:11px;margin-top:16px}.finder-overview b{width:21px;height:21px}.finder-banner-action .finder-direct{font-size:12px}.flow-summary{display:block;padding:16px}.flow-summary button{margin-top:12px;width:100%}#finder-dialog .finder-nav{bottom:-21px;gap:8px}#finder-dialog .finder-nav .finder-start{min-width:0;flex:1;padding:12px 8px;font-size:13px;gap:8px}#finder-dialog .finder-nav .finder-secondary{padding:10px 12px}.finder-progress>span{flex-wrap:wrap;gap:4px}.finder-progress small{font-size:11px}.participant-filter select{font-size:16px}}
.class-helper{position:fixed;z-index:25;right:max(20px,env(safe-area-inset-right));bottom:calc(var(--booking-bar-height,0px) + var(--primary-clearance,0px) + 16px);width:270px;pointer-events:none}.class-helper-open{display:flex;align-items:flex-start;justify-content:flex-end;gap:0;border:0;background:transparent;padding:0;width:100%;pointer-events:auto;text-align:left}.class-helper-open img{display:block;width:102px;height:136px;object-fit:contain;flex:none;filter:drop-shadow(0 7px 7px #102b441c)}.class-helper-bubble{position:relative;display:block;flex:none;margin-top:15px;margin-right:-7px;padding:13px 14px;background:#fff;border:1px solid #afbfca;border-radius:17px;box-shadow:0 5px 20px #102b441c;z-index:1}.class-helper-bubble:after{content:"";position:absolute;right:5px;bottom:-7px;width:12px;height:12px;background:#fff;border-right:1px solid #afbfca;border-bottom:1px solid #afbfca;transform:skew(-18deg) rotate(45deg)}.class-helper-bubble b{display:block;white-space:nowrap;font-size:14px;line-height:1.6}.class-helper-bubble small{display:block;font-size:11px;line-height:1.6;margin-top:4px;color:#526576}.class-helper-bubble small span{font-size:15px;color:var(--ink);padding-left:6px}.class-helper-open:hover .class-helper-bubble{background:#f5f8e5}.class-helper-open:hover .class-helper-bubble:after{background:#f5f8e5}.class-helper-dismiss{position:absolute;top:-12px;right:-4px;width:36px;height:36px;border:1px solid #c3cfd8;border-radius:50%;background:#fff;color:#526576;font-size:22px;line-height:1;z-index:2;pointer-events:auto;box-shadow:0 2px 8px #102b4410}body:has(dialog[open]) .class-helper{visibility:hidden}body:has(.class-helper:not([hidden])){padding-bottom:130px}
#guide{width:min(690px,calc(100% - 32px))}#guide-title:focus{outline:none}.class-guide-intro{font-size:15px;line-height:1.8;margin:18px 0}.class-guide-intro>span{display:block;color:#617385;font-size:13px;margin-top:7px}.class-guide-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.class-guide-categories button{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid #c7d3dc;border-radius:10px;background:#fff;padding:13px 10px;min-height:76px}.class-guide-categories button[aria-pressed=true]{border:2px solid var(--ink);background:#f0f5dc;padding:12px 9px;box-shadow:0 2px 0 #102b44}.class-guide-categories button b{display:block;font-size:13px;line-height:1.7}.class-guide-categories button small{display:block;font-size:11px;color:#526576;margin-top:3px}.class-guide-categories .participant-icon{width:32px;height:36px;flex:none}.class-guide-categories .participant-icon svg{width:27px;height:27px}.class-guide-detail{margin-top:23px}.class-guide-detail-heading h3{font-size:21px;line-height:1.6;margin:10px 0}.class-guide-detail-heading h3 small{display:inline-block;font-size:12px;font-weight:500;margin-left:12px;color:#526576}.class-guide-description{font-size:14px;line-height:1.9;color:#42576a;margin:0 0 18px}.class-guide-published{font-size:12px;font-weight:700;letter-spacing:.03em;margin:20px 0 9px;color:#526576}.class-guide-levels{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.class-guide-levels li{padding:15px 17px;border-bottom:1px solid var(--line);background:#fff}.class-guide-levels li:last-child{border-bottom:0}.class-guide-level-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.class-guide-level-heading h4{font-size:15px;margin:0}.class-guide-codes{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.class-guide-codes{align-items:center;gap:6px 9px}.class-guide-code{border-radius:4px;background:#edf3f7;color:#365368;font-size:12px;font-weight:700;line-height:1.6;padding:3px 8px;overflow-wrap:anywhere;max-width:100%}.class-guide-levels li>p{font-size:13px;line-height:1.8;color:#526576;margin:8px 0 0}.class-guide-empty,.class-guide-junior-note{font-size:13px;line-height:1.8;background:#f3f6f8;border-radius:7px;padding:14px}.class-guide-symbols{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin:19px 0;font-size:13px;line-height:1.8}.class-guide-symbols summary{cursor:pointer;font-weight:600;padding:4px 0}.class-guide-symbols dl{margin:13px 0}.class-guide-symbols dt{font-weight:700;margin-top:12px}.class-guide-symbols dd{margin:3px 0 0;color:#526576}.class-guide-symbols p{font-size:12px;color:#526576}.class-guide-footer{padding:17px;background:#f6f8ec;border-radius:9px;text-align:center}.class-guide-footer p{font-size:13px;line-height:1.9;margin:0 0 13px}.class-guide-footer .finder-start{width:100%;justify-content:center;font-size:15px;min-height:49px}.class-guide-footer a{display:inline-block;font-size:12px;color:#526576;margin-top:14px;line-height:1.8}
@media(max-width:900px){.class-helper{right:max(12px,env(safe-area-inset-right));bottom:calc(var(--booking-bar-height,105px) + var(--primary-clearance,0px) + 10px);width:248px}.class-helper-open img{width:75px;height:100px}.class-helper-bubble{margin-top:11px;padding:10px 12px;margin-right:-5px;border-radius:14px}.class-helper-bubble b{font-size:13px}.class-helper-bubble small{font-size:10px;margin-top:3px}.class-helper-dismiss{top:-18px;right:-4px;width:34px;height:34px;font-size:21px}body:has(.class-helper:not([hidden])){padding-bottom:calc(240px + env(safe-area-inset-bottom))}}
@media(max-width:520px){#guide{padding:21px 18px;max-height:90dvh}#guide .dialog-heading{gap:8px}#guide .dialog-heading h2{font-size:19px}.class-guide-intro{font-size:14px}.class-guide-categories{gap:6px}.class-guide-categories button{flex-direction:column;align-items:flex-start;gap:5px;padding:10px 7px;min-height:105px}.class-guide-categories button[aria-pressed=true]{padding:9px 6px}.class-guide-categories button b{font-size:11px;white-space:normal;word-break:keep-all}.class-guide-categories button small{font-size:10px}.class-guide-categories .participant-icon{width:28px;height:31px}.class-guide-detail-heading h3{font-size:19px}.class-guide-levels li{padding:13px}.class-guide-footer{padding:15px 12px}.class-guide-footer .finder-start{font-size:13px;padding:12px 10px}}

/* Returning-player assistance; retain the existing four-step flow. */
.returner-support{background:#f0f5e9;border:1px solid #ccdcbb;border-radius:16px;padding:18px;margin:18px 0}.returner-support h3{font-size:18px;margin:0 0 8px}.returner-support p{line-height:1.8}.returner-support select{width:100%;max-width:100%}.returner-support button{white-space:normal}.finder-exact{margin-top:20px}.finder-exact input,.advanced input[type=time]{box-sizing:border-box;display:block;width:100%;min-height:46px;padding:10px;border:1px solid #cbd4da;border-radius:8px;background:white;color:#102b44;font:inherit}.finder-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.finder-exact label{display:block;font-size:14px;font-weight:700}.empty [data-consult]{display:inline-block;margin:12px 0;white-space:normal}.card-trial:before{content:'空席・休講・体験可否はスタッフ確認';display:block;font-size:11px;color:#5e6e76;margin-bottom:8px}@media(max-width:520px){.finder-dates{grid-template-columns:1fr}.returner-support{padding:14px}.returner-support select{font-size:14px}}
