@charset "utf-8";

/* mv
------------------------------*/
.p-mv {
  width: 100%;
  /* height: 100svh; */
  height: min(800px, 80rem);
  position: relative;
  z-index: 0;
  background: url(../img/top/mv_bg.svg) no-repeat center center/auto 100%;
}

html[lang='ja'] .p-mv {
  height: min(960px, 96rem);
}

@media all and (max-width: 576px) {
  .p-mv {
    /* height: 84.4rem; */
    height: 76.4rem;
  }
  html[lang='ja'] .p-mv {
    height: 94.4rem;
  }
}

.p-mv__inner {
  width: min(1440px, 144rem);
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}

@media all and (max-width: 576px) {
  .p-mv__inner {
    width: 100%;
  }
}

.p-mv__main {
  width: min(1200px, 120rem);
  position: absolute;
  top: 58%;
  left: 50%;
  translate: -50% -50%;
  z-index: 0;
}

@media all and (max-width: 576px) {
  .p-mv__main {
    width: 32.5rem;
    /* top: 28.8rem; */
    top: 26.8rem;
    left: 50%;
    translate: -50% 0;
  }

  /* html[lang='ja'] .p-mv__main {
    top: 26.8rem;
  } */
}

.p-mv__img01 {
  width: min(618px, 61.8rem);
  margin-bottom: min(37px, 3.7rem);
  opacity: 0;
}

.p-mv.is-show .p-mv__img01 {
  animation: fadeInUp 0.5s ease-out 0.6s forwards;
}

@media all and (max-width: 576px) {
  .p-mv__img01 {
    width: 100%;
    margin-bottom: 2rem;
  }
}

.p-mv__img02 {
  width: min(812px, 81.2rem);
  opacity: 0;
  position: relative;
}

html[lang='en'] .p-mv__img02 {
  width: min(900px, 90rem);
}

@media all and (max-width: 576px) {
  .p-mv__img02 {
    width: 100% !important;
  }
}

.p-mv.is-show .p-mv__img02 {
  animation: fadeInUp 0.5s ease-out 0.8s forwards;
}

.p-mv__img02 picture {
  display: block;
}

.p-mv__img02 picture.--top {
  border-bottom: solid 1px #000;
  padding-bottom: min(16px, 1.6rem);
  margin-bottom: min(16px, 1.6rem);
}

html[lang='ja'] .p-mv__img02 picture.--top img {
  width: min(588px, 58.8rem);
}

html[lang='en'] .p-mv__img02 picture.--top img {
  width: min(736px, 73.6rem);
}

html[lang='zh-cmn-Hans'] .p-mv__img02 picture.--top img {
  width: min(627px, 62.7rem);
}

html[lang='ko'] .p-mv__img02 picture.--top img {
  width: min(588px, 58.8rem);
}

@media all and (max-width: 576px) {
  .p-mv__img02 picture.--top img {
    width: 100% !important;
  }
}

html[lang='ja'] .p-mv__img02 picture.--btm img {
  width: min(592px, 59.2rem);
}

html[lang='en'] .p-mv__img02 picture.--btm img {
  width: min(722px, 72.2rem);
}

html[lang='zh-cmn-Hans'] .p-mv__img02 picture.--btm img {
  width: min(651px, 65.1rem);
}

html[lang='ko'] .p-mv__img02 picture.--btm img {
  width: min(638px, 63.8rem);
}

@media all and (max-width: 576px) {
  .p-mv__img02 picture.--btm img {
    width: 100% !important;
  }
}

.p-mv__img02::after {
  content: '';
  display: block;
  width: min(123px, 12.3rem);
  aspect-ratio: 123/90;
  position: absolute;
  bottom: 0;
  right: 0;
  background: url(../img/common/logo_expo.svg) no-repeat center center/contain;
}

html[lang="ja"] .p-mv__img02::after{
  /* bottom: min(80px, 8rem); */
}

@media all and (max-width: 576px) {
  .p-mv__img02::after {
    width: 7rem;
  }
}

.p-mv__img03 {
  position: absolute;
  top: -28%;
  z-index: -1;
  transform-origin: bottom center;
  transform: scale(0);
}

.p-mv.is-show .p-mv__img03 {
  animation: scaleBounce 0.5s ease-in-out 1s forwards;
}

html[lang='ja'] .p-mv__img03 {
  right: -5%;
  width: min(764px, 76.4rem);
  top: -24%;
}

html[lang='en'] .p-mv__img03 {
  right: -7%;
  width: min(786px, 78.6rem);
}

html[lang='zh-cmn-Hans'] .p-mv__img03 {
  right: -6%;
  width: min(772px, 77.2rem);
}

html[lang='ko'] .p-mv__img03 {
  right: -5%;
  width: min(768px, 76.8rem);
}

@media all and (max-width: 576px) {
  html[lang='ja'] .p-mv__img03 {
    width: 132%;
    top: -17rem;
    right: auto;
    left: -1.4rem;
  }

  html[lang='en'] .p-mv__img03 {
    width: 134%;
    top: -15.5rem;
    right: auto;
    left: -2rem;
  }

  html[lang='zh-cmn-Hans'] .p-mv__img03 {
    width: 131%;
    top: -17.5rem;
    right: auto;
    left: -1rem;
  }

  html[lang='ko'] .p-mv__img03 {
    width: 133%;
    top: -17rem;
    right: auto;
    left: -2rem;
  }
}

