.main__visual__wrap {
  position: relative;
  width: 100%;
  /* height: 50rem; */
  background: var(--v_bg_color);
  border-radius: 0 0 var(--b_r_right) var(--b_r_left);
  animation: wrap_bg 50s linear infinite;
  overflow: hidden;
}

@keyframes wrap_bg {
  100% {
    background-position: 200%;
  }
}

.carousel-cell {
  width: 100%;
  padding: var(--padding_top) 2rem var(--padding_bottom);
  border-radius: 5px;
  counter-increment: carousel-cell;
  overflow: hidden;
}


.carousel__content {
  position: relative;
  max-width: var(--max_width);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  color: #fff;
}

.carousel__content > .left {
  text-align: var(--v_text_align);
}

.carousel__content > .left > h2 {
  font-size: var(--v_txt_size);
  color: var(--v_txt_color);
  font-family: var(--v_font);
  /* transform: translateX(30%); */
  padding: 1rem 0;
  line-height: 1.2;
  opacity: 0;
}

.carousel__content > .left > h2 > strong {
  font-size: var(--v_strong_size);
  color: var(--v_strong_color);
  word-wrap: break-word;
  word-break: keep-all;
}

.carousel__content > .left > span,
.carousel__content > .left > p {
  display: block;
  font-size: var(--v_txt_small_size);
  color: var(--v_txt_small_color);
  line-height: 1.5;
  opacity: 0;
}

.carousel__content > .left > span {
  display: block;
}

.carousel__content > .left > a {
  display: inline-block;
  margin-top: 4rem;
  padding: 1.5rem 3rem;
  border-radius: 2em;
  color: #fff;
  background: var(--color_pmy);
  opacity: 0;
}

.carousel__content > .right__img.fade_left {
  transform: translateX(20%);
  opacity: 0;
}

.carousel__content > .right__img.fade_right {
  transform: translateX(-20%);
  opacity: 0;
}

.carousel__content > .right__img.fade_up {
  transform: translateY(20%);
  opacity: 0;
}

.carousel__content > .right__img.fade_down {
  transform: translateY(-20%);
  opacity: 0;
}


.carousel-cell.is-selected > .carousel__content > .right__img {
  animation: 1.2s .4s carousel both;
}




.carousel__content > .left.fade_left > h2,
.carousel__content > .left.fade_left > span,
.carousel__content > .left.fade_left > p {
  transform: translateX(30%);
}

.carousel__content > .left.fade_left > a {
  transform: translateX(40%);
}

.carousel__content > .left.fade_right > h2,
.carousel__content > .left.fade_right > span,
.carousel__content > .left.fade_right > p {
  transform: translateX(-30%);
}

.carousel__content > .left.fade_right > a {
  transform: translateX(-40%);
}

.carousel__content > .left.fade_up > h2,
.carousel__content > .left.fade_up > span,
.carousel__content > .left.fade_up > p {
  transform: translateY(50%);
}

.carousel__content > .left.fade_up > a {
  transform: translateY(40%);
}

.carousel__content > .left.fade_down > h2,
.carousel__content > .left.fade_down > span,
.carousel__content > .left.fade_down > p {
  transform: translateY(-50%);
}

.carousel__content > .left.fade_down > a {
  transform: translateY(-40%);
}

.carousel-cell.is-selected > .carousel__content > .left > span,
.carousel-cell.is-selected > .carousel__content > .left > h2 {
  animation: 1s .6s carousel both;
}

.carousel-cell.is-selected > .carousel__content > .left > p {
  animation: 1s .8s carousel both;
}

.carousel-cell.is-selected > .carousel__content > .left > a {
  animation: .7s 1s carousel both;
}

@keyframes carousel {
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}



.right__img {
  order: 1;
  width: 50%;
  height: 100%;
}

.right__img > img {
  width: 100%;
}




@media all and (max-width: 810px) {
  .carousel__content {
    flex-direction: column;
  }

  .carousel__content .left {
    order:2;
    padding-top: 4rem;
  }

  .carousel__content > .left > h2,
  .carousel__content > .left > p,
  .carousel__content > .left {
    text-align: center;
  }

  .right__img {
    width: 80%;
  }

  .carousel-cell {
    padding: 10rem 1.5rem 5rem;
  }
}

@media all and (max-width: 580px) {
  .right__img {
    width: 100%;
  }
}

@media all and (max-width: 769px) {
  .carousel__content > .left > h2 {
    font-size: 2rem
  }

  .carousel__content > .left > h2 > strong {
    font-size: 2.5rem;
  }
}


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

}
