@charset "utf-8";
:root {
  --pink-color: #EB6D9A;
  --gray-color: #E6E6E6;
  --dark-green-color: #006B3C;
  --medium-green-color: #16A776;
  --orange-color:#F1910F;
  --dark-orange-color:#FD6609;
  --yellow-color: #FED813;
  --dark-blue-color: #19236E;
  --bright-yellow-color: #FFFDE1;
}

*, article, aside, canvas, details, figcaption, figure,
header, footer, hgroup, nav, section, summary, main {
  margin: 0;
  padding: 0;
}
html,body{
  font-size: 62.5%;
}
html {
  height:100%;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; /* Safari */
}

/*----------------------------------------
	Global Styles
----------------------------------------*/
body {
  color: #333333;
  font-family: "Arial", "Roboto", "Droid Sans", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(1.4rem,1.8vw,1.6rem);
  line-height: 1.875;
  background: #FFFFFF;
  min-height: 100vh;
}

/* 出展者情報 押せない */
.menu03 a {
  /* pointer-events: none;
  opacity: 0.3; */
}
/* 全体スケジュール */
.menu04 li:nth-child(2) a {
  /* pointer-events: none;
  opacity: 0.3; */
}
/* 出展者情報 ボタン */
.footer_menu .footer_menu_item:nth-child(1) > li:nth-child(4) > a {
  /* pointer-events: none;
  opacity: 0.3; */
}
/* 結果報告書ダウンロード、次回開催予告のボタン */
.btn_newInfo {
  display: grid;
  grid-template-rows: 1fr;
  gap: 1rem;
  max-width: 1360px;
  width: 95%;
  margin:1rem auto 2rem;
}

main .info_top_text {
  max-width: 1100px;
  width: 95%;
  margin: 1rem auto;
  padding: 1rem;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.7;
  border: 4px solid red;
  color: red;
  background: #ffff002e;
  text-align: center;
  box-sizing: border-box;
}
main .info_top_text p {
  margin-top: 0;
}
.next_event dl {
  display: block;
  text-shadow: 2px 2px 2px rgba(0,0,0,0.3);
  line-height: 1.6;
}
.next_event dt {
  margin-top: 2rem;
}
.past_event {
  font-size: 24px;
  color: #333;
}

@media (min-width: 768px) {
  /* 結果報告書ダウンロード、次回開催予告のボタン */
  .btn_newInfo {
    width: 100%;
    /* display: grid; */
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    gap: 1rem;
    /* max-width: 1360px; */
    /* margin:1rem auto 2rem; */
  }

  main .info_top_text {
    width: 100%;
    padding: 3rem;
    font-size: 32px;
    border: 6px solid red;
  }
  .next_event {
    background: #006B3C;
    color: #ffffff;
    padding: 0.5em 2em;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    max-width: 1000px;
    margin: 2rem auto 0;
  }
  .next_event h2 {
    font-size: 1.1em;
    margin-bottom: 0.5em;
    line-height: 1.4;
    text-align: left;
    font-weight: bold;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.9);
    text-align: center;
  }
  .next_event h2 span {
    color: yellow;
  }
  .next_event dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 1em;
  }
  .next_event dt {
    margin-top: 0;
    font-weight: bold;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.5);
  }
  .next_event dd {
    margin: 0;
    text-align: left;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.5);
  }
}

/*-----------------------------------------
  Reset or Normalize
-----------------------------------------*/
/* 画像全体 */
img {
  border: 0;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

/* 見出し */
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

/* リスト */
ol, ul, li {
  list-style-image: none;
  list-style-position: outside;
  list-style-type: none;
}

/* テーブル */
table {
  border-collapse: collapse;
}

article, aside, canvas, details, figcaption, figure, footer,
header, hgroup, main, menu, nav, picture, section, summary {
  display: block;
}

address{font-style: normal;}

h2.headingL {
  padding-top: clamp(3rem,7.8125vw,6rem);
  font-size: clamp(2.4rem,5.49vw,4.2rem);
  font-weight: bold;
  padding-bottom: clamp(1.6rem,3.125vw,2.4rem);
  border-bottom: 0.5rem solid var(--gray-color);
  line-height: 1.1;
  position: relative;
  margin-bottom: 2rem;
}
h2.headingL::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 30%;
  height: 0.5rem;
  background: var(--dark-green-color);
}
.news-list h2.headingL {
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.2);
    font-size: clamp(2.4rem, 6vw, 4.6rem);
}

/* サブページ大見出し */
.page h3.headingM {
  background: #F7F7F7;
  border-bottom: 4px solid var(--gray-color);
  line-height: 1.15;
  font-size: clamp(1.8rem,2.34vw,2.4rem);
  font-weight: bold;
  min-height: clamp(4rem,6.5vw,7rem);
  padding: 1.1rem 2rem 1rem 3rem;
  margin-top: 1.6rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
.page footer h3.headingM {
  align-items: flex-start;
}

/* 一番最初にくる時はアキなしにする場合はここに書き足す */
main h4:first-child, main h5:first-child, main p:first-child, main table tr td p:first-child {
  margin-top: 0;
}

/* 組み合わせでアキなしする場合はここに書き足す */
main h3 + h4, main h4 + h5, main h3 + p ,main h4 + p, main h5 + p {
  margin-top:0;
}

/* サブページ中見出し  */
.page h4.headingS {
  margin-top: clamp(3rem,4.5vw,3.5rem);
  margin-bottom: clamp(1rem,2.6vw,2rem);
  font-size: clamp(1.6rem,2.6vw,2rem);
  font-weight: bold;
  padding-bottom: 1rem;
  border-bottom: 0.4rem solid var(--gray-color);
  line-height: 1.2;
  position: relative;
}
.page h4.headingS::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 10%;
  height: 0.4rem;
  background: var(--dark-green-color);
}

/* サブページ小見出し  */
.page h5.headingS {
  margin: 1em 0 0.5em 0;
  padding:0.2em;
  font-weight: bold;
  border-bottom: 0.2rem solid var(--gray-color);
}

/* サブページ段落 */
.container p,
main p {
  margin-top: 1em;
}
main p.zero {
  margin-top: 0;
}
main p.han {
  margin-top: 0.5em;
}

/* サブページリスト */
main ul {
  margin-left: 1em;
}
main ul li {
  list-style: disc;
}
main ul.half li {
  margin-bottom: 0.5em;
}
main ol {
  margin-left: 1.5em;
}
main ol li {
  list-style: decimal;
}

.jyunbi {
  text-align: center;
  padding: 12rem;
}

main ul.unstyled {
 margin-left: 0;
}
main ul.unstyled li {
 list-style: none;
}

/*----------------------------------------
	Header
----------------------------------------*/
.header {
  position: fixed;
  top: 0;
  z-index: 3;
  width: 100%;
  box-shadow: 0px 4px 10px -6px rgba(0, 0, 0, 0.4);
}
.logo_wrapper {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.header_inner {
  max-width: 1200px;
  width: 100%;
  height: 50px;
  background: var(--bright-yellow-color);
  margin: auto;
  padding: 1rem;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0px 4px 10px -6px rgba(0,0,0,0.4);
  position: fixed;
  z-index: 3;
}
.header_logo img {
  min-width: 12rem;
  height: auto;
}
.header_logo a:hover {
  opacity: 0.6;
}
.gnav_lang {
  display: flex;
  gap: 0 3rem;
  align-items: center;
  font-weight: bold;
}
.gnav_lang .lang_item.en a {
  position: relative;
  text-decoration: none;
  color: #333;
}
.gnav_lang .lang_item.en a::after {
  content: "";
  background: url(../images/ico_lang.svg) no-repeat;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  left: -2.5rem;
  top: calc(50% - 0.8rem);
}
.gnav_lang .lang_item.info a {
  background: var(--dark-orange-color);
  padding: 1rem 3rem;
  border-radius: 5rem;
  letter-spacing: 0.1rem;
  text-decoration: none;
}

/* キラッと光る */
.gnav_lang .lang_item.info.shine {
  position: relative;
  overflow: hidden;
}

.shine::before {
  position: absolute;
  content: '';
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 45%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-45deg);
  animation: shine 2.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) infinite;
}
@keyframes shine {
  0% {
    left: -100%;
  }
  25% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
/* スマホ時登録ボタン 表示 */
div.entry_item a {
    border: 2px solid var(--dark-orange-color);
    background: var(--dark-orange-color);
    box-sizing: border-box;
    color: #FFFFFF;
    display: block;
    padding: 0.2rem 3rem 0.2rem 1rem;
    border-radius: 5rem;
    letter-spacing: 0.1rem;
    text-decoration: none;
    font-weight: bold;
    display: block;
  }
  div.entry_item a span {
    display: block;
    text-align: center;
    position: relative;
    }
  div.entry_item a span::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #FFF;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: -2.5rem;
    bottom: 0;
    margin: auto;
  }
  div.entry_item a span::after {
    content: '';
    width: 4px;
    height: 4px;
    border-top: 2.5px solid #FD6609;
    border-right: 2.5px solid #FD6609;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: -1.8rem;
    bottom: 0;
    margin: auto;
    transition: 0.3s;
  }
  

/* 今だけ、光らせない 730行目 */
/* .gnav_lang .lang_item.info a {
  opacity: 0.4;
}
.shine::before {
  position: absolute;
  content: normal;
} */

/*----------------------------------------
	hamburger
----------------------------------------*/
.hamburger {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border: 0;
  cursor: pointer;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  background: var(--dark-green-color);
}
.hamburger_line {
  position: relative;
  width: 25px;
  height: 3px;
  background: #FFFFFF;
}
.hamburger_line::before,
.hamburger_line::after {
  position: absolute;
  content: "";
  display: block;
  width: 25px;
  height: 3px;
  background: #FFFFFF;
  transition: 0.3s all;
}
.hamburger_line::before {
  top: -8px;
}
.hamburger_line::after {
  bottom: -8px;
}
/* 閉じる */
.hamburger.active .hamburger_line {
  background: transparent;
}
.hamburger.active .hamburger_line::before {
  top: 0;
  transform: rotate(45deg);
}
.hamburger.active .hamburger_line::after {
  bottom: 0;
  transform: rotate(-45deg);
}

/*----------------------------------------
	gnav
----------------------------------------*/
.gnav {
  width: 100%;
  background: #FFFFFF;
  padding: 5rem 0 2rem;
  height: 100dvh;
  overflow-y: auto;
  display: none;
}
.gnav > ul {
  display: flex;
  flex-direction: column;
  padding-bottom: 8rem;
}
.gnav > ul > li {
  border-bottom: 1px solid var(--gray-color);
}
.gnav > ul > li.has-child ul > li {
  width: 100%;
  padding: 1rem 1rem 1rem 7rem;
  box-sizing: border-box;
}
.gnav > ul > li a {
  padding: 0.5rem 0;
  text-decoration: none;
  color: #333333;
}
.gnav > ul > li > a {
  display: flex;
  align-items: center;
  padding: 0 1rem 0 4rem;
  box-sizing: border-box;
  text-decoration: none;
  width: 100%;
  height: 5rem;
  font-weight: bold;
  font-size: 1.5rem;
}
.gnav > ul > li.has-child ul a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 6rem;
  font-weight: bold;
  font-size: 14px;
  text-decoration: none;
}
.gnav > ul > li.has-child li a {
  position: relative;
  max-height: 5px;
}
.gnav > ul > li.has-child li a::after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #333333;
  position: absolute;
  left: -1rem;
  top:calc(50% - 2.5px);
  z-index: 99;
  border-radius: 50%;
}
.gnav .lang_item.en a {
  position: relative;
}
.gnav .lang_item.en a::before {
  content: "";
  display: block;
  background: url(../images/ico_lang.svg) no-repeat;
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  left: 2rem;
  top: calc(50% - 0.7rem);
}

/*----------------------------------------
	mainContents
----------------------------------------*/
section {
  width: 100%;
  padding-bottom: clamp(3rem,7.8125vw,6rem);
}
.container {
  max-width: 1200px;
  width: 100%;
  margin: auto;
  padding: 0 2rem;
  box-sizing: border-box;
}
section p {
  margin-top: 1.5rem;
  line-height: 1.8;
}
main.mainContents {
  padding-top: 5rem;
}
/* 下層ページ hero */
.main_title {
  font-size: clamp(3rem,6.5vw,5rem);
  font-weight: bold;
  text-align: center;
  padding: 4rem 0 0;
  box-sizing: border-box;
  color: #FFFFFF;
  line-height: 1.2;
  min-height: 150px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  text-shadow: 1px 1px 10px rgba(0,0,0,1);
}
.main_title:has(.sub_text) {
  flex-direction: column;
  align-items: center;
  padding: 0 0 0;
}
.main_title .sub_text {
  color: yellow;
  font-size: clamp(2rem,3.9vw,3rem);
}
  
  .adj_m6 {
    margin-bottom: clamp(4rem,7.8vw,6rem);
  }

/*----------------------------------------
	Breadcrumb 
----------------------------------------*/
.container_breadcrumb {
  background: url(../images/img_page_hero.webp) no-repeat center;
  padding: 1rem 2rem;
  box-sizing: border-box;
  box-shadow: 0px 4px 10px -6px rgba(0, 0, 0, 0.4);
}
.breadcrumb {
  max-width: 1120px;
  margin: auto;
}
.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
}
.breadcrumb ol li {
  list-style: none;
  color: #FFFFFF;
  text-shadow: 1px 1px 10px rgba(0,0,0,1);
}
.breadcrumb li:not(:last-child)::after {
  display: inline-block;
  margin: 0 1rem;
  content: ">";
}
.breadcrumb ol li a {
  text-decoration: none;
  color: #FFFFFF;
}
.breadcrumb ol li a:hover {
  text-decoration: underline;
}

/*----------------------------------------
  slider
----------------------------------------*/
.wrapper_slick {
  max-width: 650px;
  width: 95%;
  margin: 1.5rem auto;
}
.wrapper_slick img {
  margin: 0.5rem auto;
}

