@charset "UTF-8";

/* ============== guide 共通指定 ============== */

:root {
  --global: #00D2B4;
  /* guide04 グローバルパーク用 (style.cssの--global) */
  --global_sub: rgba(0, 210, 180, 0.3);
  --xpark_sub: #eee1fc;
  /* guide03 ネクストジェネレーションパーク用 (style.cssの--next) */
  --next_sub: rgba(229, 58, 188, 0.3);
}

/* ----- ブース規格 横並び ----- */
.booth_spec_row {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}
.booth_spec_row figure {
  flex: 0 0 45%;
  max-width: 45%;
}
.booth_spec_row .listdod,
.booth_spec_row .booth_spec_content {
  flex: 1 1 auto;
}
.booth_spec_row--reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .booth_spec_row,
  .booth_spec_row--reverse {
    flex-direction: column;
  }
  .booth_spec_row figure {
    max-width: 100%;
  }
}

/* ----- ラベル ----- */
.label {
  margin-right: 10px;
  padding: .3em .6em .2em .8em;
  background-color: yellow;
  font-size: clamp(9px, 1.2vw, 14px);
}

@media screen and (max-width: 767px) {
  .label {
    margin-right: 5px;
    font-size: 10px;
  }
}

/* ----- 見出し（h3） ----- */
#guide .en .inner_ttl_h3 {
  line-height: 1;
}

/* パートナーズ＆グローバル */
#guide.global .inner_ttl_h3 {
  color: var(--global);
}

#guide.global .inner_ttl_h3::before,
#guide.global .inner_ttl_h3::after {
  background-color: var(--global);
}

/* ネクスト */
#guide.next .inner_ttl_h3 {
  color: var(--next);
}

#guide.next .inner_ttl_h3::before,
#guide.next .inner_ttl_h3::after {
  background-color: var(--next);
}

/* Xパーク */
#guide.xpark .inner_ttl_h3 {
  color: var(--xpark);
}

#guide.xpark .inner_ttl_h3::before,
#guide.xpark .inner_ttl_h3::after {
  background-color: var(--xpark);
}


/* ----- 見出し（h4） ----- */
/* 出展料金・ブース規格 横並びdl */
#guide .fee_list dl {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

#guide .fee_list dl dt {
  width: 10%;
  font-weight: 700;
  color: #1a2740;
  letter-spacing: 0.02em;
  white-space: nowrap;
  padding: 7px 15px;
}

#guide .fee_list dl dd {
  width: 90%;
  margin-left: 0;
  line-height: 1.8;
  padding-left: 2rem;
  border-left: 1px solid #000;
}

#guide.en .fee_list dl dt {
  width: 22%;
}

#guide.en .fee_list dl dd {
  width: 78%;

}

/* ----- 見出し（h5） ----- */
#guide .inner_ttl_h5 {
  position: relative;
  margin-top: 1em;
  padding-left: 1.5em;
  font-size: 1.2rem;
  font-weight: bold;
  font-weight: 700;
}

#guide .general .inner_ttl_h5,
#guide .xpark .inner_ttl_h5,
#guide .global .inner_ttl_h5,
#guide .next .inner_ttl_h5 {
  padding-left: 1.5em;
}

#guide .inner_ttl_h5::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 16px;
  height: 16px;
  background-color: var(--ceatecblue);
}

/* パートナーズ＆グローバル */
#guide.special .inner_ttl_h5::after {
  background-color: var(--xpark);
}

/* AXパーク */
#guide.xpark .inner_ttl_h5::after {
  background-color: var(--xpark);
}

/* ネクスト */
#guide.global .inner_ttl_h5::after {
  background-color: var(--global);
}


/* ----- 見出し（h6） ----- */
#guide .inner_ttl_h6 {
  font-weight: bold;
  font-weight: 700;
  font-size: 1.1rem;
}


/* ----- 見出し（h7） ----- */
#guide .inner_ttl_h7 {
  font-weight: bold;
  font-weight: 700;
}

#guide .l_container .exh .num,
#guide .l_container .read .num {
  display: inline-block;
  margin-right: 0.35em;
  line-height: 30px;
  font-size: 18px;
  width: 30px;
  color: #ffffff;
  text-align: center;
  vertical-align: middle;
  margin-bottom: 2px;
  border-radius: 100%;
  font-weight: bold;
  font-weight: 700;
  /*微調整用*/
  text-indent: 0em;
}


/* ----- メインビジュアル ----- */
.mv_img_wrap {
  width: 100%;
  margin: 0 auto;
}


/* ----- シンプルなテーブル ----- */
.simple_table .simple_table_th {
  background-color: #c7c7c7;
  font-weight: bold;
  font-weight: 700;
  text-align: left;
}

/* パートナーズパーク＆グローバル */
.global .simple_table .simple_table_th {
  background-color: var(--global_sub);
}

/* ネクスト */
.next .simple_table .simple_table_th {
  border-bottom-color: var(--next_sub);
}

/* AXパーク */
.xpark .simple_table .simple_table_th {
  background-color: var(--xpark_sub);
}

