@charset "utf-8";



img{
    max-width: 100%;
}
body{ 
  font-family: Zen Kaku Gothic New, sans-serif;
  font-weight: 400;
  font-style: normal;
  background-attachment: fixed;
  background-image: url(../image/background.jpg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
.body__wrapper{
    margin: 0 auto;
    max-width: 750px;
}
.fv__button__back{
  position: relative;
  margin: -7px 0 0 0;
}

.section--2{
  position: relative;
  margin: -11px 0 0 0;
}
.section--3{
  margin: -5px 0 0 0;
  position: relative;
}
.section--4{
  position: relative;
}
.section--5{
  position: relative;
  margin: -8px 0 0 0;
}
.section--6{
  background-color: #fff;
}
.section--7{
  background-color: #e5f3f7;
  margin: -27px 0 0 0;
}
.section--1,.section__3-2,.section__3-1,.section__4-1,.section__4-2,.section__4-3,.section--6{
  margin: -8px 0 0 0;
}


/* ボタンアニメーション */
.cv__button {
  position: relative;
  overflow: hidden;
}

.cv__button::after {
  animation: shiny 3s ease-in-out infinite;
  background-image: linear-gradient(100deg, hsla(0, 0%, 100%, 0) 10%, hsla(0, 0%, 100%, .5) 100%, hsla(0, 0%, 100%, 0) 0);
  content: "";
  height: 55%;
  left: -20%;
  padding: 0 30px;
  position: absolute;
  top: -10%;
  transform: scale(4) rotate(20deg);
  width: 40px;
}

@keyframes shiny{0%{left:-20%}10%{left:120%}to{left:120%}}



.line__button--1{
  position: absolute;
    bottom: 20%;
    right: 4%;
    display: block;
    left: 4%;
}
.line__button--2{
  position: absolute;
  bottom: 4.6%;
  right: 4%;
  display: block;
  left: 4%;
}
.line__button--3{
  position: absolute;
  bottom: 1.3%;
  right: 4%;
  display: block;
  left: 4%;
}
.line__button--4{
  position: absolute;
  bottom: 1.4%;
  right: 4%;
  display: block;
  left: 4%;
}
.line__button--5 {
  position: absolute;
  bottom: 4.5%;
  right: 4%;
  display: block;
  left: 4%;
}
.line__button--6{
  width: 95%;
  display: block;
  margin: 17px auto;
  padding: 0 0 66px 0;
}

/*　アコーディオン　*/
.accordion__list {
  padding: 0 25px;
  list-style: none;
}
.accordion__item:nth-child(n+2) {
  margin-top: 10px;
}
.accordion__head {
  position: relative;
  width: 100%;
  padding: 0 0 3px 0;
  cursor: pointer;
}
.accordion__head::after {
  background-image: url(../image/close.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 25%;
  position: absolute;
  right: 4%;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .5s ease-in-out;
  width: 5%;
}
.accordion__item.active .accordion__head::after {
  transform: translateY(-50%) rotate(180deg);
}
.accordion__body {
  overflow: hidden;
  width: 100%;
  height: 0;
  padding: 0 10px;
  transition: all .25s ease;
}
.accordion__item.active .accordion__body {
  height: auto;
  padding: 10px;
}


/*　スワイパー　*/
.wrapper {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  margin-block: 50px;
}
@media screen and (max-width: 1000px) {
  .wrapper {
    margin-right: 4.375%;
    margin-left: 4.375%;
  }
}
.swiper {
    margin-inline: auto;
    margin: -5px 0 0 0 ;
}
#swiper .swiper-button-next, #swiper .swiper-button-prev {
  background-repeat: no-repeat;
  background-size: contain;
  height: 34px;
  width: 34px;
}
.swiper-button-next {
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../image/next.png);
  height: 34px;
  width: 34px;
}
.swiper-button-prev{
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../image/prev.png);
  height: 34px;
  width: 34px;
}
.swiper-pagination-bullet-active{
  background-color: #fff !important;
}
.swiper-button-next:after, .swiper-button-prev:after {
  display: none;
}

.swiper-pagination-bullet {
  width: 20px !important;
  height: 20px !important;
  display: inline-block !important;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%) !important;

}
.swiper-slide{
  margin: 0 25px 0 25px!important;
  width: auto;
}
@media(max-width:730px){
  .swiper-slide{
    margin: 0 20px 0 20px!important;
  }
}
@media(max-width:690px){
  .swiper-slide{
    margin: 0 15px 0 15px!important;
  }
}
@media(max-width:650px){
  .swiper-slide{
    margin: 0 10px 0 10px!important;
  }
}
@media(max-width:600px){
  .swiper-slide{
    margin: 0 12px 0 12px!important;
  }
  .swiper-slide img{
    width: 90% !important;
  }
}

