/* FUKUWAKE LP — 初稿 2026-09-24。決めごとは ../design-system.md */
:root{
  --paper:#FBF8F1; --white:#FFFFFF; --gray:#F2EFE8;
  --ink:#1F1C19; --ink-70:rgba(31,28,25,.72); --ink-45:rgba(31,28,25,.45); --line:rgba(31,28,25,.14);
  --night:#1C2433;
  --shu:#E2462C; --shu-d:#B8341E; --yama:#F2B31B; --ai:#2D5CB5; --wakaba:#2B8F5B; --sora:#8EC5E8;
  --gold:var(--yama);
  --jp:"Zen Kaku Gothic Antique",system-ui,-apple-system,"Hiragino Sans","Yu Gothic",sans-serif;
  --en:"Sora","Zen Kaku Gothic Antique",system-ui,sans-serif;
  --hand:"Caveat Brush","Sora",cursive;
  --ease:cubic-bezier(.445,.05,.55,.95);
  --pad:clamp(80px,9vw,128px);
  --measure:44em;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--jp);font-weight:500;font-size:16px;line-height:1.95;letter-spacing:.04em;overflow-x:clip;font-feature-settings:"palt" 0}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p,ol,ul,figure{margin:0;padding:0}
ol,ul{list-style:none}
b{font-weight:700}
.nb{display:inline-block}
.sp{display:none}
@media (max-width:720px){.sp{display:inline}}
.en{font-family:var(--en)}
.vt{writing-mode:vertical-rl;text-orientation:upright}

.wrap{width:min(1120px,100% - 48px);margin-inline:auto}
@media (max-width:720px){.wrap{width:calc(100% - 40px)}}

/* ---------- 紙片（お福分けのかけら） ---------- */
.kami{position:absolute;fill:var(--c);pointer-events:none;z-index:1;filter:drop-shadow(0 1px 0 rgba(0,0,0,.06));transform:rotate(var(--r,0deg))}
.kami>use{transform-box:fill-box;transform-origin:50% 50%}

/* ---------- 不定形の写真（手でちぎった紙の形） ---------- */
.blob{overflow:hidden;background:var(--gray)}
.blob img{width:100%;height:100%;object-fit:cover}
.b1{border-radius:58% 42% 47% 53% / 44% 56% 44% 56%}
.b2{border-radius:40% 60% 62% 38% / 52% 38% 62% 48%}
.b3{border-radius:63% 37% 54% 46% / 55% 48% 52% 45%}
.b4{border-radius:46% 54% 38% 62% / 62% 44% 56% 38%}
.b5{border-radius:52% 48% 66% 34% / 40% 60% 40% 60%}
.b6{border-radius:36% 64% 48% 52% / 58% 42% 58% 42%}

