/* -----------------------
  cv
----------------------- */
.cv {
  position: relative;
  background: url(../img/cv_bg_top.png) no-repeat center top / 100% auto, #E4643B;
  padding-top: min(52.81vw, 396px);
  padding-bottom: min(10.13vw, 76px);
  overflow: hidden;
}

.cv .ttl-slider {
  position: absolute;
  left: 0;
  display: grid;
}
.cv .ttl-slider-front {
  top: min(79.17vw, 594px);
  z-index: 4;
}
.cv .ttl-slider-back {
  top: min(96.25vw, 722px);
}
.cv .ttl-slider .slide-item {
  width: min(121.25vw, 909px);
  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, 609px) auto, linear-gradient(to bottom, #fff, #fff) no-repeat center top / min(81.25vw, 609px) 100%;
}

.cv .cv-box .price-box {
  display: grid;
}
.cv .cv-box .price-box p {
  grid-area: 1 / 1;
}

.cv .cv-box .note {
  margin-top: max(-0.93vw, -7px);
  padding: 0 min(16.2vw, 121px) min(6.53vw, 49px);
  font-size: min(2.73vw, 20.5px);
  line-height: 1.6;
  color: #333;
  font-weight: 500;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", YuGothic, "Yu Gothic", Meiryo, sans-serif;
  font-feature-settings: "palt";
}

.cv .cv-box .btn-box {
  width: min(75.31vw, 565px);
  margin: min(2.67vw, 20px) auto min(2.13vw, 16px);
  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);
  }
}
