@charset "UTF-8";
.header {
  min-height: 84rem;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: url("../../img/common/bg_main.jpg") no-repeat 50% 50%;
  background-size: cover;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .header {
    min-height: 66rem;
  }
}
@media only screen and (max-width: 767px) {
  .header-nav {
    margin-top: 3rem;
  }
}
.header:after {
  content: "";
  width: 100%;
  height: 1rem;
  background: rgba(255, 255, 255, 0.3);
  position: absolute;
  left: 0;
  bottom: 0;
}

.header-countdown {
  background: #fff;
  position: fixed;
  left: 2rem;
  top: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  letter-spacing: 0;
  box-shadow: 0 0 4rem 0 rgba(0, 0, 0, 0.15);
  z-index: 999;
}

@media only screen and (max-width: 767px) {
  .header-countdown {
    width: 100%;
    left: 0;
    top: 0;
    flex-direction: row;
    padding: .5rem;
    align-items: baseline;
  }
}
.header-countdown dt {
  padding: 1rem 1.8rem;
  font-size: 1.5rem;
  line-height: 1.1;
  color: #fff;
  background: #eb6100;
}

@media only screen and (max-width: 767px) {
  .header-countdown dt {
    font-size: 1.3rem;
    flex-shrink: 0;
    color: #000;
    background: none;
    padding: 0;
  }
}
.header-countdown dd {
  font-size: 2.4rem;
  line-height: 1.1;
  font-weight: 700;
  padding: 0.5rem;
}

@media only screen and (max-width: 767px) {
  .header-countdown dd {
    font-size: 1.4rem;
    color: #eb6100;
    padding: 0;
  }
}
.header-countdown dd strong {
  font-size: 4.8rem;
  font-weight: 500;
}

@media only screen and (max-width: 767px) {
  .header-countdown dd strong {
    font-size: 2rem;
  }
}
.header-ttl {
  width: 50rem;
  height: 50rem;
  border-radius: 50%;
  background: #fff;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.header-ttl img {
  width: 30rem;
}

.header-ttl span {
  font-size: 2rem;
  color: #fff;
  background: #eb6100;
  font-weight: 700;
  padding: .5rem 1.5rem;
  margin: 0 auto;
  margin-top: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .header-ttl span {
    font-size: 1.6rem;
    margin-top: .5rem;
    padding: 0.2rem 1rem;
  }
}
.header-ttl span small {
  font-size: 1.4rem;
}

