/* ===========================================================
   小倉山かるた 入門 — style
   型: manual-play × mid × list-first × kids
   和・やさしい。生成りに藍と朱。丸ゴシック(Zen Maru Gothic)＋明朝(Zen Old Mincho)。
   craftkit.css を土台に、この題材固有の見た目とゲームUIだけをここに書く。
   =========================================================== */

:root{
  --kinari:   #f3ecdb;   /* 生成り(地) */
  --kinari-2: #efe6d0;   /* すこし濃い地 */
  --washi:    #faf5e9;   /* 札の面・カード */
  --ai:       #1f3d63;   /* 藍 */
  --ai-deep:  #16304f;   /* 濃藍 */
  --ai-soft:  #40628a;
  --shu:      #cf4327;   /* 朱 */
  --shu-deep: #b23318;
  --ink:      #2b2620;   /* 墨 */
  --ink-soft: #6b6355;
  --line:     #d8cdb2;   /* 罫 */
  --gold:     #b9932f;
  --ok:       #2f7d4f;
  --mincho: "Zen Old Mincho", serif;
  --maru: "Zen Maru Gothic", "Zen Kaku Gothic New", sans-serif;
  --kaku: "Zen Kaku Gothic New", sans-serif;
  --wrap: 1180px;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--maru);
  color:var(--ink);
  background:var(--kinari);
  line-height:1.85;
  letter-spacing:.02em;
  overflow-x:hidden;                /* body横スクロール禁止 */
  /* 生成りの和紙テクスチャ（軽いドット＋斜線・自己完結の放射グラデ） */
  background-image:
    radial-gradient(rgba(120,100,60,.045) 1px, transparent 1.4px),
    radial-gradient(rgba(120,100,60,.03) 1px, transparent 1.4px);
  background-size:22px 22px, 22px 22px;
  background-position:0 0, 11px 11px;
}
img,svg{ max-width:100%; }
b{ font-weight:700; color:var(--ai-deep); }
ruby rt{ font-size:.52em; font-weight:500; color:var(--ink-soft); letter-spacing:0; }
kbd{
  font-family:var(--kaku); font-size:.82em; font-weight:700;
  background:var(--washi); border:1px solid var(--line); border-bottom-width:2px;
  border-radius:6px; padding:.05em .5em; color:var(--ai-deep); white-space:nowrap;
}

.wrap{ width:min(var(--wrap), 100% - 8vw); margin-inline:auto; }

/* ---------- 見出しの共通体裁 ---------- */
.eyebrow{
  font-family:var(--kaku); font-weight:700; font-size:.82rem;
  letter-spacing:.24em; color:var(--shu); margin:0 0 .5em;
}
section > .wrap > h2{
  font-family:var(--mincho); font-weight:900;
  font-size:clamp(1.7rem, 3.4vw, 2.9rem);
  line-height:1.34; margin:0 0 .5em; color:var(--ai-deep);
  letter-spacing:.01em;
}
.lead{
  font-size:clamp(1rem, 1.35vw, 1.14rem);
  max-width:44em; margin:0 0 2.2em; color:#43413a;
}
section{ padding-block:clamp(3.4rem, 7vw, 6rem); position:relative; }

/* 章の境に細い切り替えの罫（にぎやか≠雑の"finish"） */
.fuda, .play, .taikai{ background:
  linear-gradient(var(--kinari-2), var(--kinari-2)); }
.fuda::before, .rule::before, .play::before, .kimari::before, .taikai::before, .yougo::before{
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:repeating-linear-gradient(90deg, var(--line) 0 14px, transparent 14px 24px);
  opacity:.7;
}

/* ===========================================================
   ヘッダー
   =========================================================== */
