@charset "utf-8";

/* ============================================
   Inter BEE 2026 出展募集TOP CSS
   ============================================ */

@font-face {
  font-family: 'LINESeedJP';
  src: url('/assets/font/LINESeedJP_OTF_Rg.woff') format('woff'),
       url('/assets/font/LINESeedJP_OTF_Rg.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'LINESeedJP';
  src: url('/assets/font/LINESeedJP_OTF_Bd.woff') format('woff'),
       url('/assets/font/LINESeedJP_OTF_Bd.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'LINESeedJP';
  src: url('/assets/font/LINESeedJP_OTF_Eb.woff') format('woff'),
       url('/assets/font/LINESeedJP_OTF_Eb.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

/* Header / GNAV 共通スタイルは style_org2.css に移動済み */

/* ---- mode-vis: All black header (default, no overrides needed) ---- */

html.exb26-page a {
  text-decoration: none;
  color: inherit;
}

/* SP専用改行 br: デフォルト非表示、480px以下で有効 */
br.sp-br {
  display: none;
}

html.exb26-page a:visited,
html.exb26-page a:active {
  color: inherit;
}

:root {
  --font-size_12: clamp(10px, 2.5vw, 12px);
  --font-size_13: clamp(11px, 2.5vw, 13px);
  --font-size_14: clamp(12px, 2.5vw, 14px);
  --font-size_15: clamp(13px, 2.5vw, 15px);
  --font-size_16: clamp(14px, 2.5vw, 16px);
  --font-size_17: clamp(15px, 2.5vw, 17px);
  --font-size_18: clamp(16px, 2.5vw, 18px);
  --font-size_20: clamp(18px, 2.5vw, 20px);
  --font-size_22: clamp(20px, 2.5vw, 22px);
  --font-size_24: clamp(22px, 3vw, 24px);
  --font-size_26: clamp(24px, 3vw, 26px);
  --font-size_28: clamp(26px, 3vw, 28px);
  --font-size_30: clamp(26px, 3.5vw, 30px);
  --font-size_34: clamp(30px, 4vw, 34px);
  --font-size_36: clamp(32px, 4vw, 36px);
  --font-size_40: clamp(34px, 5vw, 40px);
  --font-size_44: clamp(36px, 5vw, 44px);
  --font-size_48: clamp(36px, 5vw, 48px);

  --glass-bg: rgba(255, 255, 255, 0.2);
  --glass-border: rgba(255, 255, 255, 0.4);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  --glass-blur: 20px;

  --color-primary: #1a3a6b;
  --color-accent: #e63946;
  --color-blue: #2563eb;
  --color-pink: #ec4899;
  --color-purple: #8b5cf6;
  --color-green: #10b981;
  --color-yellow: #f59e0b;
  --color-orange: #f97316;
}

html.exb26-page,
html.exb26-page body {
  font-family: 'Zen Kaku Gothic New', 'Outfit', sans-serif;
}

/* overflow-x: hidden を body に設定するとsticky が効かなくなるため main に設定 */
html.exb26-page main {
  overflow-x: clip;
}

main.page_top_exb2026 {
  margin-top: 0;
  line-height: 1.8;
}

main.page_top_exb2026,
main.page_top_exb2026 p,
main.page_top_exb2026 li,
main.page_top_exb2026 span:not(.exb26-merit-label):not(.mag-card-date):not(.main-price):not(.yen):not(.date-num):not(.badge):not(.unit):not(.percent):not(.countup) {
  font-size: var(--font-size_18);
  font-weight: 700;
}

.page_top_exb2026 section {
  position: relative;
}

/* ============================================
   共通ユーティリティ
   ============================================ */
.exb26-w1200 {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
}

.exb26-w1400 {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
}

.exb26-section-title {
  font-size: var(--font-size_40);
  font-weight: 700;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  line-height: 1.2;
}

/* 英語ページ: h2をOutfitフォント、Aboutと同じサイズに */
html[lang="en"] .exb26-section-title {
  font-family: 'Outfit', sans-serif;
  font-size: var(--font-size_48);
  margin-bottom: 8px;
  color: #000;
}

.exb26-section-subtitle {
  font-size: var(--font-size_16);
  font-family: 'Outfit', sans-serif;
  color: var(--color-blue);
  font-style: normal;
  font-weight: 700;
  margin-top: 8px;
  margin-bottom: 24px;
}

.exb26-view-more,
.exb26-view-more:visited,
.exb26-view-more:active {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 36px;
  background: linear-gradient(90deg, #2f67f6 0%, #6022d2 50%, #2f67f6 100%);
  background-size: 200% 100%;
  border: none;
  border-radius: 50px;
  font-size: var(--font-size_16);
  font-family: 'Outfit', sans-serif;
  color: #fff !important;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.exb26-view-more:hover {
  background-position: 100% 0;
}

.exb26-view-more::after {
  content: '→';
  transition: transform 0.3s ease;
}

.exb26-view-more:hover::after {
  transform: translateX(4px);
}

.exb26-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 40px;
  background: linear-gradient(90deg, #2f67f6 0%, #6022d2 50%, #2f67f6 100%);
  background-size: 200% 100%;
  color: #fff !important;
  border: none;
  border-radius: 50px;
  font-size: var(--font-size_16);
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.exb26-cta-btn:hover {
  background-position: 100% 0;
}

.exb26-cta-btn::after {
  display: none;
}

.exb26-cta-btn i {
  transition: transform 0.3s ease;
}

.exb26-cta-btn:hover i {
  transform: translateX(4px);
}


/* ============================================
   背景固定セクション共通
   ============================================ */
.exb26-fixed-bg {
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 768px) {
  .exb26-fixed-bg {
    background-attachment: scroll;
  }
}


/* ============================================
   リキッドグラスカード共通
   ============================================ */
.exb26-glass-card {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  box-shadow: var(--glass-shadow);
  transition: all 0.3s ease;
  overflow: hidden;
}

.exb26-glass-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.exb26-glass-card a {
  text-decoration: none;
  color: inherit;
  display: block;
}


/* ============================================
   1) MV — mv_bg を <img> で配置、コンテンツを上に重ねる
   ============================================ */
#exb26-mv {
  position: relative;
  overflow: hidden;
}

/* 背景画像: img タグで縦横比を維持 */
#exb26-mv .mv-bg {
  display: block;
  width: 100%;
  height: auto;
}

/* PC/Tablet/SP 画像切り替え */
#exb26-mv .mv-bg--tablet,
#exb26-mv .mv-bg--sp,
#exb26-mv .mv-theme--sp {
  display: none;
}

#exb26-mv .mv-bg--pc,
#exb26-mv .mv-theme--pc {
  display: block;
}

/* キューブスペース（SP用） */
#exb26-mv .mv-cube-space {
  display: none;
}

/* オーバーレイコンテナ: 背景画像の上に被せる */
#exb26-mv .mv-inner {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 3%;
}

/* テーマテキスト（左下）— % は mv-bg 基準で調整可 */
#exb26-mv .mv-theme {
  position: absolute;
  left: 3%;           /* ← 調整可 */
  bottom: 5%;         /* ← 調整可 */
  z-index: 3;
  width: 22%;         /* ← 調整可 */
  height: auto;
}

/* ---- スライド（クロスフェード） ---- */
#exb26-mv .mv-slides {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

#exb26-mv .mv-slide-set {
  position: absolute;
  inset: 0;
}

#exb26-mv .mv-slide-set--1 {
  animation: mvCrossfade 9s ease-in-out infinite;
}

#exb26-mv .mv-slide-set--2 {
  animation: mvCrossfade 9s ease-in-out infinite;
  animation-delay: -3s;
}

#exb26-mv .mv-slide-set--3 {
  animation: mvCrossfade 9s ease-in-out infinite;
  animation-delay: -6s;
}

@keyframes mvCrossfade {
  0%, 33.3% { opacity: 1; }
  36.6%, 96.6% { opacity: 0; }
  100% { opacity: 1; }
}

/* キューブ画像配置 — 全て % 指定（mv-bg 基準で調整可） */
#exb26-mv .mv-cube {
  position: absolute;
  height: auto;
}

#exb26-mv .mv-cube--1 {
  top: 18.6%;             /* ← 調整可 */
  left: 4%;            /* ← 調整可 */
  width: 14.5%;          /* ← 調整可 */
}

#exb26-mv .mv-cube--2 {
  top: 29.9%;            /* ← 調整可 */
  left: 26.1%;           /* ← 調整可 */
  width: 19.2%;          /* ← 調整可 */
}

#exb26-mv .mv-cube--3 {
  top: 46.1%;             /* ← 調整可 */
  left: 51%;           /* ← 調整可 */
  width: 11.1%;          /* ← 調整可 */
}

/* ---- 右側コンテンツ ---- */
#exb26-mv .mv-content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 44%;
  max-width: 500px;
  flex-shrink: 0;
}

#exb26-mv .mv-logo {
  width: 100%;
  height: auto;
  margin-bottom: 2.5%;
}

/* リキッドグラスボックス */
#exb26-mv .mv-glass-box {
  background: rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  padding: 3% 5% 2.5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2.5%;
}

#exb26-mv .mv-main-text {
  width: 85%;
  height: auto;
}

#exb26-mv .mv-deadlines {
  width: 78%;
  height: auto;
  margin-bottom: 4%;
}

#exb26-mv .mv-buttons {
  display: flex;
  gap: 5%;
  width: 90%;
}

#exb26-mv .mv-buttons a {
  display: block;
  flex: 1;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

#exb26-mv .mv-buttons a:hover {
  transform: scale(1.08);
  opacity: 0.85;
}

#exb26-mv .mv-buttons img {
  width: 100%;
  height: auto;
  display: block;
}

/* バナー: 右ブロックと左右揃え */
#exb26-mv .mv-banner {
  pointer-events: none;
  cursor: default;
}

#exb26-mv .mv-banner img {
  width: 100%;
  height: auto;
  display: block;
}

