@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: 40%;
  position: absolute;
  left: 30%;
  bottom: -2%;
}

img.gentei {
  width: 80%;
  position: absolute;
  top: 10%;
  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: 52%;
  margin: 0;
  width: 85%;
  left: 7.5%;
}

.btn_box02 {
  position: absolute;
  top: 69%;
  margin: 0;
  width: 85%;
  left: 7.5%;
}

.off {
  position: absolute;
  top: 39%;
  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;
  overflow: hidden;
}

.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.thermo {
  position: absolute;
  top: 35%;
  left: 5%;
  width: 90%;
}

video.microcarbonfiber {
  position: absolute;
  width: 90%;
  top: 31%;
  left: 5%;
}

video.strech {
  position: absolute;
  width: 90%;
  bottom: 5%;
  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;
}

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

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

.animate {
  position: fixed;
  width: 13%;
  right: 3%;
  bottom: 35%;
}

.animate_item {
  position: absolute;
  width: 100%; /* 画像の幅を100%に */
  height: 100%; /* 画像の高さを100%に */
  transition: transform 0.8s ease; /* トランジションのスムーズさを追加 */
  backface-visibility: hidden; /* 裏面を非表示に */
}

[data-is-animated="true"] [data-animate-number="1"] {
  transform: rotateY(90deg) scale(0.9);
}

[data-is-animated="true"] [data-animate-number="2"] {
  transform: rotateY(0deg) scale(1);
}

[data-is-animated="false"] [data-animate-number="1"] {
  transform: rotateY(0deg) scale(1);
}

[data-is-animated="false"] [data-animate-number="2"] {
  transform: rotateY(-90deg) scale(0.9);
}

@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;
}

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

.animate {
  position: fixed;
  width: 30%;
  right: 5%;
  bottom: 20%;
}
}