.hd{
  position:sticky; top:0; z-index:50;
  background:rgba(243,236,219,.86);
  backdrop-filter:saturate(1.1) blur(8px);
  border-bottom:1px solid var(--line);
}
.hd-in{
  width:min(var(--wrap), 100% - 6vw); margin-inline:auto;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  height:62px;
}
.hd-mark{ display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--ai-deep); }
.hd-seal{ color:var(--shu); display:block; flex:0 0 auto; }
.hd-name{ font-family:var(--mincho); font-weight:900; font-size:1.12rem; line-height:1; display:flex; flex-direction:column; gap:.25em; }
.hd-name span{ font-family:var(--kaku); font-weight:500; font-size:.56rem; letter-spacing:.18em; color:var(--ink-soft); }
.hd-nav{ display:flex; gap:.2rem; flex-wrap:wrap; }
.hd-nav a{
  font-family:var(--kaku); font-weight:700; font-size:.9rem; text-decoration:none;
  color:var(--ai); padding:.35em .7em; border-radius:8px; transition:background .2s, color .2s;
}
.hd-nav a:hover{ background:var(--washi); color:var(--shu); }
.hd-prog{ height:3px; background:transparent; }
.hd-prog span{ display:block; height:100%; width:0; background:linear-gradient(90deg, var(--shu), var(--gold)); }

/* ===========================================================
   1. 導入
   =========================================================== */
