/* ===================== v16：本選の一日に、詰まっているもの（前回の実写が主役。g1〜g3） ===================== */
/* 文法：白地／写真は前回・広島回の実写（色調を軽くそろえる）／大きな数字は表紙の虹色を濃くした版／見出し --fs-h2・700 */
.gn{background:#fff;--iris2:linear-gradient(100deg,#0c6b47 0%,#14936b 30%,#2a7fc4 62%,#7253c9 100%);overflow:hidden}
.gn__hd{max-width:760px}
.gn__mq{display:none}
.gn__items{list-style:none}
.gn__ph{margin:0;overflow:hidden;border-radius:8px}
.gn__ph img{width:100%;height:100%;object-fit:cover;display:block}
.gn__num{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:.2em;line-height:1}
.gn__num b{font-family:var(--f-en);font-weight:600;letter-spacing:-.03em;background:var(--iris2);-webkit-background-clip:text;background-clip:text;color:transparent}
.gn__num small{font-size:22px;font-weight:700;color:var(--v6-ink)}
.gn__num span{flex-basis:100%;margin-top:12px;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--v6-ink2)}
.gn__tx h3{font-size:clamp(21px,1.9vw,27px);font-weight:700;line-height:1.45}
.gn__tx>p:not(.gn__num):not(.gn__w):not(.gn__fact){margin-top:12px;font-size:16px;line-height:1.9;color:var(--v6-ink2)}
.gn__foot{margin-top:72px;font-size:15px;color:var(--v6-ink2)}

