:root{--ink:#172d46;--muted:#53677c;--brand:#155e87;--line:#d5dfe8;--bg:#f3f6fa;--light:#eaf3f8;--red:#a02732;--radius:14px;font-family:"Yu Gothic UI","Meiryo",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.7}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}a{color:var(--brand);text-underline-offset:4px}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border-radius:8px;font-weight:700;cursor:pointer;text-decoration:none;border:1px solid transparent;gap:8px}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--brand);color:white}.primary:hover{background:#104c70}.secondary{background:white;border-color:var(--line);color:var(--ink)}.danger{color:var(--red);background:white;border-color:#e1bfc3}:focus-visible{outline:3px solid #bc6a00;outline-offset:3px}input,textarea,select{width:100%;min-width:0;min-height:48px;padding:11px 13px;background:white;border:1px solid #a9bac9;border-radius:7px;color:var(--ink)}textarea{resize:vertical}input[readonly],input:disabled{background:#f1f4f7;color:var(--muted)}input[aria-invalid=true]{border:2px solid var(--red)}label{display:block;font-weight:600}header{background:white;border-bottom:1px solid var(--line)}.header-inner{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 32px}.header-inner>a:first-child{font-size:1.1rem;font-weight:800;text-decoration:none;color:var(--ink)}.header-inner>span{font-size:.875rem;color:var(--muted)}main{margin:auto;padding:48px 24px 64px}.public{max-width:960px}.admin{max-width:1320px}h1{font-size:clamp(1.65rem,4.5vw,2.3rem);line-height:1.4;margin:0 0 14px;letter-spacing:.02em}h2{font-size:1.3rem;line-height:1.5;margin:0 0 14px}h3{font-size:1.1rem;margin:8px 0}p{margin:8px 0 18px}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.16em;color:var(--brand);margin:0 0 10px}.lead{color:var(--muted)}.notice{background:#eaf2f8;border-left:3px solid var(--brand);padding:13px 17px;font-size:.875rem;margin:22px 0;overflow-wrap:anywhere}.steps{display:flex;list-style:none;padding:0;margin:32px 0;gap:10px}.steps li{flex:1;display:flex;gap:12px;align-items:center;justify-content:center;border-bottom:3px solid var(--line);padding:12px 0;color:var(--muted)}.steps b{border-radius:50%;background:#e0e7ee;min-width:30px;height:30px;text-align:center}.steps [aria-current]{border-color:var(--brand);color:var(--brand);font-weight:800}.steps [aria-current] b{background:var(--brand);color:white}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin-bottom:24px;box-shadow:0 3px 12px #19344f04}.section-title{display:flex;gap:18px;margin-bottom:24px;align-items:flex-start}.section-title>span{font-size:1.1rem;font-weight:800;color:var(--brand);background:var(--light);padding:6px 12px;border-radius:7px}.section-title h2{margin:0 0 6px}.section-title p{font-size:.875rem;color:var(--muted);margin:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.full{grid-column:1/-1}.field label{margin-bottom:7px}.required{font-size:.75rem;font-weight:700;color:#913039;background:#fcebee;border-radius:4px;padding:3px 6px;margin-left:6px;white-space:nowrap}.optional{font-size:.75rem;color:var(--muted);font-weight:400;margin-left:5px}.field-error{color:var(--red);font-size:.875rem;margin:5px 0 0}.field-error:empty{display:none}.error{padding:17px 20px;color:#852432;background:#fff0f1;border:1px solid #e7b4bb;border-radius:8px;margin-bottom:24px}.muted{font-size:.875rem;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}.lesson{position:relative;display:flex;gap:12px;padding:20px;border:1px solid #b9c9d6;border-radius:10px;cursor:pointer;font-weight:400}.lesson:has(input:checked){background:#f0f8fc;border:2px solid var(--brand);padding:19px}.lesson:has(input:focus-visible){outline:3px solid #bc6a00;outline-offset:3px}.lesson input{width:20px;height:20px;min-height:20px;flex:none;margin:6px 0;accent-color:var(--brand)}.lesson-content{display:flex;flex-direction:column;gap:10px;min-width:0;overflow-wrap:anywhere}.lesson strong{font-size:1.1rem}.description{color:var(--muted);font-size:.875rem;white-space:pre-wrap}.schedule{font-size:.9375rem}.badge{display:inline-block;align-self:flex-start;border-radius:5px;background:#e2f1ed;color:#1c6050;font-size:.8rem;font-weight:700;padding:3px 9px}.badge.closed{background:#e8ecf0;color:#536271}.unavailable{background:#f4f6f8;cursor:not-allowed}.privacy{white-space:pre-wrap;max-height:260px;overflow:auto;border:1px solid var(--line);padding:16px;font-size:.9375rem}.check{display:flex;align-items:center;gap:12px;font-weight:500}.check input{width:22px;height:22px;min-height:22px;flex:none;accent-color:var(--brand)}.actions{display:flex;justify-content:center;gap:14px;margin-top:24px}.public .actions .primary{min-width:260px}.details{margin:22px 0;text-align:left}.details>div{display:grid;grid-template-columns:180px minmax(0,1fr);padding:15px 0;border-bottom:1px solid var(--line);gap:20px}.details dt{color:var(--muted);font-size:.9375rem}.details dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.completion{text-align:center}.success-mark{display:inline-block;border-radius:50%;font-size:2rem;background:#e2f1ed;color:#1c6050;width:65px;height:65px;line-height:65px;margin-bottom:24px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:16px}.page-title p{margin-bottom:6px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.stats>div{background:white;padding:24px;border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:10px}.stats span{display:block;font-size:.875rem;color:var(--muted)}.stats strong{font-size:2.3rem;display:block;margin-top:10px;line-height:1.2}.stats small{font-size:.875rem;margin-left:8px;font-weight:400}.admin-lesson{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:22px 0;border-top:1px solid var(--line)}.admin-lesson>div:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.admin-lesson p{font-size:.9375rem;margin:0}.counts{display:flex;gap:18px;font-size:.875rem;flex-wrap:wrap}.counts b{font-size:1.25rem}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.row-actions button{padding:8px 12px;font-size:.875rem}.filters{display:flex;align-items:end;gap:12px;margin:20px 0;flex-wrap:wrap}.filters label{font-size:.875rem;flex:1;min-width:150px}.filters label:first-child{flex:2}.table-wrap{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left;min-width:1120px}th{color:var(--muted);background:#f2f6fa;font-weight:600;white-space:nowrap}td,th{padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:top}td{max-width:250px;overflow-wrap:anywhere}td small{display:block;color:var(--muted);font-size:.8125rem;margin-top:5px}td.question{min-width:170px;white-space:pre-wrap}.login{max-width:500px;margin:30px auto}.login button{width:100%;margin-top:24px}.empty{padding:30px 10px;color:var(--muted);font-weight:400}.cards>.empty{grid-column:1/-1}footer{max-width:1240px;margin:auto;border-top:1px solid var(--line);padding:28px 24px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.8125rem}.skip{position:absolute;left:12px;top:-100px;padding:10px;background:white;z-index:9}.skip:focus{top:12px}@media(max-width:850px){.admin-lesson{flex-wrap:wrap}.admin-lesson>div:first-child{flex-basis:100%}.row-actions{margin-left:auto}}@media(max-width:600px){main{padding:28px 16px 40px}.header-inner{padding:18px 16px;gap:12px;flex-wrap:wrap}.header-inner>span{display:none}.panel{padding:22px 18px;border-radius:10px}.grid,.cards{grid-template-columns:1fr;gap:18px}.steps{gap:6px;margin:24px 0}.steps li{gap:8px;font-size:.875rem}.section-title{gap:12px}.section-title>span{padding:4px 8px}.actions{flex-direction:column-reverse}.actions button,.public .actions .primary{width:100%;min-width:0}.details>div{grid-template-columns:1fr;gap:5px}.check{align-items:flex-start;flex-wrap:wrap}.stats{gap:8px}.stats>div{padding:15px 10px}.stats strong{font-size:1.9rem}.stats span{font-size:.8125rem}.stats small{margin-left:3px}.page-title{align-items:flex-start;flex-wrap:wrap}.filters>button,.filters>.button{flex:1}.row-actions{margin-left:0}.counts{gap:15px}.completion h2{font-size:1.25rem}footer{flex-wrap:wrap}.notice{font-size:.8125rem}}

fieldset{min-width:0;border:1px solid var(--line);border-radius:8px;padding:16px;margin:16px 0}legend{font-weight:700;padding:0 6px}.choice{min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;margin:10px 0;cursor:pointer}.choice:has(input:checked){background:var(--light);border-color:var(--brand)}

.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.course-grid .choice{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.course-grid{grid-template-columns:1fr}}

/* Paper-form layout on desktop, stacked touch-friendly fields on phones. */
#fields{grid-template-columns:1fr;gap:0}#fields .field{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px 24px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}#fields .field label{margin:0}#fields .field-error{grid-column:2}#fields .field:last-child{border-bottom:0}@media(max-width:600px){#fields .field{grid-template-columns:1fr;gap:8px;padding:16px 0}#fields .field-error{grid-column:1}}

/* Official-site reference: nakano.ac.jp/css/base.css and layout.css, 2026-10-07.
   Its #008cff is used for large brand areas; darker blue keeps controls readable. */
.school-public{--brand:#0066b8;--ink:#263544;--muted:#526475;--line:#d8e4ee;--bg:#f6faff;--light:#eaf5ff;background:var(--bg);color:var(--ink)}
.school-public header{background:#008cff;border:0}.school-public .header-inner{max-width:1160px;padding:24px 32px;min-height:104px}.school-logo{display:block;max-width:70%;line-height:0}.school-logo img{display:block;width:440px;max-width:100%;height:auto}.school-public .official-link{color:#fff;font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.school-public main{padding-top:44px;max-width:1020px}.form-hero{text-align:center;margin:0 auto 24px;padding:22px 0 28px;position:relative}.form-hero:after{content:"";display:block;width:64px;height:5px;background:#008cff;margin:26px auto 0;border-radius:3px}.form-hero .eyebrow{font-family:Georgia,serif;letter-spacing:.1em;color:#0066b8;font-size:.85rem}.hero-audience{font-size:.95rem;color:var(--muted);margin:12px 0}.form-hero h1{font-size:clamp(1.55rem,4vw,2.4rem);line-height:1.6;letter-spacing:.05em}.form-hero h1 span{font-size:.8em}.school-public .lead{max-width:740px;margin:0 auto 20px;text-align:center;line-height:1.9}.school-public .notice{background:#edf6ff;border-left-color:#008cff}.school-public .panel{padding:36px;border-radius:16px;box-shadow:0 6px 28px #0066b807}.school-public .section-title>span{color:#0066b8;background:#eaf5ff}.school-public h2{font-weight:700}.school-public fieldset{border:0;border-top:1px solid var(--line);padding:22px 0 8px;margin:26px 0}.school-public legend{padding-right:16px;padding-left:0;font-size:1.1rem}.school-public .choice{border:1px solid #b8cfdf;background:#fff;padding:16px;min-height:58px;border-radius:10px}.school-public .choice:has(input:checked){border:2px solid #0066b8;background:#edf7ff;padding:15px}.school-public .choice input{accent-color:#0066b8}.school-public .course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.selection-note{color:#0060a7;font-weight:700;font-size:.9rem;margin:16px 0 0}.school-public .required{background:#ffedf3;color:#a12558}.school-public .primary{border-radius:50px;padding:16px 36px;background:#0066b8;box-shadow:0 4px 12px #0066b820}.school-public .primary:hover{background:#004f91}.school-public footer{max-width:none;background:#008cff;color:#fff;border:0;justify-content:center;flex-wrap:wrap;padding:32px 20px}.school-public footer a{color:#fff}.school-public input:focus-visible,.school-public textarea:focus-visible{outline-color:#0066b8}
@media(max-width:600px){.school-public .header-inner{padding:18px 16px;min-height:86px;gap:12px}.school-logo{max-width:100%;width:100%}.school-logo img{width:350px}.school-public .official-link{font-size:.8rem}.school-public main{padding:24px 16px 40px}.form-hero{padding:12px 0;margin-bottom:16px}.school-public .lead{text-align:left;font-size:.9375rem}.school-public .panel{padding:24px 18px}.school-public .course-grid{grid-template-columns:1fr}.school-public legend{font-size:1rem}.school-public .choice{flex-wrap:nowrap;align-items:center}.school-public .choice input{flex-shrink:0}.school-public .primary{padding:14px 20px}.school-public footer{font-size:.75rem}}

.preference-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}.preference-grid label{margin-bottom:8px}.weekday{color:#0060a7;font-weight:700;margin:8px 0 0;min-height:1.7em}.clear-preference{margin-top:12px;font-size:.875rem}.callback-message{font-weight:700;font-size:1.125rem;color:#0060a7;line-height:1.9;margin:20px auto;max-width:640px}@media(max-width:600px){.preference-grid{grid-template-columns:1fr 1fr;gap:14px}.preference-grid>div:first-child{grid-column:1/-1}.preference-grid input{width:100%;min-width:0}.callback-message{font-size:1rem}}

.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-grid .full{grid-column:1/-1}.admin small{overflow-wrap:anywhere}.admin input[type=checkbox]{width:22px;min-height:22px}.mail-help{font-size:.875rem;color:var(--muted)}@media(max-width:600px){.settings-grid{grid-template-columns:1fr}}

/* ヒーロー画像の幅を下の申込コンテンツに揃える */
.form-hero > img{display:block;width:100%;height:auto}
