/* ============================================================
   KUNIUMI 淡路国生み会議 LP
   世界観: ロゴの墨線 × shinpaku（生成り・明朝・縦書き・余白）× 線画の俯瞰マップ
   design-system.md が正本
   ============================================================ */
:root{
  --paper:#EBE6DE; --paper-d:#E4DFD9; --white:#F7F4EE;
  --ink:#24211F; --ink-2:#5A5551;
  --indigo:#2E4A62; --asagi:#8FB5BE; --moss:#8A9A6E; --shu:#A83D28; --gold:#B89B5E;
  --line:rgba(36,33,31,.18);
  --jp:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
  --en:"Cormorant Garamond","Shippori Mincho",serif;
  --fude:"Yuji Syuku","Shippori Mincho",serif;
  --ez:cubic-bezier(.445,.05,.55,.95);
  --gut:32px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--jp);color:var(--ink);background:var(--paper);font-variant-numeric:lining-nums;
  font-size:15.5px;line-height:2.3;letter-spacing:.06em;overflow-x:clip;font-feature-settings:"palt"}
img{display:block;max-width:100%;height:auto}
body::before{content:"";position:fixed;inset:0;z-index:9;pointer-events:none;opacity:.055;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{width:min(1080px,calc(100% - var(--gut)*2));margin-inline:auto}
.wrap--w{width:min(1280px,calc(100% - var(--gut)*2));margin-inline:auto}
.en{font-family:var(--en);font-variant-numeric:lining-nums}   /* Cormorant はオールドスタイル数字が既定。高さを揃える */
.vt{writing-mode:vertical-rl;text-orientation:mixed}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nb{white-space:nowrap}

/* ---- 現れる（実測レシピ。数値は変えない） ---- */
.rv{opacity:0;transform:translateY(16px);
  transition-property:opacity,transform;transition-duration:600ms;
  transition-timing-function:var(--ez);transition-delay:calc(300ms + var(--rvd,0ms))}
.rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* 見本の帯は 2026-09-19 承認で外した。--note は 0 */
:root{--note:0px}

/* ---- ヘッダー（表紙の中に置く。見本の帯の下に来る） ---- */
.hd{position:absolute;inset:0 0 auto 0;z-index:20;height:88px;display:flex;align-items:center;
  justify-content:space-between;padding:0 clamp(20px,3vw,44px)}
.hd__place{font-family:var(--en);font-style:italic;font-size:13.5px;letter-spacing:.06em;color:var(--ink-2)}
.hd__place time{margin-left:.6em;font-style:normal}
.hd__menu{font-family:var(--en);font-style:italic;font-size:14px;letter-spacing:.08em;color:var(--ink-2);cursor:pointer}
.hd__menu::before{content:":";margin-right:.4em}
.hd--w .hd__place,.hd--w .hd__menu{color:rgba(247,244,238,.92)}

/* ---- 表紙: 風景写真＋白抜きロゴ（薩摩会議 実測: 背景cover 50% 0% / ロゴ高さ 667/900=74% / 左に縦の英字 x=93 / 右下に Scroll） ---- */
.fv{position:relative;height:calc(100svh - var(--note,0px));min-height:600px;max-height:1100px;overflow:clip;isolation:isolate;
  display:grid;place-items:center;background:var(--indigo)}
.fv__bg{position:absolute;inset:0;z-index:0}
.fv__ph{position:absolute;inset:0}
.fv__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
/* 2枚をゆっくり入れ替える: 静（霞の沼島）→ 動（渦潮）。18秒で1周 */
.fv__ph--a img{animation:kb-a 18s var(--ez) infinite}
.fv__ph--b{opacity:0;animation:xfade 18s linear infinite}
.fv__ph--b img{animation:kb-b 18s var(--ez) infinite}
@keyframes xfade{0%,42%{opacity:0}52%,90%{opacity:1}100%{opacity:0}}
@keyframes kb-a{0%{scale:1.07}50%{scale:1}100%{scale:1.07}}
@keyframes kb-b{0%,42%{scale:1}92%,100%{scale:1.07}}
.fv::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,24,34,.28) 0%,rgba(20,24,34,0) 30%,rgba(20,24,34,0) 62%,rgba(20,24,34,.34) 100%)}
.fv__logo{position:relative;z-index:2;height:clamp(300px,66svh,660px);width:auto;
  filter:drop-shadow(0 1px 12px rgba(0,0,0,.18))}
.fadein{opacity:0;animation:fadein 1.4s var(--ez) .5s forwards}
@keyframes fadein{to{opacity:1}}
.fv__tag{position:absolute;z-index:2;left:clamp(28px,4.5vw,64px);top:50%;translate:0 -50%;
  font-family:var(--en);font-style:italic;font-size:14px;letter-spacing:.2em;color:rgba(247,244,238,.9);height:auto}
.fv__scroll{position:absolute;z-index:2;right:clamp(28px,4.5vw,64px);bottom:32px;display:flex;flex-direction:column;align-items:center;gap:10px;
  font-family:var(--en);font-size:12px;letter-spacing:.28em;color:rgba(247,244,238,.9)}
.fv__scroll span{height:auto;line-height:1}
.fv__scroll i{display:block;width:1px;height:58px;background:rgba(247,244,238,.6);overflow:hidden;position:relative}
.fv__scroll i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--white);animation:scroll-line 2.2s var(--ez) infinite}
@keyframes scroll-line{0%{top:-100%}60%,100%{top:100%}}
/* 2026-10-04 視差効果を減らす でも動かす（水沼さんのiPhoneはON・8/27決定 memory feedback_mobile_animation_reduced_motion）。この中の animation:none を外した。戻すなら _rm退避 の元ファイル */@media (prefers-reduced-motion:reduce){.fv__ph img,.fv__ph--b,.fv__scroll i::after{}.fv__ph--b{opacity:0}.fadein{opacity:1;}}

/* ---- 宣言（コンセプトコピー）。shinpaku の「大きな一文字」と縦書き ---- */
.sengen{position:relative;overflow:clip;background:var(--paper);padding:clamp(96px,12svh,140px) 0 0}
.sengen__body{position:relative;z-index:2;display:grid;place-items:center;padding:0 var(--gut)}
.sengen__copy{font-size:clamp(15px,1.4vw,17px);font-weight:500;line-height:1;letter-spacing:.18em;height:clamp(240px,42svh,380px)}
.sengen__copy span{display:block;line-height:1;white-space:nowrap;margin-left:clamp(14px,1.6vw,24px)}
.sengen__copy span:last-child{margin-left:0}
.sengen__copy span.gap{margin-left:clamp(28px,3vw,44px)}
.sengen__copy .q{display:inline;color:var(--shu);margin:0}
.sengen__kanji{position:absolute;z-index:1;top:clamp(96px,12svh,140px);font-family:var(--fude);
  font-size:clamp(56px,9vw,128px);font-weight:400;line-height:1;letter-spacing:.22em;color:var(--ink);
  writing-mode:vertical-rl;pointer-events:none}
.sengen__kanji--l{left:clamp(12px,3.5vw,56px)}
.sengen__kanji--r{right:clamp(12px,3.5vw,56px)}
/* 節をつなぐ「水の線」（shimaguniの紐の移植。色はロゴの波＝浅葱）。スクロールで描かれる */
.mizu{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.mizu__p{fill:none;stroke:var(--asagi);stroke-width:1.6;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.75;
  stroke-dasharray:1;stroke-dashoffset:1;pathLength:1;animation:mizu-draw both;animation-timeline:view();animation-range:entry 20% cover 70%}
@keyframes mizu-draw{to{stroke-dashoffset:0}}
@supports not (animation-timeline:view()){.mizu__p{stroke-dashoffset:0}}
.sengen .sengen__body,.sengen .sengen__sea{position:relative;z-index:2}
#kaigi .wrap--w{position:relative;z-index:6}
/* 遠景（海と島）。帯の高さを固定して、絵は島と波が見える位置で切る */
.sengen__sea{position:relative;z-index:1;height:clamp(180px,30svh,340px);overflow:clip;margin-top:clamp(28px,5svh,56px)}
.sengen__sea img{width:100%;height:calc(100% + 40px);object-fit:cover;object-position:center 82%;
  animation:sea-drift both;animation-timeline:view();animation-range:entry 0% cover 100%}
@keyframes sea-drift{0%{translate:0 0}100%{translate:0 -40px}}
@supports not (animation-timeline:view()){.sengen__sea img{animation:none}}

/* ---- セクション共通 ---- */
.sec{padding:160px 0;position:relative}
.sec--paper{background:var(--paper)}
.sec--white{background:var(--white)}
.sec--indigo{background:var(--indigo);color:var(--white)}
.label{font-family:var(--en);font-style:italic;font-size:12px;font-weight:500;letter-spacing:.28em;color:var(--ink-2)}
.sec--indigo .label{color:rgba(247,244,238,.7)}
.h2{font-size:clamp(26px,3vw,40px);font-weight:600;line-height:1.9;letter-spacing:.08em;text-wrap:balance}
.h2.vt{text-wrap:initial}
.prose .en,.small .en,.lead .en{font-size:1.08em;letter-spacing:.02em}
.lead{font-size:16.5px;line-height:2.4;margin-top:40px}
.lead p+p{margin-top:1.8em}
.sec__head{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:start}
.sec__head .h2.vt{height:auto;justify-self:end;line-height:1.8}

/* ---- 08 淡路 国生み会議 ---- */
.kaigi__intro{display:grid;grid-template-columns:minmax(0,560px) 1fr;gap:clamp(40px,6vw,96px);align-items:start}
.kaigi__intro .h2{grid-column:2;grid-row:1;justify-self:end;height:auto;line-height:1.9}
.kaigi__intro .lead{grid-column:1;grid-row:1;margin-top:0}
.kaigi__intro .label{grid-column:1/-1;grid-row:0;margin-bottom:28px}
.kaigi__intro{grid-template-rows:auto auto}
.kaigi__intro .label{grid-row:1}
.kaigi__intro .h2{grid-row:2}
.kaigi__intro .lead{grid-row:2}

/* 地図 */
.map{position:relative;margin-top:clamp(56px,7vw,96px)}
.map__img{width:100%;height:auto}
.map__eight{position:absolute;left:0;top:0;font-family:var(--en);font-style:italic;font-size:13px;letter-spacing:.2em;color:var(--ink-2)}
/* 点 */
.pin{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;width:44px;height:44px;
  display:grid;place-items:center;border-radius:50%;z-index:3}
.pin__dot{width:26px;height:26px;border-radius:50%;background:var(--shu);color:var(--white);
  font-family:var(--en);font-size:13.5px;font-weight:600;line-height:1;display:grid;place-items:center;
  border:2px solid var(--white);box-shadow:0 0 0 1px var(--shu);transition:scale .3s var(--ez)}
.pin::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--shu);
  opacity:0;animation:ripple 2.4s var(--ez) infinite;animation-delay:var(--rd,0s)}
