/* STUDIO版から移した要素の見た目（2026-10-05 追加）。site.css はデザイン担当の持ち分なので、追加分はここに分ける */
.hero-badge{display:inline-block;margin:0 0 12px;padding:4px 18px;border-radius:99px;background:#fff;color:var(--pink);font-weight:900;font-size:15px;box-shadow:0 3px 8px #16457940}
.hero-lead{grid-column:1/-1;justify-self:center;text-align:center;color:#fff;font-weight:800;font-size:17px;line-height:1.7;margin:0 0 22px;text-shadow:0 2px 5px #164579}
.hero-next .next-venue{display:block;font-weight:800;margin:-6px 0 8px}
.hero-next .next-note{display:block;font-size:12px;color:var(--muted);margin:0 0 12px}

.about{text-align:center}
.about p{max-width:46em;margin:0 auto;font-size:16px;font-weight:700;line-height:2.1}

.supported{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;margin-top:16px}
.supported>span:first-child{font-size:11px;font-weight:900;color:#222}
.supported .logo{width:130px;height:44px;padding:4px;background:transparent}

.award-card>img{object-fit:contain;background:#0b1640}
.award-card h3{background:var(--yellow)}

.outline .map{display:block;width:100%;height:300px;border:0;margin-top:14px;border-radius:4px}

.faq .more{font-weight:800;text-decoration:none}

.foot .wrap{align-items:center}
.foot a{color:#657385}

.policy .sec{padding-top:40px}
.policy-table{overflow-x:auto;background:#fff;border-radius:4px}
.policy-table table{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}
.policy-table th,.policy-table td{border:1px solid var(--line);padding:10px 12px;vertical-align:top;text-align:left}
.policy-table thead th{background:#eaf3fc;font-size:12px}
.policy-table ul{margin:0;padding-left:1.1em}

@media (max-width:540px){
  .hero-lead{font-size:14px}
  .about p{font-size:14px;line-height:1.95;text-align:left}
  .about p br{display:none}
  .supported .logo{width:110px}
  .outline .map{height:220px}
}

/* ───────── 2026-10-05 ブラッシュアップ ─────────
   以下は旧版の個別スタイル。末尾の書体・文字サイズ指定でGFSの現行基準に揃える。 */

/* ヘッダー：ロゴ／目次（英字＋和文）／ボタン2つ */
.nav-in{gap:20px}
.nav nav{gap:22px}
.nav nav a{display:flex;flex-direction:column;align-items:center;line-height:1.15;font-weight:900;font-size:14px}
.nav nav a small{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.04em}
.nav-cta{display:flex;gap:8px}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:6px 18px;border-radius:99px;background:var(--pink);color:#fff;font-weight:900;font-size:14px;text-decoration:none;white-space:nowrap;box-shadow:0 3px 6px #82305233}
.cta-sub{background:#fff;color:var(--deep);border:2px solid var(--deep);box-shadow:none}
.cta:hover{filter:brightness(1.06)}
.menu-btn{display:none;width:42px;height:42px;border:0;background:none;padding:10px;cursor:pointer}
.menu-btn span{display:block;height:2px;background:var(--deep);margin:5px 0;transition:transform .2s,opacity .2s}
.menu-on .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-on .menu-btn span:nth-child(2){opacity:0}
.menu-on .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ヒーロー：右列に キャッチ→説明→開催情報→ボタン */
.hero-message{text-align:left}
.hero-inner h1.hero-copy{font-size:32px;font-weight:900;line-height:1.4;margin:0 0 10px;letter-spacing:.02em}
.hero-message .hero-lead{grid-column:auto;justify-self:start;text-align:left;font-size:16px;font-weight:700;margin:0 0 18px}
.hero-facts{display:grid;gap:6px;margin:0 0 16px;padding:14px 18px;background:rgba(255,255,255,.94);border-radius:8px;max-width:520px;box-shadow:0 4px 12px #16457926}
.hero-facts div{display:flex;gap:14px;align-items:baseline}
.hero-facts dt{flex:0 0 3.5em;font-size:12px;font-weight:700;color:var(--blue)}
.hero-facts dd{margin:0;font-size:16px;font-weight:700;color:var(--ink)}
.hero-status{display:inline-block;margin:0 0 14px;padding:4px 12px;background:var(--deep);color:#fff;font-size:14px;font-weight:700;border-radius:4px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.hero-actions .hero-cta{min-height:54px;font-size:18px;padding:10px 28px}
.hero-cta.ghost{background:#fff;color:var(--deep);box-shadow:0 3px 8px #16457933}

/* 実績の帯 */
.stats{background:#fff;border-bottom:1px solid var(--line)}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding-top:26px;padding-bottom:6px}
.stat{padding:4px 8px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat b{display:block;font-size:36px;font-weight:900;color:var(--blue);line-height:1.2;font-feature-settings:"tnum"}
.stat span{font-size:14px;font-weight:700;color:var(--muted)}
.stats-note{margin:0;padding-bottom:18px;text-align:center;font-size:12px;color:var(--muted)}

/* セクション末の行動ボタン */
.cta-box{margin:40px auto 0;max-width:760px;padding:22px 20px;background:#fff;border-radius:10px;text-align:center;box-shadow:0 3px 10px #46638614;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}
.cta-box p{flex-basis:100%;margin:0 0 4px;font-size:14px;font-weight:700;color:var(--muted)}
.cta-box .cta{min-height:48px;font-size:16px;padding:8px 28px}

/* タイムテーブル：顔写真と動画リンク */
.faces{display:flex;margin:6px 0 2px}
.faces .face{width:26px;height:26px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-6px;background:#e6eef7;flex:0 0 auto}
.faces .face:first-child{margin-left:0}
.faces span.face{display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--muted)}
.card{padding-right:52px}
.vid{position:absolute;right:5px;top:5px;padding:1px 7px;border-radius:99px;background:var(--pink);color:#fff;font-size:12px;font-weight:700;text-decoration:none;line-height:1.6}
.vid.inline{position:static;display:inline-block}
.item .vid{top:10px}
.bar-note{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--muted)}
.acts a.btn2{text-decoration:none;display:inline-flex;align-items:center;background:var(--pink);border-color:var(--pink)}

/* 文字の大きさ・太さを揃える（10〜11px を 12px に、750/800/850 を 700/900 に） */
.spk .co,.spk .ti,.spk .tag,.head .fl,.tm b,.item .stg .fl,.card-c p.small,.person .pn i{font-size:12px}
.tm{font-size:12px;font-weight:700}
.card .sp{font-size:12px}
.card .t{font-size:14px;font-weight:700;line-height:1.5}
.item .t{font-size:16px;font-weight:700}
.spk .nm{font-size:16px;font-weight:900}
.card-c p{font-size:14px}
.nav nav a,.faq summary,.btn,.logo.txt,.meta,.hero-next a,.hero-ended a,.timetable-intro .more{font-weight:900}
.hero-note,.hero-next .next-venue{font-weight:900}

/* 下の固定ボタン（スマホ・タブレット） */
.bottom-bar{display:none}

@media (max-width:1180px){
  .nav nav{gap:14px}
  .nav nav a small{display:none}
}
@media (max-width:980px){
  .menu-btn{display:block;order:3}
  .nav-cta,.social{display:none}
  .nav nav{display:none;position:fixed;inset:52px 0 auto 0;background:#fff;flex-direction:column;gap:0;padding:8px 24px 18px;box-shadow:0 8px 16px #12487226;z-index:30}
  .menu-on .nav nav{display:flex}
  .nav nav a{flex-direction:row;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav nav a small{display:inline;font-size:12px}
  .bottom-bar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:25;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);box-shadow:0 -2px 10px #12487220}
  .bottom-bar .cta{flex:1;min-height:44px;font-size:14px;padding:6px 8px}
  .foot{padding-bottom:84px}
  .hero-message{text-align:center}
  .hero-message .hero-lead{justify-self:center;text-align:center}
  .hero-facts{margin-left:auto;margin-right:auto;text-align:left}
  .hero-actions{justify-content:center}
}
@media (max-width:640px){
  .hero-inner h1.hero-copy{font-size:24px}
  .hero-message .hero-lead{font-size:14px}
  .hero-message .hero-lead br{display:none}
  .hero-facts dd{font-size:14px}
  .hero-actions .hero-cta{min-height:48px;font-size:16px;flex:1 1 100%}
  .stats-in{grid-template-columns:repeat(2,1fr);row-gap:14px}
  .stat:nth-child(3){border-left:0}
  .stat b{font-size:28px}
  .stat span{font-size:12px}
  .spk-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .spk .nm{font-size:14px}
  .spk .co{font-size:12px;line-height:1.4}
  .spk .ti{display:none}
  /* コンテンツは1列で、画像を左・文を右に */
  .cards{grid-template-columns:1fr;gap:12px}
  .card-c .content-visual{height:150px}
  .card-c h3{font-size:16px}
  .card-c .card-body{padding:10px 12px 14px}
  .card-c p{font-size:14px;line-height:1.7}
  .card-c p.small{font-size:12px}
  .supported{justify-content:flex-start}
  /* 協賛社ロゴ：上位2列・それ以外3列 */
  .tier-0 .logo{width:calc(50% - 8px);height:72px}
  .tier-1 .logo,.tier-2 .logo,.tier-3 .logo,.tier-4 .logo,.tier-5 .logo{width:calc(33.33% - 8px);height:52px}
  .logos{gap:8px;padding:14px 10px}
  .sponsor-group .sub{font-size:16px;padding:6px 10px}
  /* 開催概要は項目名を上に */
  .outline{display:block;font-size:14px}
  .outline dt{padding:10px 14px 2px;border:0}
  .outline dd{margin:0;padding:0 14px 12px;border-bottom:1px solid var(--line)}
}
.person .pn i{white-space:nowrap}
/* タイムテーブルの見出し：overflow:hidden だと表の中で68pxずれて開場の帯を隠すため clip にする（画面上部に固定されるようになる） */
.grid{overflow:clip}
.head .fl{font-size:12px}
/* アーカイブ：年ごとのボタン */
#archive .links{list-style:none;padding:0;margin:26px auto 0;max-width:920px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;border:0;background:none}
#archive .links li{border:0;padding:0;margin:0;background:none}
#archive .links a{display:flex;align-items:center;justify-content:center;min-height:56px;padding:10px 16px;border-radius:99px;background:linear-gradient(90deg,#16c7f0,#2456f4);color:#fff;font-size:16px;font-weight:900;text-decoration:none;box-shadow:0 4px 10px #2456f433;text-align:center}
#archive .links a:hover{filter:brightness(1.07)}

/* 書体は M PLUS 1 に統一（2026-10-05 佐藤さん決定）。読み込みは assets/fonts-mplus1.css（文字の範囲ごとに分割） */
body{font-family:"M PLUS 1",sans-serif;line-height:1.8;letter-spacing:.02em;font-feature-settings:"palt" 1}
.sec h2 span{font-family:"M PLUS 1",sans-serif;font-style:normal;font-weight:800;letter-spacing:-.01em}
.nav nav a span,.stat b,.cta-box .cta,.hero-facts dd{font-feature-settings:"palt" 1}
.nav nav a span,.stat b{font-family:"M PLUS 1",sans-serif}
.nav nav a span{font-weight:700;letter-spacing:.02em}
.stat b{font-weight:800}
/* 本文の読みやすさ（字間を少し詰め行間を広めに） */
.about p,.card-c p,.booth-card p,.faq div,.outline dd,#contact p{line-height:1.9}

/* ═════════ 2026-10-05 朝 修正（デザイン修正指示＋佐藤さん指摘） ═════════
   文字の大きさ（M PLUS 1）
     英字見出し 60/40px・和文サブ見出し 16px・ヒーローのコピー 40/26px・実績の数字 48/32px
     本文 16px（行間1.85）・補足 14px・注記 13px（最小12px）
   太さ：本文400／強調・見出し700／ヒーローのコピーと数字だけ900 */
body{font-size:16px;line-height:1.85}
.sec{padding:96px 0}
.sec h2{margin:0 auto 40px}
.sec h2 span{font-size:clamp(40px,4.4vw,60px);font-weight:800;line-height:1.1}
.sec h2 small{font-size:16px;font-weight:700;margin-top:8px;letter-spacing:.08em}
.lead,.timetable-intro{font-size:15px;color:var(--muted);text-align:center}
.sub{font-size:20px;font-weight:700}

/* セクションの背景を切り替えて区切りをつくる（main の幅を越えて全幅に塗る） */
#speakers,#contents,#archive,#faq{background:var(--page)}
#timetable,#sponsor,#outline{background:#fff;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}
#contact{background:var(--deep);box-shadow:0 0 0 100vmax var(--deep);clip-path:inset(0 -100vmax);color:#fff;text-align:center}
#contact h2 span{background:none;-webkit-text-fill-color:#fff;filter:none}
#contact h2 small{color:#9fd4ff}
#contact p{color:#dbe9f7;font-size:16px}
#contact .btn{background:var(--pink);color:#fff;font-size:18px;font-weight:700;padding:14px 40px;border-radius:99px;display:inline-block;text-decoration:none;box-shadow:0 4px 12px #0006}
.foot{margin-top:0}

/* ── ヒーロー：ロゴ → 開催日 → コピー → 説明 → 主ボタン1つ */
.hero{min-height:0}
.hero-inner{padding-top:72px;padding-bottom:88px;grid-template-columns:44% 56%;gap:40px}
.hero-message{text-align:left}
.hero-when{display:inline-flex;flex-wrap:wrap;gap:4px 14px;align-items:center;margin:0 0 14px;padding:6px 14px;background:rgba(10,30,70,.55);color:#fff;border-radius:6px;font-size:15px;font-weight:700;letter-spacing:.04em}
.hero-when span{font-weight:400;opacity:.9}
.hero-inner h1.hero-copy{font-size:40px;line-height:1.4;font-weight:900;letter-spacing:.02em;margin:0 0 14px;text-shadow:0 2px 12px #0b2a5c99}
.hero-message .hero-lead{font-size:17px;font-weight:700;line-height:1.75;margin:0 0 26px;text-shadow:0 1px 6px #0b2a5c99}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.hero-actions .hero-cta{min-height:60px;padding:12px 36px;font-size:18px;font-weight:700;border-radius:99px}
.hero-link{color:#fff;font-weight:700;font-size:15px;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.7);padding-bottom:2px;text-shadow:0 1px 6px #0b2a5c99}
.notice-bar{margin:16px auto 0;padding:12px 16px;background:#fff4f7;border:1px solid var(--pink);color:#a3003a;border-radius:6px;font-weight:700}
.past-bar{background:var(--deep);color:#fff;font-size:14px}
.past-bar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px}
.past-bar a{color:#9fd4ff;font-weight:700}

/* ── 実績（ヒーローの直下に、見出しつきで） */
.stats{background:#fff;border:0;padding:0}
.stats .wrap{position:relative;margin-top:-44px;background:#fff;border-radius:14px;box-shadow:0 10px 30px #12487222;padding:26px 32px 30px;max-width:1080px}
.stats-h{margin:0 0 14px;text-align:center;font-size:16px;font-weight:700;color:var(--blue);letter-spacing:.1em}
.stats-in{grid-template-columns:repeat(3,1fr);padding:0}
.stat{border-left:1px solid var(--line);padding:0 12px}
.stat b{font-size:48px;line-height:1.15;font-weight:900}
.stat span{display:block;margin-top:4px;font-size:15px;font-weight:700;color:var(--ink)}
.stats-note{display:none}

/* ── 次回（2027）の告知：独立した横長カード */
.next{background:#fff;padding:40px 0 8px}
.next-in{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1080px;padding:22px 32px;border-radius:14px;background:linear-gradient(100deg,#0e2a5c,#1749a8 60%,#1aa3ef);color:#fff}
.next-main{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:baseline}
.next-label{grid-row:1 / 4;align-self:center;font-family:"M PLUS 1",sans-serif;font-weight:800;font-size:13px;letter-spacing:.14em;padding:6px 10px;border:2px solid rgba(255,255,255,.7);border-radius:6px}
.next-main strong{font-family:"M PLUS 1",sans-serif;font-size:15px;font-weight:700;letter-spacing:.06em;opacity:.9}
.next-date{margin:0;font-size:26px;font-weight:900;line-height:1.35}
.next-venue{margin:0;font-size:15px;opacity:.9}
.next-side{text-align:right}
.next-side p{margin:0 0 10px;font-size:14px;opacity:.9}
.next .cta-sub{background:#fff;border-color:#fff;color:var(--deep)}

/* ── 登壇者：最初はPC12名・スマホ6名。写真なしは会社名の枠 */
.spk-grid{gap:16px}
.spk{border-radius:10px;box-shadow:0 2px 8px #4663861c;transition:transform .15s,box-shadow .15s}
.spk:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4663862e}
.spk>img{aspect-ratio:1/1;height:auto;object-fit:cover;width:100%}
.spk .ph.nophoto{display:grid;place-items:center;aspect-ratio:1/1;height:auto;background:linear-gradient(135deg,#eef5fd,#dcebfa);padding:14px}
.spk .ph.nophoto em{font-style:normal;font-size:14px;font-weight:700;color:var(--deep);line-height:1.5;text-align:center}
.spk .ph.nophoto img{max-width:80%;max-height:60%;object-fit:contain}
.spk-info{padding:12px 10px 14px}
.spk .co{font-size:12px;line-height:1.5;color:var(--muted)}
.spk .nm{font-size:16px;font-weight:700;margin:2px 0}
.spk .ti{font-size:12px;line-height:1.5;color:var(--muted)}
.spk.x-pc{display:none}
.open>.x-pc{display:flex}
.more-btn{display:block;margin:28px auto 0;min-height:52px;padding:10px 36px;border:2px solid var(--deep);background:#fff;color:var(--deep);border-radius:99px;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.more-btn.small{min-height:44px;font-size:14px;margin-top:14px}
.more-btn:hover{background:var(--deep);color:#fff}
.mc-grid{grid-template-columns:repeat(4,minmax(0,200px));justify-content:center}
.booth-logos .logo.x-pc{display:none}
.booth-logos.open .logo.x-pc{display:flex}

/* ── タイムテーブル：時刻 → タイトル → 登壇者 → 種別・動画 */
.card{padding:10px 12px 10px 12px}
.card .tm{font-size:12px;font-weight:700;color:var(--sc)}
.card .t{font-size:14px;font-weight:700;line-height:1.55;margin:2px 0 6px;color:var(--ink)}
.card .sp{font-size:12px;line-height:1.6;color:var(--muted)}
.foot-row{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.foot-row .faces{margin:0}
.kind{font-size:12px;font-weight:700;color:var(--sc);border:1px solid var(--sc);border-radius:4px;padding:0 6px;line-height:1.6}
.foot-row .vid{position:static;margin-left:auto}
.item{padding:12px 12px 12px 10px}
.item-body{flex:1;min-width:0}
.item .t{font-size:16px;font-weight:700;line-height:1.55;margin:2px 0 4px}
.item .sp{font-size:13px;color:var(--muted)}
.tabs{position:relative}
.chip{font-size:14px;font-weight:700}
.chip.on{box-shadow:0 2px 8px #168ff255}

/* ── コンテンツ・協賛社 */
.card-c{border-radius:10px;box-shadow:0 2px 8px #4663861c}
.card-c h3{font-size:16px;font-weight:700}
.card-c p{font-size:14px;line-height:1.85}
.booth-card{border-radius:10px}
.booth-card h3{font-size:16px;font-weight:700}
.sponsor-group{margin:0 0 28px;border-radius:10px;box-shadow:0 2px 8px #4663861a}
.sponsor-group .sub{font-size:16px;font-weight:700;letter-spacing:.06em}
.tier-0 .logos{padding:36px 40px;gap:20px}
.tier-0 .logo{height:150px}

/* ── 開催概要・FAQ */
.outline{border-radius:10px;overflow:hidden;font-size:15px}
.outline dt{font-weight:700}
.faq{border-radius:8px;margin-bottom:10px;border:1px solid var(--line)}
.faq summary{font-size:16px;font-weight:700;list-style:none;display:flex;align-items:center;gap:12px;padding:16px 20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:before{margin:0}
.faq summary:after{content:'';margin-left:auto;width:10px;height:10px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg);transition:transform .2s;flex:0 0 auto}
.faq[open]{border-color:var(--blue)}
.faq[open] summary{color:var(--blue)}
.faq[open] summary:after{transform:rotate(-135deg)}
.faq div{font-size:15px;line-height:1.9}

/* ── フッター */
.foot{background:#0a1d40;color:#9fb3cc;font-size:13px;padding:28px 0}
.foot a{color:#d6e4f5}

@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr;gap:20px;padding-top:40px;padding-bottom:76px;text-align:center}
  .hero-message{text-align:center}
  .hero-actions{justify-content:center}
  .next-in{flex-direction:column;align-items:flex-start}
  .next-side{text-align:left}
  .bottom-bar .cta{flex:1}
  .foot{padding-bottom:90px}
}
@media (max-width:640px){
  .sec{padding:64px 0}
  .sec h2{margin-bottom:28px}
  .hero-logo{width:min(70%,260px)}
  .hero-when{font-size:13px}
  .hero-inner h1.hero-copy{font-size:26px}
  .hero-message .hero-lead{font-size:14px}
  .hero-actions .hero-cta{width:100%;min-height:54px;font-size:17px}
  .stats .wrap{margin-top:-36px;padding:18px 12px 20px;border-radius:12px}
  .stats-h{font-size:14px;margin-bottom:10px}
  .stat{padding:0 4px}
  .stat b{font-size:26px}
  .stat span{font-size:12px;line-height:1.4}
  .next{padding-top:28px}
  .next-in{padding:18px 18px;border-radius:12px}
  .next-date{font-size:20px}
  .next .cta{width:100%}
  .spk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .spk.x-sp{display:none}
  .open>.x-sp{display:flex}
  .spk .nm{font-size:15px}
  .spk .co,.spk .ti{font-size:12px}
  .spk .ti{display:block}
  .mc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booth-logos .logo.x-sp{display:none}
  .booth-logos.open .logo.x-sp{display:flex}
  .tier-0 .logos{padding:18px 12px;gap:10px}
  .tier-0 .logo{height:88px}
  .item .t{font-size:15px}
  .faq summary{font-size:15px;padding:14px 16px}
  .faq div{font-size:14px}
  #contact .btn{width:100%}
}
/* ヒーローは背景の光と街並みが見える高さに */
.hero-inner{min-height:min(640px,calc(100vh - 68px));padding-top:64px;padding-bottom:110px}
@media (max-width:980px){.hero-inner{min-height:0;padding-bottom:84px}}
@media (max-width:640px){
  /* 実績はスマホでは1行に1つ（数字が折り返さないように） */
  .stats-in{grid-template-columns:1fr;row-gap:0}
  .stat{display:flex;align-items:baseline;gap:12px;border-left:0;border-top:1px solid var(--line);padding:10px 6px;text-align:left}
  .stat:first-child{border-top:0}
  .stat b{font-size:28px;flex:0 0 6.2em;text-align:right}
  .stat span{font-size:14px;margin:0}
}
/* 下の固定ボタンはヒーローを過ぎてから出す */
@media (max-width:980px){
  .bottom-bar{transform:translateY(110%);transition:transform .25s}
  .show-bar .bottom-bar{transform:none}
}
@media (max-width:1120px){
  .stats .wrap,.next-in{margin-left:16px;margin-right:16px;width:auto}
}
@media (max-width:640px){
  .stat b{flex-basis:5.4em;font-size:26px}
  .next-main{display:block}
  .next-label{display:inline-block;font-size:11px;padding:3px 8px;margin-bottom:8px}
  .next-main strong{display:block;font-size:13px}
  .next-date{font-size:20px}
}

/* ── ファーストビューに「GAME FUTURE SUMMIT 2027／2027年6月9日（水）開催決定」まで入れる（2026-10-05 佐藤さん）
   目安：PC 1440×800、スマホ 375×660（Safariで見える高さ）で「開催決定」の行まで見える */
.hero-inner{min-height:0;padding-top:36px;padding-bottom:76px;gap:32px}
.hero-logo{max-height:300px}
.hero-inner h1.hero-copy{font-size:36px;margin-bottom:10px}
.hero-message .hero-lead{margin-bottom:20px}
.hero-actions .hero-cta{min-height:54px;padding:10px 32px}
.stats .wrap{margin-top:-52px;padding:16px 28px 18px}
.stats-h{margin-bottom:6px;font-size:14px}
.stat b{font-size:40px}
.stat span{font-size:14px;margin-top:0}
.next{padding:16px 0 0}
.next-in{padding:14px 28px}
.next-date{font-size:24px}
@media (max-width:980px){
  .hero-inner{padding-top:24px;padding-bottom:64px;gap:12px}
}
@media (max-width:640px){
  .hero-logo{width:auto;max-width:62%;max-height:132px}
  .hero-when{font-size:12px;padding:4px 10px;margin-bottom:8px}
  .hero-inner h1.hero-copy{font-size:22px;line-height:1.4;margin-bottom:12px}
  .hero-message .hero-lead{display:none}
  .hero-actions{gap:8px 14px}
  .hero-actions .hero-cta{min-height:48px;font-size:16px;padding:8px 20px}
  .hero-link{font-size:13px}
  /* 実績はスマホでも横3つ（数字を小さめに） */
  .stats .wrap{margin-top:-44px;padding:10px 6px 12px}
  .stats-h{font-size:12px;margin-bottom:4px}
  .stats-in{grid-template-columns:repeat(3,1fr)}
  .stat{display:block;text-align:center;border-top:0;border-left:1px solid var(--line);padding:2px 4px}
  .stat:first-child{border-left:0}
  .stat b{font-size:20px;flex:none;text-align:center;white-space:nowrap}
  .stat span{font-size:12px;line-height:1.35}
  .next{padding-top:10px}
  .next-in{padding:12px 14px;gap:8px}
  .next-label{display:none}
  .next-main strong{font-size:12px}
  .next-date{font-size:18px;line-height:1.4}
  .next-venue{font-size:12px}
  .next-side p{display:none}
  .next .cta{min-height:40px;font-size:14px}
}
/* イベントの説明（何のイベントか）をヒーローの最上部に。2段組みの上に横いっぱい */
.hero-tagline{grid-column:1 / -1;justify-self:center;margin:0;padding:8px 22px;border-radius:99px;background:rgba(8,28,66,.62);backdrop-filter:blur(2px);color:#fff;font-size:18px;font-weight:700;line-height:1.6;text-align:center;letter-spacing:.04em;box-shadow:0 4px 14px #08214a40}
.hero-tagline br{display:none}
@media (max-width:980px){.hero-tagline{font-size:15px}}
@media (max-width:640px){
  .hero-tagline{font-size:13px;padding:6px 14px;border-radius:12px;line-height:1.55}
  .hero-tagline br{display:inline}
}
/* 開催が終わったことを最初の画面で示す */
.hero-when .ended{display:inline-block;padding:1px 10px;border-radius:4px;background:#fff;color:var(--deep);font-size:13px;font-weight:700;letter-spacing:.06em}
@media (max-width:640px){.hero-when .ended{font-size:12px;padding:0 8px}}

/* GFSの書体と本文サイズ。小さなラベルよりも読む文章を優先する。 */
body{font-family:"M PLUS 1",sans-serif;font-size:16px;font-weight:500;line-height:1.75;letter-spacing:0}
.sec h2 span,.nav nav a span,.stat b,.next-label,.next-main strong{font-family:"M PLUS 1",sans-serif}
.about p,.booth-card p,.award-card p{font-size:16px;font-weight:500;line-height:1.85}
.award-card p{font-size:17px;line-height:1.8;max-width:64ch}
.card-c p{font-size:15px;font-weight:500;line-height:1.75}
.card-c p.small{font-size:13px;font-weight:500;line-height:1.6}
.card .t{font-size:15px;font-weight:700;line-height:1.5}
.card .sp{font-size:13px;font-weight:500;line-height:1.55}
.item .sp,.faq div,.outline dd{font-size:15px;font-weight:500}
.spk .co,.spk .ti{font-size:13px;font-weight:500;line-height:1.45}
.spk .nm{font-size:16px;font-weight:700}
@media(max-width:640px){
  .about p,.booth-card p,.award-card p{font-size:16px}
  .card-c p{font-size:15px}
  .card .t{font-size:15px}
  .card .sp{font-size:13px}
  .spk .co,.spk .ti{font-size:13px}
}
@media (max-width:640px){
  .hero-inner{padding-top:16px;padding-bottom:54px;gap:10px}
  .hero-logo{max-height:112px}
  .hero-when span{display:none}
  .hero-inner h1.hero-copy{margin-bottom:10px}
  .stat span{font-size:12px;line-height:1.3}
}
.list .band{margin:12px 0}

/* ── 2027年の告知をもっと目立たせる（2026-10-05 佐藤さん）：告知画像＋大きな日付＋ピンクのボタン */
.next{padding:18px 0 0}
.next-in{display:grid;grid-template-columns:300px 1fr auto;align-items:center;gap:28px;padding:0 28px 0 0;overflow:hidden;border-radius:16px;
  background:linear-gradient(100deg,#0b2152 0%,#123f95 55%,#1688e6 100%);box-shadow:0 14px 34px #0e2a5c55;position:relative}
.next-in:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.06) 0 2px,transparent 2px 22px);pointer-events:none}
.next-visual{display:block;align-self:center}
/* 告知画像は日付・コピー入りなので切り抜かない（元の比率 1290×725 のまま。2026-10-06） */
.next-visual img{display:block;width:100%;height:auto;aspect-ratio:1290/725;object-fit:contain}
.next-main{display:block;position:relative}
.next-label{display:inline-block;grid-row:auto;font-family:"M PLUS 1",sans-serif;font-size:12px;font-weight:800;letter-spacing:.18em;padding:3px 10px;border:0;border-radius:4px;background:var(--pink);color:#fff;margin-bottom:6px}
.next-main strong{display:block;font-family:"M PLUS 1",sans-serif;font-size:17px;font-weight:800;letter-spacing:.06em;opacity:1}
.next-date{margin:2px 0 0;font-size:34px;font-weight:900;line-height:1.3;letter-spacing:.02em}
.next-date em{font-style:normal;display:inline-block;margin-left:12px;color:#ffe45c}
.next-venue{margin:2px 0 0;font-size:15px;opacity:.95}
.next-side{position:relative;text-align:center;max-width:260px}
.next-side p{margin:0 0 10px;font-size:13px;line-height:1.6;opacity:.9}
.next .cta{background:var(--pink);border:0;color:#fff;min-height:52px;padding:10px 26px;font-size:16px;box-shadow:0 4px 12px #0005}
/* 告知を大きくした分、ヒーローを詰めて最初の画面に収める */
.hero-inner{padding-top:24px;padding-bottom:64px}
.hero-logo{max-height:250px}
.stats .wrap{padding:12px 28px 14px}
@media (max-width:1180px){
  .next-in{grid-template-columns:240px 1fr;padding-right:22px}
  .next-side{grid-column:2;text-align:left;max-width:none;padding-bottom:18px}
  .next-side p{display:none}
  .next-date{font-size:28px}
}
@media (max-width:640px){
  /* スマホは画像を上に横幅いっぱい、文字とボタンはその下（横に並べると画像が小さく切れていた） */
  .next-in{grid-template-columns:1fr;gap:0;padding:0;border-radius:12px}
  .next-main{padding:12px 14px 0}
  .next-label{display:inline-block;font-size:10px;padding:2px 7px;margin-bottom:2px}
  .next-main strong{font-size:12px}
  .next-date{font-size:19px;line-height:1.35}
  .next-date em{display:inline-block;margin-left:8px;font-size:17px}   /* 横幅いっぱいになったので日付と同じ行に */
  .next-venue{display:none}
  .next-side{grid-column:1 / -1;padding:10px 14px 14px}
  .next .cta{width:100%;min-height:42px;font-size:14px}
}
@media (max-width:980px){.hero-inner{padding-top:20px;padding-bottom:60px}}
@media (max-width:640px){
  .hero-inner{padding-top:14px;padding-bottom:50px}
  .hero-logo{max-height:104px}
  .stats .wrap{padding:8px 6px 10px}
  .next{padding-top:10px}
}
@media (min-width:1181px){.next-date{white-space:nowrap;font-size:32px}.next-side{max-width:240px}}
.band-tick{font-weight:700;color:var(--ink);white-space:nowrap;font-size:12px;align-self:center}
.list .band{margin:4px 0 12px}
/* イベントの説明：開催日のラベル（濃い箱）と別のデザインに。箱を使わず、左右に光る線を引いた見出し */
.hero-tagline{display:flex;align-items:center;gap:18px;width:100%;max-width:980px;padding:0;margin:0 auto 4px;background:none;backdrop-filter:none;box-shadow:none;border-radius:0;
  font-size:20px;font-weight:700;letter-spacing:.08em;color:#fff;text-shadow:0 2px 12px #0b2a5ccc,0 0 2px #0b2a5c}
.hero-tagline:before,.hero-tagline:after{content:'';flex:1;height:2px;background:linear-gradient(90deg,transparent,#7fe3ff)}
.hero-tagline:after{background:linear-gradient(90deg,#7fe3ff,transparent)}
@media (max-width:980px){.hero-tagline{font-size:16px;gap:12px}}
@media (max-width:640px){
  .hero-tagline{font-size:14px;line-height:1.6;gap:8px;letter-spacing:.04em}
  .hero-tagline:before,.hero-tagline:after{flex:0 0 18px}
}
/* ヒーロー：ロゴと右の文章を1つのまとまりとして中央に寄せる（左右の余白をそろえる） */
@media (min-width:981px){
  .hero-inner{grid-template-columns:auto auto;justify-content:center;column-gap:56px}
  .hero-logo{justify-self:end;width:auto;max-width:440px}
  .hero-message{max-width:600px}
}
/* プロフィールの「登壇するセッション」：見出し・本文とも控えめに */
.talks-h{margin:18px 0 6px;font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.06em}
.talks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.talks li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.6}
.talk-tm{font-size:13px;font-weight:700;color:var(--blue);white-space:nowrap}
.talks a[data-open]{color:var(--ink);text-decoration:none;font-weight:700}
.talks a[data-open]:hover{color:var(--blue);text-decoration:underline}
.talks .vid.inline{font-size:12px;white-space:nowrap}
@media (max-width:640px){.talks li{grid-template-columns:auto 1fr}.talks .vid.inline{grid-column:2;justify-self:start}}
/* 説明文：文字は1つのまとまりにして、左右の線の間で中央そろえ。スマホは2行（「特化した／ゲーム業界…」で改行） */
.hero-tagline>span{flex:0 1 auto;text-align:center}
.hero-tagline>span br{display:none}
@media (max-width:640px){
  .hero-tagline>span br{display:inline}
  .hero-tagline{font-size:14px}
}
@media (max-width:640px){
  .hero-tagline{display:block;text-align:center;letter-spacing:.02em;font-size:14px;line-height:1.6;padding-top:10px;position:relative}
  .hero-tagline:before{content:'';position:absolute;top:0;left:50%;width:40px;height:2px;margin-left:-20px;background:#7fe3ff;flex:none}
  .hero-tagline:after{display:none}
}
@media (max-width:640px){.hero-tagline{font-size:max(12px,min(14px,3.75vw))}}

/* ═════ Contents 再設計（design/GFS公式サイト_Contents再設計指示_2026-10-05.md）═════
   イラスト→2026年の会場写真。色は上端の細い線だけ（ステージ青／AP ピンク／休憩シアン／コーヒー金） */
.cards{gap:20px;align-items:stretch}
.card-c{display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px #12487218;border-top:4px solid var(--acc,#168ff2)}
.c-stage{--acc:#168ff2}.c-afterparty{--acc:#ff0058}.c-lounge{--acc:#12c8f3}.c-coffee{--acc:#e7a900}
.cc-photo{position:relative;margin:0;aspect-ratio:16/10;overflow:hidden;background:#dfe9f5}
.cc-photo img{display:block;width:100%;height:100%;object-fit:cover}
.card-c .cc-photo h3{position:absolute;left:0;right:0;bottom:0;margin:0;padding:10px 14px;background:linear-gradient(0deg,rgba(9,28,64,.88),rgba(9,28,64,.55));color:#fff;font-size:17px;font-weight:700;text-align:left;letter-spacing:.04em}
.card-c .card-body{flex:1;padding:14px 16px 6px}
.card-c p{font-size:15px;line-height:1.75;margin:0 0 8px}
.card-c p.small{font-size:13px;color:var(--muted)}
.card-c .supported{margin:0;padding:10px 16px 14px;border-top:1px solid var(--line);justify-content:flex-start;min-height:62px}
.photo-note{margin:10px 0 0;text-align:right;font-size:12px;color:var(--muted)}
/* 出展紹介：写真＋説明 */
.booth-card{display:grid;grid-template-columns:42% 1fr;gap:0;margin-top:36px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px #12487218}
.booth-card .cc-photo{aspect-ratio:auto;height:100%;min-height:240px}
.booth-body{padding:24px 28px}
.booth-card .booth-body h3{margin:0 0 10px;background:none;color:var(--deep);text-align:left;font-size:20px;font-weight:700;padding:0 0 8px;border-bottom:3px solid #12c8f3;display:inline-block}
.booth-card .booth-body p{padding:0;font-size:16px;line-height:1.8;margin:0}
/* 出展企業一覧（社名のテキストで全件） */
.exhibitors{margin-top:20px;background:#fff;border-radius:12px;padding:22px 28px 24px;box-shadow:0 4px 14px #12487218}
.exhibitors h3{margin:0 0 12px;font-size:18px;font-weight:700;color:var(--deep)}
.exhibitors h3 span{font-size:15px;color:var(--muted);margin-left:4px}
.exh-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px}
.exh-list li{padding:9px 0 9px 14px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5;position:relative}
.exh-list li:before{content:'';position:absolute;left:0;top:17px;width:6px;height:6px;border-radius:50%;background:#12c8f3}
.exh-list a{color:var(--ink);text-decoration:underline;text-decoration-color:#9fd4ff}
/* アプリブのコラボ：特別企画として濃紺＋細いライン */
.special-card{display:grid;grid-template-columns:300px 1fr;margin-top:24px;border-radius:12px;overflow:hidden;background:#0e2a5c;color:#fff;border-left:4px solid #ff0058;box-shadow:0 6px 18px #0e2a5c40}
.special-card>img{width:100%;height:100%;object-fit:cover;display:block}
.special-card>div{padding:22px 28px}
.special-label{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.16em;color:#12c8f3;border:1px solid #12c8f3;border-radius:4px;padding:1px 8px;margin-bottom:8px}
.special-card h3{margin:0 0 8px;font-size:20px;font-weight:700;color:#fff}
.special-card p{margin:0;font-size:17px;font-weight:500;line-height:1.8;color:#dbe8f7}
@media (max-width:980px){
  .booth-card,.special-card{grid-template-columns:1fr}
  .booth-card .cc-photo{min-height:0;aspect-ratio:16/9}
  .exh-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .cards{grid-template-columns:1fr;gap:14px}
  .card-c .cc-photo h3{font-size:16px}
  .card-c p{font-size:15px}
  .booth-body{padding:16px 16px 18px}
  .booth-card .booth-body p{font-size:15px}
  .exhibitors{padding:16px 14px 18px}
  .exh-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
  .exh-list li{font-size:14px}
  .special-card>div{padding:16px}
  .special-card p{font-size:16px}
}
.special-img{display:block;height:100%}
.special-img img{width:100%;height:100%;object-fit:cover;display:block}
a.special-img:hover img{opacity:.9}
.special-link{margin:14px 0 0}
.special-link a{display:inline-flex;align-items:center;min-height:44px;padding:8px 20px;border-radius:99px;background:#fff;color:#0e2a5c;font-size:15px;font-weight:700;text-decoration:none}
.special-link a:hover{background:#12c8f3;color:#fff}
/* カード上端の色の線はなし（2026-10-05 佐藤さん） */
.card-c{border-top:0}
/* アワード画像：切り取らずに全体を表示（3:2）。ピンクの線は左端ではなく本文の上に */
.special-card{grid-template-columns:minmax(0,360px) 1fr;align-items:center;border-left:0;background:#0e2a5c}
.special-img{height:auto;align-self:stretch;display:flex;align-items:center;background:#0b1a3d}
.special-img img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.special-card>div{border-top:0;position:relative}
.special-card>div:before{content:'';position:absolute;left:28px;top:0;width:56px;height:3px;background:#ff0058}
@media (max-width:980px){
  .special-card{grid-template-columns:1fr}
  .special-card>div:before{left:16px}
}
.stats-in{grid-template-columns:repeat(var(--n,3),1fr)}
/* 点検で見つかった細部：12px未満の文字と、押しにくい小さなリンク */
.supported>span:first-child{font-size:12px}
@media (max-width:640px){
  .next-label{font-size:12px}
  .hero-link{display:inline-flex;align-items:center;min-height:44px}
}
/* アワードのリンクは控えめな文字リンクに（2026-10-05 佐藤さん） */
.special-link{margin:10px 0 0}
.special-link a{display:inline-flex;align-items:center;min-height:36px;padding:0;border-radius:0;background:none;color:#9fe6ff;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.special-link a:hover{background:none;color:#fff}
/* フッター：主催のMOTTOロゴ */
.foot-org{display:inline-flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.foot-org span{font-size:12px;color:#9fb3cc}
.foot-org img{height:32px;width:auto;display:block}
.foot .wrap{align-items:center}
@media (max-width:640px){.foot-org{flex-basis:100%;margin-bottom:6px}.foot-org img{height:28px}}
main.wrap{padding-bottom:0;margin-bottom:0}#contact{margin-bottom:0}
/* 協賛企業の登壇者は折りたたみ（ボタンで開く） */
.spk-sponsor{display:none;margin-top:20px}
.spk-sponsor.open{display:grid}
/* パソコンは省略せず全員を出す。省略はスマホだけ（2026-10-05 佐藤さん） */
@media (min-width:641px){.spk-sponsor{display:grid}.more-btn[data-more="spk-sponsor"]{display:none}}
/* スマホは登壇者を3列（2026-10-05 佐藤さん） */
@media (max-width:640px){
  .spk-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .spk-info{padding:8px 6px 10px}
  .spk .nm{font-size:14px;line-height:1.35}
  .spk .co,.spk .ti{font-size:12px;line-height:1.4}
  .spk .company-logo{max-height:20px;max-width:80%}
  .spk .ph.nophoto em{font-size:12px}
  .mc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.special-inline{color:#9fe6ff;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.special-inline:hover{color:#fff}
/* スマホの登壇者カードは肩書を出さない（プロフィールのポップアップには表示） */
@media (max-width:640px){#speakers .spk .ti{display:none}}
.preview-bar{background:#ffe45c;color:#3a2e00;font-size:12px;font-weight:700;text-align:center;padding:6px 12px;line-height:1.5}

/* ═════ スマホの文字の段階を整理（2026-10-05）═════
   大きさ：40 英字見出し／24 キャッチ／20 実績の数字／18 小見出し／16 ボタン・セッション名・読む文／14 補足・一覧／12 会社名・フロアなどの付記
   太さ：500 本文／700 強調・見出し／900 はキャッチ・実績の数字・英字見出しだけ */
@media (max-width:640px){
  body{font-size:16px}
  .hero-inner h1.hero-copy{font-size:24px;line-height:1.4}
  .sub,.booth-card .booth-body h3,.special-card h3{font-size:18px;font-weight:700}
  .exhibitors h3{font-size:18px}
  .card-c .cc-photo h3{font-size:16px}
  .lead,.timetable-intro,.bar-note{font-size:14px;font-weight:500}
  #contact p{font-size:15px;line-height:1.85}
  #contact .btn{font-size:16px;font-weight:700}
  .cta,.hero-actions .hero-cta,.more-btn{font-weight:700}
  .timetable-intro .more{font-weight:700}
  /* タイムテーブル：時刻よりセッション名を先に読ませる */
  .slot{font-size:14px;font-weight:700;color:var(--muted)}
  .item .tm{font-size:12px;font-weight:700}
  .item .t{font-size:16px;font-weight:700;line-height:1.5}
  .item .sp{font-size:13px;font-weight:500}
  .item .stg,.fl{font-weight:700}
  .faq summary{font-size:15px;font-weight:700}
  .faq .more{font-weight:700}
  .faq div,.outline dd{font-size:15px;font-weight:500}
  .card-c p,.booth-card .booth-body p{font-size:15px;font-weight:500}
  .special-card p{font-size:15px}
  .exh-list li{font-size:14px;font-weight:500}
  .next-label,.next-main strong,.special-label{font-weight:700}
  .foot{font-size:13px}
}
@media (max-width:640px){.hero-inner{padding-top:12px;padding-bottom:44px;gap:8px}.hero-inner h1.hero-copy{margin-bottom:8px}.hero-actions{gap:4px 14px}}
/* アンケートのページ */
.survey .sec{max-width:880px;margin:0 auto}
.survey-lead{text-align:center;font-size:15px;line-height:1.9;margin:0 0 24px}
.survey .sub{margin:28px 0 10px}
.survey-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin:0 0 10px;background:#fff;border-radius:10px;box-shadow:0 2px 8px #4663861c;color:var(--ink);text-decoration:none;font-size:15px;font-weight:700;line-height:1.6}
.survey-item b{flex:0 0 auto;color:var(--pink);font-size:14px;white-space:nowrap}
.survey-item:hover{box-shadow:0 4px 14px #4663862e}
@media (max-width:640px){.survey-item{flex-direction:column;align-items:flex-start;gap:4px}}
/* 協賛ロゴの面積（site.js が同じ面積になるよう大きさを計算する）。上位ほど大きく */
.sponsor-group .logo{--la:4200}
.sponsor-group.tier-0 .logo{--la:14000}   /* Goldは大きめに（2026-10-05 佐藤さん） */
.sponsor-group.tier-1 .logo,.sponsor-group.tier-2 .logo,.sponsor-group.tier-3 .logo{--la:5600}
.supported .logo{--la:1500}
.sponsor-group .logo img{object-fit:contain}
@media (max-width:640px){
  .sponsor-group .logo{--la:1700}
  .sponsor-group.tier-0 .logo{--la:5000}
  .sponsor-group.tier-1 .logo,.sponsor-group.tier-2 .logo,.sponsor-group.tier-3 .logo{--la:2200}
  .supported .logo{--la:1100}
}

/* 協賛・出展のご案内（/sponsorship）2026-10-05：白地で簡素に。帯は使わない */
.sp-page{background:#fff}
.sp-nav{display:flex;gap:22px}.sp-nav a{text-decoration:none;color:#303741;font-size:13px;font-weight:800}.sp-nav a:hover{color:var(--blue)}
.sp-head{border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f3f8fe,#fff)}
.sp-head-in{display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:center;padding:40px 0 36px}
.sp-logo{width:100%;height:auto;display:block}
.sp-kicker{margin:0 0 4px;font-size:12px;font-weight:900;letter-spacing:.16em;color:var(--blue);text-transform:uppercase}
.sp-head h1{margin:0 0 10px;font-size:clamp(26px,3.2vw,36px);font-weight:900;color:var(--deep);line-height:1.3;border:0;padding:0}
.sp-when{margin:0 0 12px;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}.sp-when b{font-size:18px;color:var(--ink)}.sp-when span{color:var(--muted);font-weight:700}
.sp-purpose{margin:0 0 18px;max-width:46em;line-height:1.9;color:#26364d}
.sp-actions{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.sp-actions span{font-size:13px;color:var(--muted)}
.sp-cta{display:inline-flex;align-items:center;min-height:46px;padding:8px 26px}
.sp-cta.big{min-height:58px;padding:12px 40px;font-size:17px}
.sp-main{max-width:1080px}
.sp-sec{padding:56px 0 0;scroll-margin-top:72px}
.sp-h{margin:0 0 22px;padding:0 0 10px;font-size:24px;font-weight:900;color:var(--deep);border-bottom:2px solid var(--deep);text-align:left;line-height:1.4}
.sp-h3{margin:34px 0 14px;font-size:17px;font-weight:900;color:var(--deep)}
.sp-note{margin:12px 0 0;font-size:12px;color:#75839a;line-height:1.8}
.sp-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sp-kpis>div{padding:16px 12px 14px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.sp-kpis>div:first-child{border-left:0;padding-left:0}
.sp-kpis b{font-size:clamp(24px,2.6vw,32px);font-weight:900;color:var(--blue);line-height:1.15;white-space:nowrap;font-feature-settings:"tnum"}
.sp-kpis span{font-size:14px;font-weight:800;color:var(--ink)}.sp-kpis small{font-size:12px;color:var(--muted)}
.sp-bars{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sp-bars li{display:grid;grid-template-columns:minmax(0,300px) 1fr 48px;gap:12px;align-items:center;font-size:14px}
.sp-bar{height:14px;background:#edf3fa;border-radius:2px;overflow:hidden}.sp-bar i{display:block;height:100%;background:var(--blue)}
.sp-bars li:first-child .sp-bar i{background:var(--pink)}
.sp-bars b{text-align:right;font-feature-settings:"tnum"}
.sp-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sp-plan{display:grid;grid-template-columns:180px 1fr;gap:16px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.sp-plan img{width:100%;height:100%;min-height:150px;object-fit:cover}
.sp-plan>div{padding:14px 16px 14px 0}.sp-plan h3{margin:0;font-size:18px;font-weight:900;color:var(--deep)}
.sp-plan .sp-menu{margin:2px 0 8px;font-size:13px;font-weight:800;color:var(--blue)}.sp-plan p{margin:0;font-size:14px;line-height:1.8}
.sp-new,.sp-flow{list-style:none;margin:0;padding:0;counter-reset:n}
.sp-new li{counter-increment:n;display:grid;grid-template-columns:2em 1fr;gap:0 4px;padding:12px 0;border-top:1px solid var(--line)}.sp-new li:last-child{border-bottom:1px solid var(--line)}
.sp-new li::before{content:counter(n);grid-row:1/3;font-weight:900;color:var(--blue);font-size:18px;line-height:1.4}
.sp-new b{font-size:16px;color:var(--ink)}.sp-new span{font-size:14px;line-height:1.8;color:#334760}
.sp-dl{display:grid;grid-template-columns:8em 1fr;margin:0;border-top:1px solid var(--line)}
.sp-dl dt,.sp-dl dd{margin:0;padding:12px 0;border-bottom:1px solid var(--line);line-height:1.8}.sp-dl dt{font-weight:800;color:var(--muted);font-size:14px}
.sp-list{margin:0;padding-left:1.2em;line-height:1.9}
.sp-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sp-flow li{counter-increment:n;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.sp-flow li::before{content:"STEP " counter(n);font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--blue)}
.sp-flow b{font-size:16px;color:var(--deep)}.sp-flow span{font-size:13.5px;line-height:1.75;color:#334760}
.sp-page .faq{background:#f6f9fd}
.sp-end{margin:64px 0 0;padding:36px 20px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sp-end p{margin:0 0 16px}.sp-end .sp-mail{margin:14px 0 0;font-size:13px;color:var(--muted)}
@media (max-width:1100px){.sp-nav{display:none}.sp-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-kpis>div:nth-child(3n+1){border-left:0;padding-left:0}.sp-kpis>div:nth-child(n+4){border-top:1px solid var(--line)}}
@media (max-width:840px){
  .sp-head-in{grid-template-columns:1fr;gap:16px;padding:24px 0 26px}.sp-logo{width:160px}
  .sp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-kpis>div{padding-left:12px!important;border-left:1px solid var(--line)!important}.sp-kpis>div:nth-child(odd){border-left:0!important;padding-left:0!important}.sp-kpis>div:nth-child(n+3){border-top:1px solid var(--line)}
  .sp-bars li{grid-template-columns:1fr 44px;gap:4px 10px}.sp-bar-l{grid-column:1/-1}.sp-bars li .sp-bar{grid-column:1}
  .sp-plans{grid-template-columns:1fr}.sp-plan{grid-template-columns:120px 1fr}
  .sp-flow{grid-template-columns:1fr 1fr}
  .sp-dl{grid-template-columns:1fr}.sp-dl dt{padding-bottom:0;border-bottom:0}
  .sp-sec{padding-top:44px}.sp-h{font-size:21px}
}
.sp-head-in{max-width:1080px}
.sp-bar-l small{display:block;font-size:11.5px;color:var(--muted);line-height:1.5}
.sp-tbl{overflow-x:auto}
.sp-changes{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.sp-changes th,.sp-changes td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.75}
.sp-changes thead th{font-size:12px;color:var(--muted);border-bottom:2px solid var(--deep);padding-top:0}
.sp-changes tbody th{width:9em;font-weight:900;color:var(--deep);white-space:nowrap}
.sp-changes td.was{width:24%;color:var(--muted)}
/* 会場案内図（開催概要の表の1行）。年度ごとに assets/venue-map-<年>.webp を置くと表示される（2026-10-05） */
.venue-map img{display:block;width:100%;max-width:720px;height:auto;border:1px solid var(--line);border-radius:4px}
.venue-map .small{display:block;margin-top:6px}
@media (min-width:841px){.venue-map .small{display:none}}

/* 開催決定コーナーのボタン（2026-10-06）。来場者向け「カレンダーに登録」と協賛向け「ご相談」を同じ大きさで並べる */
.next-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.next-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.next-btns .cta{min-width:15em;justify-content:center;white-space:nowrap}
.next-btns .next-sponsor{background:#fff;color:var(--deep);box-shadow:none}
.next-btns .next-sponsor:hover{filter:none;background:#edf6ff}
@media (max-width:840px){.next-side{align-items:stretch;text-align:center}.next-btns{flex-direction:column}.next-btns .cta{min-width:0}}

/* セッション詳細の登壇者（2026-10-07）。写真を大きく見せるカード。押すとプロフィールへ */
.sheet.wide{max-width:900px}
.cast{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:16px 0 18px}
.cast-card{display:flex;flex-direction:column;text-align:left;background:#f6f9fd;border:0;border-radius:8px;overflow:hidden;padding:0;cursor:pointer;color:inherit;box-shadow:0 2px 6px #46638614;transition:transform .12s,box-shadow .12s}
.cast-card:hover:not([disabled]){transform:translateY(-2px);box-shadow:0 8px 18px #45668d2e}
.cast-card[disabled]{cursor:default}
.cast-card>img,.cast-card>.ph{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 28%;background:#e3ebf5}
.cast-card>.ph{display:grid;place-items:center;color:var(--sc,var(--blue));font-size:48px;font-weight:900}
.cast-info{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px;line-height:1.45}
.cast-info b{font-size:15px;font-weight:850;color:#1c2637}
.cast-info i{align-self:flex-start;font-style:normal;font-size:11px;color:#3874ad;background:#edf6ff;border-radius:99px;padding:0 8px;margin:2px 0}
.cast-info small{font-size:12px;color:#5f6f84}
.cast-info .more{margin-top:6px;font-size:12px;font-weight:800;color:var(--sc,var(--blue))}
@media(max-width:540px){.cast{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cast-info{padding:8px 10px 10px}.cast-info b{font-size:14px}}
.sess-desc{margin:4px 0 0;font-size:14px;line-height:1.9;color:#33465e;white-space:pre-wrap}
