/* =============================================
Top
============================================= */

@keyframes top-main-fade { 0% { opacity:0; filter: blur(1.5rem); } 100% { opacity:1; filter: blur(0); } }
#top_mainvisual-area { width:100%; margin:auto; }
#top_mainvisual { width:100%; aspect-ratio:1470 / 950; /* for animation */ opacity:0; animation: top-main-fade 1s forwards; }
#top_mainvisual > span { display:block; width:100%; height:100%; background-image:url(../img/top/mv_pc.jpg); background-position:center center; background-repeat:no-repeat; background-size:cover; text-indent:-9999px; }
@media all and (max-width: 767px) {
#top_mainvisual { aspect-ratio:861 / 1089; }
#top_mainvisual > span { background-image:url(../img/top/mv_smp.jpg); }
}

.box {
  margin-bottom: 40px;
}


/* schedule
=================================== */

#top-schedule {
  padding-top: 20px;
}

.schedule-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2%;
}

.next-date {
  width: 49%;
  margin-bottom: 20px;
  padding:1px 0 20px 0;
  box-sizing: border-box;
  background: url(../img/top/next_bg.jpg) no-repeat center top;
  background-size: cover;
}

.nxdt-box {
  display: flex;
  justify-content:center;
  align-items: center;
  color: #fff;
}

.nxdt-ttl {
  margin: 15px 0 20px 0;
  padding: 10px 0;
  border-top: #fff 1px solid;
  border-bottom: #fff 1px solid;
}

.nxdt-ttl > .ttl {
  width: calc(258px / 2);
  aspect-ratio: 258 / 92;
  margin: auto;
  background: url(../img/top/next_ttl.png) no-repeat center center;
  background-size: cover;
  text-indent: -9999px;
}

.nxdt-l,
.nxdt-r {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.nxdt-l img,
.nxdt-r img {
  width: 5.0em;
  height: auto;
}
.cnt-name {
  margin-top: 0.5em;
  font-weight: 700;
  font-size: 120%;
}

.nxdt-c {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 1em;
  font-family: "gotham", sans-serif;
  font-weight: 700;
}
.nxdt-ch-ttl {
  margin-bottom: 0.4em;
  text-align: center;
  width: 100%;
}
.nxdt-ch {
  display: block;
  padding: 0.1em 0.5em;
  background-color: #fff;
  color: var(--cl-m-blue);
  font-size:120%;
}
.nxdt-oatm {
  display: block;
  margin-bottom: 0.8em;
  padding: 0.3em 0;
  box-sizing: border-box;
  border: 2px solid #fff;
  color: #fff;
  font-size:90%;
}

.nxdt-dt {
  font-size: 240%;
}
.nxdt-yb {
  font-size: 50%;
}

.nxdt-tm {
  margin-bottom: 0.2em;
  font-size: 300%;
}
.nxdt-tmzn {
  display: inline-block;
  font-size: 40%;
  width:1em;
}

.nxdt-rd {
  margin-bottom: 0.5em;
}

.top-mov {
  width: 49%;
  margin-bottom: 20px;
}

.schedule-jp-w,
.schedule-jp-m {
  width: 49%;
  aspect-ratio: 1290 / 1286;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  text-indent: -9999px;
}

.schedule-jp-w {
  background-color: var(--cl-w-red);
}

.schedule-jp-m {
  background-color: var(--cl-m-blue);
}

/* ----- media queries ----- */

@media all and (max-width: 767px) {

.next-date {
  width: 96%;
  margin: 0 2% 1vw;
  padding: 1px 0 4vw;
  font-size: 3.6vw;
}

.top-mov {
  width: 96%;
  margin: 0 2% 2vw;
}

.schedule-box {
  gap: 2vw;
  flex-direction: column;
}

.schedule-jp-w,
.schedule-jp-m {
  width:100%;
}

}

/* outline
=================================== */

#outline .subttl > .ttl {
  width: calc(374px / 2);
  aspect-ratio: 374 / 132;
  background-image: url(../img/top/outline_ttl.png);
}

.outline-box {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  transition: aspect-ratio 0.8s ease-in-out;
}

.outline-box.is-open {
  aspect-ratio: 1410 / 6788;
}

.outline-box::before {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  background: linear-gradient(0deg, rgba(255, 255, 255, 1) 5%, rgba(255, 255, 255, 0.01) 100%);
  /* for animation */
  opacity: 1;
  transition: opacity 0.4s ease;
}

.outline-box.is-open::before {
  opacity: 0;
  pointer-events: none;
}

.outline-pic {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
}

.btn-open {
  position: absolute;
  z-index: 3;
  bottom: 20px;
  left: 25%;
  width: 50%;
  aspect-ratio: 1194 / 135;
  background: url(../img/top/btn_viewall.png) no-repeat center center;
  background-size: cover;
  text-indent: -9999px;
  cursor: pointer;
  transition: opacity 0.4s;
}

@media (hover: hover) {
  .btn-open:hover {
    opacity: 0.8;
  }
}

/* ----- media queries ----- */

@media all and (max-width: 767px) {

.outline-box {
  margin: 0 2%;
}

.btn-open {
  left: 5%;
  width: 90%;
}

}



/* supporter
=================================== */

#supporter {
  padding-top: 15px;
  background-color: var(--cl-gold);
}

#supporter .subttl {
  width: 100%;
  border-top-color: #fff;
  border-bottom-color: #fff;
}

#supporter .subttl > .ttl {
  width: calc(568px / 2);
  aspect-ratio: 568 / 134;
  background-image: url(../img/top/supporter_ttl.png);
}

#supporter .inner {
  display: flex;
  flex-wrap: wrap;
  padding:0 20px 20px 20px;
}

.supporter-pic {
  width: 50%;
}
.supporter-pic .picture {
  aspect-ratio: 861 / 501;
  background: url(../img/top/supporter_pic.jpg) no-repeat center center;
  background-size: cover;
  text-indent: -9999px;
}
.supporter-text {
  display: flex;
  align-items: center;
  width: 50%;
  padding:0 0 0 20px;
  box-sizing: border-box;
  font-size: 120%;
  line-height: 1.6;
  font-weight: 700;
}

/* ----- media queries ----- */

@media all and (max-width: 767px) {

#supporter .subttl {
  margin-bottom: 15px;
}

#supporter .inner {
  display: block;
  padding:0;
}

.supporter-pic {
  width: 100%;
}

.supporter-text {
  display: block;
  width: 100%;
  padding: 3vw;
  font-size:4.0vw;
}

}



/* message
=================================== */

.message-pic {
  aspect-ratio: 1600 / 901;
  background-image: url(../img/top/message2_pc.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
}

/* ----- media queries ----- */

@media all and (max-width: 767px) {

  .message-pic {
    aspect-ratio: 860 / 1201;
    background-image: url(../img/top/message2_smp.jpg);
  }

}

/*eof*/