/* ---------- 見出しの型（eyebrow＋h2。h2の1文字だけ朱） ---------- */
.eyebrow{display:flex;align-items:baseline;gap:14px;font-size:14px;font-weight:700;letter-spacing:.12em;margin-bottom:18px}
.eyebrow .hand{font-family:var(--hand);font-size:30px;font-weight:400;letter-spacing:.02em;color:var(--shu);line-height:1}
.eyebrow--c{justify-content:center}
.eyebrow--w{color:#fff}
.eyebrow--w .hand{color:var(--yama)}
.h2{font-size:clamp(28px,3.4vw,44px);font-weight:900;line-height:1.45;letter-spacing:.06em}
.h2 b{color:var(--shu);font-weight:900}
.h2--c{text-align:center}
.h2--w{color:#fff}
.lead{max-width:var(--measure);margin-top:28px;color:var(--ink-70)}
.prose{max-width:var(--measure);margin-top:28px}
.prose p+p{margin-top:1.1em}
.prose--c{margin-inline:auto;text-align:center}
.mk{background:linear-gradient(transparent 62%,rgba(242,179,27,.55) 62%)}
.small{font-size:12px;color:var(--ink-45);margin-top:24px;letter-spacing:.06em}
.small--c{text-align:center}
.small--w{color:rgba(255,255,255,.55)}
.subh{font-size:20px;font-weight:900;margin:64px 0 24px;letter-spacing:.08em}

/* ---------- 地 ---------- */
.sec{position:relative;padding-block:var(--pad)}
.sec--paper{background:var(--paper)}
.sec--white{background:var(--white)}
.sec--gray{background:var(--gray)}
.sec--night{background:var(--night);color:#fff}
.sec--shu{background:var(--shu);color:#fff}

/* ---------- ボタン（黒のピル＋矢印。CTA専用） ---------- */
.pill{display:inline-flex;align-items:center;gap:18px;padding:16px 28px 16px 34px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;letter-spacing:.1em;font-size:15px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -3px 0 rgba(0,0,0,.35),0 8px 18px rgba(0,0,0,.18);transition:transform .3s var(--ease),background .3s var(--ease)}
.pill svg{width:34px;height:14px;color:#fff;transition:transform .3s var(--ease)}
.pill:hover{transform:translateY(-2px)}
.pill:hover svg{transform:translateX(4px)}
.pill--big{padding:22px 34px 22px 44px;font-size:17px}
.pill.is-off{opacity:.45;pointer-events:none}

/* =========================================================
   表紙
   ========================================================= */
.fv{position:relative;height:100svh;min-height:620px;max-height:1000px;background:#fff;overflow:hidden}
.hd{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;z-index:5}
.hd__logo{margin:0;line-height:0}.hd__logo img{display:block;height:40px;width:auto}
.hd__meta{display:flex;flex-direction:column;align-items:flex-end;font-family:var(--en);font-weight:600;font-size:12px;line-height:1.6;letter-spacing:.08em;margin-right:64px}
.hd__meta span:last-child{font-size:14px;font-weight:800}
.fv__copy{position:absolute;left:clamp(20px,3vw,48px);top:84px;z-index:4;font-weight:900;font-size:clamp(34px,min(4.4vw,6.2svh),66px);line-height:1.18;letter-spacing:.06em}
.fv__stage{position:absolute;inset:0;z-index:2}
.fv__ph{position:absolute;opacity:0;animation:fvin 900ms var(--ease) forwards;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.fv__ph img{width:100%;height:100%;object-fit:cover}
.fv__ph--1{width:min(34vw,56svh);aspect-ratio:1.3;left:16%;top:9%;animation-delay:.1s}
.fv__ph--2{width:min(26vw,44svh);aspect-ratio:1.05;right:9%;top:7%;animation-delay:.25s}
.fv__ph--3{width:min(17vw,28svh);aspect-ratio:1.2;left:20%;bottom:7%;animation-delay:.4s}
.fv__ph--4{width:min(15vw,24svh);aspect-ratio:1.15;right:24%;bottom:5%;animation-delay:.55s}
.fv__ph--5{width:min(16vw,27svh);aspect-ratio:1.3;right:6%;bottom:18%;animation-delay:.7s}
@keyframes fvin{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.kami--fv1{width:92px;height:92px;left:12%;top:56%;--r:-14deg}
.kami--fv2{width:70px;height:70px;left:47%;top:6%;--r:10deg;--dur:9s}
.kami--fv3{width:64px;height:64px;right:36%;top:30%;--r:22deg;--dur:7s}
.kami--fv4{width:110px;height:110px;right:2%;top:48%;--r:-6deg}
.kami--fv5{width:48px;height:48px;left:40%;bottom:10%;--r:30deg;--dur:6.5s}
.kami--fv6{width:84px;height:84px;left:5%;bottom:4%;--r:0deg;--dur:9.5s}
.kami--fv7{width:40px;height:40px;right:44%;bottom:30%;--r:-20deg;--dur:7.5s}
.fv__center{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);z-index:4;text-align:center;background:#fff;padding:26px 40px 30px;border-radius:44% 56% 50% 50% / 30% 30% 70% 70%;box-shadow:0 12px 40px rgba(0,0,0,.08)}
.fv__tag{font-size:clamp(13px,1.05vw,16px);font-weight:700;letter-spacing:.1em;line-height:1.7}
.fv__logo{display:flex;justify-content:center;gap:.04em;margin:10px 0 12px;font-family:var(--en);font-weight:800;font-size:clamp(40px,min(5.4vw,8svh),84px);line-height:1;letter-spacing:0}
.fv__logo span{display:inline-block}
.fv__logo span:nth-child(1){color:var(--shu);transform:rotate(-6deg)}
.fv__logo span:nth-child(2){color:var(--ink);transform:rotate(4deg) translateY(4px)}
.fv__logo span:nth-child(3){color:var(--ai);transform:rotate(-3deg)}
.fv__logo span:nth-child(4){color:var(--ink);transform:rotate(6deg) translateY(-3px)}
.fv__logo span:nth-child(5){color:var(--wakaba);transform:rotate(-5deg) translateY(3px)}
.fv__logo span:nth-child(6){color:var(--yama);transform:rotate(5deg)}
.fv__logo span:nth-child(7){color:var(--ink);transform:rotate(-4deg) translateY(-2px)}
.fv__logo span:nth-child(8){color:var(--shu);transform:rotate(7deg) translateY(2px)}
.fv__h1{font-size:clamp(12px,.95vw,14px);font-weight:700;letter-spacing:.12em;line-height:1.7;color:var(--ink-70)}
.vnav{position:absolute;right:20px;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;gap:8px}
.vnav a{writing-mode:vertical-rl;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.14em;background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:14px 7px;transition:background .3s var(--ease),color .3s var(--ease)}
.vnav a:hover{background:var(--ink);color:#fff}
.vnav a:last-child{background:var(--ink);color:#fff}
@media (max-width:1180px){.vnav{display:none}.hd__meta{margin-right:0}}
@media (max-width:720px){
  .fv{height:auto;min-height:0;max-height:none;padding:72px 0 36px}
  .hd{padding:18px 20px}
  .hd__meta span:first-child{display:none}
  .fv__copy{position:relative;left:auto;top:auto;margin:0 20px 0 auto;font-size:34px;height:auto;float:right}
  .fv__stage{position:relative;inset:auto;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px;clear:both}
  .fv__ph{position:relative;inset:auto;width:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important}
  .fv__ph--1{grid-column:1/-1;aspect-ratio:1.5;margin:-40px 70px 0 0}
  .fv__ph--5,.fv__ph--4{display:none}
  .fv__center{position:relative;left:auto;top:auto;transform:none;grid-column:1/-1;order:5;padding:18px 10px 8px;border-radius:0;box-shadow:none;background:transparent}
  .fv__logo{font-size:15vw}
  .kami--fv1{left:auto;right:4%;top:auto;bottom:-10px;width:56px;height:56px}
  .kami--fv2{left:4%;top:36%;width:44px;height:44px}
  .kami--fv3,.kami--fv5,.kami--fv7{display:none}
  .kami--fv4{right:auto;left:-16px;top:auto;bottom:40%;width:60px;height:60px}
  .kami--fv6{left:auto;right:-10px;bottom:auto;top:30%;width:50px;height:50px}
}

/* ---------- 宣言 ---------- */
.sengen{position:relative;background:#fff;padding:clamp(60px,7vw,110px) 0 var(--pad);overflow:hidden}
.sengen__in{text-align:center;position:relative;z-index:2}
.sengen__lead{font-size:clamp(22px,2.6vw,34px);font-weight:900;line-height:1.7;letter-spacing:.08em}
.sengen__body{max-width:40em;margin:28px auto 40px;color:var(--ink-70)}
.kami--s1{width:120px;height:120px;left:6%;top:18%;--r:12deg}
.kami--s2{width:80px;height:80px;right:8%;bottom:20%;--r:-18deg;--dur:7s}
@media (max-width:720px){.kami--s1{width:60px;height:60px;left:-14px}.kami--s2{width:50px;height:50px;right:-8px}}

/* ---------- 部の扉 ---------- */
.part{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:clamp(70px,8vw,120px) 0;text-align:center}
.part__no{font-family:var(--en);font-weight:800;font-size:15px;letter-spacing:.3em;color:var(--yama)}
.part__t{font-size:clamp(40px,5.4vw,72px);font-weight:900;line-height:1.25;letter-spacing:.12em;margin:14px 0 10px}
.part__en{font-family:var(--hand);font-size:32px;color:rgba(255,255,255,.5)}
.part--color{background:#fff;color:var(--ink)}
.part--color .part__no{color:var(--shu)}
.part--color .part__en{color:var(--ink-45)}
.kami--p1{width:130px;height:130px;left:10%;top:22%;--r:-10deg}
.kami--p2{width:90px;height:90px;right:12%;bottom:18%;--r:16deg;--dur:7s}
.kami--p3{width:120px;height:120px;right:10%;top:20%;--r:8deg}
.kami--p4{width:80px;height:80px;left:12%;bottom:16%;--r:-12deg;--dur:9s}
@media (max-width:720px){.kami--p1,.kami--p3{width:64px;height:64px;left:4%;right:auto;top:10%}.kami--p2,.kami--p4{width:48px;height:48px;right:4%;left:auto;bottom:10%}}

/* ---------- 想い ---------- */
.omoi{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,90px);align-items:center}
.omoi__ph{position:relative}
.omoi__ph .blob{aspect-ratio:1.05}
.kami--o1{width:90px;height:90px;left:-30px;bottom:-20px;--r:10deg}
.kami--o2{width:60px;height:60px;right:-10px;top:-16px;--r:-20deg;--dur:7s}
.sign{margin-top:36px;font-weight:900;font-size:22px;letter-spacing:.16em}
.sign span{display:block;font-size:12px;font-weight:700;color:var(--ink-45);letter-spacing:.1em;margin-bottom:2px}
@media (max-width:900px){.omoi{grid-template-columns:1fr}.omoi__ph{max-width:420px;margin-inline:auto}}

/* ---------- あゆみ（年表。罫を1本通す） ---------- */
.ayumi{position:relative;margin-top:56px;display:grid;grid-template-columns:repeat(6,1fr);gap:48px 40px}
.ayumi li{grid-column:span 2}
.ayumi li:nth-child(5),.ayumi li:nth-child(6){grid-column:span 3}
.ayumi li{position:relative;padding-top:22px;border-top:2px solid var(--ink)}
.ayumi__no{font-family:var(--en);font-weight:800;font-size:13px;letter-spacing:.2em;color:var(--ink-45)}
.ayumi h3{font-size:19px;font-weight:900;margin:6px 0 10px;letter-spacing:.06em;line-height:1.5}
.ayumi p:not(.ayumi__no){font-size:14.5px;color:var(--ink-70);line-height:1.9}
.ayumi .ayumi__turn{grid-column:1/-1;border-top-color:var(--shu)!important;border-top-width:4px!important}
.ayumi__turn .ayumi__no,.ayumi__turn h3{color:var(--shu)}
.ayumi__turn h3{font-size:24px}
@media (max-width:900px){.ayumi{grid-template-columns:1fr 1fr}.ayumi li,.ayumi li:nth-child(5),.ayumi li:nth-child(6){grid-column:auto}.ayumi .ayumi__turn{grid-column:1/-1}}
@media (max-width:560px){.ayumi{grid-template-columns:1fr;gap:32px}}
.ayumi__turn p:not(.ayumi__no){max-width:48em;font-size:15.5px}

/* ---------- 向き合う社会課題（色を抜く） ---------- */
.gaps{margin-top:52px;display:grid;grid-template-columns:1fr 1fr 1.35fr 1fr;gap:16px}
.gap{background:#fff;border-radius:8px;padding:26px 22px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05)}
.gap__k{font-size:48px;font-weight:900;line-height:1;color:rgba(31,28,25,.1);letter-spacing:0}
.gap__t{font-size:18px;font-weight:900;margin:12px 0 8px}
.gap__d{font-size:14px;color:var(--ink-70);line-height:1.85}
.gap--main{background:var(--ink);color:#fff}
.gap--main .gap__k{color:var(--shu)}
.gap--main .gap__d{color:rgba(255,255,255,.8)}
.gap--main b{color:var(--yama)}
.closing{margin-top:56px;font-size:clamp(20px,2.2vw,28px);font-weight:900;line-height:1.7;letter-spacing:.08em}
@media (max-width:980px){.gaps{grid-template-columns:1fr 1fr}.gap--main{grid-column:1/-1;order:-1}}
@media (max-width:520px){.gaps{grid-template-columns:1fr}}

/* ---------- 現場のいま ---------- */
.stats{margin-top:56px;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:0;border-top:1px solid rgba(255,255,255,.2)}
.stat{padding:30px 28px 10px;border-right:1px solid rgba(255,255,255,.14)}
.stat:last-child{border-right:0}
.stat__l{font-size:13px;font-weight:700;color:rgba(255,255,255,.7);letter-spacing:.08em}
.stat__n{font-family:var(--en);font-weight:800;font-size:clamp(44px,4.6vw,64px);line-height:1.2;margin:8px 0 12px;color:#fff}
.stat__n em{font-style:normal;font-family:var(--jp);font-size:.36em;font-weight:900;margin:0 .1em}
.stat--main .stat__n{color:var(--shu);font-size:clamp(56px,6vw,86px)}
.stat__d{font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.85}
.genjo__voice{margin-top:64px;max-width:var(--measure);padding-left:24px;border-left:3px solid var(--shu);color:rgba(255,255,255,.85)}
.genjo__big{margin-top:64px;font-size:clamp(22px,2.6vw,34px);font-weight:900;line-height:1.7;letter-spacing:.06em;color:rgba(255,255,255,.6)}
.genjo__big b{color:#fff}
@media (max-width:820px){.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding:24px 4px}}

/* ---------- 自分ごと化 ---------- */
.turn{position:relative;overflow:hidden;background:#fff;padding:clamp(110px,13vw,190px) 24px;text-align:center}
.turn__t{position:relative;z-index:2;font-size:clamp(26px,3.6vw,50px);font-weight:900;line-height:1.6;letter-spacing:.1em}
.kami--t1{width:160px;height:160px;left:7%;top:14%;--r:-8deg}
.kami--t2{width:110px;height:110px;right:9%;top:24%;--r:14deg;--dur:7s}
.kami--t3{width:90px;height:90px;left:30%;bottom:10%;--r:26deg;--dur:9s}
@media (max-width:720px){.kami--t1{width:70px;height:70px;left:-10px;top:8%}.kami--t2{width:56px;height:56px;right:-6px}.kami--t3{width:44px;height:44px;left:12%;bottom:6%}}

/* ---------- 募集（朱の帯） ---------- */
.boshu{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.boshu__k{font-size:clamp(40px,5.6vw,80px);font-weight:900;line-height:1.3;letter-spacing:.08em}
.boshu__k b{background:linear-gradient(transparent 70%,rgba(242,179,27,.9) 70%)}
.boshu__t{font-size:16px;line-height:2}
.boshu__box{margin-top:30px;background:#fff;color:var(--ink);border-radius:8px;padding:26px 30px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"l l" "n s";gap:4px 24px;align-items:center;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.boshu__bl{grid-area:l;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--ink-70)}
.boshu__bn{grid-area:n;font-family:var(--en);font-weight:800;font-size:72px;line-height:1;color:var(--shu)}
.boshu__bn em{font-style:normal;font-family:var(--jp);font-size:.34em;font-weight:900;color:var(--ink);margin-left:.1em}
.boshu__bs{grid-area:s;font-size:14px;font-weight:700;line-height:1.8}
@media (max-width:820px){.boshu{grid-template-columns:1fr}}

/* ---------- FUKUWAKEとは ---------- */
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.about__phs{position:relative;height:clamp(380px,40vw,520px)}
.about__phs .b2{position:absolute;left:0;top:0;width:78%;aspect-ratio:1.25}
.about__phs .b4{position:absolute;right:0;bottom:0;width:40%;aspect-ratio:.64;border:6px solid #fff}
.tagv{position:absolute;left:4%;bottom:6%;writing-mode:vertical-rl;background:var(--ink);color:#fff;font-size:13px;font-weight:700;letter-spacing:.14em;padding:12px 6px;line-height:1.5}
@media (max-width:900px){.about{grid-template-columns:1fr}.about__phs{height:auto;aspect-ratio:1.15}}

/* ---------- 呼び名 ---------- */
.yobina__g{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.yb{border-top:2px solid var(--ink);padding-top:22px}
.yb__q{font-size:22px;font-weight:900;line-height:1.55;letter-spacing:.06em}
.yb:first-child .yb__q{color:var(--shu)}
.yb__d{margin-top:14px;font-size:14.5px;color:var(--ink-70);line-height:1.95}
@media (max-width:860px){.yobina__g{grid-template-columns:1fr;gap:30px}}

/* ---------- 活動内容（主役の柱1を大きく） ---------- */
.pillars{margin-top:56px;display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:auto auto;gap:28px 36px}
.pl{position:relative;display:block;text-decoration:none;color:inherit}
.pl--main{grid-row:span 2}
.pl__ph{aspect-ratio:1.5;transition:transform .5s var(--ease)}
.pl:hover .pl__ph{transform:scale(1.02) rotate(-.6deg)}
.pl--main .pl__ph{aspect-ratio:1.15}
.pl__tags{position:absolute;right:10px;top:10px;display:flex;gap:4px;z-index:2}
.pl__tags span{writing-mode:vertical-rl;background:var(--ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;padding:8px 4px;line-height:1.3}
.pl__no{font-family:var(--en);font-weight:800;font-size:13px;letter-spacing:.2em;color:var(--shu);margin-top:18px}
.pl__t{font-size:22px;font-weight:900;letter-spacing:.06em;margin:2px 0 6px}
.pl--main .pl__t{font-size:30px}
.pl__d{font-size:14.5px;color:var(--ink-70)}
@media (max-width:820px){.pillars{grid-template-columns:1fr}.pl--main{grid-row:auto}}

/* ---------- 章 ---------- */
.chap__hd{display:flex;align-items:flex-end;gap:22px}
.chap__no{font-family:var(--en);font-weight:800;font-size:clamp(80px,9vw,128px);line-height:.8;color:var(--shu);letter-spacing:-.02em}
.flow{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:f}
.flow li{position:relative;background:#fff;border-radius:8px;padding:26px 22px 24px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05)}
.flow li:not(:last-child)::after{content:"";position:absolute;right:-14px;top:50%;width:10px;height:10px;border-top:2px solid var(--ink);border-right:2px solid var(--ink);transform:translateY(-50%) rotate(45deg)}
.flow__no{font-family:var(--en);font-weight:800;font-size:13px;color:var(--shu);letter-spacing:.2em}
.flow h3{font-size:20px;font-weight:900;margin:4px 0 8px}
.flow p{font-size:14px;color:var(--ink-70);line-height:1.85}
@media (max-width:900px){.flow{grid-template-columns:1fr 1fr}.flow li::after{display:none}}
@media (max-width:520px){.flow{grid-template-columns:1fr}}
.exp{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.exp li{padding:20px 18px 20px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-70);line-height:1.7}
.exp b{display:block;color:var(--ink);font-size:17px;font-weight:900;margin-bottom:2px}
@media (max-width:820px){.exp{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.exp{grid-template-columns:1fr}}
.chap2{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(40px,6vw,90px);align-items:end}
.facts li{padding:22px 0;border-top:1px solid var(--line)}
.facts li:last-child{border-bottom:1px solid var(--line)}
.facts__l{font-size:12px;font-weight:700;color:var(--ink-45);letter-spacing:.1em}
.facts__v{font-size:19px;font-weight:900;margin-top:4px}
.facts .small{margin-top:4px}
.chap3{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,90px);align-items:center}
.chap3__ph{position:relative}
.chap3__ph .blob{aspect-ratio:1.2}
.kami--h1{width:100px;height:100px;right:-20px;bottom:-24px;--r:-8deg}
@media (max-width:900px){.chap2,.chap3{grid-template-columns:1fr}}

/* ---------- ロードマップ（3列×2段。最後の段だけ朱） ---------- */
.road{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.road li{background:var(--paper);border-radius:8px;padding:26px 24px 26px}
.road__no{font-family:var(--hand);font-size:44px;line-height:1;color:var(--shu)}
.road__when{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--ink-45);margin-top:4px}
.road h3{font-size:19px;font-weight:900;margin:6px 0 8px;line-height:1.5}
.road p:last-child{font-size:14px;color:var(--ink-70);line-height:1.85}
.road__last{background:var(--shu)!important;color:#fff}
.road__last .road__no{color:var(--yama)}
.road__last .road__when,.road__last p:last-child{color:rgba(255,255,255,.85)}
@media (max-width:900px){.road{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.road{grid-template-columns:1fr}}

/* ---------- 未来 ---------- */
.mirai{text-align:center}
.mirai__k{font-size:clamp(30px,4.4vw,60px);font-weight:900;line-height:1.5;letter-spacing:.08em;margin-top:10px}
.mirai__k b{color:var(--yama)}
.mirai__t{max-width:38em;margin:36px auto 0;color:rgba(255,255,255,.82)}
.mirai__t p+p{margin-top:1.2em}

/* ---------- 一押し ---------- */
.oshi{overflow:hidden;text-align:center}
.oshi__in{position:relative;z-index:2}
.oshi__l{font-size:clamp(18px,2vw,24px);font-weight:700;letter-spacing:.1em;line-height:2.4}
.oshi__k{margin-top:40px;font-size:clamp(24px,3vw,40px);font-weight:900;line-height:1.6;letter-spacing:.08em}
.oshi__k b{color:var(--shu)}
.kami--o3{width:140px;height:140px;left:6%;top:16%;--r:8deg}
.kami--o4{width:100px;height:100px;right:7%;bottom:14%;--r:-14deg;--dur:7s}
@media (max-width:720px){.kami--o3{width:60px;height:60px;left:-12px}.kami--o4{width:50px;height:50px;right:-8px}}

/* ---------- 流れ ---------- */
.steps{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--ink)}
.steps li{padding:26px 22px 10px 0}
.steps__no{font-family:var(--en);font-weight:800;font-size:12px;letter-spacing:.2em;color:var(--shu)}
.steps h3{font-size:20px;font-weight:900;margin:6px 0 8px}
.steps p{font-size:14px;color:var(--ink-70);line-height:1.85}
.nagare__end{margin-top:48px;font-size:18px;font-weight:900;letter-spacing:.08em}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* ---------- 参画枠（一覧→詳細） ---------- */
.plans-ix{margin-top:36px;display:flex;flex-wrap:wrap;gap:10px}
.plans-ix a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:14px;border:1.5px solid var(--ink);border-radius:999px;padding:8px 18px;background:#fff}
.plans-ix span{font-family:var(--en);font-weight:800;color:var(--shu);font-size:12px}
.plans{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.plan{position:relative;background:#fff;border-radius:8px;padding:30px 26px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06);scroll-margin-top:24px}
.plan--main{outline:3px solid var(--shu);outline-offset:-3px}
.plan__badge{position:absolute;top:-14px;left:24px;background:var(--shu);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;padding:4px 14px;border-radius:999px}
.plan__no{font-family:var(--hand);font-size:40px;line-height:1;color:var(--shu)}
.plan__t{font-size:21px;font-weight:900;margin:6px 0 10px;letter-spacing:.04em}
.plan__p{font-size:14px;font-weight:700;padding-bottom:18px;border-bottom:1px solid var(--line)}
.plan__p b{font-family:var(--en);font-size:30px;font-weight:800;margin-left:.2em;color:var(--shu)}
.ret{margin-top:18px;display:grid;gap:14px}
.ret li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;font-size:14.5px;line-height:1.6}
.ret__i{width:28px;height:28px;fill:var(--c)}
@media (max-width:900px){.plans{grid-template-columns:1fr}}

/* ---------- 福の神一覧（100枠） ---------- */
.grid100{margin-top:44px;display:grid;grid-template-columns:repeat(20,1fr);gap:6px}
.grid100 span{aspect-ratio:1;border-radius:50%;border:1.5px dashed rgba(31,28,25,.22);display:grid;place-items:center;font-family:var(--en);font-size:10px;font-weight:600;color:var(--ink-45)}
.grid100 span.on{border:0;background:var(--c);color:#fff}
@media (max-width:720px){.grid100{grid-template-columns:repeat(10,1fr)}}

/* ---------- お金の使いみち ---------- */
.uses{margin-top:52px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}
.use{background:#fff;border-radius:8px;padding:28px 26px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05)}
.use__p{font-family:var(--en);font-weight:800;font-size:48px;line-height:1.1;color:var(--ink-45)}
.use__p em{font-style:normal;font-size:.45em;margin-left:.1em}
.use--main .use__p{color:var(--shu)}
.use h3{font-size:19px;font-weight:900;margin:10px 0 6px}
.use p:last-child{font-size:14px;color:var(--ink-70)}
.okane__notes{margin-top:32px;display:grid;gap:6px;font-weight:700}
.okane__notes li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--shu);margin-right:10px;vertical-align:middle}
@media (max-width:860px){.uses{grid-template-columns:1fr}}

/* ---------- 実績 ---------- */
.nums{margin-top:52px;display:grid;grid-template-columns:1.3fr .9fr 1.25fr 1fr;border-top:2px solid var(--ink)}
.num{padding:24px 20px 20px 0}
.num__l{font-size:13px;font-weight:700;color:var(--ink-70)}
.num__n{font-family:var(--en);font-weight:800;font-size:clamp(34px,3.2vw,46px);line-height:1.2;margin-top:6px;white-space:nowrap}
.num__n em{font-style:normal;font-family:var(--jp);font-size:.34em;font-weight:900;margin-left:.15em}
.num--main .num__n{color:var(--shu);font-size:clamp(48px,5vw,72px)}
@media (max-width:900px){.nums{grid-template-columns:1fr 1fr}.num--main{grid-column:1/-1}}
.acts{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.act__ph{aspect-ratio:1.3;border-radius:8px;overflow:hidden}
.act__ph img{width:100%;height:100%;object-fit:cover}
.act figcaption{margin-top:12px;font-size:13.5px;color:var(--ink-70);line-height:1.8}
.act figcaption b{display:block;font-size:17px;color:var(--ink);font-weight:900}
@media (max-width:900px){.acts{grid-template-columns:1fr 1fr}}
.media{margin-top:48px;display:grid;grid-template-columns:auto 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.media__l{font-weight:900;writing-mode:vertical-rl;background:var(--ink);color:#fff;padding:10px 5px;font-size:13px;letter-spacing:.14em;align-self:start}
.media li{font-weight:700;padding:4px 0}
.ted{margin:48px auto 0;max-width:880px}
.ted__v{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--ink);box-shadow:0 14px 34px rgba(0,0,0,.12)}
.ted__v iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ted figcaption{margin-top:12px;font-size:13px;font-weight:700;color:var(--ink-70);text-align:center}

/* ---------- 協賛 ---------- */
.kyo{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kyo__b{background:#fff;border-radius:8px;padding:24px 26px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05);font-weight:700;line-height:1.9}
.kyo__l{font-size:12px;letter-spacing:.12em;color:var(--shu);margin-bottom:6px}
@media (max-width:720px){.kyo{grid-template-columns:1fr}}

/* ---------- OSUSO ---------- */
.osuso{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(32px,5vw,72px);align-items:center;margin-top:10px}
.osuso__logo img{width:100%;max-width:340px;margin-inline:auto}
@media (max-width:820px){.osuso{grid-template-columns:1fr}}
/* OSUSOの輪（国生み lp/assets/style.css から移植。色はFUKUWAKEの変数に置き換え） */
.ostats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ostat{padding:clamp(20px,2.4vw,32px) clamp(12px,2vw,28px);border-right:1px solid var(--line);text-align:center}
.ostat:last-child{border-right:0}
.ostat__l{font-size:12.5px;letter-spacing:.08em;line-height:1.7;color:var(--ink-70)}
.ostat__n{font-family:var(--en);font-size:clamp(36px,4.4vw,60px);font-weight:800;line-height:1.1;color:var(--shu);margin-top:6px}
.ostat__n em{font-style:normal;font-family:var(--jp);font-size:.36em;color:var(--ink);margin-left:.15em}
.osubh{margin-top:clamp(56px,7vw,88px);padding-bottom:14px;border-bottom:2px solid var(--ink);font-size:clamp(18px,1.9vw,22px);font-weight:900;letter-spacing:.08em}
.l100{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.lc{background:#fff;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06)}
.lc__v{margin:0;aspect-ratio:16/9;overflow:hidden;background:var(--gray)}
.lc__v img{width:100%;height:100%;object-fit:cover;transition:scale .5s var(--pop)}
.lc:hover .lc__v img{scale:1.05}
.lc__b{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.lc__name{font-size:16px;font-weight:900;letter-spacing:.06em;line-height:1.6}
.lc__hd{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center}
.lc__face{width:44px;height:44px;border-radius:50%;object-fit:cover}
.lc__person{font-size:12.5px;font-weight:700;line-height:1.5}
.lc__org{font-size:11.5px;color:var(--ink-70);line-height:1.5;margin-top:2px}
.lc__logo{max-width:56px;max-height:32px;object-fit:contain}
.lc__lead{font-size:13px;line-height:1.9}
.lc__tags{margin-top:auto;font-size:11.5px;color:var(--ink-70);display:flex;flex-wrap:wrap;gap:4px 10px}
.omem{display:grid;grid-template-columns:repeat(6,1fr);gap:28px 20px;margin-top:28px}
.omem__ph{aspect-ratio:1;overflow:hidden;border-radius:50%;background:var(--gray)}
.omem__ph img{width:100%;height:100%;object-fit:cover}
.omem__nick{margin-top:12px;font-family:var(--hand);font-size:17px;color:var(--shu);line-height:1.3}
.omem__n{font-size:15px;font-weight:900;letter-spacing:.06em;line-height:1.5;margin-top:2px}
.omem__r{font-size:11.5px;color:var(--ink-70);line-height:1.5;margin-top:2px}
.omem__c{font-size:12px;line-height:1.8;margin-top:6px;color:var(--ink-70)}
.osclose{margin-top:clamp(56px,7vw,88px);text-align:center;font-size:clamp(22px,2.6vw,32px);font-weight:900;letter-spacing:.1em}
.outlink{margin-top:18px;text-align:center}
.outlink a{display:inline-flex;gap:10px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--shu);padding-bottom:4px}
@media (max-width:1000px){.l100{grid-template-columns:repeat(2,1fr)}.omem{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){.ostats{grid-template-columns:1fr}.ostat{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left}.ostat:last-child{border-bottom:0}.ostat__n{margin-top:0}.l100{grid-template-columns:1fr}.omem{grid-template-columns:repeat(2,1fr)}}

/* ---------- 最後のひとこと（文字だけ） ---------- */
.cta{text-align:center}
.cta__k{font-size:clamp(34px,5vw,68px);font-weight:900;letter-spacing:.1em;line-height:1.4}
.cta__t{margin-top:30px;font-size:clamp(16px,1.6vw,20px);font-weight:700;line-height:2.2;letter-spacing:.1em}

/* ---------- 申し込み ---------- */
.join{text-align:center}
.join__q{margin:40px auto 0;display:inline-grid;gap:10px;text-align:left}
.join__q li{font-size:17px;font-weight:700;padding-left:30px;position:relative}
.join__q li::before{content:"";position:absolute;left:0;top:.55em;width:16px;height:16px;border-radius:50%;background:var(--shu)}
.join__act{margin-top:40px}
.qr{display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:center;max-width:860px;margin:56px auto 0;padding:clamp(28px,4vw,48px);background:var(--white);border-radius:12px;text-align:left}
.qr__code{margin:0}
.qr__code img{display:block;width:100%;height:auto}
.qr__h{font-size:clamp(19px,1.8vw,23px);font-weight:900;letter-spacing:.08em;margin:0 0 10px}
.qr__b > p{margin:0;font-size:15px;color:var(--ink-70)}
.qr__act{margin-top:24px!important}
.qr__note{margin:28px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.qr__note li{padding:11px 0 11px 18px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.7;color:var(--ink-70);position:relative}
.qr__note li::before{content:"";position:absolute;left:0;top:1.35em;width:8px;height:1px;background:var(--shu)}
@media (max-width:767px){
  .qr{grid-template-columns:1fr;gap:24px}
  .qr__code{width:160px;margin:0 auto}
  .qr__h{text-align:center}
  .qr__act .pill{width:100%;justify-content:center;padding-left:24px;padding-right:24px}
}

/* ---------- フッター ---------- */
.ft{background:var(--ink);color:#fff;text-align:center;padding:64px 24px 48px}
.ft__logo{margin:0 0 14px;line-height:0}.ft__logo img{display:block;width:170px;height:auto;margin:0 auto}
.ft__tag{margin-top:10px;font-size:13px;color:rgba(255,255,255,.7)}
.ft__org{margin-top:22px;font-size:12px;color:rgba(255,255,255,.55)}
.ft__copy{margin-top:8px;font-family:var(--en);font-size:11px;color:rgba(255,255,255,.4)}

/* 見出しが語の途中で折れないように */
.h2,.sengen__lead,.turn__t,.boshu__k,.mirai__k,.oshi__k,.cta__k,.genjo__big,.closing{word-break:auto-phrase}

/* =========================================================
   動き（参考サイトの動きを分解して組み直した。解剖メモ ../_素材/参考サイト/_解剖/）
   ・なめらかに漂わせない。「止まっている → 一瞬だけ動く」のコマ撮り感が肝
   ・出るときはオーバーシュート（弾む）。文字は1字ずつ3コマで出る
   ========================================================= */
:root{
  --pop:cubic-bezier(.34,1.56,.64,1);
  --elastic:linear(0,.22 6%,.72 14%,1.12 22%,1.2 27%,1.13 33%,.96 42%,.93 47%,.98 55%,1.02 63%,1.01 72%,1);
}
/* 文の段落: 下から弾んで出る */
.rv{opacity:0;transform:translateY(24px);transition:opacity .35s steps(3),transform .5s var(--pop);transition-delay:calc(120ms + var(--rvd,0ms))}
.rv.is-in{opacity:1;transform:none}
/* 見出し: 1文字ずつ、傾いた状態から3コマでかたかた出る */
.kt .ch{display:inline-block;opacity:0}
.kt.is-in .ch{animation:kt .5s steps(1,end) forwards;animation-delay:calc(var(--i) * 38ms)}
@keyframes kt{0%{opacity:0;transform:rotate(-9deg) translate(-3px,2px)}33%{opacity:1;transform:rotate(-3deg) translateY(-2px)}66%{opacity:1;transform:rotate(2deg) translateY(-1px)}100%{opacity:1;transform:none}}
/* 写真・絵: ぽんと弾んで出る */
.pop{opacity:0;transform:scale(.82) rotate(var(--pr,-3deg))}
.pop.is-in{opacity:1;transform:none;transition:opacity .25s linear,transform .9s var(--elastic);transition-delay:var(--pd,0ms)}
/* 紙片: 出るときは弾み、その後は止まっている時間が長く、ときどき動く */
.kami{opacity:0}
.kami.is-in{opacity:1;transition:opacity .3s steps(2)}
.kami.is-in>use{animation:kpop .8s var(--elastic) both}
.kami.m-twitch.is-in{animation:twitch 3.2s var(--d,0s) infinite}
.kami.m-hop.is-in{animation:hop 5s var(--d,0s) infinite}
.kami.m-walk.is-in{animation:walk 9s var(--d,0s) infinite}
.kami.m-spin.is-in{animation:spin 6s var(--d,0s) infinite}
@keyframes kpop{from{transform:scale(.3)}to{transform:scale(1)}}
@keyframes twitch{0%,82%,100%{transform:rotate(var(--r,0deg))}86%{transform:rotate(calc(var(--r,0deg) - 6deg))}90%{transform:rotate(var(--r,0deg))}94%{transform:rotate(calc(var(--r,0deg) + 6deg))}}
@keyframes hop{0%,70%,100%{transform:rotate(var(--r,0deg)) translateY(0)}74%{transform:rotate(calc(var(--r,0deg) - 8deg)) translateY(-22px)}80%{transform:rotate(calc(var(--r,0deg) - 8deg)) translateY(-22px)}83%{transform:rotate(calc(var(--r,0deg) + 6deg)) translateY(0)}87%{transform:rotate(var(--r,0deg)) translateY(-6px)}90%{transform:rotate(var(--r,0deg)) translateY(0)}}
@keyframes walk{0%,55%,100%{transform:rotate(var(--r,0deg)) translate(0,0)}60%{transform:rotate(calc(var(--r,0deg) + 5deg)) translate(12px,-4px)}64%{transform:rotate(calc(var(--r,0deg) - 5deg)) translate(24px,0)}68%{transform:rotate(calc(var(--r,0deg) + 5deg)) translate(36px,-4px)}72%{transform:rotate(var(--r,0deg)) translate(40px,0)}80%{transform:rotate(calc(var(--r,0deg) - 5deg)) translate(28px,-4px)}86%{transform:rotate(calc(var(--r,0deg) + 5deg)) translate(12px,0)}92%{transform:rotate(var(--r,0deg)) translate(0,0)}}
@keyframes spin{0%,75%{transform:rotate(var(--r,0deg))}88%,100%{transform:rotate(calc(var(--r,0deg) + 360deg))}}
/* 表紙: オープニングが終わるまで中身を止めておく */
.fv__ph{animation:none;opacity:0}
.is-ready .fv__ph{animation:fvpop .9s var(--elastic) forwards}
.is-ready .fv__ph--1{animation-delay:.05s}.is-ready .fv__ph--2{animation-delay:.18s}.is-ready .fv__ph--3{animation-delay:.3s}.is-ready .fv__ph--4{animation-delay:.42s}.is-ready .fv__ph--5{animation-delay:.54s}
@keyframes fvpop{from{opacity:0;transform:scale(.7) rotate(-6deg)}20%{opacity:1}to{opacity:1;transform:none}}
.fv__center{opacity:0}
.is-ready .fv__center{animation:centerpop .9s var(--elastic) .1s forwards}
@keyframes centerpop{from{opacity:0;transform:translate(-50%,-50%) scale(.85)}15%{opacity:1}to{opacity:1;transform:translate(-50%,-50%)}}
.is-ready .fv__logo span{animation:letter 3.6s steps(1,end) infinite;animation-delay:calc(2s + var(--li) * 90ms)}
@keyframes letter{0%,88%,100%{translate:0 0;rotate:0deg}90%{translate:0 -6px;rotate:-6deg}93%{translate:0 -3px;rotate:5deg}96%{translate:0 0;rotate:0deg}}
.fv__copy .ch{display:inline-block}
.fv__copy b{color:var(--shu);font-weight:inherit}
/* 表紙の主写真: ゆっくり拡大しながら入れ替わる */
.fvsl{position:relative}
.fvsl img{position:absolute;inset:0;opacity:0;transform:scale(1);transition:opacity 1.4s var(--ease),transform 6.5s linear}
.fvsl img.is-on{opacity:1;transform:scale(1.07);z-index:1}
/* オープニング: 白い紙に文字 → 紙が傾いてはじけ飛ぶ */
.opening{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#fff;transform-origin:50% 50%}
.is-opening body{overflow:hidden}
.opening__logo{display:flex;gap:.04em;font-family:var(--en);font-weight:800;font-size:clamp(48px,9vw,120px);line-height:1}
.opening__logo span{opacity:0;display:inline-block}
.opening.is-1 .opening__logo span{animation:kt .5s steps(1,end) forwards;animation-delay:calc(var(--li) * 90ms)}
.opening__sub{position:absolute;left:0;right:0;top:calc(50% + clamp(48px,7vw,90px));text-align:center;font-weight:700;letter-spacing:.14em;font-size:clamp(13px,1.3vw,16px);opacity:0}
.opening.is-1 .opening__sub{animation:kt .5s steps(1,end) .9s forwards}
.opening .kami{opacity:1}
.opening.is-1 .kami>use{animation:kpop .8s var(--elastic) both;animation-delay:calc(.2s + var(--oi,0) * 80ms)}
.opening.is-2{transition:transform .35s cubic-bezier(.5,0,.7,.4);transform:translate(-8%,-6%) rotate(12deg)}
.opening.is-3{transition:transform .6s cubic-bezier(.5,0,.8,.5),opacity .6s steps(3);transform:translate(40%,-130%) rotate(-28deg);opacity:0}
/* 体験の絵: 横に流れ続ける */
.loop{overflow:hidden;margin-inline:calc(50% - 50vw);padding-block:10px 20px}
.loop__track{display:flex;gap:28px;width:max-content;animation:loop 30s linear infinite}
@media (hover:hover){.loop:hover .loop__track{animation-play-state:paused}}
@keyframes loop{to{transform:translateX(calc(-1 * var(--loop-dist, 50%)))}}
/* 2026-10-04 視差効果を減らす でも動かす（水沼さんのiPhoneはON・8/27決定 memory feedback_mobile_animation_reduced_motion）。この中の animation:none を外した。戻すなら _rm退避 の元ファイル */@media (prefers-reduced-motion:reduce){
  .rv,.kt .ch,.pop,.kami,.fv__ph,.fv__center{opacity:1!important;transform:none!important;}
  .loop__track{}
}

/* =========================================================
   中盤の絵（2026-09-24 夕「途中が文字ばかり」への対応）
   ========================================================= */
/* あゆみ: 転機に写真 */
.ayumi .ayumi__turn{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:36px;align-items:center}
.ayumi__tph{aspect-ratio:1.3}
@media (max-width:640px){.ayumi .ayumi__turn{grid-template-columns:1fr}}
/* 課題: 色のない絵（色は第2部から戻る） */
.gap{position:relative;overflow:hidden}
.gap__ill{width:100%;aspect-ratio:4/3;object-fit:contain;filter:grayscale(1) contrast(.9) brightness(1.08);opacity:.75;margin:-6px 0 6px}
.gap--main .gap__ill{filter:grayscale(1) brightness(1.6);opacity:.55}
.gap__k{font-size:34px}
/* 現場のいま: 数字を絵で */
.stat__vis{width:100%;max-width:232px;height:auto;margin:14px 0 4px;display:block}
.bars{margin:16px 0 4px;display:grid;gap:8px}
.bars p{display:grid;grid-template-columns:3em 1fr auto;align-items:center;gap:10px;font-size:12px;color:rgba(255,255,255,.7)}
.bars i{display:block;height:16px;width:var(--w);background:rgba(255,255,255,.25);clip-path:polygon(0 8%,100% 0,98% 50%,100% 100%,0 92%)}
.bars__me i{background:var(--shu)}
.bars b{font-family:var(--en);font-weight:600}
/* 自分ごと化: 手渡しの絵 */
.turn__ill{position:relative;z-index:2;width:min(560px,86%);margin:0 auto 34px}
/* 呼び名: 福の神の絵＋3つの言葉 */
.yobina__body{margin-top:56px;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,70px);align-items:center}
.yobina__body .yobina__g{margin-top:0;grid-template-columns:1fr;gap:26px}
.yobina__ill img{width:100%}
@media (max-width:860px){.yobina__body{grid-template-columns:1fr}.yobina__ill{max-width:360px;margin-inline:auto}}
/* 柱1: 体験カードが流れる */
.xc{flex:0 0 300px;background:#fff;border-radius:8px;padding:18px 20px 22px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 10px 26px rgba(0,0,0,.07);transition:transform .5s var(--pop)}
.xc:nth-child(odd){transform:rotate(-1.2deg)}
.xc:nth-child(even){transform:rotate(1deg) translateY(10px)}
.xc:hover{transform:rotate(0) translateY(-6px)}
.xc__ill{aspect-ratio:4/3;display:grid;place-items:center}
.xc__ill img{width:100%;height:100%;object-fit:contain}
.xc__t{font-size:17px;font-weight:900;margin-top:10px}
.xc__d{font-size:13px;color:var(--ink-70);line-height:1.7}
@media (max-width:720px){.xc{flex-basis:230px}}
/* 柱2: スポンジの絵 */
.chap2__side{display:grid;gap:10px}
.sponge{width:min(300px,80%);margin:0 auto}
/* 柱3: 家の絵を写真に重ねる */
.home__ill{position:absolute;right:-6%;bottom:-14%;width:48%;z-index:2}
/* ロードマップ: のぼっていく階段 */
.road__wrap{position:relative;margin-top:56px}
.road__path{position:absolute;inset:0 0 auto;width:100%;height:100%;z-index:0;pointer-events:none}
.road__path path{fill:none;stroke:var(--shu);stroke-width:2.5;stroke-dasharray:2 9;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.6}
.road{position:relative;z-index:1;margin-top:0;grid-template-columns:repeat(6,1fr);gap:14px;align-items:start}
.road li{background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04),0 10px 24px rgba(0,0,0,.07);padding:22px 18px}
.road li:nth-child(1){margin-top:250px}.road li:nth-child(2){margin-top:200px}.road li:nth-child(3){margin-top:150px}
.road li:nth-child(4){margin-top:100px}.road li:nth-child(5){margin-top:50px}
.road h3{font-size:16.5px}
.road p:last-child{font-size:13px}
@media (max-width:1100px){.road{grid-template-columns:repeat(3,1fr)}.road li{margin-top:0!important}.road__path{display:none}}
@media (max-width:640px){.road{grid-template-columns:1fr}}
/* 一押し: 詩のまわりに子どもたち */
.oshi__ill{position:absolute;width:clamp(150px,17vw,250px);z-index:1}
.oshi__ill--1{left:3%;top:10%;--pr:-6deg}
.oshi__ill--2{right:3%;top:30%;--pr:6deg}
.oshi__ill--3{left:2%;bottom:-3%;width:clamp(120px,13vw,190px);--pr:-4deg}
@media (max-width:900px){.oshi__ill{position:relative;display:inline-block;width:30%;left:auto;right:auto;top:auto;bottom:auto;margin:0 1%}.oshi{padding-top:40px}}
/* お金の使いみち: 絵 */
.use__ill{width:120px;height:90px;object-fit:contain;display:block;margin:6px 0 2px}
/* 表紙SP: 中央ブロックは translate を使わない */
@media (max-width:720px){.is-ready .fv__center{animation-name:centerpopsp}@keyframes centerpopsp{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}}

/* 会計上の取り扱い（HAGAIと同じ中身） */
.acct{margin-top:48px;background:#fff;border-radius:8px;padding:28px 30px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05)}
.acct__t{font-size:18px;font-weight:900;letter-spacing:.06em}
.acct__dl{margin:18px 0 0;display:grid;gap:14px}
.acct__dl div{display:grid;grid-template-columns:8em 1fr;gap:18px;padding-top:14px;border-top:1px solid var(--line)}
.acct__dl dt{font-size:13px;font-weight:700;color:var(--ink-70)}
.acct__dl dd{margin:0;font-size:14.5px;line-height:1.9}
.acct__dl dd b{font-size:18px;color:var(--shu);display:block}
.acct__dl dd span{font-size:12.5px;color:var(--ink-70)}
@media (max-width:640px){.acct__dl div{grid-template-columns:1fr;gap:4px}}
/* りょうしん塾のなかま */
.team{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tm{background:#fff;border-radius:8px;padding:22px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05)}
.tm--main{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:34px;align-items:center;padding:28px}
.tm__ph{aspect-ratio:1.4}
.tm__ph--none{display:grid;place-items:center;background:var(--paper);border-radius:8px}
.tm__ph--none svg{width:40%;height:auto;aspect-ratio:1;fill:var(--c);opacity:.5}
.tm__no{font-family:var(--hand);font-size:32px;line-height:1;color:var(--shu);margin-top:14px}
.tm--main .tm__no{margin-top:0}
.tm__n{font-size:20px;font-weight:900;letter-spacing:.08em;margin-top:6px}
.tm__n span{display:block;font-size:11px;font-weight:500;color:var(--ink-45);letter-spacing:.1em}
.tm--main .tm__n{font-size:26px}
.tm__r{font-size:13px;font-weight:700;color:var(--ink-70);margin-top:4px}
.tm__c{margin-top:14px;font-size:14.5px;line-height:1.95}
@media (max-width:860px){.team{grid-template-columns:1fr 1fr}.tm--main{grid-template-columns:1fr}}
@media (max-width:520px){.team{grid-template-columns:1fr}}
/* 黒川さんの写真は顔が元画像の端にある。丸い形は保ったまま、顔の側の角だけ丸みを弱め、写真も顔側に寄せる（2026-09-24 水沼さん「顔が見切れてる」→「丸のデザインは前のまま」） */
.ayumi__tph{aspect-ratio:1.3}
.face-r{border-radius:40% 14% 30% 56% / 56% 12% 44% 44%}
.face-r img{object-position:100% 30%}
.face-tr{border-radius:52% 10% 58% 44% / 44% 8% 54% 56%}
.face-tr img{object-position:100% 0}
.face-l{border-radius:14% 56% 58% 34% / 12% 44% 56% 48%}
.face-l img{object-position:10% 20%}


/* 写真コラージュ（参考サイトの「ちぎった写真を敷き詰める」。縁の形は scratchpad の生成器で作った） */
.collage{position:relative;background:#fff;overflow:hidden;padding:clamp(40px,5vw,72px) 0}
.collage__title{position:relative;z-index:4;text-align:center;font-family:var(--hand);font-size:clamp(44px,6.4vw,96px);line-height:1;letter-spacing:.02em;margin-bottom:clamp(-40px,-3vw,-20px)}
.collage__title span{display:inline-block}
.collage__title span:nth-child(1){color:var(--shu);rotate:-4deg}.collage__title span:nth-child(3){color:var(--ai);rotate:3deg}
.collage__stage{position:relative;width:100%;aspect-ratio:1440/820}
.ct{position:absolute;margin:0}
.ct img{width:100%;height:100%;object-fit:cover;display:block}
.ct__in{width:100%;height:100%;will-change:translate}
.ct--1{left:0%;top:0%;width:16%;height:23%}.ct--1 .ct__in{clip-path:polygon(3.6% 1.7%,28.9% 0.9%,60.3% 1.4%,92.8% 0.8%,90.9% 36.3%,94.5% 61.1%,94.1% 96.0%,62.1% 94.8%,26.5% 91.9%,0.6% 94.4%,0.0% 65.8%,1.2% 36.8%)}
.ct--2{left:17.5%;top:2%;width:21%;height:25%}.ct--2 .ct__in{clip-path:polygon(9.0% 2.0%,37.1% 3.9%,68.2% 5.3%,93.6% 7.0%,92.5% 27.3%,96.5% 47.2%,93.9% 67.9%,95.9% 94.0%,67.8% 97.0%,50.7% 99.6%,28.9% 97.2%,0.7% 99.3%,2.3% 79.1%,5.5% 56.0%,7.6% 23.2%)}
.ct--3{left:0%;top:26%;width:37%;height:74%}.ct--3 .ct__in{clip-path:polygon(9.6% 3.5%,32.3% 1.5%,53.3% 3.9%,72.4% 7.0%,92.4% 6.5%,91.9% 26.4%,90.0% 52.5%,91.2% 72.5%,93.6% 95.0%,65.6% 91.4%,39.5% 93.1%,9.2% 89.6%,11.7% 69.2%,9.1% 50.9%,12.0% 24.5%)}
.ct--4{left:40%;top:0%;width:25%;height:41%}.ct--4 .ct__in{clip-path:polygon(9.0% 9.5%,34.6% 9.1%,62.5% 8.6%,96.9% 4.6%,93.5% 30.7%,95.5% 60.9%,96.1% 90.3%,80.8% 89.3%,58.2% 96.7%,43.2% 96.8%,28.1% 99.1%,10.5% 98.3%,9.5% 77.4%,7.4% 63.9%,6.8% 43.6%,7.5% 31.9%)}
.ct--5{left:38.5%;top:43.5%;width:24%;height:25%}.ct--5 .ct__in{clip-path:polygon(1.8% 3.7%,35.7% 0.2%,64.0% 0.4%,99.4% 0.0%,96.7% 24.4%,100.0% 49.3%,97.4% 73.9%,98.3% 98.9%,71.4% 98.1%,38.1% 100.0%,4.0% 99.7%,1.4% 67.5%,1.5% 30.5%)}
.ct--6{left:37%;top:71%;width:27%;height:29%}.ct--6 .ct__in{clip-path:polygon(7.6% 10.1%,34.2% 6.1%,64.1% 5.5%,91.7% 3.3%,93.9% 19.2%,94.5% 47.1%,94.5% 64.2%,91.0% 82.6%,92.9% 99.0%,76.3% 99.5%,54.6% 98.7%,43.0% 94.2%,25.0% 94.2%,9.3% 94.3%,11.8% 72.5%,6.9% 62.0%,6.4% 46.5%,8.8% 29.9%)}
.ct--7{left:66%;top:5%;width:34%;height:49%}.ct--7 .ct__in{clip-path:polygon(9.9% 9.2%,29.4% 8.6%,40.6% 10.3%,59.1% 10.0%,82.6% 6.8%,94.7% 7.2%,91.1% 32.8%,96.3% 49.4%,92.9% 70.9%,91.2% 99.1%,67.1% 94.2%,45.9% 97.2%,26.7% 91.1%,7.3% 90.0%,4.7% 73.4%,9.9% 54.8%,10.3% 45.4%,12.4% 28.9%)}
.ct--8{left:65%;top:57%;width:14%;height:43%}.ct--8 .ct__in{clip-path:polygon(2.1% 9.6%,29.5% 9.1%,71.8% 5.5%,99.7% 2.3%,100.0% 19.3%,97.8% 38.1%,93.5% 56.1%,93.5% 73.1%,94.5% 91.6%,61.2% 90.2%,37.8% 93.9%,3.6% 94.0%,2.0% 65.3%,3.0% 37.6%)}
.ct--9{left:80.5%;top:58%;width:19.5%;height:34%}.ct--9 .ct__in{clip-path:polygon(8.6% 1.2%,36.4% 2.4%,65.5% 2.3%,93.8% 2.7%,94.4% 18.1%,95.2% 41.5%,95.8% 53.3%,99.2% 77.8%,97.0% 91.5%,74.4% 90.2%,61.0% 91.9%,43.3% 91.7%,22.0% 92.9%,5.6% 93.8%,8.5% 61.1%,5.5% 27.6%)}
@media (max-width:720px){.collage__stage{aspect-ratio:390/620}.ct--1{left:0;top:0;width:44%;height:20%}.ct--2{left:46%;top:2%;width:54%;height:22%}.ct--3{left:0;top:22%;width:62%;height:36%}.ct--4{left:64%;top:26%;width:36%;height:30%}.ct--5{left:0;top:60%;width:40%;height:18%}.ct--6{left:42%;top:58%;width:58%;height:22%}.ct--7{left:0;top:80%;width:52%;height:20%}.ct--8{left:54%;top:82%;width:22%;height:18%}.ct--9{left:78%;top:82%;width:22%;height:18%}}
/* 色紙を版画調に（インクのかすれ）。イラストを版画調にしたのに合わせる（2026-09-24） */
.kami,.ret__i,.tm__ph--none svg{filter:url(#grain)}
/* 一押し: 左下の絵が本文に重ならないよう、節の下に絵のぶんの余白を取る */
@media (min-width:901px){.oshi{padding-bottom:calc(var(--pad) + 120px)}.oshi__ill--3{bottom:24px}}

/* SPの表紙の出だしの修正（2026-09-24 水沼さん「SPのヒーローの最初のアニメーションがバグってる」）
   ① オープニングの一文が1行のまま画面からはみ出していた → 左右に余白、SPは2行
   ② 紙が飛ぶ途中で薄くなり、下の表紙と二重に透けていた → 薄くせず、紙のまま画面の外まで飛ばす（落ち影つき）
   ③ 表紙の主写真が「弾む登場」と「フェード」の二重で白っぽい時間が長かった → 1枚目はフェードなし（app.js） */
.opening__sub{padding-inline:24px}
.opening.is-2{box-shadow:0 30px 60px rgba(0,0,0,.18)}
.opening.is-3{opacity:1;transition:transform .6s cubic-bezier(.5,0,.8,.5);transform:translate(40vw,-140vh) rotate(-28deg);box-shadow:0 30px 60px rgba(0,0,0,.18)}
.fvsl img:first-child.is-on{transition:transform 6.5s linear}
@media (max-width:720px){
  .opening__sub{font-size:13px;letter-spacing:.08em;line-height:1.9}
  .fv__logo{font-size:12.5vw}
}
/* メモモードの入口: 表紙を見ている間は隠す（SPで表紙のコピーにかぶっていた） */
.memoenter{opacity:0;pointer-events:none;transition:opacity .3s}
.is-past-fv .memoenter{opacity:1;pointer-events:auto}
/* オープニングの安全策: JSが途中で止まる端末でも、4秒後にはCSSだけで消える */
.opening{animation:opgone 0s linear 4s forwards}
@keyframes opgone{to{visibility:hidden;pointer-events:none}}
@media (prefers-reduced-motion:reduce){.opening{display:none}}

/* =========================================================
   新田さんメモ（2026-09-27 反映）
   ========================================================= */
/* #31 表紙のタグラインで「お福分け」を強調 */
.fv__tag .fuku{color:var(--shu);font-weight:900;background:linear-gradient(transparent 64%,rgba(242,179,27,.55) 64%)}
/* #7 募集の見出しの右横に吹き出し */
.boshu__kw{position:relative;display:inline-block}
.bubble{position:absolute;right:-6px;top:-50px;background:#fff;color:var(--shu);font-weight:900;font-size:clamp(18px,1.8vw,24px);letter-spacing:.08em;padding:12px 22px;border-radius:999px;white-space:nowrap;box-shadow:0 10px 24px rgba(0,0,0,.18);--pr:8deg}
.bubble::after{content:"";position:absolute;right:28px;bottom:-9px;border:9px solid transparent;border-top-color:#fff;border-bottom:0}
.bubble.is-in{transform:rotate(8deg)}
@media (max-width:820px){.bubble{top:-44px}}
/* #15 一押しの節に「あなたも、福の神へ。」の募集ブロック（HAGAIの sougyou と同じ型） */
.sougyou{margin-top:clamp(56px,7vw,96px);padding-top:clamp(40px,5vw,64px);border-top:2px dashed rgba(31,28,25,.18)}
.sougyou__k{font-size:clamp(34px,4.6vw,62px);font-weight:900;letter-spacing:.08em;line-height:1.4}
.sougyou__k b{color:var(--shu)}
.sougyou__sub{margin-top:18px;font-size:clamp(17px,1.8vw,22px);font-weight:700;line-height:1.8;letter-spacing:.06em}
.sougyou__t{max-width:40em;margin:24px auto 0;font-size:15px;line-height:2.1;color:var(--ink-70)}
/* #19 参画枠は4つ */
.plans{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.plans{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.plans{grid-template-columns:1fr}}
.plan__p b{font-size:34px}
/* #27 OSUSO節の見出しにロゴ */
.eyebrow--osuso{align-items:center}
.eyebrow--osuso .osuso__mark{width:34px;height:auto;margin-left:4px}
/* #3-5 課題の4つの格差: 絵と文字に色をつける（色を抜く演出をやめる） */
.gap__ill,.gap--main .gap__ill{filter:none;opacity:1}
.gaps .gap:nth-child(1) .gap__k{color:var(--ai)}
.gaps .gap:nth-child(2) .gap__k{color:var(--yama)}
.gaps .gap:nth-child(4) .gap__k{color:var(--wakaba)}
/* #28 OSUSOメンバーはスマホで3列 */
@media (max-width:640px){.omem{grid-template-columns:repeat(3,1fr);gap:20px 10px}.omem__n{font-size:13px}.omem__nick{font-size:14px}.omem__r,.omem__c{font-size:10.5px}}
/* 動物イラストのテスト（2026-09-27）: 人物の絵より小さめに置く */
.turn__ill--animal{width:min(340px,62%)}
.yobina__ill img[src*="fuku_owl"]{max-width:320px;margin-inline:auto;display:block}
/* 参画枠の動物（メモ#20 #21 #23） */
.plan__ill{position:absolute;right:14px;top:14px;width:96px;height:80px;object-fit:contain;--pr:6deg}
@media (max-width:640px){.plan__ill{width:84px;height:70px}}
/* 動物イラスト差し替えに合わせた調整（2026-09-27）
   ① 黒い地の「体験」カードでは、絵の黒い部品が地に溶ける → 絵の後ろに生成りの丸を敷く
   ② 参画枠の動物が見出しにかぶる → 番号の行を動物の高さぶん確保し、見出しはその下から */
.gap--main .gap__ill{background:radial-gradient(closest-side,var(--paper) 92%,transparent 94%);border-radius:50%;padding:8px}
.plan__no{min-height:72px;display:flex;align-items:flex-start}
.plan__ill{top:18px;width:88px;height:72px}

/* ---------- 表紙の福ロゴ（新田さんメモ#55） ---------- */
.fv__fuku{display:block;width:clamp(84px,7.2vw,116px);height:auto;margin:clamp(-84px,-6.4vw,-58px) auto 10px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.14));rotate:-6deg;animation:fukusway 4.5s ease-in-out infinite}
@keyframes fukusway{0%,100%{rotate:-6deg}50%{rotate:5deg}}

/* ---------- 追従ボタン「福の神になる」（新田さんメモ#56） ---------- */
.fab{position:fixed;right:clamp(16px,2.4vw,32px);bottom:clamp(16px,2.4vw,28px);z-index:60;display:flex;align-items:center;gap:10px;padding:8px 26px 8px 8px;background:var(--shu);color:#fff;font-weight:900;font-size:16px;letter-spacing:.08em;line-height:1;border-radius:999px;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -3px 0 var(--shu-d),0 10px 22px rgba(0,0,0,.28);opacity:0;transform:translateY(24px) scale(.9);pointer-events:none;transition:opacity .35s ease,transform .6s var(--elastic)}
.fab img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:50%;padding:6px;animation:fabwiggle 3.4s ease-in-out infinite}
.fab::after{content:"";position:absolute;inset:0;border-radius:inherit;animation:fabpulse 2.4s ease-out infinite;pointer-events:none}
.is-past-fv .fab{opacity:1;transform:none;pointer-events:auto}
.is-past-fv .fab.is-hide{opacity:0;transform:translateY(24px) scale(.9);pointer-events:none}
@media (hover:hover){.is-past-fv .fab:not(.is-hide):hover{transform:translateY(-3px) scale(1.03)}}
.fab:active{transform:scale(.96)!important}
@keyframes fabwiggle{0%,68%,100%{rotate:0deg;scale:1}74%{rotate:-14deg;scale:1.08}80%{rotate:11deg}86%{rotate:-6deg}92%{rotate:3deg}}
@keyframes fabpulse{0%{box-shadow:0 0 0 0 rgba(226,70,44,.5)}75%,100%{box-shadow:0 0 0 16px rgba(226,70,44,0)}}
@media (max-width:720px){.fab{font-size:15px;padding-right:22px}.fab img{width:42px;height:42px}}
/* 2026-10-04 視差効果を減らす でも動かす（水沼さんのiPhoneはON・8/27決定 memory feedback_mobile_animation_reduced_motion）。この中の animation:none を外した。戻すなら _rm退避 の元ファイル */@media (prefers-reduced-motion:reduce){.fv__fuku,.fab img,.fab::after{}}

/* 体験カード: スマホは流れを速く（新田さんメモ#51） */
/* 流れる速さは app.js が距離から決める（1秒45px） */

/* OSUSOの節: スマホで見出しを1行に・リーダー100のロゴを小さく（新田さんメモ#53） */
@media (max-width:720px){
  .eyebrow--osuso{flex-wrap:nowrap;gap:8px;font-size:12px;letter-spacing:.06em;white-space:nowrap}
  .eyebrow--osuso .hand{font-size:24px}
  .eyebrow--osuso .osuso__mark{width:26px}
  .osuso__logo img{max-width:220px}
}

/* 100人の枠: 狭いスマホでは説明を数字の下に（「30／人。」の折り返し対策・新田さんメモ#48） */
.boshu__bs .nb{white-space:nowrap}
/* 新田さんメモ#58: スマホでも100人の右隣に置く（狭い幅は数字と余白を少し詰めて収める） */
@media (max-width:440px){.boshu__box{padding:22px 20px;gap:4px 14px}.boshu__bn{font-size:58px}.boshu__bs{font-size:13px}}

/* 新田さんメモ#57: スマホの表紙で福ロゴと写真の間に余白を */
@media (max-width:720px){.fv__fuku{width:84px;margin:28px auto 12px}}

/* 新田さんメモ#73: スマホで100人の枠の中身を中央に（右が空いてバランスが悪かった） */
@media (max-width:720px){.boshu__box{grid-template-columns:auto auto;justify-content:center}.boshu__bl{text-align:center}}
