.overlay.is-pi_consent {
  z-index: 500;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}

.overlay.is-pi_consent .block_att {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 600px;
  padding: 50px;
  border: 3px solid #000;
  background-color: #fff;
}

.overlay.is-pi_consent p {
  width: 100%;
  color: #000;
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 20px;
}

.overlay.is-pi_consent p a {
  color: #cb0078;
}

.overlay.is-pi_consent .btn {
  font-size: 18px;
  width: 48%;
  padding-top: 15px;
  padding-bottom: 15px;
  /*   padding: 20px 0;
 */
  border: none;
  /*   background: rgb(228, 49, 140);
  background: linear-gradient(122deg, rgba(228, 49, 140, 1) 0%, rgba(0, 184, 255, 1) 100%);
 */
}

.overlay.is-pi_consent .btn + .btn {
  background: #707070;
}

/* カラバリ設定 */
/* 背景画像が設定された場合 */
main {
  padding-top: 80px;
  /* fixed head nav 用*/
  padding-bottom: 50px;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center bottom;
  background-size: cover;
}

/* テーマカラー黒が設定された場合 */
.black {
  background-color: #000;
}

.black main {
  color: #fff;
}

/* テーマカラーグレーが設定された場合 */
.gray {
  background-color: #dddddd;
}

.area_free,
.area_login {
  margin: 25px auto;
  padding: 0 1.5em;
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
  position: relative;
}
@media screen and (max-width: 1260px) {
  .area_free,
  .area_login {
    width: calc(100% - 60px);
    margin: 0px 30px;
  }
}
@media screen and (max-width: 640px) {
  .area_free,
  .area_login {
    width: calc(100% - 30px);
    margin: 0px 15px;
  }
}

/* テーマカラー黒が設定された場合 */
.black .area_free,
.black .area_login {
  background-color: rgba(255, 255, 255, 0.3);
}

/* テーマカラーグレーが設定された場合 */
.gray .area_free,
.gray .area_login {
  background-color: rgba(255, 255, 255, 0.75);
}

.area_login::before {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  background: rgb(228, 49, 140);
  background: linear-gradient(122deg, rgba(228, 49, 140, 1) 10%, rgba(255, 226, 0, 1) 50%, rgba(0, 184, 255, 1) 90%);
}

.area_free .freehtml_inner > *,
.area_login .freehtml_inner > * {
  padding: 30px 0;
}

.area_free > section:last-of-type {
  padding-bottom: 30px;
}

.area_free > section + section > h2,
.area_login > section + section > h2 {
  margin-top: 100px;
}

.area_free h2,
.area_login h2 {
  font-weight: 700;
  text-align: left;
  font-size: 30px;
  padding-top: 1em;
  padding-bottom: 0.5em;
  position: relative;
}

@media screen and (max-width: 640px) {
  .area_free h2,
  .area_login h2 {
    margin-top: 60px;
  }
}
.area_free h2::before,
.area_login h2::before {
  content: "";
  position: absolute;
  left: -40px;
  width: 30px;
  height: 3px;
  top: calc(1em + 18px);
  border-radius: 15px;
  background: rgb(8, 164, 229);
  background: linear-gradient(90deg, rgba(8, 164, 229, 1) 0%, rgba(232, 75, 150, 1) 100%);
}

.area_free h3,
.area_login h3 {
  font-weight: 700;
  font-size: 24px;
}

.area_free h4,
.area_login h4 {
  font-weight: 700;
  font-size: 20px;
}

.area_free h5,
.area_login h5 {
  font-weight: 700;
  font-size: 18px;
}

@media screen and (max-width: 640px) {
  .area_free h2,
  .area_login h2 {
    font-size: 24px;
  }

  .area_free h2::before,
  .area_login h2::before {
    left: -40px;
    width: 30px;
    height: 3px;
    top: calc(1em + 18px);
  }

  .area_free h3,
  .area_login h3 {
    font-size: 20px;
  }

  .area_free h4,
  .area_login h4 {
    font-size: 18px;
  }

  .area_free h5,
  .area_login h5 {
    font-size: 16px;
  }
}

.list_link li {
  position: relative;
  padding-left: 1.75em;
}

.list_link li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "link";
  line-height: 1.8;
}

.list_link li a {
  display: block;
  padding-top: 0.15em;
  text-decoration: underline;
}

.black .list_link li a {
  color: #fff;
}
.general .list_product_item h3::before,
.general .list_link li::before,
.advanced .list_product_item h3::before,
.advanced .list_link li::before {
  color: var(--general);
}
/* 2024使用なし */
.key .list_product_item h3::before,
.key .list_link li::before {
  color: #009a59;
}