@keyframes ripple{0%{scale:.5;opacity:.7}100%{scale:1.35;opacity:0}}
.pin:hover .pin__dot,.pin.is-on .pin__dot{scale:1.25}
.pin.is-on::before{animation:none;opacity:1;scale:1.1}
.pin__name{position:absolute;top:100%;left:50%;translate:-50% 2px;white-space:nowrap;font-size:12px;
  letter-spacing:.08em;line-height:1.4;color:var(--ink);background:rgba(235,230,222,.85);padding:1px 6px;border-radius:2px}
/* 2026-10-04 視差効果を減らす でも動かす（水沼さんのiPhoneはON・8/27決定 memory feedback_mobile_animation_reduced_motion）。この中の animation:none を外した。戻すなら _rm退避 の元ファイル */@media (prefers-reduced-motion:reduce){.pin::before{}}
/* 札（ポップアップ） */
.pop{position:absolute;z-index:6;width:min(340px,calc(100% - 24px));left:var(--px);top:var(--py);
  background:var(--white);border:1px solid var(--ink);border-radius:4px;padding:22px 24px 24px;
  opacity:0;translate:0 8px;pointer-events:none;transition:opacity .35s var(--ez),translate .35s var(--ez)}
.pop.is-open{opacity:1;translate:0 0;pointer-events:auto}
.pop__no{font-family:var(--en);font-style:italic;font-size:13px;letter-spacing:.2em;color:var(--shu)}
.pop__ttl{font-size:17px;font-weight:600;line-height:1.7;letter-spacing:.06em;margin-top:6px}
.pop__ttl small{display:block;font-size:12.5px;font-weight:400;color:var(--ink-2);letter-spacing:.08em}
.pop__body{font-size:13.5px;line-height:2;margin-top:12px}
.pop__soon{display:inline-block;margin-top:10px;font-family:var(--en);font-style:italic;font-size:12px;
  letter-spacing:.2em;color:var(--shu);border-bottom:1px solid var(--shu)}
.pop__soon[hidden]{display:none}
.pop__x{position:absolute;right:10px;top:8px;width:30px;height:30px;font-family:var(--en);font-size:22px;line-height:1;color:var(--ink-2)}
.pop__x:hover{color:var(--ink)}
/* 札の見出し（8つの索引） */
.idx{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.idx button{display:block;width:100%;text-align:left;padding:18px 18px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  line-height:1.6;transition:background .3s var(--ez)}
.idx button:hover,.idx button.is-on{background:var(--white)}
.idx .no{font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.2em;color:var(--shu);display:block}
.idx .nm{font-size:14.5px;font-weight:600;letter-spacing:.04em;display:block;margin-top:4px}
.idx .th{font-size:12.5px;color:var(--ink-2);display:block;margin-top:2px;letter-spacing:.06em}
.kaigi__close{margin-top:clamp(56px,7vw,88px);display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:end}
.kaigi__close .big{font-size:clamp(19px,2vw,24px);font-weight:600;line-height:2;letter-spacing:.1em}
.kaigi__close .small{font-size:12.5px;line-height:1.9;color:var(--ink-2);justify-self:end;max-width:520px}

/* ---- フッター ---- */
.ft{background:var(--indigo);color:var(--white);padding:88px 0 40px;text-align:center}
.ft__logo{width:180px;margin-inline:auto}
.ft__name{margin-top:28px;font-size:13px;letter-spacing:.24em}
.ft__en{font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.2em;opacity:.7;margin-top:6px}
.ft__copy{margin-top:48px;font-family:var(--en);font-size:12px;letter-spacing:.14em;opacity:.6}

/* ---- SP ---- */
@media (max-width:900px){
  .idx{grid-template-columns:repeat(2,1fr)}
  .kaigi__intro{grid-template-columns:1fr}
  .kaigi__intro .h2{grid-column:1;grid-row:2;writing-mode:horizontal-tb;justify-self:start}
  .kaigi__intro .lead{grid-row:3;margin-top:32px}
  .sec__head{grid-template-columns:1fr}
  .sec__head .h2.vt{writing-mode:horizontal-tb;justify-self:start}
}
@media (max-width:720px){
  :root{--gut:20px}
  br.pc{display:none}
  body{font-size:15px;line-height:2.2}
  .sec{padding:88px 0}
  .hd{height:72px}
  .hd__place{font-size:12px}
  .fv{min-height:calc(100svh - var(--note,0px));max-height:none}
  .fv__logo{height:auto;width:min(58vw,240px)}
  .fv__tag{display:none}
  .fv__scroll{right:20px;bottom:24px}
  .sengen{padding-top:72px}
  .sengen__kanji{display:none}
  .sengen__copy{writing-mode:horizontal-tb;text-align:center;font-size:15px;letter-spacing:.12em;height:auto;width:auto;max-width:100%;padding:0}
  .sengen__copy span,.sengen__copy span.gap,.sengen__copy span:last-child{line-height:2;white-space:normal;margin:0}
  .sengen__copy span.gap{margin-top:.6em}
  .sengen__sea{height:clamp(150px,26svh,220px);margin-top:28px}
  .sengen__sea img{width:150%;margin-left:-25%;height:100%;object-position:center 58%}
  .map{margin-top:48px}
  .pin{width:36px;height:36px;left:var(--xs,var(--x));top:var(--ys,var(--y))}
  .pin__dot{width:22px;height:22px;font-size:12px}
  .pin__name{display:none}
  /* 札は下からのシートに */
  .pop{position:fixed;left:0!important;right:0;top:auto!important;bottom:0;width:100%;max-height:70svh;overflow:auto;
    border-radius:12px 12px 0 0;border-left:0;border-right:0;border-bottom:0;translate:0 24px;padding:24px 20px 32px}
  .pop.is-open{translate:0 0}
  .pop__body{font-size:14px}
  .idx{grid-template-columns:1fr 1fr}
  .idx button{padding:14px 12px 12px}
  .idx .nm{font-size:13.5px}
  .idx .th{font-size:11.5px}
  .kaigi__close{grid-template-columns:1fr;gap:20px}
  .kaigi__close .small{justify-self:start}
  .ft{padding:64px 0 32px}
}
.shade{position:fixed;inset:0;background:rgba(36,33,31,.35);z-index:5;opacity:0;pointer-events:none;transition:opacity .3s var(--ez)}
@media (max-width:720px){.shade.is-on{opacity:1;pointer-events:auto}}
.pop-open .memoenter{display:none}   /* 札が開いている間はメモ入口を隠す（SPで札に被る） */

/* ============================================================
   全体展開（2026-09-19 承認後）。以下は各節の部品
   ============================================================ */
.sec--narrow .wrap{width:min(880px,calc(100% - var(--gut)*2))}
.sec__label{margin-bottom:28px}
.h2--c{text-align:center}
.h2 .q,.pull .q,.msg .q{color:var(--shu)}
.prose{font-size:15.5px;line-height:2.4}
.prose p+p{margin-top:1.7em}
.prose .big{font-size:clamp(19px,2vw,24px);font-weight:600;line-height:2;letter-spacing:.1em}
.small{font-size:12.5px;line-height:1.9;color:var(--ink-2)}
.tobira{position:absolute;z-index:0;top:clamp(40px,6vw,88px);right:clamp(12px,3vw,48px);font-family:var(--fude);
  font-size:clamp(120px,20vw,300px);line-height:1;color:var(--ink);opacity:.06;pointer-events:none;user-select:none}
.sec--indigo .tobira{color:var(--white);opacity:.07}
.sec>.wrap,.sec>.wrap--w{position:relative;z-index:6}   /* 札(.pop z6)がSPの幕(.shade z5)より手前に来るよう、器ごと幕より上に */

/* 01 私たちの想い */
.omoi{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(40px,7vw,120px);align-items:start}
.omoi__side{position:sticky;top:96px}
.omoi__photo{aspect-ratio:3/4;background:var(--paper-d);border:1px solid var(--line);display:grid;place-items:center;text-align:center;
  font-family:var(--en);font-style:italic;font-size:13px;color:var(--ink-2);letter-spacing:.1em;padding:20px}
.omoi__photo small{display:block;font-family:var(--jp);font-style:normal;font-size:12px;margin-top:8px;letter-spacing:.06em}
.omoi__name{margin-top:18px;font-size:13px;letter-spacing:.14em;color:var(--ink-2)}
.omoi__name b{display:block;font-size:17px;font-weight:600;color:var(--ink);letter-spacing:.12em;margin-top:2px}
.pull{margin:2.4em 0;font-family:var(--fude);font-size:clamp(28px,3.4vw,44px);line-height:1.5;letter-spacing:.06em}

/* 03 現状: 数字3つ */
.stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(48px,6vw,80px);border-top:1px solid rgba(247,244,238,.25)}
.stat{padding:clamp(32px,4vw,56px) clamp(16px,2.4vw,36px) clamp(28px,3.5vw,48px);border-right:1px solid rgba(247,244,238,.25)}
.stat:last-child{border-right:0}
.stat__k{font-size:13.5px;letter-spacing:.12em;line-height:1.8;opacity:.85}
.stat__n{font-family:var(--en);font-size:clamp(56px,7.5vw,120px);font-weight:500;line-height:1;letter-spacing:-.01em;color:#E8C98A;margin-top:14px;
  animation:num-pop both;animation-timeline:view();animation-range:entry 20% entry 70%}
.stat__n small{font-family:var(--jp);font-size:.32em;letter-spacing:.06em;margin-left:.15em}
.stat__t{font-size:15px;font-weight:600;line-height:1.9;margin-top:14px;letter-spacing:.06em}
.stat__b{font-size:13px;line-height:1.9;margin-top:8px;opacity:.85}
@keyframes num-pop{0%{scale:.44;opacity:0}60%{scale:1;opacity:1}100%{scale:1;opacity:1}}
@supports not (animation-timeline:view()){.stat__n{animation:none}}
.sec--indigo .prose,.sec--indigo .h2{color:var(--white)}
.sec--indigo .small{color:rgba(247,244,238,.72)}

/* 04 メッセージ */
.msg{display:grid;grid-template-columns:auto 1fr;gap:clamp(48px,8vw,140px);align-items:start}
.msg__decl{font-size:clamp(20px,2.3vw,30px);font-weight:600;line-height:1;letter-spacing:.16em;height:auto;padding:0 10px 0 4px}
.msg__decl>span{display:block;line-height:1;white-space:nowrap;margin-left:clamp(18px,2vw,30px)}
.msg__decl>span:last-child{margin-left:0}
.msg__decl>.gap{margin-left:clamp(36px,4vw,60px)}
.msg__decl .q{display:inline;margin:0}
.msg__story{max-width:520px;padding-top:8px}

/* 07 活動内容: 4カード */
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(48px,6vw,80px);border:1px solid var(--line);background:var(--white)}
.card4{padding:clamp(22px,2.6vw,36px) clamp(18px,2.2vw,30px) clamp(26px,3vw,40px);border-right:1px solid var(--line)}
.card4:last-child{border-right:0}
.card4__no{font-family:var(--en);font-style:italic;font-size:12.5px;letter-spacing:.24em;color:var(--shu)}
.card4__ill{aspect-ratio:9/7;margin:14px 0 18px;display:grid;place-items:center;background:var(--paper)}
.card4__ill img{width:88%;height:88%;object-fit:contain;opacity:.94;transition:opacity .3s cubic-bezier(.4,.4,0,1),scale .3s cubic-bezier(.4,.4,0,1)}
.card4:hover .card4__ill img{opacity:1;scale:1.045}
.card4__k{font-family:var(--fude);font-size:clamp(28px,2.6vw,36px);line-height:1.2}
.card4__t{font-size:15.5px;font-weight:600;line-height:1.8;letter-spacing:.06em;margin-top:8px}
.card4__b{font-size:13.5px;line-height:2.05;margin-top:12px}
.card4__b p+p{margin-top:.9em}

