/* ============================================================
   本文タイポグラフィ統一 (2026-09-24)
   基準: About 本文 = Noto Sans JP / 500 / 20px / line-height 1.95 (PC) , 17px (SP)
   見出し(h2/h3/h4・dt・eyebrow)は明朝のまま。本文・説明・リスト・FAQをゴシックに統一。
   ============================================================ */

/* --- 1カラム本文 (About と同格) --- */
html body.premium-lp .section-intro,
html body.premium-lp .contact-lead{
  font-family:'Noto Sans JP', sans-serif !important;
  font-weight:500 !important;
  font-size:20px !important;
  line-height:1.95 !important;
  color:#fff !important;
}

/* --- 複数カラム内の本文 (カード・ステージ・参加方法・VIP・注記) --- */
html body.premium-lp .reason-description,
html body.premium-lp .reason-content > p,
html body.premium-lp .experience-grid article > p:last-child,
html body.premium-lp .join-features p,
html body.premium-lp .join-note li,
html body.premium-lp .join-note p,
html body.premium-lp .vip-benefits li small,
html body.premium-lp .fine-print,
html body.premium-lp .stage-band-item small{
  font-family:'Noto Sans JP', sans-serif !important;
  font-weight:500 !important;
  font-size:17px !important;
  line-height:1.9 !important;
  color:#fff !important;
}
html body.premium-lp .vip-benefits li b{ font-size:20px !important; }
html body.premium-lp .vip-price-note small{
  font-family:'Noto Sans JP', sans-serif !important;
  font-weight:500 !important;
  font-size:14px !important;
  line-height:1.9 !important;
}

/* --- スピーカー経歴 --- */
html body.premium-lp .mafia-profile p{
  font-family:'Noto Sans JP', sans-serif !important;
  font-weight:500 !important;
  font-size:15px !important;
  line-height:1.9 !important;
  color:#fff !important;
}

/* --- 開催概要・会場詳細: 大きすぎるので縮小 + ゴシック (dt の見出しは明朝のまま) --- */
html body.premium-lp #venue .overview-list dd,
html body.premium-lp #overview .overview-list dd,
html body.premium-lp .overview-list dd{
  font-family:'Noto Sans JP', sans-serif !important;
  font-weight:500 !important;
  font-size:16px !important;
  line-height:1.8 !important;
  color:#fff !important;
}
html body.premium-lp #venue .overview-list small,
html body.premium-lp #overview .overview-list small,
html body.premium-lp .overview-list small{
  font-family:'Noto Sans JP', sans-serif !important;
  font-weight:400 !important;
  font-size:14px !important;
  line-height:1.8 !important;
  margin-top:4px !important;
  color:#e6e2d6 !important;
}

/* --- FAQ: ゴシック + 文字を大きく + 箱型 (クリックで開く) --- */
html body.premium-lp #faq .faq-list{ display:grid !important; gap:14px !important; }
html body.premium-lp #faq .faq-list details{
  border:1px solid rgba(201,165,91,.38) !important;
  border-left:3px solid rgba(201,165,91,.75) !important;
  border-bottom:1px solid rgba(201,165,91,.38) !important;
  border-radius:6px !important;
  background:linear-gradient(180deg, rgba(30,26,17,.92) 0%, rgba(16,14,9,.94) 100%) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.35) !important;
  padding:0 26px !important;
  margin:0 !important;
  transition:border-color .25s ease, background .25s ease !important;
}
html body.premium-lp #faq .faq-list details:hover{ border-color:rgba(201,165,91,.6) !important; }
html body.premium-lp #faq .faq-list details[open]{
  border-color:rgba(201,165,91,.7) !important;
  border-left-color:#d9b96b !important;
  background:linear-gradient(180deg, rgba(36,31,20,.96) 0%, rgba(18,15,10,.96) 100%) !important;
}
html body.premium-lp #faq .faq-list summary{
  font-family:'Noto Sans JP', sans-serif !important;
  font-weight:600 !important;
  font-size:18px !important;
  line-height:1.7 !important;
  color:#fff !important;
  padding:22px 0 !important;
  cursor:pointer !important;
  list-style:none !important;
}
html body.premium-lp #faq .faq-list summary::-webkit-details-marker{ display:none !important; }
html body.premium-lp #faq .faq-list details[open] > summary{ color:#f2dfae !important; }
html body.premium-lp #faq .faq-list details p{
  font-family:'Noto Sans JP', sans-serif !important;
  font-weight:500 !important;
  font-size:17px !important;
  line-height:1.9 !important;
  color:#fff !important;
  padding:0 0 24px !important;
  margin:0 !important;
  border-top:1px solid rgba(201,165,91,.18) !important;
  padding-top:18px !important;
}
html body.premium-lp #faq .faq-letter{
  font-family:'Noto Sans JP', sans-serif !important;
  font-weight:700 !important;
  font-size:24px !important;
  line-height:1.2 !important;
  color:#e0c78a !important;
}
html body.premium-lp #faq .faq-list details p .faq-letter{ color:#e6e2d6 !important; }
html body.premium-lp #faq .faq-list summary > span[aria-hidden]{
  width:34px !important; height:34px !important;
  border:1px solid #9f8555 !important; background:#30291e !important;
  color:#f4d291 !important; border-radius:50% !important;
  display:grid !important; place-items:center !important; font-size:18px !important;
}

