/* 田んぼ倶楽部 v2 — 骨格は kusumusubi.jp を採寸（_競合分析_v2.md）
   2026-10-02 PCは全幅（新田さん「左の固定のやつを無くしたい」）。スマホはそのまま
   2026-10-03 v1の全節を移植・キャラ（kome-1〜8・おにぎり）を散りばめ・テイスト確認の帯を撤去 */
:root{
  --ink:#000;
  --kinari:#faf9f5;
  --linen:#f8f7f3;
  --btn:#e8e5da;
  --line:#d6d6d6;
  --ao:#006994;
  --sumi:#1f2c32;          /* memo.css 用 */
  --shu:#c8321e;           /* memo.css 用 */
  --ink-2:#555;
  --hd:75px;
  --go:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;
  --en:"Roboto",sans-serif;
  --ease:cubic-bezier(.445,.05,.55,.95);
  --flip:cubic-bezier(.4,.4,0,1);
  --yama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 120' preserveAspectRatio='none'%3E%3Cpath d='M0 120 L0 92 C70 70 150 40 250 22 C330 8 390 2 450 6 C540 12 610 40 668 70 C690 82 706 92 720 98 L720 120Z'/%3E%3C/svg%3E");
  --noren:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 120' preserveAspectRatio='none'%3E%3Cpath d='M0 0H98V104Q98 114 89 114Q49 118 9 115Q0 114 0 104Z M102 0H198V106Q198 115 189 115Q150 119 111 116Q102 115 102 106Z M202 0H300V105Q300 114 291 114Q251 117 211 115Q202 114 202 105Z'/%3E%3C/svg%3E");
  --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:140px}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--go);font-weight:500;font-size:16px;line-height:2;letter-spacing:.02em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
