@charset "utf-8";


body {
    background: #fff;
}

html {
  line-height: 0;
}


.pc-only {
    display: block
  }
  
  .sp-only {
    display: none
  }
  
  @media screen and (max-width:768px) {
    .pc-only {
      display: none
    }
    .sp-only {
        display: block
      }
  }
  

img {
    width: 100%;
}

video {
    width: 100%;
}

.wrap {
    max-width: 600px;
    width: 100%;
    background: #fff;
    margin: 0 auto;
    overflow: hidden;
}

.relative{
  position: relative;
}

.absolute {
    width: 35%;
    position: absolute;
    left: 33%;
    bottom: -1.7%;
}

.gentei {
  margin: 0 auto;
}

img.gentei {
  width: 80%;
  position: absolute;
  top: 16%;
  left: 10%;
}

.gentei {
  animation: anime1 0.6s ease 0s infinite alternate;
  transform-origin:center;
}
@keyframes anime1 {
  from {
    transform: scale(0.9,0.9);
  }
  to {
    transform: scale(1,1);
  }
}

div.cta {
  position: relative;
}

.btn_box01 {
  position: absolute;
  top: 75%;
  margin: 0;
  width: 80%;
  left: 10%;
}

.btn_box02 {
  position: absolute;
  top: 80%;
  margin: 0;
  width: 80%;
  left: 10%;
}

#btn_animation .btn {
  display: block;
  position: relative;
  width: 200px;
  height: 78px;
  line-height: 78px;
  font-size: 24px;
  text-decoration: none;
  background-color: #364f6b;
  color: #fbfbfb;
  text-align: center;
  overflow: hidden;
}

#btn_animation .btn_box01 {
  display: block;
  position: relative;
  width: 200px;
  height: 78px;
  line-height: 78px;
  font-size: 24px;
  text-decoration: none;
  background-color: #364f6b;
  color: #fbfbfb;
  text-align: center;
  overflow: hidden;
}

#btn_animation .btn:hover {
    text-decoration: none;
    color: #fbfbfb;
}

#btn_animation .btn::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fbfbfb;
    animation: btn_animation 2.5s ease-in-out infinite;
}

@keyframes btn_animation {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

@keyframes brightness{
0% {
  filter: brightness(100%);
}
10% {
  filter: brightness(115%);
}
50% {
  filter: brightness(100%);
}
60% {
  filter: brightness(108%);
}
100% {
  filter: brightness(105%);
}
}

.bounce {
  animation: bounce 2s infinite alternate;
}
@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  25%, 75% { transform: translateY(-5px); }
  50% { transform: translateY(0); }
}

.shine {
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
}

.shine:after {
  content: '';
  position: absolute;
  top: -10%;
  left: -20%;
  width: 60px;
  height: 100%;
  transform: scale(2) rotate(30deg);
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.5) 100%, rgba(255, 255, 255, 0) 0%);
  animation-name: shine;
  animation-duration: 5s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}


@keyframes shine {
  0% {
      left: -20%;
  }
  10% {
      left: 120%;
  }
  100% {
      left: 120%;
  }
}

video.image-video01 {
  position: absolute;
  top: 14%;
  width: 89.7%;
  left: 5.6%;
}

video.image-video02 {
  position: absolute;
  bottom: 40.5%;
  width: 90%;
  left: 5%;
}

video.image-video03 {
  position: absolute;
  top: 46%;
  width: 100%;
  left: 0%;
}

video.neck {
  position: absolute;
  width: 50%;
  top: 17%;
  left: 0;
}

video.back {
  position: absolute;
  width: 50%;
  right: 0;
  top: 44.65%;
}

video.waist {
  position: absolute;
  width: 50%;
  bottom: 0;
  left: 0;
}

img.sarani3 {
  width: 40%;
  position: absolute;
  left: 30%;
  bottom: -4%;
  z-index: 1;
}

video.heater {
  position: absolute;
  width: 90%;
  bottom: 4%;
  left: 5%;
}

.footer {
  display: block;
  padding: 10% 0 20%;
  background-color: #ecece4;
}

li {
  padding: 5%;
  text-align: center;
}

p.copyright {
  font-family: "ヒラギノ角ゴシック";
  text-align: center;
  font-size: 0.9vw;
  padding: 5% 0 0;
  color: #777;
}

ul.footer-link {
  font-family: "ヒラギノ角ゴシック";
  font-weight: 300;
}

video.\30 1 {
  width: 40%;
  position: absolute;
  top: 39%;
  left: 10%;
  height: 40vw;
}

video.\30 2 {
  width: 40%;
  position: absolute;
  top: 49%;
  right: 9%;
  height: 38vw;
}

video.\30 3 {
  width: 40%;
  position: absolute;
  left: 10%;
  top: 58%;
  height: 40vw;
}

.off {
  position: absolute;
  top: 57%;
  margin: 0;
  width: 80%;
  left: 10%;
}

img.tsuiju {
  position: fixed;
  width: 13%;
  z-index: 100;
  bottom: 5%;
  right: 2%;
}


@media screen and (max-width:768px) {

li {
  padding: 5%;
  text-align: center;
  font-size: 3.5vw;
  letter-spacing: 0.1rem;
}

p.copyright {
  text-align: center;
  font-size: 3vw;
  padding: 10% 0 0;
}

video.\30 1 {
  width: 50%;
  position: absolute;
  top: 45%;
  left: 3.8%;
  height: 40vw;
}

video.\30 2 {
  width: 50%;
  position: absolute;
  top: 54.5%;
  right: 3.8%;
  height: 40vw;
}

video.\30 3 {
  width: 50%;
  position: absolute;
  left: 3.8%;
  height: 40vw;
  top: 64% !important;
}

img.tsuiju {
  position: fixed;
  width: 30%;
  z-index: 100;
  bottom: 3%;
  right: 3%;
}
}