#guide .simple_table .simple_table_td {
  text-align: left;
}



#guide .l_container .read .area {
  font-size: 1.2rem;
  color: #fff;
  padding: 5px 10px 5px 10px;
  border-radius: 5px;
  display: inline-block;
  line-height: 1.2;
  text-indent: 0em;
}

#guide .l_container .read_sub {
  font-weight: bold;
  font-weight: 700;
  line-height: 1.6;
  display: inline-block;
  font-size: 1.3rem;
  padding-top: 0.5em;
  padding-bottom: 1em;
}

#guide p+table,
#guide ul+table,
#guide ol+table {
  margin-top: 1em;
}

#guide table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 10px;
}

#guide table thead th {
  font-weight: bold;
  font-weight: 700;
  color: #fff;
  padding-top: 0.5em;
  padding-bottom: 0.25em;
  vertical-align: middle;
}

#guide table tbody th {
  text-align: left;
}

#guide table tbody th,
#guide table td {
  padding: 0.5em;
  vertical-align: middle;
}

/* #guide table thead tr th:last-child,
#guide table tr td:last-child {
  border-right: none;
} */

/* ----- c_section_block内のテーブル専用スタイル ----- */
#guide .c_section_block .exhibit_fee th {
  width: auto;
}

#guide .c_section_block .exhibit_fee td {
  width: auto;
}

/* ----- scrollbox内のテーブル（横スクロール対応） ----- */
#guide .scrollbox table {
  min-width: 800px;
}

@media screen and (max-width: 1000px) {
  /* scrollbox内のテーブルはPCデザインを維持（横スクロール） */
  #guide .scrollbox table,
  #guide .scrollbox table thead,
  #guide .scrollbox table tbody,
  #guide .scrollbox table tr,
  #guide .scrollbox table th,
  #guide .scrollbox table td {
    display: revert;
    width: revert;
    flex-basis: revert;
  }
}

#guide .l_container .list_dod li,
#guide .l_container .list_num li,
#guide .l_container .list_dod dd {
  line-height: 2;
}

#guide .l_container .list_dod dd {
  position: relative;
  padding-left: 1.5em;
}

#guide .l_container .list_dod dd::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 14px;
  height: 14px;
  border-radius: 50px;
}

#guide .l_container .list_num {
  counter-reset: list;
}

#guide .l_container .list_num li {
  position: relative;
}

#guide .l_container .list_num li:before {
  content: counter(list) ".";
  counter-increment: list;
  display: block;
  position: absolute;
  left: 0px;
  top: 0.25em;
  width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  font-weight: bold;
  font-weight: 700;
}

#guide .l_container .premium {
  display: inline-block;
  font-size: 12px;
  margin-left: 0.5em;
  padding: 0px 5px;
  color: #fff;
  background-color: #c0a730;
}

#guide .l_container .member_benefits h3 {
  color: #ffffff;
  padding-left: 0.5em;
  margin-top: 2em;
  border-bottom: none;
}

#guide .l_container .member_benefits dt {
  font-weight: bold;
  font-weight: 700;
}

#guide .l_container .table_num tbody th {
  color: #ffffff;
}

#guide .l_container .table_num tbody .num {
  width: 2em;
  vertical-align: middle;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

@media screen and (max-width: 640px) {
  #guide .l_container .read_sub {
    font-size: 1.125rem;
  }
}

.text_small {
  font-size: 0.8rem;
}

/* ============== 出展/参加プラン ============== */

.guide_index .area {
  width: 100%;
  max-width: 100%;
  margin-top: 50px;
}

/* ----- 出展/参加プランのメニューリスト ----- */
.menu_contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1%;
  margin-top: -60px;
  padding: 32px 0;
}

.menu_contents p,
.menu_contents .list_dod {
  color: #fff;
}

.menu_contents .list_dod {
  padding: 1em;
  background-color: rgba(255, 255, 255, 0.3);
}

#guide .menu_contents dl {
  margin-top: 20px;
}

#guide .menu_contents dt {
  font-size: 1.1em;
  font-weight: bold;
}

#guide .l_container .menu_contents .list_dod li::after,
#guide .l_container .menu_contents .list_dod dd::after {
  background-color: #fff;
}

.menu_contents .menu_item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  flex: 0 0 49%;
  margin-top: 60px;
  padding-bottom: 30px;
  background-color: var(--ceatecblue);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.menu_contents .menu_item:hover,
.menu_contents .menu_item:focus {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transform: scale(1.02);
}

.menu_contents .menu_item.special {
  background-color: var(--xpark);
}

.menu_contents .menu_item.conference {
  background-color: var(--conference);
}

.menu_contents .menu_item.ad {
  background-color: var(--ad);
}

.menu_contents .menu_item.generation {
  background-color: #135b8e;
}

.menu_contents .menu_item.global {
  background-color: #356f4f;
}

.menu_contents .menu_item .menu_link {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  padding: 70px 30px 50px;
  text-decoration: none;
}

.menu_contents .menu_item .menu_link:hover,
.menu_contents .menu_item .menu_link:focus {
  opacity: 1;
}

