@charset "UTF-8";
/* CSS Document */
body {
  background: #FFFFFF;
}

@media screen and (max-width: 767px) {
  .lpmain {
      padding-bottom: 0;
  }
}

.logo {
  position: relative;
  z-index: 100001;
}

#hbg .icon {
  width: 12.25%;
  z-index: 1;
  top: 5rem;
  right: 2.6%;
}

@media screen and (max-width: 767px) {
  #hbg .icon {
    top: 3.5rem;
  }
}

#hbg.scrolled .flhdr {
    position: fixed;
    top: 0;
    width: 100%;
}

#hbg.scrolled .icon {
    top: 0.5rem;
}

#hbg.scrolled #menu-hbg {
  position: absolute;
  padding-top: 0;
}

#menu-hbg .menu {
  background: #FFFFFF;
  overflow-y: auto;
  padding: 0;
  height: 100vh;
  box-sizing: border-box;
}

#menu-hbg .menu .ttl {
  width: 100%;
  padding: 9% 0 3%;
  margin: 0 auto;
}

#menu-hbg .menu_sub {
  margin: 0 5%;
}

#menu-hbg .menu_sub li {
  width: 100%;
  margin-top: 0;
  margin-bottom: 5%;
}

.cpn-wrap {
  position: relative;
}

#lpwrap .cpn-wrap .popup-btn01 {
  cursor: pointer;
  width: 60%;
  top: 55.5%;
  left: 20%;
  position: absolute;
}

#lpwrap .cpn-wrap .popup-btn02 {
  cursor: pointer;
  width: 60%;
  top: 88%;
  left: 20%;
  position: absolute;
}

.zankure-wrap {
  position: relative;
}

#lpwrap .zankure-wrap .popup-btn01 {
  cursor: pointer;
  width: 60%;
  top: 35%;
  left: 20%;
  position: absolute;
}

#lpwrap .zankure-wrap .popup-btn02 {
  cursor: pointer;
  width: 60%;
  top: 86%;
  left: 20%;
  position: absolute;
}

.modal {
  padding: 1em;
  text-align: center;
  width: 30rem;
  overflow-y: auto;
  position: absolute;
  top: 5rem;
}

@media screen and (max-width: 767px) {
  .modal {
    width: 20rem;
    height: 30rem;
    top: 4rem;
  }
}

.close-btn01 {
  cursor: pointer;
  background: url("../images/close-btn.png") no-repeat center / contain;
  top: -1rem;
  right: -0.5rem;
  bottom: auto;
  left: auto;
  width: 10%;
  aspect-ratio: 1 / 1;
  position: absolute;
}

.close-btn02 {
  cursor: pointer;
  background: url("../images/btn09.png") no-repeat center / contain;
  bottom: 1rem;
  left: 8.5rem;
  width: 10rem;
  aspect-ratio: 375 / 94;
  position: absolute;
}

@media screen and (max-width: 767px) {
  .close-btn02 {
    bottom: 0.7rem;
    left: 6rem;
    width: 8rem;
  }
}

.navi-wrap {
  position: relative;
}

#lpwrap .navi-wrap .btn01 {
  cursor: pointer;
  width: 30%;
  top: 55%;
  left: 3%;
  position: absolute;
}

#lpwrap .navi-wrap .btn02 {
  cursor: pointer;
  width: 30%;
  top: 55%;
  left: 35%;
  position: absolute;
}

#lpwrap .navi-wrap .btn03 {
  cursor: pointer;
  width: 30%;
  top: 55%;
  left: 67%;
  position: absolute;
}

#custom,
#normal,
#joy {
  padding-top: 28%;
  margin-top: -28%;
}

.swiper1 {
  background-image: url(../images/cont05.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 44%;
}

.swiper1 .swiper-button-prev {
  background-image: url(../images/slider_left.png);
  background-size: 100%;
  background-repeat: no-repeat;
  left: 2%;
}

.swiper1 .swiper-button-next {
  background-image: url(../images/slider_right.png);
  background-size: 100%;
  background-repeat: no-repeat;
  right: 2%;
}

.swiper1 .swiper-button-next, .swiper1 .swiper-button-prev {
  width: 10%;
  height: 0;
  max-width: 80px;
  padding-top: 10%;
  top: 35%;
}

.swiper1 .swiper-pagination {
  bottom: 24%;
}

.swiper1 .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
}

@media screen and (max-width: 767px) {
  .swiper1 .swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
  }
}

.swiper2 {
  background-image: url(../images/cont06.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 47%;
}

.swiper2 .swiper-button-prev {
  background-image: url(../images/slider_left.png);
  background-size: 100%;
  background-repeat: no-repeat;
  left: 2%;
}

.swiper2 .swiper-button-next {
  background-image: url(../images/slider_right.png);
  background-size: 100%;
  background-repeat: no-repeat;
  right: 2%;
}

.swiper2 .swiper-button-next, .swiper2 .swiper-button-prev {
  width: 10%;
  height: 0;
  max-width: 80px;
  padding-top: 10%;
  top: 35%;
}

#lpwrap .swiper2 .swiper-pagination {
  bottom: 26.5%;
}

