@charset "utf-8";

/* --------- common --------- */

body:not(.is-top-page) {
    background-image: none;
}

main {
    line-height: inherit;
    margin-top: auto;
}

/*section .inner {
    max-width: 1300px;
    margin: auto;
    padding: 80px 20px;
    position: relative;
}

@media only screen and (max-width: 850px) {
    section .inner {
        padding: 50px 20px 50px;
    }
}

@media only screen and (max-width: 480px) {
}
*/

.col {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.exhibition_area_cont .top_ttl {
    font-size: 2.8rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 30px;
}
.exhibition_area_cont .top_ttl span {
    display: block;
    font-weight: bold;
    font-size: 0.5em;
    margin-top: 10px;
}
.c-sns {
    z-index: 1;
    position: relative;
}

/*============================
.exhibition_area_inner
============================*/
.exhibition_area_inner::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
/*    z-index: -1;*/
    width: 100lvw;
    height: 100lvh;
    background-image: url(/assets/img/online/exhibition/exhibition_area_inner_bg.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.exhibition_area_inner{
    padding-bottom: 80px;
/*    background-image: url(/assets/img/online/exhibition/exhibition_area_inner_bg.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;*/
}

.exhibition_area_cont {
    margin: auto;
    padding: 60px 20px;
    position: relative;
    max-width: 1400px;
    align-items: flex-end;
}
.exhibition_area_cont .col_l{
    width: calc(100% - 420px);
}
.exhibition_area_cont .top_ttl {
    font-size: 2.2rem;
    text-shadow: 0 0 15px #000;
}
.exhibition_area_cont .top_ttl span {
    font-weight: bold;
    font-size: 0.5em;
    margin-top: 10px;
}
.exhibition_area_cont ul {
}
.exhibition_area_cont ul li {
    width: 24.5%;
    margin-top: 10px;
}
.exhibition_area_cont ul li .c-button {
    background: #fff;
    color: #0f1c7b;
    border: none;
    padding: 10px 20px;
    padding-right: 40px;
    text-align: left;
    font-size: 0.9rem;
    height: 100%;
    display: flex;
    align-items: center;
}
.exhibition_area_cont ul li .c-button::after {
    font-weight: 700;
    background-color: #0f1c7b;
    color: #fff;
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 0.6rem;
    right: 15px;
    text-align: center;
}
.exhibition_area_cont ul li .c-button:hover {
    background-color: #0f1c7b;
    color: #fff;
}
.exhibition_area_cont ul li .c-button:hover::after {
    background-color: #fff;
    color: #0f1c7b;
}

.c-button.disabled {
    background-color: #878a9d!important;
    pointer-events: none!important;
    color: #ccc!important;
}
.exhibition_area_cont .banner_link{
    width: 400px;
    display: block;
}
.exhibition_area_cont .banner_link img {
}
/* 公開前: グレーアウトして押せなくする。公開時は is-disabled を外す */
.exhibition_area_cont .banner_link.is-disabled {
    pointer-events: none;
    cursor: default;
}
.exhibition_area_cont .banner_link.is-disabled img {
    filter: grayscale(1) brightness(.7);
}
.exhibition_slider_cont {
    background: #ffffff99;
    backdrop-filter: blur(5px);
    padding: 30px 0 20px;
    position: relative;
    z-index: 1;
    /* 会期終了のため、リンク押せない設定 */
   /*pointer-events: none;*/
}
.exhibition_slider_cont + .exhibition_slider_cont{
    margin-top: 40px;
}
.exhibition_slider_cont .exhibition_slider {
}
.exhibition_slider_cont .exhibition_slider .exhibition_slider_item {max-width: 200px;}
.exhibition_slider_cont .exhibition_slider .exhibition_slider_item a {
    display: block;
    margin: 0 5px;
    text-align: center;
    text-decoration: none;
}
.exhibition_slider_cont .exhibition_slider .exhibition_slider_item a img {
    aspect-ratio: 1;
    object-fit: contain;
    background: #fff;
}
.exhibition_slider_cont .exhibition_slider .exhibition_slider_item a .exhibition_slider_ttl {
    font-weight: bold;
    color: #000;
    margin-top: 5px;

    /*社名2行で丸める*/
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* ← ここを変えれば行数変更可 */
    overflow: hidden;
    /* 長い英単語や連続文字も折り返すなら ↓ */
    overflow-wrap: anywhere; /* or word-break: break-word; */
}

/* 社名2行で丸める 非対応ブラウザのゆるいフォールバック（1行省略） */
@supports not (-webkit-line-clamp: 2) {
  .exhibition_slider_cont .exhibition_slider .exhibition_slider_item a .exhibition_slider_ttl {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }
}


@media screen and (max-width: 850px){
    .exhibition_area_cont .top_ttl {
        font-size: 2rem;
    }
    .exhibition_area_cont .col_l {
        width: 53%;
    }
    .exhibition_area_cont .banner_link {
        width: 45%;
    }
    .exhibition_area_cont ul li {
        width: 49.5%;
    }
    .exhibition_area_cont ul li:nth-child(n+3) {
        margin-top: 1%;
    }
}

@media screen and (max-width: 600px){
    .exhibition_area_inner{
        padding-bottom: 50px;
    }
    .exhibition_area_cont {
        padding: 30px 20px;
    }
    .exhibition_area_cont .col_l {
        width: 100%;
    }
    .exhibition_area_cont .top_ttl {
        font-size: 1.8rem;
    }
    .exhibition_area_cont .banner_link {
        width: 100%;
        max-width: 350px;
        margin: auto;
        margin-top: 30px;
    }
    .exhibition_slider_cont {
        padding: 20px 0 10px;
    }
    .exhibition_slider_cont + .exhibition_slider_cont {
        margin-top: 30px;
    }
}

/*============================
#top_exhibition_cont
============================*/
#top_exhibition_cont .top_information .infolist {
    width: calc(100% - 380px);
}
#top_exhibition_cont .top_information .infolist .infolist_item {
    width: 49%;
}
#top_exhibition_cont .top_information .infolist .infolist_item .infolist_link h3 {
    padding: 25px 25px 25px 50px;
}
#top_exhibition_cont .top_information .infolist .infolist_item .infolist_link h3:before {
    left: 15px;
    top: 25px;
}
@media screen and (max-width: 850px){
    #top_exhibition_cont .top_information .infolist {
        width: 100%;
        max-width: unset;
    }
    #top_exhibition_cont .top_information .infolist .infolist_item .infolist_link h3 {
        padding: 25px 25px 25px 40px;
    }
}
@media screen and (max-width: 600px){
    #top_exhibition_cont .top_information .infolist .infolist_item:nth-child(1) {
        width: 49%;
    }
    #top_exhibition_cont .top_information .infolist .infolist_item:nth-child(1) img {
        aspect-ratio: 3 / 2;
    }
    #top_exhibition_cont .top_information .infolist .infolist_item + .infolist_item {
        margin-top: 0;
    }
    #top_exhibition_cont .top_information .infolist .infolist_item .infolist_link h3 {
        padding: 15px 15px 15px 25px;
    }
}