.menu_contents .menu_item h3 {
  margin: 0 0 20px 0;
  padding: 0;
  border-top: none;
  color: #fff;
  text-align: center;
}

.menu_contents .menu_item h3::after {
  background-color: #fff;
}

.menu_contents .menu_item .num {
  position: absolute;
  top: -10px;
  left: calc(50% - 50px);
  display: grid;
  place-items: center;
  width: 100px;
  height: 60px;
  background-color: #fff;
  color: var(--ceatecblue);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  font-size: 2rem;
  font-weight: bold;
  font-weight: 700;
}

.menu_contents .menu_item.special .num {
  border-color: var(--xpark);
  color: var(--xpark);
}

.menu_contents .menu_item.conference .num {
  border-color: var(--conference);
  color: var(--conference);
}

.menu_contents .menu_item.ad .num {
  border-color: var(--ad);
  color: var(--ad);
}

.menu_contents .menu_item .num span {
  margin-top: -10px;
}

.menu_contents .menu_item .menu_btn {
  align-self: flex-end;
  margin: 0 20px;
  background-color: #fff;
}

.menu_contents .menu_item.special .menu_btn {
  color: var(--xpark);
  border-color: var(--xpark);
}

.menu_contents .menu_item.conference .menu_btn {
  color: var(--conference);
  border-color: var(--conference);
}

.menu_contents .menu_item.ad .menu_btn {
  color: var(--ad);
  border-color: var(--ad);
}

.menu_contents .menu_item .menu_btn:hover,
.menu_contents .menu_item .menu_btn:focus {
  color: #fff;
  background: var(--ceatecblue);
  border-color: #fff;
}

.menu_contents .menu_item.special .menu_btn:hover,
.menu_contents .menu_item.special .menu_btn:focus {
  color: #fff;
  background: var(--xpark);
  border-color: #fff;
}

.menu_contents .menu_item.conference .menu_btn:hover,
.menu_contents .menu_item.conference .menu_btn:focus {
  color: #fff;
  background: var(--conference);
  border-color: #fff;
}

.menu_contents .menu_item.ad .menu_btn:hover,
.menu_contents .menu_item.ad .menu_btn:focus {
  color: #fff;
  background: var(--ad);
  border-color: #fff;
}

@media screen and (max-width: 880px) {
  .menu_contents .menu_item {
    flex: 0 0 100%;
  }
}

@media screen and (max-width: 640px) {
  .guide_index .area {
    margin-top: 30px;
  }

  .menu_contents {
    margin-top: -30px;
  }

  .menu_contents .menu_item {
    margin-top: 30px;
  }

  .menu_contents .menu_item h3 {
    font-size: 1.25rem;
  }

  .menu_contents .menu_item:hover,
  .menu_contents .menu_item:focus {
    box-shadow: none;
    transform: none;
  }
}


/* ============== General Exhibits ============== */

.general .l_container .list_num li:before,
.general .l_container .read {
  color: var(--ceatecblue);
}

.general .l_container .read .num,
.general .l_container .list_dod li::after,
.general .container table thead th {
  background-color: var(--ceatecblue);
}

.general .container table .txtrgterad {
  background-color: #b0c2e1;
}

.general .l_container .table_num tbody th {
  background-color: #7389b1;
}

.general .l_container .table_num tbody .num {
  background-color: var(--ceatecblue);
}

/* guide01.html専用: tb_style tdの幅を75%に変更 */
.guide01 .tb_style td {
  width: 72%;
}

@media screen and (max-width: 1020px) {
  .guide01 .tb_style td {
    width: 100%;
  }
}

/* ============== Special Exhibits（企画出展） ============== */

.special .l_container .read {
  color: var(--xpark);
}

.special .l_container .read .num,
.special .l_container .list_dod li::after,
.special .container table thead th {
  background-color: var(--xpark);
}

.special .area {
  margin-top: 50px;
}

@media screen and (max-width: 640px) {
  .special .mv_img_wrap {
    width: 100%;
  }
}

/* ----- 各企画エリアのリスト ----- */
.special .l_container h3.link_title {
  margin-top: unset;
  padding-bottom: unset;
  border-bottom-color: #fff;
}

.special .l_container h3.link_title:has(.link_sub-title) {
  padding-bottom: .3em;
  line-height: 1.3;
}

.special .l_container h3.link_title span {
  font-size: 1rem;
}

.link_list {
  margin: -30px auto 0 auto;
}

.link_list .link_item {
  margin-top: 30px;
  background: rgb(238, 225, 252);
  background: linear-gradient(90deg, rgba(250, 246, 255, 1) 0%, rgba(238, 225, 252, 1) 100%);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.link_list .link_item.bg_reverse {
  background: linear-gradient(90deg, rgba(238, 225, 252, 1) 0%, rgba(250, 246, 255, 1) 100%);
}

.link_list .link_item:hover,
.link_list .link_item:focus {
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transform: scale(1.02);
}

.link_list .link_area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5%;
  padding: 30px 50px;
  text-decoration: none;
}