#lpwrap .swiper2 .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
}

@media screen and (max-width: 767px) {
  #lpwrap .swiper2 .swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
  }
}

.swiper3 {
  background-image: url(../images/cont07.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 46%;
}

.swiper3 .swiper-button-prev {
  background-image: url(../images/slider_left.png);
  background-size: 100%;
  background-repeat: no-repeat;
  left: 2%;
}

.swiper3 .swiper-button-next {
  background-image: url(../images/slider_right.png);
  background-size: 100%;
  background-repeat: no-repeat;
  right: 2%;
}

.swiper3 .swiper-button-next, .swiper3 .swiper-button-prev {
  width: 10%;
  height: 0;
  max-width: 80px;
  padding-top: 10%;
  top: 35%;
}

.swiper3 .swiper-pagination {
  bottom: 26%;
}

.swiper3 .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
}

@media screen and (max-width: 767px) {
  #lpwrap .swiper3 .swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
  }
}

.swiper4 {
  background-image: url(../images/cont15.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 17%;
}

.swiper4 .swiper-button-prev {
  background-image: url(../images/slider_left.png);
  background-size: 100%;
  background-repeat: no-repeat;
  left: 2%;
}

.swiper4 .swiper-button-next {
  background-image: url(../images/slider_right.png);
  background-size: 100%;
  background-repeat: no-repeat;
  right: 2%;
}

.swiper4 .swiper-button-next, .swiper4 .swiper-button-prev {
  width: 10%;
  height: 0;
  max-width: 80px;
  padding-top: 10%;
  top: 35%;
}

.swiper4 .swiper-pagination {
  bottom: 5%;
}

.swiper4 .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
}

@media screen and (max-width: 767px) {
  #lpwrap .swiper4 .swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
  }
}


.us-wrap {
  position: relative;
}

#lpwrap .us-wrap .btn {
  border-radius: 3rem;
  cursor: pointer;
  width: 80%;
  top: 88%;
  left: 10%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  overflow: hidden;
}

#lpwrap .us-wrap .btn:before {
  /*光るアニメーション用*/
  animation: shiny 3s ease-in-out infinite;
  background-color: #fff;
  content: " ";
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: -180px;
  transform: rotate(45deg);
  width: 30px;
}

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

.btn-wrap {
  position: relative;
}

#lpwrap .btn-wrap .btn01 {
  cursor: pointer;
  width: 95%;
  top: 12%;
  left: 3%;
  position: absolute;
}

#lpwrap .btn-wrap .btn02 {
  cursor: pointer;
  width: 95%;
  top: 27%;
  left: 3%;
  position: absolute;
}

#lpwrap .btn-wrap .btn03 {
  cursor: pointer;
  width: 95%;
  top: 42%;
  left: 3%;
  position: absolute;
}

#lpwrap .btn-wrap .btn04 {
  cursor: pointer;
  width: 95%;
  top: 57%;
  left: 3%;
  position: absolute;
}

#lpwrap .btn-wrap .btn05 {
  cursor: pointer;
  width: 95%;
  top: 72%;
  left: 3%;
  position: absolute;
}

#lpwrap .btn-wrap .btn06 {
  cursor: pointer;
  width: 60%;
  top: 87%;
  left: 20%;
  position: absolute;
}

.foot-wrap {
  position: relative;
}

#lpwrap .foot-wrap .btn01 {
  cursor: pointer;
  width: 30%;
  top: 0;
  left: 3%;
  position: absolute;
}

#lpwrap .foot-wrap .btn02 {
  cursor: pointer;
  width: 30%;
  top: 0;
  left: 35%;
  position: absolute;
}

#lpwrap .foot-wrap .btn03 {
  cursor: pointer;
  width: 30%;
  top: 0;
  left: 67%;
  position: absolute;
}

#lpwrap .foot-wrap .btn04 {
  cursor: pointer;
  width: 20%;
  bottom: 5%;
  left: 40%;
  position: absolute;
}

/* ボタンの基本スタイル */
.floating-btn {
  position: fixed;
  bottom: 1rem; /* 画面下からの距離 */
  right: 29.5rem;  /* 画面右からの距離 */
  width: 5rem;  /* ボタンの幅 */
  z-index: 9999; /* 最前面に表示 */
  transition: opacity 0.3s ease, visibility 0.3s ease; /* 消えるアニメーション */
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 767px) {
  .floating-btn {
    bottom: 0.5rem; /* 画面下からの距離 */
    right: 0.5rem;  /* 画面右からの距離 */
    width: 4.5rem;  /* ボタンの幅 */
  }
}

a:hover {
  opacity: 1;
}

.floating-btn img {
  width: 100%;
}

/* スクロール中に付与する非表示用のクラス */
.floating-btn.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none; /* 非表示中はクリックできないようにする */
}