.school-db{--school-ink:#423342;--school-muted:#665b65;--school-line:#ead9df;background:#fff7f9;color:#382f38;padding-bottom:64px;line-height:1.8}
.school-db a{color:#923753;text-underline-offset:4px}
.school-db a:focus-visible,.school-db button:focus-visible{outline:3px solid #8c3256;outline-offset:4px}
.school-db .btn-primary{background:#a43c61;border-color:#a43c61;color:#fff;padding:12px 20px;white-space:normal}
.school-db .btn-primary:hover{background:#822e4d}
.school-db-hero{padding:56px 0 48px;background:linear-gradient(115deg,#fff0f5,#fff9f4);border-bottom:1px solid var(--school-line)}
.school-db-eyebrow{color:#8a3a57;font-size:1rem;letter-spacing:.08em;font-weight:700}
.school-db h1{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.5;color:var(--school-ink);font-weight:700;overflow-wrap:anywhere}
.school-db-lead{color:#625362;margin:18px 0 0;font-size:1.125rem}
.school-db-library{padding-top:32px}
.school-db-search{display:grid;grid-template-columns:minmax(180px,2fr) minmax(150px,1fr) minmax(130px,1fr) minmax(110px,1fr) auto;gap:16px;align-items:end;background:#fff;border:1px solid var(--school-line);border-radius:18px;padding:26px;box-shadow:0 5px 24px #4e523308}
.school-db-search label{display:block;font-weight:600;margin-bottom:8px;font-size:1rem}
.school-db-search input,.school-db-search select{min-height:48px}
.school-db-reset{grid-column:1/-1;font-size:1rem;justify-self:end}
.school-db-results-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding:36px 0 20px}
.school-db-results-heading h2{font-size:1.5rem;margin:0;color:var(--school-ink)}
.school-db-results-heading h2 span{font-size:1rem;padding-left:12px}
.school-db-results-heading p{font-size:1rem;color:var(--school-muted);margin:0}
.school-db-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.school-db-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--school-line);border-radius:18px;padding:26px;min-width:0;transition:box-shadow .15s}
.school-db-card:hover{box-shadow:0 6px 22px #3c503212}
.school-db-meta{font-size:1rem;font-weight:600;color:#86405a;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px 14px}
.school-db-meta span{color:#665b65;font-weight:400}
.school-db-card h3{font-size:1.35rem;line-height:1.65;margin-bottom:12px;overflow-wrap:anywhere}
.school-db-card h3 a{text-decoration:none}
.school-db-address{font-size:1rem;color:var(--school-muted);overflow-wrap:anywhere}
.school-db-excerpt{font-size:1rem;line-height:1.9}
.school-db-card-link{margin-top:auto;border-top:1px solid #f0e1e6;padding-top:16px;display:flex;justify-content:space-between;text-decoration:none;font-size:1rem;font-weight:600}
.school-db-note{font-size:1rem;color:var(--school-muted);line-height:1.85;margin:22px 0 0}
.school-db-empty{padding:40px 24px;background:#fff;border:1px solid var(--school-line);border-radius:16px}
.school-db-empty h3{font-size:1.35rem}
.school-db-pagination{padding-top:32px;text-align:center}
.school-db-pagination-summary{font-size:1rem;color:var(--school-muted)}
.school-db-pagination-list{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.school-db-page-link{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--school-line);border-radius:8px;background:white;text-decoration:none}
.school-db-page-link.is-current{background:#a43c61;color:white}
.school-db-page-link.is-disabled{color:#665b65;background:#f7eff2}
.school-db-page-ellipsis{padding:10px 0;display:block}
.school-db-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:1rem;padding:24px 0;color:var(--school-muted)}
.school-db-school-heading{padding:22px 0 36px;overflow-wrap:anywhere}
.school-db-school-heading h1{margin-bottom:16px}
.school-db-official{display:inline-block;padding:10px 18px;border:1px solid #d3a7b7;background:#fff;border-radius:8px;text-decoration:none}
.school-db-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.school-db-sections{display:grid;gap:24px;min-width:0}
.school-db-panel{padding:32px;background:#fff;border:1px solid var(--school-line);border-radius:18px;min-width:0;overflow-wrap:anywhere}
.school-db-panel h2{font-size:1.5rem;color:var(--school-ink);border-bottom:2px solid #f1d4df;padding-bottom:16px;margin:0 0 22px}
.school-db-prose{font-size:1.125rem;line-height:2;white-space:pre-line}
.school-db-source{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:1rem;margin:12px 0 0;color:var(--school-muted)}
.school-db-facts{margin:0}
.school-db-facts>div{display:grid;grid-template-columns:128px minmax(0,1fr);gap:16px;border-bottom:1px solid #f0e1e6;padding:18px 0}
.school-db-facts>div:first-child{padding-top:0}
.school-db-facts dt{color:#665064;font-size:1rem;font-weight:600}
.school-db-facts dd{margin:0;overflow-wrap:anywhere}
.school-db-facts .school-db-note{margin-top:8px}
.school-db-save{border:1px solid #ebc5d3;background:#fff0f5;border-radius:18px;padding:26px}
.school-db-save h2{font-size:1.35rem;line-height:1.7;color:var(--school-ink)}
.school-db-save>p{font-size:1rem}
.school-db-save .btn{width:100%;font-size:1rem}
.school-db-save .school-db-note{font-size:1rem}
.school-db-aside>a{display:inline-block;margin-top:24px}
.school-db-table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--school-line);border-radius:8px}
.school-db-exams{width:100%;border-collapse:collapse;font-size:1rem;min-width:540px}
.school-db-exams th,.school-db-exams td{padding:12px;text-align:left;border-bottom:1px solid var(--school-line);vertical-align:top;min-width:90px}
.school-db-exams thead th{background:#fff0f5}
.school-db-exams small{display:block;color:var(--school-muted);font-weight:400;margin-top:5px}
.school-db-exam-year{font-size:1.125rem;margin:28px 0 12px}

@media(max-width:991px){.school-db-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.school-db-detail-grid{grid-template-columns:minmax(0,1fr)}
.school-db-aside{max-width:none}
.school-db-search{grid-template-columns:1fr 1fr}
.school-db-search-name{grid-column:1/-1}
.school-db-search .btn{grid-column:1/-1}}

@media(max-width:575px){.school-db .container{padding-inline:20px}
.school-db-hero{padding:36px 0}
.school-db-search{padding:20px;gap:16px;grid-template-columns:minmax(0,1fr)}
.school-db-grid{grid-template-columns:minmax(0,1fr);gap:16px}
.school-db-panel,.school-db-card{padding:22px}
.school-db-facts>div{grid-template-columns:minmax(0,1fr);gap:6px}
.school-db-pagination-list{gap:5px}
.school-db-page-link{padding:7px 10px;min-width:40px}
.school-db-school-heading{padding-top:8px}
.school-db-prose{font-size:1rem}
.school-db-breadcrumb{font-size:1rem}}


/* Light sakura surfaces keep reading areas quiet and high contrast. */
.school-db {
    font-family: "BIZ UDPGothic", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
    font-size: 1.125rem;
    line-height: 1.9;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22440%22%20height%3D%22380%22%20viewBox%3D%220%200%20440%20380%22%3E%3Cdefs%3E%3CradialGradient%20id%3D%22pink%22%3E%3Cstop%20stop-color%3D%22%23e9a6be%22/%3E%3Cstop%20offset%3D%22.45%22%20stop-color%3D%22%23f0bed1%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23f5d5e2%22/%3E%3C/radialGradient%3E%3Cg%20id%3D%22petal%22%3E%3Cpath%20d%3D%22M0%203C-5-5-15-16-13-28C-12-35-7-39-3-38L0-31%204-38C11-37%2015-32%2014-25C13-14%205-4%200%203Z%22%20fill%3D%22url%28%23pink%29%22%20stroke%3D%22%23e9b4c9%22%20stroke-width%3D%22.65%22/%3E%3Cpath%20d%3D%22M0-3L-3-16M1-4L5-14%22%20fill%3D%22none%22%20stroke%3D%22%23d991ad%22%20stroke-width%3D%22.8%22/%3E%3Ccircle%20cx%3D%22-3%22%20cy%3D%22-16%22%20r%3D%221.3%22%20fill%3D%22%23d48ca7%22/%3E%3Ccircle%20cx%3D%225%22%20cy%3D%22-14%22%20r%3D%221.2%22%20fill%3D%22%23d48ca7%22/%3E%3C/g%3E%3Cg%20id%3D%22b%22%3E%3Cuse%20href%3D%22%23petal%22/%3E%3Cuse%20href%3D%22%23petal%22%20transform%3D%22rotate%2872%29%22/%3E%3Cuse%20href%3D%22%23petal%22%20transform%3D%22rotate%28144%29%22/%3E%3Cuse%20href%3D%22%23petal%22%20transform%3D%22rotate%28216%29%22/%3E%3Cuse%20href%3D%22%23petal%22%20transform%3D%22rotate%28288%29%22/%3E%3Ccircle%20r%3D%223%22%20fill%3D%22%23dda0b7%22/%3E%3C/g%3E%3C/defs%3E%3Cuse%20href%3D%22%23b%22%20transform%3D%22translate%2865%2085%29%20rotate%2815%29%22%20opacity%3D%22.52%22/%3E%3Cuse%20href%3D%22%23b%22%20transform%3D%22translate%28360%20280%29%20rotate%28-12%29%20scale%28.72%29%22%20opacity%3D%22.55%22/%3E%3Cg%20fill%3D%22%23efc3d5%22%20opacity%3D%22.48%22%3E%3Cpath%20d%3D%22M240%2035C225%2039%20221%2056%20232%2067C245%2060%20249%2045%20244%2037L240%2043Z%22/%3E%3Cpath%20d%3D%22M133%20284C117%20289%20119%20303%20130%20314C144%20303%20146%20289%20139%20285L135%20291Z%22/%3E%3C/g%3E%3C/svg%3E");
}
.school-db .container { max-width: 1280px; }
.school-db h1, .school-db h2, .school-db h3 { letter-spacing: .025em; }
.school-db h1 { font-size: clamp(2rem, 3.8vw, 3rem); }
.school-db a:hover { color: #742746; }
.school-db :is(a, button, input, select, [tabindex]):focus-visible { outline: 3px solid #923753; outline-offset: 4px; }
.school-db .btn-primary { --bs-btn-active-bg: #822e4d; --bs-btn-active-border-color: #822e4d; font-size: 1.0625rem; min-height: 52px; }
.school-db .btn-primary:hover, .school-db .btn-primary:focus-visible { color: #fff; }
.school-db-hero { background: linear-gradient(110deg, #fff6f9ed, #fff6f900); padding: 64px 0 52px; }
.school-db-eyebrow { letter-spacing: .12em; }
.school-db-lead { max-width: 42em; line-height: 2; }
.school-db-search { border-top: 4px solid #dea2b7; box-shadow: 0 8px 28px #8544610a; gap: 20px; }
.school-db-search input, .school-db-search select { font: inherit; min-height: 54px; border-color: #cbb5bf; border-radius: 10px; }
.school-db-search input::placeholder { color: #73636d; opacity: 1; }
.school-db-results-heading { padding-top: 40px; }
.school-db-results-heading h2 span { display: inline-block; background: #f8e5ec; color: #80334f; padding: 4px 14px; border-radius: 30px; margin-left: 10px; }
.school-db-card { padding: 28px; box-shadow: 0 4px 18px #85446106; border-top: 4px solid #edc5d3; }
.school-db-card:hover, .school-db-card:focus-within { border-color: #d698af; box-shadow: 0 8px 28px #85446114; }
.school-db-card h3 { font-size: 1.5rem; line-height: 1.65; }
.school-db-card h3 a { color: #493044; }
.school-db-card h3 a:hover { text-decoration: underline; }
.school-db-card .school-db-meta { align-items: center; }
.school-db-address { margin-bottom: 16px; }
.school-db-excerpt { font-size: 1.0625rem; }
.school-db-card-link { min-height: 52px; align-items: center; margin-top: auto; }
.school-db-school-heading { background: #ffffffed; border: 1px solid var(--school-line); border-top: 5px solid #dea2b7; border-radius: 24px; padding: 32px 36px; margin: 0 0 24px; }
.school-db-school-heading > p { color: var(--school-muted); }
.school-db-official { font-weight: 700; min-height: 48px; }
.school-db-detail-grid { grid-template-columns: minmax(0, 1fr) 280px; gap: 24px; }
.school-db-panel { padding: 32px; box-shadow: 0 4px 18px #85446105; scroll-margin-top: 24px; }
.school-db-panel h2 { font-size: 1.5rem; padding-bottom: 18px; }
.school-db-prose { font-size: 1.125rem; line-height: 2.1; }
.school-db-facts > div { grid-template-columns: 140px minmax(0, 1fr); padding: 22px 0; }
.school-db-facts dt { font-size: 1.0625rem; }
.school-db-save { background: linear-gradient(140deg, #fff0f5, #fffaf5); border-top: 4px solid #dea2b7; }
.school-db-save > p, .school-db-save .school-db-note { font-size: 1rem; }
.school-db-exam-year { font-size: 1.25rem; font-weight: 700; }
.school-db-exams { font-size: 1.0625rem; min-width: 560px; line-height: 1.8; }
.school-db-exams th, .school-db-exams td { padding: 20px 18px; }
.school-db-exams thead th { color: #633448; white-space: nowrap; }
.school-db-exams tbody tr:nth-child(even) { background: #fffafd; }
.school-db-exams tbody tr:last-child > * { border-bottom: 0; }
.school-db-exams small { font-size: .9375rem; }
.school-db-exams td > div + div { margin-top: 14px; padding-top: 14px; border-top: 1px dashed #ead9df; }
.school-db-panel > p:first-of-type:not(.school-db-prose) { color: var(--school-muted); }
.school-db-section-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.school-db-section-nav a { padding: 10px 18px; background: #fff; border: 1px solid #d9b7c4; border-radius: 30px; text-decoration: none; font-size: 1rem; font-weight: 700; }
.school-db-section-nav a:hover { background: #fceaf1; }
.school-db-note { font-size: .9375rem; }
.school-db-page-link.is-current, .school-db-page-link.is-current:hover { color: #fff; }
@media (max-width: 991px) {
    .school-db-detail-grid { grid-template-columns: minmax(0, 1fr); }
    .school-db-school-heading { padding: 28px; }
}
@media (max-width: 575px) {
    .school-db { font-size: 1.0625rem; }
    .school-db .container { padding-inline: 16px; }
    .school-db-hero { padding: 36px 0; }
    .school-db-search, .school-db-card, .school-db-panel { padding: 22px 20px; }
    .school-db-search { gap: 18px; }
    .school-db-school-heading { padding: 24px 20px; border-radius: 18px; }
    .school-db-facts > div { grid-template-columns: minmax(0, 1fr); gap: 6px; }
    .school-db-prose { font-size: 1.0625rem; }
    .school-db-section-nav { gap: 8px; }
    .school-db-section-nav a { padding: 9px 13px; }
    .school-db-exams { min-width: 0; }
    .school-db-exams thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .school-db-exams, .school-db-exams tbody, .school-db-exams tr, .school-db-exams th, .school-db-exams td { display: block; width: 100%; }
    .school-db-exams tbody tr { padding: 18px; border-bottom: 2px solid #ead9df; }
    .school-db-exams tbody tr:last-child { border-bottom: 0; }
    .school-db-exams th, .school-db-exams td { padding: 8px 0; border: 0; }
    .school-db-exams th { font-size: 1.2rem; }
    .school-db-exams td::before { content: attr(data-label); display: block; color: #80334f; font-size: .9375rem; font-weight: 700; margin-bottom: 6px; }
}

.school-db-exams .school-db-score-cell strong { font-size: 1.1875rem; font-variant-numeric: tabular-nums; color: #493044; }
.school-db-exams .school-db-score-cell { min-width: 100px; }
@media (min-width: 576px) {
    .school-db-exams .school-db-score-cell { text-align: center; }
    .school-db-exams thead th:nth-child(n+3) { text-align: center; }
}
@media (max-width: 575px) {
    .school-db-exams tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
    .school-db-exams tbody th, .school-db-exams tbody td[data-label="日程（参考）"] { grid-column: 1 / -1; }
    .school-db-exams .school-db-score-cell { border-top: 1px solid #ead9df; margin-top: 8px; }
}

.school-db-exams thead th[rowspan] { vertical-align: middle; }
.school-db-exams thead .school-db-score-heading { text-align: center; padding-block: 10px; border-bottom-color: #efdce4; }
.school-db-exams .school-db-provider-headings th { text-align: center; padding-block: 10px 14px; }

.school-db-attribution { margin: 0; padding: 0 4px; color: var(--school-muted); font-size: .875rem; line-height: 1.8; }
.school-db-attribution a { color: inherit; }

.school-db-map { margin-top: 24px; background: #fff; border: 1px solid var(--school-line); border-radius: 18px; overflow: hidden; }
.school-db-map-heading { padding: 22px 20px 16px; }
.school-db-map-heading h2 { font-size: 1.25rem; margin: 0 0 10px; color: var(--school-ink); }
.school-db-map-heading p { font-size: 1rem; color: var(--school-muted); margin: 0; overflow-wrap: anywhere; }
.school-db-map iframe { display: block; width: 100%; height: 300px; border: 0; background: #fff7f9; }
.school-db-map-actions { display: grid; gap: 10px; padding: 16px 20px; }
.school-db-map-actions a { display: flex; align-items: center; min-height: 44px; font-size: 1rem; font-weight: 600; }

.school-db-introduction-section + .school-db-introduction-section { margin-top: 30px; }
.school-db-introduction-section .school-db-prose { margin-bottom: 0; }
.school-db-introduction-section { scroll-margin-top: 24px; }

.school-db-hero {
    background-color: #fff7f9;
    background-image: linear-gradient(90deg, #fff9f6f2 0%, #fff9f6d9 30%, #fff9f64d 53%, transparent 72%), url('/images/school-database-campus.webp');
    background-size: cover;
    background-position: center, center 58%;
    padding: 86px 0 90px;
    min-height: 390px;
}
.school-db-hero h1 { max-width: 720px; }
.school-db-hero .school-db-lead { color: #493b45; }
@media (max-width: 767px) {
    .school-db-hero {
        background-image: linear-gradient(180deg, #fff9f6f5 0%, #fff9f6e0 40%, #fff9f633 65%, transparent 82%), url('/images/school-database-campus.webp');
        background-position: center, 76% bottom;
        padding: 36px 0 190px;
        min-height: 470px;
    }
    .school-db-hero h1 { font-size: clamp(1.8rem, 5.5vw, 2.5rem); }
    .school-db-hero .school-db-lead { font-size: 1rem; }
}

.school-db-goal-mark { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 16px; background: #f8dce7; color: #923753; border-radius: 16px; }
.school-db-save .school-db-eyebrow { font-size: .9375rem; letter-spacing: .025em; }
.school-db-save h2 { font-size: 1.4rem; }
.school-db-save-benefits { list-style: none; padding: 0; margin: 20px 0 24px; display: grid; gap: 12px; font-size: .9375rem; }
.school-db-save-benefits li { display: flex; align-items: center; gap: 10px; }
.school-db-save-benefits svg { flex-shrink: 0; color: #923753; }
.school-db-save .school-db-save-action { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 12px; line-height: 1.6; }
.school-db-save-action svg { flex-shrink: 0; width: 22px; height: 22px; }
.school-db-save .school-db-save-invitation { margin: 16px 0 0; font-size: .9375rem; font-weight: 700; color: #80334f; }
.school-db-save .school-db-note { margin-top: 10px; font-size: .875rem; }

.school-db-save-label { display: flex; flex-direction: column; align-items: center; }
.school-db-save-label > span { white-space: nowrap; }

.school-db-school-heading { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.school-db-school-heading-copy { flex: 1; min-width: 0; }
.school-db-school-heading-copy > p { color: var(--school-muted); }
.school-db-location-map { flex: 0 0 360px; margin: -12px 0; display: grid; grid-template-columns: 240px 1fr; align-items: center; gap: 8px 16px; }
.school-db-location-art { width: 240px; overflow: hidden; border-radius: 50%; background: radial-gradient(circle, #fff5f8 0%, #fff 72%); }
.school-db-location-art svg { display: block; width: 100%; height: auto; }
.school-db-location-art .prefecture { fill: #f6f2f4; stroke: #d8cdd3; stroke-width: 1.6; }
.school-db-location-art .prefecture.is-region { fill: #f6d7e3; stroke: #dca8bc; }
.school-db-location-art .prefecture.is-current { fill: #ad426b; stroke: #913354; stroke-width: 2; }
.school-db-location-art .boundary-line { stroke: #e9dce2; stroke-width: 2; }
.school-db-location-map figcaption { display: grid; gap: 8px; min-width: 110px; }
.school-db-location-label { font-size: .8125rem; color: var(--school-muted); }
.school-db-location-map strong { font-size: 1.5rem; color: #913354; letter-spacing: .04em; }
.school-db-map-legend { display: grid; gap: 8px; font-size: .875rem; color: #665563; }
.school-db-map-legend > span { display: flex; align-items: center; gap: 6px; }
.school-db-map-legend i { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.school-db-map-legend .is-current { background: #ad426b; }
.school-db-map-legend .is-region { background: #f6d7e3; border: 1px solid #dca8bc; }
.school-db-map-credit { grid-column: 1; text-align: center; line-height: 1.4; }
.school-db-location-map small, .school-db-location-map small a { font-size: .625rem; color: #786c74; }
@media (max-width: 991px) {
    .school-db-location-map { flex-basis: 310px; grid-template-columns: 180px 1fr; }
    .school-db-location-art { width: 180px; }
}
@media (max-width: 767px) {
    .school-db-school-heading { flex-direction: column; align-items: stretch; gap: 20px; }
    .school-db-location-map { flex: none; grid-template-columns: minmax(0, 210px) auto; justify-content: center; margin: 0; padding-top: 12px; border-top: 1px solid var(--school-line); }
    .school-db-location-art { width: 100%; }
}

.school-db-card { position: relative; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease; }
.school-db-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.school-db-card h3 a:focus-visible { outline: none; }
.school-db-card:has(a:focus-visible) { outline: 3px solid #8c3256; outline-offset: 4px; }
.school-db-card-link { color: #923753; }
.school-db-card-link > span { transition: transform .18s ease; }
.school-db-card:focus-within { background-color: #fffafd; transform: translateY(-3px); }
.school-db-card:focus-within .school-db-card-link > span { transform: translateX(5px); }
@media (hover: hover) {
    .school-db-card:hover { background-color: #fffafd; transform: translateY(-3px); box-shadow: 0 10px 28px #85446120; }
    .school-db-card:hover .school-db-card-link > span { transform: translateX(5px); }
}
@media (prefers-reduced-motion: reduce) {
    .school-db-card, .school-db-card-link > span { transition: none; }
    .school-db-card:hover, .school-db-card:focus-within, .school-db-card:hover .school-db-card-link > span, .school-db-card:focus-within .school-db-card-link > span { transform: none; }
}

.school-db-service-note { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: 26px; padding: 24px 28px; background: #fffaf7; border: 1px solid #eaded7; border-left: 3px solid #d9a7b6; border-radius: 14px; }
.school-db-service-note figure { margin: 0; min-width: 0; }
.school-db-service-note img { display: block; width: 100%; height: 220px; object-fit: contain; background: #fff; border: 1px solid #eaded7; border-radius: 8px; }
.school-db-service-note figcaption { margin-top: 6px; font-size: .6875rem; line-height: 1.6; color: var(--school-muted); text-align: center; }
.school-db-service-copy { min-width: 0; }
.school-db-service-eyebrow { margin: 0 0 10px; color: #865469; font-size: .8125rem; font-weight: 600; }
.school-db-service-note h2 { margin: 0 0 12px; font-size: 1.25rem; line-height: 1.65; color: var(--school-ink); }
.school-db-service-intro { margin: 0 0 18px; font-size: .9375rem; line-height: 1.8; color: var(--school-muted); }
.school-db-service-note .school-db-service-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 10px 16px; background: #a43c61; color: #fff; border-radius: 8px; text-decoration: none; font-size: .9375rem; font-weight: 600; }
.school-db-service-note .school-db-service-button:hover { background: #822e4d; }
@media (max-width: 767px) {
    .school-db-service-note { grid-template-columns: 1fr; gap: 14px; padding: 20px; }
    .school-db-service-note img { height: 150px; }
    .school-db-service-note h2 { font-size: 1.125rem; }
    .school-db-service-note .school-db-service-button { width: 100%; }
}

.school-db-service-note--wide { grid-column: 1 / -1; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.school-db-service-note--wide .school-db-service-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.school-db-service-note--wide .site-identity { font-size: 1.125rem; color: var(--school-ink); }
@media (max-width: 767px) { .school-db-service-note--wide { grid-template-columns: 1fr; } }

.school-db-search-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.school-db-search-layout .school-db-search { grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; gap: 20px; }
.school-db-search-layout .school-db-search-name { grid-column: 1 / -1; }
.school-db-search-layout .school-db-search .btn { grid-column: 1 / -1; }
.school-db-search-map { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; border: 1px solid var(--school-line); border-radius: 18px; background: #fff; min-width: 0; }
.school-db-search-map-heading { align-self: stretch; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; }
.school-db-search-map-heading h2 { font-size: 1.125rem; margin: 0; color: var(--school-ink); }
.school-db-search-map-heading p { margin: 0; font-size: .9375rem; font-weight: 700; color: #923753; }
.school-db-search-map-art { width: min(100%, 300px); margin: 8px auto; }
.school-db-search-map-art svg { display: block; width: 100%; height: auto; }
.school-db-search-map-art .prefecture { fill: #f3eff1; stroke: #d1c5cb; stroke-width: 1.6; }
.school-db-search-map-art .prefecture.is-selected { fill: #bd6b8a; stroke: #974363; }
.school-db-search-map-art .boundary-line { stroke: #e1d2d9; }
.school-db-search-map-button { display: flex; align-items: center; justify-content: center; gap: 16px; width: 100%; max-width: 340px; text-decoration: none; }
.school-db-search-map-credit { margin-top: 10px; font-size: .625rem; color: var(--school-muted); }
.school-db-search-map-credit a { color: inherit; }
@media (max-width: 767px) {
    .school-db-search-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .school-db-search-map { padding: 22px 20px; }
    .school-db-search-map-art { width: min(100%, 260px); }
}
@media (max-width: 575px) {
    .school-db-search-layout .school-db-search { grid-template-columns: minmax(0, 1fr); }
}