.partners .list_product_item h3::before,
.partners .list_link li::before {
  color: #f9b700;
}
.next .list_product_item h3::before,
.next .list_link li::before,
.startup .list_product_item h3::before,
.startup .list_link li::before {
  color: #ec6d88;
}
.ai .list_product_item h3::before,
.ai .list_link li::before,
.online .list_product_item h3::before,
.online .list_link li::before {
  color: #009de6;
}

.global .list_product_item h3::before,
.global .list_link li::before {
  color: #791285;
}

.link_site {
  display: flex;
  margin-top: 1em;
  justify-content: center;
  align-items: center;
}

dl.table {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}

.table dt {
  width: 20%;
  padding: 2.5%;
  background-color: #dadada;
  margin: 0 0 0.25% 0;
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.table dd {
  width: 80%;
  padding: 2.5%;
  background-color: #f3f3f3;
  margin: 0 0 0.25% 0;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}

/* ====お気に入りボタン===== */
.btn_favorite {
  position: fixed;
  right: 0;
  bottom: 110px;
  z-index: 150;
}

.btn_favorite a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  text-align: center;
  font-weight: 700;
  color: #fff;
  background-color: #cc388d;
  width: 90px;
  height: 70px;
  border-top-left-radius: 90px;
  border-bottom-left-radius: 90px;
  position: relative;
  line-height: 1.2;
}

.btn_favorite a::before {
  display: block;
  padding-bottom: 3px;
  font-size: 14px;
  content: "favorite_border";
}

.btn_favorite.active a,
.btn_favorite a.is-favorite {
  background-color: #84215a;
}

.btn_favorite.active a::before,
.btn_favorite a.is-favorite::before {
  content: "favorite";
}

