@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=DM+Sans:wght@400;600;700&display=swap');:root{--navy:#172d40;--ink:#253647;--gold:#b18b60;--paper:#f7f5f1;--line:#e4e3df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.85}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;padding:15px max(24px,calc((100vw - 1160px)/2));gap:20px;background:#fff;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.logo{font-size:19px;font-weight:800;white-space:nowrap;line-height:1.35}.logo span{display:block;letter-spacing:.18em;font:600 10px 'DM Sans',sans-serif;color:var(--gold)}.nav nav{display:flex;align-items:center;gap:23px;font-size:12px;font-weight:700}.navcta,.btn{background:var(--navy);color:white;padding:14px 23px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.navcta{padding:12px 18px}.hero{background:#dbe6e6}.hero img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain}.searchband{background:var(--navy);padding:28px 24px}.searchband form{max-width:1160px;margin:auto;display:flex;align-items:center;gap:36px}.searchband label{color:#d8e1e7;font:600 10px 'DM Sans',sans-serif;letter-spacing:.16em;min-width:280px}.searchband label strong{display:block;font:600 14px 'Noto Sans JP',sans-serif;letter-spacing:0;color:#fff;margin-top:5px}.searchinput{display:flex;flex:1;background:#fff;padding:5px}.searchinput input{border:0;min-width:0;flex:1;padding:13px;font:inherit;font-size:13px;outline:none}.searchinput button{border:0;background:var(--gold);color:white;font-weight:700;padding:0 25px;cursor:pointer}.lead{padding:105px 0 115px}.kicker{color:var(--gold);font:700 11px 'DM Sans',sans-serif;letter-spacing:.2em}.lead h1,h2{line-height:1.48;letter-spacing:.06em}.lead h1{font-size:clamp(34px,5vw,60px);margin:20px 0}.lead>p:not(.kicker){color:#65727b}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.outline{background:transparent;color:var(--navy);border:1px solid #b9c1c6}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.section-head h2{font-size:clamp(28px,3.5vw,42px);margin:8px 0}.section-head p:not(.kicker){color:#65727b;font-size:14px}.textlink{font-size:13px;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:8px;white-space:nowrap}.cards{display:grid;gap:18px}.three{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:repeat(2,1fr)}section.wrap{padding:85px 0}.card{border:1px solid var(--line);padding:32px;background:white;min-height:225px}.card span,.school span{font:700 11px 'DM Sans',sans-serif;color:var(--gold);letter-spacing:.12em}.card h3,.school h3{font-size:20px;margin:25px 0 12px}.card p,.school p{font-size:13px;color:#65727b}.tint{background:var(--paper);padding:90px 0}.note{font-size:12px;color:#6e7981;margin-top:25px}.school{background:var(--navy);color:white;padding:40px;min-height:240px}.school p{color:#d2d9df}.school a{display:inline-block;margin-top:12px;border-bottom:1px solid var(--gold);font-size:13px}.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post{background:white;min-width:0}.thumb{aspect-ratio:1.65;background:linear-gradient(135deg,#dce5e4,#c6d1d6);overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.posttext{padding:23px}.post time{font:600 11px 'DM Sans',sans-serif;color:var(--gold)}.post h3{font-size:15px;line-height:1.65;min-height:50px}.posttext span{font:700 11px 'DM Sans',sans-serif;color:var(--gold)}.insta{min-height:260px;background:linear-gradient(120deg,#e4e7e9,#f6ede5);display:grid;place-items:center;padding:30px}.insta-placeholder{text-align:center}.insta-placeholder span{font:700 12px 'DM Sans',sans-serif;letter-spacing:.15em;color:var(--gold)}.insta-placeholder h3{font-size:24px}.insta-placeholder p{font-size:13px}.insta-placeholder a{font-weight:700;border-bottom:1px solid var(--gold);font-size:13px}.cta{background:var(--navy);color:#fff;padding:95px 0}.cta h2{font-size:clamp(28px,4vw,45px)}.cta p:not(.kicker){color:#d4dce1}.light{background:#fff;color:var(--navy)}.ghost{border:1px solid #84939d;background:transparent}footer{background:#101f2c;color:#d9e1e6;padding:42px 0;font-size:12px}footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}footer div div{display:flex;gap:18px;flex-wrap:wrap}.article{max-width:860px;margin:75px auto 120px;padding:0 25px}.article h1{font-size:clamp(30px,4vw,45px)}.article-body{white-space:normal;line-height:2.15;padding:40px 0 60px;border-top:1px solid var(--line)}@media(max-width:900px){.nav{position:static;align-items:flex-start;flex-direction:column}.nav nav{gap:14px;flex-wrap:wrap}.searchband form{flex-direction:column;align-items:stretch;gap:15px}.three{grid-template-columns:1fr 1fr}.posts{grid-template-columns:1fr 1fr}}@media(max-width:600px){.wrap{width:min(100% - 34px,1160px)}.nav{padding:15px 17px}.nav nav{font-size:11px;gap:11px}.navcta{padding:8px}.lead{padding:65px 0}.section-head{align-items:start;flex-direction:column}.three,.two,.posts{grid-template-columns:1fr}.card{min-height:unset}.tint,section.wrap{padding:65px 0}.searchinput button{padding:0 12px}.hero img{max-height:none}}
/* SOROBAN ISLAND: bright, welcoming, image-led design */
:root{--navy:#168da7;--ink:#2e6172;--gold:#16a7bc;--paper:#eefaff;--line:#ccebf0}body{background:#fffefa;color:#326070}.nav{background:#ffffffed;border-bottom:1px solid #d6f0f4;box-shadow:0 5px 24px #68b9cc13}.logo{color:#2489a1}.logo span{color:#62b9c7;letter-spacing:.11em}.nav nav a:not(.navcta):hover{color:#00a6b7}.navcta,.btn{border-radius:999px;background:#24a8bd;box-shadow:0 5px 0 #11849a22;transition:transform .2s,box-shadow .2s}.navcta:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 8px 15px #11849a25}.hero{background:#d9f6fb}.hero img{max-height:none}.searchband{background:#e8f9fd;padding:26px 24px;border-bottom:1px solid #caedf5}.searchband label{color:#4095a9}.searchband label strong{color:#28677a}.searchinput{border:2px solid #b8e6f0;border-radius:999px;overflow:hidden;box-shadow:0 7px 23px #159db312}.searchinput input{background:white;padding-left:22px}.searchinput button{background:#29b1c4;border-radius:999px;color:white;padding:0 28px}.lead{padding:75px 0 85px}.island-section{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}.lead h1{color:#268aa3}.lead>p:not(.kicker),.island-copy>p:not(.kicker){color:#628895}.kicker{color:#19a9bf}.outline{background:#fff;color:#218fa7;border:2px solid #a5dfe9}.island-art{position:relative;min-height:330px;border-radius:47% 53% 42% 58% / 56% 46% 54% 44%;background:linear-gradient(180deg,#d4f4ff 0%,#e8fbff 54%,#91e2e9 55%,#52c4d4 100%);overflow:hidden;display:grid;place-items:center}.island-sun{position:absolute;top:13%;right:20%;font-size:66px;color:#ffdd82}.island-cloud{position:absolute;top:3%;left:12%;font-size:90px;color:white;text-shadow:4px 5px 0 #c1edf6}.island-hill{font-size:140px;transform:translateY(32px)}.island-wave{position:absolute;bottom:15px;letter-spacing:18px;color:white;font-size:30px}.section-head h2{color:#288aa2}.section-head{margin-bottom:29px}.textlink{border-color:#48c2d3;color:#238ba3}.tint{background:linear-gradient(180deg,#ecfbff,#f6fcf8)}.section-visual{display:grid;grid-template-columns:1.1fr .9fr;min-height:260px;border-radius:36px;overflow:hidden;margin:0 0 25px;background:#e3f8f9;position:relative}.visual-copy{padding:35px 42px;align-self:center;z-index:1}.visual-copy span{display:block;font:700 11px 'DM Sans',sans-serif;letter-spacing:.2em;color:#169db4;margin-bottom:10px}.visual-copy strong{font-size:clamp(23px,3vw,35px);line-height:1.5;color:#2488a0}.visual-copy p{font-size:13px;max-width:450px;color:#658d95}.visual-illustration{display:grid;place-items:center;position:relative;font-size:125px;background:radial-gradient(circle at 55% 60%,#fff9d8 0 29%,transparent 30%),radial-gradient(circle at 40% 30%,#fff 0 13%,transparent 14%);min-height:240px}.visual-illustration small{position:absolute;bottom:22px;font-size:25px;letter-spacing:15px;color:#32b7c6}.curriculum-visual{background:#fff4d8}.curriculum-visual .visual-illustration{background:radial-gradient(circle at 55% 60%,#fff 0 29%,transparent 30%),radial-gradient(circle at 35% 25%,#e0f5ee 0 15%,transparent 16%)}.schools-visual{background:#e4f5f1}.cards{gap:20px}.card,.school{border:1px solid #d6edf0;border-radius:25px;background:#fff;box-shadow:0 9px 27px #43a9bd0c;padding:30px}.card span,.school span{color:#22a5b8}.card h3,.school h3{color:#267e96}.card p,.school p{color:#638591}.school{background:#f0fcff}.school a{color:#168ba3;border-color:#67c7d5}.posts{gap:23px}.post{border-radius:23px;overflow:hidden;border:1px solid #d9edf0;box-shadow:0 10px 28px #45adbb14;transition:transform .2s}.post:hover{transform:translateY(-5px)}.thumb{background:linear-gradient(135deg,#d9f8ff,#fff1c8)}.post time,.posttext span{color:#179bb2}.insta{border:2px dashed #c9dfe8;border-radius:30px;background:linear-gradient(130deg,#f9e6f6,#fff7ed 48%,#e4f8ff);gap:12px}.ig-mark{width:21px;height:21px;vertical-align:middle;margin-right:7px}.ig-symbol img{width:57px;height:57px}.insta-placeholder span{color:#b957a5}.insta-placeholder a{border-color:#d88ac6;color:#9d4998}.cta{background:linear-gradient(125deg,#27afc5,#5bd0cf);position:relative;overflow:hidden;border-radius:55px 55px 0 0}.cta .kicker{color:#e9ffff}.cta p:not(.kicker){color:#e8ffff}.cta-cloud{font-size:90px;position:absolute;right:4%;top:-65px;color:#fff7;pointer-events:none}.light{color:#168aa1;background:#fff}.ghost{border:2px solid #d3f8fa;background:transparent}footer{background:#e5f8fb;color:#387c8c}footer strong{color:#188ba3}.article-body{border-color:#d5eef2}@media(max-width:700px){.island-section,.section-visual{grid-template-columns:1fr}.island-art{min-height:210px}.island-hill{font-size:100px}.visual-copy{padding:30px 27px 10px}.visual-illustration{min-height:155px;font-size:90px}.searchinput button{font-size:12px}.cta{border-radius:35px 35px 0 0}}

/* 小林そろばん塾：教室カード・埋め込みマップ */
.island-school-cards .island-school{overflow:hidden;min-width:0}.island-school .school-address{min-height:2.8em;overflow-wrap:anywhere}.island-map{display:block;width:100%;height:290px;border:0;border-radius:20px;background:#e9f8fc;margin:18px 0}.school-links{display:flex;flex-wrap:wrap;gap:12px 22px}.school-links a{font-weight:700;color:#168eaa}.school-links a:last-child{background:#26a7be;color:white;padding:12px 18px;border-radius:100px;text-decoration:none}@media(max-width:680px){.island-map{height:260px}.island-school-cards{grid-template-columns:1fr}}