/* --- スマホ --- */
@media (max-width:640px){
  html body.premium-lp .section-intro,
  html body.premium-lp .contact-lead{ font-size:17px !important; line-height:1.9 !important; }
  html body.premium-lp .reason-description,
  html body.premium-lp .reason-content > p,
  html body.premium-lp .experience-grid article > p:last-child,
  html body.premium-lp .join-features p,
  html body.premium-lp .join-note li,
  html body.premium-lp .join-note p,
  html body.premium-lp .vip-benefits li small,
  html body.premium-lp .fine-print,
  html body.premium-lp .stage-band-item small{ font-size:16px !important; line-height:1.85 !important; }
  html body.premium-lp .vip-benefits li b{ font-size:18px !important; }
  html body.premium-lp .mafia-profile p{ font-size:14.5px !important; }
  html body.premium-lp #venue .overview-list dd,
  html body.premium-lp #overview .overview-list dd,
  html body.premium-lp .overview-list dd{ font-size:15px !important; }
  html body.premium-lp #venue .overview-list small,
  html body.premium-lp #overview .overview-list small,
  html body.premium-lp .overview-list small{ font-size:13px !important; }
  html body.premium-lp #faq .faq-list{ gap:12px !important; }
  html body.premium-lp #faq .faq-list details{ padding:0 16px !important; border-radius:5px !important; }
  html body.premium-lp #faq .faq-list summary{ font-size:16.5px !important; padding:18px 0 !important; }
  html body.premium-lp #faq .faq-list details p{ font-size:16px !important; padding-bottom:20px !important; padding-top:14px !important; }
  html body.premium-lp #faq .faq-letter{ font-size:21px !important; }
  html body.premium-lp #faq .faq-list summary > span[aria-hidden]{ width:30px !important; height:30px !important; font-size:16px !important; }
}

/* ID セレクタ付きの既存ルール (#concept / #benefit) より優先させる */
html body.premium-lp #concept .reason-description,
html body.premium-lp #concept .reason-content > p{
  font-family:'Noto Sans JP', sans-serif !important;
  font-weight:500 !important;
  font-size:17px !important;
  line-height:1.9 !important;
}
html body.premium-lp #benefit .join-features p{
  font-family:'Noto Sans JP', sans-serif !important;
  font-weight:500 !important;
  font-size:17px !important;
  line-height:1.9 !important;
  color:#fff !important;
}
@media (max-width:640px){
  html body.premium-lp #concept .reason-description,
  html body.premium-lp #concept .reason-content > p,
  html body.premium-lp #benefit .join-features p{ font-size:16px !important; line-height:1.85 !important; }
}