.p-mv__event {
  width: min(1200px, 120rem);
  position: absolute;
  bottom: min(30px, 3rem);
  left: 50%;
  translate: -50% 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: min(25px, 2.5rem);
}

@media all and (max-width: 576px) {
  .p-mv__event {
    width: 35rem;
    bottom: 11.8rem;
    gap: normal;
    align-items: flex-start;
    justify-content: space-around;
  }

  html[lang='en'] .p-mv__event,
  html[lang='ko'] .p-mv__event {
    flex-direction: column;
    align-items: center;
    bottom: 7.8rem;
  }
}

.p-mv__event-block {
  position: relative;
}

@media all and (max-width: 576px) {
  html[lang='en'] .p-mv__event-block,
  html[lang='ko'] .p-mv__event-block {
    margin-bottom: 10px;
  }
}

.p-mv__event-title {
  width: min(84px, 8.4rem);
  aspect-ratio: 1;
  background-color: #e76f00;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(20px, 2rem);
  font-weight: 600;
  line-height: 1.2;
  color: #fff;
}

html[lang='en'] .p-mv__event-title,
html[lang='ko'] .p-mv__event-title {
  width: auto;
  aspect-ratio: auto;
  border-radius: 9999px;
  padding: 0.5em 1em;
}

@media all and (max-width: 576px) {
  .p-mv__event-title {
    width: 100%;
    border-radius: 9999px;
    aspect-ratio: auto;
    font-size: 1.6rem;
    padding: 0.2em;
    margin-bottom: 10px;
  }

  html[lang='en'] .p-mv__event-title,
  html[lang='ko'] .p-mv__event-title {
    width: 100%;
    padding: 0.2em;
  }
}

.p-mv__event-block__title {
  font-size: min(20px, 2rem);
  line-height: normal;
  font-weight: 600;
}

@media all and (max-width: 576px) {
  .p-mv__event-block__title {
    font-size: 1.7rem;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 8px;
  }

  html[lang='en'] .p-mv__event-block__title,
  html[lang='ko'] .p-mv__event-block__title {
    /* text-align: left; */
    margin-bottom: 3px;
  }
}

.p-mv__event-block__period {
  font-family: 'Rubik', sans-serif;
  font-size: min(18px, 1.8rem);
  line-height: 1.5;
  letter-spacing: 0;
}

.p-mv__event-block__period small {
  font-size: 100%;
}

@media all and (max-width: 576px) {
  .p-mv__event-block__period {
    font-size: 1.5rem;
    text-align: center;
  }

  .p-mv__event-block__period small {
    font-size: 1.3rem;
  }
}

.p-mv__event-block__period span {
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(11px, 1.1rem);
  background-color: #000;
  display: inline-block;
  border-radius: 9999px;
  padding: 0.3em 0.4em 0.45em;
  line-height: 1;
  margin: 0 0.5em;
  vertical-align: 0.2em;
}

html[lang='ko'] .p-mv__event-block__period span {
  padding: 0.4em 0.5em 0.45em;
}

@media all and (max-width: 576px) {
  .p-mv__event-block__period span {
    font-size: 1.1rem;
    margin: 0 0.3em;
  }
}

.p-mv__event-block__notice {
  font-size: min(12px, 1.2rem);
  color: #e60011;
  position: absolute;
  left: 0;
  bottom: 0;
  translate: 0 100%;
  width: max-content;
}

@media all and (max-width: 576px) {
  .p-mv__event-block__notice {
    font-size: 1rem;
    left: auto;
    right: 0;
  }
}

.p-mv__ptn {
  position: absolute;
  z-index: -1;
}

.p-mv__ptn.--01 {
  width: min(63px, 6.3rem);
  top: 20%;
  left: -0.5%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--01 {
    width: 4.1rem;
    top: 25%;
    left: 5%;
  }
}

.p-mv__ptn.--02 {
  width: min(63px, 6.3rem);
  top: 13%;
  left: 32%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--02 {
    width: 4.2rem;
    top: 9%;
    left: auto;
    right: 21%;
  }
}

.p-mv__ptn.--03 {
  width: min(63px, 6.3rem);
  top: 8%;
  left: 68%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--03 {
    /* width: 4.1rem;
    top: 62%;
    left: 4%; */
    display: none;
  }
}

.p-mv__ptn.--04 {
  width: min(63px, 6.3rem);
  top: 43%;
  left: 96%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--04 {
    width: 4.1rem;
    top: 91%;
    left: 80%;
  }
  html[lang='ja'] .p-mv__ptn.--04 {
    display: none;
  }
}

.p-mv__ptn.--05 {
  width: min(63px, 6.3rem);
  top: 96%;
  left: 2%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--05 {
    display: none;
  }
}

.p-mv__ptn.--06 {
  width: min(63px, 6.3rem);
  top: 95%;
  left: 77%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--06 {
    display: none;
  }
}