/* ---------- g1 写真と文の章：大きな実写と文を交互に。画面に入ると写真が横に開き、数字が浮かぶ ---------- */
html[data-gn="g1"] .gn__items{margin-top:72px;display:grid;gap:clamp(72px,9vw,120px)}
html[data-gn="g1"] .gn__it{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(40px,6vw,96px);align-items:center}
html[data-gn="g1"] .gn__it:nth-child(even) .gn__ph{order:2}
html[data-gn="g1"] .gn__ph{aspect-ratio:3/2;clip-path:inset(0 100% 0 0);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1)}
html[data-gn="g1"] .gn__it:nth-child(even) .gn__ph{clip-path:inset(0 0 0 100%)}
html[data-gn="g1"] .gn__ph img{transform:scale(1.12);transition:transform 1.8s var(--ease)}
html[data-gn="g1"] .gn__it.in .gn__ph{clip-path:inset(0 0 0 0)}
html[data-gn="g1"] .gn__it.in .gn__ph img{transform:none}
html[data-gn="g1"] .gn__num b{font-size:clamp(64px,7vw,108px)}
html[data-gn="g1"] .gn__it:nth-child(3) .gn__num b{font-size:clamp(48px,5vw,76px);letter-spacing:.01em}
html[data-gn="g1"] .gn__tx{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease) .5s,transform .9s var(--ease) .5s}
html[data-gn="g1"] .gn__it.in .gn__tx{opacity:1;transform:none}
html[data-gn="g1"] .gn__tx h3{margin-top:28px;padding-top:20px;border-top:1px solid var(--v6-hair)}
html.static .gn__ph{clip-path:none!important}
html.static .gn__ph img,html.static .gn__tx{transform:none!important;opacity:1!important}
@media (max-width:900px){
  html[data-gn="g1"] .gn__items{margin-top:40px;gap:56px}
  html[data-gn="g1"] .gn__it{grid-template-columns:1fr;row-gap:24px}
  html[data-gn="g1"] .gn__it:nth-child(even) .gn__ph{order:0}
  html[data-gn="g1"] .gn__num b{font-size:64px}
  html[data-gn="g1"] .gn__it:nth-child(3) .gn__num b{font-size:48px}
  .gn__foot{margin-top:48px}
}
/* g1 見直し1：会場写真が暗く沈むので明るく／偶数番目は写真を大きい列に */
.gn img{filter:brightness(1.32) contrast(1.06) saturate(1.05)}
html[data-gn="g1"] .gn__it:nth-child(even){grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
@media (max-width:900px){html[data-gn="g1"] .gn__it:nth-child(even){grid-template-columns:1fr}}
.gn img[src*="P1111633"]{object-position:60% 50%;transform-origin:70% 50%}html[data-gn="g1"] .gn__it:nth-child(2) .gn__ph img{width:106%;max-width:none;margin-left:-6%}
.gn img{filter:brightness(1.2) contrast(1.04)} /* g1 見直し2：会場写真は色調補正をかけず、明るさだけ上げる（白い壁が水色に転ぶため） */
.gn__ph img[src*="P1111612"]{transform:scale(1.32)!important;transform-origin:88% 92%} /* g1 見直し3：白く飛んだスクリーンを外し、発表者に寄せる */

/* ---------- g2 写真の帯＋大きな数字：前回の集合写真を横いっぱいに。下端に3つの数字を重ね、画面に入ると数え上がる ---------- */
.gn__hero{display:none;margin:0}
html[data-gn="g2"] .gn__hero{display:block;position:relative;margin:56px calc(50% - 50vw) 0;height:min(64vh,620px);overflow:hidden}
html[data-gn="g2"] .gn__hero img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform:scale(1.08);transition:transform 2.4s var(--ease)}
html[data-gn="g2"] .gn.in .gn__hero img{transform:none}
html[data-gn="g2"] .gn__hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,14,10,.82) 100%)}
html[data-gn="g2"] .gn__items{position:relative;z-index:1;margin-top:-170px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
html[data-gn="g2"] .gn__ph{display:none}
html[data-gn="g2"] .gn__num{height:170px;align-content:flex-end;padding-bottom:24px;color:#fff}
html[data-gn="g2"] .gn__num b{font-size:clamp(64px,6.4vw,100px);background:none;color:#fff}
html[data-gn="g2"] .gn__it:nth-child(3) .gn__num b{font-size:clamp(44px,4.4vw,68px)}
html[data-gn="g2"] .gn__num small{color:#fff}
html[data-gn="g2"] .gn__num span{color:rgba(255,255,255,.85);margin-top:10px}
html[data-gn="g2"] .gn__tx h3{margin-top:28px}
html[data-gn="g2"] .gn__it{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
html[data-gn="g2"] .gn__it.in,html.static .gn__it{opacity:1;transform:none}
html[data-gn="g2"] .gn__it:nth-child(2){transition-delay:.12s}html[data-gn="g2"] .gn__it:nth-child(3){transition-delay:.24s}
@media (max-width:900px){
  html[data-gn="g2"] .gn__hero{height:46svh;margin-top:32px}
  html[data-gn="g2"] .gn__items{margin-top:0;grid-template-columns:1fr;gap:36px}
  html[data-gn="g2"] .gn__num{height:auto;padding:28px 0 0;color:var(--v6-ink)}
  html[data-gn="g2"] .gn__num b{font-size:60px;background:var(--iris2);-webkit-background-clip:text;background-clip:text;color:transparent}
  html[data-gn="g2"] .gn__num small{color:var(--v6-ink)}
  html[data-gn="g2"] .gn__num span{color:var(--v6-ink2)}
  html[data-gn="g2"] .gn__tx h3{margin-top:16px}
  html[data-gn="g2"] .gn__hero::after{background:linear-gradient(180deg,transparent 70%,rgba(8,14,10,.3) 100%)}
}

/* ---------- g3 流れる写真の帯＋3つの数字：前回の会場写真が横に流れ続け、その下に数字と文を3列で ---------- */
html[data-gn="g3"] .gn__mq{display:block;margin:56px calc(50% - 50vw) 0;overflow:hidden}
html[data-gn="g3"] .gn__mqin{display:flex;gap:16px;width:max-content;animation:gnmq 60s linear infinite}
html[data-gn="g3"] .gn__mq:hover .gn__mqin{animation-play-state:paused}
html[data-gn="g3"] .gn__mqin img{height:clamp(220px,26vw,340px);width:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
@keyframes gnmq{to{transform:translateX(calc(-50% - 8px))}}
html.static .gn__mqin{animation:none!important}
html[data-gn="g3"] .gn__items{margin-top:64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
html[data-gn="g3"] .gn__ph{display:none}
html[data-gn="g3"] .gn__it{position:relative;padding-top:28px}
html[data-gn="g3"] .gn__it::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--v6-ink);transform-origin:0 50%;transform:scaleX(0);transition:transform 1.1s var(--ease)}
html[data-gn="g3"] .gn__it.in::before,html.static .gn__it::before{transform:scaleX(1)}
html[data-gn="g3"] .gn__it:nth-child(2)::before{transition-delay:.15s}html[data-gn="g3"] .gn__it:nth-child(3)::before{transition-delay:.3s}
html[data-gn="g3"] .gn__num b{font-size:clamp(60px,6vw,92px)}
html[data-gn="g3"] .gn__it:nth-child(3) .gn__num b{font-size:clamp(42px,4.2vw,64px)}
html[data-gn="g3"] .gn__tx h3{margin-top:24px}
@media (max-width:900px){
  html[data-gn="g3"] .gn__mq{margin-top:32px}
  html[data-gn="g3"] .gn__mqin img{height:180px}
  html[data-gn="g3"] .gn__items{margin-top:40px;grid-template-columns:1fr;gap:40px}
  html[data-gn="g3"] .gn__num b{font-size:60px}
}
html[data-gn="g3"] .gn__num{min-height:clamp(118px,10.4vw,150px);align-content:flex-end} /* g3 見直し1：数字の行の高さをそろえ、見出しの位置を3列で合わせる */