/* ---- MV レスポンシブ ---- */
@media (max-width: 1200px) and (min-width: 851px) {
  #exb26-mv .mv-content {
    width: clamp(85%, 88vw, 90%);
    max-width: none;
  }

  #exb26-mv .mv-logo {
    width: 100%;
  }

  #exb26-mv .mv-glass-box {
    padding: clamp(14px, 1.5vw, 18px) clamp(16px, 2vw, 20px) clamp(12px, 1.2vw, 16px);
  }

  #exb26-mv .mv-main-text {
    width: clamp(85%, 20vw, 90%);
  }

  #exb26-mv .mv-deadlines {
    width: clamp(78%, 18vw, 85%);
  }

  #exb26-mv .mv-buttons {
    width: clamp(85%, 22vw, 90%);
    gap: clamp(4%, 1vw, 5%);
  }

  #exb26-mv .mv-banner {
    padding: 0 clamp(2%, 1vw, 3%);
    box-sizing: border-box;
  }
}

@media (max-width: 1300px) {
  #exb26-mv .mv-content {
    max-width: 400px;
  }
}

@media (max-width: 1024px) {
  #exb26-mv .mv-content {
    width: 48%;
    max-width: 360px;
  }

  #exb26-mv .mv-cube--3 {
    display: none;
  }
}

@media (max-width: 1000px) {
  #exb26-mv .mv-content {
    max-width: 360px;
  }
}

@media (max-width: 850px) {
  /* Tablet: 背景画像とテーマテキストをTablet/SP用に切り替え */
  #exb26-mv .mv-bg--pc,
  #exb26-mv .mv-theme--pc {
    display: none;
  }

  #exb26-mv .mv-bg--tablet {
    display: block;
    width: 100%;
    height: auto;
  }

  #exb26-mv .mv-theme--sp {
    display: block;
    position: relative;
    width: 40vw;
    /* margin-top: 2.8vw; */
    order: 5;
    bottom: 2%;
    left: -28%;
  }

  #exb26-mv .mv-inner {
    position: absolute;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 3.8vw 2.4vw 9.4vw;
    min-height: 100vh;
  }

  #exb26-mv .mv-content {
    width: 49.4vw;
    max-width: none;
    align-items: center;
    display: flex;
    flex-direction: column;
  }

  /* ロゴ */
  #exb26-mv .mv-logo {
    width: 100%;
    order: 1;
    margin-bottom: 0;
  }

  /* キューブスペース */
  #exb26-mv .mv-cube-space {
    display: block;
    width: 100%;
    height: 14.1vw;
    order: 2;
    margin: 1.9vw 0;
  }

  /* リキッドグラスブロック */
  #exb26-mv .mv-glass-box {
    padding: 1vw 2.1vw 1.6vw;
    order: 3;
    width: 100%;
    margin-bottom: 2.1vw;
    margin-top: 3.3vw;
  }

  #exb26-mv .mv-main-text {
    width: 85%;
    margin-bottom: 0;
  }

  #exb26-mv .mv-deadlines {
    width: 78%;
    margin-bottom: 4%;
  }

  #exb26-mv .mv-buttons {
    width: 88%;
    gap: 5%;
  }

  /* バナー */
  #exb26-mv .mv-banner {
    order: 4;
    width: 100%;
    margin-bottom: 0;
    padding: 0 2%;
    box-sizing: border-box;
  }

  #exb26-mv .mv-banner img {
    width: 100%;
    max-width: none;
  }

  #exb26-mv .mv-slides {
    opacity: 1;
  }

  /* キューブ位置 — mv_bg_tablet.png 基準（調整可） */
  #exb26-mv .mv-cube--1 {
    top: 16.4%;         /* ← 調整可 */
    left: 19%;         /* ← 調整可 */
    width: 14%;      /* ← 調整可 */
  }

  #exb26-mv .mv-cube--2 {
    top: 22.2%;          /* ← 調整可 */
    left: 42.2%;         /* ← 調整可 */
    width: 20.4%;        /* ← 調整可 */
  }

  #exb26-mv .mv-cube--3 {
    display: block;
    top: 31.9%;          /* ← 調整可 */
    left: 68.1%;         /* ← 調整可 */
    width: 11.3%;        /* ← 調整可 */
  }

  .en #exb26-mv {
    max-height: 79vw;
  }

  .en #exb26-mv .mv-cube--1 {
      top: 18.7%;
      width: 14.9%;
  }

  .en #exb26-mv .mv-cube--2 {
      top: 25.2%;
      width: 21.2%;
      left: 41.9%;
  }

  .en #exb26-mv .mv-cube--3 {
      top: 37.7%;
  }

  .en #exb26-mv .mv-theme--sp {
      bottom: 0;
  }


}

@media (max-width: 600px) {
  /* SP: 背景画像をSP用に切り替え */
  #exb26-mv .mv-bg--tablet {
    display: none;
  }

  #exb26-mv .mv-bg--sp {
    display: block;
    width: 100%;
    height: auto;
  }

  #exb26-mv .mv-content {
    width: 82vw;
  }

  #exb26-mv .mv-cube-space {
    height: 20vw;
    margin: 3vw 0;
  }

  #exb26-mv .mv-glass-box {
    padding: 1.6vw 3.6vw 2.8vw;
    margin-bottom: 3.6vw;
    margin-top: 2vw;
  }

  #exb26-mv .mv-theme--sp {
    width: 55vw;
    /* margin-top: 4.5vw; */
    left: -21%;
  }

  #exb26-mv .mv-inner {
    padding: 6vw 3.5vw 14vw;
  }

  /* キューブ位置 — mv_bg_sp.png 基準（調整可） */
  #exb26-mv .mv-cube--1 {
    top: 14%;         /* ← 調整可 */
    left: 5%;         /* ← 調整可 */
    width: 22%;      /* ← 調整可 */
  }

  #exb26-mv .mv-cube--2 {
    top: 20%;          /* ← 調整可 */
    left: 39%;         /* ← 調整可 */
    width: 28%;        /* ← 調整可 */
  }

  #exb26-mv .mv-cube--3 {
    display: block;
    top: 28.4%;          /* ← 調整可 */
    left: 74%;         /* ← 調整可 */
    width: 15.8%;        /* ← 調整可 */
  }
}

@media (max-width: 600px) {
  .en #exb26-mv {
    max-height: 120vw;
  }

  .en #exb26-mv .mv-cube--1 {
      top: 17%;
  }

  .en #exb26-mv .mv-cube--2 {
      top: 24.5%;
  }

  .en #exb26-mv .mv-cube--3 {
      top: 35.1%;
  }

  .en #exb26-mv .mv-theme--sp {
      bottom: 0;
  }
}

@media (max-width: 480px) {
  #exb26-mv .mv-content {
    width: 82vw;
  }

  #exb26-mv .mv-cube-space {
    height: 20vw;
    margin: 3vw 0;
  }

  #exb26-mv .mv-glass-box {
    padding: 0.5vw 2.2vw 2.8vw;
    margin-bottom: 3.6vw;
    margin-top: 1.7vw;
  }

  #exb26-mv .mv-inner {
    padding: 6vw 3.5vw 14vw;
  }

  #exb26-mv .mv-buttons img {
    width: 100%;
  }
}


/* ============================================
   2) News + Magazine（既存CSSから移植）
   ============================================ */

.w1400 {
  max-width: 1400px;
  width: 100%;
  position: relative;
  margin: 0 auto;
  padding: 50px 0;
}

#exb26-news-magazine {
  padding: 0;
}

/* --- News --- */
#news {
  margin: 0 auto;
  padding: 0;
  border-bottom: 1px solid #b8bfd2;
}

#news .news-block {
  margin: 0 auto;
  display: flex;
  padding: 1rem;
  justify-content: space-between;
  align-items: center;
  border-bottom: none;
  gap: 15px;
  max-width: 1400px;
}

#news .content {
  display: flex;
  align-items: center;
  width: calc(100% - 100px);
}

#news .content h2 {
  font-size: var(--font-size_18);
  font-weight: bold;
  text-align: center;
  padding: 0 35px 0 0;
  position: relative;
  font-family: "Outfit", sans-serif;
  margin-bottom: 0 !important;
}

body.en #news .content h2 {
  margin-bottom: 0 !important;
}

#news .content h2:after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 30px;
  background-color: #000;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%);
}

#news .content div {
  width: auto;
  display: flex;
  align-items: center;
}

#news .content a {
  color: #010101;
  font-size: var(--font-size_16);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  width: calc(100% - 80px);
}

#news .content .date {
  margin: 0 25px;
  font-size: var(--font-size_15);
  font-family: "Outfit", sans-serif;
}

#news .view_all {
  width: 100px;
}

#news .view_all a {
  border-bottom: 1px solid #000;
  font-size: var(--font-size_15);
  font-weight: bold;
  font-family: 'Outfit', sans-serif;
}

/* --- Magazine --- */
#magazine {
  background-image: url(../img/magazine/mv_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  object-fit: cover;
  padding: 40px 30px 25px;
  background-position: left;
  overflow: hidden;
  display: block;
}

#magazine h2 {
  font-size: var(--font-size_36);
  font-weight: 700;
  display: inline-block;
  font-family: 'Outfit', sans-serif;
  width: max-content;
  margin-bottom: 4px;
  padding: 0;
  color: #000;
}

#magazine h2:after {
  display: none;
}

#magazine .flex_cont {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  max-width: 1500px;
  margin: 0 auto;
  gap: 16px;
}

#magazine .txt_area {
  display: flex;
  flex-direction: column;
  width: 28%;
  min-width: 240px;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
}

#magazine .txt_area figure {
  max-width: 350px;
  position: relative;
  z-index: 1;
}

