@media screen and (max-width: 580px) {
  .header {
    position: absolute;
    background: transparent;
    display: none;
  }
}

.main {
  position: relative;
  height: 100vh;
}
.main_top {
  background: url(../img/top/main_top.png) repeat-x top center/contain;
  height: 30.078125vh;
}
@media screen and (max-width: 840px) {
  .main_top {
    background-size: auto 100%;
  }
}
@media screen and (max-width: 580px) {
  .main_top {
    background: url(../img/top/main_top_sp.png) repeat-x top center/contain;
  }
}
.main_center {
  background: url(../img/top/main_center.png) repeat-x center center/contain;
  height: 45.117187vh;
}
@media screen and (max-width: 840px) {
  .main_center {
    background-size: auto 100%;
  }
}
@media screen and (max-width: 580px) {
  .main_center {
    background: url(../img/top/main_center_sp.png) repeat-x center center/contain;
  }
}
.main_botton {
  background: url(../img/top/main_bottn.png) repeat-x top center/contain;
  height: 24.804688vh;
}
@media screen and (max-width: 840px) {
  .main_botton {
    background-size: auto 100%;
  }
}
@media screen and (max-width: 580px) {
  .main_botton {
    background: url(../img/top/main_bottn_sp.png) repeat-x top center/contain;
  }
}
.main_box {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.8);
  border-radius: 32px;
  margin: 0 auto;
  width: 800px;
}
@media screen and (max-width: 840px) {
  .main_box {
    width: 90%;
  }
}
.main_box {
  padding: 30px 20px 50px;
  text-align: center;
  max-height: 80vh;
}
@media screen and (max-width: 840px) {
  .main_box {
    padding: 3% 2% 5%;
  }
}
.main_box .ttl {
  margin-bottom: 10px;
  max-height: 32.079208vh;
}
@media screen and (max-width: 840px) {
  .main_box .ttl {
    width: 80%;
    margin: 0 auto 1%;
  }
}
.main_box .date {
  font-size: 32px;
  font-family: m-plus-rounded-2p, sans-serif;
  font-weight: 900;
  font-style: normal;
  color: #FF7733;
}
@media screen and (max-width: 840px) {
  .main_box .date {
    font-size: 26px;
  }
}
@media screen and (max-width: 580px) {
  .main_box .date {
    font-size: min(22px, 5vw);
  }
}
.main_box .line {
  margin: 30px 0 24px;
  border-top: 2px dotted #00A597;
}
@media screen and (max-width: 840px) {
  .main_box .line {
    margin: 3% 0;
  }
}
.main_box .lead {
  width: 480px;
  margin: 0 auto;
  max-height: 28.514851vh;
}
@media screen and (max-width: 840px) {
  .main_box .lead {
    width: 60%;
  }
}
@media screen and (max-width: 580px) {
  .main_box .lead {
    width: 80%;
  }
}
.main_box .lead_ttl {
  padding-left: 40px;
  margin-bottom: 30px;
}
@media screen and (max-width: 840px) {
  .main_box .lead_ttl {
    margin-bottom: 3%;
  }
}
.main_box .lead_txt {
  text-align: left;
}
.main_box .lead_txt {
  font-size: 14px;
}
@media screen and (max-width: 840px) {
  .main_box .lead_txt {
    font-size: 12px;
  }
}