p,h1,h2,h3,h4,ul,ol,dl,dd,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
em{font-style:normal}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.nw,.nb{display:inline-block}
.sp{display:none}
.vh{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 上端のループ（屋号が左へ流れ続ける） */
.loop{position:fixed;left:0;right:0;top:0;height:var(--hd);overflow:hidden;z-index:30;pointer-events:none}
.loop__run{display:flex;width:max-content;animation:loop 60s linear infinite}
.loop span{font-weight:900;font-size:66px;line-height:var(--hd);letter-spacing:.06em;padding-right:.9em;white-space:nowrap}
@keyframes loop{to{transform:translateX(-50%)}}

/* ===== ヘッダー ===== */
.sphd{position:fixed;left:0;right:0;top:var(--hd);z-index:25;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 48px;pointer-events:none;
      background:linear-gradient(#fff 70%,rgba(255,255,255,0))}
.sphd__logo,.sphd__nav,.sphd__cta,.sphd__menu{pointer-events:auto}
.sphd__logo img{width:150px}
.sphd__nav{display:flex;gap:32px;font-weight:700;font-size:15px;letter-spacing:.1em;margin-left:auto}
.sphd__nav a{position:relative;padding-left:20px}
.sphd__nav a::before{content:"";position:absolute;left:0;top:50%;width:12px;height:1px;background:var(--ink)}
.sphd__nav a:hover{opacity:.55}
.sphd__menu{display:none}
.spnav{position:fixed;inset:0;z-index:24;background:var(--kinari);padding:150px 40px 40px;overflow:auto}
.spnav nav{display:flex;flex-direction:column;gap:22px;font-weight:700;font-size:20px;letter-spacing:.1em}
.spnav nav a{position:relative;padding-left:26px}
.spnav nav a::before{content:"";position:absolute;left:0;top:50%;width:14px;height:1px;background:var(--ink)}
.spnav__logo{width:180px;margin-top:56px}

/* ===== ピル型ボタン（地 #e8e5da・右端に黒丸＋白矢印・ホバーで反転） ===== */
.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-width:240px;height:52px;padding:4px 4px 4px 28px;border-radius:9999px;background:var(--btn);color:var(--ink);font-weight:700;font-size:15px;line-height:1.4;letter-spacing:.06em;transition:background .3s var(--flip),color .3s var(--flip)}
.pill i{flex:none;position:relative;width:44px;height:44px;border-radius:50%;background:var(--ink);transition:background .3s var(--flip)}
.pill i::before{content:"";position:absolute;inset:0;background:#fff;-webkit-mask:var(--arrow) center/18px no-repeat;mask:var(--arrow) center/18px no-repeat;transition:background .3s var(--flip)}
.pill:hover{background:var(--ink);color:#fafafa}
.pill:hover i{background:#fff}
.pill:hover i::before{background:var(--ink)}
.pill--sm{min-width:0;height:44px;padding-left:20px;gap:12px;font-size:13px}
.pill--sm i{width:36px;height:36px}
.spbar{display:none}

/* ===== FV ===== */
.col{position:relative;background:#fff}
.fv{position:relative;max-width:1200px;margin:0 auto;padding:200px 48px 80px;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.fv__plate{grid-column:1;grid-row:1;position:relative;width:min(600px,100%);aspect-ratio:1;border-radius:50%;overflow:hidden}
.fv__plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s var(--flip)}
.fv__plate img.is-on{opacity:1}
.fv__catch{grid-column:2;grid-row:1;justify-self:center;display:flex;flex-direction:row-reverse;align-items:flex-start;font-weight:700;font-size:44px;line-height:1.5;letter-spacing:.05em;margin:0}
.fv__catch span{writing-mode:vertical-rl;white-space:nowrap;background:#fff;border:1px solid var(--ink);padding:18px 8px}
.fv__catch span + span{margin-right:-1px}
.fv__catch span:nth-child(2){margin-top:44px}
.fv__catch span:nth-child(3){margin-top:22px}
.fv__area{position:relative;grid-column:1/-1;display:grid;grid-template-columns:1fr 240px;gap:24px;align-items:end;margin-top:72px}
.fv__k{font-family:var(--en);font-size:28px;line-height:1;letter-spacing:.02em;margin-bottom:16px}
.fv__k span{font-family:var(--go);font-weight:700;font-size:14px;margin-left:10px}
.fv__t{font-size:15px;line-height:1.75;max-width:440px}
.fv__map{width:240px}
.fv__walk{position:absolute;right:300px;bottom:-6px;display:flex;gap:6px;align-items:flex-end}
.fv__walk img{height:110px;width:auto;animation:jitter 2.6s steps(1) infinite;transform-origin:50% 100%}
.fv__walk img:nth-child(2){height:100px;animation-delay:1.1s}

/* ===== 共通の節 ===== */
.wrap{max-width:1200px;margin:0 auto;padding:0 48px}
.s{padding:140px 0}
.s--white{background:#fff}
.s--kinari{background:var(--kinari)}
.sec__head{display:flex;align-items:flex-start;gap:40px;margin-bottom:64px}
.h2{font-weight:700;font-size:40px;line-height:1.45;letter-spacing:.06em}
.h3{font-weight:700;font-size:26px;line-height:1.5;letter-spacing:.04em}
.h4{font-weight:700;font-size:18px;line-height:1.5;letter-spacing:.04em}
.lead{font-size:18px;line-height:2;font-weight:700}
.src,.cap-sm{font-size:12px;line-height:1.8;color:var(--ink-2);margin-top:14px}
.shu{font-weight:900}
.num{font-family:var(--en);font-weight:500;font-size:1.5em;line-height:1;letter-spacing:0;margin:0 .06em}
.subh{font-weight:700;font-size:22px;line-height:1.5;letter-spacing:.08em;margin:96px 0 28px;padding-top:24px;border-top:1px solid var(--ink)}

/* 節ラベル（縦書き・日本語＋小さな英字。SPは横） */
.lbl{writing-mode:vertical-rl;display:flex;gap:8px;align-items:flex-start;line-height:1;flex:none}
.lbl span{font-weight:700;font-size:20px;letter-spacing:.05em;white-space:nowrap}
.lbl em{font-family:var(--en);font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.lbl--yoko{writing-mode:horizontal-tb;align-items:baseline;gap:12px}
.lbl--en em{font-size:12px;letter-spacing:.2em}
.lbl--w{color:#fff}

/* キャラクター（コマ撮り風に一瞬動いて止まる。1体ずつ遅らせる） */
@keyframes jitter{0%,82%,100%{transform:rotate(0)}86%{transform:rotate(-5deg)}90%{transform:rotate(4deg)}94%{transform:rotate(-2deg)}}
.ch{flex:none;width:auto;height:120px;animation:jitter 3.2s steps(1) infinite;animation-delay:var(--d,0s);transform-origin:50% 100%;pointer-events:none}
.ch--hd{height:130px;margin-left:auto;align-self:flex-end}
.ch--side{height:140px}
.ch--sub{height:96px}
.walk{display:flex;justify-content:center;align-items:flex-end;gap:28px;margin-top:56px}
.walk .ch{height:112px}
.walk .ch--s{height:88px}
.walk--l{justify-content:flex-start;margin-top:40px}

/* ===== 想い（写真の下端に手描きの山型＋縦書き） ===== */
.concept{background:#fff}
.concept__ph{position:relative;height:620px;overflow:hidden}
.concept__ph img{width:100%;height:100%;object-fit:cover}
.concept__ph::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-1px;height:120px;background:#fff;-webkit-mask:var(--yama) center/100% 100% no-repeat;mask:var(--yama) center/100% 100% no-repeat}
.concept__body{display:grid;grid-template-columns:1fr auto;gap:96px;padding:40px 0 160px;align-items:start}
.concept__tate{grid-column:2;grid-row:1;display:flex;flex-direction:row-reverse;gap:44px;align-items:flex-start}
.concept__h{writing-mode:vertical-rl;font-weight:700;font-size:44px;line-height:1.4;letter-spacing:.15em}
.concept__t{writing-mode:vertical-rl;font-size:17px;line-height:2.1;letter-spacing:.06em}
.concept__t p{margin-left:.4em}
.concept__yoko{grid-column:1;grid-row:1;max-width:560px;padding-top:24px}
.concept__yoko > p{margin-top:20px}
.quote{margin-bottom:36px}
.quote p{font-weight:700;font-size:30px;line-height:1.6;letter-spacing:.08em}
.quote cite{display:block;margin-top:12px;font-style:normal;font-size:12px;color:var(--ink-2)}
.concept__foot{display:flex;align-items:flex-end;gap:32px;margin-top:48px}
.event{max-width:360px}
.event img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;width:100%}
.event figcaption{font-size:12px;color:var(--ink-2);margin-top:8px;line-height:1.6}

/* ===== 代表のあゆみ ===== */
.ayumi{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
.ayumi__ph{position:relative;margin-bottom:40px}
.ayumi__ph img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:200px 200px 12px 12px}
.nafuda{display:inline-flex;flex-direction:column;gap:2px;background:var(--ink);color:#fff;padding:14px 20px;line-height:1.5}
.ayumi__ph .nafuda{position:absolute;right:-20px;bottom:-28px}
.nafuda span{font-size:12px;letter-spacing:.06em}
.nafuda .nafuda__name,.nafuda strong{font-size:20px;font-weight:700;letter-spacing:.12em}
.ayumi__lead{font-size:17px;line-height:2.1}
.nenpyo{margin-top:48px;border-top:1px solid var(--ink)}
.nenpyo li{display:grid;grid-template-columns:88px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.8}
.nenpyo__y{font-family:var(--en);font-size:20px;line-height:1.4}
.nenpyo strong{font-weight:700}
.nenpyo small{display:block;font-size:12px;color:var(--ink-2);margin-top:4px}
.nenpyo__now{background:var(--kinari)}
.nenpyo__now .nenpyo__y{padding-left:10px}

/* ===== 転換（全幅写真＋縦書きの短冊） ===== */
.band{position:relative;height:720px;overflow:hidden}
.band__ph{width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-1px;height:110px;background:var(--kinari);-webkit-mask:var(--yama) center/100% 100% no-repeat;mask:var(--yama) center/100% 100% no-repeat}
.band__tanzaku{position:absolute;right:12%;top:90px;display:flex;flex-direction:row-reverse;align-items:flex-start;font-weight:700;font-size:32px;line-height:1.5;letter-spacing:.08em}
.band__tanzaku p{writing-mode:vertical-rl;white-space:nowrap;background:#fff;border:1px solid var(--ink);padding:16px 8px}
.band__tanzaku p + p{margin-right:-1px}
.band__tanzaku p:nth-child(2){margin-top:48px}
.band__tanzaku p:nth-child(3){margin-top:20px}

/* ===== 向き合う課題 ===== */
.kadai{border-top:1px solid var(--ink)}
.kadai__row{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:48px 0;border-bottom:1px solid var(--line)}
.kadai__label{font-weight:700;font-size:44px;line-height:1.2;letter-spacing:.1em}
.kadai__body > p{margin-top:16px}
.kadai__close{display:flex;align-items:flex-end;justify-content:center;gap:48px;margin-top:96px}
.kadai__big{font-weight:700;font-size:36px;line-height:1.7;letter-spacing:.08em;text-align:center}

/* ===== 現場の声 ===== */
.voice{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
.voice__ph img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:200px 0 12px 12px}
.voice__ph .nafuda{margin-top:-36px;margin-left:24px;position:relative}
.voice__lead{font-size:17px;line-height:2.1}
.voice__q{margin:36px 0;padding:32px 36px;background:var(--kinari);border-radius:12px}
.voice__q p{font-weight:700;font-size:20px;line-height:1.9;letter-spacing:.04em}
.voice__body > p + p{margin-top:16px}

/* ===== 自分ごと化 ===== */
.turn{padding:160px 0 120px;text-align:center;background:#fff}
.turn__s{font-size:20px;letter-spacing:.12em}
.turn__l{margin-top:12px;font-weight:700;font-size:52px;line-height:1.5;letter-spacing:.1em}

/* ===== 募集（下端が暖簾形） ===== */
.boshu{text-align:center}
.boshu .lbl{justify-content:center}
.boshu__h{margin-top:20px;font-weight:900;font-size:68px;line-height:1.3;letter-spacing:.06em}
.boshu__lead{margin-top:20px;font-size:18px;font-weight:700}
.boshu__row{display:flex;justify-content:center;align-items:flex-end;gap:40px;margin-top:48px}
.boshu__box{background:#fff;border-radius:12px;padding:32px 48px;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.boshu__label{font-size:14px;font-weight:700;letter-spacing:.14em}
.boshu__num{font-weight:700;font-size:28px;line-height:1.4;margin:6px 0}
.boshu__num .num{font-size:2.2em}
.boshu__note{font-size:15px}
.boshu__ph{margin-top:72px}
.boshu__ph img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:12px 12px 0 0;
  -webkit-mask:linear-gradient(#000,#000) top/100% calc(100% - 119px) no-repeat,var(--noren) bottom/100% 120px no-repeat;
          mask:linear-gradient(#000,#000) top/100% calc(100% - 119px) no-repeat,var(--noren) bottom/100% 120px no-repeat}
#boshu{padding-bottom:120px}

/* ===== 田んぼ倶楽部とは（巨大1文字＋片側だけ大きく丸めた写真） ===== */
.feat{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center}
.feat__ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.feat__ph--r img,.chap__ph--r img{border-radius:0 200px 20px 0}
.feat__ph--l img,.chap__ph--l img{border-radius:200px 0 0 20px}
.big{font-weight:500;font-size:172.8px;line-height:1;letter-spacing:0}
.big::before{content:attr(data-big)}
.big::after{content:"";display:block;width:1px;height:50px;background:var(--ink);margin:18px 0 0 .3em}
.feat .lead{margin-top:24px}
.steps3{margin-top:32px;counter-reset:st;border-top:1px solid var(--ink)}
.steps3 li{counter-increment:st;display:grid;grid-template-columns:56px 1fr;column-gap:8px;padding:20px 0;border-bottom:1px solid var(--line)}
.steps3 li::before{content:counter(st,decimal-leading-zero);font-family:var(--en);font-size:22px;line-height:1.4;grid-row:1/3}
.steps3 h3{font-size:18px;font-weight:700;line-height:1.5}
.steps3 p{font-size:15px;line-height:1.9;margin-top:4px}

/* ===== 田んぼ投資家とは ===== */
.toushika{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.toushika .sec__head{margin-bottom:0}
.toushika__t p{font-size:17px;line-height:2.1}
.toushika__t p + p{margin-top:20px}

/* ===== カード（kusumusubiの商品カード: 白・角丸12・薄影） ===== */
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.2);padding:12px 12px 24px}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.card .h4{margin:18px 8px 8px}
.card p{margin:0 8px;font-size:14px;line-height:1.9}

/* ===== 柱3章（章扉＝巨大1文字） ===== */
.chap{padding:140px 0;background:#fff}
.chap.s--kinari{background:var(--kinari)}
.chap__head{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;margin-bottom:96px}
.chap__ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.chap--rev .chap__ph{order:2}
.chap__title{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:56px}
.chap__title .big{grid-column:1;grid-row:1}
.chap__title .ch{grid-column:2;grid-row:1;align-self:end;justify-self:start;margin-bottom:60px}
.chap__kanji{grid-column:1/-1;margin-top:20px;font-weight:700;font-size:20px;letter-spacing:.2em;line-height:1.4}
.chap__sub{grid-column:1/-1;font-weight:700;font-size:30px;line-height:1.5;letter-spacing:.06em;margin-top:6px;word-break:keep-all;overflow-wrap:anywhere}
.junkan{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.junkan li{position:relative;background:var(--kinari);border-radius:12px;padding:28px 24px}
.chap.s--kinari .junkan li{background:#fff}
.junkan li + li::before{content:"";position:absolute;left:-30px;top:50%;width:20px;height:20px;transform:translateY(-50%);background:var(--ink);-webkit-mask:var(--arrow) center/20px no-repeat;mask:var(--arrow) center/20px no-repeat}
.junkan__who{display:inline-block;background:var(--ink);color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;padding:2px 14px;border-radius:9999px;line-height:1.8}
.junkan p{margin-top:14px;font-size:15px;line-height:1.9}
.junkan strong{font-weight:900}
.chap__note{margin-top:40px;text-align:center;font-size:15px}
.kenko{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:start}
.kenko__list{border-top:1px solid var(--ink)}
.kenko__list li{padding:24px 0;border-bottom:1px solid var(--line)}
.kenko__list p{margin-top:6px;font-size:15px;line-height:1.9}
.kenko__ph img{border-radius:12px;width:100%}
.kenko__ph figcaption{font-size:12px;color:var(--ink-2);margin-top:8px}
.gohou{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.gohou li{border-top:1px solid var(--ink);padding-top:20px}
.gohou p{margin-top:8px;font-size:14px;line-height:1.9}

/* ===== 提携農家 ===== */
.nouka{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 32px}
.nouka img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
.nouka__area{margin-top:16px;font-size:12px;letter-spacing:.06em;color:var(--ink-2)}
.nouka h3{font-weight:700;font-size:22px;letter-spacing:.12em;line-height:1.5}
.nouka__org{font-size:13px;line-height:1.6}
.nouka__org + p{margin-top:10px;font-size:14px;line-height:1.9}

/* ===== ロードマップ ===== */
.road{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid var(--ink);position:relative}
.road li{position:relative;padding-top:36px}
.road li::before{content:"";position:absolute;left:0;top:-7px;width:13px;height:13px;border-radius:50%;background:var(--ink)}
.road__y{font-family:var(--en);font-size:44px;line-height:1;margin-bottom:12px}
.road .h4 + p{margin-top:8px;font-size:14px;line-height:1.9}
.road strong{font-weight:900}
.road__goal{background:#fff;border-radius:12px;padding:36px 24px 28px!important;margin-top:-1px}
.road__goal::before{left:24px!important}
.road__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:24px}

/* ===== 未来（全幅写真） ===== */
.mirai{position:relative;overflow:hidden;color:#fff;background:#222}
.mirai__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mirai::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.18))}
.mirai__in{position:relative;z-index:1;padding-top:180px;padding-bottom:180px}
.mirai__h{margin-top:20px;font-weight:700;font-size:44px;line-height:1.5;letter-spacing:.08em}
.mirai__in > p:last-child{margin-top:28px;max-width:600px;font-size:16px;line-height:2.1}

/* ===== 参画後の流れ ===== */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;counter-reset:fl}
.flow li{counter-increment:fl}
.flow li::before{content:counter(fl,decimal-leading-zero);display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--en);font-size:18px;margin-bottom:18px}
.flow .h4 + p{margin-top:8px;font-size:14px;line-height:1.9}
.flow__end{margin-top:48px;text-align:center;font-size:15px;padding:18px;background:var(--kinari);border-radius:9999px}

/* ===== 参画プラン ===== */
.plan__logo{width:180px;margin-bottom:18px}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.plans__card{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.2);padding:32px 24px;text-align:center;display:flex;flex-direction:column}
.plans__card--sp{box-shadow:none;border:1px solid var(--ink)}
.plans__name{font-weight:700;font-size:17px;line-height:1.6;letter-spacing:.04em}
.plans__price{margin-top:18px;font-weight:700;font-size:16px;line-height:1.2}
.plans__price em{font-family:var(--en);font-weight:500;font-size:56px;letter-spacing:0;margin-right:2px}
.plans__year{margin-top:8px;font-size:13px;color:var(--ink-2)}
.plans__kan{margin-top:auto;padding-top:18px;border-top:1px dotted var(--ink);font-weight:700;font-size:15px;line-height:1.7;margin-top:20px}
.plans__kan span{display:block;font-family:var(--en);font-weight:500;font-size:13px}
.plan__subrow{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:96px 0 0;padding-top:24px;border-top:1px solid var(--ink)}
.plan__subrow .subh{margin:0;padding:0;border:0}
.ret{margin-top:20px;border-top:1px solid var(--line)}
.ret li{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.ret h4{font-weight:700;font-size:18px;line-height:1.5}
.ret h4 + p{font-size:14px;line-height:1.9;margin-top:4px}
.ret__who{font-size:12px;font-weight:700;background:var(--btn);border-radius:9999px;padding:4px 16px;white-space:nowrap;line-height:1.6}

/* ===== 名前が残る ===== */
.namae{display:grid;grid-template-columns:7fr 4fr;gap:48px;align-items:end}
.namae__main img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0 200px 20px 0}
.namae__sub img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px}
.namae figcaption{font-size:13px;line-height:1.7;margin-top:10px;color:var(--ink-2)}

/* ===== お金の使いみち ===== */
.okane{border-top:1px solid var(--ink)}
.okane li{display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}
.okane__pct{font-family:var(--en);font-size:28px;line-height:1}
.okane__pct .num{font-size:3em}
.okane .h4 + p{margin-top:6px;font-size:15px;line-height:1.9}
.acct{margin-top:72px;background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.2);padding:40px 44px}
.acct__t{font-weight:700;font-size:22px;letter-spacing:.08em;margin-bottom:16px}
.acct__dl{border-top:1px solid var(--ink)}
.acct__dl > div{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.acct__dl dt{font-weight:700;font-size:15px}
.acct__dl dd{font-size:15px;line-height:1.9}
.acct__dl dd b{display:block;font-weight:900;font-size:24px;line-height:1.5}
.acct__dl dd span{display:block;margin-top:6px;font-size:13px;color:var(--ink-2)}

/* ===== 実績 ===== */
.taiken{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.taiken img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
.media{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.media figure{height:260px;background:var(--kinari);border-radius:12px;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden}
.media figure img{width:auto;height:auto;max-width:100%;max-height:228px;object-fit:contain}
.media p{margin-top:12px;font-size:14px;line-height:1.7}
.media strong{display:block;font-weight:700}

/* ===== 支える人たち ===== */
.people{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 24px}
.people--amb{grid-template-columns:repeat(6,1fr)}
.people img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
.people__role{margin-top:12px;font-size:12px;line-height:1.6;color:var(--ink-2)}
.people h4{font-weight:700;font-size:18px;letter-spacing:.1em;line-height:1.6}
.people h4 + p{font-size:13px;line-height:1.7}

/* ===== OSUSOとの連携 ===== */
.osuso__mark{width:44px;height:auto;margin-bottom:14px}
.osuso{display:grid;grid-template-columns:320px 1fr;gap:64px;align-items:center}
.osuso__logo{width:100%;height:auto}
.osuso__txt p + p{margin-top:16px}
.osuso__catch{font-weight:700;font-size:22px;line-height:1.8;letter-spacing:.06em}
.pwall__lead{margin-top:-12px;font-weight:700;font-size:16px;line-height:1.8}
.pwall__note{margin-top:6px;font-size:15px;line-height:1.8;color:var(--ink-2)}
/* OSUSOに賛同する企業のロゴ帯。★loading=lazyにしない（流れてきた時に白く抜ける）。_素材/make_partner_logos.py で生成 */
.plogo{margin:44px calc(50% - 50vw) 0;overflow:hidden;display:grid;gap:30px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.plogo__run{display:flex;width:max-content;animation:loop var(--d) linear infinite;will-change:transform}
.plogo__run--rev{animation-direction:reverse}
.plogo:not(.is-run) .plogo__run{animation-play-state:paused}
.plogo ul{flex:none;display:flex;align-items:center;gap:56px;padding:0 56px 0 0;margin:0;list-style:none}
.plogo li{flex:none}
.plogo img{display:block;width:auto;height:calc(var(--h)*1px);max-width:none}
@media (hover:hover){.plogo:hover .plogo__run{animation-play-state:paused}}
@media (max-width:767px){
  .plogo{margin-top:32px;gap:20px}
  .plogo ul{gap:40px;padding-right:40px}
  .plogo img{height:calc(var(--h)*.76px)}
}
.l100{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px}
.lc{background:var(--kinari);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.lc__v img{width:100%;aspect-ratio:16/9;object-fit:cover}
.lc__b{position:relative;padding:16px 16px 20px;display:flex;flex-direction:column;gap:10px}
.lc__name{font-weight:700;font-size:17px;letter-spacing:.06em;line-height:1.5;padding-right:48px}
.lc__hd{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center}
.lc__face{width:40px;height:40px;border-radius:50%;object-fit:cover}
.lc__person{font-size:12px;font-weight:700;line-height:1.5}
.lc__org{font-size:11px;color:var(--ink-2);line-height:1.5}
.lc__logo{position:absolute;top:12px;right:12px;width:36px;height:36px;object-fit:contain}
.lc__lead{font-size:13px;line-height:1.8}
.lc__tags{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11px;color:var(--ink-2);line-height:1.6}
.omem{display:grid;grid-template-columns:repeat(6,1fr);gap:40px 20px;text-align:center}
.omem__ph img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 12px}
.omem__nick{font-size:11px;letter-spacing:.08em;color:var(--ink-2);line-height:1.6}
.omem__n{font-weight:700;font-size:17px;letter-spacing:.12em;margin:2px 0;line-height:1.6}
.omem__r{font-size:12px;color:var(--ink-2);line-height:1.6}
.omem__c{margin-top:8px;font-size:12px;line-height:1.7;text-align:left}
.osclose{margin-top:96px;text-align:center;font-weight:700;font-size:28px;letter-spacing:.12em}
.osuso .walk,#osuso .walk{margin-top:32px}
.outlink{margin-top:32px;text-align:center}

/* ===== CTA ===== */
.cta{padding:160px 0 120px;background:var(--kinari);text-align:center}
.cta__s{font-size:18px;letter-spacing:.12em}
.cta__l{margin:14px 0 40px;font-weight:700;font-size:44px;line-height:1.6;letter-spacing:.08em}

/* ===== 参画のお申し込み ===== */
.qr{display:grid;grid-template-columns:240px 1fr;gap:64px;align-items:center;max-width:960px}
.qr__code{background:#fff;padding:16px;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.qr__code img{width:100%}
.qr__h{font-weight:700;font-size:28px;letter-spacing:.06em;line-height:1.5;margin-bottom:14px}
.qr__b > p + p{margin-top:24px}
.qr__note{margin-top:32px;border-top:1px solid var(--line)}
.qr__note li{position:relative;padding:12px 0 12px 20px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.8}
.qr__note li::before{content:"";position:absolute;left:0;top:25px;width:10px;height:1px;background:var(--ink)}

/* ===== フッター ===== */
.ft{background:var(--kinari);border-radius:20px 20px 0 0;padding:56px 48px 44px;margin-top:0}
.walk--ft{max-width:1104px;margin:0 auto 32px;justify-content:flex-end}
.ft__in{max-width:1104px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:56px;align-items:start}
.ft__logo img{width:180px}
.ft__co{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:13px;line-height:1.8}
.ft__co dt{color:var(--ink-2)}
.ft__by{font-family:var(--en);font-size:13px;letter-spacing:.12em}
.ft__copy{text-align:center;font-size:11px;color:#b0b0b0;margin-top:48px}

/* 出現: 透明から現れるだけ（移動なし） */
.fade{opacity:0;transition:opacity .8s var(--ease) .4s}
.fade.is-in{opacity:1}
/* キャラ・屋号ループ・写真切替は「視差効果を減らす」でも動かす（2026-08-27 水沼さん決定・memory feedback_mobile_animation_reduced_motion）。端末設定を尊重に戻すなら次の行のコメントを外す */
/* @media (prefers-reduced-motion:reduce){.loop__run,.ch,.fv__walk img{animation:none}} */

/* ===== 中間幅（タブレット・小さめPC） ===== */
@media (max-width:1180px) and (min-width:901px){
  .sphd__nav{gap:22px;font-size:14px}
  .svc,.plans{grid-template-columns:repeat(2,1fr)}
  .gohou{grid-template-columns:repeat(3,1fr)}
  .l100{grid-template-columns:repeat(3,1fr)}
  .omem{grid-template-columns:repeat(4,1fr)}
  .people--amb{grid-template-columns:repeat(3,1fr)}
}

/* ===== スマホ（〜900px）: 1列。ラベル・見出しは横書き ===== */
@media (max-width:900px){
  :root{--hd:43px}
  html{scroll-padding-top:110px}
  .loop span{font-size:36px}
  .sphd{padding:10px 18px;background:none;align-items:flex-start}
  .sphd__logo img{width:96px}
  .sphd__nav,.sphd__cta{display:none}
  .sphd__menu{display:flex;width:56px;height:52px;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:#fff;border:0;padding:0;cursor:pointer;border-radius:48% 48% 40% 40% / 60% 60% 36% 36%;box-shadow:0 1px 2px rgba(0,0,0,.15)}
  .sphd__menu span{width:20px;height:2px;background:var(--ink);transition:transform .3s var(--flip),opacity .3s}
  .sphd__menu[aria-expanded="true"]{background:var(--ink)}
  .sphd__menu[aria-expanded="true"] span{background:#fff}
  .sphd__menu[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .sphd__menu[aria-expanded="true"] span:nth-child(2){opacity:0}
  .sphd__menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .spbar{display:flex;position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:40;width:calc(100% - 48px);max-width:360px;box-shadow:0 2px 10px rgba(0,0,0,.18);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  .spbar.is-on{opacity:1;visibility:visible}

  .fv{display:block;padding:150px 30px 56px}
  .fv__plate{width:100%;max-width:330px;margin:120px auto 0}
  .fv__catch{position:absolute;right:24px;top:118px;font-size:20px}
  .fv__catch span{padding:10px 4px}
  .fv__area{grid-template-columns:1fr 110px;margin-top:84px}
  .fv__t{font-size:13px;max-width:190px}
  .fv__map{width:110px}
  .fv__walk{right:118px;bottom:auto;top:-70px}
  .fv__walk img{height:58px}
  .fv__walk img:nth-child(2){height:52px}

  .wrap{padding:0 30px}
  .s,.chap{padding:96px 0}
  .h2{font-size:26px;line-height:1.55;letter-spacing:.04em}
  .h3{font-size:20px}
  .lead{font-size:16px}
  .subh{font-size:18px;margin-top:64px}
  .sec__head{display:grid;grid-template-columns:1fr auto;gap:16px 12px;align-items:end;margin-bottom:40px}
  .sec__head > .lbl{grid-column:1;grid-row:1;align-self:end}
  .sec__head > .ch{grid-column:2;grid-row:1;margin:0}
  .sec__head > :not(.lbl):not(.ch){grid-column:1/-1;grid-row:2}
  .lbl{writing-mode:horizontal-tb;align-items:baseline;gap:10px;flex-wrap:wrap}
  .lbl span{font-size:18px;white-space:normal}
  .ch{height:84px}
  .ch--hd{height:76px}
  .ch--side{height:90px}
  .ch--sub{height:68px}
  .walk{margin-top:40px;gap:18px}
  .walk .ch{height:80px}
  .walk .ch--s{height:64px}

  .concept__ph{height:420px}
  .concept__body{display:block;padding:10px 0 100px}
  .concept__tate{display:block}
  .concept__h{writing-mode:horizontal-tb;font-size:30px;letter-spacing:.08em;margin-top:18px}
  .concept__t{writing-mode:horizontal-tb;font-size:15px;line-height:2.2;margin-top:20px}
  .concept__t p{margin:0}
  .concept__yoko{max-width:none;padding-top:44px}
  .quote p{font-size:22px}
  .concept__foot{gap:16px}
  .event{flex:1;min-width:0}

  .ayumi,.voice,.feat,.toushika,.kenko,.namae,.osuso,.qr{grid-template-columns:1fr;gap:48px}
  .ayumi__ph{margin-right:20px}
  .ayumi__ph img{border-radius:120px 120px 12px 12px}
  .ayumi__lead,.voice__lead,.toushika__t p{font-size:15px}
  .nenpyo li{grid-template-columns:64px 1fr;font-size:14px}
  .nenpyo__y{font-size:17px}

  .band{height:520px}
  .band::after{height:70px}
  .band__tanzaku{right:24px;top:56px;font-size:20px}
  .band__tanzaku p{padding:10px 4px}

  .kadai__row{grid-template-columns:1fr;gap:12px;padding:36px 0}
  .kadai__label{font-size:30px}
  .kadai__close{flex-direction:column;align-items:center;gap:24px;margin-top:64px}
  .kadai__big{font-size:22px}

  .voice__ph img{border-radius:120px 0 12px 12px}
  .voice__q{padding:24px}
  .voice__q p{font-size:17px}

  .turn{padding:110px 0 90px}
  .turn__s{font-size:16px}
  .turn__l{font-size:30px}

  .boshu__h{font-size:38px}
  .boshu__lead{font-size:15px}
  .boshu__row{flex-direction:column;align-items:center;gap:24px}
  .boshu__box{padding:24px 24px}
  .boshu__ph{margin-top:48px}
  .boshu__ph img{aspect-ratio:4/3;-webkit-mask-size:100% calc(100% - 59px),100% 60px;mask-size:100% calc(100% - 59px),100% 60px}
  #boshu{padding-bottom:80px}

  .feat__ph--r img,.chap__ph--r img,.namae__main img{border-radius:0 120px 20px 0}
  .feat__ph--l img,.chap__ph--l img{border-radius:120px 0 0 20px}
  .big{font-size:109px}
  .big::after{height:36px;margin-top:12px}

  .svc{grid-template-columns:1fr;gap:20px}
  .chap__head{grid-template-columns:1fr;gap:28px;margin-bottom:64px}
  .chap--rev .chap__ph{order:0}
  .chap__sub{font-size:22px}
  .chap__title{column-gap:32px}
  .chap__title .ch{margin-bottom:40px}
  .junkan{grid-template-columns:1fr;gap:36px}
  .junkan li + li::before{left:50%;top:-28px;transform:translateX(-50%) rotate(90deg)}
  .gohou{grid-template-columns:1fr;gap:20px}

  .nouka{grid-template-columns:1fr;gap:28px}
  .nouka li{display:grid;grid-template-columns:116px 1fr;gap:16px;align-items:start}
  .nouka__area{margin-top:0}
  .nouka h3{font-size:19px}

  .road{grid-template-columns:1fr;gap:0;border-top:0;border-left:1px solid var(--ink);margin-left:6px}
  .road li{padding:0 0 32px 28px}
  .road li::before{left:-7px;top:6px}
  .road__y{font-size:32px}
  .road__goal{padding:24px 20px 20px 28px!important;margin-left:16px}
  .road__goal::before{left:-23px!important;top:30px!important}
  .road__foot{flex-direction:column;align-items:flex-end}

  .mirai__in{padding-top:120px;padding-bottom:120px}
  .mirai__h{font-size:28px}
  .mirai::after{background:rgba(0,0,0,.5)}

  .flow{grid-template-columns:1fr;gap:28px}
  .flow li{display:grid;grid-template-columns:56px 1fr;column-gap:18px}
  .flow li::before{grid-row:1/3;margin:0}
  .flow__end{border-radius:12px;font-size:14px}

  .plans{grid-template-columns:1fr;gap:16px}
  .plans__price em{font-size:46px}
  .plan__subrow{margin-top:64px}
  .ret li{grid-template-columns:1fr;gap:8px}
  .ret__who{justify-self:start}

  .namae{gap:32px}
  .namae__sub{max-width:72%;margin-left:auto}

  .okane li{grid-template-columns:1fr;gap:12px;padding:28px 0}
  .okane__pct .num{font-size:2.4em}
  .acct{padding:28px 22px;margin-top:56px}
  .acct__dl > div{grid-template-columns:1fr;gap:6px}

  .taiken{grid-template-columns:repeat(2,1fr);gap:10px}
  .media{grid-template-columns:repeat(2,1fr);gap:16px}
  .media figure{height:180px;padding:10px}
  .media figure img{max-height:160px}
  .media p{font-size:13px}

  .people,.people--amb{grid-template-columns:repeat(2,1fr);gap:28px 16px}

  .osuso{gap:32px}
  .osuso__logo{max-width:240px;margin:0 auto}
  .osuso__catch{font-size:18px}
  .l100{grid-template-columns:1fr;gap:20px}
  .omem{grid-template-columns:repeat(2,1fr);gap:32px 16px}
  .omem__ph img{width:104px;height:104px}
  .osclose{font-size:20px;margin-top:64px}

  .cta{padding:110px 0 90px}
  .cta__l{font-size:24px}
  .cta .walk .ch:nth-child(3){display:none}
  .qr{gap:32px}
  .qr__code{max-width:220px}
  .qr__h{font-size:22px}
  .pill{min-width:0;width:100%;max-width:320px}

  .ft{padding:40px 30px 110px}
  .ft__in{grid-template-columns:1fr;gap:24px}
  .ft__logo img{width:140px}
  .walk--ft{margin-bottom:24px}
}
@media (min-width:600px) and (max-width:900px){
  .svc,.plans,.l100{grid-template-columns:repeat(2,1fr)}
  .nouka{grid-template-columns:repeat(2,1fr)}
  .nouka li{display:block}
  .nouka__area{margin-top:14px}
  .taiken,.media{grid-template-columns:repeat(4,1fr)}
  .people{grid-template-columns:repeat(4,1fr)}
  .people--amb{grid-template-columns:repeat(3,1fr)}
  .omem{grid-template-columns:repeat(3,1fr)}
  .gohou{grid-template-columns:repeat(2,1fr)}
  .ayumi__ph,.voice__ph{max-width:440px}
}
@media (max-width:599px){
  .sp{display:inline}
}

/* ===== 10/4 スマホ実機で「動いてない」→ 動きを大きく・回数を多く（YELLOW型のコマ撮り＋小さく跳ねる） ===== */
@keyframes jitter2{
  0%,58%,100%{transform:translateY(0) rotate(0)}
  62%{transform:translateY(-8%) rotate(-8deg)}
  68%{transform:translateY(0) rotate(7deg)}
  74%{transform:translateY(-5%) rotate(-5deg)}
  80%{transform:translateY(0) rotate(3deg)}
}
.ch,.fv__walk img{animation:jitter2 2.2s steps(1) infinite;animation-delay:var(--d,0s)}
.fv__walk img:nth-child(2){animation-delay:.9s}
@media (max-width:900px){
  .ch,.fv__walk img{animation-duration:1.8s}
  .ch{height:92px}
  .walk .ch{height:88px}
}

/* ===== 10/8 新田さんメモ（v2） ===== */
/* #1 上端に流れる屋号を外し、その分を詰める */
:root{--hd:0px}
.loop{display:none}
/* #2 表紙は田んぼの写真を全面に（丸枠をやめる）。#4 日本地図を大きく */
.fv{display:block;max-width:none;padding:0}
.fv__plate{position:relative;width:100%;max-width:none;height:calc(100svh - 84px);min-height:560px;margin:84px 0 0;aspect-ratio:auto;border-radius:0}
.fv__plate::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.18));pointer-events:none}
.fv__catch{position:absolute;right:max(48px,calc((100vw - 1200px)/2 + 48px));top:calc(84px + 56px);z-index:2;grid-column:auto;grid-row:auto}
.fv__area{max-width:1200px;margin:72px auto 0;padding:0 48px 80px;grid-template-columns:1fr 380px;align-items:center}
.fv__k--jp{font-family:var(--go);font-weight:700;font-size:30px;letter-spacing:.08em;margin-bottom:18px}
.fv__map{width:380px}
.fv__walk{right:452px;bottom:52px}
@media (max-width:900px){
  .fv{padding:0}
  .fv__plate{height:72svh;min-height:440px;max-width:none;margin:64px 0 0}
  .fv__catch{right:20px;top:calc(64px + 24px)}
  .fv__area{display:block;margin:40px 0 0;padding:0 30px 56px}
  .fv__k--jp{font-size:24px}
  .fv__t{max-width:none;font-size:14px}
  .fv__map{display:block;width:min(300px,82%);margin:28px auto 0}
  .fv__walk{position:static;justify-content:center;margin-top:18px}
}
/* #31 実績に日本地図 */
.jisseki__top{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:center}
.jisseki__map{width:100%}
/* #38 #39 申込は中央揃え */
.qr{grid-template-columns:1fr;justify-items:center;text-align:center;max-width:720px;margin:0 auto;gap:36px}
.qr__code{width:240px}
.qr__b{display:flex;flex-direction:column;align-items:center}
.qr__note{text-align:left;width:100%}
@media (max-width:900px){
  .jisseki__top{grid-template-columns:1fr;gap:24px}
  .jisseki__map{width:min(300px,82%);margin:0 auto}
  .qr__code{width:200px}
}

/* ===== 10/8 夜 新田さんメモ（v2 41〜69） ===== */
/* #42 ヘッダーは表紙の写真に重ねる（白い帯なし）。写真の上は白いロゴ。下へスクロールで隠し、上へ戻すと出す */
.sphd{background:none;transition:transform .45s var(--flip),background-color .3s}
.sphd:not(.is-over){background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.sphd.is-hide:not(.is-open){transform:translateY(-110%)}
.sphd__logo{display:grid;transition:opacity .3s}
.sphd__logo img{grid-area:1/1;transition:opacity .3s}
.sphd .lg-w{opacity:0}
.sphd.is-over .lg-w{opacity:1}
.sphd.is-over .lg-b{opacity:0}
.sphd.is-open .lg-w{opacity:0}
.sphd.is-open .lg-b{opacity:1}
.sphd.is-over .sphd__nav{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.sphd.is-over .sphd__nav a::before{background:#fff}
.fv__plate{height:100svh;min-height:600px;margin:0}
.fv__plate::before{content:"";position:absolute;left:0;right:0;top:0;height:200px;background:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,0));z-index:1;pointer-events:none}
.fv__catch{top:150px}
/* #41 縦書きの箱は上端と高さをそろえる */
.fv__catch{align-items:stretch}
.fv__catch span:nth-child(2),.fv__catch span:nth-child(3){margin-top:0}
/* #44 #60 地図に県名と地名 */
.jmap{display:block;height:auto;overflow:visible}
.jmap line{stroke:var(--ink);stroke-width:1.6}
.jmap text{font-family:var(--go);fill:var(--ink);stroke:#fff;stroke-width:6px;stroke-linejoin:round;paint-order:stroke}
.jmap__p{font-size:20px;font-weight:500}
.jmap__a{font-size:26px;font-weight:700}
.fv__area{grid-template-columns:1fr 440px}
.fv__map{width:440px}
.fv__walk{right:512px}
.jisseki__top{grid-template-columns:1fr 420px}
/* #63 フッターの OSUSO ロゴを文字の大きさに合わせる */
.ft__by{display:flex;align-items:center;gap:8px}
.ft__by img{height:17px;width:auto}
/* #69 追従ボタン: 右下の丸い「田んぼ投志家」。表紙を過ぎたら出し、申込の節では引っ込める */
.fab{position:fixed;right:28px;bottom:calc(28px + env(safe-area-inset-bottom));z-index:40;display:block;width:124px;height:124px;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .35s,visibility .35s,transform .35s var(--flip)}
.fab.is-on{opacity:1;visibility:visible;transform:none}
.fab__c{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:var(--ink);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.22);transition:transform .3s var(--flip)}
.fab:hover .fab__c{transform:scale(1.06)}
.fab__ring{position:absolute;inset:0;width:100%;height:100%;animation:fabspin 16s linear infinite}
.fab__ring text{font-family:var(--en);font-weight:500;font-size:9px;fill:#fff;letter-spacing:.08em}
.fab__t{display:flex;flex-direction:column;align-items:center;font-weight:900;font-size:20px;line-height:1.15;letter-spacing:.06em}
.fab__t small{font-size:12px;font-weight:700;letter-spacing:.14em;margin-bottom:2px}
.fab__c i{width:20px;height:20px;margin-top:5px;background:#fff;-webkit-mask:var(--arrow) center/14px no-repeat;mask:var(--arrow) center/14px no-repeat}
.fab__ch{position:absolute;left:-4px;top:-28px;height:60px;width:auto;z-index:-1;animation:jitter2 2.2s steps(1) infinite;transform-origin:50% 100%;pointer-events:none}
@keyframes fabspin{to{transform:rotate(360deg)}}
.menu-open .fab{opacity:0;visibility:hidden}
@media (max-width:1180px) and (min-width:901px){
  .fv__area{grid-template-columns:1fr 380px}
  .fv__map{width:380px}
  .fv__walk{right:452px}
}
@media (max-width:900px){
  .fv__plate{height:86svh;min-height:520px;margin:0}
  .fv__plate::before{height:140px}
  .fv__catch{top:96px}
  .sphd:not(.is-over){background:none;box-shadow:none}
  .sphd:not(.is-over):not(.is-open) .sphd__logo{opacity:0;pointer-events:none}
  .fv__map{width:100%;max-width:440px;margin:28px auto 0}
  .jisseki__top{grid-template-columns:1fr}
  .jisseki__map{width:100%;max-width:440px}
  .fab{right:14px;bottom:calc(16px + env(safe-area-inset-bottom));width:102px;height:102px}
  .fab__t{font-size:17px}
  .fab__t small{font-size:11px}
  .fab__c i{margin-top:3px}
  .fab__ch{height:50px;left:-4px;top:-22px}
}

/* ===== 10/9 新田さんメモ（v2 70〜72） ===== */
/* #70 #71 縦書き: 右の箱の「「」の墨の上端（0.5〜0.6文字下がる・実測）に、残り2つの書き出しをそろえる */
.fv__catch span:nth-child(2){padding-top:calc(18px + .52em)}
.fv__catch span:nth-child(3){padding-top:calc(18px + .59em)}
/* #72 シロサギの頭が切れない位置で切り取る（縦長の写真を横長の枠に） */
#chap-kokudo .chap__ph--r img{object-position:50% 25%}
@media (max-width:900px){
  .fv__catch span:nth-child(2){padding-top:calc(10px + .52em)}
  .fv__catch span:nth-child(3){padding-top:calc(10px + .59em)}
}

/* ===== 10/16 いわせさんメモ（v2 73〜91） ===== */
/* #74 #82 表紙・はさ掛けの帯の縦書き: 白い枠をやめ、明朝体で写真になじませる */
.fv__catch,.band__tanzaku{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;font-weight:600;color:#fff;gap:.6em}
.fv__catch{font-size:46px;letter-spacing:.14em;line-height:1.3}
.band__tanzaku{font-size:34px;letter-spacing:.12em;line-height:1.3}
.fv__catch span:nth-child(n),.band__tanzaku p:nth-child(n){background:none;border:0;padding:0;margin:0;text-shadow:0 0 24px rgba(0,0,0,.5),0 1px 4px rgba(0,0,0,.45)}
.band__tanzaku .shu{color:#fff}
.fv__plate::after{background:linear-gradient(90deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.32))}
/* #77 想いの本文: 段落の区切り */
.concept__t p.st-end{margin-left:1.6em}
/* #80 あゆみの見出しの下の一文 */
.h2__sub{display:block;font-size:.5em;font-weight:500;line-height:1.9;letter-spacing:.06em;margin-top:1em}
/* #88 五方良し｜FIVE-WAY HARMONY */
.h2__en{display:inline-block;font-family:var(--en);font-weight:500;font-size:.42em;letter-spacing:.12em;line-height:1.2;margin-left:.9em;padding-left:.9em;border-left:1px solid currentColor;vertical-align:.32em}
/* #79 収穫祭の写真: 顔と稲穂が入るよう正方形にして上寄せで切る */
.event--harvest img{aspect-ratio:1/1;object-position:50% 6%}
/* #84 #86 差し替えた写真の切り取り位置 */
.ph-onigiri{object-position:50% 88%}
.ph-sagi{object-position:50% 35%}
@media (max-width:900px){
  .fv__catch{font-size:22px}
  .band__tanzaku{font-size:21px}
  .concept__t p.st-end{margin:0 0 1.1em}
  .h2__en{display:block;margin:.5em 0 .2em;padding-left:0;border-left:0;font-size:.5em}
}
/* 10/09 新田さん: 書き出しを右の列の「「」の上端にそろえる（明朝体で測り直し 2列目.56em・3列目.61em） */
.fv__catch span:nth-child(2){padding-top:.56em}
.fv__catch span:nth-child(3){padding-top:.61em}
/* 縦書きの白文字の後ろに薄い影（明るい空でも読めるように。枠は出さない） */
.fv__catch::before,.band__tanzaku::before{content:"";position:absolute;inset:-18% -45%;background:radial-gradient(closest-side,rgba(0,0,0,.26),rgba(0,0,0,0));z-index:-1;pointer-events:none}
.band__tanzaku{z-index:1}
/* #87 新しい米袋（縦長）は大きくなりすぎないように */
.kenko__ph img{max-width:340px;margin:0 auto;display:block}
@media (max-width:900px){
  .fv__catch{font-size:24px}
  .kenko__ph img{max-width:260px}
}
/* 文字の後ろの影が画面の外へ出て横にスクロールしないように */
.fv,.band{overflow-x:clip}

/* ===== 10/16 夕 いわせさんメモ（v2 92〜105） ===== */
/* #92 表紙: 大きい2列（今こそ、／日本の農業を守る。）＋小さい2列（食と健康…／未来へ…）。「「」が無くなったので書き出しの下げは外す */
.fv__catch span.c-main,.fv__catch span.c-sub{padding-top:0}
.fv__catch span.c-sub{font-size:.56em;letter-spacing:.18em;line-height:1.6}
.fv__catch span.c-main + span.c-sub{margin-right:.5em}
/* #100 おにぎりの写真は帽子とお盆が入るよう上寄せ */
.taiken img.ph-top{object-position:50% 15%}

/* ===== 10/29 新着情報（tanboclub.com の管理画面の内容）＋メニュー「メディア実績」 ===== */
#media{scroll-margin-top:24px}
.news{margin-top:72px}
.news__h{font-weight:700;font-size:18px;letter-spacing:.1em;margin-bottom:16px}
.news__list{border-top:1px solid var(--line)}
.news__list li{border-bottom:1px solid var(--line)}
.news__a{display:grid;grid-template-columns:184px 1fr auto;gap:28px;align-items:center;padding:22px 16px;transition:background .3s var(--flip)}
.news__a:hover{background:var(--kinari)}
.news__thumb{display:block;aspect-ratio:3/2;border-radius:8px;overflow:hidden;background:var(--kinari)}
.news__thumb img{width:100%;height:100%;object-fit:cover}
.news__body{display:block;min-width:0}
.news__meta{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:13px;line-height:1.7;color:var(--ink-2);letter-spacing:.04em}
.news__meta time{font-family:var(--en);font-weight:500}
.news__title{display:block;margin-top:6px;font-weight:700;font-size:16px;line-height:1.7;letter-spacing:.04em}
.news__go{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:700;font-size:12px;letter-spacing:.06em;padding:8px 14px;border:1px solid var(--ink);border-radius:9999px;transition:background .3s var(--flip),color .3s var(--flip)}
.news__go::after{content:"";flex:none;width:12px;height:12px;background:currentColor;-webkit-mask:var(--arrow) center/12px no-repeat;mask:var(--arrow) center/12px no-repeat}
.news__a:hover .news__go{background:var(--ink);color:#fff}
.news__more{text-align:center;margin-top:40px}
.lb{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;padding:56px 16px 24px}
.lb[hidden]{display:none}
.lb__img{max-width:min(960px,100%);max-height:100%;object-fit:contain;border-radius:4px;background:#fff}
.lb__x{position:absolute;right:14px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;cursor:pointer}
.lb__x::before,.lb__x::after{content:"";position:absolute;left:13px;top:21px;width:18px;height:2px;background:var(--ink)}
.lb__x::before{transform:rotate(45deg)}
.lb__x::after{transform:rotate(-45deg)}
@media (max-width:1180px) and (min-width:901px){
  .sphd__nav{gap:16px;font-size:13px}
  .sphd__nav a{padding-left:16px}
  .sphd__nav a::before{width:9px}
}
@media (max-width:900px){
  .news{margin-top:56px}
  .news__h{font-size:16px}
  .news__a{grid-template-columns:112px 1fr;gap:6px 14px;align-items:start;padding:16px 2px}
  .news__thumb{grid-row:1/3}
  .news__meta{font-size:11px;gap:0 10px}
  .news__title{font-size:14px;line-height:1.6;margin-top:2px}
  .news__go{grid-column:2;justify-self:start;padding:6px 12px;font-size:11px}
}
/* 10/29 「新着情報一覧を見る」で先方サイトへ飛ばさない → 最初の4件＋「もっと見る」でその場に開く */
.news__list li.is-more{display:none}
.news__list.is-open li.is-more{display:list-item}
.news__btn{border:0;font-family:inherit;cursor:pointer}
.news__btn i::before{transform:rotate(90deg)}
/* 10/29 水沼さん「件数が増えたら、もっと見るでTOPに全部開くと情報量が多すぎる」→ 全件はLPの上の窓で見せる（LPの長さは変わらない） */
.news__btn i::before{transform:none}
.nl{position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:32px 24px}
.nl[hidden]{display:none}
.nl__panel{background:#fff;width:min(920px,100%);max-height:min(86vh,920px);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.nl__head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 16px 16px 28px;border-bottom:1px solid var(--line)}
.nl__h{font-weight:700;font-size:18px;letter-spacing:.1em}
.nl__n{margin-left:12px;font-family:var(--en);font-weight:500;font-size:13px;letter-spacing:.04em;color:var(--ink-2)}
.nl__x{position:relative;right:auto;top:auto;flex:none;background:var(--kinari)}
.nl__list{overflow:auto;padding:0 12px;border-top:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.nl__list li:last-child{border-bottom:0}
@media (max-width:900px){
  .nl{padding:0;align-items:flex-end}
  .nl__panel{width:100%;max-height:90svh;border-radius:16px 16px 0 0}
  .nl__head{padding:12px 12px 12px 18px}
  .nl__h{font-size:16px}
  .nl__list{padding:0 14px}
}
