:root{--site-blue:#1677d2;--site-navy:#173b5f;--site-ink:#20384e;--site-muted:#536d80;--site-line:#deebf3}
body{color:var(--site-ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85}
a{color:#1265ad;text-underline-offset:.2em}h1,h2,h3{color:var(--site-navy);font-weight:750;line-height:1.5;letter-spacing:.015em}h1{font-size:clamp(2rem,4vw,3.4rem)}h2{font-size:clamp(1.5rem,2.5vw,2.1rem)}h3{font-size:1.2rem}.btn{border-radius:10px;font-weight:700;padding:.65rem 1.1rem}.btn-primary{--bs-btn-bg:#1677d2;--bs-btn-border-color:#1677d2}.public-header{position:sticky;top:0;z-index:1020;border-bottom:1px solid var(--site-line);background:#fff;box-shadow:0 2px 12px #173b5f0a}.public-brand{display:inline-flex;align-items:center;gap:9px;color:var(--site-navy);font-size:1.3rem;font-weight:800;text-decoration:none;white-space:nowrap}.public-brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:linear-gradient(145deg,#44a9e9,#126ac2);font-size:1rem}.nav-link{font-size:.9rem;font-weight:600}.public-hero{padding:85px 0;background:linear-gradient(140deg,#f4faff,#eaf5ff 60%,#f8fcff)}.public-hero h1 span{color:#1265ad}.public-eyebrow{color:#1265ad;font-size:.75rem;letter-spacing:.14em;font-weight:800;margin-bottom:14px}.public-lead{font-size:1.08rem;color:var(--site-muted);margin:24px 0 30px}.public-tag{display:inline-block;border-radius:9px;background:#ecf5fc;color:#295977;padding:5px 12px;font-size:.8rem;font-weight:600}.public-section{padding-top:65px;padding-bottom:65px}.public-page-head{padding-top:60px;padding-bottom:45px}.public-card{border:1px solid var(--site-line);border-radius:18px;padding:30px;background:#fff;box-shadow:0 8px 25px #1c4c7007;overflow-wrap:anywhere}.public-card p{color:var(--site-muted);margin-bottom:0}.public-card h2,.public-card h3{margin-bottom:14px}.public-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#eaf5ff;color:#1265ad;font-weight:800;margin-bottom:20px}.public-tint{background:#f5faff}.public-cta{padding:45px 24px;border:1px solid #d9eaf6;border-radius:22px;background:linear-gradient(115deg,#eaf6ff,#f5faff)}.public-footer{border-top:1px solid var(--site-line);background:#f8fbfd}.public-reading{max-width:900px}.public-note{padding:25px;border-left:4px solid #ef9d36;background:#fff8ed;border-radius:10px}.branch-demo{padding:28px;border-radius:22px;border:1px solid #cfe2f1;background:#fff;box-shadow:0 20px 50px #164d7812}.branch-start{display:grid;gap:4px;padding:20px;text-align:center;background:#edf6ff;border:1px solid #c1dcf1;border-radius:12px}.branch-start strong{font-size:1.3rem}.branch-option{display:grid;gap:10px;padding:20px 14px;border-radius:12px;background:#f5f6f8;border:1px solid #d6dee5;font-size:.85rem}.branch-option strong{font-size:1.15rem}.branch-option--pass{background:#fff3f5;border-color:#efcdd6}.branch-condition{font-weight:750;color:#495d6c}.branch-option--pass .branch-condition{color:#96566b}.accordion-item{border-color:var(--site-line)}.accordion-button{line-height:1.7;font-weight:650;padding:22px}.accordion-body{color:var(--site-muted);padding:24px}.table>:not(caption)>*>*{padding:20px;min-width:130px}.form-label{font-weight:650}.required-label{font-size:.7rem;color:#995027;background:#fff2e8;padding:2px 7px;border-radius:5px;margin-left:8px}.contact-message{white-space:pre-wrap;overflow-wrap:anywhere}a:focus-visible,button:focus-visible{outline:3px solid #1677d2;outline-offset:4px}
@media(max-width:767px){.public-hero{padding:45px 0}.public-section{padding-top:40px;padding-bottom:40px}.public-page-head{padding-top:40px}.public-card,.branch-demo{padding:22px}.public-lead{font-size:1rem}.public-steps .public-card{gap:1rem!important}.public-brand{font-size:1.15rem}}

.public-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr .8fr; gap: 32px; }
.public-footer__brand p { color: var(--site-muted); font-size: .875rem; line-height: 1.9; margin: 18px 0 0; }
.public-footer__group h2 { font-size: .9375rem; font-weight: 700; margin: 0 0 14px; }
.public-footer__group ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 5px; }
.public-footer__group a { display: inline-block; padding: 5px 0; font-size: .875rem; text-decoration: none; color: #456078; }
.public-footer__group a:hover { text-decoration: underline; }
.public-footer__bottom { margin-top: 32px; padding-top: 20px; border-top: 1px solid #dce5ed; }
.public-footer__legal { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 24px; }
.public-footer__legal a { font-size: .8125rem; color: #456078; padding: 5px 0; }
.public-footer__copyright { text-align: center; color: #61758a; font-size: .75rem; margin: 20px 0 0; }
@media (max-width: 991px) { .public-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } .public-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 575px) { .public-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .public-footer__legal { flex-direction: column; align-items: flex-start; gap: 4px; } }
.public-footer .public-footer__group { display: block; }
.public-footer .public-footer__legal { display: flex; flex-wrap: wrap; }
@media (max-width: 575px) { .public-footer .public-footer__legal { flex-direction: column; align-items: flex-start; } }

.feature-system-screen{margin:0 0 28px;border:1px solid #dce7e6;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 12px 32px #183c460a}
.feature-system-screen-bar{display:flex;align-items:center;gap:16px;padding:14px 18px;background:#f3f7f6;color:#315555;font-size:.95rem;border-bottom:1px solid #dce7e6}
.feature-system-screen-bar>span{font-size:.6rem;letter-spacing:3px;color:#98b8ae}
.feature-system-screen>a{display:block;padding:12px}
.feature-system-screen img{display:block;width:100%;height:auto}
.feature-system-screen figcaption{padding:4px 18px 18px;color:#526b71;font-size:.9rem;line-height:1.85}
#feature-school-map,#feature-family-schedule{scroll-margin-top:100px}
@media(min-width:992px){.function-section .feature-system-screen,.guide-scene .feature-system-screen{max-width:1080px;margin:32px auto}}
@media(max-width:575px){.feature-system-screen>a{padding:4px}.feature-system-screen-bar{padding:12px}.feature-system-screen figcaption{padding:8px 12px 14px}}

html:has(.public-header){scroll-padding-top:100px}

/* A quiet illustrated invitation, shared across the public pages. */
.public-cta-illustrated{position:relative;isolation:isolate;overflow:hidden;padding:64px 48px;border:1px solid #d6e1d6;border-radius:28px;background:#f7f6ee;box-shadow:0 16px 48px #284d3c0a}
.public-cta-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:-2}
.public-cta-illustrated::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#faf9f2 0%,#faf9f2f5 34%,#faf9f2db 53%,#faf9f245 78%,transparent)}
.public-cta-content{max-width:820px;position:relative}
.public-cta-illustrated .public-eyebrow{display:flex;align-items:center;gap:12px;color:#287769;font-size:.75rem;letter-spacing:.18em;margin-bottom:22px}
.public-cta-illustrated .public-eyebrow::before{content:"";width:32px;height:2px;background:#b59c63}
.public-cta-illustrated h2{font-size:clamp(1.65rem,2.6vw,2.3rem);line-height:1.65;color:#193f42;margin-bottom:16px}
.public-cta-content>p:not(.public-eyebrow){color:#395655;line-height:1.9;max-width:640px}
.public-cta-illustrated .btn-primary{--bs-btn-bg:#237567;--bs-btn-border-color:#237567;--bs-btn-hover-bg:#195b50;--bs-btn-hover-border-color:#195b50;--bs-btn-active-bg:#195b50;--bs-btn-active-border-color:#195b50;box-shadow:0 6px 16px #23756720}
.public-cta-illustrated .btn-outline-primary{--bs-btn-color:#245f56;--bs-btn-border-color:#9ab9ac;--bs-btn-hover-bg:#e8f1eb;--bs-btn-hover-color:#194e45;--bs-btn-hover-border-color:#6c9989;--bs-btn-active-bg:#e8f1eb;--bs-btn-active-color:#194e45;background:#fffdf7eb}
.public-cta-actions .btn{font-size:1rem;padding:14px 20px;transition:transform .2s,box-shadow .2s,background-color .2s}
.public-cta-actions .btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #244d3820}
@media(max-width:767px){.public-cta-illustrated{padding:190px 24px 32px;border-radius:22px}.public-cta-art{height:260px;object-position:right 67%}.public-cta-illustrated::before{background:linear-gradient(180deg,transparent 0,#faf9f220 110px,#faf9f2 220px)}.public-cta-illustrated h2{font-size:1.6rem}.public-cta-illustrated .public-eyebrow{font-size:.65rem;letter-spacing:.12em}.public-cta-actions{flex-direction:column}.public-cta-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.public-cta-actions .btn{transition:none}.public-cta-actions .btn:hover{transform:none}}