/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:750px) {
#formWrap {
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
form input[type="text"], form textarea {
	padding:5px;
	font-size:110%;
	display:block;
}
.privacy__title{
  font-size: 22px !important;
}
table.formTable{
  width: 95%;
}
.privacy__check {
  font-size: 14px;
}
.footer__item a{
  font-size: 12px !important  ;
}
.thanks__text span {
  font-size: 18px !important;
}.thanks__text{
  font-size: 14px !important;
}
#form_submit_button {
  font-size: 30px !important;
}
.privacy__text {
  margin-bottom: 30px !important;
  font-size: 12px !important;

}
.age{
  width: 20% !important;
  margin: 35px 5px 0 -42px !important;
}
}

/* フッター */
footer{
  background-image:url(../image/footer.png);
  aspect-ratio: 2.517;
  background-repeat: no-repeat;
  background-size: contain;
  margin-top: -15px;
  width: 100%;
}
.footer__list{
  align-items: flex-end;
    display: flex;
    height: 75%;
    justify-content: center;
    list-style: none;
}
.footer__item{
  border-left: 1px solid #fff;
  font-size: 14px;
  padding: 0 6%;
}
.footer__item a{
  color: #fff;
  text-decoration: none;
  font-size: 16px;
}
.footer__item:last-child {
  border-right: 1px solid #fff;
}

/* サンクスページ */
.thanks__wrapper{
  display: grid;
  height: 100vh;
  padding: 0 20px;
  place-items: center;
}
.thanks__text{
  text-align: center;
}
.thanks__text span{
  font-size: 30px;
  font-weight: 700;
  line-height: 4;
}
.thanks__text a{
  display: block;
  color: #000;
  text-decoration: none;
  padding: 40px 0 0 0;
}

/* 追従ボタン */
.tracking{
  align-items: center;
  background: #fff;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  left: 50%;
  max-width: 750px;
  opacity: 0;
  position: fixed;
  transform: translateX(-50%);
  transition: opacity .5s ease-in-out;
  visibility: hidden;
  width: 100%;
  z-index: 100;
}
.tracking.is-active {
  opacity: 1;
  visibility: visible;
}




.privacy__box{
  margin: 0 30px !important;
  background: #fff;
  padding: 0 20px !important;
  border: 2px solid #ccc;
  border-radius: 5px;
  color: #2c2c2c;
  max-height: 200px;
  overflow-y: scroll;

}
.privacy__title{
  font-weight: 700;
  padding: 33px 0 32px 0 !important;
  text-align: center;
  font-size: 44px;
}
.privacy__text{
  margin-bottom: 30px !important;
  font-size: 14px;
}
.privacy{
  background: #f4f8fb;
}
.dt-1 {
  margin: 0 0 0 -44px !important;
}
.age{
  width: 14% !important;
  margin: 35px 5px 0 -42px !important;
}
.form__small__text{
  margin: 16px 0 0 0 !important;
    font-size: 12px;
}


.privacy-1{
  background: #f4f8fb !important;
  padding: 30px 30px 25px !important;
  text-align: center;
  font-size: 20px !important;
  display: grid;
}



.radio__btn{
  margin: 0 10px 0 0;
    height: 20px;
    vertical-align: bottom;
    width: 20px;
}
.select__text{
  font-size: 16px;
  padding: 0 9px 0 0 !important;
}

@media(max-width:750px){
  .privacy-1{
font-size: 14px !important;
  }
  .required-2 {
margin: 0 !important;
}
}
.required-2 {
  margin: 41px 0 -41px -16% !important;
  display: block;
}

.required-4 text{
  display: none !important  ;
}
.form__name{
  margin: -4px 0 0 0 !important;
}
.form__name__box{
  margin: 0 0 -3px 0;
}
.form__age{
  padding: 1px 0 0 0 !important;
}
.form__radio{
  position: relative;
}
.form__tell{
  padding: 0 0 0 0 !important;
}
.form__mail{
  padding: 28px 0 0 0 !important;
}
.form__day,.form__area,.form__money{
  padding: 3px 0 0 0 !important;
}
select{
  padding: 10px !important;
}
@media(max-width:500px){
  .required-3{
    font-size: 12px;
    margin: 0 60px 0 0 !important;
  }
}