@keyframes bgAnim {
  0% {
    background-size: 100%;
  }
  100% {
    background-size: 120%;
  }
}
@keyframes loop {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(200%);
  }
}
.page-title {
  background: url("/_materials/img/stage/bg-title_jp_sp.jpg") no-repeat center 0/cover;
}
@media (min-width: 769px) {
  .page-title {
    background: url("/_materials/img/stage/bg-title_jp_pc.jpg") no-repeat center 0/cover;
  }
}

@media (min-width: 769px) {
  .sp {
    display: none;
  }
}

.section-block {
  margin: 0 0 10.4166666667vw;
}
@media (min-width: 769px) {
  .section-block {
    margin: 0 0 2.5vw;
  }
}

/* =======================================================
Stage TOP
======================================================= */
.stage-top .section-block .stage-block {
  position: relative;
  width: 100%;
  height: 104.1666666667vw;
  border-top: 1.8229166667vw solid #bc65ff;
  border-bottom: 1.8229166667vw solid #bc65ff;
  margin: 0 0 10.4166666667vw;
  overflow: hidden;
}
@media (min-width: 769px) {
  .stage-top .section-block .stage-block {
    width: 100%;
    height: 28.71875vw;
    border-top: 0.625vw solid #191919;
    border-bottom: 0.625vw solid #191919;
    margin: 0 0 2.5vw;
  }
  .stage-top .section-block .stage-block:last-child {
    margin: 0;
  }
}
/* Stage Name */
.stage-top .section-block .stage-block .stage-name {
  position: absolute;
  top: 0;
  background: url(/_materials/img/stage/sp-stage-name.png) repeat-y center;
  background-size: 100%;
  padding: 0 0 0.78125vw;
  width: 100%;
  text-align: center;
}
@media (min-width: 769px) {
  .stage-top .section-block .stage-block .stage-name {
    position: absolute;
    top: -1px;
    height: 4.9375vw;
    background: rgba(0, 0, 0, 0.8);
    margin: -0.03125vw;
    padding: 0;
    width: 100%;
    z-index: 10;
  }
}
.stage-top .section-block .stage-block .stage-name dl.sp {
  display: none;
}
.stage-top .section-block .stage-block .stage-name dl dt {
  background: #C6FF00;
  display: inline-block;
  color: #191919;
  vertical-align: middle;
  font-size: 4.9479166667vw;
  border-radius: 4.9479166667vw;
  padding: 0 6.1197916667vw 0.1302083333vw;
  display: inline-block;
  margin: 3.2552083333vw 0 -0.2604166667vw;
}
@media (min-width: 769px) {
  .stage-top .section-block .stage-block .stage-name dl dt {
    font-size: 1.625vw;
    border-radius: 1.1875vw;
    padding: 0 1.46875vw;
    margin: -0.9375vw 0.9375vw 0 0;
    position: relative;
    top: -0.15625vw;
  }
}
.stage-top .section-block .stage-block .stage-name dl dd {
  color: #fff;
  font-size: 9.11458vw;
  text-align: left;
  display: inline-block;
  padding: 1.30208vw 5.20833vw 2.60417vw;
  line-height: 1;
}
@media (min-width: 769px) {
  .stage-top .section-block .stage-block .stage-name dl dd {
    font-size: 2.8125vw;
    line-height: 1.6;
    padding: 0;
  }
}
/* Hover Animation */
@media (min-width: 769px) {
  .stage-top .section-block .stage-block:not(.coming):hover {
    border-top: 0.625vw solid #bc65ff;
    border-bottom: 0.625vw solid #bc65ff;
  }
  .stage-top .section-block .stage-block a .stage-bg img{
    transition: all 0.5s ease-in-out;
  }
  .stage-top .section-block .stage-block:not(.coming) a:hover .stage-bg img{
    transform:scale(1.2,1.2);
    transition: all 0.5s ease-in-out;
  }
  .stage-top .section-block .stage-block:not(.coming):hover .stage-name {
    height: 4.9375vw;
    background: rgba(35, 14, 56, 0.8);
    margin: -0.03125vw;
  }
}

/* Coming soon */
.stage-top .section-block .stage-block.coming {
  background: url(/_materials/img/stage/comingsoon-sp.jpg) no-repeat center;
  background-size: 100%;
}
@media (min-width: 769px) {
  .stage-top .section-block .stage-block.coming {
    background: url(/_materials/img/stage/comingsoon.jpg) no-repeat center;
    background-size: 100%;
  }
}