.mag-balloon {
  background: rgb(255 255 255 / 78%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 20px;
  padding: 10px 16px;
  margin: 0 0 8px;
  position: relative;
}

.mag-balloon p {
  font-size: var(--font-size_16);
  line-height: 1.6;
  color: #000;
  text-align: center;
}

.mag-balloon:after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px 8px 0;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.78) transparent transparent;
}

.mag-hero-img {
  max-width: 350px;
  margin: 4px auto 0;
  position: relative;
  z-index: 1;
}

.mag-hero-img img {
  width: 100%;
  height: auto;
  display: block;
}

#magazine .btn {
  display: block;
  padding: clamp(0.4rem, 1.5vw, 0.5rem) clamp(2rem, 5vw, 4rem);
  border-radius: 100px;
  font-weight: bold;
  position: relative;
  font-size: clamp(1rem, 2.5vw, 1.2rem);
  text-align: center;
  color: #fff;
  width: max-content;
  max-width: 100%;
  background: linear-gradient(90deg, #2f67f6 0%, #6022d2 50%, #2f67f6 100%);
  background-size: 200% 100%;
  border: none;
  transition: .3s ease;
  box-sizing: border-box;
}

#magazine .btn.arrow_btn:after {
  font-family: "Font Awesome 5 Free";
  content: '\f061';
  color: #ffffff;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}

#magazine .magazine_btn.btn.arrow_btn {
  margin-top: -15px;
  position: relative;
  background: linear-gradient(90deg, #2f67f6 0%, #6022d2 50%, #2f67f6 100%) !important;
  background-size: 200% 100% !important;
  z-index: 2;
  margin: -15px auto 0;
  transition: all 0.3s ease !important;
}

#magazine .btn:hover {
  background-position: 100% 0 !important;
}

#magazine .btn.arrow_btn:hover:after {
  transform: translateY(-50%) translateX(4px);
}

#magazine .btn.arrow_btn:after {
  font-size: .8rem;
  top: 55%;
  color: #fff;
}

#magazine .swiper {
  width: 66%;
  overflow: hidden;
}

#magazine .swiper-wrapper {
  display: flex;
}

#magazine .swiper-slide {
  border-radius: 14px;
  height: auto;
  flex-shrink: 0;
  width: calc(33.333% - 14px);
}

#magazine .swiper-slide a.mag-card {
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 14px;
  padding: 10px;
  color: #000;
  height: 100%;
}

.mag-card-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 10px;
}

.mag-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}

.mag-card-body {
  padding: 12px 6px 8px;
}

.mag-card-date {
  font-family: 'Outfit', sans-serif;
  font-size: var(--font-size_13);
  color: #000;
  font-weight: bold;
  display: block;
  /* margin-bottom: 6px; */
}

.mag-card-title {
  font-size: var(--font-size_14);
  font-weight: bold;
  line-height: 1.5;
  color: #000;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#magazine .swiper-pagination {
  display: block;
  position: relative;
  bottom: 0;
  margin-top: 20px;
}

#magazine .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.4);
  opacity: 1;
  margin: 0 6px;
  height: 8px;
  width: 8px;
}

#magazine .swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-button-prev:after,
.swiper-button-next:after,
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination {
  display: block;
}

#magazine .main_mag.flex_list.magazine_slide_mv.swiper-wrapper .swiper-slide a .txt_area h4 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  font-weight: bold;
  margin-top: 5px;
  -webkit-line-clamp: 3;
  font-size: var(--font-size_16);
  line-height: 1.5;
}

.magazine .pr {
  margin-left: auto;
  width: max-content;
  padding: 0px 10px;
  background: #cfcfcfa6;
  font-size: 10px;
  color: #696969;
  margin-top: 5px;
  margin-bottom: 10px;
}

.pr {
  display: none;
}

/* --- News + Magazine レスポンシブ --- */
@media screen and (max-width: 1000px) {
  #magazine br.pc {
    display: block;
  }
  #magazine .btn.arrow_btn:after {
    right: 14px;
  }
  #magazine h2 {
    width: auto;
    font-size: clamp(1.3rem, 4vw, var(--font-size_36));
    line-height: 1;
    text-align: center;
    margin-bottom: 10px;
  }
  .mag-balloon p {
      font-size: var(--font-size_14) !important;
  }
}

@media screen and (max-width: 850px) {
  #magazine .swiper {
    width: 65%;
  }
  #magazine .txt_area {
    padding: 0;
    width: 30%;
    min-width: 180px;
  }

  /* 本文フォントサイズを16pxに */
  main.page_top_exb2026,
  main.page_top_exb2026 p:not(.exb26-results-section-label):not(.date):not(.event-name):not(.hashtag),
  main.page_top_exb2026 li,
  main.page_top_exb2026 span:not(.exb26-merit-label):not(.mag-card-date):not(.main-price):not(.yen):not(.date-num):not(.badge):not(.unit):not(.percent):not(.countup) {
    font-size: 16px !important;
  }

  /* ブロック間のパディングを40pxに */
  #exb26-about,
  #exb26-merit,
  #exb26-categories,
  #exb26-fee,
  #exb26-results,
  #exb26-special,
  #exb26-award,
  #exb26-schedule,
  #exb26-other {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  /* 来場者属性: レスポンシブ */
  .exb26-result-card-wide .attr-list {
    flex-direction: column !important;
    align-items: center !important;
  }

  .exb26-result-card-wide .attr-chart {
    width: 100px !important;
    min-width: 100px !important;
  }

  .exb26-result-card-wide .attr-items {
    width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .exb26-result-card-wide .attr-items p {
    white-space: normal !important;
    font-size: var(--font-size_14) !important;
    line-height: 1.2;
    margin-bottom: 5px;
  }
}

@media screen and (max-width: 768px) {
  #news .news-block {
    padding: 10px 14px;
  }
  #news .content {
    flex-wrap: nowrap;
    width: calc(100% - 80px);
  }
  #news .content h2 {
    padding-right: 10px;
    margin-bottom: 0 !important;
  }

  body.en #news .content h2 {
    margin-bottom: 0 !important;
  }
  #news .content h2:after {
    height: 40px;
  }
  #news .content div {
    flex-direction: row;
    padding: 10px;
    align-items: center;
  }
  #news .content .date {
    margin: 0 5px;
  }
  #news .content a {
    line-height: 1.1;
    margin-top: 0;
  }
}

/* ---- 650px: マガジン専用ブレイクポイント ---- */
@media screen and (max-width: 650px) {
  #magazine {
    padding: 40px 20px;
  }
  #news {
    padding: 0;
  }

  /* flex_cont: txt_area 上、swiper 下に縦並び */
  #magazine .flex_cont {
    flex-direction: column;
    align-items: flex-start;
  }

  /* txt_area: h2(左) と hero-img+ボタン(右) を横並び */
  #magazine .flex_cont > .txt_area {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "heading  hero"
      "balloon  hero"
      "btn      hero";
    align-items: start;
    width: 100%;
    min-width: unset;
    margin-bottom: 16px;
    gap: 0 12px;
  }

  #magazine h2 {
    grid-area: heading;
    font-size: clamp(1.3rem, 5.5vw, var(--font-size_34));
    white-space: nowrap;
    width: auto;
    margin-bottom: 6px;
  }

  .mag-balloon {
    grid-area: balloon;
    margin: 0 0 8px;
    display: none;
  }

  .mag-balloon p {
    font-size: var(--font-size_12) !important;
  }

  .mag-hero-img {
    grid-area: hero;
    max-width: 120px;
    margin: 0;
    align-self: center;
  }

  #magazine .magazine_btn.btn.arrow_btn {
    grid-area: btn;
    padding: .4rem 2rem .4rem 1rem;
    font-size: var(--font-size_13);
    align-self: end;
    margin: 0;
  }

  /* スライダーは全幅で2枚表示 */
  #magazine .swiper {
    width: 100%;
  }
}

@media screen and (max-width: 600px) {
  /* 600px以下も同様（650pxルールを継承しつつ調整） */
  #magazine h2 {
    font-size: clamp(1.2rem, 5vw, var(--font-size_30));
  }
}

@media screen and (max-width: 480px) {
  #magazine .swiper-pagination {
    margin-top: 10px;
  }
  #magazine .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 7px;
  }
  #news .view_all {
    width: max-content;
  }

  /* セクション右はみ出しをclipで隠す（スクロールバーなし） */
  #magazine {
    overflow-x: clip;
    padding-bottom: 15px;
  }

  /* flex_cont: txt_area を relative コンテナに */
  #magazine .flex_cont {
    flex-direction: column;
    align-items: flex-start;
  }

  /* txt_area: 縦並び・relative で人物画像を右上に配置 */
  #magazine .flex_cont > .txt_area {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    width: 100%;
    min-width: unset;
    margin-bottom: 16px;
    padding-right: 0;
  }

  /* h2: 1行 */
  #magazine h2 {
    white-space: nowrap;
    font-size: clamp(1.4rem, 7vw, var(--font-size_30));
    margin-bottom: 8px;
    width: auto;
    grid-area: unset;
  }

  /* 吹き出し: 非表示 */
  .mag-balloon {
    display: none !important;
  }

  /* 人物画像: 右上に絶対配置ではみ出し */
  #magazine .txt_area figure {
    position: absolute;
    top: 5px;
    right: -78px;
    max-width: 55vw;
    width: 55vw;
    margin: 0;
    z-index: 1;
    pointer-events: none;
    grid-area: unset;
  }

  /* ボタン: 画像の高さ分下に余白をとって配置 */
  #magazine .magazine_btn.btn.arrow_btn {
    position: relative;
    z-index: 2;
    margin-top: 0;
    grid-area: unset;
    align-self: flex-start;
  }

  /* スライダー: 全幅で1枚表示 */
  #magazine .swiper {
    width: 100% !important;
  }

  /* ブロック見出し: var(--font-size_34) に統一 */
  .exb26-section-title,
  .exb26-about-text h2,
  #exb26-results .exb26-section-title .results-title-en {
    font-size: var(--font-size_34) !important;
  }

  /* 本文・説明文: 14px */
  main.page_top_exb2026,
  main.page_top_exb2026 p:not(.exb26-results-section-label):not(.date):not(.event-name):not(.hashtag),
  main.page_top_exb2026 li,
  main.page_top_exb2026 span:not(.exb26-merit-label):not(.mag-card-date):not(.main-price):not(.yen):not(.date-num):not(.badge):not(.unit):not(.percent):not(.countup) {
    font-size: 14px !important;
  }
}