.mvarea {
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.images_bg_main {
  position: absolute;
  top: -8px;
  left: -8px;
  height: calc(100% + 16px);
  width: calc(100% + 16px);
  z-index: 1;
  filter: blur(5px);
  background-size: cover;
}

.images_bg_main::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.image_main_mv {
  position: relative;
  z-index: 3;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.Exhibit_Information {
  background-color: #fff;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
}

.Exhibit_Information .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1em 0;
  position: relative;
}

@media screen and (max-width: 1260px) {
  .Exhibit_Information .container {
    padding: 1em 30px;
  }
}
@media screen and (max-width: 640px) {
  .Exhibit_Information .container {
    padding: 1em 15px;
  }
}

.Exhibit_Information .item_logo {
  width: 15%;
  position: relative;
}

.Exhibit_Information .item_logo::after {
  width: 1px;
  height: 100%;
  background: rgb(228, 49, 140);
  background: linear-gradient(122deg, rgba(228, 49, 140, 1) 10%, rgba(255, 226, 0, 1) 50%, rgba(0, 184, 255, 1) 90%);
}

.Exhibit_Information .item_information {
  width: 83%;
}

.item_information h3 {
  font-weight: 700;
  font-size: 20px;
  padding-bottom: 20px;
}

.item_information h3 span {
  display: block;
  font-size: 16px;
  font-weight: bold;
  font-weight: 700;
}

.item_information {
  width: 83%;
  color: #000;
}

.information_parts {
  display: flex;
  flex-wrap: wrap;
}

.information_parts .parts_category,
.information_parts .parts_booth {
  color: #fff;
  padding: 3px 1.5em 3px 2.5em;
  font-size: 14px;
  position: relative;
  font-weight: bold;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .information_parts .parts_category,
  .information_parts .parts_booth {
    padding: 3px 0.75em 3px 1.75em;
    font-size: 12px;
  }
}

.information_parts .parts_booth {
  background-color: #000;
}

.information_parts .parts_category::before,
.information_parts .parts_booth::before {
  margin-left: -1.4em;
}

.information_parts .parts_category {
  margin-right: 2px;
}

.information_parts .parts_booth span {
  font-size: 12px;
}

.information_parts .parts_category::before {
  content: "map";
  padding-right: 5px;
}

.information_parts .parts_booth::before {
  content: "location_on";
  padding-right: 5px;
}

/* === カテゴリーごとの背景色設定 ====  */
/* .general .btn,
 */
.general nav.page ul li a,
.general .information_parts .parts_category,
.general .data_time_list .item .wrap_btn,
.advanced .btn,
.advanced nav.page ul li a,
.advanced .information_parts .parts_category,
.advanced .data_time_list .item .wrap_btn {
  background-color: var(--general);
}
/* 2024使用なし */
.key .btn,
.key nav.page ul li a,
.key .information_parts .parts_category,
.key .data_time_list .item .wrap_btn {
  background-color: #009a59;
}

/* .partners .btn,
 */
.partners nav.page ul li a,
.partners .information_parts .parts_category,
.partners .data_time_list .item .wrap_btn {
  background-color: var(--partners);
}
/*.next .btn,*/
.next nav.page ul li a,
.next .information_parts .parts_category,
.next .data_time_list .item .wrap_btn,
.startup .btn,
.startup nav.page ul li a,
.startup .information_parts .parts_category,
.startup .data_time_list .item .wrap_btn {
  background-color: var(--next);
}
/* .ai .btn, */
.ai nav.page ul li a,
.ai .information_parts .parts_category,
.ai .data_time_list .item .wrap_btn,
.online .btn,
.online nav.page ul li a,
.online .information_parts .parts_category,
.online .data_time_list .item .wrap_btn {
  background-color: var(--ai);
}

/* .global .btn,
 */
.global nav.page ul li a,
.global .information_parts .parts_category,
.global .data_time_list .item .wrap_btn {
  background-color: var(--global);
}

.general nav.page ul li a:hover,
.general .btn:hover,
.general .data_time_list .item .wrap_btn:hover,
.advanced nav.page ul li a:hover,
.advanced .btn:hover,
.advanced .data_time_list .item .wrap_btn:hover {
  opacity: 0.7;
  background-color: var(--general);
}

/* 2024使用なし */
.key nav.page ul li a:hover,
.key .btn:hover,
.key .data_time_list .item .wrap_btn:hover {
  opacity: 0.7;
  background-color: #009a59;
}

.partners nav.page ul li a:hover,
.partners .btn:hover,
.partners .data_time_list .item .wrap_btn:hover {
  opacity: 0.7;
  background-color: var(--partners);
}
.next nav.page ul li a:hover,
.next .btn:hover,
.next .data_time_list .item .wrap_btn:hover,
.startup nav.page ul li a:hover,
.startup .btn:hover,
.startup .data_time_list .item .wrap_btn:hover {
  opacity: 0.7;
  background-color: var(--next);
}
.ai nav.page ul li a:hover,
.ai .btn:hover,
.ai .data_time_list .item .wrap_btn:hover,
.online nav.page ul li a:hover,
.online .btn:hover,
.online .data_time_list .item .wrap_btn:hover {
  opacity: 0.7;
  background-color: var(--ai);
}

.global nav.page ul li a:hover,
.global .btn:hover,
.global .data_time_list .item .wrap_btn:hover {
  opacity: 0.7;
  background-color: var(--global);
}

/* ===ミドコロ=== */

.item_point {
  margin-top: 25px;
  padding: 3px;
  color: #000;
  background: rgb(228, 49, 140);
  background: linear-gradient(122deg, rgba(228, 49, 140, 1) 10%, rgba(255, 226, 0, 1) 50%, rgba(0, 184, 255, 1) 90%);
}
@media screen and (max-width: 1260px) {
  .item_point {
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 640px) {
  .item_point {
    width: calc(100% - 30px);
  }
}

.item_point .inner {
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 1em;
}

.item_point h3 {
  font-size: 20px;
  font-weight: 700;
  position: relative;
  width: 5em;
  font-size: 20px;
  color: rgb(228, 49, 140);
  padding-top: 30px;
  text-align: center;
}

.item_point p {
  width: calc(100% - 8em);
}

.item_point h3::before {
  content: "campaign";
  position: absolute;
  left: 50%;
  top: 0%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

@media screen and (max-width: 500px) {
  .item_point .inner {
    display: block;
  }

  .item_point h3 {
    width: 100%;
    font-size: 16px;
    padding-top: 0px;
    padding-bottom: 1em;
  }

  .item_point h3::before {
    position: static;
    margin-right: 0.25em;
    line-height: 1;
  }

  .item_point p {
    width: 100%;
  }
}

/* ===ナビゲーション=== */

/* スクロール追従 */
.exh_aside_inner.exh_nav_page_fixed {
  position: fixed !important;
  width: 100%;
  top: 80px;
  max-width: 2000px;
  z-index: 10;
}

nav.page {
  padding-top: 20px;
  /*   padding-bottom: 20px;
 */
}

.exh_aside_inner.exh_nav_page_fixed nav.page {
  padding-top: 5px;
  position: relative;
  z-index: 100;
}

nav.page ul {
  /* 横並びにする */
  display: flex;
  flex-wrap: wrap;
}

nav.page ul li {
  width: 19.2%;
  margin-right: 0.5%;
  margin-bottom: 0.25em;
  text-align: center;
  font-size: 14px;
}

nav.page ul li:nth-of-type(5n) {
  margin-right: 0%;
}

nav.page ul li a {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 0.25em 2em 0.25em 1em;
  color: #fff;
  position: relative;
  border-radius: 50px;
}

nav.page ul li a::after {
  content: "south";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

@media screen and (max-width: 1160px) {
  nav.page ul li {
    width: 24%;
    margin-right: 1%;
  }

  nav.page ul li:nth-of-type(5n) {
    margin-right: 1%;
  }

  nav.page ul li:nth-of-type(4n) {
    margin-right: 0%;
  }
}

@media screen and (max-width: 880px) {
  nav.page ul li {
    width: 32.3%;
    margin-right: 1%;
  }

  nav.page ul li:nth-of-type(4n) {
    margin-right: 1%;
  }

  nav.page ul li:nth-of-type(3n) {
    margin-right: 1%;
  }
}

@media screen and (max-width: 670px) {
  nav.page ul li {
    width: 49.5%;
    margin-right: 1%;
  }

  nav.page ul li:nth-of-type(3n) {
    margin-right: 1%;
  }

  nav.page ul li:nth-of-type(4n) {
    margin-right: 0%;
  }

  nav.page ul li:nth-of-type(2n) {
    margin-right: 0%;
  }
}

@media screen and (max-width: 500px) {
  nav.page ul li a {
    font-size: 11px;
  }
}

/* === ショーケースギャラリー === */
.showcase_slide .slide_item figure {
  overflow: hidden;
  position: relative;
  background-color: rgba(0, 0, 0, 0.1);
  width: 100%;
  aspect-ratio: 16 / 9;
}

.showcase_slide .slide_item figure img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.thumbnail_list .slick-prev,
.thumbnail_list .slick-next {
  z-index: 2;
  position: absolute;
  border: 0;
  bottom: 0;
  background-color: transparent;
  font-size: 0;
  padding: 0;
}

.thumbnail_list .slick-prev::before,
.thumbnail_list .slick-next::before {
  padding: 0;
  position: relative;
  content: "arrow_back";
  background: rgba(0, 0, 0, 0.5);
  padding: 0px 10px;
  opacity: 1;
  font-size: 20px;
  line-height: 120px;
  height: 120px;
  color: #fff;
}

.thumbnail_list .slick-next::before {
  content: "arrow_forward";
}

.thumbnail_list .slick-prev {
  left: -50px;
}

.thumbnail_list .slick-next {
  right: -50px;
}

.thumbnail_list .slick-prev:hover:before {
  animation: arrow_prev 0.5s ease-out forwards;
}

@keyframes arrow_prev {
  0% {
    right: 0px;
  }

  50% {
    right: 5px;
  }

  100% {
    right: 0;
  }
}

.thumbnail_list .slick-next:hover:before {
  animation: arrow_next 0.5s ease-out forwards;
}

@keyframes arrow_next {
  0% {
    left: 0px;
  }

  50% {
    left: 5px;
  }

  100% {
    left: 0;
  }
}

#showcase .thumbnail_list {
  margin-top: 5px;
  margin-left: 25px;
  margin-right: 25px;
}

#showcase .thumbnail_list .slide_item {
  opacity: 0.5;
  cursor: pointer;
  line-height: 0;
  height: 120px;
  overflow: hidden;
  text-align: center;
  position: relative;
}

#showcase .thumbnail_list .slide_item figure {
  height: 100%;
}

#showcase .thumbnail_list .slide_item p {
  display: none;
}