/* 各ページへの案内 */
.top_visitors_info {
  width: 95%;
  margin: auto;
  margin-bottom: 5rem;
}
.top_visitors_info ul {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 1rem;
}
.top_visitors_info ul li {
  width: calc(50% - 0.5rem);
  padding: 1rem 1rem 0;
  box-sizing: border-box;
  background: #FFF;
  height: 100%;
  box-shadow: 4px 12px 16px rgba(55, 50, 136, 0.19);
  border-radius: 5px;
  position: relative;
}
.top_visitors_info ul li:hover {
  opacity: 0.6;
}
.top_visitors_info ul li .text {
  padding: 1rem 1rem 1rem 0;
  box-sizing: border-box;
  font-size: clamp(1.2rem,1.9vw,1.5rem);
  font-weight: bold;
  line-height: 1.2;
  position: relative;
}
.top_visitors_info ul li .text::after {
  content: "";
    display: block;
    background: url(../images/icon_arrow_r_circle.svg) no-repeat;
    width: 12px;
    height: 12px;
    position: absolute;
    top: calc(50% - 6px);
    right: 0;
}
.top_visitors_info ul img {
  height: 130px;
  object-fit: cover;
  border-radius: 5px;
}
.top_visitors_info ul li a {
  width: 100%;
  display: block;
  text-decoration: none;
  color: var(--dark-green-color);
}
@media screen and (min-width: 481px) {
  /* 各ページへの案内 */
  .top_visitors_info ul li {
    width: auto;
  }
}
@media screen and (min-width: 1024px) {
  /* 各ページへの案内 */
  .top_visitors_info {
    width: 100%;
    max-height: 165px;
    margin: auto;
    margin-top: 3rem;
    margin-bottom: 6rem;
    padding: 0 2rem;
    box-sizing: border-box;
  }
  .top_visitors_info ul {
    display: grid;
    grid-template-columns: repeat(6, auto);
    gap: 1rem;
  }
}


/*----------------------------------------
  countdown, btn_visitors
----------------------------------------*/
.btn_visitors_wapper {
  text-align: center;
  font-size: 3.6rem;
  font-size: clamp(3rem,4.16vw,3.2rem);
  font-weight: bold;
  box-sizing: border-box;
  margin-bottom: 3rem;
}
.countdown {
  max-width: initial;
  width: 90%;
  height: 90px;
  padding: 1rem;
  margin: 1rem auto;
  box-sizing: border-box;
  background: linear-gradient(45deg, #4b47ee 0%, #a75ab5 100%);
  color: #FFFFFF;
  border-radius: 1rem;
}
#countdown_day {
  width: 40px;
  height: 40px;
  padding: 1rem;
  margin: 0 0.5rem;
  border-radius: 50%;
  background: #F05BDD;
  font-size: 4rem;
}
.btn_visitors {
  max-width: initial;
  margin: auto;
  width: 100%;
  height: auto;
  padding: 1rem;
  box-sizing: border-box;
  color: #FFFFFF;
  background: var(--dark-orange-color);
  border-radius: 1rem;
  letter-spacing: 0.2rem;
  text-align: center;
  font-size: 3.6rem;
  font-size: clamp(3rem,4.16vw,3.2rem);
  font-weight: bold;
  box-sizing: border-box;
  margin-bottom: 3rem;
}
.btn_visitors {
  max-width: 650px;
  /* max-width: 600px; */
}
.btn_visitors.shine {
  margin: 2rem auto 0;;
  position: relative;
  overflow: hidden;
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.8);
}
.btn_visitors span {
  color: var(--dark-orange-color);
  display: block;
  padding: 0 1.5rem;
  margin-right: 0;
  background: #FFFFFF;
  border-radius: 0.5rem;
  font-size: clamp(3rem,3.64vw,2.8rem);
}
.btn_visitors a {
  color: #FFFFFF !important;
  text-decoration: none !important;
}
.btn_visitors a:hover {
  opacity: 0.6;
}

.btn_visitors.shine::before {
  position: absolute;
  content: '';
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 45%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-45deg);
  animation: shine 3s cubic-bezier(0.55, 0.085, 0.68, 0.53) infinite;
}
@keyframes shine {
  0% {
    left: -100%;
  }
  25% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}

/* 今だけ、押せない */
/* .btn_visitors { */
 /* opacity: 0.6; */
/* } */
/* .btn_visitors a { */
  /* 押せない */
  /* pointer-events: none; */
/* } */
.btn_disabled.text {
  font-size: 2rem;
  font-weight: bold;
  color: red;
  text-align: center;
}
.btn_disabled.text02 {
  font-size: 1.4rem;
  font-weight: bold;
  color: red;
  text-align: center;
}
/* 今だけ、光らせない 2箇所 280行目 */
/* .btn_visitors.shine::before { */
  /* content: normal;  */
  /* 今だけ、光らせない */
/* } */
/* .gnav_lang .lang_item.info a { */
  /* pointer-events: none; */
/* } */

/*----------------------------------------
  hero
----------------------------------------*/
section.hero {
  max-width: inherit;
  background: url(../images/bg_sp_top.png) no-repeat center top;
  position: relative;
  padding-bottom:0;
}
section.hero picture {
  padding-top: 2rem;
}

.section.about {
  padding-top: clamp(1.6rem, 3.125vw, 2rem);
  background: var(--bright-yellow-color);
}
.hero_inner .btn_info {
  display: flex;
  justify-content: center;
}
.hero_inner .btn_info a {
  width: max-content;
  font-size: clamp(1.8rem,3.3vw,2.6rem);
  padding: 1rem 3.5rem 1rem 2rem;
  display: flex;
  flex-direction: column;
  background: var(--yellow-color);
  border: 3px solid var(--yellow-color);
  box-sizing: border-box;
  color: #333333;
  text-decoration: none;
  font-weight: bold;
  border-radius: 0.6rem;
  box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
  position: relative;
}
.hero_inner .btn_info a:hover {
  opacity: 0.8;
}
.hero_inner .btn_info a span {
  font-size: clamp(1.3rem,2.6vw,1.85rem);
  color: #FF0000;
}
.hero_inner .btn_info a::before {
  content: "";
  background: url(../images/icon_arrow_r.svg) no-repeat;
  width: 1rem;
  height: 1.7rem;
  position: absolute;
  right: 1rem;
  top: calc(50% - 0.85rem);
}
.info_inner {
  background: #FFFFFF;
  padding: 2rem ;
  border: 5px solid var(--orange-color);
  box-sizing: border-box;
}
.info_inner > h3.headingM {
  font-size: clamp(3.2rem, 6.25vw, 4.8rem);
  color: var(--orange-color);
  line-height: 1.4;
  padding-bottom: 1rem;
}
.info_inner > h4.headingS {
  font-size: clamp(2.4rem,4.1vw,3.2rem);
  padding: 0.5rem;
  box-sizing: border-box;
  font-weight: bold;
  line-height: 1.4;
  display: inline-block;
  background: var(--orange-color);
  color: #FFFFFF;
  width: 100%;
  text-align: center;
}
.info_inner > h4.headingS+p {
  text-align: left;
}
.info_text {
  margin-top: 1rem;
  font-size: clamp(1.4rem, 2.8vw, 2.2rem);
  text-align: center;
}
.info_inner .btn_info {
  display: flex;
  justify-self: center;
}

/* 来場登録ボタン Sサイズ */
.info_inner .btn_visitors {
  min-height: 60px;
  padding: 0.5rem 1rem;
  font-size: 2.4rem;
}
.info_inner .btn_visitors {
  max-width: 450px;
}
.info_inner .btn_visitors.shine {
  margin: 2rem auto 0;;
  position: relative;
  overflow: hidden;
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.8);
}
.info_inner .btn_visitors span {
  font-size: clamp(2.4rem,3.3vw,2.6rem);
}

/*----------------------------------------
  産業メッセニュース... バナー掲載
----------------------------------------*/
.top_banner_wapper a {
  display: block;
  margin: 2rem 0;
  filter: drop-shadow(4px 12px 16px rgba(55, 50, 136, 0.19));
  text-align: center;
}

/*----------------------------------------
国際フロンティアメッセとは
----------------------------------------*/
.main_category ul {
  margin-top: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}
.main_category li {
  width: calc((100% - 6rem) / 2);
  font-size: clamp(1.4rem,2vw,1.6rem);
  border: 2px solid var(--dark-blue-color);
  box-shadow: 3px 3px 0px 0px #9195AB;
  text-align: center;
  font-weight: bold;
  padding: 0.5rem 1rem;
  box-sizing: border-box;
  line-height: 1.5;
  position: relative;
}
/* 随時更新中 */
.main_category span.exhibit_text {
  content: "";
  display: inline-block;
  padding: 0.2rem 0.8rem;
  background: red;
  color: #FFFFFF;
  font-size: clamp(1.2rem,1.8vw,1.4rem);
  border-radius: 1.4rem;
  position: absolute;
  width: 72px;
  top: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
}
/* 8月下旬公開予定 */
.main_category span.exhibit_text02 {
  content: "";
  display: inline-block;
  padding: 0.2rem 0.8rem;
  background: red;
  color: #FFFFFF;
  font-size: clamp(1.2rem,1.8vw,1.4rem);
  border-radius: 1.4rem;
  position: absolute;
  width: 110px;
  top: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
}
.main_category li .text {
  padding-top: 0.2rem;
  border-top: 2px solid var(--dark-blue-color);
}
.main_category li a {
  text-decoration: none;
  color: var(--dark-blue-color);
  position: relative;
}
.main_category li a:hover {
  opacity: 0.6;
}
.main_category li a::before {
  content:"";
  display: block;
  background: url(../images/icon_arrow_r_l_blue.svg) no-repeat;
  width: 40px;
  height: 22px;
  position: absolute;
  right: -30px;
  top: 10px;
}
/* 来場登録ボタン Sサイズ */
/* 矢印 */
  section.about .btn_visitors a::before {
    /* content: "";
    background: url(../images/icon_arrow_r_l.svg) no-repeat; */
    width: 12px;
    height: 30px;
    /* position: absolute; */
    top: calc(50% - 12px);
    right: 2rem;
    transform-origin: center;
  }
  section.about .btn_visitors span {
    width: 100%;
    display: inline-block;
    line-height: 4rem;
    /* padding: 0 2rem; */
    box-sizing: border-box;
  } 

/* section.about .hero_inner .btn_info a {
  width: max-content;
  font-size: clamp(1.8rem,3.3vw,2.6rem);
  padding: 1rem 3.5rem 1rem 2rem;
  display: flex;
  flex-direction: column;
  background: var(--yellow-color);
  border: 3px solid var(--yellow-color);
  box-sizing: border-box;
  color: #333333;
  text-decoration: none;
  font-weight: bold;
  border-radius: 0.6rem;
  box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
  position: relative;
}
section.about .hero_inner .btn_info a:hover {
  opacity: 0.8;
}
section.about .hero_inner .btn_info a span {
  font-size: clamp(1.3rem,2.6vw,1.85rem);
  color: #FF0000;
}
section.about .hero_inner .btn_info a::before {
  content: "";
  background: url(../images/icon_arrow_r.svg) no-repeat;
  width: 1rem;
  height: 1.7rem;
  position: absolute;
  right: 1rem;
  top: calc(50% - 0.85rem);
}
section.about .info_inner {
  background: #FFFFFF;
  padding: 2rem ;
  border: 5px solid var(--orange-color);
  box-sizing: border-box;
} */
section.about .info_inner > h3.headingM {
  font-size: 2.8rem;
  /* font-size: clamp(3.2rem, 6.25vw, 4.8rem); */
  /* color: var(--orange-color); */
  line-height: 1.2;
  /* padding-bottom: 1rem; */
}
section.about .info_inner > h4.headingS {
  font-size: 2rem;
  /* font-size: clamp(2.4rem,4.1vw,3.2rem); */
  /* padding: 0.5rem;
  box-sizing: border-box;
  font-weight: bold;
  line-height: 1.4;
  display: inline-block;
  background: var(--orange-color);
  color: #FFFFFF;
  width: 100%;
  text-align: center; */
}
/* section.about .info_inner > h4.headingS+p {
  text-align: left;
} */
section.about .info_text {
  font-size: clamp(1.4rem, 2vw, 1.6rem);
}
/* section.about .info_inner .btn_info {
  display: flex;
  justify-self: center;
} */
/* section.about .info_inner .btn_info a {
  display: block;
  width: max-content;
  font-size: clamp(1.4rem,2.6vw,2rem);
  padding: 1rem 4rem 1rem 2.5rem;
  margin-top: 2rem;
  background: var(--yellow-color);
  color: #333333;
  color: red;
  border: 3px solid var(--yellow-color);
  box-sizing: border-box;
  text-decoration: none;
  font-weight: bold;
  border-radius: 3rem;
  letter-spacing: 0.1rem;
  box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
  position: relative;
} */
/* section.about .info_inner .btn_info a::before {
  content: "";
  background: url(../images/icon_arrow_r.svg) no-repeat;
  width: 1rem;
  height: 1.7rem;
  position: absolute;
  right: 1.5rem;
  top: calc(50% - 0.85rem);
} */
/* section.about .info_inner .btn_info a:hover {
  opacity: 0.8;
} */



/*----------------------------------------
特別展示
----------------------------------------*/
/* モーダルウインドウ */
.modal_title {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.6;
  padding-bottom: 1rem;
}
.modal_wrapper {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  flex-direction: column;
}