/* --- 短文の折り返し改善: 行のバランス + 文節単位で折る (末尾1〜2文字の孤立を防ぐ) --- */
html body.premium-lp .section-intro,
html body.premium-lp .contact-lead,
html body.premium-lp .stage-band-intro p,
html body.premium-lp .join-recommendation,
html body.premium-lp .join-list-label,
html body.premium-lp .guest-message,
html body.premium-lp .vip-price-note em,
html body.premium-lp .vip-price-note small,
html body.premium-lp .reason-content h3,
html body.premium-lp .experience-grid h3,
html body.premium-lp .join-features h4,
html body.premium-lp .join-features p,
html body.premium-lp .join-note li,
html body.premium-lp .vip-benefits li b,
html body.premium-lp .vip-benefits li small,
html body.premium-lp .overview-list dd,
html body.premium-lp .overview-list small,
html body.premium-lp #faq .faq-list summary,
html body.premium-lp .fine-print,
html body.premium-lp .rv-urgency-note,
html body.premium-lp .section h2,
html body.premium-lp .contact-section h2{
  text-wrap:balance;
  overflow-wrap:anywhere;
}
/* 長文の本文は balance を使わず、文節単位の折り返しだけ */
html body.premium-lp .about-rv-body p,
html body.premium-lp .reason-description,
html body.premium-lp .experience-grid article > p:last-child,
html body.premium-lp #faq .faq-list details p,
html body.premium-lp .mafia-profile p{
  overflow-wrap:anywhere;
}

/* --- 01〜03 カード: 番号・キッカー・見出し・本文の間隔を詰める (PC/SP) --- */
html body.premium-lp #concept .reason-content{ padding-top:22px !important; padding-bottom:28px !important; }
html body.premium-lp #concept .reason-index{ margin-bottom:2px !important; }
html body.premium-lp #concept .reason-kicker{ margin:6px 0 6px !important; }
html body.premium-lp #concept .reason-title-frame{ margin:0 !important; }
html body.premium-lp #concept .reason-content h3{ margin:0 !important; }
html body.premium-lp #concept .reason-description{ margin-top:10px !important; }
@media (max-width:640px){
  html body.premium-lp #concept .reason-content{ padding-top:20px !important; padding-bottom:24px !important; }
  html body.premium-lp #concept .reason-kicker{ margin:4px 0 4px !important; }
  html body.premium-lp #concept .reason-description{ margin-top:8px !important; }
}

/* --- 参加方法カード: ラベル・見出し・リスト・フッターの間隔を詰める (PC/SP) --- */
html body.premium-lp #benefit .join-details{ padding-top:18px !important; padding-bottom:12px !important; }
html body.premium-lp #benefit .join-list-label{ line-height:1.3 !important; }
html body.premium-lp #benefit .join-list-label > small{ margin-bottom:8px !important; }
html body.premium-lp #benefit .join-list-label > span{ margin-top:0 !important; }
html body.premium-lp #benefit .join-features{ margin-top:12px !important; }
html body.premium-lp #benefit .join-features li{ padding:13px 0 !important; gap:14px !important; }
html body.premium-lp #benefit .join-features h4{ margin:0 !important; line-height:1.5 !important; }
html body.premium-lp #benefit .join-features p{ margin-top:2px !important; line-height:1.75 !important; }
html body.premium-lp #benefit .join-note{ margin-top:12px !important; }
html body.premium-lp #benefit .join-footer{ margin-top:28px !important; padding-top:14px !important; padding-bottom:22px !important; }
html body.premium-lp #benefit .join-recommendation{ margin-bottom:12px !important; }
@media (max-width:640px){
  html body.premium-lp #benefit .join-details{ padding-top:16px !important; padding-bottom:10px !important; }
  html body.premium-lp #benefit .join-features li{ padding:11px 0 !important; gap:12px !important; }
  html body.premium-lp #benefit .join-footer{ margin-top:20px !important; padding-top:10px !important; padding-bottom:18px !important; }
}

/* --- About 本文: スマホは左揃え + 段落末の孤立回避 (中央揃えだと折り返し位置が目立つ) --- */
html body.premium-lp .about-rv-body p{ text-wrap:pretty; }
@media (max-width:640px){
  html body.premium-lp .about-rv-body{ text-align:left !important; }
  html body.premium-lp .about-rv-body p{ text-align:left !important; font-size:16.5px !important; line-height:1.9 !important; }
}
/* 01〜03 カード見出し: スマホは1行12文字が収まるサイズに (「語る、」で手動改行) */
@media (max-width:640px){
  html body.premium-lp #concept .reason-content h3{ font-size:21px !important; line-height:1.5 !important; }
}
/* 参加方法リスト: 読点・中黒 (<wbr>) の位置でのみ折り返す。収まらない場合だけ任意位置で折る */
html body.premium-lp #benefit .join-features h4,
html body.premium-lp #benefit .join-features p{
  word-break:keep-all !important;
  overflow-wrap:anywhere !important;
  text-wrap:balance;
}
/* 参加方法リスト見出し: スマホは明示改行 (<br class="mobile-break">) + 19px。本文は読点・中黒でのみ折り返し */
html body.premium-lp #benefit .join-features h4{ word-break:normal !important; text-wrap:balance; }
html body.premium-lp #benefit .join-features p{ text-wrap:pretty; }
@media (max-width:640px){
  html body.premium-lp #benefit .join-features h4{ font-size:19px !important; }
}

