* {
  margin: 0;
  padding: 0;
  list-style: none;
}

body {
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  background: #222324;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.container {
  background: #222324;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 50px;
}

.bg03 {
  background: #292b2c;
}

.bg04 {
  background: #252628;
}

.movie-wrapper.is-background-black {
  background: #000;
}

.movie-function {
  display: block;
  width: 85%;
  max-width: 850px;
  margin: 0 auto;
  aspect-ratio: 850 / 478;
  height: auto;
}

.offer {
  position: relative;
}

.cta {
  position: absolute;
  top: 3%;
  left: 50%;
  transform: translateX(-50%);
  width: 79%;
}

/* 製品画像ありver */
.cta.is-product {
  width: 86%;
  top: 0%;
}

.refund {
  position: absolute;
  line-height: 1.2;
  letter-spacing: 0.10em;
  color: #666;
  text-decoration: none;
  font-weight: 300;
  bottom: 205px;
  left: 258px;
  font-size: 18px;
}

@media (max-width: 1000px) {
  .refund {
    font-size: 1.8vw;
    bottom: 17%;
    left: 26%;
  }
}

.floating {
  position: fixed;
  z-index: 1;
  bottom: 1.5%;
  right: 2%;
  width: 45%;
  transition:
    opacity .3s ease,
    visibility .3s ease;
  opacity: 0;
  visibility: hidden;
}

@media screen and (min-width: 600px) {
  .floating {
    width: 20%;
    bottom: 20px;
    right: 20px;
  }
}

.floating.is-visible {
  opacity: 1;
  visibility: visible;
}

/*
 * Btn Bounce
*/
.btn_bounce {
  animation: beat 1.5s infinite;
  max-width: 100% !important;
  display: block;
  margin: 0 auto;
  height: auto;
}

@keyframes beat {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1);
  }

  60% {
    transform: scale(1.05);
  }

  70% {
    transform: scale(1);
  }

  80% {
    transform: scale(1.05);
  }

  100% {
    -webkit-transform: scale(1);
  }
}

/******************************************************
* slick ここから
******************************************************/

.uvoice_slick_bg {
  padding: 0px 0 60px 0;
}

.uvoice_slick {
  max-width: 500px;
  margin: 0 auto;
  width: 339px;
  height: 528px;
}

.slick-img {
  position: relative;
  width: 100%;
}

.uvoice_mv {
  position: absolute;
  width: 97.5%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.u-slick-dots {
  display: flex;
  justify-content: center;
  column-gap: 20px;
  margin: 0 auto;
}

.u-slick-dots li {
  list-style: none;
  float: left;
  margin: 5px;
  color: #FFFFFF;
}

.u-slick-dots li button {
  margin-top: 25px;
  line-height: 0;
  display: block;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  width: 7px;
  aspect-ratio: 1/1;
  background: #fff;
  border-radius: 50%;
  opacity: 0.5;
}

.u-slick-dots li.slick-active button {
  opacity: 1;
}

/******************************************************
* slick ここまで
******************************************************/