/* ============================================
   3) About
   ============================================ */
#exb26-about {
  background: url('../img/top_exb_2026/about/about_bg.png') center / cover no-repeat;
  padding: 80px 0;
  color: #fff;
}

.exb26-about-inner {
  display: flex;
  align-items: center;
  gap: 60px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
}

.exb26-about-text {
  flex: 1;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.exb26-about-text h2 {
  font-size: var(--font-size_48);
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  margin-bottom: 4px;
  color: #fff;
}

.exb26-about-text .about-sub {
  font-size: var(--font-size_16);
  font-family: 'Outfit', sans-serif;
  margin-bottom: 16px;
  color: #fff;
}

.exb26-about-text p {
  line-height: 2;
  margin-bottom: 30px;
  color: #fff;
}

.exb26-about-banner {
  display: block;
  width: 100%;
  pointer-events: none;
}

.exb26-about-banner img {
  width: 100%;
  border-radius: 12px;
}

.exb26-about-video {
  flex: 0 0 50%;
  max-width: 50%;
  margin-right: 0;
}

.exb26-about-video .video-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
}

.exb26-about-video .video-wrapper iframe,
.exb26-about-video .video-wrapper .video-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.exb26-about-video .video-placeholder {
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: var(--font-size_20);
}


/* ============================================
   4) 出展メリット
   ============================================ */
#exb26-merit {
  background: url('../img/top_exb_2026/merit/merit_bg.png') center / cover no-repeat;
  padding: 80px 0;
}

#exb26-merit.exb26-fixed-bg {
  color: #333;
}

.exb26-merit-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  /* margin-bottom: 10px; */
}

.exb26-merit-desc {
  line-height: 2;
  margin-bottom: 30px;
  font-weight: 700;
  width: 100%;
}