.p-mv__ptn.--07 {
  width: min(63px, 6.3rem);
  top: 75%;
  left: 74%;
}
html[lang='ja'] .p-mv__ptn.--07 {
  top: 60%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--07 {
    /* width: 4.1rem;
    top: 63%;
    left: 86%; */
    display: none;
  }
  html[lang='ja'] .p-mv__ptn.--07 {
    width: min(41px, 4.1rem);
    display: block;
    top: 94%;
    left: 85%;
  }
}

.p-mv__ptn.--08 {
  width: min(128px, 12.8rem);
  top: -7%;
  left: 59%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--08 {
    width: 7.4rem;
    top: 96%;
    left: 64%;
  }
  html[lang='ja'] .p-mv__ptn.--08 {
    display: none;
  }
}

.p-mv__ptn.--09 {
  width: min(108px, 10.8rem);
  top: 83%;
  left: -3%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--09 {
    display: none;
  }
}

.p-mv__ptn.--10 {
  width: min(123px, 12.3rem);
  top: 7%;
  left: 50%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--10 {
    width: 7.1rem;
    top: 9%;
    left: -3%;
  }
}

.p-mv__ptn.--11 {
  width: min(106px, 10.6rem);
  top: 62%;
  left: 94%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--11 {
    /* width: 7.1rem;
    top: 54%;
    left: 91%; */
    display: none;
  }
}

.p-mv__ptn.--12 {
  width: min(59px, 5.9rem);
  top: 51%;
  left: -1%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--12 {
    /* width: 4rem;
    top: 67%;
    left: 19%; */
    display: none;
  }
}

.p-mv__ptn.--13 {
  width: min(59px, 5.9rem);
  top: 15%;
  left: 15%;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--13 {
    width: 4rem;
    top: 3%;
    left: auto;
    right: 3.5%;
  }
}

.p-mv__ptn.--14 {
  display: none;
}

@media all and (max-width: 576px) {
  .p-mv__ptn.--14 {
    display: block;
    width: 7.1rem;
    top: 94%;
    left: 9%;
  }
}

.p-mv__scroll {
  position: absolute;
  bottom: 0;
  right: 90px;
  width: 1px;
  height: 120px;
  background-color: #000;
}

html[lang='ja'] .p-mv__scroll {
  bottom: min(100px, 10rem);
}

@media all and (max-width: 576px) {
  .p-mv__scroll {
    right: 50%;
    translate: 50% 0;
    height: 60px;
    bottom: 0;
  }
  html[lang='ja'] .p-mv__scroll {
    bottom: 24px;
    height: 80px;
  }

  /* html[lang='en'] .p-mv__scroll,
  html[lang='ko'] .p-mv__scroll {
    height: 60px;
  } */
}