/* 09 国生み祭: 夜の地図 */
.sec--night{background:#1E2F40;color:var(--white)}
.sec--night .label{color:rgba(247,244,238,.7)}
.sec--night .h2,.sec--night .prose{color:var(--white)}
.sec--night .small{color:rgba(247,244,238,.7)}
/* 黒い線画を濃い地に置くと線が沈む → 地図の下にだけ淡い明かりを敷く */
.sec--night .map{background:radial-gradient(ellipse at 50% 55%,rgba(143,181,190,.26),rgba(143,181,190,0) 64%)}
.sec--night .pin__dot{background:#E8C98A;color:var(--ink);border-color:#1E2F40;box-shadow:0 0 0 1px #E8C98A}
.sec--night .pin::before{border-color:#E8C98A}
.sec--night .pin__name{color:var(--white);background:rgba(30,47,64,.8)}
.sec--night .pop{background:var(--white);color:var(--ink);border-color:var(--white)}
.sec--night .idx{border-color:rgba(247,244,238,.22)}
.sec--night .idx button{border-color:rgba(247,244,238,.22);color:var(--white)}
.sec--night .idx button:hover,.sec--night .idx button.is-on{background:rgba(247,244,238,.08)}
.sec--night .idx .no{color:#E8C98A}
.sec--night .idx .th{color:rgba(247,244,238,.72)}
.prog4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,44px);margin-top:clamp(56px,7vw,96px)}
.prog{border-top:1px solid rgba(247,244,238,.3);padding-top:18px}
.prog__k{font-family:var(--fude);font-size:clamp(24px,2.4vw,32px);line-height:1.3}
.prog__k small{font-family:var(--jp);font-size:13px;letter-spacing:.14em;margin-left:.6em;opacity:.8}
.prog__b{font-size:13.5px;line-height:2.05;margin-top:12px;opacity:.92}
.matsuri__close{margin-top:clamp(56px,7vw,88px);text-align:center}
.matsuri__close .big{font-size:clamp(19px,2.2vw,26px);font-weight:600;line-height:2;letter-spacing:.12em}

/* 10 ロードマップ */
.road{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.road__i{padding:clamp(24px,3vw,40px) clamp(18px,2.4vw,32px) clamp(28px,3.4vw,44px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.road__y{font-family:var(--en);font-size:clamp(34px,3.6vw,52px);font-weight:500;line-height:1;letter-spacing:.02em;color:var(--shu)}
.road__y small{font-family:var(--fude);font-size:.62em;color:var(--ink);margin-left:.4em;letter-spacing:.06em}
.road__ill{aspect-ratio:9/7;margin:16px 0 14px;display:grid;place-items:center}
.road__ill img{width:84%;height:84%;object-fit:contain}
.road__t{font-size:16px;font-weight:600;line-height:1.8;letter-spacing:.06em}
.road__r{margin-top:8px;font-size:12.5px;letter-spacing:.06em;color:var(--ink-2);padding-left:10px;border-left:2px solid var(--gold);line-height:1.7}
.road__b{font-size:13.5px;line-height:2.05;margin-top:12px}
.road__b p+p{margin-top:.8em}
.road__chain{margin-top:clamp(40px,5vw,64px);display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0;font-size:13.5px;letter-spacing:.1em}
.road__chain span{padding:6px 14px;border:1px solid var(--line);border-radius:3px;background:var(--white)}
.road__chain i{font-style:normal;padding:6px 8px;color:var(--shu)}

/* 12 参画枠 */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(48px,6vw,80px);border:1px solid var(--line);background:var(--white)}
.ladder__i{padding:clamp(22px,2.6vw,34px) clamp(16px,2vw,28px) clamp(24px,2.8vw,36px);border-right:1px solid var(--line);text-align:center}
.ladder__i:last-child{border-right:0}
.ladder__k{font-family:var(--fude);font-size:clamp(44px,5vw,72px);line-height:1;color:var(--ink)}
.ladder__ill{aspect-ratio:9/7;margin:12px auto 10px;display:grid;place-items:center}
.ladder__ill img{width:78%;height:78%;object-fit:contain}
.ladder__p{font-family:var(--en);font-size:15px;letter-spacing:.06em;color:var(--shu)}
.ladder__p b{font-size:1.5em;font-weight:500}
.ladder__t{font-size:13.5px;line-height:1.9;margin-top:10px;letter-spacing:.04em}
.gift{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,4vw,60px);align-items:center;
  padding:clamp(24px,3vw,40px);border:1px solid var(--line);background:var(--paper-d)}
.gift__k{font-family:var(--fude);font-size:clamp(24px,2.4vw,30px);line-height:1.3;white-space:nowrap}
.gift__k small{display:block;font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.24em;color:var(--ink-2);margin-bottom:6px}
.gift__b{font-size:14px;line-height:2.05}
.plans{margin-top:clamp(56px,7vw,96px);display:grid;gap:0;border-top:1px solid var(--line)}
.plan{display:grid;grid-template-columns:260px 1fr;gap:clamp(28px,4vw,64px);padding:clamp(32px,4vw,56px) 0;border-bottom:1px solid var(--line)}
.plan__no{font-family:var(--en);font-style:italic;font-size:12.5px;letter-spacing:.24em;color:var(--shu)}
.plan__k{font-family:var(--fude);font-size:clamp(30px,3vw,42px);line-height:1.25;margin-top:6px}
.plan__k small{display:block;font-family:var(--jp);font-size:14px;font-weight:600;letter-spacing:.14em;margin-top:6px}
.plan__p{margin-top:16px;font-family:var(--en);font-size:15px;letter-spacing:.06em;color:var(--shu)}
.plan__p b{font-size:2em;font-weight:500;line-height:1}
.plan__p i{font-style:normal;font-family:var(--jp);font-size:13px;color:var(--ink-2);margin-left:.5em}
.plan__c{font-size:16px;font-weight:600;line-height:1.9;letter-spacing:.08em}
.plan__b{font-size:14px;line-height:2.1;margin-top:12px}
.plan__plus{margin-top:22px;font-family:var(--en);font-style:italic;font-size:12.5px;letter-spacing:.2em;color:var(--ink-2);padding-bottom:8px;border-bottom:1px solid var(--line)}
.ret{list-style:none;margin:0;padding:0;display:grid;gap:14px;margin-top:14px}
.ret li{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}
.ret__ill{width:56px;height:44px;display:grid;place-items:center;background:var(--paper-d);border:1px solid var(--line)}
.ret__ill img{width:80%;height:80%;object-fit:contain}
.ret__ill:empty::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--shu)}
.ret__t{font-size:14.5px;font-weight:600;letter-spacing:.06em;line-height:1.7}
.ret__b{font-size:13px;line-height:1.95;margin-top:2px;color:var(--ink)}
.plan--shima{background:var(--paper-d);margin-inline:-20px;padding-inline:20px}
.kami{margin-top:clamp(56px,7vw,96px);text-align:center}
.kami__k{font-family:var(--fude);font-size:clamp(36px,4.6vw,64px);line-height:1.2;letter-spacing:.2em}
.kami__r{font-family:var(--en);font-style:italic;font-size:13px;letter-spacing:.22em;color:var(--ink-2);margin-top:6px}
.kami__t{max-width:560px;margin:28px auto 0;font-size:15px;line-height:2.3}
.kami__t p+p{margin-top:1.2em}

/* 参画後の流れ */
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.6vw,36px);margin-top:clamp(48px,6vw,80px)}
.step{border-top:1px solid var(--ink);padding-top:16px}
.step__n{font-family:var(--en);font-style:italic;font-size:13px;letter-spacing:.24em;color:var(--shu)}
.step__ill{aspect-ratio:9/7;margin:12px 0;display:grid;place-items:center;background:var(--white);border:1px solid var(--line)}
.step__ill img{width:80%;height:80%;object-fit:contain}
.step__ill:empty{background:var(--paper-d)}
.step__t{font-size:15.5px;font-weight:600;line-height:1.8;letter-spacing:.06em}
.step__b{font-size:13.5px;line-height:2;margin-top:8px}

/* OSUSO */
.osuso{display:grid;grid-template-columns:200px 1fr;gap:clamp(28px,4vw,64px);align-items:center;margin-top:40px}
.osuso__logo{display:grid;place-items:center;aspect-ratio:1;background:var(--white);border:1px solid var(--line);padding:24px}
.osuso__logo img{max-width:100%;max-height:100%}

/* 最後のひとこと（文字だけ） */
.cta{text-align:center}
.cta__k{font-family:var(--fude);font-size:clamp(34px,5vw,72px);line-height:1.4;letter-spacing:.12em}
.cta__t{margin-top:28px;font-size:16px;line-height:2.3;letter-spacing:.08em}
.cta__t p+p{margin-top:1em}

/* 参画のお申し込み */
.join{text-align:center;max-width:640px;margin-inline:auto}
.btn{display:inline-block;padding:18px 44px;background:var(--shu);color:var(--white);border-radius:3px;font-size:15px;font-weight:600;letter-spacing:.14em;
  transition:background .3s var(--ez)}
