/* ==========================================================================
	GLITCH
========================================================================== */
/* ==========================================================================
	BANNER
========================================================================== */
.top__bnr {
  opacity: 0;
  z-index: 5;
}
@media (max-width: 1019px) {
  .top__bnr {
    bottom: 4.1vw;
    left: calc(100% - 223.4px);
    margin-top: -68px;
    position: -webkit-sticky;
    position: sticky;
    width: 223.4px;
  }
}
@media (min-width: 1020px) {
  .top__bnr {
    position: fixed;
    left: 20px;
    bottom: 77px;
    max-width: 280px;
    width: 14.5vw;
  }
}
@media (min-width: 1020px) {
  .top__bnr.-bannerone {
    bottom: 70px;
  }
}
@media (min-width: 1020px) {
  .top__bnr .wiper-wrapper {
    height: 26px;
  }
}
.top__bnr .bnr_swiper-pagination {
  display: block;
  text-align: right;
}
@media (max-width: 1019px) {
  .top__bnr .bnr_swiper-pagination {
    position: absolute;
    bottom: -15px;
    right: 0;
    bottom: -15px !important;
    height: 16px;
    line-height: 8px;
  }
}
@media (min-width: 1020px) {
  .top__bnr .bnr_swiper-pagination {
    height: 16px;
    line-height: 8px;
  }
}
.top__bnr .swiper-pagination-bullet {
  background: #fff;
  opacity: 1;
  transition: opacity 0.2s;
}
@media (max-width: 1019px) {
  .top__bnr .swiper-pagination-bullet {
    height: 4.5px;
    width: 4.5px;
  }
}
@media (min-width: 1020px) {
  .top__bnr .swiper-pagination-bullet {
    height: 6px;
    width: 6px;
  }
}
.top__bnr .swiper-pagination-bullet:hover {
  opacity: 0.7;
}
.top__bnr .swiper-pagination-bullet-active {
  background: #70F00F;
}
.top__bnr img {
  pointer-events: all !important;
  width: 100%;
}
@media (min-width: 1020px) {
  .top__bnr img {
    transition: all 0.3s ease;
  }
}
@media (min-width: 1020px) and (min-width: 1020px) {
  .top__bnr img:hover {
    opacity: 0.7;
  }
}
.-loadingend .top__bnr {
  -webkit-animation: bannerInXSp 0.5s 1.5s forwards;
          animation: bannerInXSp 0.5s 1.5s forwards;
}
@media (min-width: 1020px) {
  .-loadingend .top__bnr {
    -webkit-animation: bannerInXPc 0.5s 1.5s forwards;
            animation: bannerInXPc 0.5s 1.5s forwards;
  }
}

