:root{--sky:#2BA6E6;--pink:#F2497F;--sun:#FFD23F;--lime:#3FC26D;--ink:#1B1A28;--mist:#EEF7FD;--paper:#fff;
--disp:'Mochiy Pop One','Zen Kaku Gothic New',sans-serif;--body:'Zen Kaku Gothic New','Hiragino Sans','Noto Sans JP',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.85;font-weight:500;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:#0b78b8}
h1,h2,h3{font-family:var(--disp);font-weight:400;line-height:1.35}
header.top{background:#fff;border-bottom:4px solid var(--ink);position:sticky;top:0;z-index:20}
.top .in{max-width:860px;margin:auto;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.logo{font-family:var(--disp);font-size:16px;line-height:1.1;text-decoration:none;color:var(--ink)}
.logo small{display:block;font-size:10px;color:var(--sky);font-family:var(--body);font-weight:700;letter-spacing:.1em}
.top .go{font-family:var(--disp);background:var(--pink);color:#fff;text-decoration:none;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);padding:7px 12px;border-radius:12px;font-size:13px;white-space:nowrap}
.wrap{max-width:760px;margin:auto;padding:0 16px}
.crumb{font-size:12px;color:#555;padding:14px 0 6px}
.crumb a{color:#555}
article h1{font-size:clamp(24px,6vw,34px);margin:6px 0 12px}
.meta{font-size:12px;color:#666;margin-bottom:14px}
.lead{font-size:16px;margin-bottom:18px}
.sum{background:var(--mist);border:3px solid var(--ink);border-radius:16px;padding:16px 18px;margin:18px 0}
.sum b.t{font-family:var(--disp);font-weight:400;display:block;margin-bottom:6px;color:var(--pink)}
.sum ul{padding-left:1.2em}
.toc{border:3px dashed var(--ink);border-radius:16px;padding:14px 18px;margin:18px 0 28px;background:#fff}
.toc b{font-family:var(--disp);font-weight:400}
.toc ol{padding-left:1.3em;margin-top:6px;font-size:14px}
article h2{font-size:clamp(20px,4.8vw,26px);margin:40px 0 12px;padding-left:12px;border-left:8px solid var(--sky)}
article h3{font-size:17px;margin:22px 0 6px;color:#0b78b8}
article p{margin:0 0 14px}
article ul,article ol{margin:0 0 14px;padding-left:1.4em}
article li{margin-bottom:4px}
.tw{overflow-x:auto;margin:12px 0 18px;border:3px solid var(--ink);border-radius:14px}
table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px;background:#fff}
th,td{padding:9px 11px;border-bottom:2px solid #d9e6ef;text-align:left;vertical-align:top}
th{background:var(--ink);color:#fff;font-weight:700;white-space:nowrap}
tr:last-child td{border-bottom:0}
.box{border:3px solid var(--ink);border-radius:16px;padding:14px 18px;margin:18px 0}
.box b.t{font-family:var(--disp);font-weight:400;display:block;margin-bottom:4px}
.box.safe{background:#FFF8E1}.box.safe b.t{color:#c77700}
.box.tip{background:#F0FBF4}.box.tip b.t{color:#1f9a4d}
.box p:last-child,.box ul:last-child{margin-bottom:0}
details{border-bottom:2px solid var(--ink);padding:12px 2px}
summary{font-weight:900;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::after{content:"＋";font-family:var(--disp);color:var(--pink)}
details[open] summary::after{content:"－"}
details p{margin:8px 0 0}
.cta{background:var(--sky);color:#fff;border:3px solid var(--ink);border-radius:20px;padding:24px 20px;margin:40px 0;text-align:center;box-shadow:5px 5px 0 var(--ink)}
.cta h2{border:0;padding:0;margin:0 0 8px;font-size:22px;color:var(--sun)}
.cta p{margin-bottom:12px}
.btn{display:inline-block;font-family:var(--disp);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);padding:12px 18px;border-radius:12px;background:var(--sun);font-size:15px;text-decoration:none;color:var(--ink);margin:4px}
.btn.pink{background:var(--pink);color:#fff}.btn.line{background:#06C755;color:#fff}
.rel{margin:36px 0}
.rel h2{border:0;padding:0;font-size:20px}
.cards{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:620px){.cards{grid-template-columns:1fr 1fr}}
.card{display:block;text-decoration:none;color:var(--ink);border:3px solid var(--ink);border-radius:16px;overflow:hidden;background:#fff;box-shadow:4px 4px 0 var(--ink)}
.card div{padding:10px 14px 14px}
.card b{display:block;font-family:var(--disp);font-weight:400;font-size:15px;line-height:1.4}
.card small{display:block;color:#555;font-size:12px;margin-top:4px;line-height:1.5}
.idx-h{padding:34px 0 10px}
.idx-h h1{font-size:clamp(26px,7vw,40px)}
.idx-h p{margin-top:8px;font-weight:700;color:#444}
.cat{font-family:var(--disp);font-size:20px;margin:30px 0 12px}
footer{background:var(--ink);color:#fff;padding:30px 16px calc(30px + env(safe-area-inset-bottom));margin-top:50px;font-size:13px;text-align:center}
footer a{color:var(--sun);margin:0 6px}
footer p{margin-top:10px;color:#bbb}
.hero-img,.thumb{position:relative;aspect-ratio:1200/630;overflow:hidden;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.12) 0 18px,transparent 18px 36px);container-type:inline-size}
.hero-img{border:3px solid var(--ink);border-radius:18px;box-shadow:5px 5px 0 var(--ink);margin:10px 0 24px}
.thumb{border-bottom:3px solid var(--ink)}
.h-sky{background-color:var(--sky)}.h-pink{background-color:var(--pink)}.h-lime{background-color:var(--lime)}.h-sun{background-color:var(--sun)}
.ht{position:absolute;left:6%;top:12%;font-family:var(--disp);color:#fff;font-size:9cqw;line-height:1.2;-webkit-text-stroke:.9cqw var(--ink);paint-order:stroke fill;text-shadow:.5cqw .5cqw 0 var(--ink)}
.he{position:absolute;right:6%;bottom:8%;font-size:24cqw;line-height:1}
.hg{position:absolute;left:6%;bottom:9%;background:var(--sun);border:.5cqw solid var(--ink);border-radius:999px;padding:.4cqw 3cqw;font-weight:900;font-size:3.4cqw;color:var(--ink)}
.thumb .ht{font-size:10cqw}

/* 記事ごとのイラスト（img/<slug>.svg）。aria-labelで対応付け */
.hero-img[style],.hero-img,.thumb{background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-img .ht,.hero-img .he,.hero-img .hg,.thumb .ht,.thumb .he,.thumb .hg{display:none}
[aria-label^="バク転のやり方"].hero-img,[aria-label^="バク転のやり方"].thumb{background-image:url(img/bakuten-yarikata.svg)}
[aria-label^="大人でもバク転"].hero-img,[aria-label^="大人でもバク転"].thumb{background-image:url(img/bakuten-otona.svg)}
[aria-label^="バク転は何歳から"].hero-img,[aria-label^="バク転は何歳から"].thumb{background-image:url(img/bakuten-nansai.svg)}
[aria-label^="ブレイクダンス初心者"].hero-img,[aria-label^="ブレイクダンス初心者"].thumb{background-image:url(img/breakdance-hajimekata.svg)}
[aria-label^="ロボットダンスのやり方"].hero-img,[aria-label^="ロボットダンスのやり方"].thumb{background-image:url(img/robot-dance-yarikata.svg)}
[aria-label^="手品・マジック初心者"].hero-img,[aria-label^="手品・マジック初心者"].thumb{background-image:url(img/magic-hajimekata.svg)}
[aria-label^="ジャグリング初心者"].hero-img,[aria-label^="ジャグリング初心者"].thumb{background-image:url(img/juggling-hajimekata.svg)}
[aria-label^="運動が苦手な子"].hero-img,[aria-label^="運動が苦手な子"].thumb{background-image:url(img/undou-nigate-naraigoto.svg)}
[aria-label^="笹塚・下北沢・幡ヶ谷エリア"].hero-img,[aria-label^="笹塚・下北沢・幡ヶ谷エリア"].thumb{background-image:url(img/sasazuka-naraigoto.svg)}
[aria-label^="習い事の体験レッスン"].hero-img,[aria-label^="習い事の体験レッスン"].thumb{background-image:url(img/taiken-checklist.svg)}
[aria-label^="子どもの習い事ランキング"].hero-img,[aria-label^="子どもの習い事ランキング"].thumb{background-image:url(img/naraigoto-ranking.svg)}
