/* -----------------------
  cv
----------------------- */
.cv {
  position: relative;
  background: url(../img/cv_bg_top.png) no-repeat center top / 100% auto, #E4643B;
  padding-top: min(52.81vw, 507px);
  padding-bottom: min(9.48vw, 91px);
  overflow: hidden;
}

.cv .ttl-slider {
  position: absolute;
  left: 0;
  display: grid;
}
.cv .ttl-slider-front {
  top: min(79.17vw, 760px);
  z-index: 4;
}
.cv .ttl-slider-back {
  top: min(96.25vw, 924px);
}
.cv .ttl-slider .slide-item {
  width: min(121.25vw, 1164px);
  grid-area: 1 / 1;
  transform: translateX(0);
  animation: marquee 10s linear infinite;
}
.cv .ttl-slider .slide-item:nth-of-type(2) {
  transform: translateX(100%);
  animation: marquee2 10s linear infinite;
}
.cv .ttl-slider-back .slide-item,
.cv .ttl-slider-back .slide-item:nth-of-type(2) {
  animation-direction: reverse;
}

.cv .cv-box {
  position: relative;
  z-index: 3;
}

.cv .cv-box {
  background: url(../img/cv_box_bg_top.png) no-repeat center top / min(81.25vw, 780px) auto, linear-gradient(to bottom, #fff, #fff) no-repeat center top / min(81.25vw, 780px) 100%;
}

.cv .cv-box .price-box {
  display: grid;
}
.cv .cv-box .price-box p {
  grid-area: 1 / 1;
}

.cv .cv-box .btn-box {
  width: min(75.31vw, 723px);
  margin: min(5vw, 48px) auto;
  text-align: center;
}
.cv .cv-box .btn-box a {
  display: block;
  transform: scale(1, 1);
  animation: scale_btn 2s ease infinite normal;
}


@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes marquee2 {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes scale_btn {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