.p-mv__scroll::before {
  font-family: 'Rubik', sans-serif;
  width: max-content;
  content: 'Scroll';
  display: block;
  font-size: min(18px, 1.8rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  left: 8px;
}

@media all and (max-width: 576px) {
  .p-mv__scroll::before {
    font-size: min(14px, 1.4rem);
  }
}

.p-mv__scroll::after {
  content: '';
  display: block;
  width: 6px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
  transform: translateZ(0);
  animation: scroll 1.5s ease-out infinite;
}

@keyframes scroll {
  0% {
    top: 0;
  }
  90% {
    top: 100%;
  }
  100% {
    top: 100%;
  }
}

.p-mv__btn {
  margin-top: min(30px, 3rem);
}

@media all and (max-width: 576px) {
  .p-mv__btn {
    margin-top: 1.8rem;
  }
}

.p-mv__btn a {
  width: max-content;
  padding: min(10px, 1rem) min(20px, 2rem);
  background-color: #fff;
  border: solid 1px #000;
  color: #000;
  border-radius: 9999px;
  font-size: min(18px, 1.8rem);
  display: flex;
  align-items: center;
  transition: all 0.3s ease-out;
}

.p-mv__btn.--alert a {
  border: solid 1px #e60011;
  color: #e60011;
}


@media all and (max-width: 576px) {
  .p-mv__btn a {
    padding: 1rem 2rem;
    font-size: 1.5rem;
    line-height: 1.5;
    border-radius: 15px;
  }
  .p-mv__btn.--alert a {
    margin: 0 auto;
  }
}

@media (hover: hover) {
  .p-mv__btn a:hover {
    color: #fff;
    background-color: #000;
  }
  .p-mv__btn.--alert a:hover {
    color: #fff;
    background-color: #e60011;
  }
}

.p-mv__btn a::after {
  content: '';
  display: inline-block;
  width: min(16px, 1.6rem);
  aspect-ratio: 1;
  margin-left: min(10px, 1rem);
  background: url(../img/common/ico_arrow_black.svg) no-repeat center center / contain;
  transition: all 0.3s ease-out;
}

.p-mv__btn.--alert a::after {
  width: 14px;
  background: url(../img/common/ico_external_red.svg) no-repeat center center / contain;
}

@media all and (max-width: 576px) {
  .p-mv__btn a::after {
    width: 15px;
    margin-left: 1rem;
  }
  .p-mv__btn.--alert a::after {
    width: 10px;
  }
}

@media (hover: hover) {
  .p-mv__btn a:hover::after {
    background-image: url(../img/common/ico_arrow_white.svg);
  }
  .p-mv__btn.--alert a:hover::after {
    background-image: url(../img/common/ico_external_white.svg);
  }
}

.p-mv__announce {
  opacity: 0;
  margin: 4.6rem 0;
}
@media all and (max-width: 576px) {
  .p-mv__announce {
    margin: 4rem 0;
  }
}
.p-mv.is-show .p-mv__announce {
  animation: fadeInUp 0.3s ease-out 1s forwards;
}
.p-mv__announce p{
  font-size: min(24px, 2.4rem);
  text-align: center;
  line-height: 1.75;
  letter-spacing: .05em;
  font-weight: 500;
}
@media all and (max-width: 576px) {
  .p-mv__announce p{
    font-size: 1.5rem;
    margin: 0 calc(50% - 50vw);
  }
}

/* msg
------------------------------*/
.p-msg {
  width: 100%;
  padding: min(120px, 12rem) 0;
  background: url(../img/top/msg_bg.jpg) repeat-x center center/ auto 100%;
}

@media all and (max-width: 576px) {
  .p-msg {
    padding: 6rem 0;
    background-image: url(../img/top/msg_bg_sp.jpg);
  }
}

.p-msg__inner {
  width: min(1200px, 120rem);
  background-color: #fff;
  border-radius: 40px;
  margin: 0 auto;
  padding: min(70px, 7rem) min(95px, 9.5rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media all and (max-width: 576px) {
  .p-msg__inner {
    flex-direction: column;
    width: 35rem;
    border-radius: 25px;
    padding: 5rem 3rem 4rem;
  }
}

.p-msg__img {
  width: 24.75%;
  aspect-ratio: 619/303;
}

@media all and (max-width: 576px) {
  .p-msg__img {
    width: 19rem;
    margin-bottom: 3rem;
  }
}

.p-msg__txt {
  width: 70.3%;
  line-height: 2;
  font-size: min(18px, 1.8rem);
  font-weight: 500;
}

html[lang='en'] .p-msg__txt {
  line-height: 1.5;
}

@media all and (max-width: 576px) {
  .p-msg__txt {
    width: 100%;
    font-size: 1.6rem;
  }
}

/* event
------------------------------*/
.p-event {
  padding: min(80px, 8rem) 0 min(120px, 12rem);
}

@media all and (max-width: 576px) {
  .p-event {
    padding: 6rem 0;
  }
}

.p-event__inner {
  width: min(1320px, 132rem);
  margin: 0 auto;
}

@media all and (max-width: 576px) {
  .p-event__inner {
    width: 35rem;
  }
}

.p-event__heading {
  font-family: 'Rubik', sans-serif;
  font-size: min(80px, 8rem);
  font-weight: 600;
  color: #62b947;
  letter-spacing: 0;
  line-height: 1;
  margin: 0 0 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media all and (max-width: 576px) {
  .p-event__heading {
    font-size: 4.8rem;
    margin: 0 0 5px;
    text-align: center;
  }
}

.p-event__heading::before,
.p-event__heading::after {
  content: '';
  display: block;
  width: min(63px, 6.3rem);
  aspect-ratio: 1;
  background: url(../img/top/event_heading_img.svg) no-repeat center center/contain;
}

@media all and (max-width: 576px) {
  .p-event__heading::before,
  .p-event__heading::after {
    width: 4rem;
  }
}

.p-event__heading::before {
  margin-right: min(30px, 3rem);
}

.p-event__heading::after {
  margin-left: min(30px, 3rem);
}

@media all and (max-width: 576px) {
  .p-event__heading::before {
    margin-right: 1.2rem;
  }

  .p-event__heading::after {
    margin-left: 1.2rem;
  }
}

.p-event__sub {
  font-size: min(28px, 2.8rem);
  font-weight: 500;
  line-height: normal;
  margin-bottom: min(48px, 4.8rem);
  text-align: center;
}

@media all and (max-width: 576px) {
  .p-event__sub {
    font-size: 2.2rem;
    margin-bottom: 3rem;
  }
}

/* card
------------------------------*/
.p-event__cards {
  margin-bottom: min(170px, 17rem);
}

@media all and (max-width: 576px) {
  .p-event__cards {
    margin-bottom: 9rem;
  }
}

.p-event__card {
  margin-bottom: min(40px, 4rem);
}

@media all and (max-width: 576px) {
  .p-event__card {
    margin-bottom: 2rem;
  }
}

.p-event__card.--col2 {
  display: grid;
  gap: 0 min(40px, 4rem);
  grid-template-columns: repeat(2, 1fr);
}

@media all and (max-width: 576px) {
  .p-event__card.--col2 {
    gap: 2rem 0;
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-event__card-notes {
  font-size: min(16px, 1.6rem);
  margin-top: min(12px, 1.2rem);
}

@media all and (max-width: 576px) {
  .p-event__card-notes {
    font-size: 1.4rem;
  }
}

/* event map
------------------------------*/
.p-event__map {
  background-color: #faf7e0;
  border-radius: 40px;
  margin-bottom: min(40px, 4rem);
  padding: min(55px, 5.5rem) min(65px, 6.5rem);
}

@media all and (max-width: 576px) {
  .p-event__map {
    border-radius: 0;
    margin-bottom: 3rem;
    width: 39rem;
    margin-left: -2rem;
    margin-right: -2rem;
    padding: 6rem 2rem;
  }
}

.p-event__map-inner {
  position: relative;
  z-index: 0;
}

.p-event__map-header {
  position: absolute;
  top: 0;
  left: 0;
}

@media all and (max-width: 576px) {
  .p-event__map-header {
    position: static;
    margin-bottom: 3.6rem;
  }
}

.p-event__map-heading {
  width: 100%;
  font-family: 'Rubik', sans-serif;
  font-size: min(72px, 7.2rem);
  font-weight: 600;
  color: #62b947;
  letter-spacing: 0;
  line-height: 1;
  margin: 0 0 15px;
}

@media all and (max-width: 576px) {
  .p-event__map-heading {
    font-size: 4.8rem;
    margin: 0 0 5px;
    text-align: center;
  }
}

.p-event__map-sub {
  font-size: min(24px, 2.4rem);
  font-weight: 500;
  line-height: normal;
}

@media all and (max-width: 576px) {
  .p-event__map-sub {
    font-size: 2.2rem;
    text-align: center;
  }
}

/* .p-event__map-img {
  width: 82.5%;
  margin-left: auto;
}

@media all and (max-width: 576px) {
  .p-event__map-img {
    width: 100%;
    margin-left: 0;
  }

  .p-event__map-img img {
    opacity: 0;
  }
} */

html[lang='en'] .p-event__map-img {
  padding-bottom: min(190px, 19rem);
}

@media all and (max-width: 576px) {
  html[lang='en'] .p-event__map-img {
    padding-bottom: 0;
  }
}

.p-event__map-legend {
  position: absolute;
  bottom: 0;
  left: 0;
  width: min(430px, 43rem);
}

@media all and (max-width: 576px) {
  .p-event__map-legend {
    position: static;
    max-width: 304px;
    margin: 1rem auto 0;
  }
}

.leaflet-container {
  background-color: #faf7e0;
}

/* .leaflet-container {
  background-color: #faf7e0;
  opacity:0;
  pointer-events: none;
}

@media all and (max-width: 576px) {
  .leaflet-container {
    opacity:1;
    pointer-events: auto;
  }
} */

/* event table
------------------------------*/
.p-event__table {
  width: 98%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}

.p-event__table-inner {
  display: flex;
}

html[lang='ja'] .p-event__table-left {
  width: min(259px, 25.9rem);
}

html[lang='ja'] .p-event__table-left img {
  height: 100%;
}

html[lang='en'] .p-event__table-left {
  width: min(243.1px, 24.31rem);
}

html[lang='en'] .p-event__table-left img{
  height: 100%;
}

html[lang='zh-cmn-Hans'] .p-event__table-left {
  width: min(276px, 27.6rem);
}

html[lang='ko'] .p-event__table-left {
  width: min(278px, 27.8rem);
}

html[lang='ko'] .p-event__table-left img{
  height: 100%;
}

@media all and (max-width: 576px) {
  html[lang='ja'] .p-event__table-left {
    width: min(145.82px, 14.582rem);
  }

  html[lang='en'] .p-event__table-left {
    width: min(137.1px, 13.71rem);
  }

  html[lang='zh-cmn-Hans'] .p-event__table-left {
    width: min(155px, 15.5rem);
  }

  html[lang='ko'] .p-event__table-left {
    width: min(157px, 15.7rem);
  }
}

.p-event__table-right {
  flex: 1;
  overflow-x: auto;
  cursor: grab;
}

.p-event__table-right:active {
  cursor: grabbing;
}

html[lang='ja'] .p-event__table-right img {
  width: min(1310px, 131rem);
}

html[lang='en'] .p-event__table-right img {
  width: min(1305px, 130.5rem);
}

html[lang='zh-cmn-Hans'] .p-event__table-right img {
  width: min(1395px, 139.5rem);
}

html[lang='ko'] .p-event__table-right img {
  width: min(1404px, 140.4rem);
}

@media all and (max-width: 576px) {
  html[lang='ja'] .p-event__table-right img {
    width: min(737.56px, 73.756rem);
  }

  html[lang='en'] .p-event__table-right img {
    width: min(736px, 73.6rem);
  }

  html[lang='zh-cmn-Hans'] .p-event__table-right img {
    width: min(783.5px, 78.35rem);
  }

  html[lang='ko'] .p-event__table-right img {
    width: min(792.8px, 79.28rem);
  }
}

.p-event__table::before {
  content: '';
  display: block;
  position: absolute;
  top: 8%;
  left: 50%;
  translate: -50% 0;
  width: min(180px, 18rem);
  aspect-ratio: 180/90;
  background: url('../img/top/scroll.svg') no-repeat center center/contain;
  transition: all 0.3s ease-out;
  z-index: 1;
  animation: buruburu 2s linear infinite;
}

.p-event__table.is-hide::before {
  opacity: 0;
  pointer-events: none;
}

@media all and (max-width: 576px) {
  .p-event__table::before {
    width: 10rem;
  }
}

@keyframes buruburu {
  0% {
    transform: translateX(0);
  }
  5% {
    transform: translateX(-10px);
  }
  10% {
    transform: translateX(10px);
  }
  15% {
    transform: translateX(-10px);
  }
  20% {
    transform: translateX(10px);
  }
  25% {
    transform: translateX(0px);
  }
}

/* link
------------------------------*/
.p-link {
  margin-bottom: min(40px, 4rem);
}

@media all and (max-width: 576px) {
  .p-link {
    margin-bottom: 4rem;
  }
}

.p-link__inner {
  width: min(1320px, 132rem);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media all and (max-width: 576px) {
  .p-link__inner {
    width: 35rem;
  }
}

.p-link__left {
  width: min(500px, 50rem);
}

@media all and (max-width: 576px) {
  .p-link__left {
    width: 100%;
    margin-bottom: 2rem;
  }
}

.p-link__right {
  width: min(790px, 79rem);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media all and (max-width: 576px) {
  .p-link__right {
    width: 100%;
  }
}

.p-link__block {
  border-radius: 30px;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@media all and (max-width: 576px) {
  .p-link__block {
    border-radius: 25px;
  }
}

.p-link__block.--01 {
  width: 100%;
  margin-bottom: min(30px, 3rem);
  aspect-ratio: 500/402;
}

@media all and (max-width: 576px) {
  .p-link__block.--01 {
    margin-bottom: 2rem;
    aspect-ratio: 350/280;
  }
}

.p-link__block.--02 {
  width: 100%;
  border: solid 2px #fff;
  aspect-ratio: 500/198;
}

@media all and (max-width: 576px) {
  .p-link__block.--02 {
    margin-bottom: 2rem;
  }
}

.p-link__block.--03 {
  width: 100%;
  margin-bottom: min(30px, 3rem);
  aspect-ratio: 790/345;
}

@media all and (max-width: 576px) {
  .p-link__block.--03 {
    margin-bottom: 2rem;
    aspect-ratio: 350/180;
  }
}

.p-link__block.--05 {
  width: 100%;
  aspect-ratio: 790/255;
}

@media all and (max-width: 576px) {
  .p-link__block.--05 {
    width: 100%;
    margin-bottom: 2rem;
    aspect-ratio: 350/200;
  }
}

.p-link__block a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 0;
}

.p-link__block a > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-out;
}

@media (hover: hover) {
  .p-link__block a:hover > img {
    transform: scale(1.05);
  }
}
.p-link__block.--01 a::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #b1852f;
  opacity: 0.7;
  z-index: 1;
}

html[lang="ja"] .p-link__block.--01 a::after {
  content: 'PDF';
  font-family: 'Rubik', sans-serif;
  color: #fff;
  font-size: min(16px, 1.6rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
  top: min(20px, 2rem);
  right: min(20px, 2rem);
  background-color: #e60012;
  z-index: 1;
  border-radius: 10px;
  padding: 0.4em 0.8em;
}

@media all and (max-width: 576px) {
  .p-link__block.--01 a::after {
    font-size: 1.4rem;
  }
}

.p-link__block.--03 a::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #008c1f;
  opacity: 0.7;
  z-index: 1;
}

.p-link__block.--03 a::after {
  content: '';
  display: block;
  position: absolute;
  top: min(30px, 3rem);
  right: min(30px, 3rem);
  z-index: 1;
  width: min(18px, 1.8rem);
  aspect-ratio: 1;
  background: url(../img/common/ico_external_white.svg) no-repeat center center/contain;
}

@media all and (max-width: 576px) {
  .p-link__block.--03 a::after {
    top: 2rem;
    right: 2rem;
  }
}

.p-link__block-txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  text-align: center;
}

.p-link__block.--01 .p-link__block-txt {
  text-align: left;
}

.p-link__block.--03 .p-link__block-txt {
  text-align: center;
}

.p-link__block-txt__heading {
  font-family: 'Rubik', sans-serif;
  font-size: min(56px, 5.6rem);
  line-height: 1;
  letter-spacing: 0;
  font-weight: 600;
  color: #fff;
  margin-bottom: min(15px, 1.5rem);
  width: max-content;
}

@media all and (max-width: 576px) {
  .p-link__block-txt__heading {
    font-size: 3.8rem;
    margin-bottom: 1rem;
  }
}

.p-link__block-txt__sub {
  font-size: min(20px, 2rem);
  line-height: normal;
  font-weight: 500;
  color: #fff;
}

.p-link__block.--01 .p-link__block-txt__sub {
  width: max-content;
}

@media all and (max-width: 576px) {
  .p-link__block-txt__sub {
    font-size: 1.6rem;
  }
}

.p-link__block-tsurumi {
  width: 42.33%;
  aspect-ratio: 334/135;
  position: absolute;
  top: min(15px, 1.5rem);
  left: min(15px, 1.5rem);
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media all and (max-width: 576px) {
  .p-link__block-tsurumi {
    width: 61.14%;
    aspect-ratio: 214/135;
    top: 2rem;
    left: 2rem;
  }
}

.p-link__block-tsurumi::after {
  content: '';
  display: block;
  position: absolute;
  top: min(15px, 1.5rem);
  right: min(15px, 1.5rem);
  z-index: 1;
  width: min(10px, 1rem);
  aspect-ratio: 1;
  background: url(../img/common/ico_external_black.svg) no-repeat center center/contain;
}

.p-link__block-tsurumi__img {
  width: 59.88%;
}

@media all and (max-width: 576px) {
  .p-link__block-tsurumi__img {
    width: 71.96%;
  }
}

.p-link__block-cycle {
  width: 59%;
  aspect-ratio: 226/123;
  position: absolute;
  bottom: min(15px, 1.5rem);
  left: min(15px, 1.5rem);
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

html[lang='en'] .p-link__block-cycle {
  aspect-ratio: 226/114;
}

html[lang='zh-cmn-Hans'] .p-link__block-cycle {
  aspect-ratio: 226/131;
}

html[lang='ko'] .p-link__block-cycle {
  aspect-ratio: 226/127;
}

@media all and (max-width: 576px) {
  .p-link__block-cycle {
    bottom: 2rem;
    left: 2rem;
  }
}

/* .p-link__block-cycle::after {
  content: '';
  display: block;
  position: absolute;
  top: min(15px, 1.5rem);
  right: min(15px, 1.5rem);
  z-index: 1;
  width: min(10px, 1rem);
  aspect-ratio: 1;
  background: url(../img/common/ico_external_black.svg) no-repeat center center/contain;
} */

.p-link__block-cycle__img {
  width: 83%;
}

.p-link__block-cycle__coming {
  font-family: 'Rubik', sans-serif;
  font-size: min(12px, 1.2rem);
  font-weight: 500;
  line-height: normal;
  background-color: #e7e7e7;
  padding: 0.4em 0.8em;
  border-radius: 4px;
  margin-top: min(12px, 1.2rem);
  opacity: 0.7;
}

.p-preEventBtn {
  margin: 0 auto min(40px, 4rem);
  width: min(228px, 22.8rem);
  aspect-ratio: 228/37;
}

html[lang='en'] .p-preEventBtn {
  width: min(295px, 29.5rem);
  aspect-ratio: 295/37;
}

html[lang='zh-cmn-Hans'] .p-preEventBtn {
  width: min(232px, 23.2rem);
  aspect-ratio: 232/40;
}

html[lang='ko'] .p-preEventBtn {
  width: min(213px, 21.3rem);
  aspect-ratio: 213/40;
}

.p-preEventBtn .c-btn {
  font-size: min(14px, 1.4rem);
  font-weight: 500;
}

/* contact
------------------------------*/
.p-contact {
  margin-bottom: min(77px, 7.7rem);
}

@media all and (max-width: 576px) {
  .p-contact {
    margin-bottom: 6rem;
  }
}

.p-contact__inner {
  width: min(1320px, 132rem);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media all and (max-width: 576px) {
  .p-contact__inner {
    width: 35rem;
  }
}

.p-contact__block {
  background: #fff;
  border-radius: 20px;
  padding: min(30px, 3rem) min(20px, 2rem);
}

.p-contact__block.--01 {
  /* width: 75.75%; */
  width: 78%;
}

@media all and (max-width: 576px) {
  .p-contact__block.--01 {
    width: 100%;
    margin-bottom: 2rem;
  }
}

.p-contact__block.--02 {
  /* width: 21.96%; */
  width: 19.7%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media all and (max-width: 576px) {
  .p-contact__block.--02 {
    width: 100%;
    flex-direction: row;
    padding-top: min(55px, 5.5rem);
    padding-bottom: min(55px, 5.5rem);
  }
}

.p-contact__block-top {
  font-size: min(22px, 2.2rem);
  font-weight: 500;
  text-align: center;
  margin-bottom: min(20px, 2rem);
  letter-spacing: 0;
  line-height: normal;
}

@media all and (max-width: 576px) {
  .p-contact__block-top {
    font-size: 2rem;
    line-height: inherit;
    margin-bottom: 2.4rem;
  }

  html[lang='en'] .p-contact__block-top {
    font-size: 1.6rem;
  }
}

.p-contact__block-top span {
  width: 1.5em;
  display: inline-block;
}

@media all and (max-width: 576px) {
  .p-contact__block-top span {
    display: none;
  }
}

.p-contact__block-btm {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  letter-spacing: 0;
  line-height: normal;
}

@media all and (max-width: 576px) {
  .p-contact__block-btm {
    flex-direction: column;
    gap: 0;
  }
}

.p-contact__block-btm .txt01 {
  font-size: min(18px, 1.8rem);
  font-weight: 500;
  background-color: #ededed;
  border-radius: 6px;
  padding: 0.3em 0.6em;
}

@media all and (max-width: 576px) {
  .p-contact__block-btm .txt01 {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
}

.p-contact__block-btm .txt02 {
  font-size: min(22px, 2.2rem);
  font-weight: 500;
}

@media all and (max-width: 576px) {
  .p-contact__block-btm .txt02 {
    font-size: 2rem;
    margin-bottom: 1.4rem;
    text-align: center;
  }
}

.p-contact__block-btm .txt03 {
  font-size: min(22px, 2.2rem);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 3px;
}

@media all and (max-width: 576px) {
  .p-contact__block-btm .txt03 {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
}

.p-contact__block-btm .txt03 span img {
  width: min(29px, 2.9rem);
  aspect-ratio: 29/22;
  vertical-align: -0.15em;
  margin: 0 0.1em;
}

@media all and (max-width: 576px) {
  .p-contact__block-btm .txt03 span img {
    width: 2.9rem;
  }
}

.p-contact__block-btm .txt04 {
  font-size: min(14px, 1.4rem);
  font-weight: 500;
}

@media all and (max-width: 576px) {
  .p-contact__block-btm .txt04 {
    font-size: 1.3rem;
    text-align: center;
  }
}

.p-sns__title {
  font-family: 'Rubik', sans-serif;
  font-size: min(20px, 2rem);
  font-weight: 500;
  margin-bottom: min(10px, 1rem);
  color: #008c1f;
  text-align: center;
}

@media all and (max-width: 576px) {
  .p-sns__title {
    font-size: 1.8rem;
    margin-right: 4rem;
    margin-bottom: 0;
  }
}

.p-sns__list ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(50px, 5rem);
}

@media all and (max-width: 576px) {
  .p-sns__list ul {
    gap: 4rem;
  }
}

.p-sns__list ul li {
  width: min(40px, 4rem);
  aspect-ratio: 1;
}

@media all and (max-width: 576px) {
  .p-sns__list ul li {
    width: 3rem;
  }
}

.p-event__card-img {
  position: relative;
}

.p-event__card-img.--01 .block__btn {
  width: min(186px, 18.6rem);
  aspect-ratio: 186 / 48;
  position: absolute;
  bottom: min(40px, 4rem);
  left: min(420px, 42rem);
}


@media all and (max-width: 576px) {
  .p-event__card-img.--01 .block__btn {
    width: 14.7rem;
    aspect-ratio: 147/41;
    right: auto;
    bottom: 30rem;
    left: 2.8rem;
  }
}

.p-event__card-img.--02 .block__btn.--01 {
  width: min(186px, 18.6rem);
  aspect-ratio: 186 / 48;
  position: absolute;
  bottom: min(300px, 30rem);
  right: min(444px, 44.4rem);
}


@media all and (max-width: 576px) {
  .p-event__card-img.--02 .block__btn.--01 {
    width: 14.7rem;
    aspect-ratio: 147/41;
    right: auto;
    bottom: auto;
    top: 40rem;
    left: 2.8rem;
  }
}

.p-event__card-img.--02 .block__btn.--02 {
  width: min(186px, 18.6rem);
  aspect-ratio: 186 / 48;
  position: absolute;
  bottom: min(100px, 10rem);
  right: min(110px, 10.1rem);
}


@media all and (max-width: 576px) {
  .p-event__card-img.--02 .block__btn.--02 {
    width: 14.7rem;
    aspect-ratio: 147/41;
    right: auto;
    bottom: 37rem;
    left: 2.8rem;
  }
}

.p-event__card-img.--03 .block__btn {
  width: min(173px, 17.3rem);
  aspect-ratio: 173 / 48;
  position: absolute;
  bottom: min(167px, 16.7rem);
  right: min(177px, 17.7rem);
}


@media all and (max-width: 576px) {
  .p-event__card-img.--03 .block__btn {
    width: 13.6rem;
    aspect-ratio: 136/41;
    right: auto;
    /* bottom: min(148px, 14.8rem);
    left:min(30px, 3rem); */
    bottom: 14.8rem;
    left: 3rem;
  }
}

.p-event__card-img.--04 .block__btn.--01 {
  width: min(173px, 17.3rem);
  aspect-ratio: 173 / 48;
  position: absolute;
  bottom: min(278px, 27.8rem);
  right: min(458px, 45.8rem);
}


@media all and (max-width: 576px) {
  .p-event__card-img.--04 .block__btn.--01 {
    width: 13.6rem;
    aspect-ratio: 136/41;
    right: auto;
    /* bottom: min(380px, 38rem);
    left: min(28px, 2.8rem); */
    bottom: 38rem;
    left: 2.8rem;
  }
}

.p-event__card-img.--04 .block__btn.--02 {
  width: min(173px, 17.3rem);
  aspect-ratio: 173 / 48;
  position: absolute;
  bottom: min(72px, 7.2rem);
  left: min(427px, 42.7rem);
}


@media all and (max-width: 576px) {
  .p-event__card-img.--04 .block__btn.--02 {
    width: 13.6rem;
    aspect-ratio: 136/41;
    bottom: auto;
    right: auto;
    /* top: min(426px, 42.6rem);
    left:min(26px, 2.6rem); */
    top: 42.6rem;
    left: 2.6rem;
  }
}

.p-event__card-img.--05 .block__btn {
  width: min(186px, 18.6rem);
  aspect-ratio: 186 / 48;
  position: absolute;
  bottom: min(200px, 20rem);
  right: min(550px, 55rem);
}


@media all and (max-width: 576px) {
  .p-event__card-img.--05 .block__btn {
    width: 14.7rem;
    aspect-ratio: 147/41;
    right: auto;
    bottom: 41rem;
    left: 2.8rem;
  }
}

.p-event__card-img.--06 .block__btn {
  width: min(196px, 19.6rem);
  aspect-ratio: 196 / 48;
  position: absolute;
  bottom: min(80px, 8rem);
  left: min(380px, 38rem);
}


@media all and (max-width: 576px) {
  .p-event__card-img.--06 .block__btn {
    width: 15.6rem;
    aspect-ratio: 156/41;
    /* bottom: min(100px, 10rem);
    left: min(18px, 1.8rem); */
    bottom: 10rem;
    left: 1.8rem;
    right: auto;
  }
}
