/* 東口珠算教場 ── 全ページ共通の見た目 */
:root{
  --hiyoko:#ffd23f;
  --hiyoko-usu:#fff4c7;
  --kuchibashi:#ff9f1c;
  --wakakusa:#5fb84a;
  --wakakusa-koi:#3d8a31;
  --harezora:#7cc6f2;
  --harezora-usu:#e4f4fd;
  --tamago-kara:#fffaf0;
  --tsuchi:#8a6a45;
  --mori-sumi:#2d3a2e;
  --mori-sumi-usu:#5e6b5f;
  --ichigo:#ef6f8e;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:"Zen Kaku Gothic Antique","Hiragino Sans","Yu Gothic",sans-serif;
  color:var(--mori-sumi);background:var(--tamago-kara);line-height:1.9;font-size:16px;overflow-x:hidden;
}
a{color:inherit}
svg{display:block;max-width:100%}
.niwa{max-width:1060px;margin:0 auto;padding:0 24px}
.kiwi{font-family:"Kiwi Maru",serif}
.kazu{font-family:"Fredoka","Kiwi Maru",sans-serif}
.hitoiki{white-space:nowrap}

/* ===== 巣（ヘッダー） ===== */
.su{background:#fff;border-bottom:6px solid var(--hiyoko);position:relative}
.su-ue{display:flex;flex-direction:column;align-items:center;padding:18px 0 8px;text-align:center}
.su-na{display:flex;align-items:center;gap:12px;text-decoration:none}
.su-na svg{width:50px;height:50px}
.su-na-moji{display:flex;flex-direction:column;line-height:1.3;text-align:left}
.su-na-moji>b{font-family:"Kiwi Maru",serif;font-weight:500;font-size:26px;letter-spacing:.08em}
.su-na-moji>small{font-size:11.5px;color:var(--mori-sumi-usu);letter-spacing:.12em}
.su-michi{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 22px;padding:6px 0 12px;font-size:14.5px;font-weight:700}
.su-michi a{text-decoration:none;padding:2px 4px;border-bottom:3px solid transparent}
.su-michi a:hover,.su-michi a[aria-current="page"]{border-bottom-color:var(--kuchibashi)}
.su-denwa{
  position:absolute;left:24px;top:24px;display:flex;align-items:center;gap:6px;text-decoration:none;
  font-weight:700;color:var(--wakakusa-koi);font-size:15px;
}
.su-denwa svg{width:16px;height:16px}

/* ===== 原っぱ（最初の面） ===== */
.harappa{position:relative;background:linear-gradient(180deg,var(--harezora-usu) 0%,#f3fbff 70%,var(--tamago-kara) 100%);overflow:hidden}
.harappa .niwa{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;padding-top:56px;padding-bottom:40px}
.harappa .niwa>*{min-width:0}
.harappa-mae{display:inline-block;background:var(--hiyoko);font-weight:700;font-size:14px;border-radius:999px;padding:4px 16px}
.harappa h1{font-family:"Kiwi Maru",serif;font-weight:500;font-size:clamp(30px,4.6vw,50px);line-height:1.45;margin:16px 0 14px;letter-spacing:.02em;text-wrap:pretty}
.harappa h1 .ki{background:linear-gradient(transparent 60%,var(--hiyoko) 60%)}
.harappa-bun{font-size:16.5px;max-width:30em}
.harappa-mame{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;list-style:none}
.harappa-mame li{background:#fff;border:2px solid var(--wakakusa);border-radius:12px;padding:6px 14px;font-weight:700;font-size:14.5px}
.harappa-mame li .kazu{font-size:17px;color:var(--wakakusa-koi)}
.harappa-botan{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.harappa-botan a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;border-radius:999px;padding:13px 24px;font-size:15.5px}
.harappa-botan .kiiro{background:var(--kuchibashi);color:#fff;box-shadow:0 4px 0 #d77f0c}
.harappa-botan .midori{background:#fff;color:var(--wakakusa-koi);border:2px solid var(--wakakusa)}
.harappa-botan svg{width:18px;height:18px}
.harappa-e svg{width:100%;max-width:470px;margin:0 auto}
.kusa-sen{height:46px;background:
  radial-gradient(circle at 20px 46px,var(--wakakusa) 22px,transparent 23px) 0 0/40px 46px repeat-x;}

/* ===== 見出し ===== */
.tamago-midashi{display:flex;align-items:center;gap:16px;margin-bottom:30px}
.tamago-midashi svg{width:48px;height:58px;flex:none}
.tamago-midashi small{display:block;font-size:13px;font-weight:700;color:var(--kuchibashi);letter-spacing:.1em}
.tamago-midashi h1,.tamago-midashi h2{font-family:"Kiwi Maru",serif;font-weight:500;font-size:clamp(23px,3vw,32px);line-height:1.45;text-wrap:pretty}
.tamago-midashi-shita{margin:-14px 0 24px 64px;color:var(--mori-sumi-usu);max-width:42em}

/* ===== 一週間の時間割 ===== */
.shukanhyo{padding:70px 0 80px}
.shukan-waku{background:#fff;border-radius:24px;padding:22px;box-shadow:0 10px 26px rgba(61,138,49,.10)}
.shukan-koma{display:grid;grid-template-columns:4.6em repeat(7,1fr);gap:6px}
.shukan-koma>div{border-radius:10px;min-height:44px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14.5px}
.shukan-koma .youbi-me{background:var(--harezora-usu)}
.shukan-koma .youbi-me.aru{background:var(--wakakusa);color:#fff}
.shukan-koma .jikoku{background:transparent;justify-content:flex-end;padding-right:6px;font-family:"Fredoka",sans-serif;font-size:15px;color:var(--mori-sumi-usu)}
.shukan-koma .koma{background:var(--hiyoko-usu);position:relative}
.shukan-koma .koma::after{content:"";width:14px;height:14px;border-radius:50%;background:var(--hiyoko);box-shadow:0 0 0 3px #fff}
.shukan-koma .nashi{background:#f5f3ee}
.shukan-hosoku{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;list-style:none}
.shukan-hosoku li{background:var(--harezora-usu);border-radius:14px;padding:12px 16px;font-size:14.5px}
.shukan-hosoku li>b{display:block;font-size:15.5px;color:var(--wakakusa-koi)}

/* ===== たまごの料金 ===== */
.tamago-ryokin{padding:80px 0;background:var(--hiyoko-usu)}
.tamago-narabi{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;list-style:none}
.tamago-narabi li{
  background:#fff;padding:34px 20px 26px;text-align:center;position:relative;
  border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;box-shadow:0 10px 0 rgba(255,159,28,.18);
  width:100%;max-width:250px;margin:0 auto;min-height:300px;display:flex;flex-direction:column;justify-content:center;
}
.tamago-narabi small{font-size:14px;font-weight:700;color:var(--mori-sumi-usu)}
.tamago-narabi .kazu{font-size:38px;font-weight:600;line-height:1.2;color:var(--mori-sumi)}
.tamago-narabi .kazu i{font-style:normal;font-size:16px;margin-left:2px;font-family:"Zen Kaku Gothic Antique",sans-serif;font-weight:700}
.tamago-narabi p{font-size:13.5px;color:var(--mori-sumi-usu);margin-top:4px;line-height:1.6}
.jukudai-obi{
  margin-top:34px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;
  background:var(--wakakusa-koi);color:#fff;border-radius:22px;padding:22px 26px;
}
.jukudai-obi svg{width:70px;height:70px}
.jukudai-obi p{font-size:15px;line-height:1.8}
.jukudai-bun>b{display:block;font-family:"Kiwi Maru",serif;font-weight:500;font-size:21px}
.ryokin-chui{margin-top:14px;font-size:13px;color:var(--mori-sumi-usu);text-align:center}

/* ===== 帰りの連絡（入退室） ===== */
.kaeri-renraku{padding:80px 0}
.renraku-narabi{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:center}
.renraku-narabi>*{min-width:0}
.renraku-e{background:#fff;border-radius:24px;padding:18px;box-shadow:0 10px 26px rgba(124,198,242,.18)}
.renraku-bun p{font-size:16px}
.renraku-bun p+p{margin-top:10px}
.renraku-bun small{display:block;margin-top:12px;font-size:12.5px;color:var(--mori-sumi-usu)}

/* ===== お稽古の中身 ===== */
.keiko-naiyo{padding:80px 0;background:#fff}
.keiko-narabi{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none}
.keiko-narabi li{border:2px dashed var(--harezora);border-radius:20px;padding:20px 16px;text-align:center}
.keiko-narabi svg{width:74px;height:60px;margin:0 auto 8px}
.keiko-narabi li>b{display:block;font-size:17px;font-family:"Kiwi Maru",serif;font-weight:500}
.keiko-narabi p{font-size:13.5px;color:var(--mori-sumi-usu);line-height:1.7;margin-top:4px}

/* ===== 検定のこよみ ===== */
.kentei-koyomi{padding:80px 0;background:var(--harezora-usu)}
.tsuki-tamago{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;list-style:none}
.tsuki-tamago li{background:#fff;border-radius:18px;padding:12px 10px 12px;min-height:128px}
.tsuki-tamago li>b{display:block;font-family:"Fredoka",sans-serif;font-size:22px;font-weight:600;line-height:1.2;color:var(--mori-sumi)}
.tsuki-tamago li>b i{font-style:normal;font-family:"Zen Kaku Gothic Antique",sans-serif;font-size:13px;margin-left:2px}
.tsuki-tamago span{display:block;font-size:12px;font-weight:700;border-radius:8px;padding:2px 7px;margin-top:5px;line-height:1.5}
.ks-dan{background:#ffe1ea;color:#b23a5a}
.ks-kyu{background:var(--hiyoko-usu);color:#8a6200}
.ks-den{background:#e3f3de;color:var(--wakakusa-koi)}
.ks-it{background:var(--harezora-usu);color:#1f6a9a}
.ks-bl{background:var(--mori-sumi);color:#fff}
.koyomi-rei{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:8px 22px;margin-top:18px;font-size:13.5px;background:#fff;border-radius:16px;padding:14px 18px}
.koyomi-rei li{display:grid;grid-template-columns:8.6em 1fr;gap:10px;align-items:center;line-height:1.5}
.koyomi-rei span{border-radius:8px;padding:3px 6px;font-weight:700;font-size:12px;text-align:center}
.koyomi-shita{margin-top:12px;font-size:13px;color:var(--mori-sumi-usu)}

/* ===== 先生のことば ===== */
.sensei-kotoba{padding:84px 0}
.kotoba-narabi{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start}
.kotoba-narabi>*{min-width:0}
.shashin-waku{
  aspect-ratio:3/4;border-radius:20px;background:repeating-linear-gradient(45deg,#fff 0 12px,var(--hiyoko-usu) 12px 24px);
  border:3px solid var(--hiyoko);display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:12.5px;color:var(--mori-sumi-usu);padding:14px;
}
.sensei-na{margin-top:12px;text-align:center}
.sensei-na small{display:block;font-size:12.5px;color:var(--mori-sumi-usu)}
.sensei-na b{font-family:"Kiwi Maru",serif;font-weight:500;font-size:22px;letter-spacing:.1em}
.fukidashi{background:#fff;border-radius:26px;padding:28px 30px;position:relative;box-shadow:0 8px 22px rgba(61,138,49,.10)}
.fukidashi::before{content:"";position:absolute;left:-14px;top:40px;border:14px solid transparent;border-right-color:#fff;border-left:0}
.fukidashi p{font-size:16px}
.fukidashi p+p{margin-top:12px}
.fukidashi .ookiku{font-family:"Kiwi Maru",serif;font-size:21px;line-height:1.7;color:var(--wakakusa-koi)}

/* ===== 体験の窓（問い合わせ） ===== */
.taiken-mado{padding:0 0 84px}
.mado-waku{
  background:var(--kuchibashi);border-radius:30px;padding:36px;color:#fff;
  display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;position:relative;overflow:hidden;
}
.mado-waku>*{min-width:0;position:relative}
.mado-waku h1,.mado-waku h2{font-family:"Kiwi Maru",serif;font-weight:500;font-size:clamp(24px,3.2vw,34px);line-height:1.45}
.mado-waku>div>p{margin-top:8px;font-size:15.5px}
.mado-renraku{list-style:none;display:grid;gap:10px}
.mado-renraku a,.mado-renraku span.hako{
  display:flex;align-items:center;gap:12px;background:#fff;color:var(--mori-sumi);text-decoration:none;
  border-radius:18px;padding:14px 18px;font-weight:700;
}
.mado-renraku svg{width:24px;height:24px;flex:none}
.mado-renraku small{display:block;font-size:12px;color:var(--mori-sumi-usu);font-weight:500}
.mado-renraku .kazu{font-size:22px}
.mado-renraku .meru{word-break:break-all;font-size:14.5px}
.mado-jusho{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mado-jusho>*{min-width:0}
.jusho-kado{background:#fff;border-radius:20px;padding:20px 22px;font-size:15px}
.jusho-kado>b{display:block;font-family:"Kiwi Maru",serif;font-weight:500;font-size:18px;margin-bottom:4px}
.jusho-kado ul{list-style:none}
.chizu-waku{border-radius:20px;overflow:hidden;background:#fff;min-height:260px;border:3px solid #fff}
.chizu-waku iframe{display:block;width:100%;height:100%;min-height:260px;border:0}

/* ===== 追記の一文・問い合わせフォーム ===== */
.yasumi,.doriru,.youji{margin-top:18px;background:#fff;border-radius:14px;padding:12px 16px;font-size:14.5px}
.yasumi>b,.doriru>b,.youji>b{display:block;font-size:15.5px;color:var(--wakakusa-koi)}
.youji{border:2px dashed var(--harezora)}
.toiawase{margin-top:22px;background:#fff;border-radius:24px;padding:28px 30px;display:grid;gap:14px}
.toiawase h3{font-family:"Kiwi Maru",serif;font-weight:500;font-size:22px}
.toi-setsu{font-size:13.5px;color:var(--mori-sumi-usu)}
.toiawase i{font-style:normal;display:inline-block;background:var(--ichigo);color:#fff;font-size:11px;font-weight:700;border-radius:6px;padding:0 6px;margin:0 4px;line-height:1.7}
.toi-ko{display:grid;gap:4px;font-weight:700;font-size:14.5px}
.toi-ko input,.toi-ko select,.toi-ko textarea{font:inherit;font-weight:500;font-size:16px;padding:10px 12px;border:2px solid #d9d3c4;border-radius:12px;background:#fff;color:inherit;width:100%}
.toi-ko input:focus,.toi-ko select:focus,.toi-ko textarea:focus{outline:3px solid var(--hiyoko);border-color:var(--kuchibashi)}
.toi-ko select{-webkit-appearance:none;appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M2 2l6 6 6-6' fill='none' stroke='%235e6b5f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:14px 9px}
.toi-ko .ayamari{border-color:var(--ichigo)}
.toi-ko[hidden]{display:none}
.toiawase button{font:inherit;font-weight:700;font-size:16px;color:#fff;background:var(--kuchibashi);border:0;border-radius:999px;padding:14px 24px;box-shadow:0 4px 0 #d77f0c;cursor:pointer;justify-self:start}
.toi-kekka{font-size:14.5px;font-weight:700;border-radius:12px;padding:10px 14px;background:var(--hiyoko-usu)}
.toi-kekka.dame{background:#ffe1ea;color:#b23a5a}
@media (max-width:600px){.toiawase{padding:22px 16px;border-radius:20px}.toiawase button{justify-self:stretch}}

/* ===== 巣の底（フッター） ===== */
.su-soko{background:var(--wakakusa-koi);color:#e9f5e5;padding:36px 0 52px;font-size:13.5px}
.su-soko .niwa{display:grid;gap:10px}
.su-soko a{color:#fff}
.su-soko-michi{list-style:none;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px;margin-top:4px}
.su-soko-shita{display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:space-between;font-size:12.5px;color:#c9e6c1;border-top:1px solid rgba(255,255,255,.25);padding-top:12px}
.su-soko-na{font-family:"Kiwi Maru",serif;font-size:20px;color:#fff}
.su-soko-chui{font-size:12.5px;color:#c9e6c1;border-top:1px solid rgba(255,255,255,.25);padding-top:12px;line-height:1.8}

/* ===== かえる（ふわっと出る） ===== */
.kaeru{transition:opacity .7s ease,transform .7s cubic-bezier(.2,1.4,.4,1)}
.kaeru.mada{opacity:0;transform:scale(.94) translateY(14px)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .kaeru,.kaeru.mada{opacity:1;transform:none;transition:none}
}

/* ===== 幅の細いところ ===== */
@media (max-width:900px){
  .su-denwa{position:static;justify-content:center;margin-top:6px}
  .harappa .niwa{grid-template-columns:1fr}
  .harappa-e{order:-1}
  .harappa-e svg{max-width:340px}
  .renraku-narabi,.kotoba-narabi,.mado-waku,.mado-jusho{grid-template-columns:1fr}
  .kotoba-narabi{justify-items:stretch}
  .kotoba-narabi>div:first-child{max-width:240px;margin:0 auto;width:100%}
  .fukidashi::before{display:none}
  .keiko-narabi{grid-template-columns:repeat(2,1fr)}
  .tsuki-tamago{grid-template-columns:repeat(4,1fr)}
  .shukan-hosoku{grid-template-columns:1fr}
}
@media (max-width:600px){
  body{font-size:15px}
  .niwa{padding:0 14px}
  .su-ue{padding-top:6px}
  .su-na svg{width:40px;height:40px}
  .su-na-moji>b{font-size:21px}
  .su-michi{gap:2px 12px;font-size:13px}
  .harappa .niwa{padding-top:30px}
  .tamago-narabi{gap:8px}
  .tamago-narabi li{min-height:176px;padding:22px 6px 16px}
  .tamago-narabi small{font-size:12px}
  .tamago-narabi .kazu{font-size:22px}
  .tamago-narabi .kazu i{font-size:11px}
  .tamago-narabi p{font-size:10.5px;line-height:1.45}
  .shukan-waku{padding:10px;border-radius:16px}
  .shukan-koma{grid-template-columns:3.6em repeat(7,1fr);gap:3px}
  .shukan-koma>div{font-size:12px;min-height:36px;border-radius:6px}
  .shukan-koma .jikoku{font-size:12px;padding-right:3px}
  .shukan-koma .koma::after{width:9px;height:9px}
  .tsuki-tamago{grid-template-columns:repeat(3,1fr);gap:8px}
  .tsuki-tamago li{padding:8px 6px;min-height:110px;border-radius:12px}
  .tsuki-tamago span{font-size:10.5px;padding:1px 4px}
  .keiko-narabi{grid-template-columns:1fr 1fr;gap:10px}
  .keiko-narabi li{padding:14px 8px}
  .keiko-narabi li>b{font-size:15px}
  .keiko-narabi p{font-size:12.5px}
  .tamago-midashi-shita{margin-left:0}
  .mado-waku{padding:24px 16px;border-radius:22px}
  .jukudai-obi{grid-template-columns:1fr;text-align:center}
  .jukudai-obi svg{margin:0 auto}
  .fukidashi{padding:22px 18px}
  .fukidashi .ookiku{font-size:18px}
  .jukudai-bun>b{font-size:18px}
}
@media (max-width:360px){
  .hitoiki{white-space:normal}
}

/* ===== ページごとの頭・案内の札 ===== */
.su{z-index:20}
.panku{font-size:12.5px;color:var(--mori-sumi-usu);background:#fff;border-bottom:1px solid #efe9da}
.panku ol{max-width:1060px;margin:0 auto;padding:7px 24px;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.panku li{display:flex;gap:8px;align-items:center}
.panku li+li::before{content:"\203a"}
.panku a{text-decoration:none}
.panku a:hover{text-decoration:underline}
.annai{padding:70px 0 20px}
.annai-narabi{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none}
.annai-narabi a{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:20px;padding:20px 18px;text-decoration:none;box-shadow:0 8px 20px rgba(61,138,49,.10)}
.annai-narabi b{font-family:"Kiwi Maru",serif;font-weight:500;font-size:18.5px;line-height:1.5}
.annai-narabi p{font-size:14px;color:var(--mori-sumi-usu);line-height:1.75;margin:6px 0 12px}
.annai-narabi span{margin-top:auto;font-size:13.5px;font-weight:700;color:var(--wakakusa-koi)}
.annai .youji{margin-top:22px}
.taiken-mado.ue{padding-top:60px}
.mado-waku+.toiawase{margin-top:22px}
.toi-ko small{font-weight:500;font-size:13px;color:var(--mori-sumi-usu)}
.toi-wana{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.toi-owari{margin-top:22px;background:#fff;border-radius:24px;padding:30px;text-align:center;font-size:16px}
.toi-owari b{display:block;font-family:"Kiwi Maru",serif;font-weight:500;font-size:22px;color:var(--wakakusa-koi);margin-bottom:6px}
.toi-kojin{font-size:13px;color:var(--mori-sumi-usu)}
.honbun{padding:60px 0 80px}
.honbun h1{font-family:"Kiwi Maru",serif;font-weight:500;font-size:clamp(23px,3vw,32px);margin-bottom:20px}
.honbun h2{font-size:17px;margin:26px 0 6px;color:var(--wakakusa-koi)}
.honbun p{font-size:15px;max-width:44em}
@media (max-width:900px){.annai-narabi{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.panku ol{padding:7px 14px}.annai{padding-top:44px}.annai-narabi{gap:10px}.annai-narabi a{padding:16px 14px}.annai-narabi b{font-size:16.5px}.taiken-mado.ue{padding-top:36px}}

/* ===== 授業日の説明（短い段落に分ける） ===== */
.jikan-setsu{margin:-14px 0 24px 64px;max-width:42em}
.jikan-setsu p{padding-left:14px;border-left:4px solid var(--hiyoko)}
.jikan-setsu p+p{margin-top:12px}
.jikan-setsu b{color:var(--wakakusa-koi)}
@media (max-width:600px){.jikan-setsu{margin-left:0}}

/* ===== お休みの日 ===== */
.yasumi{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;align-items:center;border:2px solid #f6c1cf;border-radius:18px;padding:16px 20px}
.yasumi>.yasumi-mi{display:flex;align-items:center;gap:8px;font-family:"Kiwi Maru",serif;font-weight:500;font-size:18px;color:#b23a5a}
.yasumi-mi svg{width:26px;height:26px}
.yasumi ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.yasumi li{display:flex;align-items:center;gap:10px;background:#ffeef3;border-radius:12px;padding:8px 16px 8px 8px;font-weight:700;font-size:15.5px}
.yasumi li span{background:var(--ichigo);color:#fff;border-radius:8px;padding:2px 12px;font-size:14.5px;white-space:nowrap}
@media (max-width:600px){.yasumi{grid-template-columns:1fr}.yasumi ul{flex-direction:column}}

/* ===== スマホの頭（上に固定する帯と、三本線のメニュー） ===== */
.su-botan,.su-michi-denwa{display:none}
@media (max-width:760px){
  .su{position:sticky;top:0;border-bottom-width:4px}
  .su-denwa{display:none}
  .su-ue{flex-direction:row;justify-content:flex-start;align-items:center;padding:7px 64px 7px 12px;text-align:left}
  .su-na{gap:8px}
  .su-na img{width:42px;height:42px}
  .su-na-moji>b{font-size:19px;letter-spacing:.06em}
  .su-na-moji>small{font-size:10px;letter-spacing:.08em}
  .su-botan{display:flex;flex-direction:column;justify-content:center;gap:6px;position:absolute;right:8px;top:6px;width:46px;height:46px;padding:0 11px;border:0;border-radius:12px;background:var(--hiyoko-usu);cursor:pointer}
  .su-botan span{display:block;height:3px;border-radius:2px;background:var(--mori-sumi);transition:transform .25s ease,opacity .2s ease}
  .su.hiraki .su-botan span:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .su.hiraki .su-botan span:nth-child(2){opacity:0}
  .su.hiraki .su-botan span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
  .su-michi{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;flex-wrap:nowrap;gap:0;padding:0;margin-top:4px;background:#fff;box-shadow:0 14px 24px rgba(45,58,46,.18);max-height:calc(100vh - 70px);overflow-y:auto;font-size:16.5px}
  .su.hiraki .su-michi{display:flex}
  .su-michi a{padding:15px 22px;border-bottom:1px solid #f1ecdf;border-left:6px solid transparent}
  .su-michi a:hover{border-bottom-color:#f1ecdf}
  .su-michi a[aria-current="page"]{border-bottom-color:#f1ecdf;border-left-color:var(--kuchibashi);background:var(--hiyoko-usu)}
  .su-michi .su-michi-denwa{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;color:var(--wakakusa-koi);font-size:19px}
  .su-michi-denwa svg{width:18px;height:18px}
  .su-michi-denwa small{flex-basis:100%;font-size:12px;font-weight:500;color:var(--mori-sumi-usu)}
}
@media (prefers-reduced-motion:reduce){.su-botan span{transition:none}}

/* ===== 今こそそろばん（6つのチカラ）・Q&A ===== */
.imakoso{padding:80px 0;background:var(--hiyoko-usu)}
.chikara{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:chikara}
.chikara li{background:#fff;border-radius:20px;padding:16px 18px 18px;counter-increment:chikara;position:relative;display:flex;flex-direction:column;align-items:center}
.chikara img{display:block;width:150px;height:150px}
.chikara li>div{width:100%}
.chikara li>div>b{display:flex;justify-content:center;align-items:center;gap:10px;font-family:"Kiwi Maru",serif;font-weight:500;font-size:19px}
.chikara li>div>b::before{content:counter(chikara);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--kuchibashi);color:#fff;font-family:"Fredoka",sans-serif;font-size:16px}
.chikara p{font-size:14.5px;line-height:1.8;margin-top:8px;color:var(--mori-sumi-usu)}
.imakoso-shime{margin-top:24px;text-align:center;font-family:"Kiwi Maru",serif;font-size:18px;color:var(--wakakusa-koi)}
.toi-kotae{padding:70px 0 80px}
.qa{display:grid;gap:14px}
.qa>div{background:#fff;border-radius:20px;padding:20px 22px;box-shadow:0 8px 20px rgba(61,138,49,.08)}
.qa dt,.qa dd{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}
.qa dt{font-weight:700;font-size:16.5px;line-height:1.7}
.qa dd{margin-top:10px;padding-top:12px;border-top:2px dashed #efe9da;font-size:15px}
.qa span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-family:"Fredoka",sans-serif;font-weight:600;font-size:17px;color:#fff}
.qa dt span{background:var(--harezora)}
.qa dd span{background:var(--kuchibashi)}
.qa-shime{margin-top:22px;text-align:center;font-size:15px}
@media (max-width:900px){.chikara{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.imakoso{padding:56px 0}.chikara{grid-template-columns:1fr;gap:10px}.chikara li{flex-direction:row;align-items:center;gap:12px;padding:14px}.chikara img{width:96px;height:96px;flex:none}.chikara li>div>b{justify-content:flex-start}.toi-kotae{padding:44px 0 60px}.qa>div{padding:16px 14px}.qa dt{font-size:15.5px}}

/* ===== 入会金・月謝（たまごの上にひよこ・初回と毎月の札） ===== */
.tamago-narabi.e-tsuki{gap:22px}
.tamago-narabi.e-tsuki li{max-width:300px;padding:54px 20px 44px;min-height:430px;justify-content:flex-start;align-items:center}
.tamago-narabi.e-tsuki img{display:block;width:150px;height:150px;margin-bottom:4px}
.kai{font-style:normal;display:inline-block;margin:8px auto 2px;border-radius:999px;padding:2px 14px;font-size:13.5px;font-weight:700;color:#fff}
.kai.sho{background:var(--kuchibashi)}
.kai.mai{background:var(--wakakusa)}
.doriru-e{margin-top:40px;background:#fff;border-radius:22px;padding:14px 24px;display:grid;grid-template-columns:132px 1fr;gap:20px;align-items:center}
.doriru-e img{display:block;width:132px;height:132px}
.doriru-e b{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-family:"Kiwi Maru",serif;font-weight:500;font-size:20px}
.doriru-e b small{font-family:"Zen Kaku Gothic Antique",sans-serif;font-size:13px;font-weight:700;color:#fff;background:var(--harezora);border-radius:999px;padding:1px 12px}
.doriru-e p{font-size:15px;margin-top:4px}
.doriru-e strong{font-size:18px;color:var(--wakakusa-koi);background:linear-gradient(transparent 62%,var(--hiyoko) 62%)}
.jukudai-obi{margin-top:22px}
.jukudai-e{width:112px;height:112px;border-radius:50%;background:#fff;overflow:hidden;flex:none}
.jukudai-e img{display:block;width:100%;height:100%}
@media (max-width:600px){
  /* スマホでは、たまごを横に3つ並べると細長くなるので、横長の札を縦に3枚にする */
  .tamago-narabi.e-tsuki{grid-template-columns:1fr;gap:12px}
  .tamago-narabi.e-tsuki li{max-width:none;min-height:0;border-radius:26px;padding:14px 18px 14px 12px;display:grid;grid-template-columns:104px auto 1fr;grid-template-rows:auto auto auto;column-gap:12px;align-items:center;justify-items:start;text-align:left;box-shadow:0 6px 0 rgba(255,159,28,.18)}
  .tamago-narabi.e-tsuki img{grid-column:1;grid-row:1 / 4;width:104px;height:104px;margin:0}
  .tamago-narabi.e-tsuki small{grid-column:2 / 4;font-size:14px}
  .tamago-narabi.e-tsuki .kazu{grid-column:2;font-size:32px}
  .tamago-narabi.e-tsuki .kazu i{font-size:14px}
  .tamago-narabi.e-tsuki .kai{grid-column:3;margin:0;font-size:12.5px;padding:2px 12px}
  .tamago-narabi.e-tsuki p{grid-column:2 / 4;font-size:13px;line-height:1.6;margin-top:2px}
  .doriru-e{grid-template-columns:92px 1fr;gap:12px;padding:12px 14px;margin-top:26px}
  .doriru-e img{width:92px;height:92px}
  .doriru-e b{font-size:17px}
  .doriru-e p{font-size:14px}
  .doriru-e p br{display:none}
  .jukudai-e{margin:0 auto}
}

/* ===== 絵（Codex の画像生成・src/assets/e） ===== */
.su-na img{display:block;width:58px;height:58px}
@media (max-width:600px){.su-na img{width:46px;height:46px}}
.harappa .niwa{max-width:1180px;grid-template-columns:1fr 1.05fr}
.kotoba-migi{display:grid;gap:16px;align-content:start}
.kotoba-migi .youji{margin-top:0}
.harappa-e img{display:block;width:100%;height:auto;max-width:580px;margin:0 auto;border-radius:28px;border:6px solid #fff;box-shadow:0 12px 30px rgba(61,138,49,.16)}
.annai-narabi img{display:block;width:112px;height:112px;margin:0 auto 6px}
.keiko-narabi img{display:block;width:124px;height:124px;margin:0 auto 6px}
.sensei-e{width:190px;height:190px;margin:0 auto;border-radius:50%;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(61,138,49,.10)}
.sensei-e img{display:block;width:100%;height:100%}
.mado-e{width:112px;height:112px;border-radius:50%;background:#fff;overflow:hidden;margin-bottom:12px}
.mado-e img{display:block;width:100%;height:100%}
@media (max-width:900px){.harappa .niwa{grid-template-columns:1fr}.harappa-e img{max-width:420px}}
@media (max-width:600px){.annai-narabi img{width:92px;height:92px}.keiko-narabi img{width:100px;height:100px}.sensei-e{width:160px;height:160px}.mado-e{width:88px;height:88px}}

/* ===== 切り替え（頭は残して、本文だけ溶かして上から降ろす） ===== */
@keyframes hairu{from{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:none}}
html.hairu body>:not(.su){animation:hairu 1s cubic-bezier(.33,.02,.2,1) both}
body>:not(.su){transition:opacity .3s ease-in-out,transform .3s ease-in-out}
body.kieru>:not(.su){opacity:0;transform:translateY(10px)}
@media (prefers-reduced-motion:reduce){
  html.hairu body>:not(.su){animation:none}
  body>:not(.su){transition:none}
}

/* 短いページでも足元が下に付くように */
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1}