.exb26-merit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.exb26-merit-grid li .exb26-glass-card {
  padding: 26px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.exb26-merit-label {
  display: block;
  width: 100%;
  padding: 0 10px;
  border-radius: 10px;
  color: #fff;
  font-size: var(--font-size_20);
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  margin: 0 0 16px;
  text-align: center;
}

.merit-label-1 { background: linear-gradient(135deg, #2563eb, #3b82f6); }
.merit-label-2 { background: linear-gradient(135deg, #10b981, #34d399); }
.merit-label-3 { background: linear-gradient(135deg, #f59e0b, #fbbf24); }
.merit-label-4 { background: linear-gradient(135deg, #f97316, #fb923c); }
.merit-label-5 { background: linear-gradient(135deg, #ec4899, #f472b6); }
.merit-label-6 { background: linear-gradient(135deg, #7c3aed, #8b5cf6); }

.exb26-merit-grid li:nth-child(1) .exb26-glass-card { box-shadow: inset 2px 0 10px 2px rgba(37, 99, 235, 0.5); }
.exb26-merit-grid li:nth-child(2) .exb26-glass-card { box-shadow: inset 2px 0 10px 2px rgba(16, 185, 129, 0.5); }
.exb26-merit-grid li:nth-child(3) .exb26-glass-card { box-shadow: inset 2px 0 10px 2px rgba(245, 158, 11, 0.5); }
.exb26-merit-grid li:nth-child(4) .exb26-glass-card { box-shadow: inset 2px 0 10px 2px rgba(249, 115, 22, 0.5); }
.exb26-merit-grid li:nth-child(5) .exb26-glass-card { box-shadow: inset 2px 0 10px 2px rgba(236, 72, 153, 0.5); }
.exb26-merit-grid li:nth-child(6) .exb26-glass-card { box-shadow: inset 2px 0 10px 2px rgba(124, 58, 237, 0.5); }

.exb26-merit-grid .card-img {
  width: 100%;
  aspect-ratio: 16 / 7;
  object-fit: cover;
  border-radius: 10px;
  margin-bottom: 20px;
}

.exb26-merit-grid .card-text {
  padding: 0;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}


/* ============================================
   5) 出展部門
   ============================================ */
#exb26-categories {
  background: url('../img/top_exb_2026/categories/categories_bg.png') center / cover no-repeat;
  padding: 80px 0;
}

.exb26-categories-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  margin-bottom: 30px;
}

.exb26-categories-header .header-right p {
  line-height: 1.8;
}


.exb26-categories-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.exb26-categories-grid li {
  display: flex;
}

.exb26-category-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 60px 30px;
  width: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.exb26-category-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.2);
}

.exb26-category-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: inherit;
  border-radius: 16px;
}

.exb26-category-card .card-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.exb26-category-card .card-content {
  position: relative;
  z-index: 1;
  color: #fff;
}

.exb26-category-card h3 {
  font-size: var(--font-size_28);
  font-weight: 700;
  margin-bottom: 8px;
}

/* 英語ページ: カテゴリーカードのh3をOutfitフォントに */
html[lang="en"] .exb26-category-card h3 {
  font-family: 'Outfit', sans-serif;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.exb26-category-card .en-name {
  font-size: var(--font-size_14);
  font-family: 'Outfit', sans-serif;
  font-style: normal;
  color: #fff;
  margin-bottom: 16px;
}

.exb26-category-card .catch {
  font-size: var(--font-size_18);
  font-weight: 700;
  margin-bottom: 16px;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

.exb26-category-card .detail {
  font-size: var(--font-size_15);
  line-height: 1.7;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,0.2);
}


/* ============================================
   6) 小間の規格・料金
   ============================================ */
#exb26-fee {
  background: url('../img/top_exb_2026/fee/fee_bg.png') center / cover no-repeat;
  padding: 80px 0;
}

.exb26-fee-item {
  margin-bottom: 30px;
}

.exb26-fee-item .exb26-glass-card {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 30px;
}

.exb26-fee-item.standard .exb26-glass-card {
  border: 2px solid rgba(37, 99, 235, 0.4);
  background: rgb(144 210 255 / 9%);
  box-shadow: inset 2px 0 10px 2px rgba(37, 99, 235, 0.4);
}

.exb26-fee-item.small-package .exb26-glass-card {
  border: 2px solid rgba(236, 72, 153, 0.3);
  background: rgba(255, 220, 240, 0.35);
  box-shadow: inset 2px 0 10px 2px rgba(236, 72, 153, 0.3);
}

.exb26-fee-item .booth-img {
  width: 48%;
  flex-shrink: 0;
  border-radius: 12px;
  overflow: hidden;
}

.exb26-fee-item .booth-img img {
  width: 100%;
  display: block;
}

.exb26-fee-item .booth-info h3 {
  font-size: var(--font-size_34);
  font-weight: 700;
  color: #000;
  line-height: 1.2;
}

.exb26-fee-item .booth-info .en-name {
  font-size: var(--font-size_16);
  font-family: 'Outfit', sans-serif;
  font-style: normal;
  font-weight: 700;
  margin-bottom: 8px;
}

.exb26-fee-item.standard .booth-info .en-name {
  color: #2563eb;
}

.exb26-fee-item.small-package .booth-info .en-name {
  color: #ec4899;
}

.exb26-fee-item .booth-info .desc {
  font-size: var(--font-size_18) !important;
  font-weight: 700 !important;
  line-height: 1.8;
}

.exb26-fee-item.small-package .booth-info .desc {
  border-left-color: rgba(236, 72, 153, 0.6);
}

.exb26-fee-item .booth-info .desc .marker-blue {
  background: linear-gradient(transparent 60%, rgba(37, 99, 235, 0.25) 60%);
  font-weight: 700;
}

.exb26-fee-item .booth-info .desc .marker-pink {
  background: linear-gradient(transparent 60%, rgba(236, 72, 153, 0.25) 60%);
  font-weight: 700;
}

.exb26-package-display .desc .marker-green {
  background: linear-gradient(transparent 60%, rgba(16, 185, 129, 0.3) 60%);
  font-weight: 700;
}

.exb26-fee-item .booth-info .desc .fee-link {
  text-underline-offset: 3px;
  color: inherit;
  display: inline;
  border-bottom: solid 1px #a0a0a0;
}

.exb26-fee-price {
  font-size: var(--font-size_14);
  font-weight: 400;
}

.exb26-fee-price p {
  font-size: var(--font-size_16) !important;
  font-weight: 400 !important;
}

.exb26-fee-price .price-label {
  color: #2563eb;
  font-weight: 700;
  font-size: var(--font-size_18) !important;
}

.exb26-fee-item.small-package .exb26-fee-price .price-label {
  color: #ec4899;
}

.exb26-fee-price .price-unit {
  font-size: var(--font-size_16) !important;
  font-weight: 700;
}

.exb26-fee-price .price-main-line .yen {
  font-size: var(--font-size_22);
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
}

.exb26-fee-price .price-sub-line .yen {
  font-size: var(--font-size_22);
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
}

.exb26-fee-price .price-sub-line strong {
  font-size: var(--font-size_28);
  font-weight: 700;
  font-family: 'Outfit', sans-serif;
}

.exb26-fee-item.standard .exb26-fee-price .price-main-line .yen,
.exb26-fee-item.standard .exb26-fee-price .main-price,
.exb26-fee-item.standard .exb26-fee-price .member-price strong {
  color: #2563eb;
}

.exb26-fee-item.small-package .exb26-fee-price .price-main-line .yen,
.exb26-fee-item.small-package .exb26-fee-price .price-sub-line .yen,
.exb26-fee-item.small-package .exb26-fee-price .price-sub-line strong,
.exb26-fee-item.small-package .exb26-fee-price .main-price {
  color: #ec4899;
}

.exb26-fee-price .member-price .yen {
  font-size: var(--font-size_14);
  font-weight: 400;
  color: inherit;
}

.exb26-fee-price .member-price strong {
  font-size: var(--font-size_24);
  font-weight: 700;
  font-family: 'Outfit', sans-serif;
}

.exb26-fee-price .member-price.border-bottom {
  border-bottom: 1px solid rgb(0 0 0 / 50%);
  padding-bottom: 8px;
  margin-bottom: 4px;
  display: inline-block;
}

.exb26-fee-price .main-price {
  font-size: var(--font-size_48);
  font-weight: 700;
  font-family: 'Outfit', sans-serif;
  letter-spacing: -0.5px;
  color: #10b981;
}

.exb26-package-display {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 30px;
  margin-bottom: 30px;
  font-weight: 400;
}

.exb26-package-display p {
  font-size: var(--font-size_14) !important;
  font-weight: 400 !important;
}

.exb26-package-display .exb26-fee-price p {
  font-size: var(--font-size_13) !important;
}

.exb26-package-display .booth-img {
  width: 30%;
  flex-shrink: 0;
}

.pkg-price-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

.pkg-badge {
  flex-shrink: 0;
  border: 2px solid #10b981;
  border-radius: 5px;
  padding: 8px 14px;
  font-size: var(--font-size_13) !important;
  font-weight: 700 !important;
  color: #10b981;
  text-align: center;
  line-height: 1.5;
}

.exb26-package-display .booth-img img {
  width: 100%;
}

.exb26-package-display h3 {
  font-size: var(--font-size_28);
  font-weight: 700;
  color: #000;
  margin-bottom: 4px;
}

.exb26-package-display .en-name {
  font-family: 'Outfit', sans-serif;
  font-size: var(--font-size_14);
  color: #10b981;
  font-weight: 700;
  display: inline;
  margin-left: 8px;
}

.exb26-package-display .desc {
  font-size: var(--font-size_17) !important;
  font-weight: 700 !important;
}

.total-badge {
  display: inline-flex;
  align-items: center;
  background: #10b981;
  color: #fff;
  font-family: 'Outfit', sans-serif;
  font-size: var(--font-size_16) !important;
  font-weight: 700 !important;
  padding: 2px 14px;
  border-radius: 6px;
  margin-right: 8px;
  vertical-align: baseline;
}

.exb26-package-display .exb26-fee-price .price-main-line {
  font-size: var(--font-size_14) !important;
  font-weight: 400 !important;
  margin-bottom: 2px;
}

.exb26-package-display .exb26-fee-price .price-main-line .yen {
  font-size: var(--font-size_22) !important;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  color: #10b981;
}

.exb26-package-display .exb26-fee-price .price-main-line .main-price {
  color: #10b981;
}

.exb26-package-display .exb26-fee-price .price-detail {
  font-size: var(--font-size_14) !important;
  font-weight: 400 !important;
  margin-top: 0;
}

.exb26-deadline-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 20px 0;
  font-size: var(--font-size_20);
  text-align: center;
  flex-wrap: wrap;
}

.exb26-deadline-bar .badge {
  display: inline-block;
  padding: 8px 20px;
  background: var(--color-accent);
  color: #fff;
  border-radius: 6px;
  font-weight: 700;
  font-size: var(--font-size_16);
  margin-right: 8px;
}

.date-groups-wrapper {
  display: inline-flex;
  gap: 24px;
  border-bottom: 3px solid #333;
  padding-bottom: 8px;
}

.exb26-deadline-bar .date-group {
  font-weight: 700;
  font-size: var(--font-size_22);
}

.exb26-deadline-bar .date-group.date-primary {
  color: var(--color-accent);
}

.exb26-deadline-bar .date-group .date-num {
  font-size: var(--font-size_40);
  font-family: 'Outfit', sans-serif;
}

.exb26-fee-cta {
  text-align: center;
  margin-top: 30px;
}

.exb26-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(90deg, #2f67f6 0%, #6022d2 50%, #2f67f6 100%);
  background-size: 200% 100%;
  color: #fff;
  font-size: var(--font-size_20);
  font-weight: 700;
  padding: 18px 48px;
  border-radius: 60px;
  text-decoration: none;
  border: none;
  transition: all 0.3s ease;
}

.exb26-cta-btn,
.exb26-cta-btn:visited,
.exb26-cta-btn:active {
  color: #fff !important;
}

.exb26-cta-btn:hover {
  background-position: 100% 0;
  color: #fff !important;
}

.exb26-cta-btn i {
  font-size: var(--font-size_16);
  transition: transform 0.3s ease;
}

.exb26-cta-btn:hover i {
  transform: translateX(4px);
}


/* ============================================
   7) 2025実績
   ============================================ */
#exb26-results {
  background: url('../img/top_exb_2026/results/results_bg.png') center / cover no-repeat;
  padding: 80px 0 60px;
}

.exb26-results-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
}

#exb26-results .exb26-section-title .results-title-en {
  font-family: 'Outfit', sans-serif;
  font-size: var(--font-size_47)!important;
}

/* Visitors = pink (same as small-package) */
.row-visitors .exb26-glass-card {
  background: rgba(255, 220, 240, 0.35) !important;
  border: 2px solid rgba(236, 72, 153, 0.3);
  box-shadow: inset 2px 0 10px 2px rgba(236, 72, 153, 0.3);
}

/* Exhibitors = blue (same as standard) */
.row-exhibitors .exb26-glass-card {
  background: rgba(37, 99, 235, 0.08) !important;
  border: 2px solid rgba(37, 99, 235, 0.4);
  box-shadow: inset 2px 0 10px 2px rgba(37, 99, 235, 0.4);
}

/* Others = gray */
.row-others .exb26-glass-card {
  background: rgba(150, 150, 150, 0.1) !important;
  border: 2px solid rgba(150, 150, 150, 0.35);
  box-shadow: inset 2px 0 10px 2px rgba(150, 150, 150, 0.3);
}

.exb26-results-section-label {
  writing-mode: vertical-rl;
  font-family: 'Outfit', sans-serif;
  font-style: italic;
  font-size: var(--font-size_16);
  color: var(--color-blue);
  font-weight: 600;
  letter-spacing: 0.05em;
  min-width: 1.5em;
}

.row-visitors .exb26-results-section-label {
  color: #ec4899;
}

.row-exhibitors .exb26-results-section-label {
  color: #2563eb;
}

.row-others .exb26-results-section-label {
  color: #888;
}

.exb26-results-row {
  display: flex;
  gap: 16px;
  padding-bottom: 20px;
  align-items: stretch;
  position: relative;
}

.exb26-results-row::before {
  content: '';
  position: absolute;
  left: 12px;
  width: 3px;
  border-radius: 2px;
}

.row-visitors::before {
  background: #ec4899;
  top: 8em;
  bottom: 0;
}

.row-visitors + .row-visitors {
  padding: 0;
  margin-bottom: 30px;
}

.row-visitors + .row-visitors::before {
  top: 0;
}

.row-exhibitors::before {
  background: #2563eb;
  top: 9.5em;
  bottom: 0;
}

.exb26-results-row.row-exhibitors {
    padding: 0;
    margin-bottom: 30px;
}

.exb26-results-row.row-others {
    padding-bottom: 0;
}

.row-others::before {
  background: #888;
  top: 4.5em;
  bottom: 0;
}

.exb26-results-cards {
  display: flex;
  gap: 16px;
  flex: 1;
  flex-wrap: wrap;
}

.exb26-result-card {
  flex: 1;
  min-width: 160px;
  padding: 24px 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.exb26-result-card .icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 12px;
}

.exb26-result-card .icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.exb26-result-card .label {
  font-size: var(--font-size_20);
  font-weight: bold;
  margin-bottom: 8px;
  line-height: 1.1;
}

.exb26-result-card .number {
  font-size: var(--font-size_44);
  font-weight: 700;
  font-family: 'Outfit', sans-serif;
  color: var(--color-primary);
  line-height: 1;
}

.exb26-result-card .unit {
  font-size: var(--font-size_18);
  font-weight: bold;
  margin-left: 5px;
  color: #000;
}

.exb26-result-card-wide {
  padding: 24px;
}

.exb26-result-card-wide .attr-title {
  font-weight: 700;
  font-size: var(--font-size_16);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

/* 来場者属性: グラフ左 + テキスト右 */
.exb26-result-card-wide .attr-list {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: nowrap;
}

.exb26-result-card-wide .attr-chart {
  width: 120px;
  min-width: 120px;
  flex-shrink: 0;
}

.exb26-result-card-wide .attr-items {
  flex: 1;
  font-size: var(--font-size_15);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 24px;
}

.exb26-result-card-wide .attr-items p {
  display: flex;
  align-items: baseline;
  white-space: nowrap;
}

.exb26-result-card-wide .attr-items .percent {
  font-size: var(--font-size_24);
  font-weight: 700;
  font-family: 'Outfit', sans-serif;
  font-variant-numeric: tabular-nums;
  margin-left: auto;
}

.exb26-result-card-wide .attr-items .pct-unit {
  font-size: var(--font-size_14);
  margin-left: 2px;
}

/* D3生成の凡例・中央ラベルを非表示 */
.pie-chart .legend,
.exb26-result-card-wide #chart-4 .pie-chart .legend,
.exb26-result-card-wide #chart-4 .max-circ {
  display: none !important;
}

.exb26-result-card-wide #chart-4 .pie-chart .slice {
  cursor: default !important;
  pointer-events: none !important;
}

.exb26-map-link {
  text-align: center;
  cursor: pointer;
  flex: 1;
  min-width: 160px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.exb26-map-link img {
  width: 100%;
  max-width: 180px;
  border-radius: 8px;
}

.exb26-map-link p {
  font-size: var(--font-size_13);
  margin-top: 4px;
}


/* 出展者の声 */
.exb26-voice {
  margin-top: 50px;
}

.exb26-voice .voice-heading {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 20px;
}

.exb26-voice .voice-heading h3 {
  font-size: var(--font-size_24);
  font-weight: 700;
  margin: 0;
}

.exb26-voice .voice-sub {
  font-size: var(--font-size_14);
  font-family: 'Outfit', sans-serif;
  font-style: normal;
  color: #217c88;
  margin: 0;
}

.exb26-voice-swiper {
  overflow: hidden;
  padding-bottom: 40px;
}

.exb26-voice-swiper .swiper-slide {
  height: auto;
}

.exb26-voice-swiper .voice-card {
  padding: 10px 20px;
  font-size: 12px !important;
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: 14px;
  height: 100%;
  box-sizing: border-box;
}
}

.exb26-voice-swiper .voice-card .voice-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
}

.exb26-voice-swiper .voice-card .voice-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: 50px;
}

.exb26-voice-swiper .voice-card .voice-text {
  flex: 1;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.voice-pagination.swiper-pagination {
  bottom: 0 !important;
}

.voice-pagination .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.4);
  opacity: 1;
  margin: 0 6px;
}

