@charset "UTF-8";
.lp_move {
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
}

@media (min-width: 768px) {
  .lp_move {
    width: 400px; /* PCの場合は500pxに設定 */
  }
}
section {
  width: 100%;
  position: relative;
}
section img {
  width: 100%;
}
section .popup {
  width: 100%;
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1.5s ease-out, transform 1.5s ease-out;
}
section .popup.show {
  opacity: 1;
  transform: translateY(0);
}
section .popup2 {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
section .popup2.show {
  opacity: 1;
}
@keyframes scaleAnimation {
  0%, 100% {
    transform: scale(0.9);
  }
  50% {
    transform: scale(1);
  }
}
section .line {
  animation: scaleAnimation 1.5s infinite ease-in-out;
}
section .background {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  height: 100%;
}
section.percentage {
  text-align: center;
}
section.percentage #cap1 {
  width: 80%;
  margin: 20px 0 10px 0;
}
section.percentage #graph {
  width: 50%;
}
section.percentage #cap2 {
  width: 80%;
  margin: 0;
}
section.percentage .line {
  margin-top: 10px;
}
section.privacy {
  text-align: center;
}
section.privacy .title {
  position: relative;
  width: 80%;
  z-index: 10;
  margin: 20px 0 10px 0;
}
section.privacy .point {
  width: 55%;
  position: relative;
  z-index: 10;
  display: block;
}
section.privacy .left {
  margin-left: 10px;
}
section.privacy .right {
  margin-right: 10px;
  margin-left: auto;
}
section.privacy .non-top {
  margin-top: -80px;
}
section.privacy .line {
  position: relative;
  z-index: 10;
}
section.timing {
  margin-top: 40px;
  text-align: center;
  padding: 10px 0;
}
section.timing .cap {
  width: 80%;
  margin: 20px 0;
}
section.timing .graph {
  width: 90%;
  margin: 20px 0;
}
section.speed {
  text-align: center;
}
section.speed .speed_background {
  position: absolute;
  top: 0;
  left: 0;
}
section.speed .speed-container {
  width: 90%;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列 */
  gap: 10px; /* 画像間の余白 */
  margin: auto; /* 中央配置 */
  padding-top: 90px;
}
section.speed .speed {
  width: 100%; /* 画像サイズを親要素にフィット */
  height: auto;
}
section.speed .line {
  width: 90%;
  margin: 5px 0;
}
section.hikaku {
  text-align: center;
}
section.hikaku .title {
  width: 80%;
  margin-top: 80px;
  margin-bottom: 10px;
}
section.hikaku .hikaku {
  width: 80%;
}
section.hikaku .hikaku.left {
  margin-left: 0;
  margin-right: 20%;
}
section.hikaku .hikaku.right {
  margin-left: 20%;
  margin-right: 0;
}
section.step {
  position: relative;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0;
  /* 横スクロールエリア */
  /* 画像スタイル */
}
section.step .step-background {
  position: absolute;
}
section.step .scroll-container {
  position: relative;
  display: flex;
  height: -moz-fit-content;
  height: fit-content;
  align-items: center; /* 画像を中央に配置 */
  gap: 20px; /* 画像間の余白 */
  overflow-x: auto;
  white-space: nowrap;
  padding: 20px;
  padding-top: 90px;
  scroll-snap-type: x mandatory;
}
section.step .scroll-img {
  width: 90%; /* 画面幅の90% */
  height: auto; /* アスペクト比を維持 */
  display: block; /* flexboxではなく通常のブロック要素として扱う */
  scroll-snap-align: center;
  flex-shrink: 0;
}
section.step .arrow {
  width: 30px;
  margin-left: -20px;
  margin-right: -20px;
  animation: blink 2s infinite;
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
section.voice {
  position: relative;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0;
  padding-top: 20px;
  margin-top: 40px;
  /* 横スクロールエリア */
  /* 画像スタイル */
}
section.voice .voice-background {
  position: absolute;
  width: 150%;
  -o-object-fit: cover;
     object-fit: cover;
  left: -20%;
}
section.voice .title {
  width: 60%;
}
section.voice .scroll-container {
  position: relative;
  display: flex;
  height: -moz-fit-content;
  height: fit-content;
  align-items: center; /* 画像を中央に配置 */
  gap: 20px; /* 画像間の余白 */
  overflow-x: auto;
  white-space: nowrap;
  padding: 20px;
  padding-top: 30px;
  scroll-snap-type: x mandatory;
}
section.voice .scroll-img {
  width: 90%; /* 画面幅の90% */
  height: auto; /* アスペクト比を維持 */
  display: block; /* flexboxではなく通常のブロック要素として扱う */
  scroll-snap-align: center;
  flex-shrink: 0;
}
section.voice .arrow {
  width: 50px;
  margin-left: -35px;
  margin-right: -35px;
  animation: blink 3s infinite;
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
section.faq {
  margin-top: 40px;
  padding: 20px 0;
  padding-bottom: 140px;
}
section.faq .faq_background {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.2;
  height: 100%;
  z-index: -1;
}
section.faq .title {
  width: 60%;
  margin-left: 35%;
}
section.faq .faq_container {
  width: 90%;
  margin: 10px auto;
  height: auto;
  padding: 20px 15px;
  background-color: white;
  z-index: 10;
  border-radius: 5px;
  box-shadow: 0 3px 3px rgba(112, 112, 112, 0.2901960784);
  cursor: pointer;
}
section.faq .faq_container .question_container {
  display: flex;
  align-items: center;
}
section.faq .faq_container .question_container p {
  font-family: "A1 Gothic M", sans-serif;
  font-family: "A1 Gothic R", sans-serif;
}
section.faq .faq_container .question_container .icon {
  line-height: 40px;
  margin-right: 10px;
  font-size: 32px;
}
section.faq .faq_container .question_container .text {
  font-size: 16px;
  line-height: 20px;
}
section.faq .faq_container p {
  font-size: 16px;
  color: #8EB173;
  font-family: "A1 Gothic M", sans-serif;
  font-family: "A1 Gothic R", sans-serif;
}
section.faq .answer {
  width: 80%;
  margin: 0 auto;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding-block: 0; /* 上下のpaddingをアニメーション */
  transition: max-height 2s ease-in-out, opacity 0.5s ease-in-out;
  font-family: "A1 Gothic R", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: rgb(91, 91, 91);
}
section.faq .faq_container.active .answer {
  max-height: 500px;
  opacity: 1;
  padding: 10px 0;
  padding-block: 10px; /* 上下のpaddingをアニメーション */
}/*# sourceMappingURL=move.css.map */