.special_exhibit {
  margin: clamp(1rem, 6.5vw, 5rem) auto 0;
  font-family: "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
.special_exhibit ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.special_exhibit ul li {
  width: 100%;
  background: #f2d0c7;
  line-height: 1.4;
  cursor: pointer;
  color: #ba202d;
}
.special_exhibit ul li:hover {
  opacity: 0.8;
}
.special_exhibit ul li:nth-child(2) {
  background: #cacddd;;
}
.special_exhibit ul li:nth-child(2) {
  color: #003d70;
}
.special_exhibit ul li:nth-child(3) {
  background: #e9f2d6;
}
.special_exhibit ul li:nth-child(3) {
  color: #88bc31;;
}
.special_exhibit ul li:nth-child(4) {
  background: #ffdfd7;
}
.special_exhibit ul li:nth-child(4) {
  color: #f4514a;
}
.special_exhibit ul li:nth-child(5) {
  background: #e8cdd6;
}
.special_exhibit ul li:nth-child(5) {
  color: #981152;
}
.special_exhibit li .title {
  font-size: 1.5rem;
  font-weight: bold;
  padding: 0 1rem 0 2rem;
  box-sizing: border-box;
  position: relative;
}
.special_exhibit li .title::before {
  content: "";
  display: block;
  width: 1rem;
  height: 4rem;
  background: #ba202d;
  position: absolute;
  top: -1rem;
  left: -1rem;
}
.special_exhibit li:nth-child(2) .title::before {
  background: #003d70;
}
.special_exhibit li:nth-child(3) .title::before {
  background: #88bc31;;
}
.special_exhibit li:nth-child(4) .title::before {
  background: #f4514a;
}
.special_exhibit li:nth-child(5) .title::before {
  background: #981152;
}
.special_exhibit li .sub_title {
  font-size: 1.4rem;
}
.special_exhibit li .title > span.small {
  font-size: 11px;
  font-weight: normal;
  line-height: 1.3;
  display: inline-block;
  margin-top: 0.5rem;
  text-indent: -1rem;
  padding-left:1rem;
}
.special_exhibit li .title > span.caption {
  font-size: 11px;
  font-weight: normal;
  line-height: 1.3;
  display: inline-block;
  margin-top: 0.5rem;
  text-indent: 0;
}
.special_exhibit li .company {
  font-size: 1.2rem;
  line-height: 1.2;
  margin-top: 1rem;
  font-weight: bold;
}
.special_exhibit li .company span {
  font-size: 11px;
  font-weight: normal;
  display: inline-block;
  margin-bottom: 0.5rem;
}
.txtbox {
  padding: 1rem;
}
.txtbox div:has(img) {
  text-align: center;
  padding: 1rem;
  box-sizing: border-box;
}
.waku_red {
  text-align: center;
}
.waku_red span{
  display: inline-block;
  color: #d83d5e;
  border: solid #d83d5e 1px;
  text-align: center;
  background: #FFFF96;
  padding: 0 1rem;
  line-height: 2;
}

/*----------------------------------------
特別講演・基調講演 トップ
----------------------------------------*/
.wrapper_lecture ul {
  margin: clamp(1rem, 6.5vw, 5rem) auto 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
}
li.inner_lecture {
  /* max-width: 235px; */
  width: 100%;
  width: calc(50% - 1rem);
  box-shadow: 4px 6px 10px rgba(55, 50, 136, 0.19);
}
li.inner_lecture a {
  text-decoration: none;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #333;
}
li.inner_lecture a:hover {
  opacity: 0.6;
}
li.inner_lecture .lecture_name {
  position: absolute;
  z-index: 2;
  left: -1px;
  top: -30px;
  width: 94%;
  height: 30px;
  padding: 0.3rem 1rem 0.2rem;
  box-sizing: border-box;
  background: #19236e;
  color: #FFFFFF;
  line-height: 1.6;
  font-weight: 700;
}
li.inner_lecture .inner_text {
  position: relative;
  padding: 0.5rem 1rem;
  box-sizing: border-box;
  border: 1px solid #19236e;
  width: calc(100% - 1px);

  min-height: 95px;

  display: flex;
  flex-direction: column;
}
li.inner_lecture .inner_text::after {
  content: "";
  display: block;
  width:0;
  height:0;
  border-style:solid;
  border-width: 0 15px 30px 15px;
  border-color: transparent transparent #19236e transparent;
  position: absolute;
  right: -4.5px;
  top: -3rem;
}
/* 特別講演 */
 li.inner_lecture.top_special .lecture_name {
  background: #cc0000;
}
li.inner_lecture.top_special .inner_text {
  border: 1px solid #cc0000;
}
li.inner_lecture.top_special .inner_text::after {
  border-color: transparent transparent #cc0000 transparent;
}
li.inner_lecture .post {
  font-size: 1.2rem;
}
li.inner_lecture .name {
  font-size: 1.8rem;
  padding-top: 0.5rem;
  font-weight: 700;
  margin-top: auto;
}
li.inner_lecture .name span {
  font-size: 1.2rem;
}

/* 下部 リンク */
.special_lecture.link ul {
  margin: clamp(1rem, 6.5vw, 5rem) auto 0;
  display: flex;
  /* align-items: center; */
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}
.special_lecture.link li {
  max-width: 322px;
  width: calc(50% - 2rem);
  box-shadow: 4px 5px 5px rgba(55, 50, 136, 0.19);
  position: relative;
}
.special_lecture.link li a {
  text-decoration: none;
  position: relative;
}
.special_lecture.link li a:hover {
  opacity: 0.6;
}
.special_lecture.link li .text {
  font-size: clamp(1.2rem, 2.6vw, 2rem);
  font-weight: bold;
  color:  var(--dark-blue-color);
  line-height: 1.4;
  padding: 1rem 1.5rem 1rem 0.5rem;
}
.special_lecture.link li::before {
  content: "";
  display: block;
  background: url(../images/icon_arrow_down_l_blue.svg) no-repeat;
  width: 27px;
  height: 9px;
  position: absolute;
  right: -3px;
  bottom: 12px;
}
.special_lecture.link li:last-of-type,
.special_lecture.link li:last-of-type:before {
  background: transparent;
  box-shadow: none;
}
div.innder_text {
  position: relative;
}
div.innder_text::before {
  /* content: ''; */
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /* background-color: rgba(0, 0, 0, 0.5); */
}
span.coming_text {
  content: "";
  display: block;
  color: var(--dark-orange-color);
  font-size: clamp(1.4rem, 2.6vw, 2rem);
  font-weight: bold;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform : translate(-50%,-50%);

  display: none;
}



h3.subheadingM {
  font-size: clamp(2.4rem, 4.68vw, 3.6rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  padding-bottom: 1rem;
  margin-top: 1.6rem;
  padding: 0;
  box-sizing: border-box;
  display: block;
  background: transparent;
  border-left: none;
}
h3.subheadingM.attention {
  color: #CC0000;
  font-size: clamp(2.4rem, 4.1vw, 3.2rem);
  margin-top: clamp(1rem, 6.5vw, 2.5rem);
  margin-bottom: clamp(1rem, 6.5vw, 6rem);
}
h3.subheadingM .border {
  display: flex;
  align-items: center;
  font-size: clamp(2.4rem, 3.6vw, 2.8rem);
  letter-spacing: 1px;
}
h3.subheadingM .border:before,
h3.subheadingM .border:after {
  content: "";
  height: 0.5rem;
  flex-grow: 1;
  background: var(--gray-color);
}
h3.subheadingM .border:before {
  margin-right: 1.5rem;
}
h3.subheadingM .border:after {
  margin-left: 1.5rem;
}
h4.subheadingS {
  font-size: clamp(1.6rem, 3.6vw, 2rem);
  font-weight: bold;
  text-align: center;
  margin-top: clamp(1rem, 6.5vw, 2.5rem);
  line-height: 1.4;
  padding: 1rem;
  box-sizing: border-box;
  background: #006B3C;
  color: #FFFFFF;
}

/*----------------------------------------
このような悩みはありませんか？
----------------------------------------*/
.worries_scene ul {
  margin-top: clamp(1rem, 6.5vw, 2.5rem);
  display: flex;
  flex-direction: column;
  padding: 2rem;
  background: #E5EAF6;
  gap: 1rem;
  position: relative;
}
.worries_scene ul li {
  background: #FFFFFF;
  padding: 0 10px 0 20px;
  width: calc(100% - 30px);
  font-size: clamp(1.6rem, 3.6vw, 2rem);
  font-weight: bold;
  line-height: 1.4;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.worries_scene ul li span {
  width: 100px;
  flex-shrink: 0;
}
.worries_scene ul::before {
  position: absolute;
  margin: auto;
  vertical-align: middle;
  content: "";
  bottom: -70px;
  right: 50%;
  transform: translateX(50%);
  box-sizing: border-box;
  border: 45px solid transparent;
  border-top: 25px solid #E5EAF6;
}

/*----------------------------------------
出展対象分野 トップページ
----------------------------------------*/
.wrapper_cat.top {
  margin-top: clamp(1rem, 6.5vw, 2.5rem);
}
.top .cat_inner {
  display: flex;
  align-items: center;
  margin-top: clamp(2.5rem,6.5vw,5rem);
  flex-wrap: wrap;
  width: 100%;
}
.top .cat_inner .icon {
  width: clamp(2rem,9.8vw,5rem);
  flex-shrink: 0;
}
.top .cat_inner .text {
  font-weight: bold;
  font-size: 2rem;
  margin-left: clamp(1.6rem,2.6vw,2rem);
}
.top .cat_inner:nth-of-type(10) .text {
  color: #a600ab;
  font-size: 2rem;
}

/*----------------------------------------
来場者層
----------------------------------------*/
.visitor_list {
  margin-top: clamp(1rem, 6.5vw, 2.5rem);
}
.visitor_list ul {
  margin-top: 2rem;
  padding: 0 2.5%;
}
.visitor_list ul li {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  padding-left: 7rem;
  margin-bottom: 4rem;
}
.visitor_list ul li:before {
  content: "";
  display: block;
  background: url(../images/top/icon/icon_visitor01.svg) no-repeat;
  width: 40px;
  height: 40px;
  position: absolute;
  top: calc(50% - 20px);
  left: 0;
}
.visitor_list ul li:nth-child(2)::before {
  background: url(../images/top/icon/icon_visitor02.svg) no-repeat;
  width: 45px;
  height: 45px;
  top: -1rem;
}
.visitor_list ul li:nth-child(3)::before {
  background: url(../images/top/icon/icon_visitor03.svg) no-repeat;
  width: 48px;
  height: 48px;
  left: -5px;
}
.visitor_list ul li:nth-child(4)::before {
  background: url(../images/top/icon/icon_visitor04.svg) no-repeat;
}
.visitor_list ul li:nth-child(5)::before {
  background: url(../images/top/icon/icon_visitor05.svg) no-repeat;
}
.visitor_list ul li:nth-child(6)::before {
  background: url(../images/top/icon/icon_visitor06.svg) no-repeat;
}
/* 2列目 */
.visitor_list ul.second li:nth-child(1)::before {
  background: url(../images/top/icon/icon_visitor07.svg) no-repeat;
  width: 48px;
  height: 48px;
  top: -0.5rem;
}
.visitor_list ul.second li:nth-child(2)::before {
  background: url(../images/top/icon/icon_visitor08.svg) no-repeat;
  top: 0;
}
.visitor_list ul.second li:nth-child(3)::before {
  background: url(../images/top/icon/icon_visitor09.svg) no-repeat;
  width: 48px;
  height: 48px;
  left: 0px;
  top: -1rem;
}
.visitor_list ul.second li:nth-child(4)::before {
  background: url(../images/top/icon/icon_visitor10.svg) no-repeat;
  left: 5px;
}
.visitor_list ul.second li:nth-child(5)::before {
  background: url(../images/top/icon/icon_visitor11.svg) no-repeat;
  width: 48px;
  height: 48px;
  top: 5px;
  left: -.5rem;
}

/*----------------------------------------
ご来場メリット
----------------------------------------*/
.merit {
  padding-top: clamp(1.6rem, 3.125vw, 2.4rem);
}

/*----------------------------------------
来場の流れ
----------------------------------------*/
.flow_list ul {
  width: 80%;
  padding: 0 10%;
  margin-top: clamp(1rem, 6.5vw, 2.5rem);
  font-size: 2.4rem;
  font-weight: bold;
  gap: 5rem;
}
.flow_list ul li {
  width: calc(100% - 5rem);
  text-align: center;
  text-decoration: none;
  border: 2px solid var(--dark-blue-color);
  padding: 1rem;
  margin: auto;
  position: relative;
  box-shadow: 3px 3px 0px 0px #9195AB;
  font-size: clamp(1.6rem, 2.99vw, 2.3rem);
  line-height: 1.4;
}
.flow_list > ul li.exception {
  min-height: unset;
}
.flow_list ul li:nth-child(2n) {
  max-width: 60px;
  max-height: 60px;
  margin: 0;
}
.flow_list ul li.circle {
  display: block;
  background: var(--orange-color);
  border: 1px solid #FFFFFF;
  box-sizing: border-box;
  border-radius: 50%;
  min-width: 60px;
  height: 60px;
  position: relative;
  margin: 1rem auto;
}
.flow_list ul li.circle::before {
  content: "";
  display: block;
  width:0;
  height:0;
  border-style:solid;
  border-width: 0 10px 16px 10px;
  border-color: transparent transparent #FFFFFF transparent;
  position: absolute;
  top: calc(50% - 5px);
  left: calc(50% - 10px);
  transform: rotate(180deg);
}

.flow_list .btn_visitors {
  font-size: clamp(3rem, 4.16vw, 3.2rem);
  margin: auto;
  margin-top: clamp(1rem, 6.5vw, 2.5rem);
  font-weight: bold;
  text-align: center;
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.8);
}
.flow_list .btn_visitors span {
  color: var(--dark-orange-color);
  display: block;
  padding: 0 1.5rem;
  margin-right: 0;
  background: #FFFFFF;
  border-radius: 0.5rem;
  font-size: clamp(3rem, 3.64vw, 2.8rem);
}

/*----------------------------------------
昨年の会場の様子
----------------------------------------*/
.section .wrapper_video {
  max-width: 800px;
  margin: clamp(1rem,6.5vw,5rem) auto 0;
  aspect-ratio: 16/9;
}
.wrapper_video iframe {
  width: 100%;
  height: 100%;
  border: 1px solid #EEE;
}
.btn_lastYear a {
  display: block;
  text-align: center;
  margin-top: clamp(2rem,7.8vw,6rem);
  filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.4));
}

/*----------------------------------------
展示会の特徴
----------------------------------------*/
.section.exhibit:not(.info) {
  background: url(../images/top/bg_top_exhibit.webp) no-repeat top center;
}
.section.exhibit h3.headingM {
  margin-top: clamp(1rem,6.5vw,5rem);
}
ul.exhibit_list {
  margin-left: 0;
}
ul.exhibit_list li {
  list-style: none;
  margin-top: 1rem;
}

/*----------------------------------------
お知らせ
----------------------------------------*/
.news_inner {
  display: flex;
  flex-direction: column;
}
.news_inner dl {
  width: 100%;
  margin: 0 auto 3rem;
  border-bottom: 1px solid var(--gray-color);
  box-sizing: border-box;
  overflow: auto;
  line-height: 1.6;

  /* min-height: 160px; */
  /* height: 300px; */
  height: 350px;
  
}
section .news_inner dl a {
  width: 100%;
  color: #333333;
  text-decoration: none;
  padding: 2rem;
  box-sizing: border-box;
  display: block;
}

/* 例外 メアドが入る場合 */
section .news_inner dl .exception {
  padding: 2rem;
  box-sizing: border-box;
  display: block;
}
section .news_inner dl span a {
  padding: 0 !important;
  background: transparent !important;
  display: inline;
  color: #0566CC;
  text-decoration: underline;
}
section .news_inner dl span a:hover {
  text-decoration:none;
}
.page .top_news_exception:hover,
section .news_inner dl .exception:hover,
section .news_inner dl a:hover {
  background: #FFFBE3;
}


section .news_inner dl .top_news_exception {
  padding: 2rem;
}
section .news_inner dl .top_news_exception a {
  display: inline;
  padding: 0;
  color: #0566CC;
  text-decoration: underline;
}
section .news_inner dl .top_news_exception a:hover {
  background: transparent;
  text-decoration: none;
}

.news_inner+.btn_news a {
  min-width: 260px;
  margin: auto;
  display: flex;
  justify-content: center;
  width: max-content;
  font-size: clamp(1.4rem,2.6vw,2rem);
  padding: 1rem 4rem 1rem 2.5rem;
  background: var(--yellow-color);
  color: #333333;
  border: 3px solid var(--yellow-color);
  box-sizing: border-box;
  text-decoration: none;
  font-weight: bold;
  border-radius: 3rem;
  letter-spacing: 0.1rem;
  box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.8);
  position: relative;
}
.news_inner+.btn_news a::before {
  content: "";
  background: url(../images/icon_arrow_r.svg) no-repeat;
  width: 1rem;
  height: 1.7rem;
  position: absolute;
  right: 1.8rem;
  top: calc(50% - 0.85rem);
  transition: 0.3s all;
}
.news_inner+.btn_news a:hover {
  opacity: 0.8;
}
.news_inner+.btn_news a:hover::before {
  right: 1.4rem;
}