/* --- About 本文: 文節の区切り (<wbr>) でのみ折り返す。収まらない場合だけ任意位置 --- */
html body.premium-lp .about-rv-body p{
  word-break:keep-all !important;
  overflow-wrap:anywhere !important;
}

/* --- ハンバーガーメニュー: リンク7本 + ボタン2つ + ロゴ を1画面に収める --- */
@media (max-width:1080px){
  html body.premium-lp .mobile-menu-overlay{
    padding-top:64px !important;
    padding-bottom:20px !important;
    justify-content:flex-start !important;
    gap:0 !important;
  }
  html body.premium-lp .mobile-menu-nav{ gap:0 !important; margin:0 !important; }
  html body.premium-lp .mobile-menu-nav a{
    padding-top:9px !important;
    padding-bottom:9px !important;
    font-size:19px !important;
    line-height:1.5 !important;
  }
  html body.premium-lp .mobile-menu-cta{
    margin-top:18px !important;
    padding-top:0 !important;
    gap:8px !important;
  }
  html body.premium-lp .mobile-menu-cta .button{ min-height:48px !important; padding-top:12px !important; padding-bottom:12px !important; }
  html body.premium-lp .mobile-menu-brand{ margin-top:12px !important; }
  html body.premium-lp .mobile-menu-brand img{ width:168px !important; }
}
@media (max-width:1080px) and (max-height:700px){
  html body.premium-lp .mobile-menu-overlay{ padding-top:56px !important; }
  html body.premium-lp .mobile-menu-nav a{ padding-top:6px !important; padding-bottom:6px !important; font-size:18px !important; }
  html body.premium-lp .mobile-menu-cta .button{ min-height:44px !important; padding-top:10px !important; padding-bottom:10px !important; }
  html body.premium-lp .mobile-menu-brand img{ width:140px !important; }
}

/* --- セクション導入文 / 申込リード: 強制改行をやめ、文節 (<wbr>) でのみ折り返す。見出しは手動改行のみ (balance 無効) --- */
html body.premium-lp .section-intro,
html body.premium-lp .contact-lead{
  word-break:keep-all !important;
  overflow-wrap:anywhere !important;
  text-wrap:pretty !important;
}
html body.premium-lp .contact-lead br{ display:inline !important; }
html body.premium-lp .section h2,
html body.premium-lp .contact-section h2,
html body.premium-lp .reason-content h3,
html body.premium-lp .experience-grid h3{ text-wrap:wrap !important; }
html body.premium-lp #concept .section-heading h2 br{ display:inline !important; }
html body.premium-lp .fine-print{ text-wrap:wrap !important; word-break:normal !important; }

/* --- VIP 特典: 本文幅を広げ、文節 (<wbr>) でのみ折り返す --- */
html body.premium-lp .vip-benefits li small{
  word-break:keep-all !important;
  overflow-wrap:anywhere !important;
  text-wrap:pretty !important;
  display:block !important;
}
@media (max-width:640px){
  html body.premium-lp .vip-benefits li{ padding-left:14px !important; padding-right:10px !important; gap:10px !important; }
  html body.premium-lp .vip-benefits li > div{ flex:1 1 auto !important; min-width:0 !important; max-width:none !important; }
}
/* VIP 特典: 行を詰めて埋める (pretty は短行を作るので無効)、スマホは15pxで幅をさらに確保 */
html body.premium-lp .vip-benefits li small{ text-wrap:wrap !important; }
@media (max-width:640px){
  html body.premium-lp .vip-benefits li{ padding-left:12px !important; padding-right:8px !important; gap:8px !important; }
  html body.premium-lp .vip-benefits li small{ font-size:15px !important; line-height:1.8 !important; }
}