.link_list .link_area:hover,
.link_list .link_area:focus {
  cursor: pointer;
  opacity: 1;
}

.link_list .link_area .link_text_area {
  flex: 0 0 45%;
}

.link_list .link_area .link_img_area {
  flex: 1;
}

.link_list .link_area .link_img_area img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.link_list .link_title {
  color: var(--xpark);
}

.link_list .link_title::after {
  background-color: var(--xpark);
}

.link_list .link_text {
  color: #000
}

.link_list .link_btn {
  margin: 20px 0 0;
  background-color: var(--xpark);
  border-color: var(--xpark);
  color: #fff;
  cursor: pointer;
}

.link_list .link_btn:hover,
.link_list .link_btn:focus {
  background-color: var(--pickup);
  border-color: var(--pickup);
  cursor: pointer;
  opacity: .5;
}

#guide .fee_list li {
  text-indent: 0;
  margin-left: 0;
  margin-top: 20px;
}

@media screen and (max-width: 880px) {
  .special .l_container h3.link_title {
    font-size: 1.25rem;
  }

  .link_list .link_area {
    padding: 40px 30px;
  }
}

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

  .link_list .link_item:hover,
  .link_list .link_item:focus {
    box-shadow: none;
    transform: none;
  }

  .link_list .link_area {
    flex-direction: column-reverse;
    padding: 20px;
  }

  .link_list .link_area .link_text_area {
    flex: 0 0 100%;
    margin-top: 10px;
  }

  .link_list .link_area .link_img_area {
    flex: 0 0 100%;
  }

  .link_list .link_area .link_img_area img {
    aspect-ratio: 16 / 9;
  }

  .link_list .link_btn {
    max-width: unset;
    font-size: 14px;
  }
}


/* ============== パートナーズ&グローバルパーク ============== */

#exhibit_fee {
  scroll-margin-top: 200px;
}

.global_bgc_sub {
  background-color: var(--global_sub);
}

.media_container {
  margin-top: 30px;
}

.list_voice li {
  padding: 15px;
  margin-top: 10px;
  text-align: right;
  background-color: #fff7de;
}

.global .list_voice li {
  background-color: var(--global_sub);
}

.list_voice li span {
  display: block;
  font-style: italic;
  font-weight: bold;
  font-weight: 700;
  text-align: left;
}

.global .l_container .read .area {
  background-color: var(--global);
}

.global .l_container .list_num li:before,
.global .l_container .read {
  color: var(--global);
}

.global .l_container .read .num,
.global .l_container .list_dod li::after,
.global .container table thead th {
  background-color: var(--global);
}

.global .container table .txtrgterad {
  background-color: var(--global_sub);
}

.global .l_container .member_benefits h3 {
  color: #ffffff;
  padding-left: 0.5em;
  margin-top: 2em;
  background-color: var(--global);
  border-bottom: none;
}

.global .l_container .member_benefits .list_dod li::after {
  background-color: var(--global);
}

.global .l_container .bg_color,
.global .l_container .table_num tbody th {
  color: #ffffff;
  background-color: var(--global);
}

.global .l_container .table_num tbody .num {
  width: 2em;
  vertical-align: middle;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-color: var(--global);
}

.global .l_container .wrap_ngp_video {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.global .l_container .wrap_ngp_video h3 {
  width: 100%;
}

.global .l_container .inner_ngp_video_mov,
.global .l_container .inner_ngp_video {
  width: 48%;
  padding-top: 1em;
}

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

  .global .l_container .inner_ngp_video_mov,
  .global .l_container .inner_ngp_video {
    width: 100%;
    padding-top: 1em;
  }
}

.global .l_container .inner_ngp_video .c_btn {
  border: 1px solid var(--global);
  color: var(--global);
}

.global .l_container .inner_ngp_video .c_btn:hover,
.global .l_container .inner_ngp_video .c_btn:focus {
  color: #fff;
}

.global .l_container .inner_ngp_video_mov a {
  position: relative;
  display: block;
  transition: all 400ms ease;
  border: 1px solid #fcdde4;
}

.global .l_container .inner_ngp_video_mov a::before {
  font-family: "Material Icons Round";
  content: "play_circle";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  display: inline-block;
  font-size: 5em;
  aspect-ratio: 1 / 1;
  z-index: 5;
  line-height: 1;
  opacity: 0.7;
  color: #ff0001;
  background: #ffffff;
  border-radius: 100%;
  transition: all 400ms;
}

.global .l_container .inner_ngp_video_mov a:hover::before,
.global .l_container .inner_ngp_video_mov a:focus::before {
  transform: translate(-50%, -50%) scale(1.2);
  -webkit-transform: translate(-50%, -50%) scale(1.2);
  -ms-transform: translate(-50%, -50%) scale(1.2);
}

.global .l_container .inner_ngp_video_mov a figure {
  position: relative;
}