@-webkit-keyframes bannerInXPc {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes bannerInXPc {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@-webkit-keyframes bannerInXSp {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes bannerInXSp {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.top__wovn {
  height: 52px;
  z-index: 999;
}
@media (max-width: 1019px) {
  .top__wovn {
    position: fixed;
    left: 4.1vw;
    bottom: 4.1vw;
  }
}
@media (min-width: 1020px) {
  .top__wovn {
    position: fixed;
    left: 20px;
    bottom: 20px;
  }
}
.top__wovn img {
  height: 100%;
}

/* ==========================================================================
	CASTSTAFF
========================================================================== */
.caststaff {
  position: relative;
}
@media (max-width: 1019px) {
  .caststaff {
    margin-top: -9.3vw;
  }
}
@media (min-width: 1020px) {
  .caststaff {
    margin-top: 124px;
  }
}
@media (max-width: 1019px) {
  .caststaff .c-section-ttl {
    position: absolute;
    top: 0;
    left: -7.6vw;
  }
}
@media (min-width: 1020px) {
  .caststaff .c-section-ttl {
    position: absolute;
    top: 0;
    left: -45px;
  }
}

.caststaff__ttl {
  line-height: 1;
  position: relative;
}
@media (max-width: 1019px) {
  .caststaff__ttl {
    position: absolute;
    top: -20px;
    left: -10.3vw;
    width: 173px;
  }
}
@media (min-width: 1020px) {
  .caststaff__ttl {
    position: absolute;
    top: -24px;
    left: -42px;
    width: 182px;
  }
}
.caststaff__ttl::before {
  content: "";
}
@media (max-width: 1019px) {
  .caststaff__ttl::before {
    position: absolute;
    left: -3.9vw;
    bottom: -2px;
    background: url(../img/top/caststaff/deco_stripe_nrw.png) no-repeat top center/contain;
    height: 86px;
    width: 86px;
    z-index: 0;
  }
}
@media (min-width: 1020px) {
  .caststaff__ttl::before {
    position: absolute;
    top: -35px;
    left: -35px;
    background: url(../img/top/caststaff/deco_stripe_wide.png) no-repeat top center/contain;
    height: 86px;
    width: 86px;
    z-index: 0;
  }
}
.caststaff__ttl .ttl {
  background: #000;
  color: #70F00F;
  font-weight: 700;
  position: relative;
  text-align: center;
  z-index: 1;
}
@media (max-width: 1019px) {
  .caststaff__ttl .ttl {
    font-size: 0.8125rem;
    letter-spacing: 0.4em;
  }
}
@media (min-width: 1020px) {
  .caststaff__ttl .ttl {
    font-size: 0.875rem;
    letter-spacing: 0.45em;
  }
}
.caststaff__ttl .ttl::after {
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  content: "";
  height: 100%;
  transform-origin: right;
  transition: transform 0.5s ease;
  width: 100%;
}
.-scrollfunc .caststaff__ttl .ttl::after {
  transform: scale(0, 1);
}
.caststaff__ttl .subttl {
  background: #70F00F;
  color: #000;
  font-weight: 700;
  position: relative;
  text-align: center;
  z-index: 1;
}
@media (max-width: 1019px) {
  .caststaff__ttl .subttl {
    font-size: 0.625rem;
    letter-spacing: 0.7em;
    margin-left: -51.9px;
    transform: scale(0.6);
    width: 276.8px;
  }
}
@media (min-width: 1020px) {
  .caststaff__ttl .subttl {
    font-size: 0.625rem;
    letter-spacing: 0.7em;
    margin-left: -54.6px;
    transform: scale(0.6);
    width: 291.2px;
  }
}
.caststaff__ttl .subttl::after {
  position: absolute;
  top: 0;
  left: 0;
  background: #70F00F;
  content: "";
  height: 100%;
  transform-origin: right;
  transition: transform 0.5s ease;
  width: 100%;
}
.-scrollfunc .caststaff__ttl .subttl::after {
  transform: scale(0);
}
.caststaff__ttl.-scrollfunc .ttl::after {
  transform: scale(0, 1);
}
.caststaff__ttl.-scrollfunc .subttl::after {
  transform: scale(0);
}

.caststaff__inner {
  position: relative;
}
@media (max-width: 1019px) {
  .caststaff__inner {
    margin-left: 12.5vw;
    margin-top: 23vw;
    padding: 25px 0 125px 5.3vw;
  }
}
@media (min-width: 1020px) {
  .caststaff__inner {
    border-left: 2px solid rgba(255, 255, 255, 0.5);
    margin: 0 15.6vw auto auto;
    max-width: 872px;
    padding: 55px 0 150px 26px;
    width: 68.1vw;
  }
}
.caststaff__inner::before {
  background: rgba(255, 255, 255, 0.5);
  content: "";
}
@media (max-width: 1019px) {
  .caststaff__inner::before {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 1px;
  }
}

.caststaff__cont {
  position: relative;
}
@media (max-width: 1019px) {
  .caststaff__cont + .caststaff__cont {
    margin-top: 45px;
  }
}
@media (min-width: 1020px) {
  .caststaff__cont + .caststaff__cont {
    margin-top: 100px;
  }
}

@media (max-width: 1019px) {
  .caststaff__team + .caststaff__team,
.caststaff__team + .caststaff__line,
.caststaff__line + .caststaff__team,
.caststaff__line + .caststaff__line {
    margin-top: 23px;
  }
}
@media (min-width: 1020px) {
  .caststaff__team + .caststaff__team,
.caststaff__team + .caststaff__line,
.caststaff__line + .caststaff__team,
.caststaff__line + .caststaff__line {
    margin-top: 60px;
  }
}

/* .caststaff__line {
    &:nth-of-type(5) {
        .caststaff__item {
            &:nth-of-type(1) {
                @include MQ_NARROW {
                    min-width: getVW(300);
                }
            }
        }
    }
} */
.caststaff__team__ttl {
  display: inline-block;
  font-weight: 700;
  position: relative;
}
@media (max-width: 1019px) {
  .caststaff__team__ttl {
    font-size: 0.75rem;
  }
}
@media (min-width: 1020px) {
  .caststaff__team__ttl {
    font-size: 1rem;
  }
}
.caststaff__team__ttl::after {
  position: absolute;
  top: 0;
  left: 0;
  background: #70F00F;
  content: "";
  height: 100%;
  transform-origin: right;
  transition: transform 0.5s 0s ease;
  width: 100%;
}
.caststaff__team__ttl.-scrollfunc::after {
  transform: scale(0, 1);
}

.caststaff__list {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 1019px) {
  .caststaff__list {
    gap: 15px 0;
  }
}
@media (min-width: 1020px) {
  .caststaff__list {
    gap: 35px 26px;
  }
}
@media (max-width: 1019px) {
  .caststaff__list.-other {
    margin-top: 23px;
  }
}
@media (min-width: 1020px) {
  .caststaff__list.-other {
    margin-top: 60px;
  }
}

.caststaff__item {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 1019px) {
  .caststaff__item {
    min-width: 25.1vw;
  }
}
@media (min-width: 1020px) {
  .caststaff__item {
    min-width: 168px;
  }
}
.caststaff__item p::after {
  transform-origin: right;
}
.caststaff__item.-scrollfunc p::after {
  transform: scale(0, 1);
}
.caststaff__item .role {
  color: #aeaeae;
  display: inline-block;
  position: relative;
}
@media (max-width: 1019px) {
  .caststaff__item .role {
    font-size: 0.75rem;
    margin-top: 8px;
  }
}
@media (min-width: 1020px) {
  .caststaff__item .role {
    font-size: 1rem;
    margin-top: 12px;
  }
}
.caststaff__item .role::after {
  position: absolute;
  top: 0;
  left: 0;
  background: #70F00F;
  content: "";
  height: 100%;
  transition: transform 0.5s 0s ease;
  width: 100%;
}
.-staff .caststaff__item .role {
  margin-top: 0;
}
.caststaff__item .cv,
.caststaff__item .name {
  display: inline-block;
  position: relative;
}
@media (max-width: 1019px) {
  .caststaff__item .cv,
.caststaff__item .name {
    font-size: 1.125rem;
    margin-top: 5px;
  }
}
@media (min-width: 1020px) {
  .caststaff__item .cv,
.caststaff__item .name {
    font-size: 1.5rem;
    margin-top: 9px;
  }
}
.caststaff__item .cv::after,
.caststaff__item .name::after {
  position: absolute;
  top: 0;
  left: 0;
  background: #70F00F;
  content: "";
  height: 100%;
  transition: transform 0.5s 0.2s ease;
  width: 100%;
}
@media (max-width: 1019px) {
  .-staff .caststaff__item {
    min-width: 32vw;
  }
}
@media (max-width: 1019px) {
  .-staff .caststaff__item:nth-of-type(3) .role {
    letter-spacing: -0.07em;
    transform: scale(0.98);
    transform-origin: left;
  }
}

/* ==========================================================================
	INTRODUCTION
========================================================================== */
.introduction {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  padding: 0;
  position: relative;
}
@media (max-width: 1019px) {
  .introduction {
    margin-bottom: 38.4vw;
  }
}
@media (min-width: 1020px) {
  .introduction {
    margin-bottom: 300px;
  }
}
.introduction::before, .introduction::after {
  content: "";
  z-index: 0;
}
@media (max-width: 1019px) {
  .introduction::before, .introduction::after {
    position: absolute;
    left: 50%;
    bottom: -27vw;
    height: 91vw;
    transform: translateX(-50%);
    width: 74.8vw;
  }
}
@media (min-width: 1020px) {
  .introduction::before, .introduction::after {
    position: absolute;
    left: 0;
    bottom: -9.9vw;
    height: 10.4vw;
    max-height: 200px;
    max-width: 1535px;
    width: 79.9vw;
  }
}
@media (min-width: 1920px) {
  .introduction::before, .introduction::after {
    bottom: -117px;
  }
}
@media (max-width: 1019px) {
  .introduction::before {
    background: url(../img/top/introduction/ph_nrw_2.jpg) no-repeat top center/contain;
  }
}
@media (min-width: 1020px) {
  .introduction::before {
    background: url(../img/top/introduction/ph_wide_2.jpg) no-repeat top center/contain;
  }
}
.introduction::after {
  -webkit-animation: phAnimeGreen 5s 0s infinite;
          animation: phAnimeGreen 5s 0s infinite;
  background: #73D72F;
  mix-blend-mode: soft-light;
}

.introduction__inner {
  display: block;
  padding: 0;
  position: relative;
  z-index: 1;
}

@media (max-width: 1019px) {
  .introduction__subttl {
    position: absolute;
    top: -14.2vw;
    right: -11.6vw;
    height: 86px;
    width: 86px;
  }
}
@media (min-width: 1020px) {
  .introduction__subttl {
    position: absolute;
    top: -5vw;
    right: 0;
    height: 7.1vw;
    max-height: 138px;
    max-width: 138px;
    width: 7.1vw;
  }
}
@media (min-width: 1920px) {
  .introduction__subttl {
    position: absolute;
    top: -95px;
    right: 0;
  }
}
.introduction__subttl__inner {
  height: 100%;
  position: relative;
  width: 100%;
}
.introduction__subttl .bg {
  background: url(../img/top/caststaff/deco_stripe_nrw.png) no-repeat top center/contain;
  display: block;
  height: 100%;
  width: 100%;
}
@media (max-width: 1019px) {
  .introduction__subttl .bg {
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media (min-width: 1020px) {
  .introduction__subttl .bg {
    position: absolute;
    top: 50%;
    right: -24px;
    background: url(../img/top/caststaff/deco_stripe_wide.png) no-repeat top center/contain;
    height: 80px;
    transform: translateY(-50%);
    width: 80px;
  }
}
.introduction__subttl .txt {
  font-weight: 700;
  text-align: right;
}
@media (max-width: 1019px) {
  .introduction__subttl .txt {
    position: absolute;
    top: 33%;
    right: 6.4vw;
    font-size: 1.5vw;
    letter-spacing: 0.2em;
    line-height: 2.4;
    transform: translateY(-50%);
    width: 32vw;
    z-index: 0;
  }
}
@media (min-width: 1020px) {
  .introduction__subttl .txt {
    position: absolute;
    top: 50%;
    right: 0;
    font-size: 0.625rem;
    -webkit-animation: none;
            animation: none;
    letter-spacing: 0.2em;
    transform: translateY(-50%);
    width: 150px;
  }
}

.introduction__head {
  position: relative;
  width: 100%;
}
@media (max-width: 1019px) {
  .introduction__head {
    padding: 0 12.5vw;
  }
}
@media (min-width: 1020px) {
  .introduction__head {
    height: 428px;
    width: 100%;
  }
}

.introduction__ph {
  margin: 0 auto;
  position: relative;
}
@media (max-width: 1019px) {
  .introduction__ph {
    width: 100%;
  }
}
@media (min-width: 1020px) {
  .introduction__ph {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1758px;
  }
}
.introduction__ph img {
  position: relative;
  width: 100%;
}
.introduction__ph::after {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: phAnimeGreen 5s 0s infinite;
          animation: phAnimeGreen 5s 0s infinite;
  background: #73D72F;
  content: "";
  height: 100%;
  mix-blend-mode: soft-light;
  width: 100%;
}

@-webkit-keyframes phAnimeGreen {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 0;
  }
  82% {
    opacity: 1;
  }
  84% {
    opacity: 0;
  }
  86% {
    opacity: 1;
  }
  88% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

@keyframes phAnimeGreen {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 0;
  }
  82% {
    opacity: 1;
  }
  84% {
    opacity: 0;
  }
  86% {
    opacity: 1;
  }
  88% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.introduction__cont {
  display: flex;
  position: relative;
}
@media (max-width: 1019px) {
  .introduction__cont {
    align-items: center;
    height: 253.8vw;
    margin-top: -24.4vw;
    opacity: 0;
    padding: 0 7.6vw;
    will-change: opacity;
  }
}
@media (min-width: 1020px) {
  .introduction__cont {
    -webkit-clip-path: circle(0% at 50% 50%);
            clip-path: circle(0% at 50% 50%);
    height: 856px;
    justify-content: center;
    margin: 53px auto 0;
    padding: 45px 123px 0 123px;
    transform: translateX(50px);
    transition: -webkit-clip-path 1s 0.5s ease;
    transition: clip-path 1s 0.5s ease;
    transition: clip-path 1s 0.5s ease, -webkit-clip-path 1s 0.5s ease;
    width: 856px;
  }
}
@media (max-width: 1019px) {
  .-scrollfunc .introduction__cont {
    -webkit-animation: itemInOpa 0.3s 0s forwards ease;
            animation: itemInOpa 0.3s 0s forwards ease;
  }
}
@media (min-width: 1020px) {
  .-scrollfunc .introduction__cont {
    -webkit-clip-path: circle(70% at 50% 50%);
            clip-path: circle(70% at 50% 50%);
  }
}
.introduction__cont::after {
  position: absolute;
  top: 0;
  background: #70F00F;
  border-radius: 50%;
  content: "";
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 1019px) {
  .introduction__cont::after {
    height: 253.8vw;
    left: calc(50% - 37.1vw);
    transform: translateX(-50%);
    width: 253.8vw;
  }
}
@media (min-width: 1020px) {
  .introduction__cont::after {
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 856px;
  }
}
.introduction__cont::before {
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
@media (max-width: 1019px) {
  .introduction__cont::before {
    border: 2px solid #70F00F;
    height: 256.4vw;
    left: calc(50% - 37.1vw);
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 256.4vw;
  }
}
@media (min-width: 1020px) {
  .introduction__cont::before {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 4px solid #70F00F;
    height: 882px;
    transform: translate(-50%, -50%);
    width: 882px;
  }
}

.introduction__cont__inner {
  position: relative;
  z-index: 1;
}
@media (max-width: 1019px) {
  .introduction__cont__inner {
    height: 207.6vw;
  }
}
@media (min-width: 1020px) {
  .introduction__cont__inner {
    height: 685px;
  }
}

.introduction__cont__scroll {
  overflow-y: auto;
}
@media (max-width: 1019px) {
  .introduction__cont__scroll::-webkit-scrollbar {
    width: 5px;
  }
}
@media (min-width: 1020px) {
  .introduction__cont__scroll::-webkit-scrollbar {
    width: 4px;
  }
}
.introduction__cont__scroll::-webkit-scrollbar-track {
  background-color: rgba(0, 0, 0, 0.15);
}
.introduction__cont__scroll::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 100px;
}
@media (max-width: 1019px) {
  .introduction__cont__scroll {
    height: 173.7vw;
    margin-top: 3.8vw;
  }
}
@media (min-width: 1020px) {
  .introduction__cont__scroll {
    height: 478px;
    margin-top: 25px;
  }
}

.introduction__cont__ttl {
  position: relative;
}
@media (max-width: 1019px) {
  .introduction__cont__ttl {
    width: 34.6vw;
  }
}
@media (min-width: 1020px) {
  .introduction__cont__ttl {
    width: 166px;
  }
}
.introduction__cont__ttl::after {
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/top/introduction/ttl/deco_intro_nrw.svg) no-repeat top center/contain;
  content: "";
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left;
  transition: transform 0.5s 0.2s;
  width: 100%;
}
@media (min-width: 1020px) {
  .introduction__cont__ttl::after {
    background: url(../img/top/introduction/ttl/deco_intro.svg) no-repeat top center/contain;
  }
}
.-scrollfunc .introduction__cont__ttl::after {
  transform: scale(1, 1);
}

.introduction__cont__txt {
  color: #000;
  font-weight: 400;
}
@media (max-width: 1019px) {
  .introduction__cont__txt {
    font-size: 4.2vw;
    line-height: 1.8;
    margin-top: 5.1vw;
  }
}
@media (min-width: 1020px) {
  .introduction__cont__txt {
    font-size: 1.15625rem;
    line-height: 1.7894736842;
    margin-top: 18px;
  }
}
.introduction__cont__txt:nth-of-type(1) {
  margin-top: 0;
}
.introduction__cont__txt .txt-bold {
  font-weight: 900;
}
.introduction__cont__txt.-txt2 {
  font-weight: 700;
}
@media (max-width: 1019px) {
  .introduction__cont__txt.-txt2 {
    font-size: 6.4vw;
    line-height: 1.45;
    margin-top: 5.7vw;
    transform-origin: 0 0;
  }
}
@media (min-width: 1020px) {
  .introduction__cont__txt.-txt2 {
    font-size: 1.625rem;
    line-height: 1.4615384615;
    margin-top: 25px;
  }
}

.introduction__catch {
  position: absolute;
  will-change: opacity;
  z-index: 2;
}
@media (max-width: 1019px) {
  .introduction__catch {
    left: 41vw;
    top: 20.1vw;
    width: 58.4vw;
  }
}
@media (min-width: 1020px) {
  .introduction__catch {
    left: calc(50% - 457px);
    top: 80px;
    width: 214px;
  }
}
.introduction__catch img {
  width: 100%;
}

.introduction__catch__inner {
  opacity: 0;
  position: relative;
  transform: translate(20px, -20px);
  transition: all 0.8s 0.5s;
}
.-scrollfunc .introduction__catch__inner {
  opacity: 1;
  transform: translate(0, 0);
}
.introduction__catch__inner img {
  position: absolute;
  top: 0;
  left: 0;
  height: auto;
  width: 100%;
}

.introduction__anime {
  align-items: flex-start;
  display: flex;
  position: absolute;
  z-index: 2;
}
@media (max-width: 1019px) {
  .introduction__anime {
    flex-direction: row-reverse;
    left: 0;
    top: -8.4vw;
  }
}
@media (min-width: 1020px) {
  .introduction__anime {
    flex-direction: row-reverse;
    left: -108px;
    top: 18px;
  }
}
@media (max-width: 1019px) {
  .introduction__catch .introduction__anime {
    display: none;
  }
}
@media (min-width: 1020px) {
  .introduction__anime.-nrw {
    display: none;
  }
}

.introduction__anime__txt {
  background: #fff;
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
  display: inline-block;
  position: relative;
}
@media (max-width: 1019px) {
  .introduction__anime__txt {
    margin-left: -1px;
    transition: -webkit-clip-path 0.5s 0s ease;
    transition: clip-path 0.5s 0s ease;
    transition: clip-path 0.5s 0s ease, -webkit-clip-path 0.5s 0s ease;
    width: 8.9vw;
  }
}
@media (min-width: 1020px) {
  .introduction__anime__txt {
    margin-left: -1px;
    transition: -webkit-clip-path 0.5s 0.5s ease;
    transition: clip-path 0.5s 0.5s ease;
    transition: clip-path 0.5s 0.5s ease, -webkit-clip-path 0.5s 0.5s ease;
    width: 44px;
  }
}
.introduction__anime__txt::after {
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  content: "";
  height: 100%;
  transform-origin: bottom;
  width: 100%;
}
@media (max-width: 1019px) {
  .introduction__anime__txt::after {
    transition: transform 0.5s 0.5s ease;
  }
}
@media (min-width: 1020px) {
  .introduction__anime__txt::after {
    transition: transform 0.5s 1s ease;
  }
}
@media (min-width: 1020px) {
  .introduction__anime__txt.-txt1 {
    margin-left: -1px;
  }
}
.introduction__anime__txt.-txt2 {
  transition-delay: 0.2s;
}
.introduction__anime__txt.-txt2::after {
  transition-delay: 0.7s;
}
@media (min-width: 1020px) {
  .introduction__anime__txt.-txt2::after {
    transition-delay: 1.2s;
  }
}
.introduction__anime__txt.-txt3 {
  margin-left: 0;
  transition-delay: 0.4s;
}
.introduction__anime__txt.-txt3::after {
  transition-delay: 0.9s;
}
@media (min-width: 1020px) {
  .introduction__anime__txt.-txt3::after {
    transition-delay: 1.4s;
  }
}
.-scrollfunc .introduction__anime__txt {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
.-scrollfunc .introduction__anime__txt::after {
  transform: scale(1, 0);
}

/* ==========================================================================
    mainvisual__change
========================================================================== */
.mainvisual__change {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 1019px) {
  .mainvisual__change {
    position: absolute;
    left: 0;
    bottom: 20.2vw;
    z-index: 3;
  }
}
@media (min-width: 1020px) {
  .mainvisual__change {
    position: fixed;
    top: 0;
    left: 0;
  }
}
.-loadingend .mainvisual__change {
  -webkit-animation: changeBtnIn 0.6s 1.3s forwards;
          animation: changeBtnIn 0.6s 1.3s forwards;
}

@-webkit-keyframes changeBtnIn {
  0% {
    opacity: 0;
    transform: translateX(-150%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes changeBtnIn {
  0% {
    opacity: 0;
    transform: translateX(-150%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.mainvisual__change__inner {
  position: relative;
}
@media (min-width: 1020px) {
  .mainvisual__change__inner {
    transform: translateX(-150%);
    transition: transform 0.5s 0s;
  }
  [data-current=top] .mainvisual__change__inner {
    transform: translateX(0);
  }
}

.mainvisual__change__title {
  color: #70F00F;
  font-weight: 700;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
}
@media (max-width: 1019px) {
  .mainvisual__change__title {
    position: absolute;
    top: -27vw;
    left: 1.2vw;
    font-size: 2.5vw;
    letter-spacing: 0.1em;
    transform: scale(0.8);
  }
}
@media (min-width: 1020px) {
  .mainvisual__change__title {
    position: absolute;
    top: 8px;
    right: -16px;
    font-size: 0.625rem;
    letter-spacing: 0.5em;
    line-height: 1;
  }
}

.mainvisual__change__list {
  display: flex;
  flex-direction: column;
}

.mainvisual__change__item {
  display: inline-block;
  margin-bottom: -2px;
  pointer-events: all;
  position: relative;
}
@media (max-width: 1019px) {
  .mainvisual__change__item {
    height: 9.6vw;
    width: 9.6vw;
  }
}
@media (min-width: 1020px) {
  .mainvisual__change__item {
    cursor: pointer;
    height: 5.6vw;
    max-height: 72px;
    max-width: 72px;
    transition: filter 0.2s;
    width: 5.6vw;
  }
}
.mainvisual__change__item::after {
  position: absolute;
  top: 0;
  left: 0;
  border: 2px solid #000;
  content: "";
  height: 100%;
  width: 100%;
}
.mainvisual__change__item::before {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  content: "";
  height: 100%;
  opacity: 0;
  width: 100%;
}
.-anim .mainvisual__change__item {
  pointer-events: none;
}
.mainvisual__change__item[data-mvbtn="1"] {
  background: url(../img/top/mainvisual/thumbnail/ph_1.jpg) no-repeat top center/contain;
}
[data-mv="1"] .mainvisual__change__item[data-mvbtn="1"] {
  pointer-events: none;
}
[data-mv="1"] .mainvisual__change__item[data-mvbtn="1"]::before {
  opacity: 1;
}
.mainvisual__change__item[data-mvbtn="2"] {
  background: url(../img/top/mainvisual/thumbnail/ph_2.jpg) no-repeat top center/contain;
}
[data-mv="2"] .mainvisual__change__item[data-mvbtn="2"] {
  pointer-events: none;
}
[data-mv="2"] .mainvisual__change__item[data-mvbtn="2"]::before {
  opacity: 1;
}
.mainvisual__change__item[data-mvbtn="3"] {
  background: url(../img/top/mainvisual/thumbnail/ph_3.jpg) no-repeat top center/contain;
}
[data-mv="3"] .mainvisual__change__item[data-mvbtn="3"] {
  pointer-events: none;
}
[data-mv="3"] .mainvisual__change__item[data-mvbtn="3"]::before {
  opacity: 1;
}
.mainvisual__change__item[data-mvbtn="4"] {
  background: url(../img/top/mainvisual/thumbnail/ph_4.jpg) no-repeat top center/contain;
}
[data-mv="4"] .mainvisual__change__item[data-mvbtn="4"] {
  pointer-events: none;
}
[data-mv="4"] .mainvisual__change__item[data-mvbtn="4"]::before {
  opacity: 1;
}
.mainvisual__change__item[data-mvbtn="5"] {
  background: url(../img/top/mainvisual/thumbnail/ph_5.jpg) no-repeat top center/contain;
}
[data-mv="5"] .mainvisual__change__item[data-mvbtn="5"] {
  pointer-events: none;
}
[data-mv="5"] .mainvisual__change__item[data-mvbtn="5"]::before {
  opacity: 1;
}
.mainvisual__change__item[data-mvbtn="6"] {
  background: url(../img/top/mainvisual/thumbnail/ph_6.jpg) no-repeat top center/contain;
}
[data-mv="6"] .mainvisual__change__item[data-mvbtn="6"] {
  pointer-events: none;
}
[data-mv="6"] .mainvisual__change__item[data-mvbtn="6"]::before {
  opacity: 1;
}
.mainvisual__change__item[data-mvbtn="7"] {
  background: url(../img/top/mainvisual/thumbnail/ph_7.jpg) no-repeat top center/contain;
}
[data-mv="7"] .mainvisual__change__item[data-mvbtn="7"] {
  pointer-events: none;
}
[data-mv="7"] .mainvisual__change__item[data-mvbtn="7"]::before {
  opacity: 1;
}
.mainvisual__change__item[data-mvbtn="8"] {
  background: url(../img/top/mainvisual/thumbnail/ph_8.jpg) no-repeat top center/contain;
}
[data-mv="8"] .mainvisual__change__item[data-mvbtn="8"] {
  pointer-events: none;
}
[data-mv="8"] .mainvisual__change__item[data-mvbtn="8"]::before {
  opacity: 1;
}
.mainvisual__change__item[data-mvbtn="9"] {
  background: url(../img/top/mainvisual/thumbnail/ph_9.jpg) no-repeat top center/contain;
}
[data-mv="9"] .mainvisual__change__item[data-mvbtn="9"] {
  pointer-events: none;
}
[data-mv="9"] .mainvisual__change__item[data-mvbtn="9"]::before {
  opacity: 1;
}
.mainvisual__change__item[data-mvbtn="1"]:hover {
  filter: brightness(1.6);
}
.mainvisual__change__item[data-mvbtn="2"]:hover {
  filter: brightness(1.6);
}
.mainvisual__change__item[data-mvbtn="3"]:hover {
  filter: brightness(1.6);
}
.mainvisual__change__item[data-mvbtn="4"]:hover {
  filter: brightness(1.6);
}
.mainvisual__change__item[data-mvbtn="5"]:hover {
  filter: brightness(1.2);
}
.mainvisual__change__item[data-mvbtn="6"]:hover {
  filter: brightness(1.2);
}
.mainvisual__change__item[data-mvbtn="7"]:hover {
  filter: brightness(1.4);
}

/* ==========================================================================
    mainvisual__ph
========================================================================== */
.mainvisual__ph {
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
@media (max-width: 1019px) {
  .mainvisual__ph {
    height: 119.2vw;
    width: 84.3vw;
  }
}
@media (min-width: 1020px) {
  .mainvisual__ph {
    height: 94.2vw;
    max-height: 1810px;
    max-width: 1280px;
    width: 66.6vw;
  }
}
.mainvisual__ph.-top {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}
.-anim .mainvisual__ph .img {
  -webkit-animation: mvImgInYL 0.7s 0s;
          animation: mvImgInYL 0.7s 0s;
}
.mainvisual__ph .img.-bg {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
[data-mv="1"] .mainvisual__ph .img.-bg {
  background: url(../img/top/mainvisual/mv/ph_bg_1.jpg) no-repeat top center/contain;
}
[data-mv="2"] .mainvisual__ph .img.-bg {
  background: url(../img/top/mainvisual/mv/ph_bg_2.jpg) no-repeat top center/contain;
}
[data-mv="3"] .mainvisual__ph .img.-bg {
  background: url(../img/top/mainvisual/mv/ph_bg_3.jpg) no-repeat top center/contain;
}
[data-mv="4"] .mainvisual__ph .img.-bg {
  background: url(../img/top/mainvisual/mv/ph_bg_4.jpg) no-repeat top center/contain;
}
[data-mv="5"] .mainvisual__ph .img.-bg {
  background: url(../img/top/mainvisual/mv/ph_bg_5.jpg) no-repeat top center/contain;
}
[data-mv="6"] .mainvisual__ph .img.-bg {
  background: url(../img/top/mainvisual/mv/ph_bg_6.jpg) no-repeat top center/contain;
}
[data-mv="7"] .mainvisual__ph .img.-bg {
  background: url(../img/top/mainvisual/mv/ph_bg_7.jpg) no-repeat top center/contain;
}
[data-mv="8"] .mainvisual__ph .img.-bg {
  background: url(../img/top/mainvisual/mv/ph_bg_8.jpg) no-repeat top center/contain;
}
[data-mv="9"] .mainvisual__ph .img.-bg {
  background: url(../img/top/mainvisual/mv/ph_bg_9.jpg) no-repeat top center/contain;
}
.mainvisual__ph .img.-top {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
[data-mv="1"] .mainvisual__ph .img.-top {
  background: url(../img/top/mainvisual/mv/ph_top_1.png) no-repeat top center/contain;
}
[data-mv="2"] .mainvisual__ph .img.-top {
  background: url(../img/top/mainvisual/mv/ph_top_2.png) no-repeat top center/contain;
}
[data-mv="3"] .mainvisual__ph .img.-top {
  background: url(../img/top/mainvisual/mv/ph_top_3.png) no-repeat top center/contain;
}
[data-mv="4"] .mainvisual__ph .img.-top {
  background: url(../img/top/mainvisual/mv/ph_top_4.png) no-repeat top center/contain;
}
[data-mv="5"] .mainvisual__ph .img.-top {
  background: url(../img/top/mainvisual/mv/ph_top_5.png) no-repeat top center/contain;
}
[data-mv="6"] .mainvisual__ph .img.-top {
  background: url(../img/top/mainvisual/mv/ph_top_6.png) no-repeat top center/contain;
}
[data-mv="7"] .mainvisual__ph .img.-top {
  background: url(../img/top/mainvisual/mv/ph_top_7.png) no-repeat top center/contain;
}
[data-mv="8"] .mainvisual__ph .img.-top {
  background: url(../img/top/mainvisual/mv/ph_top_8.png) no-repeat top center/contain;
}
[data-mv="9"] .mainvisual__ph .img.-top {
  background: url(../img/top/mainvisual/mv/ph_top_9.png) no-repeat top center/contain;
}
@-webkit-keyframes mvImgInYL {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
    filter: brightness(3);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    filter: brightness(1);
  }
}
@keyframes mvImgInYL {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
    filter: brightness(3);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    filter: brightness(1);
  }
}
.mainvisual__ph .mainph_line {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 100%;
  transition: opacity 0.1s 0.7s;
  width: 100%;
  z-index: 0;
}
.mainvisual__ph .mainph_line.-line1 {
  border-top: 1px solid #757575;
  transform: scale(0, 1);
  transform-origin: right;
}
.-loadingend .mainvisual__ph .mainph_line.-line1 {
  -webkit-animation: mainPhTopLine 0.5s 0s forwards;
          animation: mainPhTopLine 0.5s 0s forwards;
}
.mainvisual__ph .mainph_line.-line2 {
  border-left: 1px solid #757575;
  transform: scale(1, 0);
  transform-origin: top;
}
.-loadingend .mainvisual__ph .mainph_line.-line2 {
  -webkit-animation: mainPhLeftLine 0.5s 0s forwards;
          animation: mainPhLeftLine 0.5s 0s forwards;
}
.mainvisual__ph .mainph_line.-line3 {
  border-bottom: 1px solid #757575;
  transform: scale(0, 1);
  transform-origin: left;
}
.-loadingend .mainvisual__ph .mainph_line.-line3 {
  -webkit-animation: mainPhTopLine 0.5s 0s forwards;
          animation: mainPhTopLine 0.5s 0s forwards;
}
.mainvisual__ph .mainph_line.-line4 {
  border-right: 2px solid #757575;
  transform: scale(1, 0);
  transform-origin: bottom;
}
@media (max-width: 1019px) {
  .mainvisual__ph .mainph_line.-line4 {
    border-right: 1px solid #757575;
  }
}
.-loadingend .mainvisual__ph .mainph_line.-line4 {
  -webkit-animation: mainPhLeftLine 0.5s 0s forwards;
          animation: mainPhLeftLine 0.5s 0s forwards;
}
.-loadingend .mainvisual__ph .mainph_line {
  opacity: 0;
}
.mainvisual__ph img {
  width: 100%;
}

.mainvisual__ph__inner {
  display: block;
  height: 100%;
  opacity: 0;
  position: relative;
  width: 100%;
  z-index: 1;
}
.-loadingend .mainvisual__ph__inner {
  -webkit-animation: mainPhIn 0.3s 0.7s forwards;
          animation: mainPhIn 0.3s 0.7s forwards;
}

@-webkit-keyframes mainPhIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mainPhIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes mainPhTopLine {
  0% {
    transform: scale(0, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes mainPhTopLine {
  0% {
    transform: scale(0, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@-webkit-keyframes mainPhLeftLine {
  0% {
    transform: scale(1, 0);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes mainPhLeftLine {
  0% {
    transform: scale(1, 0);
  }
  100% {
    transform: scale(1, 1);
  }
}
/* ==========================================================================
	MAINVISUAL
========================================================================== */
.mainvisual {
  overflow: hidden;
  pointer-events: none;
  position: relative;
  width: 100%;
}
@media (max-width: 1019px) {
  .mainvisual {
    padding-top: 8.3vw;
  }
}
@media (min-width: 1020px) {
  .mainvisual {
    padding-top: 8.2vw;
  }
}
@media (min-width: 1920px) {
  .mainvisual {
    padding-top: 158px;
  }
}
.-hidetop .mainvisual {
  padding-top: 0;
  transition: all 2s 0s;
}

.mainvisual__inner {
  position: relative;
}

@-webkit-keyframes txtOut {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes txtOut {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.mainvisual__txt .txt {
  pointer-events: none;
  transform: translate(-50%, 0);
}
@media (max-width: 1019px) {
  .mainvisual__txt .txt {
    position: fixed;
    left: 50%;
    height: 47.9vw;
    top: -3.9vw;
    width: 108.2vw;
  }
}
@media (min-width: 1020px) {
  .mainvisual__txt .txt {
    position: fixed;
    left: 50%;
    height: 27.8vw;
    max-height: 534px;
    max-width: 1580px;
    top: -1.1vw;
    width: 82.2vw;
  }
}
@media (min-width: 1920px) {
  .mainvisual__txt .txt {
    top: -20px;
  }
}
.mainvisual__txt .txt .txt__inner {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}
.-loadingend .mainvisual__txt .txt .txt__inner {
  -webkit-animation: itemInYL 0.5s 1s forwards;
          animation: itemInYL 0.5s 1s forwards;
}
.mainvisual__txt .txt img {
  width: 100%;
}
.mainvisual__txt .txt.-txt-b {
  z-index: 2;
}
.mainvisual__txt .txt.-txt-b .txt__inner {
  display: block;
  height: 100%;
  position: relative;
  width: 100%;
}
.-hidetop .mainvisual__txt {
  display: none;
}

.mainvisual__decotxt {
  display: block;
  position: relative;
  transition: opacity 0.1s 0s;
  will-change: opacity;
  z-index: 2;
}
@media (max-width: 1019px) {
  .mainvisual__decotxt {
    position: fixed;
    top: 5.1vw;
    height: 13.9vw;
    left: calc(50% + 8.3vw);
    width: 37.6vw;
  }
}
@media (min-width: 1020px) {
  .mainvisual__decotxt {
    position: fixed;
    top: 2.8vw;
    height: 10.1vw;
    left: calc(50% + 1.3vw);
    max-height: 195px;
    max-width: 521px;
    width: 27.1vw;
  }
}
@media (min-width: 1920px) {
  .mainvisual__decotxt {
    left: calc(50% + 25px);
    top: 64px;
  }
}
.mainvisual__decotxt .decotxt__inner {
  background: #70F00F;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  display: block;
  height: 100%;
  -webkit-mask-image: url(../..//assets/img/top/mainvisual/txt_animation.svg);
          mask-image: url(../..//assets/img/top/mainvisual/txt_animation.svg);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: relative;
  width: 100%;
}
.-loadingend .mainvisual__decotxt .decotxt__inner {
  -webkit-animation: itemInYL 0.5s 1.4s forwards;
          animation: itemInYL 0.5s 1.4s forwards;
}
.-hidetoptxt .mainvisual__decotxt {
  opacity: 0;
}
.-hidetop .mainvisual__decotxt {
  display: none;
}

.mainvisual__logo {
  position: relative;
  z-index: 3;
}
@media (max-width: 1019px) {
  .mainvisual__logo {
    margin: -3.9vw 8.3vw auto auto;
    width: 74.7vw;
  }
}
@media (min-width: 1020px) {
  .mainvisual__logo {
    margin: -1.6vw auto 0;
    max-width: 1280px;
    width: 66.6vw;
  }
}
@media (min-width: 1920px) {
  .mainvisual__logo {
    margin: -30px auto 0;
  }
}
.mainvisual__logo .logo {
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
}
@media (min-width: 1020px) {
  .mainvisual__logo .logo {
    max-width: 645px;
    width: 33.5vw;
  }
}
.-loadingend .mainvisual__logo .logo {
  -webkit-animation: itemInYL 0.5s 0s forwards;
          animation: itemInYL 0.5s 0s forwards;
}
.mainvisual__logo img {
  width: 100%;
}

.mainvisual__onair {
  pointer-events: none;
  z-index: 3;
}
@media (max-width: 1019px) {
  .mainvisual__onair {
    position: relative;
  }
  .mainvisual .mainvisual__onair {
    display: none;
  }
}
@media (min-width: 1020px) {
  .mainvisual__onair {
    position: fixed;
    top: 0;
    right: 0;
    align-items: flex-start;
    display: flex;
    flex-direction: row-reverse;
  }
  .caststaff .mainvisual__onair {
    display: none;
  }
  .movie .mainvisual__onair {
    display: none;
  }
}

.mainvisual__onair__txt {
  background: #70F00F;
  display: inline-block;
  position: relative;
  transition: -webkit-clip-path 0.5s 1.2s ease;
  transition: clip-path 0.5s 1.2s ease;
  transition: clip-path 0.5s 1.2s ease, -webkit-clip-path 0.5s 1.2s ease;
}
@media (max-width: 1019px) {
  .mainvisual__onair__txt {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
}
@media (min-width: 1020px) {
  .mainvisual__onair__txt {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
}
.mainvisual__onair__txt::after {
  position: absolute;
  top: 0;
  left: 0;
  background: #70F00F;
  content: "";
  height: 100%;
  width: 100%;
}
@media (max-width: 1019px) {
  .mainvisual__onair__txt::after {
    transform-origin: right;
    transition: transform 0.5s 1.6s ease;
  }
}
@media (min-width: 1020px) {
  .mainvisual__onair__txt::after {
    transform-origin: bottom;
    transition: transform 0.5s 1.4s ease;
  }
}
@media (max-width: 1019px) {
  .mainvisual__onair__txt.-txt1 {
    width: 58.7vw;
  }
}
@media (min-width: 1020px) {
  .mainvisual__onair__txt.-txt1 {
    max-width: 66px;
    width: 3.4vw;
  }
}
@media (max-width: 1019px) {
  .mainvisual__onair__txt.-txt2 {
    margin-top: -1.1vw;
    width: 62.5vw;
  }
}
@media (min-width: 1020px) {
  .mainvisual__onair__txt.-txt2 {
    margin-right: -0.4vw;
    max-width: 68px;
    width: 3.5vw;
  }
}
@media (min-width: 1920px) {
  .mainvisual__onair__txt.-txt2 {
    margin-right: -6px;
  }
}
@media (max-width: 1019px) {
  .mainvisual__onair__txt.-txt2::after {
    transition-delay: 1.7s;
  }
}
@media (min-width: 1020px) {
  .mainvisual__onair__txt.-txt2::after {
    transition-delay: 1.5s;
  }
}
@media (max-width: 1019px) {
  .mainvisual__onair__txt.-txt3 {
    margin-top: -1.1vw;
    width: 81.4vw;
  }
}
@media (min-width: 1020px) {
  .mainvisual__onair__txt.-txt3 {
    margin-right: -0.4vw;
    max-width: 68px;
    width: 3.5vw;
  }
}
@media (min-width: 1920px) {
  .mainvisual__onair__txt.-txt3 {
    margin-right: -6px;
  }
}
@media (max-width: 1019px) {
  .mainvisual__onair__txt.-txt3::after {
    transition-delay: 1.8s;
  }
}
@media (min-width: 1020px) {
  .mainvisual__onair__txt.-txt3::after {
    transition-delay: 1.6s;
  }
}
.-loadingend .mainvisual__onair__txt {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
@media (max-width: 1019px) {
  .-loadingend .mainvisual__onair__txt::after {
    transform: scale(0, 1);
  }
}
@media (min-width: 1020px) {
  .-loadingend .mainvisual__onair__txt::after {
    transform: scale(1, 0);
  }
}
@media (min-width: 1020px) {
  .-hidetoptxt .mainvisual__onair__txt {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
}

@media (max-width: 1019px) {
  .mainvisual__decoleft {
    display: none;
  }
}
@media (min-width: 1020px) {
  .mainvisual__decoleft {
    position: absolute;
    left: -3.1vw;
    bottom: -3.2vw;
    background: #757575;
    display: block;
    height: 71.9vw;
    -webkit-mask-image: url(../..//assets/img/top/mainvisual/txt_top.svg);
            mask-image: url(../..//assets/img/top/mainvisual/txt_top.svg);
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    max-height: 1382px;
    max-width: 280px;
    opacity: 0;
    width: 14.5vw;
  }
}
@media (min-width: 1920px) {
  .mainvisual__decoleft {
    bottom: -60px;
    left: -58px;
  }
}
.-loadingend .mainvisual__decoleft {
  -webkit-animation: mainPhIn 0.3s 1.3s forwards;
          animation: mainPhIn 0.3s 1.3s forwards;
}

@media (max-width: 1019px) {
  .js-mainvisual-trigger-scroll {
    position: absolute;
    top: 19.2vw;
    right: 0;
    height: 12.8vw;
    width: 10px;
  }
}
@media (min-width: 1020px) {
  .js-mainvisual-trigger-scroll {
    position: absolute;
    top: 11.4vw;
    right: 0;
    height: 13vw;
    max-height: 250px;
    width: 10px;
  }
}
@media (min-width: 1920px) {
  .js-mainvisual-trigger-scroll {
    top: 220px;
  }
}

@media (max-width: 1019px) {
  .js-mainvisual-trigger-ph {
    position: absolute;
    top: 0vw;
    right: 0;
    height: 3.8vw;
    width: 10px;
  }
}
@media (min-width: 1020px) {
  .js-mainvisual-trigger-ph {
    position: absolute;
    top: 15.6vw;
    right: 0;
    height: 1.5vw;
    max-height: 30px;
    width: 10px;
  }
}
@media (min-width: 1920px) {
  .js-mainvisual-trigger-ph {
    top: 300px;
  }
}

/* ==========================================================================
	MOVIE
========================================================================== */
.movie {
  position: relative;
  width: 100%;
  z-index: 3;
}
@media (max-width: 1019px) {
  .movie {
    margin-top: 20px;
    position: relative;
  }
}
@media (min-width: 1020px) {
  .movie {
    display: none;
  }
}

@media (max-width: 1019px) {
  .movie__inner {
    margin-top: -3.9vw;
    opacity: 0;
    padding-left: 15.8vw;
    transform: translateY(10px);
  }
}
@media (min-width: 1020px) {
  .movie__inner {
    z-index: 2;
  }
}
@media (max-width: 1019px) {
  .-loadingend .movie__inner {
    -webkit-animation: itemInY 0.5s 1.4s forwards;
            animation: itemInY 0.5s 1.4s forwards;
  }
}
@media (max-width: 1019px) {
  .movie__inner .txt {
    position: absolute;
    left: 14.1vw;
    bottom: 0;
    font-size: 1.5vw;
    line-height: 1.2;
    transform: rotate(-90deg);
    transform-origin: left bottom;
  }
}
.movie__inner .frame {
  overflow: hidden;
  position: relative;
}
@media (max-width: 1019px) {
  .movie__inner .frame {
    height: 73.5vw;
    margin-top: 5px;
    width: 100%;
  }
}
@media (max-width: 1019px) {
  .movie__inner .frame video {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100%;
    transform: translate(-50%, -50%);
    width: auto;
  }
}
.movie__inner .frame::after {
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/common/nav/bg_dot.png) repeat;
  content: "";
  height: 100%;
  pointer-events: none;
  width: 100%;
}
.movie__inner .txt-play {
  pointer-events: none;
  text-align: center;
  z-index: 1;
}
@media (max-width: 1019px) {
  .movie__inner .txt-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
  }
}
@media (max-width: 1019px) {
  .movie__inner .txt-play .play {
    font-size: 4.8vw;
  }
}
@media (max-width: 1019px) {
  .movie__inner .txt-play .sub {
    font-size: 1.5vw;
  }
}