* {
  margin: 0;
}
body {
  overflow-x: hidden;
  margin: 0;
}
img {
  width: auto;
  height: auto;
  vertical-align: bottom;
}
.outer {
  overflow-x: unset;
}
.relative {
  position: relative;
}
.shine {
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}
.shine::before {
  content: "";
  animation: shine 1.5s cubic-bezier(0.25, 0, 0.25, 1) infinite;
  background-color: #fff;
  width: 140%;
  height: 70%;
  transform: skewX(-45deg);
  bottom: 0;
  left: -160%;
  opacity: 0.5;
  position: absolute;
}
@keyframes shine {
  0% {
    left: -160%;
    opacity: 0;
  }
  70% {
    left: -160%;
    opacity: 0.5;
  }
  71% {
    left: -160%;
    opacity: 1;
  }
  100% {
    left: -20%;
    opacity: 0;
  }
}
.wrap {
  animation: fadein 0.8s forwards;
}
@keyframes fadein {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
.poyoyon {
  animation: poyoyon3 2.5s infinite;
  opacity: 1;
}
@keyframes poyoyon3 {
  0%, 40% {
    transform: skew(0deg, 0deg);
  }
  5% {
    transform: skew(5deg, 5deg);
  }
  10% {
    transform: skew(-4deg, -4deg);
  }
  15% {
    transform: skew(3deg, 3deg);
  }
  20% {
    transform: skew(-2deg, -2deg);
  }
  25% {
    transform: skew(1deg, 1deg);
  }
  30% {
    transform: skew(-0.6deg, -0.6deg);
  }
  35% {
    transform: skew(0.3deg, 0.3deg);
  }
}
.prupru {
  animation-name: puru;
  animation-duration: 2s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
  animation-play-state: running;
  animation-direction: normal;
  animation-delay: 0s;
  position: relative;
  bottom: 0;
  transition: all 100ms;
}
@keyframes puru {
  3% {
    transform: scale(0.93);
  }
  9% {
    transform: scale(1);
  }
  15% {
    transform: scale(0.96);
  }
  19% {
    transform: scale(1);
  }
  23% {
    transform: scale(0.99);
  }
  26% {
    transform: scale(1);
  }
}
.swiper-button-next, .swiper-button-prev {
  color: #666;
}
.swiper-pagination-bullet-active {
  background: #f05890;
}
.swiper {
  width: min(100%, 500px);
  height: 500px;
  padding: 0px 50px;
  position: absolute;
  left: 10%;
  bottom: 3%;
}
.swiper-slide {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: bold;
}
.topbtn{
    margin: 15px 0;
}
.cv01 {
  position: relative;
}
.sec15 {
  background-color: #fff6dc;
}
.sec15 .ttl {
  width: 100%;
  margin: auto;
}
.qanda {
  width: 43.229167%;
  margin: auto;
}
.toggle {
  margin-top: 30px;
}
.toggle:first-child {
  margin-top: 0;
}
.toggle dt .inner {
  width: 100%;
  display: block;
  cursor: pointer;
}
.toggle .inner > span:last-of-type, .toggle .inner.active > span:first-of-type {
  display: none;
}
.toggle .inner.active > span:last-of-type {
  display: inline;
}
.toggle dd {
  display: none;
}
.footer_inner {
  position: absolute;
  width: 33.697%;
  top: 41%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: space-between;
}
.floating {
  /*width: 1920px;*/
  position: fixed;
  bottom: 0;
  z-index: 10;
}
.floating_inner {
  margin: 0 auto;
}
.btn:hover {
  filter: brightness(130%);
}
.btn {
  transition: filter 0.3s;
}
.pc {
  display: block;
}
.sp {
  display: none;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.fv_btn {
  position: absolute;
  width: 86%;
  top: 82.5%;
  left: 7%;
}
.fvn_btn {
  position: absolute;
  top: unset;
  bottom: 22%;
  left: 7%;
  width: auto;
}
.cv01_btn {
  position: absolute;
  top: unset;
  bottom: 7.2%;
  left: 7%;
  width: auto;
}
.cv02_btn {
  position: absolute;
  top: unset;
  bottom: 72%;
  left: 7%;
  width: auto;
}
.cv03_btn {
  position: absolute;
  top: unset;
  bottom: 6.2%;
  left: 7%;
  width: auto;
}
.cv04_btn {
  position: absolute;
  width: 82.6666%;
  top: 87.5%;
  left: 9%;
}
.cv05_btn {
  position: absolute;
  width: 82.6666%;
  top: 83%;
  left: 9%;
}
.cv06_btn {
  position: absolute;
  width: 82.6666%;
  bottom: 65%;
  top: unset;
  left: 9%;
}
.cv07_btn {
  position: absolute;
  width: 82.6666%;
  bottom: 36%;
  top: unset;
  left: 9%;
}
.cv08_btn {
  position: absolute;
  width: 82.6666%;
  top: 91%;
  left: 9%;
}
.movie {
  position: absolute;
  width: 70%;
  top: 28%;
  left: 24%;
}
.movie_2 {
  position: absolute;
  width: 70%;
  top: 58%;
  left: 5%;
}
.sec15 {
  background-color: #fff6dc;
}
.sec15 .ttl {
  width: 100%;
  margin: auto;
}
.qanda {
  width: 90.6666%;
}
.movie01 {
  position: absolute;
  top: unset;
  bottom: 55%;
  left: 9%;
  width: 82%;
}
.movie02 {
  position: absolute;
  top: unset;
  bottom: 83.5%;
  left: 9%;
  width: 82%;
}

@media all and (min-width: 751px) and (max-width: 1920px) {
  .outer {
    overflow-x: hidden;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  .wrapper {
    max-width: 750px;
    margin: 0 auto;
  }
}
@media all and (min-width: 0px) and (max-width: 750px) {
  .footer_inner {
    position: absolute;
    width: 55.33333%;
    top: 29.08%;
    left: 50%;
    transform: translateX(-50%);
    display: block;
  }
  .floating {
    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 10;
  }
  .floating_inner {
    margin: 0 auto;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .text_area {
    width: 90%;
    background-color: rgba(255, 255, 255, 0.7);
    margin: 0 auto;
    padding: 15px;
  }
  .text_area p {
    color: #696969;
  }
  .text_wrap h1 {
    font-size: 14px;
    font-weight: normal;
    margin: 10px 0;
    color: #5C2E00;
  }
  .text_area h2 {
    width: fit-content;
    padding: 2px;
    border-bottom: solid 1px;
    font-size: 14px;
    font-weight: normal;
    margin: 2px auto;
    color: #696969;
  }
  .text_area p {
    font-size: 11px;
    font-weight: normal;
    text-align: left;
  }
  .border_wrap {
    padding: 10px;
    margin-bottom: 10px;
  }
  .border_wrap span {
    background-color: #ff9;
    font-size: 14px;
    text-align: left;
  }
  .movie01 {
    position: absolute;
    top: unset;
    bottom: 55%;
    left: 9%;
    width: 82%;
  }
  .movie02 {
    position: absolute;
    top: unset;
    bottom: 83.5%;
    left: 9%;
    width: 82%;
  }
  .fvn_btn {
    position: absolute;
    top: unset;
    bottom: 21.8%;
    left: 5%;
    width: 90%;
  }
  .cv01_btn {
    position: absolute;
    top: unset;
    bottom: 7.2%;
    left: 5%;
    width: 90%;
  }
  .cv02_btn {
    position: absolute;
    top: unset;
    bottom: 71.5%;
    left: 5%;
    width: 90%;
  }
  .cv03_btn {
    position: absolute;
    top: unset;
    bottom: 6.2%;
    left: 5%;
    width: 90%;
  }
  .swiper {
    width: 70%;
    height: auto;
    padding: 0px 50px;
    position: absolute;
    left: 1.7%;
    bottom: 3.5%;
  }
}