#showcase .thumbnail_list .slide_item img {
  height: 100%;
  object-fit: cover;
}

#showcase .thumbnail_list .slide_item.thumbnail_current {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .thumbnail_list .slick-prev::before,
  .thumbnail_list .slick-next::before {
    line-height: 75px;
    height: 75px;
  }

  #showcase .thumbnail_list .slide_item {
    height: 75px;
  }
}

/* =======  イベント style ========== */

.list_event {
  counter-reset: list-num;
}

.list_event .list_event_item {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  padding-top: 30px;
  padding-bottom: 35px;
  margin-bottom: 35px;
  border-bottom: 5px solid #f3f3f3;
}

.list_event .list_event_item:last-of-type {
  border-bottom: none;
}

.list_event .list_event_item:before {
  font-family: "LINESeedJP", sans-serif;
  counter-increment: list-num;
  content: counter(list-num);
  color: #e4318c;
  display: block;
  width: 1.5em;
  min-width: 1.5em;
  height: 1.5em;
  line-height: 1.5em;
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 6.5em;
  line-height: 1;
  font-size: 20px;
}

.en .list_event .list_event_item:before {
  left: 4.5em;
}

.list_event > .list_event_item::after {
  font-family: "LINESeedJP", sans-serif;
  content: "イベント情報";
  display: block;
  color: #e4318c;
  position: absolute;
  top: 0;
  left: 30px;
  font-weight: 700;
}