/*============================
#exhibitor_information
============================*/
.mv_panel_cont .mv_panel li#exhibinfo_award {
    grid-column: span 3;
}
@media screen and (max-width: 600px) {
    .en .main #mv_panel_popup h2 {
        padding-bottom: 0;
    }
}
@media screen and (max-width: 500px) {
    .main #mv_panel_popup h2 {
        padding-bottom: 0;
    }
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2026 オンライン展示情報ページ - 下部「Exhibitor Information」セクション
TOP (ja/index.php) の同セクションと同じ見た目にするための抜き出し。
カード・バナー部分(.c26-*)は 2026_visitor_top.css からそのままコピー。
元を変更した場合はこちらも更新すること。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* フォントサイズ変数 (TOP の :root と同じ) */
.exb_info26 {
  --font-size_12: clamp(10px, 2.5vw, 12px);
  --font-size_14: clamp(12px, 2.5vw, 14px);
  --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_40: clamp(28px, 4vw, 40px);
  --section-inset: clamp(20px, 4vw, 40px);
  --section-space: 80px;
  position: relative;
  background: #fff;
  color: #000;
}

.exb_info26__inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--section-space) var(--section-inset);
  box-sizing: border-box;
}

.exb_info26 h2 {
  margin: 0 0 2.3rem;
  font-size: 34px;
  font-weight: 900;
  text-align: center;
  line-height: 1.2;
  word-break: keep-all;
  overflow-wrap: break-word;
  color: #000;
}

.exb_info26 h2 span {
  display: block;
  font-size: var(--font-size_14, 14px);
  font-weight: bold;
}

.exb_info26 ul,
.exb_info26 li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.exb_info26 h3,
.exb_info26 p {
  color: #000;
}

/* 左上のキューブ装飾 (TOP の .exhibitor_information::before と同じ) */
.exb_info26::before {
  --cube-size: clamp(97px, 12.1vw, 238px);
  content: "";
  position: absolute;
  top: 5%;
  left: 2%;
  z-index: 3;
  width: var(--cube-size);
  height: var(--cube-size);
  background: url(../img/top/mv_cube.webp) no-repeat center / contain;
  transform: translateY(-50%);
  pointer-events: none;
}

