/* 協賛募集LP 固有分。styles.css(営業CAMP)のトークンを使う */
.sp-src{margin:14px 0 0;color:var(--muted);font-size:13.5px;line-height:1.7}
.sp-note{margin:22px auto 0;max-width:var(--max);color:var(--muted);font-size:14px;line-height:1.8}
.contents-copy .sp-src{margin-top:12px}

/* リードの段階 */
.ladder-list strong small{display:block;margin-top:6px;color:var(--muted);font-size:15px;font-weight:500;line-height:1.7}
.ladder-list li.is-top{background:linear-gradient(#0b2035,#061321) padding-box,linear-gradient(90deg,rgba(0,145,255,1),rgba(98,192,255,.6)) border-box;box-shadow:0 0 0 1px rgba(0,145,255,.35),0 20px 50px rgba(0,145,255,.18)}
.ladder-list li.is-top span{color:var(--accent-2)}
.ladder-list li.is-top strong{font-size:24px}
.ladder-list li.is-top strong small{color:#e9f4ff;font-weight:600}

/* AKEYが担当 / 協賛企業が担当 */
.sp-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:var(--max);margin:0 auto}
.sp-col{padding:28px 30px;border:1px solid var(--line);border-radius:8px;background:#0a1018}
.sp-col.is-me{border-color:var(--line-strong);background:linear-gradient(#0b2035,#061321)}
.sp-col .networking-kicker{margin:0 0 14px}
.sp-col .networking-features{margin:0}
.sp-close,.sp-fit{max-width:var(--max);margin:34px auto 0;color:#fff;font-size:clamp(18px,1.75vw,25px);font-weight:900;line-height:1.6}
.sp-close em,.sp-fit em,.sp-priceLead em{font-style:normal;color:var(--accent-2)}
.sp-fit{font-size:17px;font-weight:700;line-height:1.85}

/* 集客実績 */
.sp-proof .sp-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:var(--max);margin:0 auto}
.sp-proof .sp-nums div{padding:30px 28px;border:1px solid var(--line);border-radius:8px;background:#0a1018}
.sp-proof .sp-nums b{display:block;color:#fff;font-family:din-2014,"Helvetica Neue",Arial,sans-serif;font-size:clamp(46px,5vw,68px);font-weight:900;line-height:1;letter-spacing:-.02em}
.sp-proof .sp-nums b small{margin-left:4px;font-size:.42em;font-weight:700;color:var(--accent-2)}
.sp-proof .sp-nums span{display:block;margin-top:12px;color:var(--muted);font-size:14.5px;line-height:1.7}
.sp-proof .sp-src{max-width:var(--max);margin:16px auto 0}
.sp-subhead{max-width:var(--max);margin:44px auto 14px;color:#fff;font-size:20px;font-weight:900}
.sp-bars{max-width:var(--max);margin:0 auto;padding:0;list-style:none;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#0a1018}
.sp-bars li{display:grid;grid-template-columns:16em 1fr 5em;gap:16px;align-items:center;padding:13px 22px;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;font-size:14.5px;font-weight:700}
.sp-bars li:last-child{border-bottom:0}
.sp-bars .bar{display:block;height:10px;background:rgba(255,255,255,.08);border-radius:5px;position:relative;overflow:hidden}
.sp-bars .bar i{position:absolute;left:0;top:0;bottom:0;width:var(--w);background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:5px}
.sp-bars b{text-align:right;font-family:din-2014,"Helvetica Neue",Arial,sans-serif;font-size:18px;color:var(--accent-2)}
.sp-proof .sp-fit{margin-top:24px}

/* 4種類の場 */
.sp-places li{min-height:0;padding:26px 18px 24px}
.sp-places li small{display:block;margin-top:10px;color:var(--muted);font-size:13.5px;font-weight:500;line-height:1.7;text-align:left}

/* 料金 */
.sp-priceLead{max-width:var(--max);margin:0 auto 26px;color:#fff;font-size:clamp(22px,2.4vw,32px);font-weight:900;line-height:1.5}
.sp-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:var(--max);margin:0 auto}
.sp-plan{padding:30px 28px;border:1px solid transparent;border-radius:8px;background:linear-gradient(#121821,#070d16) padding-box,linear-gradient(90deg,rgba(0,145,255,.6),rgba(101,84,255,.28)) border-box}
.sp-plan h3{margin:0 0 12px;color:var(--accent-2);font-size:15px;font-weight:900;letter-spacing:.06em}
.sp-plan b{display:block;margin:0 0 18px;color:#fff;font-family:din-2014,"Helvetica Neue",Arial,sans-serif;font-size:clamp(44px,4.6vw,60px);font-weight:900;line-height:1;letter-spacing:-.02em}
.sp-plan b small{margin-left:4px;font-size:.36em;font-weight:700}
.sp-plan b.txt{font-family:inherit;font-size:24px;line-height:1.45;letter-spacing:0}
.sp-plan ul{margin:0;padding:0;list-style:none}
.sp-plan li{position:relative;padding:8px 0 8px 22px;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;font-size:14.5px;font-weight:700}
.sp-plan li:last-child{border-bottom:0}
.sp-plan li::before{content:"";position:absolute;left:2px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.sp-plan p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.75}
.sponsor .sp-src{max-width:var(--max);margin:16px auto 0}

/* イベント一覧・当日の流れ（timetableを流用） */
.sp-events li time,.outline .timetable li time{white-space:nowrap}
.outline .timetable li span{display:block;font-size:15px;font-weight:600;color:var(--muted);line-height:1.7}
.outline .timetable li span strong{display:block;color:#fff;font-size:17px;font-weight:900;margin-bottom:4px}
.outline .timetable li time,.outline .timetable li .phase{display:flex;align-items:flex-start;padding:18px 22px 14px;color:var(--accent-2);font-size:18px;font-weight:800}
.outline .sp-note{margin-top:18px}

/* 比較表 */
.sp-compare{max-width:var(--max);margin:0 auto}
.sp-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:8px;background:#0a1018}
.sp-tw:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.sp-compare table{width:100%;min-width:760px;border-collapse:collapse;font-size:14.5px}
.sp-compare th,.sp-compare td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left;vertical-align:top;line-height:1.6;color:#fff}
.sp-compare thead th{color:var(--accent-2);font-size:13px;font-weight:900;letter-spacing:.08em;background:#111923}
.sp-compare tbody th{color:var(--muted);font-weight:700;width:9em}
.sp-compare td.me{background:rgba(0,145,255,.14);font-weight:900}
.sp-compare thead th.me{color:#fff;background:rgba(0,145,255,.3)}
.sp-compare tbody tr:last-child th,.sp-compare tbody tr:last-child td{border-bottom:0}
.sp-compare .sp-close{margin-top:34px}

@media (max-width: 767.98px){
 .ladder-list li.is-top strong{font-size:19px}
 .sp-split{grid-template-columns:1fr}
 .sp-proof .sp-nums{grid-template-columns:1fr}
 .sp-bars li{grid-template-columns:1fr 4em;grid-template-areas:"lb pct" "bar bar";padding:10px 14px;font-size:13.5px}
 .sp-bars .lb{grid-area:lb}.sp-bars .bar{grid-area:bar}.sp-bars b{grid-area:pct}
 .sp-plans{grid-template-columns:1fr}
 .sp-tw{overflow:visible;border:0;background:none}
 .sp-compare table{min-width:0}
 .sp-compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .sp-compare tbody tr{display:block;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;background:#0a1018;overflow:hidden}
 .sp-compare tbody th{display:block;width:auto;padding:12px 16px;background:#111923;color:#fff;font-size:15px;font-weight:900;border:0}
 .sp-compare tbody td{display:block;padding:10px 16px}
 .sp-compare tbody td::before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:2px}
 .sp-compare tbody td.me::before{color:var(--accent-2)}
 .sp-compare tbody tr:last-child td{border-bottom:1px solid rgba(255,255,255,.1)}
 .sp-compare tbody td:last-child{border-bottom:0}
}

.nw{white-space:nowrap}

/* a11y */
main:focus,main section[id]:focus,.final-cta:focus{outline:none}
html.has-fixed-cta{scroll-padding-bottom:96px}
.problem-list li.static{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:18px 22px;border:1px solid var(--line);border-radius:8px;background:#0a1018;color:#fff;font-size:17px;font-weight:900;line-height:1.5}
.flow{padding-top:0}
.sp-compare tbody td::before{content:attr(data-label);content:attr(data-label) / ""}
@media (max-width:767.98px){
 html.has-fixed-cta{scroll-padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:430px){.concept h2{font-size:clamp(30px,10vw,40px)}}
/* 主催者カード1枚 */
.speakers .speaker-lineup{grid-template-columns:1fr;max-width:760px;margin-left:auto;margin-right:auto}

/* 経営者営業の壁: 見出しをパネル幅(約560px)で2行に収める */
.problem-editorial-copy h2 {
  font-size: clamp(30px, 3.3vw, 46px);
}

.hero-organizer { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.hero-organizer strong { margin-left: .35em; }
@media (max-width: 767.98px) {
  .hero-organizer { display: flex; flex-wrap: wrap; gap: 6px 14px; }
  .hero-organizer .nw + .nw { margin-left: 0; }
  .hero-organizer strong { display: inline; margin: 0 0 0 .4em; }
}

/* 青パネル内の小文字コントラスト(AA 4.5:1) */
.problem-editorial-chapter { color: rgba(255, 255, 255, .92); }
.problem-editorial-copy p { color: rgba(255, 255, 255, .92); }
@media (max-width: 767.98px) { .hero-lead br { display: none; } }

/* FV見出し: 「広告では会えない経営者に、」を1行に収める */
.hero h1 { font-size: clamp(34px, 5.4vw, 76px); }
@media (max-width: 767.98px) { .hero h1 { max-width: 100%; } }
@media (max-width: 767.98px) { #split-title { font-size: 28px; letter-spacing: 0; } }
@media (max-width: 767.98px) { .final-cta p br { display: none; } }

/* 最終CTA内のフォームリンクをリンクと分かる見た目に */
.final-cta p a { color: var(--accent-2); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.final-cta p a:hover, .final-cta p a:focus-visible { color: #fff; text-decoration-color: var(--accent-2); }
@media (max-width: 359.98px) { .hero h1 { font-size: 28px; } }

/* 次セクションの斜め帯がヒーロー下段の数字に被らないよう余白を足す */
@media (min-width: 768px) { .hero { padding-bottom: 120px; } }

/* 向いている会社: 「逆に〜」の注記をリストとCTAの間に置く */
.problem-editorial { grid-template-areas: "photo panel" "strip strip" "bridge bridge" "list list" "note note" "cta cta"; }
@media (max-width: 1080.98px) { .problem-editorial { grid-template-areas: "photo" "panel" "strip" "bridge" "list" "note" "cta"; } }
.problem-editorial > .sp-note { grid-area: note; width: min(var(--max), 100%); margin: 18px auto 0; text-align: center; }

/* CTA内の補足(無料・10ページ)は折り返さず小さく */
.cta-sub { margin-left: .5em; font-size: .78em; font-weight: 700; white-space: nowrap; }
@media (max-width: 767.98px) {
  .primary-cta, .fixed-cta a { flex-wrap: wrap; }
  .cta-sub { flex-basis: 100%; margin: 2px 0 0; font-size: max(.72em, 12px); text-align: center; }
}
/* ヒーローを次セクションの斜め帯より前面に(幅が広いと帯がせり上がって数字に被る) */
.hero { z-index: 1; }