.btn:hover{background:#8F3220}
.btn.is-off{background:var(--ink-2);pointer-events:none}
.join__note{margin-top:14px}
.join__act{margin-top:32px}

/* 節の地のリズム */
.sec--paper .card4__ill{background:var(--paper-d)}

/* ---- SP ---- */
@media (max-width:1023px){
  .cards4{grid-template-columns:repeat(2,1fr)}
  .card4:nth-child(2n){border-right:0}
  .card4:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .road{grid-template-columns:repeat(2,1fr)}
  .ladder{grid-template-columns:repeat(2,1fr)}
  .ladder__i:nth-child(2n){border-right:0}
  .ladder__i:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .steps4,.prog4{grid-template-columns:repeat(2,1fr)}
  .plan{grid-template-columns:1fr;gap:20px}
  .omoi{grid-template-columns:1fr}
  .omoi__side{position:static;display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:end}
  .msg{grid-template-columns:1fr}
  .msg__decl{writing-mode:horizontal-tb;height:auto}
  .msg__decl>span,.msg__decl>span:last-child,.msg__decl>.gap{margin:0;line-height:1.9;white-space:normal}
  .msg__decl>.gap{margin-top:.6em}
}
@media (max-width:720px){
  .stat3{grid-template-columns:1fr;border-top:0}
  .stat{border-right:0;border-top:1px solid rgba(247,244,238,.25);padding:28px 4px}
  .cards4,.road,.ladder{grid-template-columns:1fr}
  .card4,.ladder__i{border-right:0;border-bottom:1px solid var(--line)}
  .card4:last-child,.ladder__i:last-child{border-bottom:0}
  .road__i{border-right:0}
  .steps4,.prog4{grid-template-columns:1fr;gap:24px}
  .gift{grid-template-columns:1fr;gap:16px}
  .gift__k{white-space:normal}
  .osuso{grid-template-columns:140px 1fr;gap:20px}
  .tobira{font-size:96px;top:24px;right:8px}
  .omoi__side{grid-template-columns:120px 1fr}
  .plan--shima{margin-inline:-16px;padding-inline:16px}
  .road__chain{font-size:12px}
  .btn{display:block;padding:18px 20px}
}

/* ---- 08 更新版（2026-09-19）: DAY 1／夜／DAY 2 とフィールドの札 ---- */
.pop{max-height:min(72vh,560px);overflow:auto}
.pop__q{font-size:14px;font-weight:600;line-height:1.8;letter-spacing:.04em;margin-top:12px;padding-left:10px;border-left:2px solid var(--shu)}
.pop__q[hidden],.pop__list[hidden]{display:none}
.pop__list{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--line);font-size:12.5px;line-height:1.9}
.pop__list li{padding-left:14px;position:relative}
.pop__list li::before{content:"";position:absolute;left:0;top:.75em;width:6px;height:1px;background:var(--shu)}
.day{margin-top:clamp(56px,7vw,96px)}
.day__k{display:flex;align-items:baseline;gap:18px;font-size:clamp(19px,2vw,24px);font-weight:600;letter-spacing:.1em;line-height:1.6;padding-bottom:16px;border-bottom:1px solid var(--ink)}
.day__k .en{font-size:1.15em;font-weight:500;letter-spacing:.14em;color:var(--shu);white-space:nowrap}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:0;border-left:1px solid var(--line);background:var(--white)}
.field{padding:clamp(24px,3vw,40px) clamp(20px,2.6vw,36px) clamp(28px,3.2vw,44px);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.field__no{font-family:var(--en);font-style:italic;font-size:12.5px;letter-spacing:.24em;color:var(--shu)}
.field__h{font-size:clamp(17px,1.7vw,21px);font-weight:600;line-height:1.7;letter-spacing:.06em;margin-top:6px}
.field__x{font-family:var(--en);font-weight:400;color:var(--ink-2);margin:0 .5em}
.field__th{font-family:var(--fude);font-weight:400;font-size:1.15em;letter-spacing:.08em}
.field__q{margin-top:16px;font-size:15px;font-weight:600;line-height:1.9;letter-spacing:.04em;padding-left:12px;border-left:2px solid var(--shu)}
.field__q span{display:block;font-family:var(--en);font-style:italic;font-weight:500;font-size:12px;letter-spacing:.24em;color:var(--shu);margin-bottom:2px}
.field__b{font-size:13.5px;line-height:2.05;margin-top:12px}
.field__k{font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.24em;color:var(--ink-2);margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.field__l{list-style:none;margin:6px 0 0;padding:0;font-size:13px;line-height:2}
.field__l li{padding-left:14px;position:relative}
.field__l li::before{content:"";position:absolute;left:0;top:.95em;width:6px;height:1px;background:var(--shu)}
.field__soon{margin-top:12px;font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.2em;color:var(--shu)}
.night{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,4vw,64px);align-items:start;
  background:var(--indigo);color:var(--white);padding:clamp(28px,3.4vw,48px) clamp(24px,3vw,44px)}
.night__k{font-family:var(--fude);font-size:clamp(48px,5.6vw,80px);line-height:1;letter-spacing:.06em;white-space:nowrap}
.night__k small{display:block;font-family:var(--jp);font-size:14px;font-weight:600;letter-spacing:.18em;margin-top:12px}
.night__b{font-size:14px;line-height:2.05}
.night__b p+p{margin-top:.9em}
.night__q{font-size:clamp(17px,1.7vw,21px);font-weight:600;letter-spacing:.1em}
.night .field__k{color:rgba(247,244,238,.72);border-color:rgba(247,244,238,.28)}
.night .field__l li::before{background:#E8C98A}
@media (max-width:900px){
  .fields{grid-template-columns:1fr}
  .night{grid-template-columns:1fr;gap:16px}
  .night__k{font-size:48px}
  .night__k small{display:inline;margin-left:14px;font-size:13px}
}
@media (max-width:720px){
  .day__k{flex-direction:column;gap:4px}
  .night{margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut)}
}

/* ---- メニュー（薩摩会議: 右上の三本線→全画面 ／ shinpaku: 縦書きの項目一覧） ---- */
.menubtn{position:fixed;top:18px;right:18px;z-index:88;width:56px;height:56px;border-radius:50%;background:var(--white);border:1px solid var(--ink);
  display:grid;place-content:center;gap:5px;cursor:pointer;opacity:0;visibility:hidden;translate:0 -8px;
  transition:opacity .35s var(--ez),translate .35s var(--ez),visibility .35s}
.menubtn.is-on{opacity:1;visibility:visible;translate:0 0}
.menubtn span{display:block;width:22px;height:1.5px;background:var(--ink)}
.menubtn i{position:absolute;left:50%;top:100%;translate:-50% 4px;font-family:var(--en);font-style:italic;font-size:10.5px;letter-spacing:.2em;color:var(--ink-2)}
.menu-open .menubtn{opacity:0;visibility:hidden}
.menu{position:fixed;inset:0;z-index:95;background:var(--paper);overflow:auto;opacity:0;transition:opacity .38s var(--ez)}
.menu.is-open{opacity:1}
.menu__x{position:fixed;top:14px;right:18px;z-index:2;width:56px;height:56px;border-radius:50%;border:1px solid var(--ink);background:var(--white);
  font-family:var(--en);font-size:26px;line-height:1;color:var(--ink);cursor:pointer}
.menu__in{min-height:100%;display:grid;grid-template-rows:auto 1fr auto;align-items:center;justify-items:center;gap:clamp(24px,4svh,48px);padding:clamp(40px,6svh,72px) var(--gut) 40px}
.menu__logo{width:clamp(72px,10svh,110px);height:auto;opacity:.9}
/* ★縦書きの器では flex の「column」が横並び（右→左）になる。row にすると縦に積まれて潰れる */
.menu__nav{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(18px,2.4vw,36px);writing-mode:vertical-rl;height:auto}
.menu__nav a{display:block;font-size:clamp(16px,1.6vw,20px);font-weight:500;letter-spacing:.22em;line-height:1;padding:0 4px;position:relative;white-space:nowrap;
  transition:color .3s var(--ez)}
.menu__nav a .en{display:block;font-style:italic;font-weight:400;font-size:12px;letter-spacing:.24em;color:var(--ink-2);margin-left:10px}
.menu__nav a::after{content:"";position:absolute;left:50%;top:0;width:1px;height:0;background:var(--shu);transition:height .3s var(--ez)}
.menu__nav a:hover{color:var(--shu)}
.menu__nav a:hover::after{height:100%}
.menu__foot{font-size:13px;letter-spacing:.14em;color:var(--ink-2)}
.menu-open{overflow:hidden}
.menu-open .memoenter{display:none}
@media (max-width:720px){
  .menubtn{top:12px;right:12px;width:48px;height:48px}
  .menubtn i{display:none}
  .menu__x{top:10px;right:12px;width:48px;height:48px}
  .menu__in{padding-top:72px;gap:28px}
  .menu__nav{writing-mode:horizontal-tb;flex-direction:column;align-items:stretch;height:auto;gap:0;width:100%;max-width:360px}
  .menu__nav a{display:flex;width:100%;align-items:baseline;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px;letter-spacing:.12em;line-height:1.4}
  .menu__nav a .en{margin:0;min-width:96px;font-size:11px}
  .menu__nav a::after{display:none}
}

/* ---- OSUSOとの連携（HAGAIの節を国生みの見た目で） ---- */
.osuso__head{display:grid;grid-template-columns:auto 1fr;gap:20px clamp(20px,3vw,40px);align-items:start;margin-top:8px}
.osuso__mark{width:52px;height:auto;grid-row:1/3;margin-top:8px}
.osuso__sub{font-size:15px;line-height:2.1;letter-spacing:.08em;color:var(--ink-2)}
.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-2)}
.ostat__n{font-family:var(--en);font-size:clamp(36px,4.4vw,60px);font-weight:500;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}
.subh{margin-top:clamp(56px,7vw,88px);padding-bottom:14px;border-bottom:1px solid var(--ink);font-size:clamp(18px,1.9vw,22px);font-weight:600;letter-spacing:.12em;line-height:1.6}
/* プロジェクト一覧（部品に分解してHTMLで組む: 主画像／顔／ロゴ／文字） */
.l100{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--line)}
.lc{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);display:flex;flex-direction:column}
.lc__v{margin:0;aspect-ratio:16/9;overflow:hidden;background:var(--paper-d)}
.lc__v img{width:100%;height:100%;object-fit:cover;display:block;opacity:.94;transition:opacity .3s cubic-bezier(.4,.4,0,1),scale .3s cubic-bezier(.4,.4,0,1)}
.lc:hover .lc__v img{opacity:1;scale:1.045}
.lc__b{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.lc__name{font-size:16px;font-weight:600;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;border:1px solid var(--line)}
.lc__person{font-size:12.5px;font-weight:600;letter-spacing:.04em;line-height:1.5}
.lc__org{font-size:11.5px;color:var(--ink-2);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;letter-spacing:.03em}
.lc__tags{margin-top:auto;font-family:var(--en);font-size:11.5px;letter-spacing:.04em;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 10px}
/* メンバー */
.omem{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(18px,2.4vw,32px) clamp(14px,2vw,28px);margin-top:28px}
.omem li{text-align:left}
.omem__ph{aspect-ratio:1;overflow:hidden;background:var(--paper-d);border:1px solid var(--line)}
.omem__ph img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9)}
.omem__nick{margin-top:10px;font-family:var(--en);font-style:italic;font-size:11.5px;letter-spacing:.1em;color:var(--shu)}
.omem__n{font-size:15px;font-weight:600;letter-spacing:.08em;line-height:1.5;margin-top:2px}
.omem__r{font-size:11.5px;color:var(--ink-2);letter-spacing:.04em;line-height:1.5;margin-top:2px}
.omem__c{font-size:12.5px;line-height:1.8;margin-top:6px}
@media (max-width:1023px){
  .l100{grid-template-columns:repeat(2,1fr)}
  .omem{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .osuso__head{grid-template-columns:1fr}
  .osuso__mark{grid-row:auto}
  .ostats{grid-template-columns:1fr}
  .ostat{border-right:0;border-bottom:1px solid var(--line);text-align:left;display:grid;grid-template-columns:1fr auto;align-items:center}
  .ostat:last-child{border-bottom:0}
  .ostat__n{margin-top:0}
  .l100{grid-template-columns:1fr}
  .omem{grid-template-columns:repeat(2,1fr)}
}

/* ============================================================
   2026-09-19 夕 見せ方の組み替え（心拍そのまんま／タイトルは薩摩会議）
   - 部の頭: 全画面写真＋紙色の縦書きタイトル（心拍 実測: h2 20px→32pxに拡大 / リード15px lh2.13 / 英字 italic 20px / 英字サブ 15px 幅100右寄せ）
   - 節の見出し: 英字ラベル（薩摩 Montserrat 31px 600 → Cormorant italic 30px）左上＋縦書きの大きな和文見出しを右端に、本文は左
   ============================================================ */
.tobira{display:none}
/* 部の頭 */
.part{position:relative;height:100svh;min-height:600px;max-height:1000px;overflow:clip;display:grid;place-items:center;background:var(--indigo);color:var(--white)}
.part__bg{position:absolute;inset:0;z-index:0}
.part__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;
  animation:part-zoom both;animation-timeline:view();animation-range:entry 0% exit 100%}