/*----------------------------------------
お知らせ一覧 
----------------------------------------*/


/*----------------------------------------
協賛一覧 
----------------------------------------*/
.section.bnr_area {
  background: #F2F2F2;
  padding-top: clamp(3rem,7.8vw,6rem);
}
ul.bnr_items {
  margin-left: 0;
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
ul.bnr_items li {
  list-style: none;
  width: calc((100% - 3rem) / 2);
}
.bnr_items a {
  display: block;
  filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.1));
}
.bnr_items a:hover {
  filter: drop-shadow(0px 0px 8px rgba(0,0,0,0.1));
}

/*----------------------------------------
開催概要
----------------------------------------*/
table.default.outline {
  border: 1px solid #ccc;
  border-collapse: collapse;
  width: 100%;
  height: auto;
  font-weight: bold;
  margin: 6rem auto;
}
table.default.outline tr > th {
  width: 30%;
  padding: 1rem;
  margin-bottom: 0;
  border-bottom: 1px solid #ccc !important;
  background: var(--dark-green-color);
  color: #FFFFFF;
}
table.default.outline tr > td {
  padding: 1rem 2rem;
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
  table.default.outline {
    display: block;
    width: 100%;
    border: none;
    margin: 3rem auto;
  }
  table.default.outline tr > th {
    width: 100%;
    margin-bottom: 5px;
    padding: 1.6rem;
    display: block;
    text-align: left;
    background: var(--dark-green-color);
    color: #FFF;
    box-sizing: border-box;
    border: none;
  }
  table.default.outline tr > td {
    width: 100%;
    display: block;
    border: none;
    padding: 1.6rem;
    box-sizing: border-box;
    border: none;
  }
}


/*----------------------------------------
出展対象分野 下層ページ
----------------------------------------*/
.wrapper_cat {
  margin-top: clamp(1rem, 6.5vw, 2.5rem);
}
.cat_inner {
  display: flex;
  align-items: center;
  margin-top: clamp(2.5rem,6.5vw,5rem);
}
.cat_inner .icon {
  width: clamp(3.8rem,9.8vw,7.6rem);
  flex-shrink: 0;
}
.cat_inner .text {
  font-weight: bold;
  font-size: clamp(2.4rem,4.1vw,3.2rem);
  margin-left: clamp(1.6rem,2.6vw,2rem);
  margin-top: 0.5rem;
  line-height: 1.1;
}
.cat_inner:nth-of-type(1) .text {
  color: #16a571;
}
.cat_inner:nth-of-type(2) .text {
  color: #ff8700;
}
.cat_inner:nth-of-type(3) .text {
  color: #0050f0;
}
.cat_inner:nth-of-type(4) .text {
  color: #00b4ff;
}
.cat_inner:nth-of-type(5) .text {
  color: #ff9adf;
}
.cat_inner:nth-of-type(6) .text {
  color: #d6d500;
}
.cat_inner:nth-of-type(7) .text {
  color: #ffae38;
}
.cat_inner:nth-of-type(8) .text {
  color: #c26600;
}
.cat_inner:nth-of-type(9) .text {
  color: #9f9a00;
}
.cat_inner:nth-of-type(10) .text {
  color: #a600ab;
  font-size: 2.4rem;
}
.info h3.headingM {
  background: transparent;
  border-left: none;
  line-height: 1.15;
  min-height: clamp(4rem,6.5vw,7rem);
  padding: 0;
  margin-top: 1.6rem;
  box-sizing: border-box;
  display: block;
}

/* 申込期限 延長 */
.uchikeshi_border {
  position: relative;
  display: inline-block;
}
.uchikeshi_border::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 2px;
  background: #FF0000;
  position: absolute;
  top: 1.4rem;
}
section .btn_delay a {
  display: block;
  width: max-content;
  font-size: clamp(1.4rem, 2.6vw, 1.6rem);
  padding: 0.8rem 4rem 0.8rem 2.4rem;
  margin-top: 2rem;
  margin-bottom: 2.5rem;
  margin-left: 4rem;
  background: var(--yellow-color);
  color: #333333;
  border: 3px solid var(--yellow-color);
  box-sizing: border-box;
  text-decoration: none;
  font-weight: bold;
  border-radius: 3rem;
  letter-spacing: 0.1rem;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  position: relative;
}
section .btn_delay a::before {
  content: "";
  background: url(../images/icon_arrow_r.svg) no-repeat;
  width: 1rem;
  height: 1.7rem;
  position: absolute;
  right: 1.5rem;
  top: calc(50% - 0.85rem);
}
section .btn_delay a:hover {
  opacity: 0.7;
}


/* 出展小間料 */
.wrapper_booth {
  margin-top: clamp(1rem, 7.8vw, 6rem);
}
.booth_inner .type {
  max-width: 500px;
  margin: auto;
}
.booth_inner .sample {
  margin-top: 3rem;
  margin-bottom: 8rem;
  text-align: center;
}
.booth_inner .sample:last-child {
  margin-bottom: 0;
}
.schedule {
  margin: 3rem auto;
  padding: 0 2rem;
}
.section .btn a {
  display: flex;
  justify-content: center;
  max-width: 300px;
  width: 100%;
  height: 30px;
  line-height: 30px;
  border: 1px solid #d9d9d9;
  border-radius: 1em;
  background: var(--yellow-color);
  padding: 10px;
  text-decoration: none;
  color: #333;
  font-weight: bold;
  position: relative;
  margin: auto;
}
.section .btn.pamphlet_ja a  {
  max-width: 320px;
  margin-bottom: 1rem;
}
.pamphlet_ja_text  {
  margin-left: 0;
  /* color: #FF0000; */
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
}
.section .btn a::before {
  content: "";
  display: block;
  background: url(../images/icon-pdf.svg) no-repeat;
  width: 22px;
  height: 22px;
  position: absolute;
  right: 4rem;
  top: calc(50% - 11px);
}
.section .btn a:hover {
  opacity: 0.6;
}

table.hyou_info {
  width: auto;
  margin-bottom: 1em;
}
table.hyou_info td {
  border: 1px solid #CCC;
  background: #FFFFFF;
  vertical-align: top;
  text-align: center;
}
table.hyou_info th {
  border-right: 1px solid #FFF;
  border: 1px solid #CCC;
  background: var(--dark-green-color);
  color: #FFFFFF;
  vertical-align: top;
  text-align: center;
  font-weight: normal;
}

table.hyou_info tr {
  padding: 0.5em;
  vertical-align: top;
  text-align: left;
}
table.hyou_info tr > * {
  padding: 0.5em 2em;
}

/*----------------------------------------
来場のご案内 下層ページ
----------------------------------------*/
h3.visitors {
  padding-top: clamp(3rem, 7.8125vw, 6rem);
  font-size: clamp(3.2rem, 6.25vw, 4.8rem); 
  line-height: 1.4;
  padding-bottom: 1rem;
  font-weight: bold;
  text-align: center;
}
span.marker {
    background: linear-gradient(transparent 70%, #21ff00 70%);
}

.visitors_info {
  margin-top: clamp(1rem, 6.5vw, 2.5rem);
  max-width: 940px;
  margin: auto;
}
.visitors_info ul {
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
  padding: 0 2.5%;
}
.visitors_info ul li {
  width: calc((100% - 2rem) / 2);
  font-weight: bold;
  background: #FFFFFF;
  border-radius: 5px;
  box-shadow: 4px 12px 16px rgba(55, 50, 136, 0.19);
  position: relative;
}
.visitors_info ul li img {
  border-radius: 5px 5px 0 0;
}
.visitors_info ul li .text {
  color: var(--dark-green-color);
  font-size: clamp(1.4rem,2.6vw,2rem);
  padding: 0.8rem 1rem;
  line-height: 1.2;
  position: relative;
}
.visitors_info ul li .text::before {
  content:"";
  display: block;
  background: url(../images/icon_arrow_r_circle.svg) no-repeat;
  width: 12px;
  height: 12px;
  position: absolute;
  top: calc(50% - 6px);
  right: 1rem;
}
.visitors_info ul li a {
  text-decoration: none;
}
/* 8月下旬公開予定 */
.visitors_info ul li .exhibit_text {
  content: "";
  display: inline-block;
  padding: 0.2rem 0.8rem;
  background: red;
  color: #FFFFFF;
  font-size: clamp(1.2rem, 1.8vw, 1.4rem);
  border-radius: 1.4rem;
  position: absolute;
  width: 110px;
  top: 35%;
  left: 50%;
  transform: translateY(-35%);
  transform: translateX(-50%);
  z-index: 2;
}


.page .btn_visitors.correct a {
  justify-content: center;
  background: #E59EDD;
}
.page .btn_visitors.correct {
  background: #E59EDD;
}

.page .visitors_text {
   font-size: clamp(1.4rem, 2.8vw, 2.2rem);
   margin-bottom: 3rem;
}

/* 講演会セミナー参加の流れ */
.page .visitors_text.attention {
  text-indent: -1.5rem;
  padding-left: 1.5rem;
}
.page .visitors_text.attention {
  margin-bottom: 0;
}
.page .visitors_text.attention:last-child {
  margin-top: 0;
}
@media screen and (min-width:768px) {
  .page .visitors_text.attention {
    text-indent: -2.5rem;
    padding-left: 2.5rem;
  }
}


/* 矢印 */
.page h3.headingM.faq_q {
width: 100%;
padding: 0.5rem 2rem 0.4rem 2rem;
margin-top: 1rem;
}
h3.headingM.faq_q:hover {
  opacity: 0.8;
  cursor: pointer;
}
h3.headingM.faq_q span {
position: relative;
width: 100%;
}
h3.headingM.faq_q span::before {
  content: "";
  background: url(../images/icon_arrow_down_l_b.svg) no-repeat;
  position: absolute;
  top: calc(50% - 6px);
  right: -5px;
  width: 30px;
  height: 12px;
  transform-origin: center;
  z-index: 2;
  transition: 0.3s all;
}
h3.headingM.faq_q.active span::before {
  transform: rotate(180deg);
  transform-origin: center;
}

h3.headingM.faq_q+.inner {
  display: none;
  padding: 1rem 2rem;
}

table.answer {
  width: 95%;
  margin: 1rem 2.5%;
}
table.answer td {
  border: 1px solid #666666;
  background-color: #FFFFFF;
  padding: 0.5rem 0.5rem 0.5rem 1.5rem;
  vertical-align: top;
  text-align: left;
}
table.answer th {
  border: 1px solid #666666;
  background: var(--gray-color);
  padding: 0.5rem 0.5rem 0.5rem 1.5rem;
  vertical-align: top;
  text-align: left;
  width: 50%;
}
table.answer tr {
  padding: 0.5em;
  vertical-align: top;
  text-align: left;
}

/* 日付ボタン 共通 */
.daylink {
  margin: 0 auto 4rem;
  padding-top: 4rem;
  letter-spacing: -.4em;
}
.daylink .button {
  display: inline-block;
  letter-spacing: normal;
  width: 49%;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  outline: none;
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  border-radius: 30px;
  box-shadow: 4px 5px 5px rgba(55, 50, 136, 0.19);
}
.daylink .button.a {
  background-color: #3db5ae;
  margin-bottom:0;
}
.daylink .button.b {
  background-color: #8ec378;
  margin-left: 2%;
}
.daylink .button:hover {
   opacity: 0.8;
}
@media screen and (max-width:768px) {
  .daylink .button {
    padding: 5px 0;
    font-size: 1.3em;
    width: 100%;
  }
  .daylink .button.a {
    margin-bottom: 3%;
  }
  .daylink .button.b {
    margin-left:0;
  }
}
/*----------------------------------------
ベスト展示賞 下層ページ
----------------------------------------*/
.best_ttl {
  padding-top: clamp(1rem, 6.5vw, 5rem);
  text-align: center;
  font-size: clamp(1.4rem, 2.8vw, 2rem);
  font-weight: bold;
}
section.best p {
  max-width: 1015px;
  margin: 3rem auto 0;
}


/*----------------------------------------
講演会・セミナーのページ
----------------------------------------*/
.highlight-area {
  position: absolute;
  /* background-color: rgba(255, 255, 0, 0.15);  */
  cursor: pointer;
  transition: background-color 0.3s, border 0.3s;
}
.highlight-area:hover {
  background-color: rgba(255, 255, 255, 0.3); /* ホバー時 */
}
.highlight-area.selected {
  background-color: rgba(255, 165, 0, 0.4); /* 選択状態 */
  border: 2px solid orange;
}

/* スクロールバー　pc非表示 */
.js-scrollable::-webkit-scrollbar {
  display: none;           
}
@media screen and (max-width:1120px) {
  .js-scrollable::-webkit-scrollbar {
    display: block;           
  }
}

/*----------------------------------------
特別講演・基調講演 下層
----------------------------------------*/
.h2_sub_text {
  position: relative;
  top: -8rem;
  text-align: center;
  color: red;
  font-weight: bold;
}
section .text_wrapper h2.headingL {
  padding-bottom: clamp(1.6rem, 7.8vw, 6rem);
}
@media screen and (max-width: 767px) {
.h2_sub_text {
  top: 0;
}
}

.special,
.keynote {
  padding: 0 4rem;
  margin-bottom: 4rem;
}
.keynote {
  /* margin-top: 4rem; */
}
.img_flex {
  display: flex;
}
.box {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  background: #fff;
  padding: 30px;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  flex-wrap: wrap;
}
.box .detail {
  display: flex;
  justify-content: space-between;
  column-gap: 60px;
}
.box .detail.full {
  width: 100%;
  margin-right: 0;
}
.box .info {
  /* width: 28%; */
}

.box .title-area {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  border-bottom: 1px solid #aaaaaa;
}
.special .images.pc_only,
.keynote .images.sp_only {
  max-width: 235px;
  width: 100%;
}
.special .link_pdf img {
  max-width: 260px;
  width: 100%;
  border: 1px solid #aaaaaa;
}
.box .text span.waku {
  border: 1px solid #111;
  padding: 0.2em 0.5em;
  font-weight: bold;
}
span.waku+p {
  margin-top: 1rem;
}
.box .text span.pamphlet {
  border: 1px solid #0066CC;
  position: relative;
  padding-right: 2rem;
}
.box .pamphlet a {
  position: relative;
}
.box .pamphlet a::before {
  content: "";
  display: inline-block;
  background: url(../images/icon-pdf.svg) no-repeat;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 0;
  right: -2.5rem;
  z-index: 2;
}



/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:768px) {
  .special,
  .keynote {
    padding: 0;
  }
  .box {
    padding: 2rem;
  }
  .box .detail {
    width: 100%;
    flex-direction: column;
  }
  .box .info {
    width: 100%;
    display: none;
  }
  .box .images {
    /* width: 50%; */
    margin: 20px auto;
    /* margin: 20px 25%; */
  }
  .box .title-area {
    display: flex;
    justify-content: flex-start;
    align-items:flex-start;
    flex-wrap: wrap;
    border-bottom: 1px solid #aaaaaa;
  }
}