.global .l_container .inner_ngp_video_mov a figure img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 880px) {
  .index .briefing_video {
    display: block;
    padding-top: 4em;
    padding-bottom: 4em;
  }

  .index .briefing_video .inner_briefing_video {
    margin: auto;
    margin-bottom: 30px;
    text-align: center;
    max-width: max-content;
  }

  .index .briefing_video .inner_briefing_video_mov {
    max-width: 450px;
    margin: auto;
  }
}

p.under_btn {
  color: var(--ad);
  padding: .5rem;
  background: #ffeff3;
  border: 5px solid #edb0bf;
}

@media screen and (max-width: 510px) {
  br.pc {
    display: none;
  }
}


/* ----- メディア（画像とテキストのコンテンツ） ----- */
.media_list {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.media_list .media_item {
  flex: 0 0 48%;
}

.media_list .media_item .media_img_wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9 のアスペクト比の場合 */
  overflow: hidden;
}

.media_list .media_item .media_img_wrap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.5s ease;
}

.media_img_wrap:hover img,
.media_img_wrap:focus img {
  transform: scale(1.05);
}

.media_list .media_item .media_desc_wrap {
  padding: 20px;
  background-color: #f7f7f7;
}

/* 暮らしのDX */
.media_list .media_item.dx-for-living .media_desc_wrap {
  background-color: #f4fff6;
}

.media_list .media_item.dx-for-living .c_btn:hover {
  background-color: #6bb274;
  border-color: #6bb274;
}

/* 海洋デジタル社会 */
.media_list .media_item.marine-digital .media_desc_wrap {
  background-color: #f2f7ff;
}

@media screen and (max-width: 640px) {
  .media_list {
    flex-direction: column;
  }

  .media_img_wrap:hover img,
  .media_img_wrap:focus img {
    transform: none;
  }
}


/* ============== AXパーク ============== */

.xpark .l_container .read .area {
  background-color: var(--xpark);
}

.xpark .l_container .list_num li:before,
.xpark .l_container .read {
  color: var(--xpark);
}

.xpark .l_container .read .num,
.xpark .l_container .list_dod li::after,
.xpark .container table thead th {
  background-color: var(--xpark);
}

.xpark .container table .txtrgterad {
  background-color: var(--xpark_sub);
}

.xpark .l_container .member_benefits h3 {
  color: #ffffff;
  padding-left: 0.5em;
  margin-top: 2em;
  background-color: var(--xpark);
  border-bottom: none;
}

.xpark .l_container .member_benefits .list_dod li::after {
  background-color: var(--xpark);
}

.xpark .l_container .member_benefits dl {
  border: 1px solid var(--xpark);
  padding: 1em 1.5em;
}

.xpark .l_container .list_num.step li:before {
  content: counter(list);
  width: 20px;
  height: 20px;
  font-size: 14px;
  line-height: 18px;
  color: #fff;
  background-color: var(--xpark);
  border-radius: 50px;
}

.xpark .l_container .zone figure {
  padding-right: 30px;
}

@media screen and (max-width: 640px) {
  .xpark .l_container .zone figure {
    padding-right: 0px;
  }
}

/* ---------- AI World Lab展示スペースのイメージ画像 ---------- */
.xpark .exhibition-space_img {
  width: 60%;
  height: auto;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .xpark .exhibition-space_img {
    width: 80%;
  }
}

@media screen and (max-width: 530px) {
  .xpark .exhibition-space_img {
    width: 100%;
  }
}


/* ----- アコーディオンリスト ----- */
.js-ac-pages {
  display: block;
  cursor: pointer;
  margin-top: 20px;
  padding: 20px;
  border-radius: 10px;
  color: #fff;
  background-color: var(--ceatecblue);
  background-image: linear-gradient(43deg, var(--ceatecblue) 0%, #50a5c8 55%, #df00ab 100%);
  font-weight: bold;
  font-weight: 700;
}

.js-ac-pages.js-ac-open {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.js-ac-pages:hover {
  opacity: .5;
}

.js-ac-pages .wrap_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.js-ac-pages p {
  font-weight: bold;
  font-weight: 700;
  padding-bottom: 0.5em;
}

.js-ac-pages .wrap_inner .wrap_inner_tit {
  width: 55%;
}

.js-ac-pages .wrap_inner .wrap_inner_text {
  width: 45%;
  padding-left: 1em;
  border-left: 1px solid #fff;
}

.js-ac-pages .js-ac_content-title {
  font-size: 1.8rem;
}

.js-ac-pages .js-ac_content-title .num {
  background-color: #fff;
  border-radius: 100px;
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.35em;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ceatecblue);
  font-weight: 700;
}

.js-ac-pages .btn_detail {
  position: relative;
  background-color: #fff;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  width: 10em;
  padding: 12px 35px 12px 15px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1em;
  color: var(--ceatecblue);
}

.js-ac-pages .btn_detail::before,
.js-ac-pages .btn_detail::after {
  display: flex;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 16px;
}

.js-ac-pages .btn_detail::before {
  content: "詳細をみる";
  width: 8em;
  text-align: center;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-weight: 700;
}

.en .js-ac-pages .btn_detail::before {
  content: "View Details";
}

.js-ac-pages.js-ac-open .btn_detail::before {
  content: "詳細を閉じる";
}

.en .js-ac-pages.js-ac-open .btn_detail::before {
  content: "Close Details";
}

.partners_body {
  z-index: -1;
  position: relative;
  height: 0;
  opacity: 0;
  padding: 0 2em;
  transition: all .3s;
  display: none;
}

.partners_body.js-ac-open {
  line-height: 1.6;
  opacity: 1;
  z-index: 1;
  height: auto;
  display: block;
  transition: all .3s;
  padding: 2em;
  border: 1px solid var(--ceatecblue);
  border-top: none;
}

.partners_body.js-ac-open .partners_inner-title {
  display: flex;
  align-items: center;
  padding-left: unset;
  border-left: none;
  font-weight: bold;
  font-weight: 700;
  font-size: clamp(1.25rem, 2vw, 1.375rem);
}

.partners_body.js-ac-open .partners_inner-second-title {
  display: inline-block;
  position: relative;
  color: var(--ceatecblue);
  font-size: 1.125rem;
  font-weight: bold;
  padding-left: 1.5em;
}

.partners_body.js-ac-open .partners_inner-second-title::before {
  display: inline-block;
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 15px;
  height: 15px;
  background-color: var(--ceatecblue);
  transform: translateY(-50%);
}

#guide .partners_body.js-ac-open .list_dod li::after {
  background-color: var(--ceatecblue);
}

