/* 2026-10-12 ヘッダー主催表記・追従予約ボタン・ページ途中の予約ボタン */
:root{--nx-pink:#e83d87;--nx-pink-dark:#b72665}
header .nx-header-organizer{margin:0;padding:6px 12px;background:#f0f8fd;border-left:4px solid #0086d9;color:#155e8c;font-family:"Noto Sans JP",sans-serif;font-size:17px;font-weight:800;line-height:1.5;letter-spacing:.03em;white-space:nowrap}
header .nav{flex-wrap:wrap}
/* PC: 右上に追従する予約ボタン。画面下の帯は出さない */
.nx-float-reserve{position:fixed;top:18px;right:24px;z-index:90;display:flex;align-items:center;gap:14px;padding:12px 22px;border-radius:8px;background:var(--nx-pink);box-shadow:0 3px 0 var(--nx-pink-dark),0 8px 20px #10182e2e;color:#fff!important;text-decoration:none;font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:900;line-height:1.4;white-space:nowrap}
.nx-float-reserve:hover{background:#d83278}
.nx-float-reserve b{font-size:20px;font-weight:600}
@media (min-width:768px){
  .bottom-bar{display:none!important}
  header .nav{padding-right:230px}
}
/* スマホ: 画面下に浮いた角丸ボタン */
@media (max-width:767px){
  .nx-float-reserve{display:none}
  header .nx-header-organizer{order:5;flex:1 0 100%;text-align:center;font-size:15px;padding:5px 8px;border-left-width:3px}
  .bottom-bar{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0 12px calc(12px + env(safe-area-inset-bottom))!important;pointer-events:none}
  .bottom-bar .bottom-inner{display:flex;align-items:center;gap:10px;justify-content:center}
  .bottom-bar .bottom-inner>*{pointer-events:auto}
  .bottom-bar .saved-cluster{order:2;flex:0 0 auto}
  .bottom-bar #savedNudge{display:none!important}
  .bottom-bar #savedBottom{width:54px;height:54px;border-radius:50%!important;background:#fff!important;box-shadow:0 6px 18px #10182e33;border:1px solid #f3c3d8!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0!important;font-size:0!important;line-height:1;min-width:0!important}
  .bottom-bar #savedBottom .heart-icon{font-size:20px;color:var(--nx-pink)}
  .bottom-bar #savedBottom #savedBottomCount{font-size:11px;font-weight:700;color:var(--nx-pink)}
  .bottom-bar .bottom-inner>a[href="#outline"]{order:1;flex:1 1 auto;max-width:330px;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;white-space:nowrap;align-items:center;justify-content:center;gap:10px;min-height:56px;height:auto!important;padding:10px 18px!important;border-radius:999px!important;background:var(--nx-pink)!important;box-shadow:0 3px 0 var(--nx-pink-dark),0 10px 24px #10182e40;color:#fff!important;text-decoration:none}
  .bottom-bar .nx-pill-free{background:#fff;color:var(--nx-pink);font-size:12px;font-weight:900;border-radius:4px;padding:2px 6px;line-height:1.4}
  .bottom-bar .nx-pill-text{font-size:17px;font-weight:900;line-height:1.3;letter-spacing:.02em}
  .bottom-bar .nx-pill-arrow{font-size:20px;font-weight:600}
}
/* ページ途中の予約ボタン */
.nx-inline-cta{text-align:center;padding:28px 16px 36px;background:#fff}
.nx-inline-cta a{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:12px 28px;border-radius:999px;background:var(--nx-pink);box-shadow:0 3px 0 var(--nx-pink-dark);color:#fff;text-decoration:none;font-family:"Noto Sans JP",sans-serif;font-size:17px;font-weight:900}
.nx-inline-cta a:hover{background:#d83278}
.nx-inline-cta small{display:block;margin-top:10px;font-size:12px;color:#60758b}
.nx-inline-cta .nx-pill-free{background:#fff;color:var(--nx-pink);font-size:12px;border-radius:4px;padding:2px 6px}
/* 新セクションの大きな企業表示：詳細リンクと一覧の選択 */
.nx-section .nx-company{cursor:pointer}
.nx-section .nx-company:focus-visible{outline:3px solid #0086d9;outline-offset:3px}
.nx-section .nx-featured-link{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:#0086d9;text-decoration:underline}
.nx-section{scroll-margin-top:20px}

[id^="co-"]{scroll-margin-top:110px}

/* 2026-10-12 スマホ調整 */
@media (max-width:767px){
  header .nx-header-organizer{display:none!important}
  .study-mobile-fv .study-meta,.mobile-hero-meta{display:none!important}
  .nx-section .nx-featured{padding:26px 5px 22px!important}
  .nx-section .nx-featured-logo{margin:20px auto 18px!important}
  .nx-section .nx-featured-link,.nx-section .nx-featured-note{display:none!important}
  .bottom-bar .nx-pill-arrow,.nx-section .nx-button-arrow,.nx-inline-cta a>span[aria-hidden]{display:none!important}
}

/* 2026-10-12 出展企業ブロックを上下の線で区切る */
.nx-section .nx-participants{border-top:1px solid #dbe3ec;border-bottom:1px solid #dbe3ec;padding:28px 0 32px;margin-top:32px}
@media (max-width:767px){.nx-section .nx-participants{padding:22px 0 26px;margin-top:26px}}

/* 2026-10-13 予約フォーム */
#applyForm .apply-lead{margin:0 0 14px;font-size:14px;font-weight:700;line-height:1.6;color:#1b2a41}
#applyForm details.reservation-optional>summary{cursor:pointer;font-weight:700}

/* 2026-10-14 予約フォーム: 特典・安心材料／完了画面の特典・カレンダー */
#applyForm .apply-perks{margin:0 0 16px;padding:12px 12px 10px;border-radius:10px;background:#fff7fb;border:1px solid #f6c9dc}
#applyForm .apply-perks-lead{margin:0 0 8px;font-size:14px;font-weight:700;color:#1b2a41;line-height:1.6}
#applyForm .apply-badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
#applyForm .apply-badges li{font-size:12.5px;font-weight:700;line-height:1.4;color:#b72665;background:#fff;border:1px solid #f0a9c8;border-radius:999px;padding:5px 10px}
#applyForm .apply-later{margin:4px 0 10px;font-size:12.5px;color:#5d6b7a;text-align:center}
#uketsuke .uk-perk{margin:14px 0 0;padding:10px 12px;border-radius:8px;background:#fff7fb;border:1px solid #f6c9dc;font-weight:700;color:#b72665;font-size:14px;line-height:1.6}
#uketsuke .uk-calendar{margin:12px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#uketsuke .uk-calendar p{margin:0;width:100%;font-size:12.5px;color:#5d6b7a}
#uketsuke .uk-calendar a{display:inline-block;font-size:13px;font-weight:700;color:#0a6fd6;background:#fff;border:1px solid #bcd3ee;border-radius:6px;padding:7px 12px;text-decoration:none}

/* 2026-10-16 メールの形チェック・打ち間違い候補 */
#applyForm .email-error{margin:6px 0 0;color:#c4161c;font-size:13px;font-weight:700;line-height:1.5}
#applyForm .email-suggest{margin:6px 0 0;font-size:13px;line-height:1.5;color:#1b2a41}
#applyForm .email-suggest button{font:inherit;font-weight:700;color:#0a6fd6;background:#eef5ff;border:1px solid #bcd3ee;border-radius:6px;padding:4px 8px;margin-left:2px;cursor:pointer;overflow-wrap:anywhere;text-align:left}
#applyForm input#apEmail[aria-invalid="true"]{border-color:#c4161c}