/* * アイコン ･････････････････････････････････････････････････ */
.box .detail .icon {
  width: 10%;
  min-width: 100px;
  margin-right: 2%;
}
.box .detail .text-1 {
  width: 82%;
  margin-top: 0;
  font-size: 24px;
  font-weight: bold;
  color: #002864;
}
.box .detail .text-1 span {
  font-size: 16px;
  color: #002864;
  display: block;
}

.box .detail .text-2 {
font-weight: bold;
font-size: 1.2em;
margin-top: 1em;
color: #002864;
}


/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:1100px) {
  /*ブラウザの幅が1100px以下の時*/
  .box .detail .icon {
    width: 15%;
    min-width: 50px;
    margin-right: 2%;
  }
  .box .detail .text-1 {
    width: 100%;
    margin-top: 0;
    font-size: 1.4em;
    font-weight: bold;
    color: #002864;

    margin: auto 0;
  }
  .box .detail .text-1 span {
    font-size: 14px;
    color: #002864;
    display: block;
  }

  .box .detail .text-2 {
    font-weight: bold;
    font-size: 1.1em;
    margin-top: 1em;
    color: #002864;
  }
}

/* * 日時 ･････････････････････････････････････････････････ */
.box .detail .season {
  margin-top: 20px;
  font-size:20px;
  font-weight: bold;
}
.box .detail .season b { 
  font-size: 30px;
}

/* :::::::: ブレイクポイント :::::::: */

@media screen and (max-width:1100px) {
  /*ブラウザの幅が1100px以下の時*/
  .box .detail .season {
    font-size:16px;
    font-weight: bold;
  }
  .box .detail .season b { 
    font-size: 22px;
  }
}

/* * 講師 ･････････････････････････････････････････････････ */
.box .infobox {
  margin-top: 1.5em;
  font-size:16px;
}

.box .infobox .name1 span {
  border:1px solid #111;
  padding: 0.2em 0.5em;
  font-weight: bold;
}
.box .infobox .name1 p {
  margin-top: 0;
  font-size:16px;
}

/* * 講師名 ･････････････････････････････････････････････････ */
.box .infobox .name2 {
  font-size: 24px;
  font-weight: bold;
}

.box .infobox .name2 small {
  font-size: 1.6rem;
}
@media screen and (max-width:1100px) {
  .box .infobox .name1 {
    font-size: 1em;
  }
}

.box .btn {
  font-size: 1.6em;
  font-weight: bold;
  width: 100%;
  margin: 1.5em auto 0;
  text-align: center;
}

.box .btn a {
  color: #fff;
  display: block;
  background: #002864;
  border: solid 3px #002864;
  padding: 10px;
  cursor: pointer;
  position: relative;
}

.box .btn a:hover {
  text-decoration: none;
  color: #002864;
  background: #fff;
}

.box .btn a:hover:after {
  right: 0.6em;
  border-top: 4px solid #002864;
  border-right: 4px solid #002864;
}

.box .btn a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 1em;
  display: block;
  width: 12px;
  height: 12px;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  transform: rotate(45deg);
  margin-top: -8px;
  transition: 0.2s right;
}

@media screen and (max-width: 768px) {
  .box .btn {
    font-size: 1.3em;
    font-weight: bold;
    width: 100%;
    margin:1em auto 0.5em;
    text-align: center;
  }

  .box .btn a {
    color: #fff;
    display: block;
    background: #002864;
    border: solid 3px #002864;
    padding: 5px;
  }
}

.box .detail .head{
  vertical-align: top;
  line-height: 40px;
}

.box .detail .head .icon{
  display: inline-block;
  font-size: 1.2em;
  font-weight: bold;
  color: #FFFFFF;
  text-align: center;
  line-height: 40px;
  vertical-align: top;
  width: 6em;
  min-width: 6em;
  margin-right: 1em;
}
.box .detail .head .season{
  margin-top: 0;
  font-size: 20px;
  font-weight: bold;
  vertical-align: top;
  display: inline-block;
  padding: 0;
}

@media screen and (max-width:1100px){
  .box .detail .head .icon{
  font-size: 1em;
  width:6em;
  margin-bottom: 10px;
}

.box .detail .head .season{
  font-size: 16px;
  }

}

/*background: linear-gradient(色が変わっていく方向や角度, 終了色, 開始色));*/
.box .detail .head .icon.c-1{
background: linear-gradient(45deg, rgb(152, 24, 46),rgb(219, 83, 106));
}
.box .detail .head .icon.c-2{
background: linear-gradient(45deg, rgb(10, 35, 98),rgb(121, 144, 154));
}
.box .detail .head .icon.c-3{
background: linear-gradient(45deg, rgb(113, 21, 82),rgb(182, 96, 153));
}
.box .detail .head .icon.c-4{
background: linear-gradient(45deg, rgb(11, 64, 93),rgb(41, 129, 176));
}
.box .detail .head .icon.c-5{
background: linear-gradient(45deg, rgb(37, 88, 15),rgb(142, 195, 120));
}

.title-2.c-1::before{
background-image: linear-gradient( -90deg, rgb(152, 24, 46) 0%, rgb(219, 83, 106) 100%);
}
.title-2.c-2::before{
background-image: linear-gradient( -90deg, rgb(10, 35, 98) 0%, rgb(121, 144, 154) 100%);
}
.title-2.c-3::before{
background-image: linear-gradient( -90deg, rgb(113, 21, 82) 0%, rgb(182, 96, 153) 100%);
}
.title-2.c-4::before{
background-image: linear-gradient( -90deg, rgb(11, 64, 93) 0%, rgb(41, 129, 176) 100%);
}
.title-2.c-5::before{
background-image: linear-gradient( -90deg, rgb(37, 88, 15) 0%, rgb(142, 195, 120) 100%);
}

/*カラーパターンnew*/
.box .detail .head .icon.c-special{
background: linear-gradient(45deg, rgb(152, 24, 46),rgb(219, 83, 106));
}
.box .detail .head .icon.c-keynote{
background: linear-gradient(45deg, rgb(10, 35, 98),rgb(121, 144, 154));
}
.box .detail .head .icon.c-event{
background: linear-gradient(45deg, rgb(205, 100, 52),rgb(255, 185, 154));
}
.box .detail .head .icon.c-seminar{
background: linear-gradient(45deg, rgb(27, 69, 167),rgb(166, 193, 255));
}
.box .detail .head .icon.c-presen{
background: linear-gradient(45deg, rgb(197, 152, 31),rgb(253, 223, 144));
}
.box .detail .head .icon.c-tour{
background: linear-gradient(45deg, rgb(122, 26, 89),rgb(182, 96, 153));
}

.title-2.c-special::before{
background-image: linear-gradient( -90deg, rgb(152, 24, 46) 0%, rgb(219, 83, 106) 100%);
}
.title-2.c-keynote::before{
background-image: linear-gradient( -90deg, rgb(10, 35, 98) 0%, rgb(121, 144, 154) 100%);
}
.title-2.c-event::before{
background-image: linear-gradient( -90deg, rgb(205, 100, 52) 0%, rgb(255, 185, 154) 100%);
}
.title-2.c-seminar::before{
background-image: linear-gradient( -90deg, rgb(27, 69, 167) 0%, rgb(166, 193, 255) 100%);
}
.title-2.c-presen::before{
background-image: linear-gradient( -90deg, rgb(197, 152, 31) 0%, rgb(253, 223, 144) 100%);
}
.title-2.c-tour::before{
background-image: linear-gradient( -90deg, rgb(122, 26, 89) 0%, rgb(182, 96, 153) 100%);
}

.title-2.day1::before{
background-image: linear-gradient( -90deg, rgb(11, 90, 86) 0%, rgb(67, 181, 174) 100%);
}
.title-2.day2::before{
background-image: linear-gradient( -90deg, rgb(22, 63, 5) 0%, rgb(142, 195, 120) 100%);
}


.box .title-area{
display: flex;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
border-bottom: 1px solid #aaaaaa;
margin-top: 20px;
}
.box .title-area .text {
margin-top: 0;
font-size: 1.6em;
font-weight: bold;
color: #002864;
}
.box .title-area .text span {
font-size: 0.85em;
color: #002864;
display: inline-block;
}

.box .contents .catch {
font-weight: bold;
font-size: 1.2em;
color: #002864;
}
.box .contents .text {
font-weight: bold;
font-size: 1.6rem;
margin-bottom: 30px;
}
/* 主催、共催　横並び表示 */
.name1.flex div {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .name1.flex {
    display: flex;
    gap: 1rem;
    align-items: center;
  }
}

/* tableが入っている */
@media screen and (max-width: 767px) {
  .box .infobox table.name_list td {
    display: block;
    line-height: 1.6;
  }
  .box .infobox table.name_list td.cat {
    margin: 1rem 0;
    border-top: 1px dashed #111;
    border-bottom: 1px dashed #111;
  }
  .box .infobox table.name_list td .name2 {
    padding-bottom: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .box .infobox table.name_list td {
    padding: 0.5rem 1.5rem;
  }
}

/*hiddenコンテンツ*/
.box .contents .hidden {
  display: none;
  /* display: block !important; */
}
@media screen and (max-width: 768px) {
  .box .title-area .text {
    width: 100%;
  }
}


.box .contents {
  width: 100%;
  margin-top: 30px;
}
.box .contents .toggle-area {
  display: block;
  border-bottom: 1px solid #aaaaaa;
  width: 100%;
  text-align: center;
  margin-top: 0;
}

.box .contents .toggle-area .toggle-btn {
  padding: 10px 2em 10px 1em;
  border-radius: 5px 5px 0 0;
  background-color: #fff;
  cursor: pointer;
  position: relative;
  margin-bottom: -1px;
  display: inline-block;
  border-top: 1px solid #aaaaaa;
  border-right: 1px solid #aaaaaa;
  border-left: 1px solid #aaaaaa;
  width: 12em;
  font-size: 1.3em;
}

.box .contents .toggle-area .toggle-btn:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 2.5em;
  transform: translateY(-50%);
  display: block;
  width: 8px;
  height: 8px;
  border-bottom: 3px solid #111;
  border-right: 3px solid #111;
  transform: rotate(45deg);
  margin-top: -8px;
}
.box .contents .toggle-area.active .toggle-btn:after {
  transform: translateY(-50%) rotate(-135deg);
  margin-top: 3px;
}
@media screen and (max-width: 768px) {
  .box .contents .toggle-area {
  margin-top: 0;
  margin-bottom: 20px;
  }
}

.box .contents .hidden div:last-child {
  margin-bottom: 30px;
}
.box .contents .hidden div:last-child:not(.flex) {
  margin-bottom: 0;
}
/*----------------------------------------
併催イベント・セミナー
----------------------------------------*/
.box .info.event {
  display: block;
  min-width: 280px;
}

/*2024NEW*/
.box .none{
  display: none !important;
}

.box .huyou{
  display: block;
  margin: 0 0 1em 0 !important;
  padding: 2px 0 !important;
  width: 100%;
  font-size: 1.3em;
  font-weight: bold;
  color: #d83d5e;
  border: solid #d83d5e 1px;
  text-align: center;
  line-height: 140%;
  background: #f7dce3;
} 

.box .kanzen{
  display: block;
  margin: 0 0 1em 0 !important;
  padding: 2px 0 !important;
  width: 100%;
  font-size: 1.3em;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 140%;
  background: #d41b28;
}

.box .syuuryou{
  display: block;
  margin: 0 0 1em 0 !important;
  padding: 2px 0 !important;
  width: 100%;
  font-size: 1.3em;
  font-weight: bold;
  color: #929292;
  border: solid #929292 1px;
  text-align: center;
  line-height: 140%;
  background: #e5e5e5;
}

.box .infotext{
  font-weight: bold;
  padding: 8px;
  border: solid 2px;
  margin: 0 0 1em 0 !important;
}

.box .closed {
  font-size: 1.6em;
  font-weight: bold;
  width: 100%;
  margin: 1.5em auto 0;
  text-align: center;
  border: solid #929292 1px;
  text-align: center;
  background: #e5e5e5;
  padding: 10px;
  }
@media screen and (max-width:768px) {
  .box .closed {
    font-size: 1.3em;
    font-weight: bold;
    width: 100%;
    margin:1em auto 0.5em;
    text-align: center;
  }
  .detail.event {
    flex-direction: column-reverse;
  }
}
/*----------------------------------------
出展者プレゼンテーション
----------------------------------------*/
span.presentation {
  font-size: clamp(1.6rem,2.6vw,2rem);
  padding: 1rem;
  line-height: clamp(1.6rem,5.49vw,2.8rem);
  color: #d83d5e;
  border: solid #d83d5e 1px;
  text-align: center;
  background: #f7dce3;
  display: inline-block;
  position: static;
  width: 100%;
  box-sizing: border-box;
  letter-spacing: 1px;
  font-weight: bold;
  margin-left: 0;
  margin-top: -1rem;
  margin-bottom: 1rem;
}
span.presentation.sp_none {
  display: none;
}
span.presentation.pc_none {
  display: inline-block;
}
span.presentation.jizen {
  color: #d83d5e;
  border: solid #d83d5e 1px;
  text-align: center;
  background: #FFFF96;
}
@media screen and (min-width:768px) {
  span.presentation {
    position: absolute;
    padding: 0.5rem 1rem;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 2rem;
    width: auto;
  }
  span.presentation.pc_none {
    display: none;
  }
  span.presentation.sp_none {
    display: inline-block;
  }
}
.day1-title {
  background-color: #3db5ae;
  font-size: 1.2em;
  font-weight: bold;
  padding: 5px 1em;
  margin-bottom: 0;
  color: #fff;
}
.day2-title{
  background-color: #8ec378;
  font-size: 1.2em;
  font-weight: bold;
  padding: 5px 1em;
  margin-bottom: 0;
  color: #fff;
}

.timetable{
  margin-top: 0;
}

.title-2.day1 {
  border-left: 10px solid #3db5ae;
  border-bottom: 2px solid #BBBBBB;
  font-size: 120%;
  font-weight: bold;
  padding: 10px 10px 8px 2rem;
  margin: 2em 0;
  color: #002864;
}
.title-2.day2 {
  border-left: 10px solid #8ec378;
  border-bottom: 2px solid #BBBBBB;
  font-size: 120%;
  font-weight: bold;
  padding: 10px 10px 8px 2rem;
  margin: 2em 0;
  color: #002864;
}
.title-3 {
  position: relative;
  color: #002864;
  font-size: 1.1em;
  font-weight: bold;
  padding-left: 1.5em;
  margin-bottom: 1em;
}
.title-3::before {
  content: "";
  display: block;
  background-image: linear-gradient(-90deg, rgb(5, 38, 80) 0%, rgb(0, 156, 255) 100%);
  width: 14px;
  height: 14px;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 7px;
}

