/* 子ども英語ソング（/kids/）：絵本のようなやさしい色・まるい文字・大きなタップ */
.p-kids{--kr:"M PLUS Rounded 1c","Noto Sans JP",sans-serif;--ke:"Fredoka","M PLUS Rounded 1c",sans-serif;--kbg:#fff9ee;--kink:#3a2f2a;--kmut:#7b6e66;--kline:#f0e3cc;background:var(--kbg)}
.p-kids main{color:var(--kink)}
.p-kids main [lang=en]{font-family:var(--ke)}
.p-kids main h1,.p-kids main h2,.p-kids main h3{font-family:var(--kr)}
.p-kids .btn{font-family:var(--kr);border-radius:999px}
.p-kids .btn.gold{background:linear-gradient(135deg,#ffe58a,#ffc93c 60%,#ffb01f);box-shadow:0 5px 0 #e39a12,0 10px 24px rgba(255,176,31,.25)}
.p-kids .btn.gold:active{transform:translateY(3px);box-shadow:0 2px 0 #e39a12}
.k-secw{margin-block:clamp(36px,6vw,64px)}

/* 見出し */
.k-h{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:2px 12px;margin-bottom:20px}
.k-h-e{grid-row:1/3;font-size:clamp(34px,5vw,46px);line-height:1;filter:drop-shadow(0 3px 0 rgba(0,0,0,.06));animation:kbob 3s ease-in-out infinite}
.k-h-en,.k-h h2{grid-column:2}
.k-h-en{font:700 12px/1 var(--ke);letter-spacing:.16em;color:#e08a1e}
.k-h h2{font-size:clamp(21px,3vw,30px);font-weight:800;line-height:1.3}
.k-h h2 small{font-size:.55em;color:var(--kmut)}
.k-more{grid-row:1/3;grid-column:3;align-self:center;display:inline-flex;align-items:center;gap:6px;font:800 13.5px var(--kr);padding:9px 16px;border-radius:999px;background:#fff;border:2px solid var(--kline);white-space:nowrap}
.k-more:hover{border-color:#ffb01f}
@keyframes kbob{50%{transform:translateY(-4px) rotate(-4deg)}}

/* ハブのトップ */
.k-top{position:relative;overflow:hidden;padding:clamp(40px,7vw,90px) 0 clamp(36px,5vw,60px);background:linear-gradient(180deg,#fff3d6,var(--kbg))}
.k-mosaic{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:14px;opacity:.28;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent)}
.k-mos-row{display:flex;gap:14px;width:max-content;animation:kslide 90s linear infinite}
.k-mos-row.r1{animation-direction:reverse;margin-left:-120px}
.k-mos-row img{width:clamp(120px,14vw,200px);height:auto;border-radius:24px;box-shadow:0 6px 20px rgba(120,80,20,.15)}
@keyframes kslide{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.k-mos-row,.k-h-e{animation:none}}
.k-top-in{position:relative;text-align:center}
.k-top-k{font:700 13px/1.4 var(--ke);letter-spacing:.18em;color:#e08a1e}
.k-top-h{margin:10px 0 14px;font-family:var(--kr);font-weight:800;line-height:1.05;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 .2em}
.k-top-h span{font-size:clamp(34px,6.4vw,72px);text-shadow:0 4px 0 #fff,0 0 30px #fff}
.k-top-h b{font:700 clamp(54px,10vw,120px)/1 var(--ke);color:#ff7a59;text-shadow:0 5px 0 #ffd2b8}
.k-top-h em{font-style:normal;font-size:clamp(26px,4vw,44px)}
.k-top-l{max-width:720px;margin:0 auto 22px;font-size:clamp(15px,1.8vw,18px);line-height:1.9;background:rgba(255,249,238,.8);border-radius:16px;padding:6px 10px}
.k-search{display:flex;align-items:center;gap:10px;background:#fff;border:3px solid var(--kline);border-radius:999px;padding:0 18px;height:52px;font-size:18px;color:var(--kmut);transition:border-color .2s}
.k-search:focus-within{border-color:#ffb01f}
.k-search input{flex:1;min-width:0;border:0;outline:0;background:none;font:500 16px var(--kr);color:var(--kink)}
.k-search.big{max-width:560px;margin:0 auto;height:60px;box-shadow:0 8px 30px rgba(120,80,20,.12)}
.k-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px;margin-top:26px}
.k-stats div{text-align:center}
.k-stats dt{font:700 clamp(26px,3.6vw,38px)/1 var(--ke);color:#4fa3e0}
.k-stats div:nth-child(2) dt{color:#ef6b73}.k-stats div:nth-child(3) dt{color:#4cb782}.k-stats div:nth-child(4) dt{color:#8d7be0}
.k-stats dd{margin:4px 0 0;font:800 11.5px var(--kr);letter-spacing:.06em;color:var(--kmut)}

/* カテゴリのタイル */
.k-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.k-cat{display:flex;align-items:center;gap:14px;padding:12px;border-radius:24px;background:#fff;border:3px solid color-mix(in srgb,var(--kc) 35%,#fff);box-shadow:0 5px 0 color-mix(in srgb,var(--kc) 30%,#fff);transition:transform .15s,box-shadow .15s}
.k-cat:hover{transform:translateY(-3px);box-shadow:0 8px 0 color-mix(in srgb,var(--kc) 40%,#fff)}
.k-cat-img{flex:none;width:84px;height:84px;border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--kc) 20%,#fff)}
.k-cat-img img{width:100%;height:100%;object-fit:cover}
.k-cat-t small{display:block;font:700 10.5px var(--ke);letter-spacing:.12em;color:var(--kc)}
.k-cat-t b{display:block;font:800 17px/1.35 var(--kr)}
.k-cat-t em{font:700 13px var(--ke);font-style:normal;color:var(--kmut)}

/* 曲カード */
.kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:22px 16px}
.kgrid.mini{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px 12px}
/* 横スクロールはなし：.scroll でも折り返すグリッドにする */
.kgrid.scroll{display:grid}
.kcard{display:flex;flex-direction:column;gap:2px;border-radius:22px;transition:transform .15s}
.kcard:hover{transform:translateY(-4px) rotate(-.6deg)}
.kcard[hidden]{display:none}
.kcard-img{position:relative;display:block;aspect-ratio:1;border-radius:22px;overflow:hidden;background:color-mix(in srgb,var(--kc) 18%,#fff);border:3px solid #fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--kc) 30%,#fff),0 8px 22px rgba(120,80,20,.12);margin-bottom:6px}
.kcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.kcard:hover .kcard-img img{transform:scale(1.06)}
.k-noimg{display:grid;place-items:center;width:100%;height:100%;font-size:64px;background:radial-gradient(circle at 30% 30%,#fff,color-mix(in srgb,var(--kc) 22%,#fff))}
.kcard-rk{position:absolute;left:8px;top:8px;min-width:34px;height:34px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:#ffc93c;color:#3a2f2a;font:700 18px var(--ke);box-shadow:0 3px 0 #e39a12}
.kcard-ly{position:absolute;right:8px;bottom:8px;font:800 10.5px var(--kr);font-style:normal;background:rgba(255,255,255,.92);color:var(--kc);padding:3px 8px;border-radius:999px}
.kcard-t{font:600 15px/1.3 var(--ke);color:var(--kink)}
.kcard-j{font:500 12.5px/1.45 var(--kr);color:var(--kmut)}
.kcard-v{font:700 12px var(--ke);color:#ff7a59}
@media(max-width:560px){.kgrid{grid-template-columns:repeat(2,1fr);gap:18px 12px}.kgrid.scroll .kcard{flex-basis:150px}.kgrid.mini{grid-template-columns:repeat(2,1fr)}}

/* 帯 */
.k-band{padding:clamp(36px,6vw,60px) 0;background:linear-gradient(180deg,#e6f7f8,#fff9ee);border-block:3px dashed #bfe6e9}

/* 日本でもおなじみ */
.k-jplist{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.k-jplist a{display:flex;gap:14px;align-items:center;padding:10px;border-radius:20px;background:#fff;border:2px solid var(--kline);height:100%}
.k-jplist a:hover{border-color:var(--kc)}
.k-jplist-img{flex:none;width:96px;height:96px;border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--kc) 18%,#fff)}
.k-jplist-img img{width:100%;height:100%;object-fit:cover}
.k-jplist-t b{display:block;font:800 17px/1.35 var(--kr)}
.k-jplist-t span{display:block;font:600 14px var(--ke);color:var(--kc)}
.k-jplist-t small{display:block;margin-top:4px;font-size:12.5px;line-height:1.6;color:var(--kmut)}
.k-jplist.sm{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.k-jplist.sm .k-jplist-img{width:72px;height:72px}
@media(max-width:560px){.k-jplist{grid-template-columns:1fr}}

/* バナー */
.k-banners{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.k-ban{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;padding:18px 20px;border-radius:24px;color:#fff;box-shadow:0 6px 0 rgba(0,0,0,.12);transition:transform .15s}
.k-ban:hover{transform:translateY(-3px)}
.k-ban span{grid-row:1/3;font-size:40px}
.k-ban b{font:800 16.5px/1.4 var(--kr)}
.k-ban small{font-size:12.5px;opacity:.95}
.k-ban.c1{background:linear-gradient(135deg,#9b8af0,#7b68d8)}.k-ban.c2{background:linear-gradient(135deg,#3fc4cf,#1f9fb0)}.k-ban.c3{background:linear-gradient(135deg,#ffb54d,#f08a1e)}

/* さがす */
.k-finder{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.k-finder .k-search{flex:1 1 280px}
.k-chips{display:flex;flex-wrap:wrap;gap:6px}
.k-chips button,.k-finder select,.k-check{font:800 13.5px var(--kr);padding:10px 14px;border-radius:999px;background:#fff;border:2px solid var(--kline);color:var(--kink)}
.k-chips button[aria-pressed=true]{background:#ffc93c;border-color:#ffb01f}
.k-check{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.k-count{font:800 14px var(--kr);color:var(--kmut);margin:6px 0 14px}.k-count b{font:700 22px var(--ke);color:#ff7a59}
.k-empty{padding:30px;text-align:center;color:var(--kmut)}

/* ページの見出し（カテゴリ・ガイド・ゲーム） */
.k-phero{padding:clamp(34px,5vw,64px) 0 clamp(26px,4vw,40px);background:linear-gradient(180deg,color-mix(in srgb,var(--kc) 16%,#fff),var(--kbg));border-bottom:3px dashed color-mix(in srgb,var(--kc) 30%,#fff)}
.k-phero h1{font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.2;margin:8px 0 12px}
.k-phero h1 em{font:700 1.2em var(--ke);font-style:normal;color:var(--kc)}
.k-plead{max-width:760px;font-size:clamp(14.5px,1.7vw,17px);line-height:1.9}
.k-phero-split{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.k-phero-img{width:clamp(160px,24vw,300px);border-radius:32px;border:5px solid #fff;box-shadow:0 12px 40px rgba(120,80,20,.18);transform:rotate(2deg)}
@media(max-width:700px){.k-phero-split{grid-template-columns:1fr}.k-phero-img{width:200px;justify-self:center}}
.k-catnav{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.k-catnav a{font:800 13px var(--kr);padding:8px 13px;border-radius:999px;background:#fff;border:2px solid color-mix(in srgb,var(--kc) 35%,#fff)}
.k-catnav a[aria-current]{background:var(--kc);color:#fff;border-color:var(--kc)}

/* 1曲のページ */
.k-hero{padding:clamp(24px,4vw,48px) 0;background:linear-gradient(180deg,color-mix(in srgb,var(--kc) 18%,#fff),var(--kbg))}
.k-hero-in{display:grid;grid-template-columns:minmax(260px,440px) 1fr;gap:clamp(22px,4vw,48px);align-items:center}
.k-art{border-radius:36px;overflow:hidden;border:6px solid #fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--kc) 40%,#fff),0 18px 50px rgba(120,80,20,.2);transform:rotate(-1.5deg);aspect-ratio:1;background:#fff}
.k-art img{width:100%;height:100%;object-fit:cover}
.k-art .k-noimg{font-size:140px}
.k-kick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.k-kick a,.k-kick span{font:800 12.5px var(--kr);padding:5px 12px;border-radius:999px;background:#fff;border:2px solid color-mix(in srgb,var(--kc) 35%,#fff)}
.k-kick a{background:var(--kc);color:#fff;border-color:var(--kc)}
.k-kick .on{background:#fff4c2;border-color:#ffc93c}
.k-kick .jp{background:#ffe8e6;border-color:#f6b3ac}
.k-info h1{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:clamp(30px,5vw,54px);line-height:1.12;font-weight:700}
.k-info h1 span{font-family:var(--ke)}
.k-ja{font:800 clamp(17px,2.4vw,23px)/1.4 var(--kr);color:var(--kc);margin-top:6px}
.k-origin{font-size:13.5px;color:var(--kmut);margin-top:6px}
.k-story{margin-top:14px;font-size:15.5px;line-height:1.9;background:#fff;border-radius:18px;padding:14px 18px;border:2px dashed color-mix(in srgb,var(--kc) 40%,#fff)}
.k-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
@media(max-width:820px){.k-hero-in{grid-template-columns:1fr}.k-art{max-width:420px;width:100%;margin-inline:auto}}
.k-say{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--kc,#ffb01f);color:#fff;font-size:18px;flex:none;box-shadow:0 3px 0 rgba(0,0,0,.15);transition:transform .15s}
.k-say:hover{transform:scale(1.1)}
.k-say.big{width:52px;height:52px;font-size:24px}
.k-say.on,.k-ln.on,.k-w.on,.k-rh button.on{animation:kpop .5s ease}
@keyframes kpop{40%{transform:scale(1.12)}}

.k-body{display:grid;grid-template-columns:1fr 320px;gap:clamp(24px,4vw,48px);margin-top:clamp(24px,4vw,40px)}
@media(max-width:960px){.k-body{grid-template-columns:1fr}}
.k-sec{margin-bottom:clamp(34px,5vw,52px)}
.k-sec h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:clamp(20px,2.8vw,27px);font-weight:800;margin-bottom:14px;padding-bottom:10px;border-bottom:3px dotted var(--kline)}
.k-sec h2 small{flex-basis:100%;font:700 11.5px var(--ke);letter-spacing:.16em;color:var(--kc,#e08a1e)}
.k-tag{font:800 11.5px var(--kr);padding:3px 10px;border-radius:999px;background:#fff4c2;color:#a46a00}
.k-lead{font-size:16px;line-height:2}
.k-note{font-size:13px;color:var(--kmut);margin-top:10px;line-height:1.75}
.k-sub{font-size:14px;color:var(--kmut);margin:6px 0 12px}
.k-jp{margin-top:16px;padding:14px 18px;border-radius:18px;background:#fff1ef;border:2px solid #f9cfc9}
.k-jp b{font:800 14px var(--kr);color:#d9493d}
.k-jp p{font-size:14.5px;line-height:1.85;margin-top:4px}
.k-ytnone{display:grid;place-items:center;aspect-ratio:16/9;border:3px dashed var(--kline);border-radius:22px;background:#fff}
.p-kids .yt{border-radius:22px;border:5px solid #fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--kc) 30%,#fff),0 16px 40px rgba(120,80,20,.15)}

/* 歌詞 */
.k-lyr-bar{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.k-lyr-body{display:grid;gap:14px}
.k-st{background:#fff;border-radius:22px;padding:10px;border:2px solid var(--kline);counter-reset:l}
.k-ln{display:block;width:100%;text-align:left;padding:9px 12px 9px 44px;border-radius:14px;position:relative;transition:background .15s}
.k-ln::before{content:"";position:absolute;left:12px;top:13px;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--kc) 22%,#fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9z' fill='%23887'/%3E%3C/svg%3E") center/13px no-repeat}
.k-ln:hover{background:color-mix(in srgb,var(--kc) 10%,#fff)}
.k-ln.cur{background:#fff4c2}
.k-ln.cur::before{background-color:#ffc93c}
.k-ln span{display:block;font:500 clamp(17px,2.2vw,20px)/1.5 var(--ke);color:var(--kink)}
.k-ln small{display:block;font-size:13.5px;line-height:1.6;color:var(--kmut)}
.k-lyr.hide-ja .k-ln small{display:none}
.k-lyr.none p{background:#fff;border-radius:18px;padding:14px 18px;border:2px dashed var(--kline);font-size:14.5px;line-height:1.85}

/* ことばカード */
.k-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}
.k-w{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 8px 12px;border-radius:22px;background:#fff;border:3px solid color-mix(in srgb,var(--kc) 30%,#fff);box-shadow:0 4px 0 color-mix(in srgb,var(--kc) 25%,#fff);transition:transform .15s}
.k-w:hover{transform:translateY(-3px)}
.k-w-e{font-size:46px;line-height:1.1;font-family:var(--ke);color:var(--kc)}
.k-w b{font:600 18px var(--ke)}
.k-w small{font:500 12.5px var(--kr);color:var(--kmut);opacity:0;transition:opacity .2s}
.k-w.seen small,.k-w:focus-visible small{opacity:1}
@media(hover:hover){.k-w:hover small{opacity:1}}

/* フォニックス */
.k-pho-card{display:flex;gap:16px;align-items:center;padding:16px 18px;border-radius:22px;background:#eef7ff;border:2px solid #cfe5f8}
.k-pho-s{flex:none;min-width:72px;height:72px;padding:0 10px;display:grid;place-items:center;border-radius:20px;background:#4fa3e0;color:#fff;font:700 26px var(--ke);text-align:center;line-height:1.1}
.k-pho-card p{font-size:14.5px;line-height:1.85}
.k-rhymes{display:flex;flex-wrap:wrap;gap:10px}
.k-rh{display:inline-flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:#fff;border:2px solid var(--kline)}
.k-rh button{font:600 17px var(--ke);padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--kc) 14%,#fff)}
.k-rh i{font-style:normal;color:#ff7a59}
.k-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font:800 14px var(--kr);color:#d97a0f}
.k-link:hover{text-decoration:underline}

/* フレーズ・手順・あそび方・本・トリビア */
.k-phs{display:grid;gap:10px}
.k-ph{padding:14px 18px;border-radius:18px;background:#fff;border:2px solid var(--kline)}
.k-ph p{display:flex;align-items:center;gap:10px}
.k-ph b{font:600 19px var(--ke)}
.k-ph span{display:block;font-weight:700;margin-top:2px}
.k-ph small{display:block;font-size:13.5px;color:var(--kmut);line-height:1.75}
.k-steps{counter-reset:s;display:grid;gap:8px}
.k-steps li{counter-increment:s;position:relative;padding:12px 16px 12px 56px;border-radius:18px;background:#fff;border:2px solid var(--kline);font-size:15px;line-height:1.75}
.k-steps li::before{content:counter(s);position:absolute;left:12px;top:50%;translate:0 -50%;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--kc,#ffb01f);color:#fff;font:700 17px var(--ke)}
.k-play{display:grid;gap:10px}
.k-play li{padding:14px 18px 14px 50px;border-radius:18px;background:#f3fbf6;border:2px solid #cdeedb;font-size:15px;line-height:1.85;position:relative}
.k-play li::before{content:"🌱";position:absolute;left:16px;top:14px}
.k-books ul{display:grid;gap:10px}
.k-books li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:#fff;border:2px solid var(--kline)}
.k-bk{font-size:30px}
.k-books b{display:block;font:600 16.5px var(--ke)}
.k-books small{display:block;font-size:12.5px;color:var(--kmut)}
.k-books p{font-size:13.5px;line-height:1.7;margin-top:2px}
.k-books a{display:inline-flex;align-items:center;gap:4px;font:800 12.5px var(--kr);padding:7px 12px;border-radius:999px;border:2px solid var(--kline);white-space:nowrap}
.k-tv{display:grid;gap:10px}
.k-tv li{padding:14px 18px 14px 52px;border-radius:18px;background:#fffbea;border:2px solid #f6e3a3;font-size:15px;line-height:1.85;position:relative}
.k-tv li::before{content:"💡";position:absolute;left:16px;top:14px}

/* サイド */
.k-side{display:flex;flex-direction:column;gap:14px}
.k-box{display:block;padding:18px;border-radius:22px;background:#fff;border:2px solid var(--kline)}
.k-box h3{font-size:16px;font-weight:800;margin-bottom:6px}
.k-box p{font-size:13.5px;line-height:1.8;color:var(--kmut)}
.k-box .k-link{margin-top:8px}
.k-gamebox{background:linear-gradient(135deg,#3fc4cf,#1f9fb0);color:#fff;border:0;box-shadow:0 5px 0 #17808e}
.k-gamebox b{display:block;font:800 17px var(--kr)}
.k-gamebox span{font-size:13px}
.k-pn{display:flex;justify-content:space-between;gap:12px;margin-block:20px}
.k-pn a{display:flex;flex-direction:column;padding:12px 18px;border-radius:18px;background:#fff;border:2px solid var(--kline);max-width:48%}
.k-pn a.nx{text-align:right;margin-left:auto}
.k-pn small{font:800 12px var(--kr);color:var(--kmut)}
.k-pn span{font:600 15px var(--ke)}

/* ガイド */
.k-guide{display:grid;grid-template-columns:220px 1fr;gap:clamp(24px,4vw,48px);margin-block:clamp(28px,4vw,48px)}
.k-gmain{min-width:0}
.k-toc{position:sticky;top:84px;align-self:start;display:flex;flex-direction:column;gap:2px;padding:16px;border-radius:20px;background:#fff;border:2px solid var(--kline)}
.k-toc b{font:800 13px var(--kr);color:var(--kmut);margin-bottom:4px}
.k-toc a{font:700 14px var(--kr);padding:6px 8px;border-radius:10px}
.k-toc a:hover{background:#fff4c2}
.k-guide .k-sec>p{font-size:15.5px;line-height:2;margin-bottom:12px}
.k-guide .k-sec a:not(.kcard){color:#d97a0f;font-weight:700}
@media(max-width:860px){.k-guide{grid-template-columns:1fr}.k-toc{position:static;flex-direction:row;flex-wrap:wrap}}
.k-age{margin:18px 0 10px;padding:18px;border-radius:24px;background:#fff;border:2px solid var(--kline)}
.k-age h3{font-size:18px;font-weight:800;margin-bottom:12px}
.k-flow{counter-reset:f;display:grid;gap:10px;margin-bottom:14px}
.k-flow li{counter-increment:f;display:grid;grid-template-columns:auto 1fr;gap:2px 14px;padding:14px 18px;border-radius:20px;background:#fff;border:2px solid var(--kline)}
.k-flow li::before{content:counter(f);grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#8d7be0;color:#fff;font:700 20px var(--ke)}
.k-flow b{font:800 16.5px var(--kr)}
.k-flow span{font-size:14.5px;line-height:1.85}

/* ゲーム */
.kg{max-width:820px;margin-inline:auto}
.kg-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.kg-pick{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 16px;border-radius:28px;color:#fff;box-shadow:0 7px 0 rgba(0,0,0,.15);transition:transform .15s}
.kg-pick:hover{transform:translateY(-4px)}
.kg-pick span{font-size:54px}
.kg-pick b{font:800 21px var(--kr)}
.kg-pick small{font-size:13px;opacity:.95}
.kg-pick.c1{background:linear-gradient(135deg,#ffb54d,#f08a1e)}.kg-pick.c2{background:linear-gradient(135deg,#9b8af0,#7b68d8)}.kg-pick.c3{background:linear-gradient(135deg,#55cf8e,#2fa968)}
.kg-play{padding:clamp(18px,3vw,30px);border-radius:32px;background:#fff;border:3px solid var(--kline);text-align:center}
.kg-top{display:flex;justify-content:space-between;align-items:center;font:800 15px var(--kr);margin-bottom:14px}
.kg-stars{font-size:20px;letter-spacing:2px}
.kg-q{min-height:90px;display:grid;place-items:center;margin-bottom:16px}
.kg-q .k-say{width:88px;height:88px;font-size:40px;background:#ffb01f}
.kg-q img{width:min(280px,70vw);border-radius:28px;border:5px solid #fff;box-shadow:0 10px 30px rgba(120,80,20,.18)}
.kg-q .kg-word{font:700 clamp(30px,6vw,44px) var(--ke)}
.kg-q .kg-word i{font-style:normal;font-size:1.3em;margin-right:8px}
.kg-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.kg-opt{padding:16px 10px;border-radius:24px;background:#fffaf0;border:3px solid var(--kline);font:700 18px var(--ke);min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:transform .12s}
.kg-opt:hover{transform:scale(1.03)}
.kg-opt .e{font-size:54px;line-height:1}
.kg-opt small{font:500 13px var(--kr);color:var(--kmut)}
.kg-opt.ok{background:#dff7e8;border-color:#55cf8e;animation:kpop .4s}
.kg-opt.ng{background:#ffe9e6;border-color:#f6a59b;animation:kshake .35s}
@keyframes kshake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.kg-end{display:grid;gap:14px;justify-items:center}
.kg-end b{font:800 clamp(24px,4vw,34px) var(--kr)}
.kg-end .kg-big{font-size:72px}
@media(max-width:560px){.k-cats{grid-template-columns:repeat(2,1fr);gap:10px}.k-cat{flex-direction:column;align-items:stretch;gap:8px;padding:8px}.k-cat-img{width:100%;height:auto;aspect-ratio:1}.k-cat-t b{font-size:14.5px}.k-cat-t small{font-size:9.5px}}