@media screen and (max-width: 850px) {
  .exb_info26 {
    --section-space: 40px;
  }

  .exb_info26::before {
    top: -2%;
    left: 1%;
  }
}

@media screen and (max-width: 480px) {
  .exb_info26::before {
    --cube-size: 78px;
    top: -1%;
    left: 1%;
  }

  .exb_info26 h2 {
    font-size: 24px;
  }
}

/* --------------------------------------------
   カード・横長バナー (2026_visitor_top.css からコピー)
   -------------------------------------------- */

.c26-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 30px;
  margin: 0 auto;
  /* .w1400 に左右のパディングが無く、画面幅によってカードが端に張り付くため */
  padding: 0 20px;
  list-style: none;
}

.c26-card {
  margin: 0;
  /* 行内でカードの上端を揃える */
  align-self: start;
}

.c26-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

/* 画像の比率（619x304）に合わせる。未アップのカードが潰れて行の高さが揃わなくなるため */
.c26-card__thumb {
  position: relative;
  margin: 0 0 16px;
  overflow: hidden;
  aspect-ratio: 619 / 304;
  /* 角丸は枠側で切り抜く（ホバー拡大時に焼き込みの角丸が枠外に出て角が四角く見えるため） */
  border-radius: 12px;
  /* MV のボタン・Quick Menu のカードと同じ影づかい。色は #02042d を 17% */
  box-shadow: 0 8px 32px rgba(2, 4, 45, .17);
  /* background: #e9e9e9; */
}

.c26-card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  /* 枠いっぱいに敷く（書き出しは 619x304 と 575x260 の2種類。焼き込みの角丸・影は切り落とす） */
  object-fit: cover;
  /* 焼き込みの角丸と影を枠外へ逃がすため、通常時から少し拡大する（枠と比率が近い award_online 対策） */
  transform: scale(1.04);
  transition: transform .45s ease;
  /* 拡大時に縁がちらついたり、角丸からはみ出して見えるのを抑える */
  backface-visibility: hidden;
  will-change: transform;
}

/* ホバーで画像を拡大。バッジは img の外なので一緒に拡大しない */
.c26-card__link:hover .c26-card__thumb img {
  transform: scale(1.10);
}

/* 触れる面であることが伝わるよう、わずかに明るくする（影は使わない） */
.c26-card__link {
  transition: opacity .3s ease;
}

.c26-card__link:hover {
  opacity: .92;
}

.c26-card__ttl {
  margin: 0 0 4px;
  text-align: center;
  /* デザイン書き出しから抽出（見出し・説明文とも純黒） */
  color: #000;
  font-size: var(--font-size_20, 20px);
  font-weight: 700;
  line-height: 1.4;
}

.c26-card__ttl--award img {
  width: auto;
  max-height: 20px;
}

.c26-card__desc {
  margin: 0;
  text-align: center;
  color: #000;
  font-size: var(--font-size_14, 14px);
  line-height: 1.6;
}

.c26-card__desc--links a {
  text-decoration: underline;
}

/* 案内状カード: 画像とタイトルだけリンク（説明文に別のリンクがあるため） */
.c26-card__thumb-link {
  display: block;
}

.c26-card__ttl a {
  color: inherit;
  text-decoration: none;
}

/* リンク未定の項目（span）は下線なし。サイト共通の span 指定を説明文と同じ大きさ・太さに戻す */
.c26-card__desc--links span {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

/* 公開前のカード（クリック不可）。写真の色を落としてグレーを重ね、公開予定日を白文字で中央に */
.c26-card.is-soon .c26-card__link {
  pointer-events: none;
  cursor: default;
}

/* 公開前は説明文のリンクも押せないので、下線を消して押せそうに見せない */
.c26-card.is-soon .c26-card__desc--links a {
  text-decoration: none;
}

/* 白黒にしきらず、元の色が少し残るようにする */
.c26-card.is-soon .c26-card__thumb img {
  filter: grayscale(.6);
}

.c26-card.is-soon .c26-card__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgb(68 68 68 / 70%);
}

/* 公開予定日（地の色は付けず、白文字＋影） */
.c26-card__soon {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  color: #fff;
  /* カードのタイトル（--font-size_20）より若干小さく */
  font-size: var(--font-size_18, 18px);
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  /* 輪郭の濃い影と、広めのぼかしを重ねる */
  text-shadow: 0 1px 3px rgb(0 0 0 / 80%), 0 2px 12px rgb(0 0 0 / 70%);
  transform: translate(-50%, -50%);
}

