/* School business blocks. Shared geometry, titles and pagination live in page-frames.css. */
.schools-page { background:#f5f7fb; color:#334962; }
.schools-page .pc-layout__body { display:block; padding-top:14px; padding-bottom:36px; }
.school-library .pc-layout__body { padding-top:8px; }
.school-library .pc-breadcrumb { padding:2px 0; font-size:12px; line-height:18px; }
.school-library .pc-directory-heading { padding:4px 0 8px; }
.school-library .pc-directory-heading h1 { font-size:26px; line-height:1.35; }
.school-library .pc-directory-heading p { line-height:20px; }
.school-library-heading p { margin-top:3px; }
.school-library-total { display:flex; align-items:baseline; gap:9px; padding:4px 0 4px 24px; border-left:1px solid #dce5f1; }
.school-library-total strong { color:#285a91; font-size:29px; font-weight:650; letter-spacing:-.5px; }.school-library-total span { color:#8998aa; font-size:13px; }
.school-library-main { display:block; }

.school-mode-tabs { display:flex; align-items:stretch; gap:8px; margin-bottom:8px; padding:5px; border:1px solid #e0e9f5; background:#edf3fc; border-radius:9px; }
.school-mode-tabs a { flex:1; padding:9px 10px; color:#617993; border-radius:6px; text-align:center; text-decoration:none; font-size:15px; }
.school-mode-tabs a.is-active { background:#0b53c6; color:#fff; box-shadow:0 3px 8px #0b53c61a; }.school-mode-tabs a:not(.is-active):hover { color:#0b53c6; background:#fff; }
.school-result-tools { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 10px; }
.school-result-tools>span { flex:none; color:#8b98aa; font-size:12px; }.school-result-tools>span strong { color:#507197; font-weight:600; }
.school-search { display:flex; align-items:center; flex:1; max-width:590px; gap:9px; padding:3px 3px 3px 13px; height:42px; border:1px solid #dce6f3; border-radius:7px; background:#fff; }
.school-search .icon { width:17px; height:17px; color:#91a4be; }.school-search input { width:0; min-width:0; flex:1; border:0; background:none; outline:none; padding:4px 0; font:inherit; font-size:14px; }.school-search input::placeholder { color:#a0adbb; }
.school-search button { height:34px; width:80px; border:0; border-radius:5px; background:#edf3fb; color:#245d9d; font-size:13px; cursor:pointer; }.school-search:focus-within { border-color:#86ade3; box-shadow:0 0 0 3px #0b53c60a; }
.school-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.school-results>.pc-state { grid-column:1/-1; }
.school-result-row { display:grid; grid-template-columns:58px minmax(0,1fr); grid-template-rows:1fr auto; align-items:start; gap:10px 14px; min-width:0; padding:14px 16px; border:1px solid #e0e8f2; border-radius:10px; background:#fff; transition:border-color .15s,box-shadow .15s; }
.school-result-row:hover { border-color:#b2cbed; box-shadow:0 5px 18px #244b7808; }
.school-result-logo { display:grid; place-items:center; width:58px; height:58px; border:1px solid #eef2f8; border-radius:10px; background:#fcfdff; }
.school-result-logo img { display:block; width:52px; height:52px; object-fit:contain; }.school-result-logo>span { color:#4777aa; font-size:26px; font-weight:600; }
.school-result-info { min-width:0; }.school-result-info h2 { margin:0 0 5px; font-size:18px; line-height:1.4; font-weight:650; color:#283c54; overflow-wrap:anywhere; }.school-result-info h2 a { color:inherit; text-decoration:none; }.school-result-info h2 a:hover { color:#0b53c6; }
.school-result-meta { margin:0; color:#7a8a9f; font-size:13px; line-height:1.6; }.school-result-bottom { display:flex; align-items:center; gap:8px; margin-top:8px; min-width:0; }
.school-result-data { flex:none; border-radius:4px; padding:2px 7px; background:#edf5ff; color:#4a75a6; font-size:12px; line-height:1.5; }.school-result-intro { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#9aa6b6; font-size:12px; }
.school-result-actions { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:10px; border-top:1px solid #edf1f6; }.school-result-actions a { color:#8998aa; font-size:12px; text-decoration:none; }.school-result-actions a:first-child { display:flex; justify-content:space-between; gap:13px; padding:5px 10px; border:1px solid #dce8f8; border-radius:5px; color:#2869b8; background:#f2f7fe; font-size:13px; }.school-result-actions a:hover { color:#0b53c6; }
.school-filter-panel { padding:18px; border:1px solid #e0e8f2; border-radius:10px; background:#fff; }.school-filter-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }.school-filter-title h2 { margin:0; font-size:17px; color:#2a435f; }.school-filter-title>a { color:#9aa8b7; font-size:12px; }
.school-filter-panel label { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }.school-filter-panel label>span { color:#62778f; font-size:13px; }.school-filter-panel .pc-control { width:100%; min-width:0; padding:8px 26px 8px 10px; min-height:37px; border-radius:5px; border-color:#e0e8f1; font-size:13px; box-shadow:none; }
.school-filter-note { margin:0 0 15px; color:#a0adba; font-size:12px; line-height:1.7; }.school-filter-more { border-top:1px solid #edf1f6; padding-top:14px; }.school-filter-more summary { display:flex; justify-content:space-between; list-style:none; color:#71869e; font-size:13px; cursor:pointer; padding-bottom:14px; }.school-filter-more summary::-webkit-details-marker { display:none; }
.school-filter-submit { width:100%; padding:9px 0; border:0; border-radius:5px; color:#fff; background:#0b53c6; font:inherit; font-size:13px; cursor:pointer; }.school-filter-submit:hover { background:#0949af; }
.school-selected { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:13px; }.school-selected>a { padding:4px 8px; border:1px solid #dbe6f5; border-radius:5px; background:#eff5fd; color:#56799f; font-size:12px; text-decoration:none; }.school-selected>a span { margin-left:8px; }.school-selected>.school-selected__clear { background:transparent; border-color:transparent; color:#96a3b2; }
.school-filter-help { position:relative; overflow:hidden; padding:22px 19px; border:1px solid #ddeaf5; border-radius:10px; background:linear-gradient(135deg,#e7f0ff,#eef9f8); }.school-filter-help:after { content:""; position:absolute; width:110px; height:110px; right:-48px; top:0; border:20px solid #ffffff60; border-radius:50%; pointer-events:none; }.school-filter-help>span { color:#7a9bb9; font-size:12px; letter-spacing:2px; }.school-filter-help h2 { margin:12px 0; color:#345d88; font-size:24px; line-height:1.45; font-weight:650; }.school-filter-help p { color:#7a94aa; font-size:12px; line-height:1.9; }.school-filter-help>a { display:block; margin-top:18px; font-size:13px; color:#3872a9; text-decoration:none; }
/* School identity and grouped detail sections. */
.schools-guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.schools-step-list { display:grid; gap:14px; margin:0; padding:0; list-style:none; counter-reset:steps; }
.schools-step-list li { position:relative; padding-left:28px; counter-increment:steps; }
.schools-step-list li:before { content:counter(steps,decimal-leading-zero); position:absolute; left:0; top:2px; color:#7ba5cc; font-size:12px; }
.schools-step-list strong { display:block; font-size:14px; color:#385670; }
.schools-step-list span { display:block; margin-top:4px; color:#8293a4; font-size:13px; line-height:1.7; }

/* ===== School detail redesign (namespaced to .school-detail) ===== */

.school-detail.school-space { --pc-section-gap:12px; }
.school-detail .school-content-identity--home { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; margin:0 0 12px; padding:14px 18px; border:1px solid #dfe7f1; border-radius:6px 6px 0 0; background:linear-gradient(110deg,#f8fbff,#fff 42%); box-shadow:none; gap:10px 16px; }
.school-detail .school-content-identity--home::before { left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,#0b53c6,#dce8fa 52%,#edf3fc); }
.school-detail .school-content-identity--home .school-identity-logo { width:76px; height:76px; padding:8px; border:1px solid #dfe7f1; border-radius:8px; background:#fff; box-shadow:0 2px 6px rgba(24,52,87,.04); }
.school-detail .school-content-identity--home h1 { margin:0 0 6px; font-size:26px; line-height:1.35; color:#183457; }
.school-detail .school-content-identity--home .school-identity-eyebrow { margin:0 0 5px; color:#6b7280; font-size:13px; }
.school-detail .school-content-identity--home .school-identity-tags { gap:6px; margin-top:8px; }
.school-detail .school-content-identity--home .school-identity-tags>span { padding:2px 7px; border:1px solid #e3e9f1; border-radius:3px; color:#52647a; font-size:13px; background:#f6f8fb; }
.school-detail .school-content-identity--home .school-identity-tags>.school-identity-scope { color:#1554aa; border-color:#d5e3f7; background:#eef4ff; }
.school-detail .school-content-identity--home .school-identity-intro { margin-top:8px; font-size:14px; line-height:1.8; color:#6b7280; }
.school-detail .school-content-identity--home .school-identity-actions { display:block; flex:none; min-width:0; padding:0; border-left:0; align-self:flex-start; margin-top:4px; }
.school-detail .school-content-identity--home .school-identity-actions p { display:none; }
.school-detail .school-content-identity--home .school-identity-actions .school-action-primary { display:none; }
.school-detail .school-content-identity--home .school-identity-actions .school-intro-link { display:inline-block; width:auto; margin:0; padding:0; border:0; background:none; border-radius:0; box-shadow:none; color:#1554aa; font-size:13px; text-decoration:none; }
.school-detail .school-content-identity--home .school-identity-actions .school-intro-link:hover { text-decoration:underline; }
.school-detail .school-identity-facts { display:flex; flex-wrap:wrap; gap:3px 20px; margin:5px 0 0; }
.school-detail .school-identity-facts>div { display:flex; align-items:baseline; gap:6px; min-width:0; }
.school-detail .school-identity-address { flex-basis:100%; }
.school-detail .school-identity-facts dt { flex:none; white-space:nowrap; color:#6b7280; font-size:12px; margin:0; }
.school-detail .school-identity-facts dd { min-width:0; margin:0; color:#4b5563; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }

.school-detail .school-program-frame { align-items:start; }
.school-detail .pc-frame__main { display:block; }
.school-detail .pc-frame__aside { display:block; position:static; align-self:start; }
.school-detail .pc-sidebar-stack { display:grid; gap:12px; padding:0; border:0; border-radius:0; background:none; align-self:start; }
.school-detail .pc-sidebar-stack>section:not(.article-toolbox) { margin:0; padding:14px; border:1px solid #e3e7ee; border-radius:4px; background:#fff; box-shadow:none; }

.school-detail .school-profile-summary { display:flex; align-items:baseline; gap:6px; margin:3px 0 0; font-size:12px; line-height:1.6; color:#4b5563; }
.school-detail .school-profile-summary strong { flex:none; color:#6b7280; font-weight:400; }
.school-detail .school-profile-summary>span { min-width:0; }
.school-detail .school-overview { margin:-12px 0 12px; padding:7px 16px; border:1px solid #dfe7f1; border-top:0; border-radius:0 0 6px 6px; background:#f9fbfe; scroll-margin-top:70px; }
.school-detail .school-overview>summary::after { content:"展开 ＋"; margin-left:auto; color:#1554aa; }
.school-detail .school-overview[open]>summary::after { content:"收起 −"; }
.school-detail .school-overview>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; color:#6b7280; font-size:13px; cursor:pointer; }
.school-detail .school-overview>summary::-webkit-details-marker { display:none; }
.school-detail .school-overview>summary>span { display:inline-flex; align-items:center; gap:8px; }
.school-detail .school-overview>summary .icon { display:none; }
.school-detail .school-overview>summary strong { font-size:13px; font-weight:600; color:#374151; }
.school-detail .school-overview>summary small { color:#9ca3af; font-size:12px; }
.school-detail .school-overview>summary em { flex:none; font-size:12px; font-style:normal; color:#6b7280; }
.school-detail .school-overview>summary em::after { content:"⌄"; display:inline-block; margin-left:8px; font-size:14px; }
.school-detail .school-overview[open]>summary { margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid #e3e7ee; }
.school-detail .school-overview[open]>summary em::after { transform:rotate(180deg); }
.school-detail .school-overview .pc-richtext { padding-top:0; font-size:14px; line-height:1.8; color:#374151; }

.school-detail .school-detail-section { margin:0 0 12px; padding:16px; border:1px solid #dfe7f1; border-radius:6px; background:#fff; box-shadow:none; }
.school-detail .school-detail-section .pc-section-heading__title { font-size:18px; line-height:26px; color:#183457; }
.school-detail .school-detail-section .pc-section-heading__title::before { content:""; display:inline-block; position:static; flex:none; width:3px; height:16px; margin-right:8px; border-radius:2px; background:#0b53c6; vertical-align:-2px; }
.school-detail .school-detail-section>.pc-section-heading { padding-bottom:9px; margin-bottom:12px; border-bottom:1px solid #e3e7ee; }
.school-detail .school-detail-section .pc-section-heading__summary { margin-top:4px; color:#6b7280; font-size:12px; line-height:1.6; }
.school-detail .school-detail-section .pc-panel { box-shadow:none; }
.school-detail .school-detail-section>.pc-panel { margin-top:0; border:0; border-radius:0; }
.school-detail .school-detail-section>.pc-panel>.pc-panel__body { padding-left:0; padding-right:0; }
.school-detail .school-detail-section .pc-table { border:1px solid #e3e7ee; border-radius:3px; font-size:14px; }
.school-detail .school-detail-section .pc-table th { padding:8px 10px; background:#f0f5fc; color:#294b72; font-size:13px; font-weight:600; border-color:#dfe7f1; }
.school-detail .school-detail-section .pc-table td { padding:8px 10px; color:#374151; font-size:14px; line-height:1.6; vertical-align:middle; border-color:#eef0f4; }
.school-detail .school-detail-section .pc-table tr:nth-child(even) td { background:#fff; }
.school-detail .school-detail-section .pc-table tbody tr:hover td { background:#f5f9ff; }
.school-detail .school-detail-section .pc-table td a { color:#1554aa; text-decoration:none; }
.school-detail .school-detail-section .pc-table td a:hover { text-decoration:underline; }
.school-detail .school-detail-section .pc-state { padding:16px; color:#6b7280; font-size:13px; }
.school-detail .school-section-actions { padding-top:8px; }
.school-detail .school-section-actions a { color:#1554aa; font-size:12px; text-decoration:none; }
.school-detail .school-section-actions a:hover { text-decoration:underline; }

.school-detail .school-section-banner { min-height:0; margin:0 0 12px; padding:0; overflow:visible; border:0; border-radius:0; background:none; }
.school-detail .school-section-banner h2 { font-size:18px; line-height:26px; color:#183457; font-weight:650; letter-spacing:0; }
.school-detail .school-section-banner h2::before { width:3px; height:16px; border-radius:2px; background:#0b53c6; }
.school-detail .school-section-banner p { display:none; }
.school-detail .school-section-banner>img { display:none; }
.school-detail .school-section-banner>.school-discovery-mark { display:none; }

.school-detail .school-section-menu { container:school-navigation / inline-size; margin:0 0 12px; padding:4px; border:1px solid #d8e3f2; border-radius:6px; background:linear-gradient(180deg,#f9fbff,#edf3fb); box-shadow:inset 0 1px 0 #fff; }
.school-detail .school-section-nav { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:3px; }
.school-detail .school-section-nav a { position:relative; display:flex; align-items:center; justify-content:center; gap:5px; min-width:0; min-height:40px; padding:7px 3px; border:1px solid transparent; border-radius:4px; color:#435b78; font-size:13px; line-height:1.6; text-align:center; text-decoration:none; white-space:nowrap; }
.school-detail .school-section-nav .icon { flex:none; width:16px; height:16px; color:inherit; }
.school-detail .school-section-nav strong { font-weight:600; }
.school-detail .school-section-nav a:hover { color:#0b53c6; border-color:#d5e3f7; background:#fff; }
.school-detail .school-section-nav a[aria-current="location"] { color:#fff; border-color:#0b53c6; background:#0b53c6; box-shadow:0 2px 4px rgba(11,83,198,.16); }
.school-detail .school-section-nav a[aria-current="location"]::after { content:""; position:absolute; bottom:3px; left:calc(50% - 9px); width:18px; height:2px; border-radius:2px; background:#b8d3ff; }
.school-detail .school-section-nav a:focus-visible { outline:2px solid #0b53c6; outline-offset:2px; }
/* Keep every label readable when the main column is too narrow for optional icons. */
@container school-navigation (max-width:850px) {
    .school-detail .school-section-nav a { font-size:12px; }
    .school-detail .school-section-nav .icon { display:none; }
}
.school-detail .school-topic-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; padding-top:10px; margin-top:10px; border-top:1px solid #e3e7ee; }
.school-detail .school-topic-links a { display:block; padding:3px 0; color:#6b7280; font-size:12px; text-decoration:none; }
.school-detail .school-topic-links a:hover { color:#1554aa; }

.school-detail .schools-type-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.school-detail .schools-type-tabs :is(a,span.is-active) { padding:4px 9px; border:1px solid #e3e7ee; border-radius:3px; color:#6b7280; font-size:12px; background:#fff; }
.school-detail .schools-type-tabs a.is-active,.school-detail .schools-type-tabs span.is-active { color:#1554aa; border-color:#b9cdf0; background:#eef4ff; font-weight:600; }

.school-detail .school-major-grid { display:grid; grid-template-columns:1fr; gap:6px; }
.school-detail .school-major-card { display:block; height:54px; padding:0 9px 0 11px; margin:0; border:1px solid #e1e8f1; border-radius:5px; background:linear-gradient(90deg,#fff,#f8fbff); box-shadow:none; color:inherit; text-decoration:none; }
.school-detail .school-major-card>img { display:none; }
.school-detail .school-major-card__body { position:relative; display:flex; flex-direction:column; justify-content:center; min-width:0; height:100%; padding-right:28px; }
.school-detail .school-major-card h3 { margin:0; overflow:hidden; color:#294b72; font-size:13px; font-weight:600; line-height:1.5; white-space:nowrap; text-overflow:ellipsis; }
.school-detail .school-major-card p { display:block; margin:1px 0 0; overflow:hidden; color:#7a899b; font-size:12px; line-height:1.45; white-space:nowrap; text-overflow:ellipsis; }
.school-detail .school-major-card__action { position:absolute; top:50%; right:0; display:flex; align-items:center; justify-content:center; width:23px; height:23px; border:1px solid #d8e4f3; border-radius:50%; background:#fff; color:transparent; font-size:0; transform:translateY(-50%); }
.school-detail .school-major-card__action span { color:#4775ad; font-size:15px; line-height:1; }
.school-detail .school-major-card:hover { border-color:#b9cdea; background:#f3f7fd; box-shadow:0 2px 5px rgba(32,76,128,.06); }
.school-detail .school-major-card:hover h3 { color:#0b53c6; }
.school-detail .school-major-card:hover .school-major-card__action { border-color:#b9cdea; background:#eaf2ff; }
.school-detail .school-major-card:focus-visible { outline:2px solid #0b53c6; outline-offset:2px; }

.school-detail .school-guide-card-grid { display:grid; grid-template-columns:1fr; gap:0; }
.school-detail .school-guide-card { display:block; padding:8px 0; border:0; border-bottom:1px solid #eef0f4; border-radius:0; background:none; box-shadow:none; color:#374151; text-decoration:none; }
.school-detail .school-guide-card__number { display:none; }
.school-detail .school-guide-card__body { display:block; }
.school-detail .school-guide-card__meta { display:flex; align-items:baseline; justify-content:space-between; gap:8px; color:#6b7280; font-size:12px; font-weight:400; line-height:1.5; }
.school-detail .school-guide-card__meta time { color:#9ca3af; font-size:12px; }
.school-detail .school-guide-card h3 { margin:3px 0 0; font-size:13px; font-weight:400; line-height:1.6; color:#374151; overflow-wrap:anywhere; }
.school-detail .school-guide-card__action { display:none; }
.school-detail .school-guide-card:hover { background:none; box-shadow:none; }
.school-detail .school-guide-card:hover h3 { color:#1554aa; }
.school-detail .school-regional-guides__note { margin:10px 0 0; color:#6b7280; font-size:12px; line-height:1.7; }
.school-detail .school-regional-guides__note>.icon { display:none; }

.school-detail .school-related-heading { margin:0 0 10px; padding:0 0 8px; border-bottom:1px solid #e3e7ee; }
.school-detail .school-related-heading h2 { color:#111; font-size:16px; }
.school-detail .school-related-heading h2::before { display:none; }
.school-detail .school-related-heading p { display:none; }
.school-detail .school-related-grid { display:grid; grid-template-columns:1fr; gap:0; margin:0; padding:0; list-style:none; }
.school-detail .school-related-card { display:flex; align-items:center; gap:10px; padding:6px 0; height:auto; border:0; border-bottom:1px solid #eef0f4; border-radius:0; background:none; box-shadow:none; color:#374151; text-decoration:none; }
.school-detail .school-related-card:hover,.school-detail .school-related-card:focus-visible { border-color:#eef0f4; box-shadow:none; }
.school-detail .school-related-logo { flex:none; width:36px; height:36px; border:1px solid #e3e7ee; border-radius:3px; background:#fff; color:#6b7280; font-size:16px; }
.school-detail .school-related-logo img { width:32px; height:32px; object-fit:contain; }
.school-detail .school-related-card__body { display:block; min-width:0; flex:1; }
.school-detail .school-related-card__name { display:block; font-size:15px; font-weight:400; line-height:1.5; color:#374151; overflow-wrap:anywhere; }
.school-detail .school-related-card .pc-school-name { display:block; }
.school-detail .school-related-card .pc-school-name__college { display:block; margin-top:2px; color:#9ca3af; font-size:12px; font-weight:400; line-height:1.5; }
.school-detail .school-related-card__meta { display:none; }
.school-detail .school-related-card:hover .school-related-card__name { color:#1554aa; }
.school-detail .school-further-grid { display:grid; grid-template-columns:1fr; gap:0; align-items:start; }
.school-detail .school-further-grid>:only-child { grid-column:auto; }

.school-detail .school-reading-section { display:flex; flex-direction:column; align-self:stretch; padding:0 0 12px; border-top:0; }
.school-detail .school-reading-section:first-child { padding-top:0; }
.school-detail .school-reading-section:last-child { padding-bottom:0; }
.school-detail .school-reading-section__header { display:flex; flex-direction:row; align-items:baseline; justify-content:space-between; gap:12px; padding:0 0 6px; margin:0; border:0; border-radius:0; background:none; }
.school-detail .school-reading-section__header h3 { margin:0; color:#111; font-size:15px; line-height:1.5; font-weight:650; }
.school-detail .school-reading-section__header p { display:none; }
.school-detail .school-reading-section__footer { display:flex; justify-content:flex-end; margin-top:auto; padding-top:6px; }
.school-detail .school-reading-section__footer>a { display:inline-block; color:#1554aa; font-size:12px; line-height:1.6; text-decoration:none; }
.school-detail .school-reading-section__footer>a:hover { text-decoration:underline; }
.school-detail .school-learning-grid .school-reading-section__header { border:0; background:none; }
.school-detail .school-learning-grid .school-reading-section__header h3 { color:#111; }

.school-detail .school-reading-list { display:block; }
.school-detail .school-reading-item { display:block; min-width:0; padding:8px 0; min-height:34px; border-bottom:1px solid #eef0f4; }
.school-detail .school-reading-item:last-child { border-bottom:0; }
.school-detail .school-reading-item h3 { margin:0; font-size:14px; line-height:1.6; font-weight:400; }
.school-detail .school-reading-item h3 a { display:block; color:#374151; text-decoration:none; overflow-wrap:anywhere; }
.school-detail .school-reading-item:hover { background:none; }
.school-detail .school-reading-item h3 a:hover { color:#1554aa; text-decoration:underline; }
.school-detail .school-reading-item__meta { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; margin-top:3px; color:#6b7280; font-size:12px; line-height:1.5; }
.school-detail .school-notice-grid>.school-reading-section:only-child .school-reading-item { display:flex; align-items:baseline; gap:16px; padding:8px 0; }
.school-detail .school-notice-grid>.school-reading-section:only-child .school-reading-item h3 { flex:1; min-width:0; }
.school-detail .school-notice-grid>.school-reading-section:only-child .school-reading-item__meta { flex:none; margin:0; }
.school-detail .school-reading-item__meta time { white-space:nowrap; color:#6b7280; }
.school-detail .school-reading-item__meta .school-reading-item__scope { color:#9ca3af; }
.school-detail .school-notice-grid,.school-detail .school-learning-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; align-items:start; }
.school-detail .school-notice-grid>.school-reading-section:last-child:nth-child(odd) { grid-column:1/-1; }
.school-detail .school-notice-grid>.school-reading-section:last-child:nth-child(odd) .school-reading-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
.school-detail .school-notice-grid>.school-reading-section:only-child .school-reading-list { display:block; }

.school-detail .school-learning-grid { row-gap:16px; align-items:stretch; }
.school-detail .school-learning-grid>.school-reading-section { box-sizing:border-box; height:236px; padding:14px 16px 12px; overflow:hidden; border:1px solid #dfe7f1; border-radius:6px; background:linear-gradient(180deg,#f8fbff 0,#fff 62px); box-shadow:0 4px 12px rgba(35,71,112,.05); }
.school-detail .school-learning-grid>.school-reading-section>.school-reading-section__header { flex:0 0 auto; align-items:center; min-height:29px; padding:0 0 8px; border-bottom:1px solid #e8eef6; }
.school-detail .school-learning-grid>.school-reading-section>.school-reading-section__header h3 { min-width:0; overflow:hidden; color:#173f6d; white-space:nowrap; text-overflow:ellipsis; }
.school-detail .school-learning-grid>.school-reading-section>.school-reading-list { display:flex; flex:1 1 auto; flex-direction:column; min-height:0; }
.school-detail .school-learning-grid>.school-reading-section>.school-reading-list>.school-reading-item { display:flex; flex:0 0 48px; flex-direction:column; justify-content:center; height:48px; min-height:48px; padding:0; }
.school-detail .school-learning-grid>.school-reading-section>.school-reading-list>.school-reading-item:nth-child(n+4) { display:none; }
.school-detail .school-learning-grid>.school-reading-section>.school-reading-list>.school-reading-item:nth-child(3) { border-bottom:0; }
.school-detail .school-learning-grid .school-reading-item h3,.school-detail .school-learning-grid .school-reading-item h3 a { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.school-detail .school-learning-grid .school-reading-item h3 a:hover,.school-detail .school-learning-grid .school-reading-item h3 a:focus-visible { color:#1554aa; text-decoration:none; }
.school-detail .school-learning-grid .school-reading-item__meta { flex-wrap:nowrap; min-width:0; margin-top:2px; overflow:hidden; line-height:1.35; white-space:nowrap; text-overflow:ellipsis; }
.school-detail .school-learning-grid>.school-reading-section>.school-reading-section__footer { align-items:center; min-height:28px; padding-top:7px; border-top:1px solid #e8eef6; }
.school-detail .school-learning-grid>.school-reading-section>.school-reading-section__footer>a { padding:2px 0; }

.school-detail .school-guide { margin:0 0 12px; padding:12px 14px; border:1px solid #e3e7ee; border-radius:4px; background:#fff; }
.school-detail .school-guide>summary,.school-detail .school-source-details>summary { cursor:pointer; color:#374151; font-size:13px; font-weight:600; }
.school-detail .school-guide summary span,.school-detail .school-source-details>summary span { margin-left:8px; color:#9ca3af; font-size:12px; font-weight:400; }
.school-detail .school-guide .schools-step-list { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:12px; gap:10px; }
.school-detail .school-guide>p { margin:10px 0 0; padding-top:8px; border-top:1px solid #e3e7ee; color:#6b7280; font-size:12px; line-height:1.7; }
.school-detail .school-guide>p a { color:#1554aa; }
.school-detail .school-source-details { padding:12px 14px; border:1px solid #e3e7ee; border-radius:4px; background:#fff; }
.school-detail .school-source-details[open]>summary { margin-bottom:10px; }
.school-detail .school-teaching-sites { padding-top:10px; }
.school-detail .school-admission-reference { margin:10px 0 0; }
.school-detail .school-admission-reference[open]>summary { margin-bottom:10px; }
.school-detail .school-plan-pages { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; padding-top:8px; border-top:1px solid #e3e7ee; }
.school-detail .school-plan-pages>span { color:#6b7280; font-size:12px; }
.school-detail .school-plan-pages .pc-pager { margin:0; }
.school-detail #adult-offerings { margin-top:12px; }
.school-detail #major-directory { margin-top:0; }
.school-detail .school-offerings-table { width:100%; min-width:0; }
.school-detail .school-offerings-table a { text-decoration:none; color:#1554aa; }
.school-detail .school-offerings-table small { font-size:12px; color:#6b7280; }
.school-detail .school-offerings-table .offering-exam-subjects { font-weight:400; }
.school-detail .school-offerings-table .offering-plan-link { margin-left:8px; font-size:12px; white-space:nowrap; }

.school-detail #questions>.pc-section-heading { margin-bottom:10px; }
.school-detail .schools-faq-list { display:grid; grid-template-columns:1fr; gap:0; }
.school-detail .schools-faq-list details { padding:10px 0; border:0; border-bottom:1px solid #eef0f4; border-radius:0; background:#fff; }
.school-detail .schools-faq-list details:last-child { border-bottom:0; }
.school-detail .schools-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:16px; list-style:none; color:#111; font-size:14px; line-height:1.6; cursor:pointer; }
.school-detail .schools-faq-list summary::-webkit-details-marker { display:none; }
.school-detail .schools-faq-list summary::after { content:"+"; flex:none; color:#9ca3af; font-size:16px; font-weight:400; }
.school-detail .schools-faq-list details[open] summary::after { content:"−"; }
.school-detail .schools-faq-list .pc-richtext { padding-top:10px; font-size:14px; line-height:1.8; color:#374151; }
.school-detail #school-faqs+#region-faqs { margin-top:16px; padding-top:12px; border-top:1px solid #e3e7ee; }
.school-detail :is(section,div,details)[id] { scroll-margin-top:20px; }
.school-detail .school-program-frame :is(#school-admission-programs,#major-directory)+:is(#school-admission-programs,#school-plans) { margin-top:16px; padding-top:12px; border-top:1px solid #e3e7ee; }

.school-detail .schools-aside-contact { padding:14px; border:1px solid #e3e7ee; border-radius:4px; background:#fff; font-size:13px; }
.school-detail .schools-aside-contact strong { color:#111; font-size:14px; }
.school-detail .schools-aside-contact p { margin:6px 0; color:#6b7280; font-size:12px; line-height:1.7; }
.school-detail .schools-aside-contact>a { display:block; padding:7px 10px; border:1px solid #e3e7ee; border-radius:3px; background:#fff; color:#1554aa; font-size:12px; text-decoration:none; }
.school-detail .schools-aside-contact>a:hover { background:#f7f9fc; }

.school-detail .school-scope-panel { padding:14px; border:1px solid #e3e7ee; border-radius:4px; background:#fff; }
.school-detail .school-scope-panel h2 { margin:0 0 4px; font-size:13px; color:#111; }
.school-detail .school-scope-panel p { margin:0 0 10px; color:#6b7280; font-size:12px; }
.school-detail .school-scope-panel label { margin:10px 0 5px; color:#6b7280; font-size:12px; }
.school-detail .school-scope-panel select { height:34px; border:1px solid #e3e7ee; border-radius:3px; font-size:12px; }
.school-detail .school-scope-submit { margin-top:10px; padding:7px 10px; border:1px solid #e3e7ee; border-radius:3px; color:#1554aa; background:#fff; font-size:12px; }
.school-detail .school-scope-submit:hover { background:#f7f9fc; }

.school-detail .pc-section-heading__title::before { display:none; }
.school-detail .school-empty-planner { display:inline-block; margin-top:8px; font-size:12px; color:#1554aa; }
.school-detail .school-detail-body { display:block; margin-top:0; }

.school-detail #major-directory th:first-child { width:110px; }
.school-detail #major-directory th:nth-child(2) { width:92px; }
.school-detail #major-directory th:nth-child(3) { width:165px; }
.school-detail #major-directory th:last-child { width:92px; }
.school-detail #major-directory td:nth-child(-n+2) { white-space:nowrap; }
.school-detail #major-directory td:nth-child(3) br { display:none; }
.school-detail #major-directory td:nth-child(3) small { display:inline; margin-left:6px; color:#6b7280; font-size:12px; }
.school-detail #major-directory td p { margin:3px 0 0; font-size:13px; line-height:1.6; }
.school-detail #major-directory .pc-panel__header { padding:0 0 10px; }
.school-detail .school-section-banner p { display:none; }
.school-detail .school-content-identity--home .school-profile-summary a { color:#1554aa; white-space:nowrap; }
.school-detail #major-directory td:last-child a { white-space:nowrap; }

.school-detail .pc-table .pc-status,.school-detail .pc-status { border-radius:3px; font-size:12px; }
.school-detail .school-program-frame .school-state-warning,.school-detail .school-state-warning { color:#8a5a00; }
.school-detail #school-plans .pc-table th:nth-child(1) { width:9%; }
.school-detail #school-plans .pc-table th:nth-child(2) { width:13%; }
.school-detail #school-plans .pc-table th:nth-child(3) { width:23%; }
.school-detail #school-plans .pc-table th:nth-child(4) { width:10%; }
.school-detail #school-plans .pc-table th:nth-child(5) { width:16%; }
.school-detail #school-plans .pc-table th:nth-child(6) { width:15%; }
.school-detail #school-plans .pc-table th:nth-child(7) { width:14%; }
.schools-aside-contact { padding:20px; border:1px solid #dce8f6; border-radius:10px; background:linear-gradient(135deg,#edf4ff,#f5fafc); }.schools-aside-contact strong { color:#466788; font-size:16px; }.schools-aside-contact p { margin:10px 0 15px; color:#8b9db0; font-size:13px; line-height:1.8; }

@media(max-width:1100px) {
.school-guide .schools-step-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.school-detail .school-guide .schools-step-list { grid-template-columns:1fr; }
}
@media(max-width:720px) {
.school-detail .school-content-identity--home { flex-wrap:wrap; }
.school-detail .school-content-identity--home .school-identity-logo { width:64px; height:64px; }
.school-detail .school-content-identity--home h1 { font-size:22px; }
.school-detail .school-section-nav { grid-auto-flow:row; grid-template-columns:repeat(3,minmax(0,1fr)); }
}