.inner {
  /* padding: 0 4rem; */
  margin-top: clamp(4rem,2.6vw,2rem);
}
/* #day1-2,
#day2-2 {
  margin-top: 4rem;
} */

.presenlist {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;
  font-size: 1.1em;
  background: #FFFFFF;
}
.presenlist tr:nth-child(even) {
  background-color: #f5f5f5;
}
.presenlist th,
.presenlist td {
  padding: 0.5em;
  border: 1px solid #ccc;
}
.presenlist td{
  text-align: left;
}
.presenlist thead th {
  background-color: #3db5ae;
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 1.2em;
}
.presenlist.day2 thead th {
  background-color: #8ec378;
}

.presenlist tbody th {
  text-align: center;
  background-color: #a5a6a7;
  color:#fff;
  font-size: 1em;
}
.presenlist tbody tr:nth-child(even) th {
  background-color: #8b9199;
}
@media screen and (max-width:768px) {
  /* #day1-1,
  #day2-1,
  #day1-2,
  #day2-2 {
    padding: 0;
  } */
   #inner {
    padding: 0;
   }
  .presenlist {
    border-radius: 0;
    text-align: left;
    font-size: 1em;
  }
  .presenlist thead {
    display:none;
  }
  .presenlist tr:not(:first-child) th{
    margin-top: 60px;
  }
  .presenlist tr {
    background-color: unset;
  }
  .presenlist tr:nth-child(even) {
    background-color: unset;
  }
  .presenlist th {
    display: block;
    border: 0;
    text-align: left;
  } 
  .presenlist td {
    display: block;
    border: 0;
    border-bottom: 1px solid #ccc;
    text-align: left;
  }
  .presenlist tbody th{
    background-color: #647da2 !important;
    color:#fff;
    text-align: center;
    font-size: 1em;
    padding: 2px;
    margin: 0 auto 2.5em;
  }
  .presenlist tbody th::before{
    content: attr(data-label);
    margin-right: 1em;
  }
  .presenlist td {
    letter-spacing: -.4em;
    margin: 1em 0 0 0;
    padding: 0 10px 1em 10px;
  }
  .presenlist td::before{
    content: attr(data-label);
    background: #3db5ae;
    color: #fff;
    font-weight: bold;
    display: inline-block;
    letter-spacing: normal;
    width: 35%;
    text-align: center;
    margin-right: 3%;
    padding: 4px 0;
    border-radius: 0.5vh;
    vertical-align: middle;
    font-size: 0.8em;
  }
  .presenlist td span{
    display: inline-block;
    letter-spacing: normal;
    width: 62%;
    vertical-align: middle;
  }
  .presenlist.day2 td::before{
    background-color: #8ec378;
  }
}


/*----------------------------------------
開催実績・映像 
----------------------------------------*/
table.default .item{
  width: 50%;
  display: inline-block;
  margin-bottom: 6rem;
  vertical-align: top;
}
table.default{
  margin-top: 0;
  width: 100%;
  height: 550px;
}
table.default tr > th {
  text-align: center;
  border-bottom: 1px solid var(--dark-green-color);
  color: #000;
  background: none;
}
table.default tr > th.title {
  background: #ffffff;
  color: #000;
  font-size: 1.8em;
  font-weight: bold;
  text-align: center;
  padding: 0;
}
table.default tr > th,
table.default tr > td{
  padding: 1em;
  border: none;
}
table.default tr > td{
  border-bottom: 1px solid #ccc;
}
table.default tr > th.title {
  vertical-align: bottom;
}
table.default tr > th:not(.title){
  border-bottom: 2px solid var(--dark-green-color);
  white-space: nowrap;
  padding: 1rem;
  box-sizing: border-box;
}
table.default tr > th.title {
  height: clamp(9rem,16.9vw,13rem);
}
table.default tr > th.title a {
  display: block;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

.pastEvents table.default tr > th {
  padding: 0;
  width: 25%;
}

.pastEvents .wrapper_archive {
  margin-top:clamp(1rem,3.9vw,3rem);
}
.pastEvents .wrapper_archive .no_label {
  display: flex;
  justify-content: center;
  text-align: center;
  font-size: clamp(2.2rem,3.5vw,2.7rem);
  font-weight: bold;
  align-items: center;
  height: clamp(9rem,16.9vw,13rem);
  text-decoration: none;
  line-height: 1.2;
  color: #000000;
  border: 1px solid #ccc;
  padding: 1rem;
  box-sizing: border-box;
}
.pastEvents table.default tr > td {
  line-height: 1.6;
  padding: 0.5rem 0 0.5rem 1rem;
  font-size: 1.6rem;
}
.pastEvents .item {
  width: 100%;
  margin-bottom: 6rem;
}
.pastEvents .item p a {
  display: inline-block;
  width: 100%;
  border: 1px solid #d9d9d9;
  background: #f3f3f3 !important;
  color: #333;
  text-align: center;
  position: relative;
  padding-right: 24px !important;
  transition: all 0.2s;
  padding-top: 1em;
  padding-bottom: 1em;
  padding: 1rem clamp(2rem,5.2vw,4rem);
  box-sizing: border-box;
}
.pastEvents .item p a span.text {
  display: inline-block;
  padding-right: 0.8em;
}
.pastEvents .item p a span.icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url(../images/icon-pdf.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.2s;
}

.pastEvents .item p a:hover{
  color: #fff;
  background:var(--dark-green-color) !important;
  cursor: pointer;
}

.pastEvents .item p a:hover span.icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-top: -1px;
  background: url(../images/icon-pdf_hov.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.2s;
}

/*----------------------------------------
会場アクセス
----------------------------------------*/
.access_info_inner {
  margin-top:clamp(1rem,3.9vw,3rem) ;
}
.access_info_inner .name {
  font-size: clamp(2rem,3.3vw,2.6rem);
  font-weight: bold;
}
.wrapper_access_text address {
  font-size: 120%;
  line-height: 2;
}
.googleMap iframe {
  max-width: 1200px;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  margin-top: clamp(1rem,3.9vw,3rem);
  margin-bottom: clamp(3rem,7.8125vw,6rem);
}

/*----------------------------------------
お問合せ
----------------------------------------*/
.btn_default.inquiry a {
  margin: auto;
  margin-top: clamp(3rem,7.8125vw,6rem);
}

/*----------------------------------------
バナーダウンロード
----------------------------------------*/
.banner dl {
  margin-top: clamp(3rem,7.8125vw,6rem);
}
.banner dt {
  padding: 0 0 1rem 2.5rem;
  position: relative;
}
.banner dt::before {
  content: "";
  width: 14px;
  height: 14px;
  background: #006B3C;
  position: absolute;
  top: 7px;
  left: 0;
}

/*----------------------------------------
English page
----------------------------------------*/
.page.en h3.headingM {
  margin-top: 2.4rem;
  margin-bottom: 1rem;
}

/* outline */
table.default.outline.en th {
  text-align: left;
  padding-left: clamp(1rem,2.6vw,2rem);
}
table.default.outline.en tr > td {
  padding: 1rem 1.6rem 1.6rem;
  font-weight: normal;
}
ul.default li {
  margin-bottom: 1rem;
}

/* Features of the exhibition */
.en p.catch1 {
  font-size: clamp(2.2rem,5.8vw,4.5rem);
  font-weight: bold;
  line-height: 1.4;
  background: var(--medium-green-color);
  color: #FFFFFF;
  padding: clamp(1rem,2.6vw,2rem) 1rem;
  text-align: center;
  border-radius: 0.5rem;
}
.en p.catch2 {
  font-size: clamp(1.6rem,5.8vw,4.5rem);
  font-weight: bold;
  line-height: 1.2;
  color: var(--medium-green-color);;
}
.en p.title {
  font-size: clamp(2rem,3.9vw,3rem);
  font-weight: bold;
  line-height: 1.2;
  color: var(--dark-green-color);
  text-indent: -2.2rem;
  padding-left: 2rem;
  margin-bottom: 3rem;
}
#features ul.list {
  margin-top: 2rem;
  margin-left: 0;
  display: flex;
  flex-wrap: wrap;
}
#features ul.list li {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  letter-spacing: normal;
  width: 100%;
  margin-bottom: 2rem;
}
#features ul.list li:nth-of-type(2n){
  margin-left: 0.5%;
}
#features ul.list li .title {
  color: #0d6238;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.2;
  padding: 0.3rem 0rem 1rem 3.5rem;
  position: relative;
}
#features ul.list li .title::before {
  content: '';
  display: block;
  position: absolute;
  background: url(../images/en/icon1.png) no-repeat;
  width: 30px;
  height: 30px;
  top: 0;
  left: 0;
}
#features ul.list li:nth-child(2) .title::before {
  background: url(../images/en/icon2.png) no-repeat;
}
#features ul.list li:nth-child(3) .title::before {
  background: url(../images/en/icon3.png) no-repeat;
}
#features ul.list li:nth-child(4)::before .title::before {
  background: url(../images/en/icon4.png) no-repeat;
}
#features ul.list li:nth-child(5)::before .title::before {
  background: url(../images/en/icon5.png) no-repeat;
}
#features ul.list li:nth-child(6)::before .title::before {
  background: url(../images/en/icon6.png) no-repeat;
}

/* How to apply for exhibitiont */
.section .btn.en a {
  max-width: 400px;
  min-height: 30px;
  width: clamp(80%,1.3vw,100%);
  height: auto;
  line-height: 1.4;
  align-items: center;
}
.section .btn.en a::before  {
  right: 2rem;
}
.section .btn.en.notpdf a {
 max-width: 300px;
 border-radius: 3rem;
}
.section .btn.en.notpdf a::before  {
  content: normal;
}

.footer.en h3.headingM {
  background: transparent;
  border: none;
  box-sizing: content-box;
  width: 20rem;
}

/*----------------------------------------
footer
----------------------------------------*/
.footer .btn_toggle {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 5rem;
  border: 0;
  cursor: pointer;
  background: var(--dark-green-color);
  font-size: 1.6rem;
  font-weight: bold;
  color: #FFFFFF;
  box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.8);
  margin-bottom: 3rem;
  position: relative;
}
.footer .btn_toggle::before {
  content: " ";
  display: block;
  position: absolute;
  background: url(../images/icon_arrow_down.svg) no-repeat;
  width: 17px;
  height: 10px;
  right: 1.5rem;
  top: calc(50% - 0.5rem);
  z-index: 3;
}
.footer .btn_toggle.is-active::before {
  transform: rotate(180deg);
  transition: 0.3s all;
}

.footer_inner {
  padding: 0 clamp(2rem,2.6vw,0rem);
}
.footer_menu {
  display: flex;
  flex-direction: column;
  padding-bottom: clamp(3rem,7.8vw,6rem);
  display: none;
}
.footer_menu_item a {
  display: flex;
  text-decoration: none;
  position: relative;
  color: #333333 !important;
  padding-left: 2.5rem;
  margin-bottom: 1rem;
  font-size: clamp(1.5rem,2.8vw,1.6rem);
}
.footer_menu_item a::before {
  content: "";
  background: url(../images/icon_footer_arrow_r.svg) no-repeat;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  left: 0;
  top: calc(50% - 0.8rem);
}
.footer_menu_item a:hover {
  text-decoration: underline;
}
.section.conatct {
  padding-top: clamp(3rem,7.8vw,6rem);
  background: var(--bright-yellow-color);
}
.footer h3.headingM {
  width: 15rem;
  margin: clamp(3rem,7.8vw,6rem) auto 2rem;
}
.page .footer h3.headingM {
  background: initial;
  border: 0;
  padding: initial;
}
.footer_contact dt {
  font-weight: bold;
  font-size: clamp(2rem,2.6vw,2.4rem);
  line-height: 1;
}
.footer_contact dd {
  line-height: 1.6;
}
.footer_copyright {
  font-size: clamp(1.2rem,2vw,1.6rem);
  padding: 1rem;
  box-sizing: border-box;
  line-height: 1.2;
  text-align: center;
  background: var(--dark-green-color);
  color: #FFFFFF;
}

/*----------------------------------------
 Pagetop
----------------------------------------*/
.pagetop {
  position: fixed;
  bottom: 30px;
  right: 10px;
  z-index: 4;
}
.pagetop a {
  display: block;
  background:var(--dark-green-color);
  border: 1px solid #FFFFFF;
  box-sizing: border-box;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  position: relative;
  z-index: 2;
  opacity: 0.9;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.pagetop a::before {
  content: "";
  display: block;
  background: url(../images/icon_arrow_top.svg);
  width: 16px;
  height: 16px;
  position: absolute;
  top: calc(50% - 8px);
  left: calc(50% - 8px);
}
.pagetop a:hover {
  opacity: 0.6;
}

/*-----------------------------------------
  Links
-----------------------------------------*/
p.link a:link,
p.link a:visited {
  color: #333333;
  text-decoration: none;
}

p.link a:hover,
p.link a:active {
  color: #666666;
  text-decoration: underline;
}
.link,
a:link,
a:visited {
  color: #0066CC;
}

a:hover,
a:active {
  text-decoration: none;
}

a.external {
  background: url(../images/icon-external.svg) no-repeat right center;
  padding-right: 2.5rem;
  width: 16px;
  height: 16px;
}


/*-----------------------------------------
  Tables
-----------------------------------------*/
table.hyou_aaa {
  width: 100%;
  margin-bottom: 1em;
}

table.hyou_aaa td {
  border: 1px solid #666666;
  background-color: #FFFFFF;
  padding: 0.5em;
  vertical-align: top;
  text-align: left;
}

table.hyou_aaa th {
  border: 1px solid #666666;
  background-color: #F0FFEE;
  padding: 0.5em;
  vertical-align: top;
  text-align: left;
  font-weight: normal;
  width: 20%;
}

table.hyou_aaa tr {
  padding: 0.5em;
  vertical-align: top;
  text-align: left;
}

table.non {
  border: none;
}

table.non td {
  text-align: left;
  vertical-align: top;
}

table.non th {
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
  font-weight: normal;
}

/*-----------------------------------------
  Text Styles
-----------------------------------------*/
.kome {
  padding-left: 1rem;
  text-indent: -1rem;
}
.kome15 {
  padding-left: 1.5rem;
  text-indent: -1.5rem;
}

.mbm1 { margin-bottom: -1rem; }
.mb1 { margin-bottom: 1rem; }
.mb2 { margin-bottom: 2rem; }
.mb03 { margin-bottom: 0.3rem; }
.mb05 { margin-bottom: 0.5rem; }
.mb15 { margin-bottom: 1.5rem; }

.pl05 { padding-left: 0.5rem; }
.ml1 { margin-left: 1rem; }

.f85 { font-size: 85%; }
.f90 { font-size: 90%; }
.f95 { font-size: 95%; }
.f100 { font-size: 100%; }
.f105 { font-size: 105%; }
.f110 { font-size: 110%; }
.f115 { font-size: 115%; }
.f120 { font-size: 120%; }
.f130 { font-size: 130%; }

.bold {
  font-style: normal;
  font-weight: bold !important;
}

.text_r {
  text-align: right;
}

.text_c {
  text-align: center;
}

.letter_sc05 {
  letter-spacing: 0.5px;
}
.letter_sc1 {
  letter-spacing: 1px;
}

/*-----------------------------------------
  Backgrounds
-----------------------------------------*/
.uchikeshi {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABGdBTUEAAK/INwWK6QAAAANQTFRFAAAAp3o92gAAAApJREFUCB1jYAAAAAIAAc/INeUAAAAASUVORK5CYII=) 0 center repeat-x;
}

