@charset "UTF-8";
@import url("https://use.fontawesome.com/releases/v5.15.4/css/all.css");
@import url("//cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css");
@import url("//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css");
html {
  font-size: 62.5%;
  overflow-y: auto;
  overflow-x: clip;
}

body {
  background: #000;
  overflow-x: clip;
}

.main {
  font-family: "Noto Sans JP", sans-serif;
  overflow: visible;
}

.spDIS {
  display: none;
}

.pcDIS {
  display: block;
}

.kome {
  font-size: 0.8rem !important;
  line-height: 1.4 !important;
}

.txt-bold-l {
  font-weight: bold;
  font-size: 120%;
}

.kvArea__img img {
  width: 100%;
}

.fixed {
  position: fixed;
  z-index: 100;
  top: 0;
  width: 100%;
}

p,
a {
  font-family: "Noto Sans JP", "メイリオ", sans-serif;
}

a {
  transition: 0.2s;
}

.dynamic-fade-in {
  opacity: 0;
  transform: scale(1.35);
  transform-origin: center;
  filter: blur(10px);
  transition: opacity 900ms ease, transform 1200ms cubic-bezier(0.16, 1, 0.3, 1), filter 900ms ease;
  will-change: opacity, transform, filter;
}
.dynamic-fade-in.is-visible {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

.seasonopening2024Header__jLogo {
  position: fixed;
  left: 15px;
  top: 15px;
  z-index: 100000;
}
.seasonopening2024Header__jLogo a img {
  width: 40px;
}

/* ==========================================================================
　  kv
========================================================================== */
.kv_area {
  width: 100%;
  height: calc(100lvh + 48.0158730159vw);
  position: relative;
  z-index: 0;
}
.kv_area h1 {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 100%;
  aspect-ratio: 1512/726;
  position: sticky;
  top: 0;
}
.kv_area h1 img {
  width: 100%;
  height: auto;
  display: block;
  opacity: 0;
  transition: opacity 1000ms ease;
}
.kv_area h1 img.spDIS {
  display: none;
}
.kv_area h1 img.pcDIS {
  display: block;
}
.kv_area h1 img.is-visible {
  opacity: 1;
}

/* ==========================================================================
　  lead
========================================================================== */
.lead_area {
  margin-top: -100lvh;
  position: relative;
  z-index: 1;
}
.lead_area .lead_mask {
  width: 100%;
  height: 100lvh;
  display: flex;
  align-items: flex-end;
  position: sticky;
  top: 0;
  overflow: hidden;
  z-index: 2;
}
.lead_area .lead_mask::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background-image: url("/img/special/2026-27/0807-new-opening/mask_wht.svg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100%;
  clip-path: inset(0 50% 0 50%);
  opacity: 0;
  transition: clip-path 400ms ease, opacity 1000ms ease;
}
.lead_area .lead_mask.is-visible::before {
  clip-path: inset(0 0 0 0);
  opacity: 1;
}
.lead_area .lead_inner {
  margin-top: -100lvh;
  padding: 180px 0 0;
  position: relative;
  z-index: 1;
}
.lead_area .lead_inner h2 {
  margin: 0 auto 100px;
  width: 90%;
  max-width: 889px;
}
.lead_area .lead_inner h2 img {
  width: 100%;
}
.lead_area .lead_inner .lead_txt {
  width: 90%;
  margin: 0 auto;
  padding-bottom: 234px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 27px;
}
.lead_area .lead_inner .lead_txt p {
  color: #000;
  font-weight: 900;
  font-size: 20px;
  line-height: 2;
  text-align: center;
}
.lead_area .lead_inner .lead_txt p.lead_txt_l {
  margin-top: 27px;
  font-size: 40px;
}
.lead_area .lead_bg {
  width: 100%;
  height: 100lvh;
  margin-top: -100lvh;
  overflow: hidden;
  position: sticky;
  top: 0;
  z-index: 0;
  pointer-events: none;
}
.lead_area .lead_bg::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: url("/img/special/2026-27/0807-new-opening/stadium.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}
.lead_area .lead_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 0;
  will-change: transform;
}

/* ==========================================================================
　  bunner
========================================================================== */
.bunner_area {
  display: flex;
  flex-direction: column;
  gap: 30px;
  font-size: 0;
  line-height: 0;
  width: 100%;
  margin: 0 auto;
  margin-top: -1px;
  padding: 50px 0 120px;
  position: relative;
  z-index: 2;
  background: #fff;
}
.bunner_area a {
  display: block;
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
.bunner_area img {
  display: block;
  width: 100%;
}

/* ==========================================================================
　  slide
========================================================================== */
.slide_area {
  overflow: hidden;
  background: #000;
}
.slide_area h2 {
  width: 90%;
  max-width: 812px;
  margin: 0 auto;
  padding: 170px 0 110px;
}
.slide_area h2 img {
  width: 100%;
}

.slide_list {
  display: flex;
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
  will-change: transform;
}
.slide_list li {
  flex: 0 0 330px;
  width: 330px;
  margin: 0;
  padding: 0;
}
.slide_list img {
  width: 330px;
  height: auto;
  display: block;
}

.season_area {
  color: #fff;
  position: relative;
  background: #000;
  padding-bottom: 130px;
}
.season_area::before {
  content: "";
  width: 100%;
  height: 100lvh;
  position: sticky;
  top: 0;
  display: block;
  margin-bottom: -100lvh;
  background-image: url("/img/special/2026-27/0807-new-opening/bg_blk.svg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100%;
  pointer-events: none;
  z-index: 0;
}
.season_area h2 {
  padding-top: 130px;
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: 45px;
  font-weight: 900;
}
.season_area .season_box {
  display: flex;
  flex-direction: column;
  gap: 60px;
  width: 90%;
  max-width: 1100px;
  margin-inline: auto;
  padding: 130px 0;
  position: relative;
  z-index: 1;
}
.season_area .season_box h3 {
  display: flex;
  align-items: center;
  gap: 18px;
}
.season_area .season_box h3 .num {
  width: 56px;
  font-size: 0;
  line-height: 0;
}
.season_area .season_box h3 .num img {
  width: 100%;
}
.season_area .season_box h3 .txt {
  font-size: 45px;
  font-weight: 900;
  margin: 0;
}
.season_area .season_box h3:after {
  content: "";
  display: block;
  flex: 1;
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.6);
}
.season_area .season_box .season_lead {
  text-align: center;
  font-size: 20px;
  line-height: 2;
  font-weight: 900;
}
.season_area .season_box .arrow-txt {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #CECECE;
  font-size: 33px;
  font-weight: 900;
  gap: 5px;
  position: relative;
  padding-bottom: 60px;
  line-height: 1;
}
.season_area .season_box .arrow-txt span {
  font-size: 14px;
  font-weight: 900;
}
.season_area .season_box .arrow-txt:after {
  content: "";
  display: block;
  position: absolute;
  width: 97px;
  height: 32px;
  background: #CECECE;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  bottom: 0;
}
.season_area .season_box .season_txt {
  text-align: center;
  font-size: 22px;
  line-height: 2.4;
  font-weight: 900;
}
.season_area .season_box .season_txt span {
  font-size: 40px;
  font-weight: 900;
  color: #000;
  background: #fff;
}
.season_area .season_box .season_txt b {
  display: inline-block;
  color: #fff;
  font-size: 46px;
  font-weight: 900;
  line-height: 1.25;
}
.season_area .season_box .season_txt_l {
  text-align: center;
  font-size: 35px;
  line-height: 2;
  font-weight: 900;
}
.season_area .season_box .season_txt_l span {
  font-size: 86px;
  font-weight: 900;
}
.season_area .season_box .schedule_ttl {
  text-align: center;
  font-size: 45px;
  font-weight: 900;
  display: block;
}
.season_area .season_box .schedule_ttl:after {
  display: none;
}

.last_box {
  padding: 200px 0;
  width: 100%;
  color: #fff;
  background-color: #000;
  position: relative;
}
.last_box .last_box_inner {
  max-width: 1100px;
  width: 90%;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.last_box img {
  width: 100%;
  font-size: 0;
  line-height: 0;
}
.last_box p {
  text-align: center;
  font-size: 30px;
  line-height: 2;
  font-weight: 900;
}
.last_box p span {
  color: #FF0000;
  font-weight: 900;
}