/* =======================================================
Stage Sub
======================================================= */
.stage-sub .section-block {
  margin: 0 0 26.1458333333vw;
  background: url(/_materials/img/stage/_detail/stage-block-bg.jpg) center;
  background-size: 5.5%;
  position: relative;
}
@media (min-width: 769px) {
  .stage-sub .section-block {
    margin: 0 0 7.09375vw;
    background: url(/_materials/img/stage/_detail/stage-block-bg.jpg) repeat center;
    position: relative;
  }
}
/* 見出し h2 */
.stage-sub .section-title {
  margin: 0 0 12.3697916667vw;
  padding: 3.2552083333vw 3.90625vw 4.5572916667vw 5.2083333333vw;
  text-align: center;
}
.section-title-inner{
  text-align: center;
}
@media (min-width: 769px) {
  .stage-sub .section-title {
    position: relative;
    top: -4vw;
    margin: 0 auto;
    padding: 0;
  }
}
.section-title span.gb {
  font-size: 4.9479166667vw;
  background: #c6ff00;
  text-shadow: none;
  -webkit-text-stroke: 0;
  color: #191919;
  border: 0.9114583333vw solid #191919;
  border-radius: 13.0208333333vw;
  padding: 1.3020833333vw 6.5104166667vw 1.3020833333vw;
  margin: 0 auto;
  text-align: center;
  display: inline-block;
}
@media (min-width: 769px) {
  .section-title span.gb {
    font-size: 1.75vw;
    background: #c6ff00;
    text-shadow: none;
    -webkit-text-stroke: 0;
    color: #191919;
    border: 0.3125vw solid #191919;
    border-radius: 1.75vw;
    padding: 0.3125vw 3.09375vw 0.3125vw;
    margin: 0 0.9375vw 0 0;
    left: auto;
    transform: none;
  }
}
.stage-sub .section-block .stage-block {
  position: relative;
  width: 100%;
  height: 142.16vw;
  border-top: 1.8229166667vw solid #191919;
  border-bottom: none;
  overflow: hidden;
  /* margin: 0 0 10.4166666667vw; */
  
}
@media (min-width: 769px) {
  .stage-sub .section-block .stage-block {
    width: 100%;
    height: 56.25vw;
    border-top: 0.625vw solid #191919;
    border-bottom: 0.625vw solid #191919;
    margin: 0 0 2.5vw;
    overflow: hidden;
    position: relative;
  }
  .stage-sub .stage-block .stage-bg img {
      width: 100%;
  }
}

/* 見出し */
.stage-sub .section-block .stage-block .stage-name {
  position: absolute;
  top: 0;
  background: rgba(49, 43, 93, 0.8);
  background-size: 100%;
  width: 100%;
  padding: 0 0 0.78125vw;
  text-align: center;
}
@media (min-width: 769px) {
  .stage-sub .section-block .stage-block .stage-name {
    height: auto;
    background: rgba(49, 43, 93, 0.8);
    margin: -0.03125vw;
    padding: 0.46875vw 5.20833vw 0.78125vw;
    position: absolute;
    z-index: 1;
    width: 100%;
  }
}
@media (-ms-high-contrast: none) and (min-width: 769px) {
  .stage-sub .section-block .stage-block .stage-name h2 {
    padding: 1.40625vw 0 0;
  }
  .stage-sub .section-block .stage-block .stage-name h2 span {
    line-height: 2;
  }
}
.stage-sub .section-block .stage-block .stage-name dl dd {
  color: #fff;
  font-size: 9.11458vw;
  text-align: left;
  display: inline-block;
  padding: 2.8645833333vw 5.20833vw 2.8645833333vw;
  line-height: 1.4;
  font-size: 4.4270833333vw;
  text-shadow: 0 0 10px #000;
}
@media (min-width: 769px) {
  .stage-sub .section-block .stage-block .stage-name dl dd {
    font-size: 2.125vw;
    line-height: 1.4;
    padding: 0;
  }
}

/* Slider */
.stage-sub .section-block .slide {
  background: url(/_materials/img/stage/_detail/slider-bg.png) no-repeat center;
  background-size: cover;
  width: 100%;
  height: 42.96875vw;
  position: absolute;
  bottom: -9.765625vw;
}
.stage-sub .section-block .slide .slider {
  padding: 6.1197916667vw 0;
}
.stage-sub .section-block .slide .slider li {
  width: 54.0364583333vw;
  margin: 0 2.2135416667vw 0 0;
  border-radius: 0.6510416667vw;
  overflow: hidden;
}
@media (min-width: 769px) {
  .stage-sub .section-block .slide {
    background: url(/_materials/img/stage/_detail/slider-bg.png) no-repeat center;
    background-size: 100%;
    width: 100%;
    height: 14.9375vw;
    position: absolute;
    bottom: 2.5vw;
    margin: 0;
  }
  .stage-sub .section-block .slide .slider {
    padding: 2.25vw 0;
  }
  .stage-sub .section-block .slide .slider li {
    width: 18.53125vw;
    margin: 0 0.78125vw 0 0;
    border-radius: 0.15625vw;
  }
}