@media only screen and (max-width: 767px) {
  .header-ttl span small {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .header-ttl {
    width: 75vw;
    height: 75vw;
  }

  .header-ttl img {
    width: 45vw;
  }
}
.header-wanted {
  background: url("../../img/entry/bg_wanted.svg") no-repeat;
  background-size: 100% 100%;
  width: 30rem;
  height: 6rem;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  margin: 1.5rem auto 0 auto;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-wanted small {
  font-size: 60%;
}

@media only screen and (max-width: 767px) {
  .header-wanted {
    width: 23rem;
    height: 4.5rem;
    font-size: 2.4rem;
    margin-bottom: 0.5rem;
  }
}
.header-link ul {
  display: flex;
  justify-content: center;
}

.header-link ul li {
  margin: 0 1rem;
}

.header-link ul li a {
  width: 32rem;
  height: 4.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-radius: 4rem;
  font-size: 1.6rem;
  border: 0.2rem solid #fff;
}

@media only screen and (max-width: 767px) {
  .header-link ul li a {
    width: 14rem;
    height: 3.6rem;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
  }
}
.header-link ul li a:hover {
  background: #eb6100;
  color: #fff;
}

.header-schedule {
  text-align: center;
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 0 1rem #801f00;
  padding: 1rem 0;
  letter-spacing: 0.1rem;
}

.header-schedule p {
  line-height: 1.1;
  padding-bottom: 1.5rem;
  text-shadow: 1px 1px 5px #000;
}

@media only screen and (max-width: 767px) {
  .header-schedule p {
    line-height: 1;
    padding-bottom: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .header-schedule {
    padding: .5rem 0;
    letter-spacing: 0;
    font-size: 1.6rem;
  }
}
.header-schedule small {
  font-size: 1.2rem;
}

@media only screen and (max-width: 767px) {
  .header-schedule small {
    font-size: 1.1rem;
  }
}
.header-schedule strong {
  font-size: 3.6rem;
}

@media only screen and (max-width: 767px) {
  .header-schedule strong {
    font-size: 2.8rem;
  }
}
.header-schedule span {
  font-size: 1.6rem;
  line-height: 1;
}

@media only screen and (max-width: 767px) {
  .header-schedule span {
    font-size: 1.2rem;
  }
}
.header-schedule span b {
  font-size: 2.8rem;
}

@media only screen and (max-width: 767px) {
  .header-schedule span b {
    font-size: 2rem;
  }
}
.container .div-message {
  position: relative;
  z-index: 1;
  text-align: center;
  margin-top: 5rem;
  padding: 5rem 0;
}

@media only screen and (max-width: 767px) {
  .container .div-message {
    padding: 0 0 1rem;
  }
}
.container .div-message p {
  font-size: 1.8rem;
  line-height: 2.5;
  padding-bottom: 2.5em;
  position: relative;
  z-index: 2;
}

@media only screen and (max-width: 767px) {
  .container .div-message p {
    font-size: 1.6rem;
    line-height: 2;
    padding: 0 2rem 1.5rem;
    text-align: left;
  }
}
.container .div-message p strong {
  font-size: 2.8rem;
  line-height: 1.3;
  font-weight: 700;
  color: #eb6100;
  display: inline-block;
}

@media only screen and (max-width: 767px) {
  .container .div-message p strong {
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.5;
    display: block;
  }
}
.container .div-message-fig {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig {
    position: static;
    flex-direction: column;
  }
}
.container .div-message-fig ul {
  width: 50%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul {
    flex-direction: row;
    justify-content: center;
    width: 100%;
    height: auto;
    position: relative;
  }
}
.container .div-message-fig ul:nth-of-type(1) {
  align-items: flex-end;
  padding-right: 22rem;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(1) {
    padding: 0;
    align-items: normal;
  }
}
.container .div-message-fig ul:nth-of-type(1) li:nth-of-type(1) {
  width: 24rem;
  right: 10rem;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(1) li:nth-of-type(1) {
    width: 28%;
  }
}
.container .div-message-fig ul:nth-of-type(1) li:nth-of-type(2) {
  width: 18.5rem;
  right: 2rem;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(1) li:nth-of-type(2) {
    width: 28%;
  }
}
.container .div-message-fig ul:nth-of-type(1) li:nth-of-type(3) {
  width: 16rem;
  right: 22rem;
  top: -10rem;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(1) li:nth-of-type(3) {
    width: 28%;
  }
}
.container .div-message-fig ul:nth-of-type(2) {
  align-items: flex-start;
  padding-left: 22rem;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(2) {
    padding: 0 0 2rem;
    margin-bottom: 1.5rem;
  }
}
.container .div-message-fig ul:nth-of-type(2) li:nth-of-type(1) {
  width: 16rem;
  left: 20rem;
  bottom: -5rem;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(2) li:nth-of-type(1) {
    width: 28%;
  }
}
.container .div-message-fig ul:nth-of-type(2) li:nth-of-type(2) {
  width: 18rem;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(2) li:nth-of-type(2) {
    width: 28%;
  }
}
.container .div-message-fig ul:nth-of-type(2) li:nth-of-type(3) {
  width: 24rem;
  left: 14rem;
  top: -5rem;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(2) li:nth-of-type(3) {
    width: 28%;
  }
}
.container .div-message-fig ul li {
  position: relative;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul li {
    position: static;
    padding: 0 0.5rem 1rem;
  }
}
.container .div-message-fig ul li p {
  width: 16rem;
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0;
  padding-top: 1rem;
  position: absolute;
  background: #eb6100;
  color: #fff;
  padding: .1rem 1rem;
  bottom: 0;
  right: 50%;
  margin-right: -8rem;
}

.container .div-message-fig ul li figure {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
}

.container .div-photo {
  position: relative;
  padding-bottom: 10rem;
}

@media only screen and (max-width: 767px) {
  .container .div-photo {
    padding: 0 1.5rem 4rem;
  }
}
.container .div-photo:before {
  width: 100%;
  content: "";
  height: 69rem;
  background: url("../../img/common/bg_main.jpg") no-repeat;
  background-size: cover;
  opacity: 0.2;
  z-index: -2;
  position: absolute;
  left: 0;
  bottom: 0;
}

@media only screen and (max-width: 767px) {
  .container .div-photo:before {
    height: 49rem;
  }
}
.container .div-photo:after {
  content: "";
  width: 100%;
  height: 10rem;
  background-image: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
  position: absolute;
  left: 0;
  bottom: 59rem;
  z-index: -1;
}

@media only screen and (max-width: 767px) {
  .container .div-photo:after {
    bottom: 39rem;
  }
}
.container .div-photo ul {
  max-width: 100rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
  .container .div-photo ul {
    justify-content: space-between;
  }
}
.container .div-photo ul li {
  width: 30%;
  margin: 0 auto 2.5rem;
}

@media only screen and (max-width: 767px) {
  .container .div-photo ul li {
    width: 48%;
    margin: 0 0 1rem;
  }
}
.container .div-photo ul li:nth-of-type(3) {
  margin-right: 5%;
}

@media only screen and (max-width: 767px) {
  .container .div-photo ul li:nth-of-type(3) {
    margin-right: 0;
  }
}
.container .div-photo ul li:nth-of-type(4) {
  margin-left: 5%;
}

@media only screen and (max-width: 767px) {
  .container .div-photo ul li:nth-of-type(4) {
    margin-left: 0;
  }
}
.container .div-photo ul li figure {
  position: relative;
}

.container .div-photo ul li figure figcaption {
  font-size: 1.4rem;
  letter-spacing: 0;
  padding-top: 1rem;
  position: absolute;
  background: #eb6100;
  color: #fff;
  padding: .1rem 1.5rem;
  bottom: -.5rem;
  right: -0.5rem;
}

@media only screen and (max-width: 767px) {
  .container .div-photo ul li figure figcaption {
    padding: 0 1rem;
    bottom: 0;
    right: 0;
    font-size: 1.1rem;
  }
}
.container .section-news {
  padding: 10rem 2rem;
}

@media only screen and (max-width: 767px) {
  .container .section-news {
    padding: 8rem 2rem 5rem;
  }
}
.container .section-news-wrap {
  padding-bottom: 3rem;
}

.container .section-news-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.container .section-news-header-ttl {
  font-size: 3.2rem;
  line-height: 1.3;
}

@media only screen and (max-width: 767px) {
  .container .section-news-header-ttl {
    margin-bottom: 0;
  }
}
.container .section-news-header-en {
  font-size: 1.6rem;
  line-height: 1;
  color: #eb6100;
}

@media only screen and (max-width: 767px) {
  .container .section-news-header-en {
    font-size: 1.3rem;
  }
}
.container .section-news-inner {
  width: 100%;
  max-width: 80rem;
  border-top: 1px solid #eee;
  margin: 0 auto;
}

.container .section-news-inner div {
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  border-bottom: 1px solid #eee;
  padding: 2rem 0;
  font-size: 1.6rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .container .section-news-inner div {
    flex-direction: column;
    align-items: flex-start;
  }
}

.container .section-news-inner div dt {
  width: 15rem;
  color: #eb6100;
  text-align: center;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .container .section-news-inner div dt {
    width: 100%;
    text-align: left;
  }
}

.container .section-news-inner div dd {
  width: 100%;
}

.container .section-news-inner div dd a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  cursor: pointer;
}

@media only screen and (min-width: 1025px) {
  .container .section-news-inner div:hover {
    background: rgba(238, 238, 238, 0.5);
  }
}
.container .section-outline {
  padding: 10rem 2rem;
  background: rgba(238, 238, 238, 0.5);
}

@media only screen and (max-width: 767px) {
  .container .section-outline {
    padding: 8rem 2rem;
  }
}
.container .section-outline-wrap {
  display: flex;
  justify-content: center;
  padding-bottom: 3rem;
}

@media only screen and (max-width: 767px) {
  .container .section-outline-wrap {
    flex-direction: column;
  }
}
.container .section-outline-header {
  padding-bottom: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 8rem 0 2.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-outline-header {
    margin: 0 auto;
  }
}
.container .section-outline-header-ttl {
  font-size: 3.2rem;
  line-height: 1.3;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin-bottom: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-outline-header-ttl {
    -ms-writing-mode: unset;
    writing-mode: unset;
    margin-bottom: 0;
  }
}
.container .section-outline-header-en {
  font-size: 1.6rem;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: #eb6100;
}

@media only screen and (max-width: 767px) {
  .container .section-outline-header-en {
    font-size: 1.3rem;
    -ms-writing-mode: unset;
    writing-mode: unset;
  }
}
.container .section-outline-inner {
  width: 100%;
  max-width: 60rem;
  border-top: 1px solid #eee;
}

.container .section-outline-inner div {
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  border-bottom: 1px solid #eee;
  padding: 2rem 0;
  font-size: 1.6rem;
}

.container .section-outline-inner div dt {
  width: 8rem;
  color: #eb6100;
  text-align: center;
  flex-shrink: 0;
}

.container .section-outline-inner div dd {
  width: 100%;
}

.container .section-outline-inner div dd small {
  font-size: 1.2rem;
}

.container .section-outline-inner div dd a {
  color: #eb6100;
  text-decoration: underline;
}

@media only screen and (min-width: 1025px) {
  .container .section-outline-inner div dd a:hover {
    color: #000;
    text-decoration: none;
  }
}
.container .section-outline-map {
  max-width: 100rem;
  margin: 0 auto;
}

.container .section-outline-map iframe {
  width: 100% !important;
  height: 40rem;
  border: 0.5rem solid #eee !important;
}

.container .section-sponsor {
  padding: 10rem 2rem;
}

@media only screen and (max-width: 767px) {
  .container .section-sponsor {
    padding: 5rem 2rem;
  }
}
.container .section-sponsor.sponsorship {
  background: rgba(238, 238, 238, 0.5);
}

.container .section-sponsor-header {
  padding-bottom: 3rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.container .section-sponsor-header-ttl {
  font-size: 3.2rem;
  line-height: 1.3;
}

.container .section-sponsor-header-en {
  font-size: 1.6rem;
  color: #eb6100;
}

@media only screen and (max-width: 767px) {
  .container .section-sponsor-header-en {
    font-size: 1.3rem;
    line-height: 1;
  }
}
.container .section-sponsor-inner p {
  font-size: 1.4rem;
  text-align: center;
  padding-bottom: 1rem;
}

.container .section-sponsor-inner ul {
  max-width: 100rem;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.container .section-sponsor-inner ul li {
  width: 24rem;
  padding: 1rem;
}

@media only screen and (max-width: 767px) {
  .container .section-sponsor-inner ul li {
    width: 50%;
    padding: 0.5rem;
  }
}
.container .section-stage {
  padding: 10rem 2rem;
  background: url("../../img/common/bg_main.jpg") no-repeat;
  background-size: cover;
  z-index: 1;
  position: relative;
}

.container .section-stage:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  opacity: 0.8;
}

@media only screen and (max-width: 767px) {
  .container .section-stage {
    padding: 5rem 2rem;
  }
}
.container .section-stage-header {
  padding-bottom: 5rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-header {
    padding-bottom: 2.5rem;
  }
}
.container .section-stage-header-ttl {
  font-size: 1.4rem;
  line-height: 1.3;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-header-ttl {
    font-size: 1.3rem;
  }
}
.container .section-stage-header-en {
  font-size: 6.4rem;
  letter-spacing: .5rem;
  line-height: 1;
  color: #eb6100;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-header-en {
    font-size: 4.6rem;
  }
}
.container .section-stage-inner p {
  font-size: 1.8rem;
  text-align: center;
  padding-bottom: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-inner p {
    font-size: 1.6rem;
    letter-spacing: .1rem;
    padding-bottom: 1rem;
  }
}
.container .section-stage-inner p small {
  font-size: 80%;
}

.container .section-stage-inner ul {
  max-width: 100rem;
  margin: 0 auto 2rem;
  display: flex;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-inner ul {
    flex-wrap: wrap;
    margin-bottom: 0;
  }
}
.container .section-stage-inner ul li {
  width: 22rem;
  padding: 1rem;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-inner ul li {
    width: 50%;
    margin-bottom: 1.5rem;
  }
}
.container .section-stage-inner ul li figure {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.container .section-stage-inner ul li figure img {
  border: 0.5rem solid #fff;
}

.container .section-stage-inner ul li figure figcaption {
  font-size: 1.4rem;
  text-align: center;
  padding-top: 1rem;
  letter-spacing: 0.1rem;
}

.container .section-stage-inner ul li figure span {
  font-size: 80%;
  font-weight: 200;
  margin-bottom: -1rem;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-inner ul li figure figcaption {
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 767px) {
  .container .section-stage-inner ul li {
    width: 50%;
    padding: 0.5rem;
  }
}
.container .section-stage-btn {
  padding-top: 5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-btn {
    padding-top: 1rem;
  }
}
.container .section-stage-btn a {
  width: 34rem;
  height: 5.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  font-size: 1.6rem;
  border-radius: 5rem;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .container .section-stage-btn a {
    width: 24rem;
    height: 3.6rem;
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 1025px) {
  .container .section-stage-btn a:hover {
    background: #eb6100;
    color: #fff;
  }
}
.container .section-booth {
  padding: 10rem 2rem;
  margin-bottom: -5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-booth {
    padding: 5rem 2rem;
  }
}
.container .section-booth-header {
  padding-bottom: 5rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-header {
    padding-bottom: 2.5rem;
  }
}
.container .section-booth-header-ttl {
  font-size: 1.4rem;
  line-height: 1.3;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-header-ttl {
    font-size: 1.3rem;
  }
}
.container .section-booth-header-en {
  font-size: 6.4rem;
  color: #eb6100;
  letter-spacing: .5rem;
  line-height: 1;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-header-en {
    font-size: 4.6rem;
  }
}
.container .section-booth-txt {
  margin-bottom: 3rem;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-txt {
    margin-bottom: 1.5rem;
  }
}
.container .section-booth-txt p {
  font-size: 1.8rem;
  text-align: center;
  padding-bottom: 1rem;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-txt p {
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
}
.container .section-booth-inner {
  max-width: 100rem;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-inner {
    flex-direction: column;
    align-items: center;
  }
}
.container .section-booth-inner .article-booth {
  width: 24rem;
  background: #fff;
  box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.15);
  position: relative;
  margin: 0 .5rem 4rem;
  padding: 2.6rem 1.6rem 1.8rem 1.6rem;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-inner .article-booth {
    width: 100%;
    min-height: 12.5rem;
    margin: 0 0 2.5rem;
    position: relative;
    padding: 2rem 1.5rem 1.5rem 13rem;
  }
}
.container .section-booth-inner .article-booth:before {
  content: "";
  width: 100%;
  height: .8rem;
  background: url("../../img/common/bg_main.jpg");
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-inner .article-booth:before {
    height: 0.4rem;
  }
}
.container .section-booth-inner .article-booth-fig {
  border-radius: .5rem;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-inner .article-booth-fig {
    width: 10rem;
    position: absolute;
    left: 1rem;
    top: 1.4rem;
    margin-bottom: 0;
  }
}
.container .section-booth-inner .article-booth-ttl {
  font-size: 1.8rem;
  line-height: 1.3;
  margin-bottom: 0.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-inner .article-booth-ttl {
    font-size: 1.6rem;
    margin-bottom: 0.2rem;
  }
}
.container .section-booth-inner .article-booth-num {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  margin-bottom: 1rem;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-inner .article-booth-num {
    margin-bottom: 0.5rem;
  }
}
.container .section-booth-inner .article-booth-num dt {
  font-size: 1.1rem;
  font-weight: 400;
  color: #444;
  margin-right: .3rem;
  flex-shrink: 0;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-inner .article-booth-num dt {
    font-size: 1rem;
  }
}
.container .section-booth-inner .article-booth-num dd {
  font-size: 1.4rem;
}

.container .section-booth-inner .article-booth-txt p {
  letter-spacing: .1rem;
  font-size: 1.5rem;
  line-height: 1.3;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-inner .article-booth-txt p {
    font-size: 1.3rem;
  }
}
.container .section-booth-btn {
  padding-top: 5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-btn {
    padding-top: 2.5rem;
  }
}
.container .section-booth-btn a {
  width: 34rem;
  height: 5.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #eee;
  font-size: 1.6rem;
  border-radius: 5rem;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-btn a {
    width: 24rem;
    height: 3.6rem;
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 1025px) {
  .container .section-booth-btn a:hover {
    background: #ccc;
  }
}
.container .section-faq {
  padding: 10rem 2rem;
  background: rgba(251, 241, 219, 0.5);
}

@media only screen and (max-width: 767px) {
  .container .section-faq {
    padding: 5rem 2rem;
  }
}
.container .section-faq-header {
  padding-bottom: 3rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.container .section-faq-header-ttl {
  font-size: 3.2rem;
  line-height: 1.3;
}

.container .section-faq-header-en {
  font-size: 1.6rem;
  color: #eb6100;
}

@media only screen and (max-width: 767px) {
  .container .section-faq-header-en {
    font-size: 1.3rem;
    line-height: 1;
  }
}
.container .section-faq-inner {
  max-width: 100rem;
  margin: 0 auto;
}

.container .section-faq-inner dl {
  background: rgba(235, 97, 0, 0.1);
  border: 0.2rem solid rgba(235, 97, 0, 0.2);
  border-radius: .5rem;
  margin-bottom: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-faq-inner dl {
    letter-spacing: 0;
  }
}
.container .section-faq-inner dl dt {
  display: flex;
  justify-content: flex-start;
  font-size: 1.6rem;
  position: relative;
  padding: 2rem 5rem 2rem 2.5rem;
  cursor: pointer;
}

@media only screen and (max-width: 767px) {
  .container .section-faq-inner dl dt {
    font-size: 1.6rem;
    line-height: 1.4;
    padding: 1rem 3.5rem 1rem 1.5rem;
  }
}
.container .section-faq-inner dl dt:before {
  content: "Q";
  font-size: 3.2rem;
  color: #eb6100;
  font-weight: 400;
  line-height: 1;
  flex-shrink: 0;
  margin-right: 1.5rem;
  position: relative;
  top: -0.3rem;
}

@media only screen and (max-width: 767px) {
  .container .section-faq-inner dl dt:before {
    font-size: 2.4rem;
    top: -0.2rem;
  }
}
.container .section-faq-inner dl dt:after {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  background: url("../../img/common/icon_d.svg") no-repeat 50% 60% #fff;
  background-size: 1.6rem auto;
  border-radius: 50%;
  position: absolute;
  right: 1.5rem;
  top: 2.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-faq-inner dl dt:after {
    width: 2rem;
    height: 2rem;
    right: 1rem;
    top: 1.1rem;
    background-size: 1.2rem auto;
  }
}
@media only screen and (min-width: 1025px) {
  .container .section-faq-inner dl dt:hover:after {
    background-color: rgba(255, 255, 255, 0.5);
  }
}
.container .section-faq-inner dl dd {
  max-height: 0;
  padding: 0 2.5rem;
  display: flex;
  justify-content: flex-start;
  background: #fff;
  border-radius: 0 0 .3rem .3rem;
  transition: all .5s;
  overflow: hidden;
}

.container .section-faq-inner dl dd a {
  text-decoration: underline;
}

@media only screen and (max-width: 767px) {
  .container .section-faq-inner dl dd {
    font-size: 1.3rem;
    padding: 0 1.5rem;
  }
}
.container .section-faq-inner dl dd:before {
  content: "A";
  font-size: 3.2rem;
  color: rgba(235, 97, 0, 0.3);
  line-height: 1;
  flex-shrink: 0;
  margin-right: 1.5rem;
  position: relative;
  top: -0.3rem;
}

@media only screen and (max-width: 767px) {
  .container .section-faq-inner dl dd:before {
    font-size: 2.4rem;
    top: -0.2rem;
  }
}
.container .section-faq-inner dl.open dt:after {
  transform: scaleY(-1);
}

.container .section-faq-inner dl.open dd {
  max-height: 9999rem;
  transition: all .5s;
  padding: 2rem 2.5rem;
}

@media only screen and (max-width: 767px) {
  .container .section-faq-inner dl.open dd {
    padding: 1rem 1.5rem;
  }
}
.div-members {
  width: 36rem;
  height: 18rem;
  border: 0.5rem solid #eb6100;
  background: url("../../img/common/bg_main.jpg") no-repeat 50% 50%;
  background-size: cover;
  position: fixed;
  right: -32rem;
  bottom: 10rem;
  z-index: 9999;
  transition: all 1s;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

@media only screen and (max-width: 767px) {
  .div-members {
    width: 100%;
    height: 6rem;
    bottom: -6rem;
    right: auto;
    border: none;
    flex-direction: row;
    background: #eb6100;
    color: #fff;
  }
}
.div-members:before {
  content: "";
  background: #fff;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  left: 1rem;
  top: 1rem;
  z-index: -1;
  position: absolute;
}

@media only screen and (max-width: 767px) {
  .div-members:before {
    display: none;
  }
}
.div-members p {
  font-size: 1.6rem;
  padding-bottom: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .div-members p {
    font-size: 1.3rem;
    line-height: 1.1;
    padding-right: 1rem;
    padding-bottom: 0;
  }
}
.div-members small {
  font-size: 1rem;
}

.div-members a {
  width: 28rem;
  height: 4.8rem;
  border-radius: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #eb6100;
  border: 0.3rem solid #eb6100;
  color: #fff;
  font-size: 1.8rem;
}

@media only screen and (max-width: 767px) {
  .div-members a {
    width: 18rem;
    height: 4rem;
    background: #fff;
    color: #eb6100;
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 1025px) {
  .div-members a:hover {
    background: #fff;
    color: #eb6100;
  }
}
.div-members.on {
  right: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .div-members.on {
    right: auto;
    bottom: 0;
    padding: 0 1.5rem;
    letter-spacing: 0;
  }
}
.container .div-message-fig ul:nth-of-type(1) li:nth-of-type(1) {
  width: 30rem;
  bottom: 2rem;
  right: 12rem;
}

.container .div-message-fig ul:nth-of-type(1) li:nth-of-type(2) {
  bottom: -2rem;
  right: 9rem;
}

.container .div-message-fig ul:nth-of-type(2) li:nth-of-type(1) {
  width: 30rem;
  left: 13rem;
  bottom: -5rem;
}

.container .div-message-fig ul:nth-of-type(2) li:nth-of-type(2) {
  bottom: -6rem;
  left: 7rem;
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(1) li:nth-of-type(1) {
    width: 40%;
  }
}
@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(1) li:nth-of-type(2) {
    width: 40%;
  }
}
@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(2) li:nth-of-type(1) {
    width: 40%;
  }
}
@media only screen and (max-width: 767px) {
  .container .div-message-fig ul:nth-of-type(2) li:nth-of-type(2) {
    width: 40%;
  }
}
.aside-contact dl dd .aside-contact-box {
  height: 14rem;
}
.aside-contact dl dd .aside-contact-box a {
  flex-direction: column;
  padding: .5rem 0;
}
.aside-contact dl dd .aside-contact-box a span {
  line-height: 1;
}
.aside-contact dl dd .aside-contact-box > p {
  line-height: 1.3;
  letter-spacing: 0;
}
@media only screen and (max-width: 767px) {
  .aside-contact dl dd .aside-contact-box {
    height: auto;
  }
}

@media only screen and (max-width: 767px) {
  .container .div-message-fig ul li figcaption {
    font-size: 50% !important;
  }
}
.container .section-sponsor-inner ul {
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .div-members a {
    font-size: 1.3rem;
  }
}
.container .section-booth-host {
  max-width: 100rem;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.container .section-booth-host .article-booth {
  width: 24rem;
  background: #fff;
  box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.15);
  position: relative;
  margin: 0 .5rem 4rem;
  padding: 2.6rem 1.6rem 1.8rem 1.6rem;
}

.container .section-booth-host .article-booth:before {
  content: "";
  width: 100%;
  height: .8rem;
  background: url(assets/img/common/bg_main.jpg);
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
}

.container .section-booth-host .article-booth-fig {
  border-radius: .5rem;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.container .section-booth-host .article-booth-ttl {
  font-size: 1.8rem;
  line-height: 1.3;
  margin-bottom: .5rem;
}

.container .section-booth-host .article-booth-num {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  margin-bottom: 1rem;
}

.container .section-booth-host .article-booth-num dt {
  font-size: 1.1rem;
  font-weight: 400;
  color: #444;
  margin-right: .3rem;
  flex-shrink: 0;
}

.container .section-booth-host .article-booth-txt p {
  letter-spacing: .1rem;
  font-size: 1.5rem;
  line-height: 1.3;
}

@media only screen and (max-width: 767px) {
  .container .section-booth-host {
    flex-direction: column;
    align-items: center;
  }

  .container .section-booth-host .article-booth {
    padding: 2rem 1.5rem 1.5rem 13rem;
  }

  .container .section-booth-host .article-booth {
    width: 100%;
    min-height: 12.5rem;
    margin: 0 0 2.5rem;
    position: relative;
    padding: 2rem 1.5rem 1.5rem 13rem;
  }

  .container .section-booth-host .article-booth:before {
    height: .4rem;
  }

  .container .section-booth-host .article-booth-fig {
    width: 10rem;
    position: absolute;
    left: 1rem;
    top: 1.4rem;
    margin-bottom: 0;
  }

  .container .section-booth-host .article-booth-ttl {
    font-size: 1.6rem;
    margin-bottom: .2rem;
  }

  .container .section-booth-host .article-booth-num {
    margin-bottom: .5rem;
  }

  .container .section-booth-host .article-booth-num dt {
    font-size: 1rem;
  }

  .container .section-booth-host .article-booth-txt p {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .container .section-booth-header-en {
    font-size: 4.6rem;
    text-align: center;
  }
}
/* information 全体の中央寄せ＋枠 */
.information ul {
  max-width: 760px;
  margin: 3rem auto 0;
  /* ページ中央 */
  padding: 12px 15px 12px;
  border: 0.5rem solid #eb6100;
  /* オレンジ枠 */
  border-radius: 0px;
  list-style: none;
  /* デフォルトの・を消す */
  box-sizing: border-box;
}

/* 箇条書きの・を自前で制御 */
.information li {
  position: relative;
  padding-left: 1.2em;
  /* ・分のスペース */
  margin-bottom: 0px;
  line-height: 1.8;
  font-size: 1.6rem;
}

.information p {
  position: relative;
  padding-top: 0.5em;
  margin-bottom: 0px;
  line-height: 1.8;
  font-size: 1.6rem;
}

.information span {
  color: #eb6100;
  text-decoration: underline;
}

/* ・を揃えて表示 */
.information li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: #333;
}

/* 追加：左右余白（特にSP・狭い画面対策） */
@media (max-width: 999px) {
  .information ul {
    margin-left: 1rem;
    margin-right: 1rem;
  }
}
/* figure 自体を中央に */
.section-booth .booth-map {
  width: 40%;
  margin: 0 auto;
  text-align: center;
}

/* 画像がはみ出さないように */
.section-booth .booth-map img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .section-booth .booth-map {
    width: 100%;
  }
}