.uchikeshi.red {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABGdBTUEAAK/INwWK6QAAAANQTFRF/wAAGeIJNwAAAApJREFUCB1jYAAAAAIAAc/INeUAAAAASUVORK5CYII=) 0 center repeat-x;
}

/*-----------------------------------------
  Colors
-----------------------------------------*/
.red { color: #FF0000; }
.blue { color: #1d2777; }

/*-----------------------------------------
  Underline
-----------------------------------------*/
.underline {
  text-decoration: underline;
}

/* テキスト両揃え */
.text_both {
  text-align: justify;
  text-justify: inter-ideograph;
}

/*-----------------------------------------
  ボタン
-----------------------------------------*/
.btn_default > a {
  display: block;
  width: 300px;
  font-size: clamp(1.4rem,2.6vw,2rem);
  padding: 1rem 4rem 1rem 4rem;
  margin-top: 2rem;
  background: var(--yellow-color);
  color: #333333;
  border: 3px solid var(--yellow-color);
  box-sizing: border-box;
  text-decoration: none;
  font-weight: bold;
  border-radius: 3rem;
  letter-spacing: 0.1rem;
  box-shadow: 0px 0px 5px rgba(0,0,0,0.1);
  position: relative;
  transition: 0.3s all;
}
.btn_default > a::before {
  content: "";
  background: url(../images/icon_arrow_r.svg) no-repeat;
  width: 1rem;
  height: 1.7rem;
  position: absolute;
  right: 2rem;
  top: calc(50% - 0.85rem);
}
.btn_default > a:hover {
  box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
}
.btn_default > a:hover::before {
  right: 1.5rem;
}


/* spで表示 */
.sp_only {
  display: inline-block;
}
.sp_none {
  display: none;
}
/* spでは非表示 */
.pc_only {
  display: none;
}
.pc_none {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  /*----------------------------------------
     Header
  ----------------------------------------*/
  .header_inner {
    height: 80px;
    padding: 1rem 1rem 1rem 2rem;
  }
  .header_logo img {
    max-width: 22rem;
    width: 100%;
    height: auto;
    transition: 0.3s all;
  }
  .gnav_lang .lang_item.en a {
    position: relative;
    text-decoration: none;
    color: #333;
  }
  .gnav_lang .lang_item.en a::after {
    content: "";
    background: url(../images/ico_lang.svg) no-repeat;
    width: 1.6rem;
    height: 1.6rem;
    position: absolute;
    left: -2.5rem;
    top: calc(50% - 0.8rem);
  }
  .gnav_lang .lang_item.info a {
    padding: 0.5rem 4rem 0.5rem 2rem;
    border-radius: 5rem;
    letter-spacing: 0.1rem;
    text-decoration: none;
    color: #333;
  }

  /*----------------------------------------
    hamburger
  ----------------------------------------*/
  .hamburger {
    width: 80px;
    height: 80px;
  }
  
  /*----------------------------------------
    gnav
  ----------------------------------------*/
  .gnav {
    padding: 8rem 0 2rem;
  }
  .gnav > ul > li.has-child li a {
    position: relative;
    max-height: 5px;
  }
  .gnav > ul > li.has-child li a::after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    background: #333333;
    position: absolute;
    left: -1rem;
    top:calc(50% - 2.5px);
    z-index: 99;
    border-radius: 50%;
  }

  /*----------------------------------------
    mainContents
  ----------------------------------------*/
  main.mainContents {
    padding-top: 8rem;
  }

  /*----------------------------------------
    Breadcrumb 
  ----------------------------------------*/

  /*----------------------------------------
    hero
  ----------------------------------------*/
  section.hero {
    background: url(../images/bg_sp_top.png) no-repeat center top/cover ;
    /* background:var(--bright-yellow-color) url(../images/bg_sp_top.png) no-repeat center top/cover ; */
  }
  .hero_inner {
    background: linear-gradient(to bottom, rgba(0,0,0,0.3)0%, rgba(0, 0, 0, 0) 50%);
  }
   
  /*----------------------------------------
  昨年の会場の様子
  ----------------------------------------*/

  /*----------------------------------------
  展示会の特徴
  ----------------------------------------*/
  ul.exhibit_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  ul.exhibit_list li {
    width: calc((100% - 2rem) / 2);
    filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.4));
  }
  .exhibit_list2 {
    filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.4));
  }
  .section.news-list:not(.info) {
    margin-top: -2.5rem;
    background: url(../images/top/bg_top_news.webp) no-repeat top center;
  }

  /*----------------------------------------
  お知らせ
  ----------------------------------------*/
  
  /*----------------------------------------
  お知らせ一覧 
  ----------------------------------------*/

  /*----------------------------------------
  協賛一覧 
  ----------------------------------------*/
  ul.bnr_items {
    gap: 3rem;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  ul.bnr_items li {
    list-style: none;
    width: calc((100% - 3rem) / 4);
  }
  .bnr_items a {
    display: block;
    filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.1));
  }


  /*----------------------------------------
  出展対象分野 下層ページ
  ----------------------------------------*/
  .wrapper_cat {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 2.5%;
  }
  .cat_inner {
    width: 50%;
  }
  
  /* 申込期限 延長 */
  .letter_sc05.flex {
    display: flex;
  }


  /* 出展小間料 */
  .booth_inner {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    margin-bottom: 3rem;
  }
  .booth_inner .type {
    max-width: 500px;
    width: 45%;
  }
  .booth_inner .sample {
    width: 45%;
    margin-top: 0;
    margin-bottom: 0;
  }
  .schedule {
    max-width: 320px;
    padding: 0 4rem;
    max-width: 1040px;
  }
  .section .btn a {
    margin: 0 auto 5rem 4rem;
  }
  .section .btn.pamphlet_ja a {
    margin-bottom: 1.5rem;
  }
  .pamphlet_ja_text  {
    margin-left: 4rem;
    font-size: 18px;
    line-height: 1.7;
  }
  
  table.hyou_info {
    width: auto;
  }

  /*----------------------------------------
  来場のご案内 下層ページ
  ----------------------------------------*/

  .visitors_info ul {
    gap: 2rem;
  }
  .visitors_info ul li {
    width: calc((100% - 4rem) / 3);
  }
  .visitors_info ul li .text {
    padding: 1.5rem;
  }
  .visitors_info ul li .text::before {
    content:"";
    display: block;
    background: url(../images/icon_arrow_r_circle.svg) no-repeat;
    width: 20px;
    height: 20px;
    position: absolute;
    top: calc(50% - 10px);
    right: 1rem;
  }
  /* 矢印 */
    .page h3.headingM.faq_q {
    padding: 0.5rem 2rem 0.4rem 3rem;
    align-items: center;
    }
    h3.headingM.faq_q span::before {
    content: "";
    background: url(../images/icon_arrow_down_l_b.svg) no-repeat;
    position: absolute;
    top: calc(50% - 11px);
    right: 10px;
    width: 40px;
    height: 22px;
    transform-origin: center;
    z-index: 2;
    transition: 0.3s all;
  }

  /*----------------------------------------
  出展者プレゼンテーション
  ----------------------------------------*/


  /*----------------------------------------
  開催実績・映像 
  ----------------------------------------*/
  /* 2024年の開催実績 */
  section#achievements .item {
    margin: auto;
  }
  .wrapper_archive {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5rem;
  }
  .pastEvents table.default tr > td {
    padding: 0.5rem 1.5rem;
  }
  .pastEvents .item {
    width: calc(50% - 5rem);
  }

  /*----------------------------------------
  会場アクセス
  ----------------------------------------*/
  .access_info_inner {
    display: flex;
    gap: 4rem;
  }
  .access_info_inner .photo {
    max-width: 500px;
  }
  .access_root_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 4rem;
  }
  .wrapper_root {
    width: calc(50% - 4rem);
  }

  /*----------------------------------------
  English page
  ----------------------------------------*/


  /*----------------------------------------
  footer
  ----------------------------------------*/
  .footer .btn_toggle {
    display: none;
  }
  
  .footer_menu {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  .footer_menu_item a {
    display: flex;
    text-decoration: none;
    position: relative;
    color: #333333 !important;
    padding-left: 2.5rem;
    margin-bottom: 1rem;
    font-size: clamp(1.5rem,2.8vw,1.6rem);
  }

  .section.conatct {
    padding-top: clamp(3rem,7.8vw,6rem);
    background: var(--bright-yellow-color);
  }

  .footer_contact dt {
    font-weight: bold;
    font-size: clamp(2rem,2.6vw,2.4rem);
    line-height: 1;
  }
  .footer_contact dd {
    line-height: 1.6;
  }
  .footer_copyright {
    font-size: clamp(1.2rem,2vw,1.6rem);
    padding: 1rem;
    box-sizing: border-box;
    line-height: 1.2;
    text-align: center;
    background: var(--dark-green-color);
    color: #FFFFFF;
  }

  /*----------------------------------------
  Pagetop
  ----------------------------------------*/
   /* spで表示 */
  .sp_only {
    display: inline-block;
  }
  /* spでは非表示 */
  .pc_only {
    display: none;
  }
  .sp_none {
    display: inline-block;
  }

  /* 削除しない */
}