.voice-pagination .swiper-pagination-bullet-active {
  background: #fff;
}


/* ============================================
   8) 特別企画
   ============================================ */
#exb26-special {
  background: url('../img/top_exb_2026/special_events/special_events_bg.png') center / cover no-repeat;
  padding: 80px 0;
}

.exb26-special-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  margin-bottom: 20px;
}

.exb26-special-header .header-right p {
  line-height: 1.8;
}

.exb26-special-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.exb26-special-grid li .exb26-glass-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 24px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.exb26-special-grid li .exb26-glass-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
}

.exb26-special-grid .card-logo {
  background: rgba(255, 255, 255, 0.85);
  border-radius: 10px;
  padding: 12px 16px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.exb26-special-grid .card-logo img {
  height: auto;
  object-fit: contain;
  max-width: 200px;
}

/* 2行ロゴ: 横幅を抑えて高さを揃える */
.exb26-special-grid li:nth-child(1) .card-logo img { max-width: 200px; }
.exb26-special-grid li:nth-child(2) .card-logo img {max-width: 200px;}
.exb26-special-grid li:nth-child(5) .card-logo img {max-width: 280px;}
.exb26-special-grid li:nth-child(6) .card-logo img {max-width: 220px;}
.exb26-special-grid li:nth-child(7) .card-logo img {max-width: 220px;}

/* 1行ロゴ: 横幅を広めに許容して見た目を合わせる */
.exb26-special-grid li:nth-child(3) .card-logo img { max-width: 280px; }
.exb26-special-grid li:nth-child(4) .card-logo img {max-width: 280px;}
.exb26-special-grid li:nth-child(8) .card-logo img {max-width: 220px;}
.exb26-special-grid li:nth-child(9) .card-logo img {max-width: 220px;}

.exb26-special-grid .card-img {
  width: 100%;
  aspect-ratio: 16 / 7;
  object-fit: cover;
  border-radius: 10px;
  margin-bottom: 16px;
}

.exb26-special-grid .card-body {
  flex: 1;
}

.exb26-special-grid .card-body .card-desc {
  font-size: var(--font-size_16) !important;
  font-weight: 700 !important;
  line-height: 1.7;
  margin-bottom: 12px;
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.9), 0 0 24px rgba(255, 255, 255, 0.6);
}

.exb26-special-grid .card-body .card-target {
  font-size: var(--font-size_14) !important;
  font-weight: 400 !important;
  line-height: 1.6;
  color: #333;
  padding-top: 10px;
}

.exb26-special-grid .card-body .card-target .target-label {
  font-weight: 600;
  font-size: var(--font-size_12) !important;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  color: #333;
}

.exb26-special-grid .card-body .card-target .target-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgb(0 0 0 / 26%);
}