.intro{ padding-top:clamp(2.6rem, 5vw, 4.2rem); }
.intro-in{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(1.5rem,4vw,3.4rem); align-items:center; }
.intro-copy h1{
  font-family:var(--mincho); font-weight:900;
  font-size:clamp(2.5rem, 6vw, 4.6rem); line-height:1.16; margin:.1em 0 .4em;
  color:var(--ai-deep); letter-spacing:.02em;
}
.intro-lead{ font-size:clamp(1.02rem, 1.4vw, 1.18rem); max-width:34em; margin:0 0 1.8em; color:#43413a; }
.intro-go{
  display:inline-flex; align-items:center; gap:.5em;
  font-family:var(--kaku); font-weight:700; text-decoration:none;
  color:var(--washi); background:var(--shu); padding:.7em 1.4em; border-radius:999px;
  box-shadow:0 6px 18px -8px rgba(207,67,39,.7); transition:transform .2s, background .2s;
}
.intro-go i{ font-style:normal; transition:transform .3s; }
.intro-go:hover{ background:var(--shu-deep); transform:translateY(-2px); }
.intro-go:hover i{ transform:translateY(3px); }

.intro-cards{ display:grid; place-items:center; }
.fudastack{ position:relative; width:min(320px, 78%); aspect-ratio:1/1; }
.fudastack .fuda{ position:absolute; width:60%; filter:drop-shadow(0 16px 26px rgba(40,30,15,.22)); }
.fuda--yomi{ left:2%; top:6%; transform:rotate(-8deg); }
.fuda--tori{ right:2%; bottom:4%; transform:rotate(7deg); }

/* 札SVGの共通スタイル */
.fuda-face{ fill:var(--washi); }
.fuda-edge{ fill:none; stroke:var(--ai); stroke-width:2.4; }
.fuda-edge--tori{ stroke:var(--shu); }
.fuda-ill{ fill:none; stroke:var(--shu); stroke-width:2; opacity:.7; }
.fuda-ill-line{ fill:none; stroke:var(--ai); stroke-width:2; }
.fuda-portrait circle{ fill:#eaddc0; stroke:var(--ai); stroke-width:1.6; }
.fuda-robe{ fill:var(--ai); opacity:.86; }
.fuda-vtext{
  font-family:var(--mincho); font-size:11px; fill:var(--ink);
  writing-mode:vertical-rl; text-orientation:upright; letter-spacing:1px;
}
.fuda-vtext--big{ font-size:15px; fill:var(--shu-deep); font-weight:600; }

/* ===========================================================
   2. 二種類の札
   =========================================================== */
.fuda-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.2rem,3vw,2.4rem); }
.fcard{
  display:grid; grid-template-columns:auto 1fr; gap:clamp(1rem,2.4vw,1.8rem);
  align-items:center; background:var(--washi);
  border:1px solid var(--line); border-radius:18px;
  padding:clamp(1.2rem,2.6vw,1.8rem);
  box-shadow:0 10px 30px -22px rgba(40,30,15,.5);
}
.fcard-art{ width:clamp(110px, 12vw, 150px); }
.fuda-lg{ filter:drop-shadow(0 10px 18px rgba(40,30,15,.18)); }
.fcard-tag{
  display:inline-block; font-family:var(--kaku); font-weight:700; font-size:.82rem;
  padding:.24em .8em; border-radius:999px; margin:0 0 .7em; letter-spacing:.06em;
}
.fcard-tag span{ font-weight:500; font-size:.86em; opacity:.85; }
.fcard-tag--yomi{ background:rgba(31,61,99,.12); color:var(--ai-deep); }
.fcard-tag--tori{ background:rgba(207,67,39,.13); color:var(--shu-deep); }
.fcard h3{ font-family:var(--mincho); font-weight:600; font-size:clamp(1.1rem,1.7vw,1.35rem); margin:0 0 .5em; color:var(--ink); line-height:1.5; }
.fcard p{ margin:0; font-size:.98rem; color:#4a473f; }

/* ===========================================================
   3. あそび方 3ステップ
   =========================================================== */
.steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1rem,2.6vw,2rem); counter-reset:st; }
.step{
  position:relative; background:var(--washi); border:1px solid var(--line);
  border-radius:18px; padding:clamp(1.4rem,2.6vw,2rem) clamp(1.2rem,2.2vw,1.6rem) 1.6rem;
  box-shadow:0 10px 30px -24px rgba(40,30,15,.5);
}
.step-no{
  position:absolute; top:-18px; left:22px;
  width:44px; height:44px; border-radius:50%;
  background:var(--ai); color:var(--washi);
  font-family:var(--mincho); font-weight:900; font-size:1.4rem;
  display:grid; place-items:center; box-shadow:0 6px 14px -6px rgba(31,61,99,.7);
}
.step-ill{ width:74px; height:74px; margin:.4rem 0 1rem; }
.step-ill svg{ width:100%; height:100%; }
.s-fuda{ fill:var(--washi); stroke:var(--ai); stroke-width:2.4; }
.s-fuda--2{ fill:#eee3ca; }
.s-fuda--3{ fill:#e6d8b8; }
.s-fuda--hit{ fill:rgba(207,67,39,.14); stroke:var(--shu); stroke-width:2.6; }
.s-bubble{ fill:var(--washi); stroke:var(--ai); stroke-width:2.4; }
.s-dot{ fill:var(--ai); }
.s-hand{ fill:none; stroke:var(--shu); stroke-width:3; stroke-linecap:round; }
.step h3{ font-family:var(--mincho); font-weight:700; font-size:clamp(1.14rem,1.7vw,1.32rem); margin:0 0 .5em; color:var(--ai-deep); }
.step p{ margin:0; font-size:.97rem; color:#4a473f; }
.foulword{ color:var(--shu); font-weight:700; }

/* ===========================================================
   4. やってみる（ゲーム）
   =========================================================== */
.play-head{ text-align:center; }
.play-head .lead{ margin-inline:auto; }
.play-a11y{ display:block; margin-top:.6em; font-size:.9rem; color:var(--ink-soft); }

.game{
  width:min(var(--wrap), 100% - 6vw); margin:2.4rem auto 0;
  background:linear-gradient(180deg, #234a2e, #1c3d26);   /* 畳(たたみ)の緑 */
  border-radius:22px; padding:clamp(1.1rem,2.6vw,2rem);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.06), 0 22px 46px -30px rgba(20,40,20,.8);
  position:relative; overflow:hidden;
}
/* 畳の目 */
.game::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 13px);
}
.game-inner{ position:relative; z-index:1; }

/* --- 読み手パネル --- */
.reader{
  background:rgba(250,245,233,.97); border-radius:16px;
  padding:clamp(1rem,2.2vw,1.5rem) clamp(1.1rem,2.4vw,1.7rem);
  display:grid; gap:.9rem;
}
.reader-top{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.reader-round{ font-family:var(--kaku); font-weight:700; font-size:.9rem; color:var(--ai); letter-spacing:.05em; display:flex; align-items:center; gap:.5em; }
.reader-round b{ font-family:var(--mincho); font-size:1.3em; color:var(--shu); }
.mode-toggle{ display:inline-flex; background:var(--kinari-2); border:1px solid var(--line); border-radius:999px; padding:3px; gap:2px; }
.mode-toggle button{
  font-family:var(--kaku); font-weight:700; font-size:.82rem; border:0; cursor:pointer;
  background:transparent; color:var(--ai); padding:.4em 1em; border-radius:999px; transition:.2s;
}
.mode-toggle button[aria-pressed="true"]{ background:var(--ai); color:var(--washi); box-shadow:0 3px 8px -4px rgba(31,61,99,.8); }

.reader-stage{ display:flex; align-items:center; gap:1rem; }
.reader-voice{
  flex:0 0 auto; width:52px; height:52px; border-radius:50%;
  background:var(--shu); color:var(--washi); display:grid; place-items:center;
  box-shadow:0 6px 14px -6px rgba(207,67,39,.8);
}
.reader-voice svg{ width:26px; height:26px; }
.reader-poem{ font-family:var(--mincho); line-height:1.7; }
.reader-kami{ font-size:clamp(1.25rem,2.6vw,1.9rem); font-weight:600; color:var(--ink); letter-spacing:.04em; }
.reader-kami .kk{ color:var(--shu); font-weight:900; } /* 決まり字ハイライト */
.reader-shimo{ font-size:clamp(1.05rem,2vw,1.4rem); color:var(--ai-deep); margin-top:.2em; min-height:1.7em; }
.reader-shimo.is-hidden{ color:var(--ink-soft); font-family:var(--kaku); font-size:.95rem; font-weight:500; }
.reader-actions{ display:flex; gap:.6rem; flex-wrap:wrap; }
.btn{
  font-family:var(--kaku); font-weight:700; font-size:.92rem; cursor:pointer;
  border-radius:999px; padding:.6em 1.3em; border:1.5px solid transparent; transition:.18s;
}
.btn:focus-visible{ outline:3px solid var(--gold); outline-offset:2px; }
.btn--read{ background:var(--ai); color:var(--washi); }
.btn--read:hover{ background:var(--ai-deep); }
.btn--hint{ background:transparent; color:var(--ai); border-color:var(--ai-soft); }
.btn--hint:hover{ background:rgba(31,61,99,.08); }
.btn--again{ background:var(--washi); color:var(--shu-deep); border-color:var(--shu); }
.btn--again:hover{ background:#fff; }
.btn[disabled]{ opacity:.42; cursor:not-allowed; }

/* --- 進捗・判定バナー --- */
.judge{
  margin-top:.4rem; font-family:var(--kaku); font-weight:700; font-size:.95rem;
  min-height:1.6em; display:flex; align-items:center; gap:.5em; color:var(--ink-soft);
}
.judge.ok{ color:var(--ok); }
.judge.ng{ color:var(--shu); }
.judge .j-ico{ font-size:1.1em; }

/* --- 取り札の場 --- */
.field{
  margin-top:1.2rem;
  display:grid; grid-template-columns:repeat(6, 1fr); gap:clamp(.5rem,1.4vw,.9rem);
}
.tfuda{
  position:relative; aspect-ratio:118/168; border:0; padding:0; cursor:pointer;
  background:transparent; border-radius:12px; transition:transform .18s ease;
  font-family:var(--mincho);
}
.tfuda:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; border-radius:12px; }
.tfuda svg{ position:absolute; inset:0; width:100%; height:100%; display:block; filter:drop-shadow(0 8px 14px rgba(20,30,15,.4)); }
.tfuda .tf-face{ fill:var(--washi); }
.tfuda .tf-edge{ fill:none; stroke:var(--shu); stroke-width:2.4; opacity:.55; }
.tfuda .tf-num{ font-family:var(--kaku); font-size:11px; fill:var(--ink-soft); font-weight:700; }
.tfuda .tf-text{
  font-family:var(--mincho); font-weight:600; fill:var(--ink);
  writing-mode:vertical-rl; text-orientation:upright; letter-spacing:1.5px;
}
.tfuda:hover:not([disabled]){ transform:translateY(-6px); }
.tfuda:hover:not([disabled]) .tf-edge{ opacity:1; }

.tfuda.is-correct .tf-face{ fill:#eaf6ee; }
.tfuda.is-correct .tf-edge{ stroke:var(--ok); opacity:1; stroke-width:3; }
.tfuda.is-wrong .tf-face{ fill:#fbe6df; }
.tfuda.is-wrong .tf-edge{ stroke:var(--shu); opacity:1; stroke-width:3; }
.tfuda.is-gone{ opacity:.28; }
.tfuda[disabled]{ cursor:default; }

/* 取れたときの光（reduced-motionで無効化） */
@media (prefers-reduced-motion:no-preference){
  .tfuda.is-correct{ animation:tf-pop .5s var(--ck-ease, ease); }
  @keyframes tf-pop{ 0%{transform:scale(1)} 40%{transform:scale(1.09)} 100%{transform:scale(1)} }
  .tfuda.is-wrong{ animation:tf-shake .4s ease; }
  @keyframes tf-shake{ 0%,100%{transform:translateX(0)} 20%{transform:translateX(-6px)} 40%{transform:translateX(6px)} 60%{transform:translateX(-4px)} 80%{transform:translateX(4px)} }
}

/* 大会結果カード（全周終了時） */
.result{ text-align:center; padding:clamp(1.4rem,3vw,2.4rem) 1rem; color:var(--washi); }
.result h3{ font-family:var(--mincho); font-weight:900; font-size:clamp(1.5rem,3vw,2.2rem); margin:.2em 0 .3em; }
.result p{ margin:.2em 0 1em; color:rgba(250,245,233,.85); }
.result .score-row{ display:flex; gap:1.6rem; justify-content:center; flex-wrap:wrap; margin:1em 0 1.4em; }
.result .score{ font-family:var(--kaku); }
.result .score b{ display:block; font-family:var(--mincho); font-size:2.2rem; font-weight:900; color:var(--washi); line-height:1; }
.result .score.shu b{ color:#ffb59f; }
.result .score span{ font-size:.85rem; color:rgba(250,245,233,.7); }

.game-fallback{ color:var(--washi); text-align:center; padding:2rem; }

/* ===========================================================
   5. 決まり字
   =========================================================== */
.kimari .kk{ color:var(--shu); font-weight:700; }
.kimari-demo{ background:var(--washi); border:1px solid var(--line); border-radius:18px; padding:clamp(1.3rem,2.8vw,2rem); box-shadow:0 10px 30px -24px rgba(40,30,15,.5); }
.kimari-demo-lead{ margin:0 0 1.2em; font-size:1rem; color:#4a473f; }
.kimari-list{ list-style:none; margin:0 0 1.4em; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem 1.6rem; }
.kimari-list li{ display:flex; align-items:baseline; gap:.6em; font-family:var(--mincho); font-size:clamp(1rem,1.6vw,1.2rem); padding:.5em .2em; border-bottom:1px dashed var(--line); }
.kimari-list .kl-poem{ color:var(--ink); }
.kimari-list .kl-poem .kk{ color:var(--shu); font-weight:900; }
.kimari-list .kl-key{
  margin-left:auto; font-family:var(--kaku); font-weight:700; font-size:.8rem;
  color:var(--shu-deep); background:rgba(207,67,39,.12); padding:.2em .7em; border-radius:999px; white-space:nowrap;
}
.kimari-note{ margin:.4em 0 0; font-size:.98rem; color:#4a473f; }

/* ===========================================================
   6. 大会の流れ
   =========================================================== */
.flow{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(.9rem,2vw,1.4rem); }
.flow-step{ position:relative; background:var(--washi); border:1px solid var(--line); border-radius:16px; padding:1.5rem 1.2rem 1.4rem; box-shadow:0 10px 30px -26px rgba(40,30,15,.5); }
.flow-step:not(:last-child)::after{
  content:"›"; position:absolute; right:-.62em; top:50%; transform:translateY(-50%);
  font-family:var(--mincho); font-size:1.8rem; color:var(--shu); z-index:2;
}
.flow-no{ font-family:var(--mincho); font-weight:900; font-size:1.5rem; color:var(--shu); margin:0 0 .3em; }
.flow-step h3{ font-family:var(--mincho); font-weight:700; font-size:1.14rem; margin:0 0 .5em; color:var(--ai-deep); }
.flow-step p{ margin:0; font-size:.92rem; color:#4a473f; }

/* ===========================================================
   7. 用語集
   =========================================================== */
.glossary{ margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:0 clamp(1.4rem,4vw,3.2rem); }
.gl{ display:grid; grid-template-columns:11rem 1fr; gap:.4rem 1rem; align-items:baseline; padding:1.1em 0; border-bottom:1px solid var(--line); }
.gl dt{ font-family:var(--mincho); font-weight:600; font-size:1.14rem; color:var(--ai-deep); display:flex; flex-direction:column; gap:.1em; }
.gl dt span{ font-family:var(--kaku); font-weight:500; font-size:.72rem; color:var(--ink-soft); letter-spacing:.05em; }
.gl dd{ margin:0; font-size:.96rem; color:#4a473f; }
.yougo-end{ margin:2.4rem 0 0; text-align:center; font-family:var(--mincho); font-size:clamp(1.1rem,1.8vw,1.4rem); line-height:1.9; color:var(--ai-deep); }

/* ===========================================================
   フッター
   =========================================================== */
.ft{ background:var(--ai-deep); color:#d9e2ee; padding-block:clamp(2.6rem,5vw,4rem); }
.ft-mark{ font-family:var(--mincho); font-weight:900; font-size:1.4rem; color:#fff; margin:0 0 1.2em; display:flex; flex-direction:column; gap:.2em; }
.ft-mark span{ font-family:var(--kaku); font-weight:500; font-size:.62rem; letter-spacing:.2em; color:#9fb2c9; }
.ft-t{ border-collapse:collapse; margin:0 0 1.6em; font-size:.92rem; }
.ft-t th, .ft-t td{ text-align:left; padding:.5em 1.4em .5em 0; vertical-align:top; border-bottom:1px solid rgba(255,255,255,.1); }
.ft-t th{ color:#9fb2c9; font-weight:700; white-space:nowrap; font-family:var(--kaku); }
.ft-disc{ font-size:.82rem; color:#a9b8cb; max-width:60em; margin:0 0 1em; line-height:1.9; }
.ft-disc b{ color:#ffcaba; }
.ft-c{ font-size:.78rem; color:#7f92aa; margin:0; }

/* ===========================================================
   レスポンシブ / フォールバック
   =========================================================== */
@media (max-width:900px){
  .intro-in{ grid-template-columns:1fr; }
  .intro-cards{ order:-1; }
  .fudastack{ width:min(280px, 70%); }
  .fuda-grid{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
  .step-no{ top:-16px; }
  .flow{ grid-template-columns:1fr 1fr; }
  .flow-step:nth-child(2)::after{ display:none; }
  .kimari-list{ grid-template-columns:1fr; }
  .glossary{ grid-template-columns:1fr; }
  .field{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:560px){
  .fcard{ grid-template-columns:1fr; text-align:center; }
  .fcard-art{ margin-inline:auto; }
  .flow{ grid-template-columns:1fr; }
  .flow-step::after{ display:none !important; }
  .field{ grid-template-columns:repeat(2,1fr); }
  .gl{ grid-template-columns:1fr; }
  .hd-nav{ display:none; }
}

/* pointer:coarse — ホバーで浮く演出は触感的に不要 → 無効化。操作は成立させる */
@media (pointer:coarse){
  .tfuda:hover:not([disabled]){ transform:none; }
  .intro-go:hover{ transform:none; }
}

/* 短い画面 — ゲームを縦に詰める（sticky等は使っていないので破綻しない） */
@media (max-height:620px){
  .hd{ position:static; }
}

/* reduced-motion — craftkit側で reveal は静止。ゲームの装飾アニメも停止 */
@media (prefers-reduced-motion:reduce){
  .intro-go i{ transition:none; }
  .tfuda{ transition:none; }
}