.en .list_event > .list_event_item::after {
  content: "Event";
}

.list_event_item .images_event {
  width: 40%;
}

.content_event {
  width: 58%;
  position: relative;
}

.content_event::before {
  content: "festival";
  position: absolute;
  top: -40px;
  left: 0;
  color: #e4318c;
  font-size: 25px;
}

.content_event h3 {
}

.content_event .event_data {
  display: flex;
  flex-wrap: wrap;
  margin-top: 15px;
}

.content_event .event_data dt {
  width: 5em;
  padding-left: 1.5em;
  position: relative;
  font-weight: bold;
  font-weight: 700;
}

.content_event .event_data dt::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.2;
}

.content_event .event_data .item_day::before {
  content: "today";
}

.content_event .event_data .item_time::before {
  content: "watch_later";
}

.content_event .event_data .item_venue::before {
  content: "location_on";
}

.content_event .event_data dd {
  width: calc(100% - 5em);
}

.area_free > .contact > h2,
.area_login > .contact > h2,
.area_free > section + .contact > h2,
.area_login > section + .contact > h2 {
  margin-top: 0px;
  margin-left: 30px;
}

.contact {
  padding-top: 0 !important;
  padding-bottom: 30px;
  /* 打ち消し
  margin-top: 50px;*/
  width: calc(100% + 3em);
  margin-left: -1.5em;
  margin-left: -1.5em;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

/* テーマカラー黒が設定された場合 */
.black .contact {
  background-color: #808080;
}

/* テーマカラーグレーが設定された場合 */
.gray .contact {
  background-color: #efefef;
}

main .contact h2 {
  margin-top: 0;
}

main .contact h2::after {
  width: 100%;
  bottom: auto;
  top: 0;
}

.contact > ul.btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.contact > ul.btns li {
  width: 33%;
  padding-left: 0.5%;
  padding-right: 0.5%;
}

.contact > ul.btns li .btn {
  display: block;
  max-width: 360px;
  padding: 15px 60px 15px 0px;
}

@media screen and (max-width: 767px) {
  .contact > ul.btns li {
    width: 100%;
  }

  .contact > ul.btns li .btn {
    margin-bottom: 10px;
  }
}
.contact > ul.btns a span {
  position: relative;
  display: block;
  padding-left: 45px;
}

.contact > ul.btns a span::before {
  position: absolute;
  left: 15px;
  top: 10%;
  line-height: 1.2;
}

.link_tel span::before {
  content: "phone";
}

.link_mail span::before {
  content: "email";
}

.link_form span::before {
  content: "edit_note";
}

.link_site {
  font-weight: bold;
  font-weight: 700;
}

.contact .list_privacy {
  overflow: hidden;
  display: flex;
  flex-wrap: nowrap;
  width: calc(100% - 60px);
  margin-left: auto;
  margin-right: auto;
  border-radius: 50px;
}

.contact .list_privacy li {
  width: 100%;
}

.contact .list_privacy li + li {
  border-left: 1px solid #fffcf4;
}

.contact .list_privacy li a {
  display: block;
  width: 100%;
  max-width: 1200px;
  color: #fff;
  padding: 1em;
  background-color: #000;
}

/* テーマカラー黒が設定された場合 */
.black .contact .list_privacy li a {
  background-color: #303030;
}

/* === 製品 === */

.list_product {
}

.list_product_item {
  padding-bottom: 35px;
}

.list_product_item h3 {
  padding-left: 1.5em;
  position: relative;
  border-bottom: dotted 3px #f0f0f0;
  margin-bottom: 10px;
}

.list_product_item h3::before {
  position: absolute;
  left: 0;
  content: "category";
  font-size: 25px;
  line-height: 1.4;
}

.list_product_item h4 {
  margin-top: 2em;
}

.list_product_item .list_link li {
  padding-top: 5px;
}

.product_item_description {
  padding-top: 1em;
  word-break: break-word;
}

/* float レイアウトが1つあるため */
.photo_gallery_wrap::after {
  content: "";
  clear: both;
  display: block;
}

.list_product_item .photo_gallery,
.list_product_item .photo_gallery ul {
  display: flex;
  flex-wrap: wrap;
}

.list_product_item .photo_gallery figure {
  height: 100%;
  border: solid 0.5px #f0f0f0;
  aspect-ratio: 16/9;
}
.list_product_item .photo_gallery figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.list_product_item .photo_gallery li {
  overflow: hidden;
}

.list_product_item .photo_gallery.layout_1 li {
  width: 50%;
}

.list_product_item .photo_gallery.layout_1 > li:nth-child(3) {
  width: 100%;
}

.list_product_item .photo_gallery.layout_1 > li:nth-child(3) > ul > li {
  width: 20%;
}

.list_product_item .photo_gallery.layout_2 li {
  width: 20%;
}

.list_product_item .photo_gallery.layout_3 li {
  width: 50%;
}

.list_product_item .photo_gallery.layout_3 > li > ul > li {
  width: 33.3333333333%;
}

.list_product_item .photo_gallery.layout_4 li {
  width: 50%;
}

.list_product_item .photo_gallery.layout_4 > li:nth-child(n + 3) {
  width: 25%;
}

.list_product_item .photo_gallery.layout_5 li {
  width: 50%;
}

.list_product_item .photo_gallery.layout_6 li {
  width: 50%;
}

.list_product_item .photo_gallery.layout_7 {
  display: block;
  margin-bottom: 0;
  float: left;
  width: 50%;
  position: relative;
}

.list_product_item .photo_gallery_wrap .product_item_description {
  float: right;
  width: 48%;
}

.list_product_item .photo_gallery.layout_8 li {
  width: 33.3%;
}

.list_product_item .photo_gallery.layout_9 li {
  width: 50%;
  overflow: hidden;
}

.list_product_item .photo_gallery.layout_10 li:nth-child(1) {
  width: 75%;
}

.list_product_item .photo_gallery.layout_10 li:nth-child(2) {
  width: 25%;
}

.list_product_item .photo_gallery.layout_10 li:nth-child(2) ul {
  display: block;
}

.list_product_item .photo_gallery.layout_10 li:nth-child(2) ul li {
  width: 100%;
}

.list_product_item .photo_gallery.layout_11 li {
  width: 50%;
}

.list_product_item .photo_gallery.layout_11 li:nth-child(n + 3) {
  width: 33.3%;
}

.list_product_item .photo_gallery.layout_12 li:nth-child(1) {
  width: 60%;
  display: block;
}

.list_product_item .photo_gallery.layout_12 li:nth-child(2) {
  width: 40%;
  display: block;
}

.list_product_item .photo_gallery.layout_12 li:nth-child(1) ul li {
  width: 100%;
}

.list_product_item .photo_gallery.layout_12 li:nth-child(2) ul li {
  width: 100%;
}

.list_product_item .photo_gallery.layout_13 li {
  width: 50%;
}

.list_product_item .photo_gallery.layout_14 li {
  width: 33.3%;
}

.list_product_item .photo_gallery.layout_15 li:nth-child(1) {
  width: 40%;
}

.list_product_item .photo_gallery.layout_15 li:nth-child(2) {
  width: 60%;
}

.list_product_item .photo_gallery.layout_15 li:nth-child(2) ul li {
  width: 33.3% !important;
}

.list_product_item .photo_gallery.layout_16 li {
  width: 25%;
}

@media (min-width: 769px) {
  .list_product_item a:hover img {
    opacity: 0.7 !important;
    transition: opacity 250ms !important;
  }
}

@media (max-width: 768px) {
  .list_product_item .photo_gallery.layout_1 > li:nth-child(1) {
    width: 100%;
  }

  .list_product_item .photo_gallery.layout_1 > li:nth-child(2) {
    width: 100%;
  }

  .list_product_item .photo_gallery.layout_1 > li:nth-child(2) > ul > li {
    width: 50%;
  }

  .list_product_item .photo_gallery.layout_1 > li:nth-child(3) > ul > li {
    width: 20%;
  }

  .list_product_item .photo_gallery.layout_2 li {
    width: 20%;
  }

  .list_product_item .photo_gallery.layout_3 > li:nth-child(1) {
    width: 100%;
  }

  .list_product_item .photo_gallery.layout_3 > li:nth-child(2) {
    width: 100%;
  }

  .list_product_item .photo_gallery.layout_5 li {
    width: 100%;
  }
  .list_product_item .photo_gallery.layout_5 > li:nth-child(2) > ul > li,
  .list_product_item .photo_gallery.layout_5 > li:nth-child(3) > ul > li {
    width: 50%;
  }

  .list_product_item .photo_gallery.layout_7 figure {
    margin-right: 0;
    margin-bottom: 20px;
    width: 100%;
  }

  .list_product_item .photo_gallery.layout_10 li:nth-child(1) {
    width: 100%;
  }

  .list_product_item .photo_gallery.layout_10 li:nth-child(2) {
    width: 100%;
  }

  .list_product_item .photo_gallery.layout_10 li:nth-child(2) ul {
    display: flex;
  }

  .list_product_item .photo_gallery.layout_10 li:nth-child(2) ul li {
    width: 33.3%;
  }
  .list_product_item .photo_gallery.layout_15 li:nth-child(1) {
    width: 100%;
    max-height: 100%;
  }

  .list_product_item .photo_gallery.layout_15 li:nth-child(2) {
    width: 100%;
  }
}

/* =======  seminar / 動画 style ========== */

.list_movie_item,
.list_seminar_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 50px;
}

