.hp-cta-banner {
  display: block;
  margin: 0 0 24px;
  line-height: 0;
}

.hp-cta-banner__img {
  width: 100%;
  height: auto;
}

.hp-cta-banner__img.sp {
  display: none;
}

@media (max-width: 767px) {
  .hp-cta-banner {
    margin-bottom: 16px;
  }

  .hp-cta-banner__img.pc {
    display: none;
  }

  .hp-cta-banner__img.sp {
    display: block;
  }
}

.hp-cta-fixed {
  display: none;
  position: fixed;
  bottom: -200px;
  left: 0;
  z-index: 3;
  margin: 8px;
  width: calc(100% - 16px);
  transition: all 0.4s;
}

@media (max-width: 767px) {
  .hp-cta-fixed {
    display: block;
  }
}

.hp-cta-fixed.is-visible {
  bottom: 0;
}

.hp-cta-fixed.is-closed {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.hp-cta-fixed__close {
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
}

.hp-cta-fixed__link {
  display: block;
  line-height: 0;
}

.hp-cta-fixed__link img {
  width: 100%;
  height: auto;
}
