.school-introduction{--surface:#f7f5f4}.intro-breadcrumb{flex-wrap:wrap;margin-bottom:42px;font-size:12px}.intro-layout{grid-template-columns:216px minmax(0,1fr);align-items:start;gap:64px;display:grid}.intro-side{min-width:0;position:sticky;top:146px}.intro-nav-title{border-bottom:2px solid var(--burgundy);letter-spacing:-.035em;color:var(--burgundy);padding:0 0 18px;font-size:20px;font-weight:650}.intro-side .school-menu-links{margin:14px 0 0;padding:0;list-style:none;display:block}.intro-side .school-menu-links a{min-height:48px;color:var(--gray);border-radius:2px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:14px;line-height:1.6;display:flex}.intro-side .school-menu-links a:hover{color:var(--burgundy);background:0 0}.intro-side .school-menu-links a[aria-current=page]{color:var(--burgundy);box-shadow:none;background:0 0;font-weight:650}.intro-side .school-menu-links a svg{flex-shrink:0;width:15px;height:15px}.intro-mobile-menu{display:none}.intro-main,.intro-content{min-width:0}.intro-header{border-bottom:1px solid var(--line);margin-bottom:40px;padding-bottom:32px;position:relative}.intro-header .eyebrow{margin-bottom:18px}.intro-header h1{letter-spacing:-.055em;word-break:keep-all;font-size:clamp(2.2rem,3.6vw,3.5rem);font-weight:650;line-height:1.2}.intro-description{max-width:640px;color:var(--gray);word-break:keep-all;margin-top:20px;font-size:16px;line-height:1.85}.intro-page-index{color:var(--gray);letter-spacing:.08em;font-variant-numeric:tabular-nums;margin-top:24px;font-size:12px}.intro-heading-meta{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.intro-heading-meta .eyebrow,.intro-heading-meta .intro-page-index{margin:0}.intro-section-summary{color:var(--gray);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:28px;font-size:14px;line-height:1.7;display:flex}.intro-section-summary>*+:before{content:"·";color:var(--gray);margin-right:12px}.intro-section-summary a{color:var(--burgundy)}.intro-section-summary a:hover{text-underline-offset:4px;text-decoration:underline}.intro-toc{border:1px solid var(--line);background:var(--surface);margin-bottom:36px;padding:22px 24px}.intro-toc-title{color:var(--burgundy);margin-bottom:10px;font-size:12px;font-weight:650}.intro-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;margin:0;padding:0;list-style:none;display:grid}.intro-toc li{min-width:0}.intro-toc a{word-break:keep-all;align-items:baseline;gap:12px;min-height:40px;padding-block:8px;font-size:14px;line-height:1.65;display:flex}.intro-toc a>span{color:var(--gray);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.intro-toc a:hover{color:var(--burgundy)}.intro-table-hint{color:var(--gray);align-items:flex-start;gap:8px;margin-bottom:16px;font-size:12px;line-height:1.7;display:none}.intro-table-hint svg{flex-shrink:0;margin-top:2px}.school-introduction .school-page-body{overflow-wrap:break-word;word-break:normal;font-size:16px;line-height:1.95}.school-introduction .school-page-body>div{max-width:100%}.school-introduction .school-page-body p{margin-bottom:20px}.school-introduction .school-page-body h2,.school-introduction .school-page-body h3,.school-introduction .school-page-body .school-page-major-heading{letter-spacing:-.035em;color:var(--burgundy);margin:42px 0 20px;font-size:25px;font-weight:650;line-height:1.5}.school-introduction .school-page-body h4,.school-introduction .school-page-body h5,.school-introduction .school-page-body h6,.school-introduction .school-page-body .school-page-subheading{color:var(--ink);margin:30px 0 14px;font-size:19px;font-weight:650;line-height:1.65}.school-introduction .school-page-body [id^=school-section-]{scroll-margin-top:145px}.school-introduction .school-page-body>:first-child,.school-introduction .school-page-body>div>:first-child{margin-top:0}.school-introduction .school-page-body img{max-width:100%;height:auto;margin-block:28px}.school-introduction .school-page-body a{color:var(--burgundy);text-underline-offset:4px;text-decoration:underline}.school-introduction .school-page-body .school-page-emphasis{color:var(--ink);font-weight:650}.school-introduction .school-page-body .school-page-source-label{color:var(--gray);font-size:14px}.school-introduction .school-page-table{overscroll-behavior-inline:contain;border:1px solid var(--line);border-top:2px solid var(--burgundy);background:#fff;width:100%;max-width:100%;margin-block:24px 36px;position:relative;overflow-x:auto}.school-introduction .school-page-table:focus-visible{outline:2px solid var(--burgundy);outline-offset:3px}.school-introduction .school-page-body table{border-collapse:collapse;border:0;width:100%;margin:0;font-size:14px;line-height:1.8}.school-introduction .school-page-body caption{text-align:left;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);padding:18px 20px;font-size:17px;font-weight:650;line-height:1.7}.school-introduction .school-page-body th,.school-introduction .school-page-body td{border:1px solid var(--line);vertical-align:middle;padding:15px 18px}.school-introduction .school-page-body th{background:var(--surface);color:var(--ink);font-weight:650}.school-introduction .school-page-body tbody tr:nth-child(2n) td{background:#fcfbfb}.school-introduction .school-page-body .school-page-table table th:first-child,.school-introduction .school-page-body .school-page-table table td:first-child{border-left:0}.school-introduction .school-page-body .school-page-table table th:last-child,.school-introduction .school-page-body .school-page-table table td:last-child{border-right:0}.school-introduction .school-page-body .school-page-table table tr:last-child>td,.school-introduction .school-page-body .school-page-table table tr:last-child>th{border-bottom:0}.school-introduction .school-page-principal{max-width:100%}.school-introduction .school-page-greeting:after{content:"";clear:both;display:block}.school-introduction .school-page-body .school-page-portrait{float:right;width:180px;max-width:35%;margin:0 0 24px 32px}.school-introduction .school-page-body .school-page-portrait img{border:1px solid var(--line);width:100%;height:auto;margin:0}.school-introduction .school-page-greeting-copy{color:var(--ink);font-size:16px;line-height:2.05}.school-introduction .school-page-body .school-page-signature{border-top:1px solid var(--line);clear:both;margin-top:32px;padding-top:22px;font-size:16px}.school-introduction .school-page-history table{min-width:520px}.school-introduction .school-page-history table td:first-child,.school-introduction .school-page-history table th:first-child{white-space:nowrap;width:155px;color:var(--burgundy);font-variant-numeric:tabular-nums;text-align:left;font-weight:600}.school-introduction .school-page-history table td:last-child{text-align:left}.school-introduction .school-page-history th,.school-introduction .school-page-history td{padding-block:18px}.school-introduction .school-page-symbols .school-page-symbol{border-bottom:1px solid var(--line);padding:32px 0 36px}.school-introduction .school-page-symbols .school-page-symbol img{object-fit:contain;width:auto;max-height:250px;margin:22px auto 28px}.school-introduction .school-page-symbols dt{letter-spacing:-.025em;color:var(--burgundy);margin:0 0 14px;font-size:22px;line-height:1.6}.school-introduction .school-page-symbols dd{margin:0;font-size:16px;line-height:1.9}.school-introduction .school-page-symbols .school-page-motto{background:var(--surface);border:1px solid var(--line);padding:30px}.school-introduction .school-page-symbols .school-page-song{margin-top:40px}.school-introduction .school-page-symbols .school-page-song img{width:auto;max-width:100%;max-height:none}.school-introduction .school-page-body .school-page-song-lyrics{border-top:1px solid var(--line);max-width:640px;color:var(--ink);overflow-wrap:break-word;margin:36px auto 0;padding-top:24px}.school-introduction .school-page-body .school-page-song-lyrics h4{color:var(--burgundy);margin:0 0 10px;font-size:20px;line-height:1.6}.school-introduction .school-page-body .school-page-song-credits{color:var(--gray);margin:0 0 24px;font-size:13px}.school-introduction .school-page-body .school-page-song-lyrics h5{margin:24px 0 8px;font-size:16px;font-weight:650;line-height:1.7}.school-introduction .school-page-body .school-page-song-lyrics section p{margin:0;font-size:16px;line-height:2}.school-introduction .school-page-goals img{width:100%;max-width:100%;margin:0 auto 28px}.school-introduction .school-page-status table{min-width:680px}.school-introduction .school-page-status .school-page-table:last-child table{min-width:1050px}.school-introduction .school-page-status .school-page-table[aria-label=외곽시설] caption{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.school-introduction .school-page-facilities{border-top:2px solid var(--burgundy);margin-block:24px 36px}.school-introduction .school-page-body .school-page-facilities-title{display:none}.school-page-facilities-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.school-introduction .school-page-status .school-page-facilities table{table-layout:fixed;border:1px solid var(--line);min-width:0}.school-introduction .school-page-facilities th,.school-introduction .school-page-facilities td{text-align:left;word-break:keep-all;overflow-wrap:break-word;padding:12px 14px}.school-introduction .school-page-facilities th:last-child,.school-introduction .school-page-facilities td:last-child{text-align:right;font-variant-numeric:tabular-nums;width:72px}.school-introduction .school-page-facilities tbody th{background:#fff;font-weight:500}.school-introduction .school-page-facilities tbody tr:nth-child(2n)>*{background:#fcfbfb}.school-introduction .school-page-facilities tbody th,.school-introduction .school-page-facilities tbody td{height:52px}@media (max-width:1180px) and (min-width:761px){.school-page-facilities-grid{gap:12px}.school-introduction .school-page-facilities th,.school-introduction .school-page-facilities td{padding:10px;font-size:13px}.school-introduction .school-page-facilities th:last-child,.school-introduction .school-page-facilities td:last-child{width:64px}}@media (max-width:760px){.school-page-facilities-grid{grid-template-columns:minmax(0,1fr);gap:18px}.school-introduction .school-page-facilities tbody th,.school-introduction .school-page-facilities tbody td{height:auto}}.school-introduction .school-page-staff table{min-width:720px}.school-staff-mobile{display:none}@media (max-width:760px){.school-staff-original{display:none}.school-staff-mobile{margin-bottom:30px;display:block}.school-introduction .school-page-staff .school-staff-mobile-heading{margin:0 0 16px;font-size:19px;line-height:1.65}.school-staff-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:start;gap:14px;display:grid}.school-staff-card{border:1px solid var(--line);background:#fff;min-width:0}.school-introduction .school-page-staff .school-staff-card-title{border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);margin:0;padding:12px 16px;font-size:16px;line-height:1.7}.school-introduction .school-page-staff .school-staff-lead-name{margin:0;padding:14px 16px;font-size:16px;font-weight:600}.school-introduction .school-page-staff .school-staff-roles{margin:0;padding:4px 16px}.school-staff-roles>div{grid-template-columns:minmax(0,1fr) 4.5em;align-items:baseline;gap:8px;padding:10px 0;font-size:14px;line-height:1.8;display:grid}.school-staff-roles>div+div{border-top:1px solid var(--line)}.school-introduction .school-page-staff .school-staff-roles dt{font-size:14px;line-height:inherit;color:var(--gray);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-weight:400}.school-introduction .school-page-staff .school-staff-roles dd{font-size:14px;line-height:inherit;text-align:right;white-space:nowrap;color:var(--ink);margin:0;font-weight:600}.school-introduction .school-page-staff .school-page-table:not(.school-staff-original) th,.school-introduction .school-page-staff .school-page-table:not(.school-staff-original) td{white-space:nowrap}}.school-introduction .school-page-status td,.school-introduction .school-page-staff td{text-align:center}.school-introduction .school-page-charter{max-width:100%}.school-introduction .school-page-charter .school-page-major-heading{border-top:1px solid var(--line);padding-top:30px}.school-introduction .school-page-charter .school-page-numbered-list{margin:22px 0 32px;padding:0;list-style:none}.school-introduction .school-page-charter .school-page-numbered-list>li{border-bottom:1px solid var(--line);grid-template-columns:32px minmax(0,1fr);gap:12px;margin:0;padding:15px 0;display:grid}.school-introduction .school-page-charter .school-page-number{color:var(--burgundy);font-variant-numeric:tabular-nums;font-weight:650;line-height:1.9}.school-introduction .school-page-charter .school-page-numbered-copy{min-width:0;line-height:1.9}.school-introduction .school-page-charter .school-page-numbered-heading{color:var(--ink);margin:0 0 8px;font-size:17px;font-weight:650;display:block}.school-introduction .school-page-charter .school-page-detail-list{color:var(--gray);grid-column:2;margin:0;padding:0 0 0 18px;font-size:15px;line-height:1.9;list-style:outside}.school-introduction .school-page-charter .school-page-detail-list li+li{margin-top:8px}.school-introduction .school-page-charter .school-page-detail-list .school-page-numbered-heading{margin:12px 0 7px}.school-introduction .school-page-directions img{border:1px solid var(--line);width:100%;max-width:100%;margin:0 0 32px}.school-introduction .school-page-directions h3{border-top:1px solid var(--line);padding-top:24px}.school-introduction .school-page-directions ul{margin:14px 0 28px;padding-left:21px}.school-introduction .school-page-directions li+li{margin-top:12px}.school-introduction .public-source{margin-top:42px;padding-top:20px;font-size:12px}.school-goals-text{border:1px solid var(--line);background:#fff;border-radius:3px;margin-top:24px;padding-inline:22px}.school-goals-text>summary{cursor:pointer;color:var(--burgundy);padding-block:16px;font-size:15px;font-weight:600;line-height:1.7}.school-goals-text>summary:focus-visible{outline:2px solid var(--burgundy);outline-offset:4px}.school-goals-text-body{overflow-wrap:break-word;padding-bottom:22px;font-size:16px;line-height:1.9}.school-goals-text-body h2{color:var(--burgundy);margin:24px 0 12px;font-size:21px;font-weight:650;line-height:1.6}.school-goals-text-body h3{margin:22px 0 10px;font-size:17px;font-weight:650;line-height:1.6}.school-goals-text-body dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;margin:20px 0;display:grid}.school-goals-text-body dt{font-weight:650}.school-goals-text-body dd{margin:0}.school-goals-text-body ul{margin:16px 0;padding-left:24px}@media (max-width:760px){.school-goals-text{padding-inline:16px}.school-goals-text-body{font-size:15px}.school-goals-text-body dl{grid-template-columns:minmax(0,1fr)}}.intro-page-neighbors{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px;padding-top:28px;display:grid}.intro-neighbor{min-height:72px;color:var(--ink);align-items:center;gap:14px;padding:10px 0;display:flex}.intro-neighbor>svg{color:var(--burgundy);flex-shrink:0}.intro-neighbor>span{min-width:0}.intro-neighbor small{color:var(--gray);margin-bottom:7px;font-size:12px;display:block}.intro-neighbor strong{word-break:keep-all;font-size:17px;font-weight:600;line-height:1.6;display:block}.intro-neighbor-next{text-align:right;grid-column:2;justify-content:flex-end}.intro-neighbor:hover strong{color:var(--burgundy)}.school-introduction .intro-content a:focus-visible{outline:2px solid var(--burgundy);outline-offset:4px;border-radius:2px}@media (max-width:1180px){.intro-layout{grid-template-columns:196px minmax(0,1fr);gap:40px}.intro-description{font-size:15px}.school-introduction .school-page-body th,.school-introduction .school-page-body td{padding:13px 15px}}@media (max-width:760px){.intro-breadcrumb{margin-bottom:24px;line-height:1.7}.intro-layout{display:block}.intro-side{margin-bottom:30px;position:static}.intro-desktop-nav{display:none}.intro-mobile-menu{border:1px solid var(--line);background:#fff;display:block}.intro-mobile-menu>summary{cursor:pointer;min-height:54px;color:var(--burgundy);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:600;list-style:none;display:flex}.intro-mobile-menu>summary::-webkit-details-marker{display:none}.intro-mobile-menu>summary svg{flex-shrink:0;transition:transform .18s}.intro-mobile-menu[open]>summary svg{transform:rotate(180deg)}.intro-side .school-menu-links{border-top:1px solid var(--line);margin:0;padding:8px}.intro-side .school-menu-links a{min-height:46px;padding:11px 12px;font-size:14px}.intro-header{margin-bottom:28px;padding-bottom:26px}.intro-header .eyebrow{margin-bottom:12px}.intro-header h1{font-size:34px;line-height:1.3}.intro-description{margin-top:14px;font-size:14px;line-height:1.85}.intro-page-index{margin-top:18px;font-size:11px}.intro-toc{margin-bottom:28px;padding:18px}.intro-toc ol{grid-template-columns:minmax(0,1fr);gap:2px}.intro-toc a{min-height:42px;font-size:13px}.intro-table-hint{display:flex}.school-introduction .school-page-body{font-size:15px;line-height:1.95}.school-introduction .school-page-body h2,.school-introduction .school-page-body h3,.school-introduction .school-page-body .school-page-major-heading{margin:32px 0 17px;font-size:22px}.school-introduction .school-page-body h4,.school-introduction .school-page-body h5,.school-introduction .school-page-body h6,.school-introduction .school-page-body .school-page-subheading{font-size:18px}.school-introduction .school-page-body .school-page-portrait{float:none;width:180px;max-width:100%;margin:0 auto 26px}.school-introduction .school-page-greeting-copy{font-size:15px;line-height:2}.school-introduction .school-page-body table{font-size:13px}.school-introduction .school-page-body caption{padding:16px;font-size:16px}.school-introduction .school-page-body th,.school-introduction .school-page-body td{padding:12px 14px}.school-introduction .school-page-body [id^=school-section-]{scroll-margin-top:100px}.school-introduction .school-page-symbols dt{font-size:20px}.school-introduction .school-page-symbols dd{font-size:15px}.school-introduction .school-page-symbols .school-page-motto{padding:24px 18px}.school-introduction .school-page-charter .school-page-numbered-list>li{grid-template-columns:26px minmax(0,1fr);gap:8px;padding:14px 0}.school-introduction .school-page-charter .school-page-detail-list{padding-left:17px;font-size:14px}.school-introduction .school-page-charter .school-page-numbered-heading{font-size:16px}.school-introduction .public-source{align-items:flex-start;margin-top:30px;font-size:11px}.intro-page-neighbors{gap:18px;margin-top:28px;padding-top:20px}.intro-neighbor{gap:9px;min-height:68px}.intro-neighbor strong{font-size:14px}.intro-neighbor small{font-size:11px}.intro-neighbor>svg{width:17px;height:17px}}@media (max-width:360px){.intro-header h1{font-size:30px}.intro-toc{padding:16px}.intro-page-neighbors{gap:12px}.intro-neighbor{gap:7px}.intro-neighbor strong{font-size:13px}.intro-mobile-menu>summary{padding:12px 14px}}@media (prefers-reduced-motion:reduce){.intro-mobile-menu>summary svg{transition:none}}.intro-toc-mobile{display:none}.intro-toc-mobile>summary{cursor:pointer;min-height:26px;color:var(--burgundy);align-items:center;gap:12px;font-size:13px;list-style:none;display:flex}.intro-toc-mobile>summary::-webkit-details-marker{display:none}.intro-toc-mobile>summary strong{font-weight:600}.intro-toc-mobile>summary span{color:var(--gray);margin-left:auto;font-size:11px}.intro-toc-mobile>summary svg{flex-shrink:0}.intro-toc-mobile[open]>summary svg{transform:rotate(180deg)}.intro-toc-mobile[open] ol{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.intro-toc-mobile>summary:focus-visible{outline:2px solid var(--burgundy);outline-offset:4px}@media (max-width:760px){.intro-toc-desktop{display:none}.intro-toc-mobile{padding:14px 16px;display:block}.intro-page-charter .intro-table-hint{display:none}}.school-introduction .school-page-principal .school-page-greeting{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:40px;display:grid}.school-introduction .school-page-principal .school-page-greeting:after{display:none}.school-introduction .school-page-principal .school-page-portrait{float:none;width:100%;max-width:none;margin:0}.school-introduction .school-page-principal .school-page-portrait p{margin-bottom:16px;font-size:14px;line-height:1.85}.school-introduction .school-page-principal .school-page-greeting-copy{min-width:0}@media (max-width:760px){.school-introduction .school-page-principal .school-page-greeting{grid-template-columns:minmax(0,1fr);gap:24px}.school-introduction .school-page-principal .school-page-portrait{width:200px;max-width:100%;margin:0}}