@media screen and (min-width: 1120px), print {
  /* pcで表示 */
  .pc_only {
    display: inline-block;
  }
  /* pcでは非表示 */
  .sp_only {
    display: none;
  }
  .sp_none {
    display: none;
  }

  h2.headingL {
    text-align: center;
    margin-bottom: 3rem;
  }

  /* サブページ大見出し */
  .page footer h3.headingM {
    margin-top: 6rem;
  }
  #en .page h3.headingM {
    margin-top: 6rem;
  }

  /*----------------------------------------
    Header
  ----------------------------------------*/
  .header {
    background: var(--bright-yellow-color);
  }
  .header_inner {
    /* max-width: 1120px;
    max-width: 1200px; */
    max-width: 1300px;
    width: 100%;
    position: relative;
    box-shadow: none;
    padding: 0.5rem 1rem;
    transition: 0.3s all;
  }
  .header_inner.active {
    height: 6rem;
  }
  .header_logo img.active {
    max-width: 12rem;
    height: auto;
  }
  .gnav_lang {
    display: flex;
    gap: 0 2rem;
    /* gap: 0 6rem; */
    align-items: center;
    font-weight: bold;
  }
  .gnav_lang .lang_item.en a:hover {
    text-decoration: underline;
  }
  .gnav_lang .lang_item.info a {
    border: 2px solid var(--dark-orange-color);
    box-sizing: border-box;
    color: #FFFFFF;
    display: block;
    font-size: 2rem;
    /* font-size: 2.4rem; */
    line-height: 1.4;
    /* width: 300px; */
    padding: 1rem 4rem 1rem 2rem;
    white-space: nowrap;
  }
  ul.gnav_lang.pc_only li.red {
    padding: 0 2em;
  }
  .gnav_lang {
    justify-content: center;
  }
  li.lang_item.info.shine,
  li.lang_item.info.correct,
  .entry_item.info {
    display: none !important;
  }

  @media screen and (max-width: 1155px) {
    .gnav_lang .lang_item.info a {
      font-size: 1.8rem;
    }
  }
  .gnav_lang .lang_item.info a:hover {
    background: #FFFFFF;
    color: var(--dark-orange-color);
  }
  .gnav_lang .lang_item.info a span {
    display: block;
    text-align: center;
    position: relative;
    }
  .gnav_lang .lang_item.info a span::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #FFF;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: -3rem;
    bottom: 0;
    margin: auto;
  }
  .gnav_lang .lang_item.info a span::after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #FD6609;
    border-right: 3px solid #FD6609;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: -2.3rem;
    bottom: 0;
    margin: auto;
    transition: 0.3s;
  }

  /* 訂正ボタン */
  .gnav_lang .lang_item.info.correct {
    margin-right: 2rem;
  }
  .gnav_lang .lang_item.info.correct a {
    width: auto;
    background: #E59EDD;
  border: 2px solid #E59EDD;
  }
  .gnav_lang .lang_item.info.correct a:hover {
    background: #FFFFFF;
    color: #E59EDD;
  }
  .gnav_lang .lang_item.info.correct a span::after {
    border-top: 3px solid #E59EDD;
    border-right: 3px solid #E59EDD;
  }

  /* スマホ時登録ボタン 非表示 */
  div.entry_item.info a {
    display: none;
  }
  .gnav_lang .li.red {
    font-size: 15px;
    line-height: 1.4;
  }
  .gnav_lang li.red {
    line-height: 1.2;
  }

  .br_sp {
    display: none;
  }
  @media screen and (max-width: 1300px) {
    .gnav_lang .lang_item.info a {
      font-size: 1.8rem;
      line-height: 1.4;
      padding: 1rem 4rem 1rem 2rem;
    }
    .gnav_lang li.red {
      line-height: 1.2 !important;
      font-size: 1.5;
    }
    .br_pc {
      display: none;
    }
    .br_sp {
    display: inline-block;
   }

  }
  /*----------------------------------------
    hamburger
  ----------------------------------------*/
  .hamburger{
    display: none;
  }

  /*----------------------------------------
    gnav
  ----------------------------------------*/
  .container_gnav {
    width: 100%;
  }
  .gnav {
    display: block;
    padding: 0;
    height: auto;
    overflow: visible;
    background: var(--dark-green-color);
  }
  .gnav > ul {
    max-width: 1124px;
    max-width: 1200px;
    margin: auto;
    padding-bottom: 0;
    box-sizing: border-box;
    flex-direction: row;
    justify-content: space-between;
  }
  .gnav > ul > li {
    border-bottom: none;
  }
  .gnav > ul > li.has-child ul > li {
    padding: 0;
  }
  .gnav > ul > li a {
    padding: 1rem 2rem 1rem 2.2rem;
  }
  .gnav > ul > li > a {
    color: #FFFFFF;
    position: relative;
  }
  /* メニューが増えたので「フォント小さく」このエリアだけ */
  @media (min-width: 1100px) and (max-width: 1320px) {
    .gnav > ul > li > a {
      font-size: 13px;
    }
  }
  
  .gnav > ul > li > a::after {
    position: absolute;
    bottom: -8px;
    left: 2.5rem;
    content: '';
    width: calc(100% - 4.5rem);
    height: 3px;
    background: var(--yellow-color);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease-in-out;
  }
  .gnav > ul > li > a.on::after,
  .gnav > ul > li > a:hover::after  {
    bottom: 0.5rem;
    opacity: 1;
    visibility: visible;
  }
  .gnav > ul > li > a.active {
    height: 3.5rem;
  }

  .gnav > ul > li.has-child ul a {
    align-items: center;
    max-height: none;
    height: 2.5rem;
  }
  .gnav > ul > li.has-child > a {
    position: relative;
  }
  .gnav > ul > li.has-child > a::before {
    content: '';
    position: absolute;
    top: calc(50% - 30px);
    bottom: 0;
    right: 0rem;
    width: 10px;
    height: 10px;
    margin: auto;
    border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
    transform-origin: center;
    transform:rotate(135deg);
    box-sizing: border-box;
    transition: 0.3s all;
  }
  .gnav > ul > li.has-child > a.active::before  {
    top: calc(50% - 20px);
  }
  .gnav > ul > li.has-child {
    position: relative;
  }
  /* 下層メニュー */
  .gnav > ul > li.has-child ul {
    position: absolute;
    width: max-content;
    top: 55px;
    left: 0;
    z-index: 4;
    filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.1));
    transition: 0.3s ease-in-out;
    border-radius: 5px;
    background: rgba(255,255,255,0.9);
    visibility: hidden;
  }
  ::-webkit-full-page-media, :future, :root nav.gnav .has-child ul {
    transform: translate3d(0, 0, 0);
  }
  .gnav > ul > li.has-child:hover ul {
    position: absolute;
    width: max-content;
    z-index: 5;
    visibility: visible;
  }
  .gnav > ul > li.has-child ul.active {
    top: 35px;
  }

  .gnav > ul > li.has-child li a::after {
    content: normal;
  }
  .gnav .has-child ul li a:hover {
    color: #666666;
  }
  .gnav .has-child ul li a::before  {
    content: "";
    display: block;
    width: 0;
    height: 5px;
    background: var(--yellow-color);
    position: absolute;
    left: 0.5rem;
    transition: 0.3s ease-in-out;
  }
  .gnav .has-child ul li a:hover::before  {
    left: 1rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
  }


  /*----------------------------------------
    mainContents
  ----------------------------------------*/
  .container {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    padding: 0 4rem;
    box-sizing: border-box;
  }
  main.mainContents {
    padding-top: 13rem;
  }
  /* 下層ページ hero */
  .main_title {
    padding: 4rem 1rem 0;
    min-height: 200px;
  }

  /*----------------------------------------
    Breadcrumb 
  ----------------------------------------*/


  /*----------------------------------------
  slider
  ----------------------------------------*/
  .slick-dots li {
    width: 70px;
  }

  /*----------------------------------------
  countdown, btn_visitors
  ----------------------------------------*/
  .btn_visitors_wapper {
    padding: 0 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5rem;
  }
  .countdown {
    max-width: 400px;
    width: 100%;
    margin-bottom: 0;
    margin: 0;
    height: 90px;
    box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.8);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .btn_visitors {
    height: 90px;
    box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.8);
    display: flex;
    align-items: center;

    position: relative;
  }
  .btn_visitors span {
    display: inline-block;
    margin: 0 3rem;
  }
  .btn_visitors a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
  }
  /* 矢印 */
  .btn_visitors a::before {
    content: "";
    background: url(../images/icon_arrow_r_l.svg) no-repeat;
    width: 22px;
    height: 40px;
    position: absolute;
    top: calc(50% - 20px);
    right: 1.5rem;
    /* right: 2rem; */
    transform-origin: center;
  }

  /*----------------------------------------
    hero
  ----------------------------------------*/
  section.hero {
    background: url(../images/top/img_hero_1200.png) no-repeat center top;
  }
  
  section.hero picture {
    padding-top: 0;
    margin-bottom: 1rem;
  }
  .wrapper_picture {
    width: 1360px;
    margin: auto;
    display: flex;
    padding: 1rem 4rem 0 10%;
  }
  .wrapper_picture > h2 {
    width: 45%;
    margin-left: 5%;
    margin-bottom: 1rem;
    margin-right: 0;
  }
  
  @media screen and (min-width: 1200px) {
    .wrapper_picture {
      padding: 1rem 0 0;
    }
    .wrapper_picture > h2 {
      margin-right: -4rem;
    }
  }
  @media screen and (min-width: 1400px), print {
    section.hero {
      background:url(../images/top/img_hero_pc.png) no-repeat center top;
    }
    .wrapper_picture > h2 {
      width: 44%;
      margin-left: 8%;
    }
  }
  @media (min-width: 1000px) and (max-width: 1365px) {
    main.mainContents.top {
      overflow: hidden;
    }
  }

  .wrapper_picture > h2 {
    margin-right: -4rem;
  }
  
  /* 仮の幅 */
  /* .hero_inner picture { */
    /* width: 50%;  *//* 仮の幅 */
  /* } */
  .hero_inner .btn_info {
    justify-content: flex-start;
    padding-left: 4rem;
  }
  .hero_inner .btn_info a {
    padding: 1.5rem 4.5rem 1.5rem 3rem;
    border-radius: 1.5rem;
  }

  .info_inner {
    padding: 3rem;
    /* padding: 3rem 6rem 5rem; */
    border: 7px solid var(--orange-color);
    margin-top: 4rem;
    /* margin-top: 6rem; */
  }

  .info_text {
    line-height: 2;
    padding: 0 2rem;
  }
  .info_inner .btn_info {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
  }
  .info_inner .btn_info a {
    padding: 1.2rem 6rem 1.2rem 3rem;
  }

  /*----------------------------------------
  産業メッセニュース... バナー掲載
  ----------------------------------------*/
  .top_banner_wapper {
    display: flex;
    gap: 2rem;
    margin-bottom: 2rem;
  }
  .top_banner_wapper a {
    margin: auto;
  }

  /*----------------------------------------
  国際フロンティアメッセとは
  ----------------------------------------*/
  .main_category {
    display: flex;
    justify-content: center;
  }
  .main_category ul {
    flex-direction: row;
    flex-wrap: nowrap;
    margin-bottom: 2rem;
    max-width: 700px;
    width: 100%;
  }
  .main_category li {
    width: calc((100% - 6rem) / 4);
  }
  .main_category li a::before {
    top: calc(50% - 30px);
    right: -20px;
  }

  /* 来場登録ボタン Sサイズ */
  /* 矢印 */
    section.about .btn_visitors a::before {
      width: 12px;
      height: 30px;
      top: calc(50% - 12px);
      right: 2rem;
      transform-origin: center;
    }
    section.about .btn_visitors span {
      width: auto;
      margin: 0 3rem;
    }
    .info_inner .btn_visitors {
      height: 60px;
    }

  
  /*----------------------------------------
  特別展示
  ----------------------------------------*/
  /* モーダルウインドウ */
  /* .modal-content {
    display: none;
  } */
  /* .modal_title {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
    padding-bottom: 1rem; */
  /* } */
  .modal_wrapper {
    /* display: flex;
    align-items: flex-start; */
    /* gap: 1.5rem; */
    width: 1000px;
    flex-direction: row;
  }

  .special_exhibit ul {
    gap: 1rem;
  }
  .special_exhibit ul li {
    width: calc((100% - 4rem) / 5);
    box-shadow: 4px 6px 10px rgba(55, 50, 136, 0.19);
  }
  .special_exhibit li .title::before {
    /* content: "";
    display: block;
    width: 1rem;
    height: 3rem;
    background: red;
    position: absolute; */
    height: 3rem;
    top: -1rem;
    left: 0;
  }
   .txtbox {
    display: flex;
    flex-direction: column;
    padding: 1rem 0 0;
    min-height: 270px;
  }
  .txtbox .imgbox {
    margin-top: auto;
    display: inline-block;
  }
  .imgbox .company {
     text-align: left;
   }
  .imgbox.exhibit04 {
    padding: 0 5%;
    margin-top: -1rem;
  }
 .imgbox.exhibit04 .company {
    margin-top: 0;
  }

  /* 超小型宇宙バイオ実験装置 */
  .imgbox.micro_lab {
    margin-top: -30px;
  }

  /*----------------------------------------
  特別講演・基調講演 トップ
  ----------------------------------------*/
  .wrapper_lecture ul {
    flex-wrap: nowrap;
    gap: 2rem;
    /* padding: 0 5%; */
  }
  li.inner_lecture {
    width: 100%;
  }

  li.inner_lecture .inner_text {
    min-height: 80px;
  }
  li.inner_lecture .inner_text::after {
    right: 0;
  }
   
  /* 特別講演 */
  li.inner_lecture .name {
    font-size: 2rem;
  }

  /* 下部 リンク */
  .special_lecture.link ul {
    flex-wrap: nowrap;
    width: 90%;
    padding: 0 5%;
  }
  .special_lecture.link li .text {
      padding: 1rem 1.5rem 1rem 1rem;
  }
  .special_lecture.link li::before {
    width: 30px;
    height: 12px;
    right: 5px;
    bottom: 18px;
  }


  /*----------------------------------------
  このような悩みはありませんか？
  ----------------------------------------*/
  .worries_scene ul {
    flex-direction: row;
  }
  .worries_scene ul li {
    gap: 0.2rem;
  }


  /*----------------------------------------
  出展対象分野 トップページ
  ----------------------------------------*/
  .wrapper_cat.top {
    margin-top: 0;
  }
  .top .cat_inner {
    width: 25%;
  }
  .top dl.cat_inner:nth-child(4n) {
    width: 20%;
  }
  /* .top .cat_inner .icon {
  } */
  .top .cat_inner .text {
    font-size: 1.7rem;
    margin-left: 1rem;
  }
  .top .cat_inner:nth-of-type(10) .text {
    font-size: 1.7rem;
  }

  /*----------------------------------------
  来場者層
  ----------------------------------------*/
  .visitor_list {
    display: flex;
    justify-content: space-around;
  }
  .visitor_list ul {
    width: 100%;
  }
  .visitor_list ul li {
    width: calc(100% / 3);
  }

  /*----------------------------------------
  ご来場メリット
  ----------------------------------------*/
  .merit {
    padding: 0 10%;
    width: 80%;
  }

  /*----------------------------------------
  来場の流れ
  ----------------------------------------*/
  .flow_list ul {
    width: 90%;
    display: flex;
    justify-content: space-between;
    font-size: 2.4rem;
    font-weight: bold;
    padding: 0 5%;
    gap: 1rem;
    margin-bottom: 6rem;
  }
  .flow_list ul li {
    width: calc((100% - 2rem) / 3);
  }
  .flow_list > ul li.exception {
    height: 220px;
  }
  .flow_list ul li.circle {
    margin-top: 80px;
  }
  .flow_list ul li.circle::before {
    top: calc(50% - 8px);
    left: calc(50% - 5px);
    transform: rotate(90deg);
  }

  .flow_list .btn_visitors {
    margin-bottom: 6rem;
  }
  .flow_list .btn_visitors span {
    margin-right: 2rem;
  }

  /*----------------------------------------
  昨年の会場の様子
  ----------------------------------------*/

  /*----------------------------------------
  展示会の特徴
  ----------------------------------------*/
  ul.exhibit_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  ul.exhibit_list li {
    width: calc((100% - 2rem) / 2);
    filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.4));
  }
  .exhibit_list2 {
    filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.4));
  }

  /*----------------------------------------
  お知らせ
  ----------------------------------------*/
  .news_inner dl {
    display: flex;
    flex-direction: column;
    padding: 2rem 0 0;
  }
  .news_item {
    display: flex;
  }
  .news_item dt, .news_item dd {
    margin: 0;
  }
  .news_item dt {
    padding-top: 0;
    width: 10rem; /* 日付の幅を調整 */
    flex-shrink: 0; /* 日付の幅が固定されるように設定 */
  }
  .news_item dd {
    margin-left: 1rem; /* 日付と内容の間の間隔を調整 */
    flex-grow: 1; /* 内容が残りのスペースを使用するように設定 */
  }

  /*----------------------------------------
  お知らせ一覧 
  ----------------------------------------*/


  /*----------------------------------------
  協賛一覧 
  ----------------------------------------*/
  ul.bnr_items {
    gap: 3rem;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  ul.bnr_items li {
    list-style: none;
    width: calc((100% - 3rem) / 4);
  }
  .bnr_items a {
    display: block;
    filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.1));
  }

  /*----------------------------------------
  出展対象分野 下層ページ
  ----------------------------------------*/
  /* 出展小間料 */
  table.hyou_info {
    width: max-content;
  }

  /*----------------------------------------
  footer
  ----------------------------------------*/
  .footer .btn_toggle {
    display: none;
  }

  .footer_inner {
    display: flex;
    gap: 0 10rem;
  } 
  .footer_menu {
    margin-top: 5rem;
    gap: 0 8rem;
  }
  .footer_menu_item a {
    white-space: nowrap;
  }
  .section.conatct {
    padding-top: clamp(3rem,7.8vw,6rem);
    background: var(--bright-yellow-color);
  }
  .footer h3.headingM {
    width: 29rem;
  }
  .footer h3.headingM a:hover {
    opacity: 0.6;
  }
  .footer_contact dt {
    font-weight: bold;
    font-size: clamp(2rem,2.6vw,2.4rem);
    line-height: 1;
  }
  .footer_contact dd {
    line-height: 1.6;
  }
  .footer_copyright {
    font-size: clamp(1.2rem,2vw,1.6rem);
    padding: 1rem;
    box-sizing: border-box;
    line-height: 1.2;
    text-align: center;
    background: var(--dark-green-color);
    color: #FFFFFF;
  }

  /*----------------------------------------
  Pagetop
  ----------------------------------------*/
  .pagetop {
    bottom: 4rem;
    right: 3rem;
  }

  /*----------------------------------------
  English page
  ----------------------------------------*/
  #features ul.list {
    margin-top: 2rem;
    margin-left: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 5%;
  }

  #features ul.list li {
  width: 45%;
  }

  footer.en h3.headingM {
    width: 30rem !important;
    margin-top: 4rem;
  }



  /* 削除しない */
}

 @media print {
  .box .contents .hidden {
    display: block !important;
  }
  .toggle-btn {
    display: none !important;
  }
 }