@keyframes part-zoom{0%{scale:1.08}100%{scale:1}}
@supports not (animation-timeline:view()){.part__bg img{animation:none}}
.part::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(20,24,34,.25),rgba(20,24,34,.15) 50%,rgba(20,24,34,.45))}
.part__in{position:relative;z-index:2;display:grid;justify-items:center;gap:0;padding:0 var(--gut)}
.part__t{font-size:clamp(28px,3.2vw,40px);font-weight:600;letter-spacing:.2em;line-height:1.5;height:auto;max-height:36svh;
  text-shadow:0 1px 14px rgba(0,0,0,.25)}
.part__lead{margin-top:clamp(22px,3svh,36px);font-size:15px;line-height:2.13;letter-spacing:.1em;height:auto;max-height:44svh;text-shadow:0 1px 10px rgba(0,0,0,.25)}
.part__lead br{display:block}
.part__en{margin-top:clamp(24px,3.4svh,40px);font-family:var(--en);font-style:italic;font-size:20px;letter-spacing:.06em}
.part__sub{margin-top:6px;font-family:var(--en);font-style:italic;font-size:14px;line-height:1.54;letter-spacing:.04em;max-width:200px;text-align:center;opacity:.85}
/* 節の見出し（薩摩会議型） */
.label{font-size:clamp(22px,2.4vw,30px);font-style:italic;font-weight:400;letter-spacing:.06em;color:var(--ink);line-height:1.4}
.sec--indigo .label,.sec--night .label{color:var(--white)}
.sec__label{margin-bottom:clamp(28px,3.6vw,48px)}
.h2--v{float:right;height:auto;max-height:min(560px,64vh);margin:0 0 40px clamp(32px,4vw,64px);
  font-size:clamp(28px,3vw,38px);font-weight:700;line-height:1.7;letter-spacing:.14em;
  text-orientation:mixed}
.h2--v br{display:block}
.kaigi__intro .h2{font-size:clamp(28px,3vw,38px);font-weight:700;letter-spacing:.14em;line-height:1.7}
/* 見出しの横に流れる本文の幅を絞る（心拍の英文 636px と同じ物差し） */
.h2--v ~ .prose,.h2--v ~ .lead,.h2--v ~ div > .prose{max-width:640px}
/* 大きな塊は見出しの回り込みを解く */
.stat3,.cards4,.road,.ladder,.fields,.map,.day,.night,.plans,.gift,.kami,.steps4,.osuso,.ostats,.subh,.l100,.omem,.road__chain,.kaigi__close,.matsuri__close{clear:both}
.stat3{margin-top:clamp(40px,5vw,64px)}
/* 想い: 見出しが長いので3〜4列。文字を一段落として本文の幅を守る */
.omoi > div{display:flow-root}
.h2--v3{font-size:clamp(22px,2.2vw,28px);line-height:1.8;letter-spacing:.1em;margin-left:clamp(24px,3vw,44px)}
/* メッセージの縦書き宣言はそのまま、大きさだけ揃える */
.msg__decl{font-size:clamp(26px,2.8vw,36px);font-weight:700}
.h2--big{font-size:clamp(28px,3vw,38px);font-weight:700;line-height:1.8;letter-spacing:.12em}
/* 数字の節（藍）は見出し白 */
.sec--indigo .h2--v{color:var(--white)}
@media (max-width:900px){
  .h2--v{float:none;writing-mode:horizontal-tb;margin:0 0 28px;font-size:clamp(24px,5.6vw,30px);line-height:1.7}
  .h2--v br{display:none}
  .h2--v ~ .prose,.h2--v ~ .lead{max-width:none}
}
@media (max-width:720px){
  .part{min-height:78svh;max-height:none;height:auto;padding:96px 0}
  .part__t{font-size:30px}
  .label{font-size:22px}
}

/* ============================================================
   2026-09-19 夜 「文字の配置・タイトルの配置を心拍に」（新田さん）
   心拍「つくること」光の部の実測（1440 / 390）:
   - 縦書き太字の和文 17px（SP 16.6）/ 行間1.54 / 右端（右余白 16px / SP 12px）/ 高さ170px＝10字
   - 横組み本文 15px（SP 14.6）/ 行間1.53 / 左端 x=20 / 幅636 / 2段落目 padding-left 235（SP 44）
   - 縦→横の間 150px（SP 72）。真ん中は空ける。中央寄せの箱は使わない
   ============================================================ */