.partners_body.js-ac-open .number_list li:before {
  background-color: var(--ceatecblue);
  background-image: linear-gradient(43deg, var(--xpark) 0%, #50a5c8 46%, #FFCC70 100%);
}

#guide .partners_body.js-ac-open .list_num li:before {
  color: var(--ceatecblue);
}

/* 参加費用 */
.cost {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}

.cost>li {
  width: 49%;
  height: 100%;
  margin-bottom: 10px;
  border-radius: 10px;
  border: 5px solid #eee;
  padding: 20px;
  text-align: center;
  font-weight: 700;
  background: rgb(242, 249, 255);
  background: linear-gradient(-125deg, rgba(242, 249, 255, 0) 0%, rgba(242, 249, 255, 1) 55%);
}

/* 先頭以外の奇数個目は横幅いっぱいにする */
.cost>li:nth-child(odd):not(:first-child) {
  width: 100%;
}

.cost>li .cost_title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: bold;
  font-weight: 700;
}

.cost>li dt {
  margin-top: 1em;
  margin-bottom: 0.25em;
  font-weight: 700;
}

.cost>li dd span {
  font-size: 125%;
  font-weight: bold;
  font-weight: 700;
}

.cost .new_plan_link {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  text-decoration: none;
}

.cost .new_plan_link p {
  margin-bottom: auto;
}

.cost .new_plan_link .c_btn {
  margin-top: 15px;
  background-color: #fff;
}

.cost .new_plan_link .c_btn:hover {
  background: var(--ceatecblue);
}

.cost .new_plan_link .c_btn:hover::after {
  right: 12px;
  top: 60%;
}

.cost .new_plan_link .c_btn::after {
  transform: translateY(-50%) rotate(90deg);
  -webkit-transform: translateY(-50%) rotate(90deg);
}

.tbnol {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid var(--ceatecblue);
}

.tbnol dt {
  background: rgb(242, 249, 255);
  background: linear-gradient(90deg, rgba(242, 249, 255, 0) 0%, rgba(242, 249, 255, 1) 55%);
  width: 20%;
  padding: 15px;
  border-bottom: 1px solid var(--ceatecblue);
  font-weight: 700;
}

.tbnol dd {
  width: calc(100% - 20%);
  padding: 15px;
  border-bottom: 1px solid var(--ceatecblue);
}

@media screen and (max-width: 767px) {
  .cost>li {
    width: 100%;
  }

  .en .partners_body .tbnol dt {
    width: 35%;
    font-size: 12px;
    overflow-wrap: break-word;
  }

  .en .partners_body .tbnol dd {
    width: calc(100% - 35%);
  }

  .en .partners_body.js-ac-open .partners_inner-title {
    line-height: 1.4;
  }
}

@media screen and (max-width: 540px) {
  .js-ac-pages .wrap_inner {
    display: block;
  }

  .js-ac-pages .wrap_inner .wrap_inner_tit,
  .js-ac-pages .wrap_inner .wrap_inner_text {
    width: 100%;
  }

  .js-ac-pages .wrap_inner .wrap_inner_text {
    margin-top: 1em;
    font-size: 0.8rem;
  }

  .partners_body.js-ac-open {
    padding: 1em;
  }

  .cost .new_plan_link .c_btn {
    max-width: 200px;
  }
}


/* ---------- アコーディオンリスト > AI WORLD LAB 参加形態 ---------- */
.list_plan {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1%;
  row-gap: 20px;
  justify-content: space-between;
}

.list_plan .list_plan_item {
  flex: 1 1 100%;
}

.list_plan .list_plan_inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  column-gap: 20px;
  row-gap: 10px;
}