/* 1: EXPERIENCE X-Speaker - レッド */
.exb26-special-grid li:nth-child(1) .exb26-glass-card {
  background: rgba(220, 38, 38, 0.1);
  border: 1px solid rgba(220, 38, 38, 0.25);
  box-shadow: inset 2px 0 10px 2px rgba(220, 38, 38, 0.2);
}
.exb26-special-grid li:nth-child(1) .card-desc {color: #e60214;}

/* 2: EXPERIENCE X-Headphone - レッド */
.exb26-special-grid li:nth-child(2) .exb26-glass-card {
  background: rgba(220, 38, 38, 0.1);
  border: 1px solid rgba(220, 38, 38, 0.25);
  box-shadow: inset 2px 0 10px 2px rgba(220, 38, 38, 0.2);
}
.exb26-special-grid li:nth-child(2) .card-desc {color: #e60214;}

/* 3: DX × IP PAVILION - ネイビー */
.exb26-special-grid li:nth-child(3) .exb26-glass-card {
  background: rgba(30, 58, 138, 0.1);
  border: 1px solid rgba(30, 58, 138, 0.25);
  box-shadow: inset 2px 0 10px 2px rgba(30, 58, 138, 0.2);
}
.exb26-special-grid li:nth-child(3) .card-desc {color: #1f77b8;}

/* 4: IGNITION × DCEXPO 通常出展 - パープル */
.exb26-special-grid li:nth-child(4) .exb26-glass-card {
  background: rgba(124, 58, 237, 0.1);
  border: 1px solid rgba(124, 58, 237, 0.25);
  box-shadow: inset 2px 0 10px 2px rgba(124, 58, 237, 0.2);
}
.exb26-special-grid li:nth-child(4) .card-desc {color: #715094;}

/* 5: IGNITION × DCEXPO スタートアップ - パープル */
.exb26-special-grid li:nth-child(5) .exb26-glass-card {
  background: rgba(124, 58, 237, 0.1);
  border: 1px solid rgba(124, 58, 237, 0.25);
  box-shadow: inset 2px 0 10px 2px rgba(124, 58, 237, 0.2);
}
.exb26-special-grid li:nth-child(5) .card-desc {color: #715094;}

/* 6: MEDIA Biz - オレンジ */
.exb26-special-grid li:nth-child(6) .exb26-glass-card {
  background: rgba(249, 115, 22, 0.1);
  border: 1px solid rgba(249, 115, 22, 0.25);
  box-shadow: inset 2px 0 10px 2px rgba(249, 115, 22, 0.2);
}
.exb26-special-grid li:nth-child(6) .card-desc {color: #df9300;}

/* 7: CREATIVE - グリーン */
.exb26-special-grid li:nth-child(7) .exb26-glass-card {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.25);
  box-shadow: inset 2px 0 10px 2px rgba(16, 185, 129, 0.2);
}
.exb26-special-grid li:nth-child(7) .card-desc {color: #079468;}

/* 8: CINEMA - グレー */
.exb26-special-grid li:nth-child(8) .exb26-glass-card {
  background: rgba(107, 114, 128, 0.1);
  border: 1px solid rgba(107, 114, 128, 0.25);
  box-shadow: inset 2px 0 10px 2px rgba(107, 114, 128, 0.2);
}
.exb26-special-grid li:nth-child(8) .card-desc {color: #393939;}

/* 9: Exhibitor Seminar - ライトブルー */
.exb26-special-grid li:nth-child(9) .exb26-glass-card {
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.25);
  box-shadow: inset 2px 0 10px 2px rgba(56, 189, 248, 0.2);
}
.exb26-special-grid li:nth-child(9) .card-desc {color: #1bb5d5;}


/* ============================================
   9) AWARD
   ============================================ */
#exb26-award {
  padding: 80px 0 20px;
  color: #333;
}

.exb26-award-inner {
  display: flex;
  align-items: center;
  gap: 40px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 16px;
  padding: 48px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.exb26-award-img {
  flex-shrink: 0;
  width: 33.333%;
}

.exb26-award-img img {
  width: 100%;
  border-radius: 12px;
}

.exb26-award-text h3 {
  margin-bottom: 20px;
}

.exb26-award-text .award-logo-img {
  max-height: 30px;
  width: auto;
}

.exb26-award-text p {
  font-size: var(--font-size_16) !important;
  line-height: 2;
  margin-bottom: 10px;
  color: #333;
}

.exb26-award-text .more-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 36px;
  background: linear-gradient(90deg, #2f67f6 0%, #6022d2 50%, #2f67f6 100%);
  background-size: 200% 100%;
  border: none;
  border-radius: 50px;
  color: #fff !important;
  text-decoration: none;
  font-weight: 600;
  float: right;
  font-size: var(--font-size_14);
  font-family: 'Outfit', sans-serif;
  transition: all 0.3s ease;
}

.exb26-award-text .more-btn:hover {
  background-position: 100% 0;
}

.exb26-award-text .more-btn::after {
  display: none;
}

.exb26-award-text .more-btn i {
  font-size: var(--font-size_13);
  transition: transform 0.3s ease;
}

.exb26-award-text .more-btn:hover i {
  transform: translateX(4px);
}


/* ============================================
   10) スケジュール
   ============================================ */
#exb26-schedule {
  padding: 60px 0;
}

.exb26-schedule-inner h3 {
  font-size: var(--font-size_48);
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  margin-bottom: 4px;
  line-height: 1;
}

.exb26-schedule-inner .schedule-sub {
  margin-bottom: 40px;
  color: #2563eb;
}

.exb26-timeline {
  position: relative;
  height: 280px;
  margin-bottom: 60px;
}

.exb26-timeline::before {
  content: '';
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #2563eb 70%, #7c3aed 85%, #e63946);
  z-index: 0;
}

.exb26-timeline-item {
  position: absolute;
  z-index: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateX(-50%);
}

.exb26-timeline-item .date {
  font-size: var(--font-size_30);
  font-weight: 700;
  font-family: 'Outfit', sans-serif;
  margin-bottom: 15px;
  white-space: nowrap;
  min-height: 1.2em;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  line-height: 1;
}

.exb26-timeline-item .date .date-jp {
  font-size: var(--font-size_16);
  font-family: 'Zen Kaku Gothic New', sans-serif;
  margin-bottom: 4px;
}

.exb26-timeline-item .dot {
  width: 20px;
  height: 20px;
  background: #2563eb;
  border: 3px solid #fff;
  border-radius: 50%;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3);
  flex-shrink: 0;
}

.exb26-timeline-item.highlight .dot {
  background: var(--color-accent);
  width: 22px;
  height: 22px;
  box-shadow: 0 2px 8px rgba(230, 57, 70, 0.4);
}

.exb26-timeline-item.highlight .date {
  color: var(--color-accent);
}

.exb26-timeline-item .icon {
  width: 36px;
  height: 36px;
  margin-bottom: 6px;
}

.exb26-timeline-item .icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.exb26-timeline-item .event-name {
  line-height: 1.1;
  writing-mode: vertical-rl;
  white-space: nowrap;
  letter-spacing: 0.05em;
  margin-top: 10px;
}

.exb26-timeline-highlight {
  position: absolute;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.exb26-timeline-highlight .highlight-dates {
  display: flex;
  margin-right: 7%;
}

.exb26-timeline-highlight .exb26-timeline-item {
  position: static;
  transform: none;
  width: 56px;
  flex-shrink: 0;
}

.exb26-timeline-highlight .event-img {
  max-width: 280px;
  margin-top: 8px;
}

.exb26-timeline-highlight .event-img img {
  width: 100%;
  border-radius: 8px;
}


/* ============================================
   11) 3カードリンク
   ============================================ */
.exb26-card-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 0 40px 30px;
  list-style: none;
  margin: 0;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  box-sizing: border-box;
}

.exb26-card-links li {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.exb26-card-links li a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  text-decoration: none;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 20px;
}

.exb26-card-links li .card-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  z-index: 0;
}

.exb26-card-links li:hover .card-bg-img {
  transform: scale(1.08);
}

.exb26-card-links li .card-overlay {
  position: absolute;
  inset: 0;
  background: transparent;
  z-index: 1;
}

.exb26-card-links li .card-label {
  position: relative;
  z-index: 2;
}

.exb26-card-links li .card-label h3 {
  font-size: var(--font-size_28);
  font-weight: 700;
  margin-bottom: 4px;
  color: #fff;
}

.exb26-card-links li .card-label .en {
  font-size: var(--font-size_16);
  font-family: 'Outfit', sans-serif;
  font-style: normal;
  color: #fff;
}

/* 1: Application - ピンク */
.exb26-card-links li:nth-child(1) {
  box-shadow: inset 2px 0 10px 2px rgba(236, 72, 153, 0.5);
}
.exb26-card-links li:nth-child(1) .card-label h3,
.exb26-card-links li:nth-child(1) .card-label .en {
  text-shadow: 0 0 20px rgba(236, 72, 153, 0.8), 0 0 40px rgba(236, 72, 153, 0.5), 0 2px 4px rgba(0,0,0,0.3);
}

/* 2: Download - オレンジ */
.exb26-card-links li:nth-child(2) {
  box-shadow: inset 2px 0 10px 2px rgba(249, 115, 22, 0.5);
}
.exb26-card-links li:nth-child(2) .card-label h3,
.exb26-card-links li:nth-child(2) .card-label .en {
  text-shadow: 0 0 20px rgba(249, 115, 22, 0.8), 0 0 40px rgba(249, 115, 22, 0.5), 0 2px 4px rgba(0,0,0,0.3);
}

/* 3: Contact - ブルー */
.exb26-card-links li:nth-child(3) {
  box-shadow: inset 2px 0 10px 2px rgba(37, 99, 235, 0.5);
}
.exb26-card-links li:nth-child(3) .card-label h3,
.exb26-card-links li:nth-child(3) .card-label .en {
  text-shadow: 0 0 20px rgba(37, 99, 235, 0.8), 0 0 40px rgba(37, 99, 235, 0.5), 0 2px 4px rgba(0,0,0,0.3);
}


/* ============================================
   12) SNS
   ============================================ */
.exb26-sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 40px 0 60px;
}

.exb26-sns .hashtag {
  font-size: var(--font-size_40);
  font-weight: 700;
  font-family: 'Outfit', sans-serif;
  color: #000000;
  margin-right: 20px;
}

.exb26-sns .sns-icons {
  display: flex;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.exb26-sns .sns-icons li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  font-size: 26px !important;
  color: #fff;
  transition: transform 0.3s ease;
}

.exb26-sns .sns-icons li a i {
  font-size: 26px !important;
}

.exb26-sns .sns-icons li a:hover {
  transform: scale(1.1);
}

.exb26-sns .sns-icons .sns-fb a { background: #1877f2; }
.exb26-sns .sns-icons .sns-tw a { background: #000; }
.exb26-sns .sns-icons .sns-ig a { background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045); }
.exb26-sns .sns-icons .sns-yt a { background: #ff0000; }

/* スポンサーエリア */
main.page_top_exb2026 .spo_area {
  background: #fff !important;
  padding: 60px 0 !important;
}

main.page_top_exb2026 .top-organizer {
  flex-wrap: wrap !important;
  justify-content: center !important;
  padding: 0 20px !important;
}

main.page_top_exb2026 .top-organizer__text {
  width: 100% !important;
  text-align: center !important;
  font-size: 23px !important;
  line-height: 1 !important;
  margin-bottom: 30px !important;
}

main.page_top_exb2026 .top-organizer__logo {
  margin: 0 20px !important;
}

main.page_top_exb2026 .top-organizer__name {
  padding: 0 10px !important;
  margin-top: 16px !important;
}

/* ============================================
   その他セクション背景
   ============================================ */
#exb26-other {
  background: url('../img/top_exb_2026/other/other_bg.png') center / cover no-repeat;
}


/* ============================================
   カウントアップアニメーション
   ============================================ */
.countup[data-count] {
  transition: all 0.3s ease;
  font-size: var(--font-size_44);
  font-weight: bold;
  color: #000;
}


/* ============================================
   レスポンシブ
   ============================================ */
@media (max-width: 1024px) {
  .exb26-about-inner {
    flex-direction: column;
    padding: 0 20px;
    gap: 0;
  }

  .exb26-about-text {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .exb26-about-text p {
      margin-bottom: 14px;
  }

  .exb26-about-banner {
    max-width: 500px;
    margin: 0 auto 30px;
  }

  .exb26-about-video {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    display: block !important;
    margin-right: 0;
  }

  .exb26-about-video .video-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
  }

  .exb26-merit-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .exb26-special-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .exb26-fee-item .exb26-glass-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .exb26-fee-item .booth-img {
    width: 100%;
  }

  .exb26-award-inner {
    flex-direction: column;
  }

  .exb26-award-img {
    width: 100%;
    max-width: 50%;
  }

  .exb26-timeline {
    flex-wrap: wrap;
    gap: 20px;
  }
}

/* ============================================
   Schedule: 850px以下で日程文字サイズ縮小（被り防止）
   ============================================ */
@media screen and (max-width: 850px) {
  .exb26-timeline-item .date {
    font-size: var(--font-size_20) !important;
  }

  .exb26-timeline-item .date .date-jp {
    font-size: var(--font-size_13) !important;
  }

  .exb26-timeline-highlight .exb26-timeline-item .date {
    font-size: var(--font-size_20) !important;
  }
}

@media screen and (max-width: 480px) {
  .exb26-timeline-item .date {
    font-size: var(--font-size_18) !important;
  }

  .exb26-timeline-item .date .date-jp {
    font-size: var(--font-size_12) !important;
  }

  .exb26-timeline-item.highlight .date {
    font-size: var(--font-size_28) !important;
  }

  .exb26-timeline-highlight .event-img {
    margin-left: 24px !important;
  }
}

/* ============================================
   Schedule: 700px以下で縦タイムライン
   ============================================ */
@media screen and (max-width: 700px) {
  .exb26-timeline {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    margin: 0 !important;
    padding-left: 0 !important;
    gap: 0 !important;
  }

  /* 横線→縦線: 丸の中心（日付60px + gap半分8px + 丸半径8px = 76px）に合わせる */
  .exb26-timeline::before {
    top: 0 !important;
    bottom: 0 !important;
    left: 84px !important;
    right: auto !important;
    width: 3px !important;
    height: auto !important;
  }

  /* 各アイテム: 横並び（日付 | 丸 | アイコン+テキスト） */
  .exb26-timeline-item {
    position: relative !important;
    left: auto !important;
    transform: none !important;
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    padding: 14px 0 !important;
    gap: 16px !important;
  }

  /* 日付: 固定幅・右揃え・大きく */
  .exb26-timeline-item .date {
    width: 60px !important;
    min-width: 60px !important;
    text-align: right !important;
    margin-bottom: 0 !important;
    font-size: var(--font-size_24) !important;
  }

  .exb26-timeline-item .date .date-jp {
    font-size: var(--font-size_14) !important;
    margin-bottom: 0 !important;
  }

  /* 丸: 縦線の中心に乗せる */
  .exb26-timeline-item .dot {
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
    z-index: 2 !important;
  }

  .exb26-timeline-item.highlight .dot {
    width: 18px !important;
    height: 18px !important;
  }

  /* アイコン: 固定幅で縦揃え */
  .exb26-timeline-item .icon {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
  }

  /* テキスト: 横書き */
  .exb26-timeline-item .event-name {
    writing-mode: horizontal-tb !important;
    white-space: normal !important;
    margin-top: 0 !important;
    font-size: var(--font-size_16) !important;
    line-height: 1.4 !important;
  }

  /* ハイライト（11.19, 20, 21）: 画像を右に横並び */
  .exb26-timeline-highlight {
    position: relative !important;
    left: auto !important;
    flex-direction: row !important;
    align-items: flex-start !important;
  }

  .exb26-timeline-highlight .highlight-dates {
    flex-direction: column !important;
    margin-right: 0 !important;
    flex-shrink: 0 !important;
  }

  .exb26-timeline-highlight .exb26-timeline-item {
    width: auto !important;
  }

  .exb26-timeline-highlight .exb26-timeline-item .date {
    width: 60px !important;
    min-width: 60px !important;
  }

  /* イベント画像: 11.19と上揃え、線から少し離す */
  .exb26-timeline-highlight .event-img {
    max-width: 200px !important;
    margin: 14px 0 0 10px !important;
  }
}

@media screen and (max-width: 768px) {

  .exb26-categories-header,
  .exb26-special-header {
    flex-direction: column;
    gap: 0;
  }
}

@media (max-width: 768px) {

  /* 特別企画: 768px以下でも2カラム維持、gap・padding を縮小してはみ出し防止 */
  .exb26-special-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .exb26-special-grid li .exb26-glass-card {
    padding: 12px 12px 20px;
  }

  .exb26-special-grid .card-logo {
    /* height: 44px; */
    padding: 12px;
  }

  .exb26-special-grid .card-logo img,
  .exb26-special-grid li:nth-child(1) .card-logo img,
  .exb26-special-grid li:nth-child(2) .card-logo img,
  .exb26-special-grid li:nth-child(3) .card-logo img,
  .exb26-special-grid li:nth-child(4) .card-logo img,
  .exb26-special-grid li:nth-child(5) .card-logo img,
  .exb26-special-grid li:nth-child(6) .card-logo img,
  .exb26-special-grid li:nth-child(7) .card-logo img,
  .exb26-special-grid li:nth-child(8) .card-logo img,
  .exb26-special-grid li:nth-child(9) .card-logo img {
    max-width: 100% !important;
  }

  .exb26-results-row {
    flex-direction: column;
  }

  .exb26-results-cards {
    /* flex-direction: column; */
  }

  .exb26-results-section-label {
    writing-mode: horizontal-tb;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    min-width: unset;
    margin-bottom: 4px !important;
  }

  /* 来場者属性カード上の空ラベル（&nbsp;）だけ非表示 ― 2つ目の row-visitors */
  .exb26-results-row.row-visitors + .exb26-results-row.row-visitors > p.exb26-results-section-label {
    display: none !important;
  }

  .exb26-merit-header {
    /* flex-direction: column; */
    /* gap: 16px; */
  }

  .exb26-categories-grid {
      grid-template-columns: repeat(1, 1fr);
  }

  .exb26-category-card h3 {
      font-size: var(--font-size_24);
      line-height: 1.2;
  }

  .exb26-category-card {
      min-height: auto;
      padding: 30px;
  }

  .exb26-results-header {
    /* flex-direction: column; */
    /* gap: 16px; */
    margin-bottom: 0;
  }

  .exb26-package-display {
    flex-direction: column;
  }

  .exb26-package-display .booth-img {
    width: 60%;
  }

  .row-visitors::before,.row-exhibitors::before,.row-others::before {
      display: none;
  }

  /* Visitors Data などのラベルを表示 */

  .exb26-deadline-bar .badge {
      width: 100%;
      padding: 2px;
      margin: 0;
  }

  .exb26-deadline-bar {
    flex-direction: column;
    gap: 5px;
  }

  .exb26-award-text h3 {
      text-align: center;
  }

  .exb26-award-inner {
      gap: 30px;
      padding: 30px;
  }

  #exb26-award {
      padding: 0!important;
  }

  /* #exb26-mv は MV セクション内で個別に定義済 */

  /* voice-heading: PC同様横並び維持 */
  .exb26-voice .voice-heading {
    flex-direction: row;
    align-items: baseline;
    gap: 12px;
  }

  #exb26-award {
      padding: 0 0 10px!important;
  }

  .exb26-award-text h3 {
      text-align: center;
  }

  .exb26-schedule-inner .schedule-sub {
      margin-bottom: 30px;
  }

  .exb26-timeline-item .date .date-jp {
      margin-bottom: 0;
  }

  .exb26-timeline::before {
      top: 44px;
  }

  .exb26-award-inner {
      padding: 20px;
  }

  .exb26-card-links li {
      aspect-ratio: auto;
  }

  .exb26-card-links {
      grid-template-columns: repeat(1, 1fr);
  }

  .exb26-timeline {
      margin: 0;
  }

}

@media (max-width: 480px) {

  /* グリッド: 1カラムに */
  .exb26-merit-grid,
  .exb26-card-links {
    grid-template-columns: 1fr;
  }

  /* 出展部門: エンターテインメント/ライティング の「/」前で改行 */
  br.sp-br {
    display: block;
  }

  /* ============ 小間の規格・料金 ============ */

  /* カードのパディング縮小 */
  .exb26-fee-item .exb26-glass-card {
    padding: 16px !important;
    gap: 16px !important;
  }

  /* 画像下のマージン縮小 */
  .exb26-fee-item .booth-img {
    margin-bottom: 0 !important;
  }

  /* 見出し(h3)を小さく */
  .exb26-fee-item .booth-info h3 {
    font-size: var(--font-size_24) !important;
  }

  /* カード内説明テキスト: フォントサイズ統一 */
  .exb26-fee-item .booth-info .desc,
  .exb26-package-display .desc {
    font-size: var(--font-size_16) !important;
  }

  /* 「通常小間料金」ラベルはflex指定側で制御 */

  /* ¥319,000 を左寄せ: price-main-line を flex にして price-label を1行目に */
  .exb26-fee-item.standard .exb26-fee-price .price-main-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 4px;
  }

  .exb26-fee-item.standard .exb26-fee-price .price-main-line .price-label {
    flex: 0 0 100%;
    margin-top: 12px;
    margin-bottom: 0;
  }

  /* スモールパッケージ: 1小間・2小間は横並び（PCと同様）維持 */
  .exb26-fee-item.small-package .price-main-line,
  .exb26-fee-item.small-package .price-sub-line {
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: 4px;
    white-space: nowrap;
  }

  /* パッケージディスプレイ: 縦並び・画像100% */
  .exb26-package-display {
    flex-direction: column !important;
    padding: 16px !important;
  }

  .exb26-package-display .booth-img {
    width: 100% !important;
    margin-bottom: 8px;
  }

  /* Package Display Plan の h3: 改行して1行ずつ表示 */
  .exb26-package-display h3 {
    font-size: var(--font-size_22) !important;
    display: flex;
    flex-direction: column;
  }

  .exb26-package-display h3 .en-name {
    display: block;
    margin-left: 0 !important;
  }

  /* 【人気No.1】バッジ: センター寄せ・フォント大きく・マージン調整 */
  .pkg-price-row {
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .pkg-badge {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: center !important;
    font-size: var(--font-size_16) !important;
    margin-top: 12px !important;
  }

  .pkg-badge br {
    display: none !important;
  }

  /* 申込期限: センター寄せ・下線なし・一次の下マージン縮小 */
  .exb26-deadline-bar {
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: var(--font-size_16) !important;
  }

  .date-groups-wrapper {
    flex-direction: column !important;
    gap: 4px !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    align-items: center !important;
  }

  .date-groups-wrapper {
    gap: 2px !important;
  }

  .exb26-deadline-bar .date-group {
    white-space: nowrap;
    font-size: var(--font-size_22) !important;
    text-align: center;
    line-height: 1.2;
  }

  .exb26-deadline-bar .date-group .date-num {
    font-size: var(--font-size_34) !important;
  }

  /* 実績ブロック View More ボタン非表示 */
  #exb26-results .exb26-view-more {
    display: none !important;
  }

  /* 特別企画: ヘッダー下マージン */
  .exb26-special-header {
    margin-bottom: 30px !important;
  }

  /* 特別企画: 1カラム */
  .exb26-special-grid {
    grid-template-columns: 1fr !important;
  }

  .exb26-special-grid .card-logo img,
  .exb26-special-grid li:nth-child(1) .card-logo img,
  .exb26-special-grid li:nth-child(2) .card-logo img,
  .exb26-special-grid li:nth-child(3) .card-logo img,
  .exb26-special-grid li:nth-child(4) .card-logo img,
  .exb26-special-grid li:nth-child(5) .card-logo img,
  .exb26-special-grid li:nth-child(6) .card-logo img,
  .exb26-special-grid li:nth-child(7) .card-logo img,
  .exb26-special-grid li:nth-child(8) .card-logo img,
  .exb26-special-grid li:nth-child(9) .card-logo img {
    max-width: 80% !important;
  }
  .exb26-special-grid .card-logo {
        height: auto;
  }
  .exb26-special-grid .card-body .card-desc {
    margin-bottom: 0;
  }

  /* AWARD: 画像100% */
  .exb26-award-img {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* AWARD: テキスト太字やめる */
  .exb26-award-text p {
    font-weight: 400 !important;
  }


  .exb26-card-links li .card-label h3 {
      font-size: var(--font-size_24);
  }

  /* SNS: 縦並び（ハッシュタグがアイコンの上） */
  .exb26-sns {
    flex-direction: column !important;
    gap: 16px !important;
    padding: 0;
  }

  .exb26-sns .hashtag {
    margin-right: 0 !important;
  }

}

/* ============================================
   英語版のみ（body.en）
   ============================================ */
body.en .exb26-section-title,
body.en .exb26-about-text h2,
body.en #exb26-news-magazine h2,
body.en #exb26-fee .exb26-section-title,
body.en #exb26-schedule .exb26-schedule-inner h3 {
  margin-bottom: 30px;
}

@media (min-width: 1001px) {
  body.en .exb26-section-title,
  body.en .exb26-about-text h2,
  body.en #exb26-news-magazine h2,
  body.en #exb26-fee .exb26-section-title,
  body.en #exb26-schedule .exb26-schedule-inner h3 {
    white-space: nowrap;
  }
}

body.en .exb26-card-links {
  margin-top: 40px;
}