.wrap--sp{width:min(1400px,calc(100% - 40px));margin-inline:auto;position:relative;z-index:6}
.sec{padding:clamp(88px,10vw,140px) 0}
.shead{display:block;position:relative}
.shead .label{position:absolute;left:0;top:0;font-family:var(--en);font-style:italic;font-weight:400;font-size:20px;letter-spacing:.04em;line-height:1.5;color:var(--ink);margin:0}
.shead .osuso__mark{position:absolute;left:0;top:44px;width:52px}
/* ★縦書きの入れ物は「縦書きの通常ブロック」で。flex/grid の中に縦書きの flex を置くと幅の計算が狂い、中身が箱からはみ出す（実測: 箱222px／中身371px） */
.vstat{display:block;writing-mode:vertical-rl;text-orientation:mixed;height:clamp(340px,50vh,480px);margin-left:auto;width:fit-content;max-width:100%}
.vstat .en{text-combine-upright:all;font-family:var(--jp);font-weight:inherit}   /* 縦中横 */
.h2v{font-size:clamp(24px,2.2vw,30px);font-weight:700;line-height:1.6;letter-spacing:.1em;max-height:100%;margin:0}
.h2v br{display:block}
.vlead{font-size:17px;font-weight:700;line-height:1.54;letter-spacing:.02em;max-height:min(100%,18em);margin:0;margin-right:clamp(22px,2.6vw,36px)}
.vlead br{display:block}
.h2v .q,.vlead .q{color:var(--shu)}
.hbody{max-width:636px;margin-top:clamp(72px,10vw,150px);font-size:15px;line-height:2.05;letter-spacing:.03em}
.hbody p{margin:0}
.hbody p+p{margin-top:1.1em}
.hbody p+p:not(.pull):not(.small){padding-left:clamp(44px,16vw,235px)}
.hbody .big{font-size:17px;font-weight:700;line-height:1.9;letter-spacing:.06em}
.hbody .small{font-size:12.5px;color:var(--ink-2);margin-top:1.6em}
.hbody .pull{margin:1.6em 0;font-size:clamp(26px,3vw,40px)}
/* メッセージの縦書き宣言は vstat の中で */
.vdecl{font-size:clamp(24px,2.2vw,30px);letter-spacing:.14em;line-height:1;padding:0 10px 0 0;max-height:none}
.vdecl>span{display:block;line-height:1;white-space:nowrap;margin-left:clamp(14px,1.6vw,22px)}
.vdecl>span:last-child{margin-left:0}
.vdecl>.gap{margin-left:clamp(30px,3.4vw,48px)}
.vdecl .q{display:inline;margin:0}
/* 想いの写真（心拍: 写真の下に縦書きの短い見出し 14px 700） */
.fig{margin:clamp(40px,6vw,88px) 0 0;display:block}
.fig .omoi__photo{width:min(320px,70vw);aspect-ratio:3/4}
.fig__cap{margin-top:16px;font-size:14px;font-weight:700;line-height:1.55;letter-spacing:.08em;height:auto}
.fig__cap b{font-size:16px;font-weight:700}
.omoi{display:block}
/* 藍・夜の節 */
.sec--indigo .h2v,.sec--indigo .vlead,.sec--indigo .shead .label,.sec--indigo .hbody{color:var(--white)}
.sec--indigo .h2v .q,.sec--indigo .vlead .q{color:#E8C98A}
.sec--night .h2v,.sec--night .vlead,.sec--night .shead .label,.sec--night .hbody{color:var(--white)}
.sec--indigo .hbody .small,.sec--night .hbody .small{color:rgba(247,244,238,.72)}
/* 大きな塊は本文の下に、通常の間隔で */
.stat3,.cards4,.road,.ladder,.map,.plans,.gift,.kami,.steps4,.osuso,.ostats,.subh,.l100,.omem,.road__chain{margin-top:clamp(56px,7vw,96px)}
.hbody+.stat3,.hbody+.cards4,.hbody+.map,.hbody+.kami,.hbody+.road{margin-top:clamp(56px,7vw,96px)}
.stat3{clear:none}
.day{margin-top:clamp(56px,7vw,96px)}
@media (max-width:720px){
  .wrap--sp{width:calc(100% - 32px)}                 /* 心拍SP: 左右16px */
  .shead .label{position:static;font-size:18px;margin-bottom:16px}
  .shead .osuso__mark{position:static;margin:0 0 12px}
  .vstat{height:clamp(280px,42svh,360px)}
  .vlead{margin-right:18px}
  .hbody{margin-top:72px;font-size:14.5px;line-height:2.0}
  .hbody p+p:not(.pull):not(.small){padding-left:44px}
  .vdecl{font-size:20px}
  .vdecl>span{margin-left:10px}
  .vdecl>.gap{margin-left:22px}
  .h2v{font-size:22px}
  .vlead{font-size:15px;max-height:min(100%,18em);max-width:44%}
  .vlead br{display:none}
  .vstat{max-width:100%}
  /* SPで見出し＋リードが画面幅に収まらない節は、リードを見出しの下に横組みで */
  .vstat--wrap{display:flex;flex-direction:column;align-items:flex-end;writing-mode:horizontal-tb;height:auto;gap:16px}
  .vstat--wrap .h2v{writing-mode:vertical-rl;height:auto;max-height:min(60svh,440px)}
  .vstat--wrap .h2v--long{font-size:19px;max-height:min(64svh,480px)}
  .vstat--wrap .vlead{writing-mode:horizontal-tb;max-width:none;max-height:none;margin:0;text-align:right;font-size:14px;line-height:1.9}
  .vstat--wrap .vlead br{display:block}
  .night{margin-inline:-16px;padding-inline:16px}
  .part{min-height:78svh}
}

/* ============================================================
   2026-09-20 新田さんメモ75件の反映
   ============================================================ */
/* #22 #23 #42 部の頭の両脇に大きな一文字（心拍の表紙「共」「農」の型。筆文字・紙色） */
.part__kanji{position:absolute;z-index:2;top:50%;translate:0 -50%;font-family:var(--fude);font-size:clamp(72px,11vw,160px);line-height:1;
  color:var(--white);opacity:.92;pointer-events:none;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.part__kanji--l{left:clamp(16px,4vw,64px)}
.part__kanji--r{right:clamp(16px,4vw,64px)}
/* #2 タイトルの強調（薩摩会議の大きさに一段寄せる） */
.vstat{height:clamp(360px,52vh,520px)}
.h2v{font-size:clamp(26px,2.6vw,34px)}
.h2v--xl{font-size:clamp(32px,3.2vw,44px);letter-spacing:.12em;max-height:none;height:auto}
.vstat:has(.h2v--xl){height:auto}
/* #1 宣言のコピーを大きく */
.sengen__copy{font-size:clamp(19px,2vw,26px);font-weight:700;letter-spacing:.16em;height:clamp(300px,50svh,460px);padding:0 14px 0 6px;width:max-content;overflow:visible}
/* #11 #16 メッセージ: 横組みのサブ ＋ 募集の箱 */
.msgsub{max-width:636px;margin-top:clamp(40px,5vw,64px);font-size:16px;font-weight:600;line-height:2.2;letter-spacing:.1em}
.boshu{margin-top:clamp(48px,6vw,80px);padding:clamp(28px,3.4vw,48px) clamp(24px,3vw,44px) 0;border:1px solid var(--ink);background:var(--white);text-align:center;overflow:hidden}
.boshu__n{font-family:var(--fude);font-size:clamp(44px,6vw,88px);line-height:1;letter-spacing:.14em;color:var(--shu)}
.boshu__t{margin-top:16px;font-size:clamp(17px,1.8vw,22px);font-weight:700;letter-spacing:.12em;line-height:1.8}
.boshu__ill{margin:28px calc(var(--gut)*-1) 0;line-height:0}
.boshu__ill img{width:100%;height:auto;display:block}
/* #49 参画枠の見出し下の帯 */
.frieze{margin:clamp(40px,5vw,72px) 0 0;line-height:0}
.frieze img{width:100%;height:auto;display:block}
/* #19 #24 #27 見出し下の絵 */
.headill{margin:clamp(40px,5vw,72px) 0 0;width:min(560px,100%)}
.headill img{width:100%;height:auto;display:block}
.headill--tall{width:min(320px,70%)}
/* #12-14 数字の絵 */
.stat__ill{width:120px;height:90px;margin:0 0 16px}
.stat__ill img{width:100%;height:100%;object-fit:contain}
/* #33-40 フィールドの絵 */
.field__ill{margin:0 0 18px;height:150px;display:grid;place-items:center}
.field__ill img{max-width:82%;max-height:100%;object-fit:contain;display:block}
/* #52-55 プランの絵 ／ #50 贈り物の絵 */
.plan__ill{margin:16px 0 0;width:min(200px,100%);aspect-ratio:9/7}
.plan__ill img{width:100%;height:100%;object-fit:contain;display:block}
.gift{grid-template-columns:auto auto 1fr}
.gift__ill{width:140px;height:110px}
.gift__ill img{width:100%;height:100%;object-fit:contain;display:block}
/* #31 夜の区画（祭を合体）: 藍の大きな区画の中に、帯＋夜の地図＋宿8軒＋祭のプログラム＋締め */
.nightzone{margin:clamp(40px,5vw,64px) -20px 0;padding:clamp(40px,5vw,72px) 20px clamp(48px,6vw,80px);background:#1E2F40;color:var(--white)}
.nightzone .night{margin:0;padding:0;background:none}
.nightzone .map{margin-top:clamp(48px,6vw,80px);background:radial-gradient(ellipse at 50% 55%,rgba(143,181,190,.26),rgba(143,181,190,0) 64%)}
.nightzone .pin__dot{background:#E8C98A;color:var(--ink);border-color:#1E2F40;box-shadow:0 0 0 1px #E8C98A}
.nightzone .pin::before{border-color:#E8C98A}
.nightzone .pin__name{color:var(--white);background:rgba(30,47,64,.8)}
.nightzone .pop{background:var(--white);color:var(--ink);border-color:var(--white)}
.nightzone .idx{border-color:rgba(247,244,238,.22)}
.nightzone .idx button{border-color:rgba(247,244,238,.22);color:var(--white)}
.nightzone .idx button:hover,.nightzone .idx button.is-on{background:rgba(247,244,238,.08)}
.nightzone .idx .no{color:#E8C98A}
.nightzone .idx .th{color:rgba(247,244,238,.72)}
.nightzone .small{color:rgba(247,244,238,.7)}
.nightzone .prog4{margin-top:clamp(48px,6vw,72px)}
.nightzone .matsuri__close{margin-top:clamp(40px,5vw,64px)}
/* #48 参画枠は藍。カードは紙白のまま */
.sec--indigo .ladder,.sec--indigo .plans,.sec--indigo .gift{color:var(--ink)}
.sec--indigo .kami,.sec--indigo .kami__r,.sec--indigo .msgsub{color:var(--white)}
.sec--indigo .plans{border-top-color:rgba(247,244,238,.25)}
.sec--indigo .plan{border-bottom-color:rgba(247,244,238,.25);color:var(--white)}
.sec--indigo .plan__c,.sec--indigo .plan__b,.sec--indigo .ret__t,.sec--indigo .ret__b,.sec--indigo .plan__k{color:var(--white)}
.sec--indigo .plan__p i,.sec--indigo .plan__plus{color:rgba(247,244,238,.72)}
.sec--indigo .plan__plus{border-bottom-color:rgba(247,244,238,.25)}
.sec--indigo .plan__p,.sec--indigo .plan__no{color:#E8C98A}
.sec--indigo .ret__ill{background:rgba(247,244,238,.08);border-color:rgba(247,244,238,.25)}
.sec--indigo .plan--shima{background:rgba(247,244,238,.06)}
.sec--indigo .ladder{border-color:rgba(247,244,238,.25)}
.sec--indigo .ladder__i{border-color:rgba(247,244,238,.25)}
.sec--indigo .ladder__p{color:var(--shu)}
.sec--indigo .gift{background:var(--white)}
.sec--indigo .gift .gift__k,.sec--indigo .gift .gift__b{color:var(--ink)}
.sec--indigo .frieze{background:var(--white);padding:16px 0}
/* #62 #63 OSUSO */
.label--osuso{display:flex;align-items:center;gap:14px}
.label--osuso .osuso__mark{position:static;width:44px;margin:0}
.osuso--stack{display:block;margin-top:clamp(48px,6vw,80px)}
.osuso__logo--big{width:min(360px,80%);margin:0 auto clamp(28px,3.4vw,44px);padding:32px;aspect-ratio:auto}
.osuso--stack .prose{max-width:636px}
/* #64 #65 メンバー一覧の余白とSP3列 */
.omem{gap:clamp(32px,4vw,56px) clamp(18px,2.4vw,32px)}
.omem__nick{margin-top:14px}
.omem__c{margin-top:10px}
.subh{margin-top:clamp(64px,8vw,104px)}
@media (max-width:720px){
  .part__kanji{font-size:64px}
  .part__kanji--l{left:10px}
  .part__kanji--r{right:10px}
  .h2v--xl{font-size:30px}
  .sengen__copy{font-size:18px;width:auto;max-width:100%;padding:0}   /* ★716行目の width:max-content に後勝ちで打ち消す */
  .boshu__ill{margin-inline:-16px}
  .nightzone{margin-inline:-16px;padding-inline:16px}
  .gift{grid-template-columns:1fr}
  .gift__ill{width:120px;height:96px}
  .omem{grid-template-columns:repeat(3,1fr);gap:22px 10px}
  .omem__n{font-size:13px}
  .omem__r{font-size:10.5px}
  .omem__c{font-size:11.5px;line-height:1.7}
  .headill{width:100%}
  .stat__ill{width:96px;height:72px}
}
/* #74 追加した枠: お金の使いみち／あゆみ */
.use3{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(56px,7vw,96px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.use{padding:clamp(22px,2.6vw,36px) clamp(14px,2vw,28px);border-right:1px solid var(--line)}
.use:last-child{border-right:0}
.use__k{font-size:13.5px;font-weight:600;letter-spacing:.06em;line-height:1.8}
.use__n{font-family:var(--en);font-size:clamp(40px,5vw,64px);font-weight:500;line-height:1.1;color:var(--shu);margin-top:8px}
.use__n small{font-size:.4em;color:var(--ink);margin-left:.1em}
.use__b{font-size:12.5px;color:var(--ink-2);margin-top:8px}
.ayumi{list-style:none;margin:clamp(56px,7vw,96px) 0 0;padding:0;max-width:760px;border-top:1px solid var(--ink)}
.ayumi li{display:grid;grid-template-columns:96px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.ayumi__y{font-family:var(--en);font-size:22px;font-weight:500;color:var(--shu);line-height:1.4}
.ayumi__t{font-size:15.5px;font-weight:600;letter-spacing:.06em;line-height:1.8}
.ayumi__b{font-size:13px;line-height:1.9;color:var(--ink-2);margin-top:2px}
@media (max-width:720px){.use3{grid-template-columns:1fr}.use{border-right:0;border-bottom:1px solid var(--line)}.use:last-child{border-bottom:0}.ayumi li{grid-template-columns:64px 1fr;gap:12px}.ayumi__y{font-size:18px}}

/* 2026-09-20 水沼さん「メンバーの写真の枠がでかい。少し小さくしてバランスを」→「5カラムで」
   5列のまま列の間を広げて枠を小さく: PC 252px角→216px角（間 28→80px）。中間幅は4列、SPは3列のまま */
/* →「もう少しこの間詰めて」→「左寄せになってる」: 幅は見出しの罫線と同じ全幅に戻し、間 56px・枠 235px角（元の252より少し小さい） */
.omem{grid-template-columns:repeat(5,1fr);gap:clamp(32px,4vw,56px) clamp(24px,3.9vw,56px);max-width:none}
.omem__nick{margin-top:12px}
@media (max-width:1023px){.omem{grid-template-columns:repeat(4,1fr);gap:32px clamp(20px,3.5vw,36px)}}
@media (max-width:720px){.omem{grid-template-columns:repeat(3,1fr);gap:22px 10px}}

/* ============================================================
   2026-09-24 雲仙みかど（unzen-mikado.net）の型: 霞の雲がゆっくり流れる
   雲は _素材/雲/make_clouds.py で作った平たい形（黄土＋斜線の束／白）。
   ・境目の雲 .kumos--edge: 部の頭（写真）の下端にまたがり、次の節へかかる
   ・脇の雲 .kumos--top/bottom: 節の端から半分だけ顔を出す（本文の後ろ）
   動き: 左右にゆっくり行き来（参考は steam 5〜10s・±10px。ここは幅が大きいので ±28px・11〜17s）
   ============================================================ */
.sengen{overflow:visible;overflow-x:clip}
.kumos{position:absolute;left:0;right:0;height:0;z-index:5;pointer-events:none}
.kumos--edge{top:0}
.kumos--top{top:clamp(40px,6vw,90px);z-index:1}
.kumos--bottom{bottom:clamp(120px,14vw,220px);z-index:1}
.kumo{position:absolute;max-width:none;height:auto;display:block;
  animation:kumo-drift var(--dur,14s) var(--ez) infinite;animation-delay:var(--dl,0s);will-change:translate}
@keyframes kumo-drift{0%,100%{translate:0 0}50%{translate:var(--dx,28px) 0}}
/* 境目: 白い霞を写真の下端に半分かぶせる／黄土は反対側にずらして重ねる */
.kumo--el{left:-12vw;width:min(62vw,900px);top:0;transform:translateY(-74%);--dur:16s}
.kumo--er{right:-10vw;width:min(46vw,660px);top:0;transform:translateY(-70%);--dur:12s;--dx:-24px;--dl:-4s}
html{overflow-x:clip}
.sec{overflow-x:clip}   /* 脇の雲が画面の外へはみ出す分を切る（縦は境目の雲のため切らない） */
/* 脇: 画面の端から半分だけ */
.kumo--sr{right:-18vw;width:min(40vw,560px);--dur:15s;--dx:-30px;--dl:-6s}
.kumo--sl{left:-18vw;width:min(40vw,560px);--dur:17s;--dl:-2s}
.kumos--top .kumo,.kumos--bottom .kumo{opacity:.9}
/* 挿絵もふわりと浮かせる（参考の fuwafuwa: 5s・20px → 控えめに 6s・8px） */
.headill img,.step__ill img,.kami__ill img{animation:fuwa 6s var(--ez) infinite}
@keyframes fuwa{0%,100%{translate:0 0}50%{translate:0 8px}}
@media (max-width:720px){
  .kumo--el{width:88vw;left:-24vw}
  .kumo--er{width:62vw;right:-22vw}
  .kumo--sr,.kumo--sl{width:58vw}
  .kumo--sr{right:-32vw}.kumo--sl{left:-32vw}
}
/* 2026-10-04 視差効果を減らす でも動かす（水沼さんのiPhoneはON・8/27決定 memory feedback_mobile_animation_reduced_motion）。この中の animation:none を外した。戻すなら _rm退避 の元ファイル */@media (prefers-reduced-motion:reduce){.kumo,.headill img,.step__ill img,.kami__ill img{}}

/* ============================================================
   2026-09-27 新田さんのメモ（#76〜#136）
   ============================================================ */
/* 見出し（縦書き）の左の余白に絵 .shead__ill ─ PCは見出しと英字ラベルの間、SPは見出しの左の列 */
.shead__ill{position:absolute;left:22%;top:50%;translate:0 -50%;width:min(36%,500px);height:88%;margin:0;
  display:flex;align-items:center;justify-content:center;pointer-events:none}
.shead__ill img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.shead__ill--portrait{align-items:flex-end;gap:14px;pointer-events:auto}
.shead__ill--portrait .omoi__photo{width:min(240px,62%);aspect-ratio:3/4;flex:none}
.shead__ill--portrait .fig__cap{margin:0}
@media (max-width:720px){
  .shead{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:stretch}
  .shead .label{grid-column:1/-1}
  .shead__ill{position:static;translate:none;width:auto;height:auto;grid-column:1;grid-row:2;min-height:0}
  .shead__ill img{max-height:min(100%,380px)}
  .shead>.vstat{grid-column:2;grid-row:2;margin-left:0}
  .shead__ill--portrait{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:10px}
  .shead__ill--portrait .omoi__photo{width:100%;max-width:190px}
  .shead__ill--portrait .fig__cap{writing-mode:horizontal-tb}
  .shead__ill--portrait .fig__cap br{display:none}
  .shead__ill--portrait .fig__cap b{margin-left:.6em}
}
/* #80 想いのリードを吹き出しに */
.vlead--bubble{position:relative;writing-mode:horizontal-tb;align-self:flex-end;background:var(--white);border:1px solid var(--ink);
  border-radius:18px;padding:14px 20px;font-size:clamp(17px,1.6vw,20px);line-height:1.8;letter-spacing:.08em;max-height:none;margin:22px 0 0}
.vlead--bubble::after{content:"";position:absolute;right:34px;top:-9px;width:16px;height:16px;background:var(--white);
  border-left:1px solid var(--ink);border-top:1px solid var(--ink);transform:rotate(45deg)}
.vstat:has(.vlead--bubble){height:auto;display:flex;flex-direction:column;align-items:flex-end;writing-mode:horizontal-tb}
.vstat:has(.vlead--bubble) .h2v{writing-mode:vertical-rl;max-height:min(60svh,480px)}
@media (max-width:720px){.vstat--wrap .vlead--bubble{font-size:16px;text-align:left;padding:10px 14px;line-height:1.75}}
/* #96 #97 とは: 3行の見出し（他の節と同じ大きさ） */
.vstat--auto{height:auto}
.h2v--about{max-height:none}
@media (max-width:720px){.vstat--auto{height:auto}.h2v--about{font-size:20px;letter-spacing:.06em}}
/* #81 #82 #95 #103 強調の一文を大きく */
.hbody .big{font-size:clamp(18px,1.6vw,21px);letter-spacing:.08em;line-height:1.85}
.big--center{text-align:center;padding-left:0!important}
.msgsub{font-size:clamp(18px,1.7vw,21px);font-weight:700;line-height:2.1}
.msgsub{border-left:3px solid var(--shu);padding-left:18px}
/* #108 祭の一文 */
.night__q--em{font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:.12em;color:#E8C98A}
/* スマホは本文の字下げをやめて、左端をそろえる（#78 #85〜 #90 #93 #99 #102 #105 #106 #110 #124） */
@media (max-width:720px){
  .hbody p+p:not(.pull):not(.small){padding-left:0}
  .hbody .big{font-size:18px}
  .msgsub{font-size:17px;padding-left:14px}
}
/* #130 実績を活動カードに */
.acts{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);margin-top:clamp(48px,6vw,80px)}
.act{background:var(--white);border:1px solid var(--line);padding:0 0 20px}
.act__ph{aspect-ratio:4/3;background:var(--paper-d);display:grid;place-items:center;font-size:11.5px;color:var(--ink-2);letter-spacing:.06em}
.act__at{margin:14px 18px 0;font-family:var(--en);font-style:italic;font-size:12.5px;color:var(--shu);letter-spacing:.1em}
.act__t{margin:2px 18px 0;font-size:16px;font-weight:700;letter-spacing:.06em;line-height:1.6}
.act__t small{margin-left:.6em;font-size:12px;font-weight:600;color:var(--ink-2)}
.act__b{margin:8px 18px 0;font-size:13px;line-height:1.85;letter-spacing:.03em}
@media (max-width:1023px){.acts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.acts{gap:12px}.act__t{font-size:14.5px;margin-inline:12px}.act__at,.act__b{margin-inline:12px}.act__b{font-size:12.5px}}
/* #135 メニューの × を丸の真ん中に（文字の×は書体で上下にずれる→線で描く） */
.menu__x{font-size:0;display:block;padding:0}
.menu__x::before,.menu__x::after{content:"";position:absolute;left:50%;top:50%;width:44%;height:1.5px;background:var(--ink);translate:-50% -50%}
.menu__x::before{rotate:45deg}.menu__x::after{rotate:-45deg}
/* #134 宣言の大きな絵（雲仙みかどのトップの絵の型）／#76 SPはコピーと絵の間を詰める */
.sengen__sea--main{height:auto;overflow:visible;width:min(1500px,100%);margin:clamp(32px,5svh,64px) auto 0;padding:0 var(--gut) clamp(40px,6vw,80px)}
.sengen__sea--main img{width:100%;height:auto;object-fit:initial;animation:fuwa 8s var(--ez) infinite}
@media (max-width:720px){.sengen__sea--main{margin-top:20px;padding:0 0 32px}}
/* 2026-10-04 視差効果を減らす でも動かす（水沼さんのiPhoneはON・8/27決定 memory feedback_mobile_animation_reduced_motion）。この中の animation:none を外した。戻すなら _rm退避 の元ファイル */@media (prefers-reduced-motion:reduce){.sengen__sea--main img{}}
/* OSUSOの節は英字ラベルの下にマークが付くので、絵を右へずらす（タブレット幅で重なった） */
@media (min-width:721px) and (max-width:1199px){#osuso .shead__ill{left:34%;width:min(32%,460px)}}
/* 2026-09-27 水沼さん「雲で文字が隠れる」→ 部の扉の文字は雲より手前に。境目の雲は写真へのせり上がりを減らし、SPは左右の端へ寄せる */
.part__in,.part__kanji{position:relative;z-index:7}
.part__kanji{position:absolute}
.kumo--el{transform:translateY(-55%)}
.kumo--er{transform:translateY(-50%)}
@media (max-width:720px){
  .kumo--el{width:62vw;left:-30vw}
  .kumo--er{width:48vw;right:-22vw}
}
/* 2026-09-27 水沼さん「文字とイラストが被って見えづらい」: フィールドの挿絵が枠(150px)で止まらず文字の上へはみ出していた
   （grid の中の max-height:100% が効かない）→ 高さを直接指定し、はみ出しは切る */
.field__ill{height:clamp(150px,16vw,200px);overflow:hidden;display:flex;align-items:center;justify-content:center}
.field__ill img{height:100%;width:auto;max-width:100%;max-height:none;object-fit:contain}
/* 2026-09-28 #133 申込: QR＋ボタン（FUKUWAKEと同じ形） */
.qr{display:grid;grid-template-columns:200px 1fr;gap:48px;align-items:center;max-width:820px;margin:48px auto 0;padding:clamp(28px,4vw,44px);background:var(--white);border:1px solid var(--line);text-align:left}
.qr__code{margin:0}.qr__code img{display:block;width:100%;height:auto}
.qr__h{font-size:clamp(18px,1.8vw,22px);font-weight:700;letter-spacing:.08em;margin:0 0 10px}
.qr__b>p{margin:0;font-size:14.5px;line-height:1.9;color:var(--ink-2)}
.qr__act{margin-top:22px!important}
.qr__note{margin:24px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.qr__note li{padding:10px 0 10px 16px;border-bottom:1px solid var(--line);font-size:12.5px;line-height:1.7;color:var(--ink-2);position:relative}
.qr__note li::before{content:"";position:absolute;left:0;top:1.3em;width:8px;height:1px;background:var(--shu)}
@media (max-width:720px){.qr{grid-template-columns:1fr;gap:20px;justify-items:start}.qr__code{width:160px}}

/* ============================================================
   2026-09-29 新田さんのメモ（#137〜#189）
   ============================================================ */
/* 英字ラベルの下に日本語の目次名 */
.label__jp{display:block;margin-top:6px;font-family:var(--jp);font-style:normal;font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--ink-2)}
.sec--indigo .label__jp{color:rgba(247,244,238,.72)}
@media (max-width:720px){.label__jp{font-size:12px;margin-top:4px}}
/* PC: 縦書きの見出し・リードは <br> の位置でだけ列を分ける（高さで折り返して「ら、」「が、」が1〜2文字だけ次の列に落ちていた #173〜#179） */
@media (min-width:721px){
  .vstat{height:auto}
  .vstat .h2v,.vstat .vlead{max-height:none}
}
/* 宣言: 絵を外したので下の余白をとる（#137 #171） */
.sengen{padding-bottom:clamp(96px,12svh,140px)}
@media (max-width:720px){.sengen{padding-bottom:72px}}
/* 現状の出典は小さく（#142 #148） */
#genjo .hbody .small{font-size:10.5px;line-height:1.7;letter-spacing:.02em}
/* 課題の3点（#141） */
.kpts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.kpts li{padding:22px 0;border-bottom:1px solid var(--line)}
.kpts__n{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--shu);margin:0 0 6px!important}
.kpts__n .en{font-size:18px;margin-right:2px}
.kpts li p+p{padding-left:0!important;margin-top:0!important}
.kpts+.big{margin-top:2em!important}
/* 会計上の取り扱い（HAGAI・FUKUWAKEの雛形 #162） */
.acct{margin-top:clamp(48px,6vw,72px);background:var(--white);border:1px solid var(--line);padding:28px 30px;max-width:860px}
.acct__t{font-size:18px;font-weight:700;letter-spacing:.08em}
.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-2)}
.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-2)}
.acct .small{margin-top:16px;font-size:11.5px;line-height:1.8;color:var(--ink-2)}
@media (max-width:720px){.acct{padding:22px 18px}.acct__dl div{grid-template-columns:1fr;gap:4px}}
/* 募集の一文: 中央はSPだけ（#181） */
@media (max-width:720px){.big--center-sp{text-align:center;padding-left:0!important}}
/* 贈り物はプラン詳細の線の下（#183） */
.gift--in{margin:0 0 clamp(40px,5vw,64px)}
/* 島・OSUSO の絵を他の節と同じ大きさに（#166 #177） */
@media (min-width:721px){#katsudo .shead__ill{width:min(44%,640px);height:96%}}
/* フィールドマップはPCで大きすぎ（#180）: 昼・夜とも最大 880px */
@media (min-width:1024px){.map{max-width:880px;margin-left:auto;margin-right:auto}}
/* 申込: SPは中央揃え（#169 #170） */
@media (max-width:720px){.qr{justify-items:center;text-align:center}.qr__code{margin:0 auto}.qr__note{text-align:left}}
/* フッター: powered by OSUSO（#187） */
.ft__by{margin-top:22px;font-family:var(--en);font-size:12px;letter-spacing:.14em;color:rgba(247,244,238,.7);display:flex;align-items:center;justify-content:center;gap:10px}
.ft__by img{height:22px;width:auto;background:var(--white);padding:4px 10px;border-radius:4px;box-sizing:content-box}
/* 発起人の写真（#138） */
.omoi__photo--img{padding:0;overflow:hidden;background:none;border:0}
.omoi__photo--img img{width:100%;height:100%;object-fit:cover;display:block}
.act__ph--img{display:block;overflow:hidden}.act__ph--img img{width:100%;height:100%;object-fit:cover;display:block}
@media (min-width:721px){.vstat:has(.vlead--bubble) .h2v{max-height:none}}
/* PC: 見出しを高さ自動にしたので、絵の大きさがそろうよう見出しまわりの高さに下限（短い見出しの節で絵が小さくなった）*/
@media (min-width:721px){.shead:has(.shead__ill){min-height:clamp(380px,36vw,500px)}}
@media (max-width:720px){.sengen__copy{font-size:16px;letter-spacing:.08em}}
/* 2026-09-30 新田さんメモ #190〜#253 */
br.sp{display:none}
@media (max-width:720px){br.sp{display:inline}}
.nw{white-space:nowrap}
@media (min-width:721px){.nw-pc{white-space:nowrap}}
@media (max-width:720px){.nw-sp{white-space:nowrap}}
/* #190 ほか: 境目の雲を2/3に（PC） */
@media (min-width:721px){
  .kumo--el{width:min(41vw,600px);left:-8vw}
  .kumo--er{width:min(31vw,440px);right:-7vw}
}
/* #191: 宣言の節を縦1.5倍・最後の行が次の節へはみ出さない（列の高さを文字に合わせる） */
@media (min-width:721px){
  .sengen{padding:clamp(200px,26svh,300px) 0}
  .sengen__copy{height:auto}
  .sengen__kanji{top:clamp(200px,26svh,300px)}
}
/* #246: SPは文を節の縦横中央に */
@media (max-width:720px){
  .sengen{padding:0;min-height:0;display:grid;align-content:center;min-height:clamp(420px,70svh,560px)}
  .sengen__body{justify-items:center}
  .sengen__copy{height:auto}   /* 716行目の高さ指定が残って文が上に寄っていた */
}
/* #212: 白い区切り線を贈り物の箱の上に出す（箱はプラン詳細の先頭） */
.plans > .gift--in{margin:clamp(40px,5vw,64px) 0 clamp(40px,5vw,64px)}
/* #214〜#218: 各プランの一言を1.5倍 */
@media (min-width:721px){.plan__c{font-size:24px;line-height:1.6}}
@media (max-width:720px){.plan__c{font-size:19px;line-height:1.7}}
/* #236: リーダー100のロゴを本文の右へ */
@media (min-width:721px){
  .osuso--stack{margin-top:clamp(120px,11vw,170px);display:grid;grid-template-columns:auto 240px;justify-content:start;gap:clamp(32px,4vw,56px);align-items:center}
  .osuso--stack .osuso__logo--big{order:2;width:100%;margin:0;padding:24px}
  .osuso--stack .prose{order:1;max-width:none}
}
/* #245: フッターのOSUSOロゴは白・背景なし */
.ft__by img{height:26px;width:auto;background:none;padding:0;border-radius:0}
/* #247〜#249 #253: SPでも指定の位置で列を替える（この4節だけ。ほかの節の縦リードはSPで流し込みのまま） */
@media (max-width:720px){
  :is(#ayumi,#katsudo,#kaigi,#okane) .vlead{max-height:none;max-width:none;font-size:14px}
  :is(#ayumi,#katsudo,#kaigi,#okane) .vlead br:not(.pc){display:block}
}
/* 2026-10-02 新田さんメモ #259〜#260 */
/* #259 メンバー一覧と締めの一文の間をあける */
.osclose{margin-top:clamp(64px,8vw,104px);text-align:center;font-family:var(--fude);font-size:clamp(20px,2.2vw,28px);letter-spacing:.12em;line-height:1.6}
.outlink{margin-top:18px;text-align:center;font-size:14px;letter-spacing:.08em}
.outlink a{color:inherit;text-underline-offset:4px}
.outlink a span{margin-left:.4em}
/* #260 「あなたも、国生み柱へ。」をスマホでも1行に */
@media (max-width:720px){.cta__k{font-size:clamp(22px,7.2vw,31px);letter-spacing:.04em;white-space:nowrap}}
/* 2026-10-02 プログラム変更: 8フィールドの流れの4行（締めの文の前に独立させる） */
.kaigi__flow{margin-top:clamp(56px,7vw,96px)}
/* 2026-10-07 追従ボタン「国生み柱になる」（10/07 MTG 新田さん）。右下・表紙を過ぎたら出る・申込の節で隠れる */
.fab{position:fixed;right:clamp(16px,2.4vw,32px);bottom:calc(clamp(16px,2.4vw,28px) + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:10px;padding:7px 26px 7px 7px;background:var(--shu);color:var(--white);font-family:"Shippori Mincho",serif;font-weight:700;font-size:16px;letter-spacing:.1em;line-height:1;border-radius:999px;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -3px 0 #7d2b1b,0 10px 22px rgba(0,0,0,.28);opacity:0;transform:translateY(24px) scale(.92);pointer-events:none;transition:opacity .35s ease,transform .6s cubic-bezier(.34,1.56,.64,1)}
.fab img{width:44px;height:44px;object-fit:contain;background:var(--white);border-radius:50%;padding:7px;animation:fabfuwa 3.6s var(--ez) infinite}
.fab::after{content:"";position:absolute;inset:0;border-radius:inherit;animation:fabpulse 2.6s ease-out infinite;pointer-events:none}
.fab.is-on{opacity:1;transform:none;pointer-events:auto}
@media (hover:hover){.fab.is-on:hover{transform:translateY(-3px) scale(1.03)}}
.fab:active{transform:scale(.96)!important}
@keyframes fabfuwa{0%,70%,100%{rotate:0deg}76%{rotate:-10deg}82%{rotate:8deg}88%{rotate:-4deg}94%{rotate:2deg}}
@keyframes fabpulse{0%{box-shadow:0 0 0 0 rgba(168,61,40,.5)}75%,100%{box-shadow:0 0 0 16px rgba(168,61,40,0)}}
@media (max-width:720px){.fab{font-size:15px;padding-right:20px}.fab img{width:40px;height:40px;padding:6px}}
/* 2026-10-07 新田さん: 参画枠の限定数（6万24名・9万24名・300万8名） */
.plan__lim,.ladder__lim{display:inline-block;margin-top:10px;padding:5px 14px 4px;border:1px solid currentColor;border-radius:999px;font-family:"Shippori Mincho",serif;font-weight:700;font-size:12.5px;letter-spacing:.14em;line-height:1.4;color:#E8C98A}
.ladder__lim{margin-top:8px;font-size:12px;padding:3px 12px 2px;color:var(--shu)}
/* 2026-10-07 新田さん: 第一回のテーマの節（宣言の直後。毎年入れ替わる） */
.dai1{position:relative;background:var(--indigo);color:var(--white);text-align:center;padding:clamp(80px,10vw,140px) var(--gut)}
.dai1__in{max-width:880px;margin:0 auto}
.dai1__en{font-family:var(--en);font-style:italic;font-size:13px;letter-spacing:.28em;color:#E8C98A}
.dai1__k{margin-top:clamp(24px,3vw,36px);font-size:clamp(16px,1.5vw,19px);font-weight:600;letter-spacing:.16em}
.dai1__t{margin-top:clamp(14px,1.6vw,22px);font-family:var(--fude);font-size:clamp(34px,5.2vw,68px);line-height:1.35;letter-spacing:.1em;display:flex;flex-wrap:wrap;justify-content:center;gap:0 .5em}
.dai1__t span{white-space:nowrap}
.dai1__b{margin-top:clamp(18px,2vw,28px);font-size:clamp(15px,1.5vw,18px);font-weight:600;letter-spacing:.12em;line-height:2}
@media (max-width:720px){.dai1__t{flex-direction:column;gap:0;font-size:38px;line-height:1.45}.dai1__b{font-size:14.5px;letter-spacing:.06em}}
.dai1__in{max-width:1120px}
@media (min-width:721px){.dai1__t{flex-wrap:nowrap;font-size:clamp(30px,4.3vw,62px)}}
/* 2026-10-08 福井さんメモ#264・#265: 働く人のメンタル不調の数字を「第一回のテーマ」節の根拠として（大枠＝社会課題のいまは変えない・10/07 MTG） */
.dai1__q{margin-top:clamp(56px,7vw,96px);font-family:var(--fude);font-size:clamp(22px,2.4vw,30px);letter-spacing:.14em}
.dai1 .dai1__stats{margin-top:clamp(28px,3.4vw,44px);text-align:left}
.dai1 .stat__t{font-weight:500;font-size:14px}
.dai1__src{margin-top:18px;font-size:11.5px;line-height:1.8;opacity:.7;text-align:left}
.dai1__c{margin-top:clamp(40px,5vw,64px);font-size:clamp(16px,1.6vw,20px);font-weight:600;letter-spacing:.12em;line-height:2.1}
@media (max-width:720px){.dai1__c{font-size:15px;letter-spacing:.06em}}