.list_movie_item .list_movie_item_detail,
.list_seminar_item .list_seminar_item_detail {
  width: 47.5%;
}
.list_movie_item .list_movie_item_detail .btn span,
.list_seminar_item .list_seminar_item_detail .btn span {
  padding-left: 30px;
}

.list_movie_item .list_movie_item_detail .btn span::before,
.list_seminar_item .list_seminar_item_detail .btn span::before {
  position: absolute;
  left: 0px;
  top: 3px;
  line-height: 1.2;
  content: "slideshow";
}

.list_movie_item .thumbnail,
.list_seminar_item .thumbnail {
  width: 47.5%;
  position: relative;
  z-index: 3;
}

.list_movie .list_movie_item:nth-of-type(2n) .list_movie_item_detail,
.list_seminar .list_seminar_item:nth-of-type(2n) .list_seminar_item_detail {
  order: 2;
}

.list_movie .list_movie_item:nth-of-type(2n) .thumbnail,
.list_seminar .list_seminar_item:nth-of-type(2n) .thumbnail {
  order: 1;
}

.page_workshop .speaker_detail,
.list_seminar .list_seminar_item .speaker_detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 20px;
  margin-bottom: 20px;
}

.page_workshop .speaker_detail .speaker_info,
.list_seminar .list_seminar_item .speaker_detail .speaker_info {
  font-size: 14px;
  width: calc(100% - 140px);
}

