@charset "UTF-8";
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  position: relative;
  margin: 0 auto !important;
  font-family: "Hiragino Kaku Gothic ProN" !important;
  background: #f0e4e0;
}

img {
  width: -webkit-fill-available;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
  /* Safari, Chrome */
  image-rendering: optimizeQuality;
  width: -moz-available;
  pointer-events: none;
  width: 100%;
}

a {
  display: block;
}

iframe {
  width: 100%;
  aspect-ratio: 16/9;
}

.spview {
  background: #fff;
}

.special {
  margin-top: 13%;
  position: relative;
}
.special__contentsBtn {
  position: absolute;
  bottom: 1%;
  width: 87.467%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.problem {
  margin-top: 15%;
}

.solution {
  margin-top: 8%;
}

.flow {
  margin-top: 8%;
}

.point1 {
  margin-top: 12%;
}

.before-after {
  margin-top: 0%;
}

.question {
  margin-top: 5.334%;
}

.movie {
  margin-top: 10.934%;
  margin-left: 5%;
  margin-right: 5%
}

.history {
  margin-top: 10.934%;
}

.cta {
  position: fixed;
  bottom: 10px;
  width: 100%;
  opacity: 0;
}

/*　上に上がる動き　*/
#cta-btn.UpMove {
  animation: UpAnime 0.8s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#cta-btn.DownMove {
  animation: DownAnime 0.8s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(200px);
  }
}
@media screen and (min-width: 1025px) {
  .spview {
    max-width: 480px;
    margin: 0 auto;
    position: relative;
  }
  .cta {
    position: fixed;
    bottom: 10px;
    width: 480px;
  }
}
/*=========
accordion
=========*/
.accordion_one:nth-child(n+2) {
  margin-top: 3%;
}

.accordion_area .accordion_one .ac_header {
  background-color: #ffffff;
  padding: 1.5rem 4rem 1.5rem 2rem;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: 0.2s;
}

.accordion_area .accordion_one .ac_header {
  background-color: #BA9501;
}

.accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  transition: 0.5s;
}

.ac_header.open .i_box {
  transform: rotate(-180deg);
  transition: 0.5s;
}

.accordion_area .accordion_one .ac_inner {
  display: none;
  padding: 1.5rem 2rem 1.5rem 2rem;
  border-left: 1px solid #BA9501;
  border-right: 1px solid #BA9501;
  border-bottom: 1px solid #BA9501;
  box-sizing: border-box;
  background: #fff;
}

@media screen and (max-width: 599px) {
  .accordion_area .accordion_one .ac_header, .accordion_area .accordion_one .ac_inner {
    padding: 5.5% 1% 5.5% 4%;
  }
  .accordion_area .accordion_one .ac_header .i_box {
    right: 0.8rem;
    width: 20px;
    height: 20px;
    margin-top: -7px;
  }
  .accordion_area .accordion_one .ac_header .i_box:before {
    width: 15px;
  }
  .accordion_area .accordion_one .ac_header .i_box:after {
    height: 15px;
    right: 7px;
  }
}
/*=========
faq
=========*/
.p-faq__headinner {
  display: block;
  line-height: 1.5;
}

.p-faq__headinner p.p-faq__q-txt {
  font-size: 0.8125rem;
  color: #ffffff;
  font-weight: bold;
  padding-left: 2em;
  text-indent: -1.7em;
}

.p-faq__headinner p.p-faq__q-txt span {
  font-size: 20px;
}

.p-faq__bodyinner {
  display: block;
  line-height: 1.3;
}

.p-faq__bodyinner p.p-faq__a-txt {
  font-size: 0.625rem;
  padding-left: 2em;
  text-indent: -1.9em;
}

.p-faq__bodyinner p.p-faq__a-txt span {
  font-size: 20px;
}

.p-faq__headinner {
  display: flex;
  align-items: center;
}

.heart {
  animation: anime1 2s reverse infinite;
}

@keyframes anime1 {
  0% {
    transform: scale(1);
  }
  60% {
    transform: scale(1);
  }
  70% {
    transform: scale(0.9);
  }
  80% {
    transform: scale(1);
  }
  90% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}/*# sourceMappingURL=style.css.map */