/* --- 3ステージ: STAGE 01〜03 のラベルと見出しを大きく (コンテンツのタイトルとして) --- */
html body.premium-lp .experience-grid article .eyebrow{ font-size:14px !important; letter-spacing:.22em !important; }
html body.premium-lp .experience-grid article h3{ font-size:28px !important; line-height:1.4 !important; margin-top:12px !important; margin-bottom:18px !important; }
@media (max-width:640px){
  html body.premium-lp .experience-grid article .eyebrow{ font-size:13px !important; }
  html body.premium-lp .experience-grid article h3{ font-size:25px !important; margin-top:10px !important; margin-bottom:14px !important; }
}
/* 3ステージ見出しの手動改行 (アワード授賞式＆ / ブース展示) を有効化し、単語途中で折らない */
html body.premium-lp .experience-grid h3 br{ display:inline !important; }
html body.premium-lp .experience-grid h3{ word-break:keep-all !important; overflow-wrap:anywhere !important; }

/* --- ハンバーガーメニュー: 画面高に応じて縦に広げ、余りは要素間に配分 (ロゴ下端が画面下に寄る) --- */
@media (max-width:1080px) and (min-height:701px){
  html body.premium-lp .mobile-menu-overlay{
    padding-top:72px !important;
    padding-bottom:28px !important;
    justify-content:space-between !important;
  }
  html body.premium-lp .mobile-menu-nav{ flex:1 1 auto !important; display:flex !important; flex-direction:column !important; justify-content:space-evenly !important; }
  html body.premium-lp .mobile-menu-nav a{ padding-top:10px !important; padding-bottom:10px !important; font-size:20px !important; }
  html body.premium-lp .mobile-menu-cta{ margin-top:16px !important; gap:10px !important; flex:0 0 auto !important; }
  html body.premium-lp .mobile-menu-cta .button{ min-height:52px !important; }
  html body.premium-lp .mobile-menu-brand{ margin-top:16px !important; }
  html body.premium-lp .mobile-menu-brand img{ width:180px !important; }
}
/* About 本文: スマホもセンター配置に戻す (折り返し位置は <wbr> のまま) */
@media (max-width:640px){
  html body.premium-lp .about-rv-body{ text-align:center !important; }
  html body.premium-lp .about-rv-body p{ text-align:center !important; }
}
/* 3ステージ見出し: 改行せず1行に (ユーザー指示)。幅に応じて縮小 */
html body.premium-lp .experience-grid article h3{ white-space:nowrap !important; font-size:clamp(20px, 2vw, 26px) !important; }
@media (max-width:640px){
  html body.premium-lp .experience-grid article h3{ font-size:clamp(18px, 5.8vw, 23px) !important; }
}

/* --- スピーカー紹介文: カード内のまま、左揃え・連続 (改行なし・字間0・小さめで詰める) --- */
html body.premium-lp .mafia-profile p{ text-align:left !important; letter-spacing:0 !important; word-break:normal !important; overflow-wrap:anywhere !important; text-wrap:wrap !important; }
@media (max-width:640px){
  html body.premium-lp .mafia-profile p{ font-size:13px !important; line-height:1.7 !important; }
}

/* --- 01〜03 カード見出し: 1.5倍 --- */
html body.premium-lp #concept .reason-content h3{ font-size:37px !important; line-height:1.35 !important; }
@media (max-width:640px){
  html body.premium-lp #concept .reason-content h3{ font-size:31px !important; line-height:1.35 !important; }
}
@media (max-width:400px){
  html body.premium-lp #concept .reason-content h3{ font-size:29px !important; }
}
/* --- 02 見出し: 「一日、同じ場所で、／3つの独立ステージ」 PC/SP とも --- */
html body.premium-lp #stages .section-heading h2 br{ display:inline !important; }
html body.premium-lp #stages .section-heading h2 .nowrap{ white-space:nowrap !important; }
/* 01〜03 カード見出し: 行内で折らず、スマホは幅に合わせて縮小 */
html body.premium-lp #concept .reason-content h3{ white-space:nowrap !important; }
@media (max-width:640px){
  html body.premium-lp #concept .reason-content h3{ font-size:min(26px, 6.4vw) !important; }
}