.page_workshop .speaker_detail .speaker_info span,
.list_seminar .list_seminar_item .speaker_detail .speaker_info span {
  font-size: 16px;
  font-weight: bold;
  font-weight: 700;
}

.page_workshop .speaker_detail .img_speaker_photo,
.list_seminar .list_seminar_item .speaker_detail .img_speaker_photo {
  width: 120px;
  height: 120px;
  overflow: hidden;
  border-radius: 120px;
}

.is-movie_thumb,
.is-workshop_thumb {
  position: relative;
}

.is-movie_thumb .text_att,
.is-workshop_thumb .text_att {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.5);
}

.is-movie_thumb .text_att p,
.is-workshop_thumb .text_att p {
  font-weight: 700;
  margin: 10px;
}

.list_movie_item .thumbnail a,
.list_seminar_item .thumbnail a,
.list_movie_item .thumbnail a.btn span,
.list_seminar_item .thumbnail a.btn span {
  display: block;
  position: relative;
}

.list_movie_item .thumbnail a.btn span::after,
.list_seminar_item .thumbnail a.btn span::after {
  display: inline-block;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  font-size: 50px;
  content: "play_circle_filled";
  z-index: 3;
  color: rgba(0, 0, 0, 0.75);
}

.list_movie_item .thumbnail img,
.list_seminar_item .thumbnail img {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .list_movie_item .list_movie_item_detail,
  .list_seminar_item .list_seminar_item_detail {
    width: 100%;
    margin-top: 2em;
    z-index: 1;
  }

  .list_movie_item .thumbnail,
  .list_seminar_item .thumbnail {
    width: calc(100% - 15px);
    margin-right: auto;
    margin-left: auto;
  }

  .list_movie .list_movie_item .list_movie_item_detail,
  .list_seminar .list_seminar_item .list_seminar_item_detail {
    order: 2;
  }

  .list_movie .list_movie_item .thumbnail,
  .list_seminar .list_seminar_item .thumbnail {
    order: 1;
  }
}