.list_plan .list_plan_inner .list_plan_body {
  flex: 1;
}

.list_plan .list_plan_inner .list_plan_body .list_title {
  font-size: 16px;
  font-weight: bold;
  font-weight: 700;
}

.list_plan .list_plan_inner .list_plan_body .list_price {
  font-size: 24px;
  font-weight: bold;
  font-weight: 700;
}

.list_plan .list_plan_inner .list_plan_img {
  flex: 0 0 38%;
}

@media screen and (max-width: 880px) {
  .list_plan .list_plan_inner .list_plan_img {
    flex: 0 0 50%;
  }
}

@media screen and (max-width: 767px) {
  .list_plan .list_plan_inner {
    align-items: flex-start;
    flex-direction: column-reverse;
  }

  .en .list_plan .list_plan_inner .list_plan_body .list_title {
    font-size: 12px;
  }

  .en .list_plan .list_plan_inner .list_plan_body .list_price {
    font-size: 18px;
  }
}



/* ============== ネクストジェネレーションパーク ============== */

.next .l_container .read .area {
  background-color: var(--next);
}

.next .l_container .list_num li:before,
.next .l_container .read {
  color: var(--next);
}

.next .l_container .read .num,
.next .l_container .list_dod li::after,
.next .container table thead th {
  background-color: var(--next);
}

.next .container table .txtrgterad {
  background-color: var(--next_sub);
}

.next .l_container .member_benefits h3 {
  color: #ffffff;
  padding-left: 0.5em;
  margin-top: 2em;
  background-color: var(--next);
  border-bottom: none;
}

.next .l_container .member_benefits .list_dod li::after {
  background-color: var(--next);
}

.next .l_container .bg_color,
.next .l_container .table_num tbody th {
  color: #ffffff;
  background-color: var(--next);
}

.next .l_container .table_num tbody .num {
  width: 2em;
  vertical-align: middle;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-color: var(--next);
}

.next .l_container .wrap_ngp_video {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.next .l_container .wrap_ngp_video h3 {
  width: 100%;
}

.next .l_container .inner_ngp_video_mov,
.next .l_container .inner_ngp_video {
  width: 48%;
  padding-top: 1em;
}

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

  .next .l_container .inner_ngp_video_mov,
  .next .l_container .inner_ngp_video {
    width: 100%;
    padding-top: 1em;
  }
}

.next .l_container .inner_ngp_video .c_btn {
  border: 1px solid var(--next);
  color: var(--next);
}

.next .l_container .inner_ngp_video .c_btn:hover,
.next .l_container .inner_ngp_video .c_btn:focus {
  color: #fff;
}

.next .l_container .inner_ngp_video_mov a {
  position: relative;
  display: block;
  transition: all 400ms ease;
  border: 1px solid #fcdde4;
}

.next .l_container .inner_ngp_video_mov a::before {
  font-family: "Material Icons Round";
  content: "play_circle";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  display: inline-block;
  font-size: 5em;
  aspect-ratio: 1 / 1;
  z-index: 5;
  line-height: 1;
  opacity: 0.7;
  color: #ff0001;
  background: #ffffff;
  border-radius: 100%;
  transition: all 400ms;
}

.next .l_container .inner_ngp_video_mov a:hover::before,
.next .l_container .inner_ngp_video_mov a:focus::before {
  transform: translate(-50%, -50%) scale(1.2);
  -webkit-transform: translate(-50%, -50%) scale(1.2);
  -ms-transform: translate(-50%, -50%) scale(1.2);
}

.next .l_container .inner_ngp_video_mov a figure {
  position: relative;
}

.next .l_container .inner_ngp_video_mov a figure img {
  width: 100%;
  height: auto;
}

.co-creation_partner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.co-creation_partner.only-one {
  justify-content: center;
}

.co-creation_partner li {
  flex: 0 0 48%;
}

.booth_standards {
  width: 80%;
  margin: 0 auto;
}

@media screen and (max-width: 530px) {
  .co-creation_partner li {
    flex: 0 0 100%;
  }

  .booth_standards {
    width: 100%;
  }
}

/* 4列画像グリッド（レスポンシブ対応） */
#guide .img_grid_4col {
  display: flex;
  flex-wrap: wrap;
}

#guide .img_grid_4col img {
  width: 25%;
}

@media screen and (max-width: 1020px) {
  #guide .img_grid_4col img {
    width: 50%;
  }
}

/* ============== 一般展示（General Exhibits） ============== */
.general .l_container .erimg {
  background-color: #fff;
  text-align: center;
  border-radius: 8px;
}
.general .l_container .erimg img {
  max-width: 800px;
}

/* X パーク */

#guide.xpark .c_section_block .scrollbox:not(.exhibit_fee) table td {
  width: calc((100% - 22%) / 4);
  text-align: center;
}

/* ========================================
   プランカードグリッド（TOP移植）
======================================== */
.plans_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 30px;
}

.plan_card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  padding: 24px;
  transition: all 0.3s ease;
}

.plan_card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