/* --- カード見出しはカード幅に連動して縮小 (どの幅でもはみ出さない) --- */
html body.premium-lp #concept .reason-content{ container-type:inline-size; }
html body.premium-lp #concept .reason-content h3{ font-size:clamp(17px, 7.6cqi, 37px) !important; }
@media (max-width:640px){
  html body.premium-lp #concept .reason-content h3{ font-size:clamp(17px, 7.6cqi, 26px) !important; }
}
html body.premium-lp .experience-grid article{ container-type:inline-size; }
html body.premium-lp .experience-grid article h3{ font-size:clamp(16px, 7.2cqi, 26px) !important; }
@media (max-width:640px){
  html body.premium-lp .experience-grid article h3{ font-size:clamp(16px, 7.2cqi, 23px) !important; }
}
/* はみ出し実測に基づく微調整 (320〜1920px スキャン) */
html body.premium-lp #concept .reason-content h3{ font-size:clamp(17px, 7.0cqi, 37px) !important; letter-spacing:.02em !important; }
@media (max-width:640px){ html body.premium-lp #concept .reason-content h3{ font-size:clamp(17px, 7.0cqi, 26px) !important; } }
html body.premium-lp .experience-grid article h3{ font-size:clamp(16px, 6.9cqi, 26px) !important; }
@media (max-width:640px){ html body.premium-lp .experience-grid article h3{ font-size:clamp(16px, 6.9cqi, 23px) !important; } }
@media (max-width:340px){ html body.premium-lp #stages .section-heading h2{ font-size:25px !important; } }
html body.premium-lp #concept .reason-content h3{ font-size:clamp(16px, 6.8cqi, 37px) !important; }
@media (max-width:640px){ html body.premium-lp #concept .reason-content h3{ font-size:clamp(16px, 6.8cqi, 26px) !important; } }
html body.premium-lp .experience-grid article h3{ font-size:clamp(15px, 6.7cqi, 26px) !important; }
@media (max-width:640px){ html body.premium-lp .experience-grid article h3{ font-size:clamp(15px, 6.7cqi, 23px) !important; } }
html body.premium-lp #concept .reason-content h3{ font-size:clamp(16px, 8.0cqi, 37px) !important; }
@media (max-width:640px){ html body.premium-lp #concept .reason-content h3{ font-size:clamp(16px, 8.0cqi, 27px) !important; } }
html body.premium-lp #concept .reason-content h3{ font-size:clamp(16px, 7.8cqi, 37px) !important; }
@media (max-width:640px){ html body.premium-lp #concept .reason-content h3{ font-size:clamp(16px, 7.2cqi, 27px) !important; } }
@media (max-width:340px){ html body.premium-lp .about-rv-logo img{ height:40px !important; } html body.premium-lp .about-rv-logo .about-rv-label{ font-size:30px !important; } }
/* FAQ 質問: balance をやめ、文節 (<wbr>) でのみ折り返す */
html body.premium-lp #faq .faq-list summary{ text-wrap:wrap !important; word-break:keep-all !important; overflow-wrap:anywhere !important; }

/* --- 参加方法カード: 2カラム時はフッター(推奨文+ボタン)を下端で揃える --- */
@media (min-width:801px){
  html body.premium-lp #benefit .join-card{ display:flex !important; flex-direction:column !important; }
  html body.premium-lp #benefit .join-details{ flex:1 1 auto !important; }
  html body.premium-lp #benefit .join-footer{ margin-top:auto !important; padding-top:14px !important; }
}

/* --- 3ステージ: 各カードを枠線で区切る。注記は下に離して小さくセンター --- */
html body.premium-lp .experience-grid article{
  border:1px solid rgba(201,165,91,.38) !important;
  border-radius:6px !important;
  background:linear-gradient(180deg, rgba(24,21,14,.55) 0%, rgba(12,11,8,.7) 100%) !important;
  padding:0 0 26px !important;
  overflow:hidden !important;
  box-shadow:0 10px 28px rgba(0,0,0,.3) !important;
}
html body.premium-lp .experience-grid article > figure{ margin:0 0 20px !important; }
html body.premium-lp .experience-grid article > figure img{ border-radius:0 !important; display:block !important; width:100% !important; }
html body.premium-lp .experience-grid article > .eyebrow,
html body.premium-lp .experience-grid article > h3,
html body.premium-lp .experience-grid article > p:last-child{ padding-left:22px !important; padding-right:22px !important; }
html body.premium-lp .experience-section .fine-print{
  display:block !important;
  margin:36px auto 0 !important;
  text-align:center !important;
  font-size:13px !important;
  line-height:1.8 !important;
  color:#cfcabd !important;
  letter-spacing:.02em !important;
}
@media (max-width:640px){
  html body.premium-lp .experience-grid article{ padding-bottom:20px !important; }
  html body.premium-lp .experience-grid article > figure{ margin-bottom:14px !important; }
  html body.premium-lp .experience-grid article > .eyebrow,
  html body.premium-lp .experience-grid article > h3,
  html body.premium-lp .experience-grid article > p:last-child{ padding-left:16px !important; padding-right:16px !important; }
  html body.premium-lp .experience-section .fine-print{ margin-top:28px !important; font-size:12px !important; }
}
/* 3ステージ見出し: 箱の内側幅 (左右パディング分を引く) から算出し、どの幅でも枠内に収める */
html body.premium-lp .experience-grid article h3{ font-size:clamp(14px, calc((100cqi - 48px) / 13.4), 26px) !important; letter-spacing:.02em !important; }
@media (max-width:640px){
  html body.premium-lp .experience-grid article h3{ font-size:clamp(14px, calc((100cqi - 36px) / 13.4), 23px) !important; }
}
/* 801〜900px (3カラムで最も狭い帯): 内側パディングを詰めて見出しを収める */
@media (min-width:801px) and (max-width:900px){
  html body.premium-lp .experience-grid article > .eyebrow,
  html body.premium-lp .experience-grid article > h3,
  html body.premium-lp .experience-grid article > p:last-child{ padding-left:12px !important; padding-right:12px !important; }
  html body.premium-lp .experience-grid article h3{ font-size:clamp(13.5px, calc((100cqi - 26px) / 13.4), 26px) !important; letter-spacing:0 !important; }
}

/* --- スマホ FV: 画像を下げて上端が動画マスクの下端に接する位置に (日付は動画の下に見える) --- */
@media (max-width:640px){
  html body.premium-lp .hero-visual-only .hero-content,
  html body.premium-lp .hero-visual-only .hero-content.container{
    /* 通常は -20px (画像上端=動画下端)。縦の短い画面では日付が初期画面に入るまで引き上げ (最大 -160px) */
    margin-top:clamp(-160px, calc(100svh - 100vw - 420px), -20px) !important;
  }
}

/* --- ハンバーガー最下部ロゴ: 約2倍 (画面幅上限あり) --- */
@media (max-width:1080px){
  html body.premium-lp .mobile-menu-brand img{ width:min(360px, 84vw) !important; max-width:none !important; }
  html body.premium-lp .mobile-menu-brand{ margin-top:14px !important; }
}
@media (max-width:1080px) and (max-height:700px){
  html body.premium-lp .mobile-menu-brand img{ width:min(280px, 74vw) !important; }
}

/* 2026-10-01 ハンバーガーメニュー: オンライン参加の下に協賛ボタンを追加した分の高さ調整。
   このファイルは motion.css より後に読まれるため、既存のメニュー高さ指定を上書きできる。
   ボタンが2つ→3つに増えた分(約60px)を、ナビ余白とロゴで回収して1画面に収める。 */
@media (max-width:1080px) and (max-height:740px){
  html body.premium-lp .mobile-menu-overlay{ padding-top:52px !important; padding-bottom:20px !important; gap:14px !important; }
  html body.premium-lp .mobile-menu-nav a{ padding-top:3px !important; padding-bottom:3px !important; font-size:17px !important; }
  html body.premium-lp .mobile-menu-cta{ margin-top:10px !important; gap:7px !important; }
  html body.premium-lp .mobile-menu-cta .button{ min-height:42px !important; }
  html body.premium-lp .mobile-menu-brand{ margin-top:6px !important; }
  html body.premium-lp .mobile-menu-brand img{ width:118px !important; }
}

/* --- スピーカー肩書き（プロフィール先頭行） --- */
html body.premium-lp .mafia-profile p.mafia-role{ color:#d1b779 !important; font-weight:600 !important; padding-bottom:6px !important; }
html body.premium-lp .mafia-profile p.mafia-role + p{ padding-top:0 !important; }
