.school-guides{--sg-ink:#173047;--sg-cream:#faf7f0;--sg-coral:#c2624e;color:var(--sg-ink);background:var(--sg-cream);min-height:60vh}
.school-guides__wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.school-guides__hero{background:#173047;color:#fff;padding:clamp(82px,12vw,150px) 0 72px}
.school-guides__hero a{color:#fff}
.school-guides__crumb{font-size:.82rem;display:flex;gap:10px;flex-wrap:wrap;opacity:.88;margin-bottom:46px}
.school-guides__eyebrow{font-size:.76rem;letter-spacing:.19em;font-weight:700;color:#d7a294;margin:0 0 16px}
.school-guides__hero h1{font-family:"Shippori Mincho",serif;font-size:clamp(2.1rem,5vw,4.2rem);line-height:1.3;max-width:870px;margin:0 0 24px}
.school-guides__hero>div>p:last-child{max-width:720px;line-height:1.9;color:#f4eee6}
.school-guides__body{padding-block:54px 110px}
.school-guides__gate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.school-guides__gate-card{padding:clamp(30px,5vw,60px);min-height:330px;display:flex;flex-direction:column;align-items:flex-start;border-radius:12px}
.school-guides__gate-card--piano{background:#e9efe9;border-top:6px solid #547e70}
.school-guides__gate-card--shodo{background:#f1e9df;border-top:6px solid #9d604b}
.school-guides__gate-card h2{font-family:"Shippori Mincho",serif;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.4;margin:0 0 16px}
.school-guides__gate-card>p:not(.school-guides__eyebrow){line-height:1.9;margin:0 0 30px}
.school-guides__gate-card>a{margin-top:auto;color:var(--sg-ink);font-weight:700;text-underline-offset:5px}
.school-guides--shodo .school-guides__hero{background:#362e2d}
.school-guides--shodo .school-guides__section-head h2{color:#613d34}
.school-guides__filters [aria-current="page"]{background:#173047;color:#fff}
.school-guides__pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:40px}
.school-guides__pagination a,.school-guides__other a{color:#0b5a72;text-underline-offset:4px}
.school-guides__other{margin-top:55px;text-align:center}
.school-guides__filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:70px}
.school-guides__filters a,.school-guides__section-head>a,.school-guide__next a{display:inline-flex;align-items:center;gap:12px;border:1px solid currentColor;border-radius:100px;padding:12px 21px;text-decoration:none;font-weight:700}
.school-guides__filters a:hover,.school-guides__section-head>a:hover,.school-guide__next a:hover{background:#e9dbcb}
.school-guides__section{scroll-margin-top:80px;margin-bottom:80px}
.school-guides__section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;border-bottom:1px solid #cbbfb1;padding-bottom:20px;margin-bottom:28px}
.school-guides__section-head h2{font-family:"Shippori Mincho",serif;font-size:clamp(1.7rem,3vw,2.5rem);margin:0}
.school-guides__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.school-guides__card{background:#fff;border:1px solid #e8e0d6;border-radius:8px;overflow:hidden;box-shadow:0 8px 28px rgba(23,48,71,.05)}
.school-guides__card-image{display:block;aspect-ratio:16/10;background:#e8e0d6}
.school-guides__card-image img{width:100%;height:100%;object-fit:cover}
.school-guides__card>div{padding:22px}
.school-guides__card>div>p:first-child{font-size:.75rem;color:#a44d3d;font-weight:700;letter-spacing:.07em;margin:0 0 8px}
.school-guides__card h3{font-size:1.18rem;line-height:1.55;margin:0 0 11px}
.school-guides__card h3 a{color:inherit;text-decoration:none}
.school-guides__card h3 a:hover{text-decoration:underline}
.school-guides__card>div>p:last-child{font-size:.9rem;line-height:1.75;margin:0}
.school-guide .school-guides__hero{padding-bottom:66px}
.school-guide__date{font-size:.85rem;color:#eee4da}
.school-guide__layout{padding-block:48px 100px;display:grid;grid-template-columns:minmax(0,820px);justify-content:center}
.school-guide__article{min-width:0}
.school-guide__cover{margin:0 0 52px}
.school-guide__cover img{display:block;width:100%;height:auto;border-radius:8px}
.school-guide__content{font-size:1rem;line-height:2.05;overflow-wrap:anywhere}
.school-guide__content>p{margin:0 0 1.6em}
.school-guide__content h2{font-family:"Shippori Mincho",serif;font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.5;margin:2.9em 0 .8em;padding:0 0 12px;border-bottom:2px solid #c2624e}
.school-guide__content h3{font-size:1.22rem;line-height:1.5;margin:2em 0 .7em}
.school-guide__content a{color:#0b5a72;text-underline-offset:3px}
.school-guide__content figure,.school-guide__content .wp-block-image{margin:2.5em 0}
.school-guide__content figure img{display:block;width:100%;height:auto;border-radius:7px}
.school-guide__content figcaption{font-size:.85rem;line-height:1.75;color:#536171;margin-top:10px}
.school-guide__content .school-guide-sources{font-size:.86rem;padding:20px;background:#eee9df;border-radius:6px;margin-top:4em}
.school-guide__next{margin-top:58px;padding:30px;background:#e8ede9;border-left:4px solid #547e70}
.school-guide__next h2{font-family:"Shippori Mincho",serif;font-size:1.5rem;margin:0 0 12px}
.school-guide__next p{line-height:1.8;margin:0 0 18px}
.school-guide__back{margin-top:34px}
.school-guide__related{margin-top:56px;padding-top:30px;border-top:1px solid #cbbfb1}
.school-guide__related h2{font-family:"Shippori Mincho",serif;font-size:1.45rem;margin:0 0 18px}
.school-guide__related ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.school-guide__related a{display:block;padding:15px 18px;background:#fff;border:1px solid #e8e0d6;color:#0b5a72;text-decoration:none;line-height:1.6}
.school-guide__related a:hover{text-decoration:underline}
.school-guides__regions{margin-top:88px;scroll-margin-top:90px}
.school-guides__regions-intro{line-height:1.8;margin:0 0 27px}
.school-guides__map-desktop{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:stretch}
.school-guides__map-stage,.school-guides__region-body{background:#f1eee7 url("map-washi.webp") center/cover;border:1px solid #d8d4ca;border-radius:12px}
.school-guides__map-stage{padding:30px;min-width:0;display:flex;align-items:center;justify-content:center}
.school-guides__map{display:block;width:min(100%,690px);height:auto;overflow:visible}
.school-guides__map-pref{cursor:pointer}
.school-guides__map-pref path{fill:#a9bcb6;stroke:#fdfbf5;stroke-width:7;paint-order:stroke;transform-box:fill-box;transform-origin:center}
.school-guides__map-pref.has-guides path{fill:#4f7f73}
.school-guides__map-pref:hover path,.school-guides__map-pref:focus-visible path{fill:#c2624e;stroke:#173047;stroke-width:9;transform:scale(1.07)}
.school-guides__map-pref:focus-visible{outline:none}
.school-guides__map-aside{padding:32px 25px;background:#e9efe9;border-radius:12px}
.school-guides__map-aside h3{font-family:"Shippori Mincho",serif;font-size:1.35rem;margin:0 0 18px}
.school-guides__map-aside ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.school-guides__map-aside li a{display:flex;justify-content:space-between;gap:8px;padding:13px 14px;border:1px solid #a6bcb2;border-radius:6px;background:#fff;color:var(--sg-ink);font-weight:700;text-decoration:none}
.school-guides__map-aside li a:hover,.school-guides__map-aside li a:focus-visible{border-color:#c2624e;color:#943e30}
.school-guides__map-aside li span{font-weight:400}
.school-guides__map-note{font-size:.8rem;line-height:1.8;color:#536171;margin-top:30px}
.school-guides__map-mobile{display:none}
.school-guides__empty{padding:34px;background:#fff;border:1px solid #e8e0d6;border-radius:8px;line-height:1.8}
.school-guides__empty h3{margin:0 0 10px;font-family:"Shippori Mincho",serif}
.school-guides__empty a,.school-guides__region-back a{color:#0b5a72;text-underline-offset:4px}
.school-guides__region-back{margin-top:44px}
@media(max-width:800px){.school-guides__map-desktop{display:none}.school-guides__map-mobile{display:block}.school-guides__map-mobile>p{line-height:1.8}.school-guides__region{border:1px solid #cbbfb1;border-radius:8px;background:#fff;margin-top:12px;overflow:hidden}.school-guides__region summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;min-height:58px;font-weight:700;cursor:pointer;list-style:none}.school-guides__region summary::-webkit-details-marker{display:none}.school-guides__region summary:after{content:"＋";font-size:1.3rem;line-height:1}.school-guides__region[open] summary:after{content:"−"}.school-guides__region summary:focus-visible{outline:3px solid #c2624e;outline-offset:-4px}.school-guides__region-count{font-size:.78rem;font-weight:400;color:#536171;margin-left:auto}.school-guides__region-body{padding:18px;border:0;border-top:1px solid #e8e0d6;border-radius:0}.school-guides__region-body .school-guides__map{max-height:320px;margin:0 auto 16px}.school-guides__region-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.school-guides__region-links a{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:46px;padding:8px 10px;background:#fff;border:1px solid #a6bcb2;border-radius:6px;color:var(--sg-ink);text-decoration:none;font-weight:700}.school-guides__region-links a span{font-size:.72rem;font-weight:400}.school-guides__region-links a:focus-visible{outline:3px solid #c2624e}.school-guides__regions{margin-top:64px}}
@media(max-width:850px){.school-guides__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.school-guides__wrap{width:min(100% - 32px,1120px)}.school-guides__hero{padding:94px 0 50px}.school-guides__crumb{margin-bottom:30px}.school-guides__section-head{align-items:start;flex-direction:column}.school-guides__grid,.school-guides__gate{grid-template-columns:1fr}.school-guides__gate-card{min-height:290px}.school-guides__body{padding-top:35px}.school-guide__layout{padding-top:26px}.school-guide__content{font-size:.96rem;line-height:1.9}.school-guide__content h2{margin-top:2.3em}.school-guide__next{padding:23px}}
@media(prefers-reduced-motion:no-preference){.school-guides__card{transition:transform .2s ease,box-shadow .2s ease}.school-guides__card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(23,48,71,.12)}}
@media(prefers-reduced-motion:no-preference){.school-guides__map-pref path{transition:fill .2s ease,transform .2s ease,stroke .2s ease}}