.contents > section {
  padding: 24px 0 32px;
}
@media screen and (max-width: 580px) {
  .contents > section {
    padding: 12px 0 24px;
  }
}
.contents > section:nth-of-type(2n+1) {
  background: #00CCBB;
}
.contents > section:nth-of-type(3n) {
  background: #00A597;
}
.contents > section:nth-of-type(5n) {
  background: #fff;
}
.contents .icon {
  position: absolute;
  z-index: 10;
  top: calc(50vh - 88px);
  right: 0;
}
@media screen and (max-width: 840px) {
  .contents .icon {
    width: 100px;
  }
}
@media screen and (max-width: 580px) {
  .contents .icon {
    width: 70px;
  }
}
.contents .icon.fix {
  position: fixed;
}
.contents .mascot .button {
  margin: 34px auto 0;
}
.contents .mascot .inner .txt {
  width: 700px;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .contents .mascot .inner .txt {
    width: auto;
  }
}
.contents .offer .button {
  margin: 34px auto 0;
}
.contents .offer .inner .txt {
  width: 700px;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .contents .offer .inner .txt {
    width: auto;
  }
}
.contents .about .inner .txt {
  width: 700px;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
  .contents .about .inner .txt {
    width: auto;
  }
}
.contents .about .button {
  margin: 34px auto 0;
}
.contents .outline .inner .mapinfo {
  display: flex;
  flex-direction: row-reverse;
}
@media screen and (max-width: 580px) {
  .contents .outline .inner .mapinfo {
    display: block;
  }
}
.contents .outline .inner .mapinfo .info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 50%;
}
@media screen and (max-width: 580px) {
  .contents .outline .inner .mapinfo .info {
    margin: 0 auto;
    width: auto;
  }
}
.contents .outline .inner .mapinfo .info .date dt {
  font-size: 14px;
}
@media screen and (max-width: 840px) {
  .contents .outline .inner .mapinfo .info .date dt {
    font-size: 12px;
  }
}
.contents .outline .inner .mapinfo .info .date dt {
  font-weight: 600;
}
.contents .outline .inner .mapinfo .info .date dd {
  margin-bottom: 16px;
}
@media screen and (max-width: 840px) {
  .contents .outline .inner .mapinfo .info .button {
    margin: 0 auto;
  }
}
.contents .outline .inner .mapinfo .map {
  width: 50%;
  text-align: center;
}
@media screen and (max-width: 580px) {
  .contents .outline .inner .mapinfo .map {
    width: auto;
    margin-bottom: 5%;
  }
}
.contents .outline .inner .photo {
  display: flex;
  gap: 16px;
  margin-top: 40px;
}
@media screen and (max-width: 840px) {
  .contents .outline .inner .photo {
    margin-top: 8%;
    display: block;
  }
  .contents .outline .inner .photo li:nth-of-type(2) {
    margin-top: 5%;
  }
}
.contents .outline .inner .photo .text {
  text-align: center;
  padding: 8px 4px;
  font-size: 14px;
}
@media screen and (max-width: 580px) {
  .contents .outline .inner .photo .text {
    padding: 4px;
    font-size: 12px;
  }
}
.contents .exhibitors .list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: auto;
  gap: 24px 16px;
}
@media screen and (max-width: 840px) {
  .contents .exhibitors .list {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 580px) {
  .contents .exhibitors .list {
    gap: 16px 10px;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 390px) {
  .contents .exhibitors .list {
    grid-template-columns: 1fr;
  }
}
.contents .exhibitors .list.commit > li .ttl {
  background: #00CCBB;
  color: #fff;
  border-radius: 8px 8px 0 0;
}
.contents .exhibitors .list > li {
  border-radius: 8px;
  display: grid;
  grid-auto-columns: 100%;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  min-width: 33.3333333333%;
}
.contents .exhibitors .list > li .ttl {
  font-size: 16px;
  margin-bottom: 0;
  display: flex;
  text-align: left;
}
@media screen and (max-width: 580px) {
  .contents .exhibitors .list > li .ttl {
    font-size: 14px;
  }
}
.contents .exhibitors .list > li .ttl .no {
  background: #00A597;
  color: #fff;
  padding: 4px 10px;
  border-radius: 6px 0 0 0;
  vertical-align: middle;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
@media screen and (max-width: 580px) {
  .contents .exhibitors .list > li .ttl .no {
    padding: 2px 6px;
  }
}
.contents .exhibitors .list > li .ttl .name {
  padding: 4px 10px;
  font-size: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  word-break: break-all;
}
@media screen and (max-width: 580px) {
  .contents .exhibitors .list > li .ttl .name {
    font-size: 12px;
    padding: 2px 6px;
  }
}
.contents .exhibitors .list > li .img {
  width: 100%;
}
.contents .exhibitors .list > li .tag {
  font-size: 12px;
  margin: 8px 4px;
  color: #00CCBB;
}
@media screen and (max-width: 580px) {
  .contents .exhibitors .list > li .tag {
    font-size: 10px;
    margin: 4px 2px;
  }
}
.contents .exhibitors .list > li .tag > li {
  display: flex;
}
.contents .exhibitors .list > li .tag > li:before {
  content: "# ";
}
.contents .exhibitors .list > li .sns {
  display: flex;
  column-gap: 10px;
  font-size: 18px;
  margin: 0 8px;
}
.contents .exhibitors .list > li .sns .ec {
  order: 1;
}
.contents .exhibitors .list > li .sns .site {
  order: 2;
}
.contents .exhibitors .list > li .sns .x {
  order: 3;
}
.contents .exhibitors .list > li .sns .insta {
  order: 4;
}
.contents .exhibitors .space_map {
  margin: 80px auto;
}
.contents .sponsor .list {
  display: grid;
  margin: 0 auto 60px;
}
.contents .sponsor .list li .logo {
  margin-bottom: 16px;
  display: grid;
  place-content: center;
}
.contents .sponsor .list li .info {
  text-align: center;
}
.contents .sponsor .premium .list {
  width: 70%;
}
.contents .sponsor .gold .list {
  width: 90%;
  grid-template-columns: 1fr 1fr;
  column-gap: 24px;
}
.contents .sponsor .gold .list > li a {
  display: block;
  height: 100%;
}
.contents .sponsor .gold .list > li a .logo {
  height: calc(100% - 2em - 16px);
}
.contents .sponsor .gold .list > li a .info {
  height: 2em;
}
.contents .sponsor .silver .list,
.contents .sponsor .coffee .list {
  width: 45%;
}
.contents .sponsor .box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 70%;
  margin: 0 auto;
}
.contents .icon-ttl {
  text-align: center;
  margin-bottom: 24px;
  font-size: 20px;
}
@media screen and (max-width: 840px) {
  .contents .icon-ttl {
    font-size: 18px;
  }
}
.contents .icon-ttl {
  position: relative;
  padding-top: 34px;
}
@media screen and (max-width: 840px) {
  .contents .icon-ttl {
    padding-top: 26px;
    margin-bottom: 3%;
  }
}
.contents .icon-ttl:before {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 0;
  background: url(../img/page/icon_green.png) no-repeat center center/contain;
  width: 35px;
  height: 30px;
}
@media screen and (max-width: 840px) {
  .contents .icon-ttl:before {
    width: 24px;
    height: 28px;
  }
}