/* カードヘッダー */
.plan_card_header {
  padding: 8px 16px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  margin: -24px -24px 20px;
}

.plan_header_general { background: var(--ceatecblue); }
.plan_header_xpark { background: var(--xpark); }
.plan_header_next { background: var(--next); }
.plan_header_conf { background: var(--conference); }
.plan_header_global { background: var(--global); }
.plan_header_ad { background: var(--ad); }

/* カードタイトル */
.l_container .plan_card_title {
  font-size: 18px;
  color: var(--ceatecblue);
  margin-bottom: 0.75em;
  margin-top: 0em;
  line-height: 1.4;
}

.plan_title_conf { color: var(--conference); }
.plan_title_global { color: var(--global); }
.plan_title_ad { color: var(--ad); }

/* 各カードのタイトル・ラベルカラー */
.plan_card_general .plan_card_title,
.plan_card_general .plan_recommend_label,
.plan_card_general .plan_info_label { color: var(--ceatecblue); }

.plan_card_xpark .plan_card_title,
.plan_card_xpark .plan_recommend_label,
.plan_card_xpark .plan_info_label { color: var(--xpark); }

.plan_card_next .plan_card_title,
.plan_card_next .plan_recommend_label,
.plan_card_next .plan_info_label { color: var(--next); }

.plan_card_conf .plan_card_title,
.plan_card_conf .plan_recommend_label,
.plan_card_conf .plan_info_label { color: var(--conference); }

.plan_card_global .plan_card_title,
.plan_card_global .plan_recommend_label,
.plan_card_global .plan_info_label { color: var(--global); }

.plan_card_ad .plan_card_title,
.plan_card_ad .plan_recommend_label,
.plan_card_ad .plan_info_label { color: var(--ad); }

.plan_card_desc {
  font-size: 14px;
  line-height: 1.7;
  color: #4a5a7a;
  margin: 0 0 12px;
}

.plan_card_desc_sub {
  font-size: 14px;
  line-height: 1.7;
  color: #6a7a9a;
  margin: 0 0 16px;
}

/* おすすめ */
.plan_card_recommend { margin-bottom: 16px; }

.plan_recommend_label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}

.plan_recommend_list {
  margin: 0;
  padding: 0;
  font-size: 12px;
  line-height: 1.8;
}

.plan_recommend_list li {
  font-size: 12px;
  margin-bottom: 2px;
}

/* 各カードのリストドットカラー */
.plan_card_general .plan_recommend_list li::after { background-color: var(--ceatecblue); }
.plan_card_xpark .plan_recommend_list li::after { background-color: var(--xpark); }
.plan_card_next .plan_recommend_list li::after { background-color: var(--next); }
.plan_card_conf .plan_recommend_list li::after { background-color: var(--conference); }
.plan_card_global .plan_recommend_list li::after { background-color: var(--global); }
.plan_card_ad .plan_recommend_list li::after { background-color: var(--ad); }

/* バッジ */
.plan_card_badge {
  display: inline-block;
  padding: 8px 16px;
  background: #f1f5f9;
  border-radius: 8px;
  font-size: 12px;
  color: #1a2a4a;
  margin-bottom: 16px;
  text-align: center;
}

/* 情報 */
.plan_card_info {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}

.plan_info_item { margin-bottom: 12px; }
.plan_info_item:last-child { margin-bottom: 16px; }

.plan_info_label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #1a2a4a;
  margin-bottom: 4px;
}

.plan_info_value {
  font-size: 14px;
  color: #3a4a6a;
  line-height: 1.5;
}

.plan_info_value small {
  font-size: 12px;
  color: #6a7a9a;
}

.plan_info_price {
  font-size: 28px;
  font-weight: 700;
  color: #1a2a4a;
}

.plan_info_price small {
  font-size: 14px;
  font-weight: 400;
}

.plan_info_price_text {
  font-size: 16px;
  font-weight: 700;
  color: #1a2a4a;
}

.plan_info_note {
  display: block;
  font-size: 11px;
  color: #8a9aba;
  margin-top: 4px;
}

/* カード全体リンク */
.plan_card_link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

/* ボタン */
.plan_card_btn {
  display: block;
  padding: 14px 16px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  transition: all 0.3s ease;
  background: var(--ceatecblue);
}

.plan_card:hover .plan_card_btn {
  box-shadow: 
    0 4px 12px 0 rgba(134, 154, 203, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

/* 各カードのボタン色 */
.plan_card_general .plan_card_btn { background: var(--ceatecblue); }
.plan_card_xpark .plan_card_btn { background: var(--xpark); }
.plan_card_next .plan_card_btn { background: var(--next); }
.plan_card_conf .plan_card_btn { background: var(--conference); }
.plan_card_global .plan_card_btn { background: var(--global); }
.plan_card_ad .plan_card_btn { background: var(--ad); }

/* レスポンシブ */
@media screen and (max-width: 1100px) {
  .plans_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .plans_grid {
    grid-template-columns: 1fr;
    max-width: 450px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 480px) {
  .plan_info_price {
    font-size: 24px;
  }
}