/* ログイン限定バッジ（HTML で組み、画像と一緒に拡大しない） */
.c26-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  display: inline-block;
  padding: 4px 10px;
  border-radius: 8px;
  background: #fffc29;
  color: #222;
  font-size: var(--font-size_12, 12px);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

/* --------------------------------------------
   横長ブロック（出展者AI検索）
   -------------------------------------------- */

/* 出展者AI検索のバナーは上のカード列の半分の幅で中央。SP は全幅（下の 640px 以下） */
.c26-wide {
  width: 50%;
  margin: 50px auto 0;
}

/* 960px 以下は上のカードが 2 列になり、半分の幅だとバナーが小さく見えるので少し広げる */
@media screen and (max-width: 960px) {
  .c26-wide {
    width: 70%;
  }
}

@media screen and (max-width: 640px) {
  /* SP は上のバッジがバナーに近すぎるので上の余白を 30px にする */
  .c26-wide {
    width: 100%;
    margin: 30px auto 0;
  }
}

.c26-wide__ph {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  padding: 40px 24px;
  overflow: hidden;
  /* 上のカードと同じ影 */
  box-shadow: 0 8px 32px rgba(2, 4, 45, .17);
  border-radius: 12px;
  text-align: center;
}

.c26-wide__ph img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* バッジは右上に固定（画像・グレーの幕より上） */
.c26-wide__ph .c26-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
}

/* 画像バナー（出展者AI検索）。画像の縦横比のまま表示。グレーがけ・文字は画像に入っているので重ねない */
/* 角丸・影は下の .c26-wide__crop に付ける（影が切れないよう overflow も戻す） */
.c26-wide__ph.is-banner {
  display: block;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

/* 画像（1878x568）の周り 43px は影用の透明な余白。切り落として角丸 12px・影を CSS で付ける。
   見えている部分は 1792px 幅なので、画像を 1878/1792 倍にして 43/1792 ずらす（% は枠の幅基準） */
.c26-wide__crop {
  display: block;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(2, 4, 45, .17);
}

.c26-wide__ph.is-banner .c26-wide__img {
  display: block;
  width: calc(100% * 1878 / 1792);
  max-width: none;
  height: auto;
  margin: calc(-100% * 43 / 1792);
}

/* リンクにしたバナー。ホバーは上のカードと同じく画像を拡大し、わずかに明るくする */
a.c26-wide__ph {
  color: inherit;
  text-decoration: none;
  transition: opacity .3s ease;
}

a.c26-wide__ph:hover {
  opacity: .92;
}

/* 拡大は .c26-wide__crop の角丸の中に収まる（overflow: hidden） */
a.c26-wide__ph .c26-wide__img {
  transition: transform .45s ease;
  backface-visibility: hidden;
  will-change: transform;
}

a.c26-wide__ph:hover .c26-wide__img {
  transform: scale(1.05);
}

/* バナー右上のバッジ（公開予定＝白、ログイン限定＝黄）。並べて置くので個々の absolute は外す */
.c26-wide__badges {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  display: flex;
  gap: 6px;
}

/* 大きさは .c26-badge の既定と同じ。並べるので absolute だけ外す */
.c26-wide__ph .c26-wide__badges .c26-badge {
  position: static;
}

.c26-badge--white {
  background: #fff;
}

/* SP はバナーが低く画像内のタイトルに近いので、バッジを小さくして右上の角に寄せる（枠の中） */
@media screen and (max-width: 640px) {
  .c26-wide__badges {
    top: 6px;
    right: 6px;
  }

  .c26-wide__ph .c26-wide__badges .c26-badge {
    padding: 3px 7px;
    border-radius: 6px;
    font-size: 10px;
  }
}


/* 画面幅が狭いときの列数・余白 (2026_visitor_top.css のレスポンシブ部分からコピー) */
@media screen and (max-width: 960px) {
  .c26-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }
}

@media screen and (max-width: 640px) {
  .c26-grid {
    grid-template-columns: 1fr;
    padding: 0;
  }

  .c26-wide__ph {
    min-height: 160px;
    padding: 32px 20px;
  }
}

/* カードタイトルは一段太く (TOP の .page_top .c26-card__ttl / __desc と同じ) */
.exb_info26 .c26-card__ttl {
  font-size: var(--font-size_22, 22px);
  font-weight: 900;
  letter-spacing: .08em;
}

.exb_info26 .c26-card__desc {
  font-weight: 700;
}