.list_seminar_item .speaker_detail dt h4 {
  margin-bottom: 1em;
}

.list_seminar_item .speaker_detail dd .btn {
  margin-top: 1em;
}

.list_movie_item .list_movie_item_detail h3,
.list_seminar_item .list_seminar_item_detail h3 {
  font-size: 20px;
  margin-bottom: 15px;
}

.list_movie_item .list_movie_item_detail h3,
.list_seminar_item .list_seminar_item_detail h3 {
  font-size: 20px;
  margin-bottom: 15px;
}

.list_movie_item .list_movie_item_detail .btn,
.list_seminar_item .list_seminar_item_detail .btn {
  margin-top: 15px;
}

.list_movie_item h4,
.list_movie_item .list_link {
  width: 100%;
  order: 3;
}

.list_movie_item .list_link + h4 {
  margin-top: 2em;
}

/* =======  資料Download style ========== */

.list_catalog {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
}

/* .list_catalog_item {
  width: 32.5%;
  margin-right: 1%;
  margin-bottom: 20px;
}

.list_catalog_item:nth-of-type(3n) {
  margin-right: 0%;
} */

.list_catalog_item p + #js-loginButton {
  margin-top: 20px;
}

.list_catalog_item figure {
  width: 100%;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.list_catalog_item h3 {
  font-size: 20px;
  margin-top: 10px;
  margin-bottom: 15px;
}

.list_catalog_item .btn {
  margin-top: 1em;
}

.list_catalog_item dt {
  font-weight: bold;
  font-weight: 700;
  margin-top: 1em;
}

.list_catalog_item dd .list_link li {
  margin-top: 0.5em;
}

.list_catalog_item dd a {
  display: block;
  font-size: 14px;
  line-height: 1.6;
}

.list_catalog_item dd .list_link li::before {
  line-height: 1.2;
}

.list_catalog_item p {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .list_catalog {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  /*     .list_catalog_item {
    width: 48%;
    margin-right: 2%;
  }

  .list_catalog_item:nth-of-type(3n) {
    margin-right: 1%;
  }

  .list_catalog_item:nth-of-type(2n) {
    margin-right: 0%;
  }
 */
}
@media screen and (max-width: 500px) {
  .list_catalog {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* =======  meeting style ========== */

.area_login #meeting {
  position: relative;
  overflow: hidden;
  margin-left: -1.5em;
  margin-right: -1.5em;
  margin-top: 50px;
  width: calc(100% + 3em);
  padding-bottom: 50px;
  background-color: #efefef;
  background-image: url(/ja/exhibition/images/bg_meeting.webp);
  background-size: cover;
  background-position: right center;
}

.black .area_login #meeting {
  background-color: #707070;
}

.area_login #meeting h2 {
  margin-top: 0px;
  margin-left: 30px;
}

.area_login #meeting .btn {
  padding-left: 35px;
}

.area_login #meeting .btn span {
  position: relative;
}
.area_login #meeting .btn span::before {
  position: absolute;
  left: -25px;
  top: 5px;
  line-height: 1.2;
  content: "groups";
}

.area_login #meeting .item_detail_description {
  margin-bottom: 2em;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
  font-weight: 700;
}

/* ===フリーHTMLエリア======================================= */

/* ===Downloadページ======================================= */
.page_download {
}

.page_download .list_catalog {
  display: block;
  padding-bottom: 50px;
}

.page_download .list_catalog_item {
  width: 100%;
  margin-right: 0%;
}

.page_download .list_catalog_item .btn {
  padding-left: 35px;
}
.page_download .list_catalog_item .btn span {
  position: relative;
}
.page_download .list_catalog_item .btn span::before {
  position: absolute;
  left: -25px;
  top: 5px;
  line-height: 1.2;
  content: "file_download";
}

/* ===動画ページ======================================= */
.page_movie .area_free {
  padding-bottom: 50px;
}

.page_movie .area_free h2 {
  margin-top: 30px;
}

.page_movie .area_free h4 {
  margin-top: 30px;
}

.page_movie .area_free .movie_description {
  margin-bottom: 15px;
}

.page_movie .area_free .list_link li {
  position: relative;
  padding-left: 1.75em;
  margin-top: 0.5em;
}

.wrap_movie {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.wrap_movie iframe {
  width: 100%;
  height: 100%;
}