/* Gimmik */
.stage-sub .section-block.gimmik{
  padding: 0 0 3.3125vw;
}
.stage-sub .section-block .stage-gimmik {
  position: relative;
  margin: 0 auto 10.4166666667vw;
  overflow: hidden;
  border-top: 0.9114583333vw solid #191919;
  border-bottom: 0.9114583333vw solid #191919;
}
@media (min-width: 769px) {
  .stage-sub .section-block .stage-gimmik {
    width: 93.75vw;
    border: none;
    box-sizing: border-box;
    border-radius: 0.84375vw;
    margin: 0 auto 3.125vw;
    overflow: hidden;
    border: 0.3125vw solid #191919;
  }
}

.stage-sub .section-block .stage-gimmik .gimmik-img {
  background: url(/_materials/img/stage/_detail/gimmick-item-bg.jpg) repeat center top;
  background-size: 6%;
  text-align: center;
}
@media (max-width: 768px) {
.stage-sub .section-block .stage-gimmik .gimmik-img .img{
  min-width: 140%;
}
.stage-sub .section-block .stage-gimmik .gimmik-img .img img{
  width: 100%;
  height: 68vw;
  margin-left: -28%;
  object-fit: cover;
}
}
@media (min-width: 769px) {
  .stage-sub .section-block .stage-gimmik .gimmik-img {
    background: url(/_materials/img/stage/_detail/gimmick-item-bg.jpg) repeat center top;
    background-size: 2vw;
  }
  .stage-sub .section-block .stage-gimmik .gimmik-img .img img {
    width: 100%;
    height: 34vw;
    object-fit: cover;
  }
}

/* 2Column */
.section-block .stage-gimmik .gimmik-img.column2 .gimmik-item {
  width: 70%;
  margin: 0 auto;
}

@media (min-width: 769px) {
  .section-block .stage-gimmik .gimmik-img.column2{
    display: flex;
  }
  .section-block .stage-gimmik .gimmik-img.column2 .gimmik-item {
    width: 36%;
    padding: 0;
  }
  .section-block .stage-gimmik .gimmik-img.column2 .img {
    width: 64%;
  }
}

/* h3 */
.section-block .stage-gimmik h3 {
  text-align: center;
  background: #d5a8fb;
  font-size: 5.7291666667vw;
  border-bottom: 0.9114583333vw solid #191919;
  padding: 3.90625vw 2.6041666667vw;
}
@media (min-width: 769px) {
  .section-block .stage-gimmik h3 {
    text-align: center;
    background: #d5a8fb;
    font-size: 2.25vw;
    border-radius: 0.625vw 0.625vw 0 0;
    border-bottom: 0.3125vw solid #191919;
    padding: 0.625vw 2.6041666667vw;
  }
}

/* h3 Arrow */
.section-block .stage-gimmik h3.arrow {
  position: relative;
}
.section-block .stage-gimmik h3.arrow:before,
.section-block .stage-gimmik h3.arrow:after {
  position: absolute;
  z-index: 2;
}
.section-block .stage-gimmik h3.arrow:before {
  content: "";
  width: 0;
  height: 0;
  border-left: 9.1145833333vw solid transparent;
  border-right: 9.1145833333vw solid transparent;
  border-top: 9.1145833333vw solid black;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 769px) {
  .section-block .stage-gimmik h3.arrow:before {
    content: "";
    width: 0;
    height: 0;
    border-left: 2.4375vw solid transparent;
    border-right: 2.4375vw solid transparent;
    border-top: 2.4375vw solid black;
    top: 101%;
    left: 16%;
    transform: none;
  }
}
.section-block .stage-gimmik h3.arrow:after {
  content: "";
  width: 0;
  height: 0;
  border-left: 8.8541666667vw solid transparent;
  border-right: 8.8541666667vw solid transparent;
  border-top: 8.8541666667vw solid #d5a8fb;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 769px) {
  .section-block .stage-gimmik h3.arrow:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 2.3125vw solid transparent;
    border-right: 2.3125vw solid transparent;
    border-top: 2.3125vw solid #d5a8fb;
    top: 99%;
    left: 16.1%;
    transform: none;
  }
}

/* Button */
.btn-ninja-top {
  text-align: center;
  margin: 9.1145833333vw auto 12.109375vw !important;
}
@media (min-width: 769px) {
  .btn-ninja-top {
    margin: 3.34375vw auto 2.8125vw !important;
  }
}