@charset "utf-8";
/*タイトル*/
.title--baseParts .rubyUpper,
.subTitle--baseParts .rubyUpper{
  display: none;
}
.title--baseParts .title,
.title--baseParts .rubyLower,
.subTitle--baseParts .title,
.subTitle--baseParts .rubyLower{
  font-weight: bold;
}
.subTitle--baseParts .rubyLower{
  color: var(--color--base);
}
.title--baseParts .title{
  color: var(--color--base);
}
.title1,
.subTitle1,
.subTitle3{
  text-align: center;
}
.subTitle1 .rubyLower,
.subTitle2 .rubyLower{
  display: none;
}
/*ボタン*/
.btn--baseParts{
  height: 50px;
  background-color: var(--color--base);
  color: var(--color--white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 10;
}
body .swiper-button-next,
body .swiper-button-prev{
  width: var(--s50);
  height: var(--s50);
}
body .swiper-button-prev::after{
  font-family: 'web-tech' !important;
  content: "\e915";
  font-size: 30px;
}
body .swiper-button-next::after{
  font-family: 'web-tech' !important;
  content: "\e916";
  font-size: 30px;
}
body .swiper-button-next.swiper-button-disabled,
body .swiper-button-prev.swiper-button-disabled{
  opacity: 0;
}
.triggerLink{
  position: relative;
}
.targetImgWrap{
  position: relative;
  overflow: hidden;
}
.targetImg{
  position: absolute;
  top: 0;
  left: 0;
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 1024px){
  .btn--baseParts{
    max-width: 240px;
    transition: all var(--ease) var(--animation__time);
  }
  .triggerLink:hover .btn--baseParts,
  .btn--baseParts:hover {
    opacity: .8;
    letter-spacing: .5rem;
  }
  .triggerLink .targetImg{
    transform: scale(1);
    transition: transform var(--animation__time) var(--ease);
  }
  .triggerLink:hover .targetImg{
    transform: scale(1.1);
  }
}
.bnr--baseParts{
  position: relative;
  display: block;
  overflow: hidden;
}
.bnr--baseParts::before{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--color--black);
  opacity: .2;
  z-index: 10;
}
.bnr--baseParts .bnrCts{
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  z-index: 10;
}
.parallaxScroll .targetImg,
.parallaxScroll.targetImg{
  width: 100%;
  height: calc(100% + 100px); /*jsの値と同じ*/
}
@media screen and (min-width: 1024px){
  .parallaxScroll .targetImg,
  .parallaxScroll.targetImg{
    height: calc(100% + 150px); /*jsの値と同じ*/
  }
}

/*タイトルアニメーション*/
.animation.title--baseParts .title,
.animation .title--baseParts .title,
.animation.title--baseParts .rubyLower,
.animation .title--baseParts .rubyLower{
  position: relative;
  overflow: hidden;
}
.animation.title--baseParts .title > span,
.animation .title--baseParts .title > span,
.animation.title--baseParts .rubyLower > span,
.animation .title--baseParts .rubyLower > span{
  transform: translateY(100%);
  display: block;
}
.animation.on.title--baseParts .title > span,
.animation.on .title--baseParts .title > span,
.animation.on.title--baseParts .rubyLower > span,
.animation.on .title--baseParts .rubyLower > span{
  transform: translateY(0);
  transition: transform var(--ease-custom);
  transition-duration: var(--animation__time);
}
/*.animation.title--baseParts .title .textChild,
.animation .title--baseParts .title .textChild,
.animation.title--baseParts .rubyLower .textChild,
.animation .title--baseParts .rubyLower .textChild{
  transform: translateY(100%);
  display: inline-block;
}
.animation.on.title--baseParts .title .textChild,
.animation.on .title--baseParts .title .textChild,
.animation.on.title--baseParts .rubyLower .textChild,
.animation.on .title--baseParts .rubyLower .textChild{
  transform: translateY(0);
  transition: transform cubic-bezier(0.68, -0.55, 0.27, 1.55);
  transition-duration: .5s;*/
}
.animation.on.title--baseParts .rubyLower > span,
.animation.on .title--baseParts .rubyLower > span{
  transition-delay: .3s;
}

/*画像アニメーション*/
.animation.targetImgWrap,
.animation .targetImgWrap{
  position: relative;
}
.animation.targetImgWrap::before,
.animation .targetImgWrap::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color--item);
  z-index: 0;
}
.animation.targetImgWrap .targetImgCts,
.animation .targetImgWrap .targetImgCts{
  position: relative;
  height: 100%;
  opacity: 0;
  z-index: 10;
}
.animation.on.targetImgWrap .targetImgCts,
.animation.on .targetImgWrap .targetImgCts{
  opacity: 1;
  transition: opacity var(--animation__time) var(--ease-in);
}

/*フェードインアニメーション*/
.animation.move,
.animation .move--sp,
.start.move,
.start .move--sp{
  opacity: 0;
}
.animation.on.move,
.animation.on .move--sp,
.start.on.move,
.start.on .move--sp{
  opacity: 1;
  transition: opacity var(--ease-custom);
  transition-duration: var(--animation__time);
}
.animation.activeMove,
.animation .activeMove--sp,
.start.activeMove,
.start .activeMove--sp{
  opacity: 0;
  -webkit-transform: translate3d(0,50px,0);
  transform: translate3d(0,50px,0);
}
.animation.on.activeMove,
.animation.on .activeMove--sp,
.start.on.activeMove,
.start.on .activeMove--sp{
  opacity: 1;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: transform var(--ease-custom),opacity var(--ease-custom);
  transition-duration: var(--animation__time);
}
.animation.slideMove,
.animation .slideMove--sp,
.start.slideMove,
.start .slideMove--sp{
  opacity: 0;
  -webkit-transform: translate(-50px,0);
  transform: translate(-50px,0);
}
.animation.on.slideMove,
.animation.on .slideMove--sp,
.start.on.slideMove,
.start.on .slideMove--sp{
  opacity: 1;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: transform var(--ease-out),opacity var(--ease-custom);
  transition-duration: var(--animation__time);
}
.animation.on.timing2,
.animation.on.timing2--sp,
.animation.on .timing2,
.animation.on .timing2--sp,
.start.on.timing2,
.start.on.timing2--sp,
.start.on .timing2,
.start.on .timing2--sp{
  transition-delay: .2s;
}
.animation.on.timing3,
.animation.on.timing3--sp,
.animation.on .timing3,
.animation.on .timing3--sp,
.start.on.timing3,
.start.on.timing3--sp,
.start.on .timing3,
.start.on .timing3--sp{
  transition-delay: .3s;
}
.animation.on.timing4,
.animation.on.timing4--sp,
.animation.on .timing4,
.animation.on .timing4--sp,
.start.on.timing4,
.start.on.timing4--sp,
.start.on .timing4,
.start.on .timing4--sp{
  transition-delay: .4s;
}
.animation.on.timing5,
.animation.on.timing5--sp,
.animation.on .timing5,
.animation.on .timing5--sp,
.start.on.timing5,
.start.on.timing5--sp,
.start.on .timing5,
.start.on .timing5--sp{
  transition-delay: .5s;
}
.animation.on.timing6,
.animation.on.timing6--sp,
.animation.on .timing6,
.animation.on .timing6--sp,
.start.on.timing6,
.start.on.timing6--sp,
.start.on .timing6,
.start.on .timing6--sp{
  transition-delay: .6s;
}
.animation.on.timing7,
.animation.on.timing7--sp,
.animation.on .timing7,
.animation.on .timing7--sp,
.start.on.timing7,
.start.on.timing7--sp,
.start.on .timing7,
.start.on .timing7--sp{
  transition-delay: .7s;
}
.animation.on.timing8,
.animation.on.timing8--sp,
.animation.on .timing8,
.animation.on .timing8--sp,
.start.on.timing8,
.start.on.timing8--sp,
.start.on .timing8,
.start.on .timing8--sp{
  transition-delay: .8s;
}
.animation.on.timing9,
.animation.on.timing9--sp,
.animation.on .timing9,
.animation.on .timing9--sp,
.start.on.timing9,
.start.on.timing9--sp,
.start.on .timing9,
.start.on .timing9--sp{
  transition-delay: .9s;
}
.animation.on.timing10,
.animation.on.timing10--sp,
.animation.on .timing10,
.animation.on .timing10--sp,
.start.on.timing10,
.start.on.timing10--sp,
.start.on .timing10,
.start.on .timing10--sp{
  transition-delay: 1s;
}
@media screen and (min-width: 768px){
  .animation .move--tpc,
  .start .move--tpc{
    opacity: 0;
  }
  .animation.on .move--tpc,
  .start.on .move--tpc{
    opacity: 1;
    transition: opacity var(--ease-custom);
    transition-duration: var(--animation__time);
  }
  .animation .activeMove--tpc,
  .start .activeMove--tpc{
    opacity: 0;
    -webkit-transform: translate3d(0,50px,0);
    transform: translate3d(0,50px,0);
  }
  .animation.on .activeMove--tpc,
  .start.on .activeMove--tpc{
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    transition: transform var(--ease-custom),opacity var(--ease-custom);
    transition-duration: var(--animation__time);
  }
  .animation .slideMove--tpc,
  .start .slideMove--tpc{
    opacity: 0;
    -webkit-transform: translate(-50px,0);
    transform: translate(-50px,0);
  }
  .animation.on .slideMove--tpc,
  .start.on .slideMove--tpc{
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    transition: transform var(--ease-out),opacity var(--ease-custom);
    transition-duration: var(--animation__time);
  }
  .animation.on.timing2--tpc,
  .animation.on .timing2--tpc,
  .start.on.timing2--tpc,
  .start.on .timing2--tpc{
    transition-delay: .2s;
  }
  .animation.on.timing3--tpc,
  .animation.on .timing3--tpc,
  .start.on.timing3--tpc,
  .start.on .timing3--tpc{
    transition-delay: .3s;
  }
  .animation.on.timing4--tpc,
  .animation.on .timing4--tpc,
  .start.on.timing4--tpc,
  .start.on .timing4--tpc{
    transition-delay: .4s;
  }
  .animation.on.timing5--tpc,
  .animation.on .timing5--tpc,
  .start.on.timing5--tpc,
  .start.on .timing5--tpc{
    transition-delay: .5s;
  }
  .animation.on.timing6--tpc,
  .animation.on .timing6--tpc,
  .start.on.timing6--tpc,
  .start.on .timing6--tpc{
    transition-delay: .6s;
  }
  .animation.on.timing7--tpc,
  .animation.on .timing7--tpc,
  .start.on.timing7--tpc,
  .start.on .timing7--tpc{
    transition-delay: .7s;
  }
  .animation.on.timing8--tpc,
  .animation.on .timing8--tpc,
  .start.on.timing8--tpc,
  .start.on .timing8--tpc{
    transition-delay: .8s;
  }
  .animation.on.timing9--tpc,
  .animation.on .timing9--tpc,
  .start.on.timing9--tpc,
  .start.on .timing9--tpc{
    transition-delay: .9s;
  }
  .animation.on.timing10--tpc,
  .animation.on .timing10--tpc,
  .start.on.timing10--tpc,
  .start.on .timing10--tpc{
    transition-delay: 1s;
  }
}
@media screen and (min-width: 1024px){
  .animation.move,
  .animation .move--pc,
  .start.move,
  .start .move--pc{
    opacity: 0;
  }
  .animation.on.move,
  .animation.on .move--pc,
  .start.on.move,
  .start.on .move--pc{
    opacity: 1;
    transition: opacity var(--ease-custom);
    transition-duration: var(--animation__time);
  }
  .animation.activeMove,
  .animation .activeMove--pc,
  .start.activeMove,
  .start .activeMove--pc{
    opacity: 0;
    -webkit-transform: translate3d(0,50px,0);
    transform: translate3d(0,50px,0);
  }
  .animation.on.activeMove,
  .animation.on .activeMove--pc,
  .start.on.activeMove,
  .start.on .activeMove--pc{
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    transition: transform var(--ease-custom),opacity var(--ease-custom);
    transition-duration: var(--animation__time);
  }
  .animation.slideMove,
  .animation .slideMove--pc,
  .start.slideMove,
  .start .slideMove--pc{
    opacity: 0;
    -webkit-transform: translate(-50px,0);
    transform: translate(-50px,0);
  }
  .animation.on.slideMove,
  .animation.on .slideMove--pc,
  .start.on.slideMove,
  .start.on .slideMove--pc{
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    transition: transform var(--ease-out),opacity var(--ease-custom);
    transition-duration: var(--animation__time);
  }
  .animation.on.timing2,
  .animation.on.timing2--pc,
  .animation.on .timing2,
  .animation.on .timing2--pc,
  .start.on.timing2,
  .start.on.timing2--pc,
  .start.on .timing2,
  .start.on .timing2--pc{
    transition-delay: .2s;
  }
  .animation.on.timing3,
  .animation.on.timing3--pc,
  .animation.on .timing3,
  .animation.on .timing3--pc,
  .start.on.timing3,
  .start.on.timing3--pc,
  .start.on .timing3,
  .start.on .timing3--pc{
    transition-delay: .3s;
  }
  .animation.on.timing4,
  .animation.on.timing4--pc,
  .animation.on .timing4,
  .animation.on .timing4--pc,
  .start.on.timing4,
  .start.on.timing4--pc,
  .start.on .timing4,
  .start.on .timing4--pc{
    transition-delay: .4s;
  }
  .animation.on.timing5,
  .animation.on.timing5--pc,
  .animation.on .timing5,
  .animation.on .timing5--pc,
  .start.on.timing5,
  .start.on.timing5--pc,
  .start.on .timing5,
  .start.on .timing5--pc{
    transition-delay: .5s;
  }
  .animation.on.timing6,
  .animation.on.timing6--pc,
  .animation.on .timing6,
  .animation.on .timing6--pc,
  .start.on.timing6,
  .start.on.timing6--pc,
  .start.on .timing6,
  .start.on .timing6--pc{
    transition-delay: .6s;
  }
  .animation.on.timing7,
  .animation.on.timing7--pc,
  .animation.on .timing7,
  .animation.on .timing7--pc,
  .start.on.timing7,
  .start.on.timing7--pc,
  .start.on .timing7,
  .start.on .timing7--pc{
    transition-delay: .7s;
  }
  .animation.on.timing8,
  .animation.on.timing8--pc,
  .animation.on .timing8,
  .animation.on .timing8--pc,
  .start.on.timing8,
  .start.on.timing8--pc,
  .start.on .timing8,
  .start.on .timing8--pc{
    transition-delay: .8s;
  }
  .animation.on.timing9,
  .animation.on.timing9--pc,
  .animation.on .timing9,
  .animation.on .timing9--pc,
  .start.on.timing9,
  .start.on.timing9--pc,
  .start.on .timing9,
  .start.on .timing9--pc{
    transition-delay: .9s;
  }
  .animation.on.timing10,
  .animation.on.timing10--pc,
  .animation.on .timing10,
  .animation.on .timing10--pc,
  .start.on.timing10,
  .start.on.timing10--pc,
  .start.on .timing10,
  .start.on .timing10--pc{
    transition-delay: 1s;
  }
}
#form table{
  width: 100%;
  table-layout: fixed;
}
#form th{
  text-align: left;
  padding: calc(var(--s10) * var(--space__value));
  width: 100%;
  display: block;
  line-height: 1.5;
  
}
#form th{
  margin-top: calc(var(--s5) * var(--space__value));
}
#form td{
  margin-bottom: calc(var(--s5) * var(--space__value));
}
#form th > span,
#form .mail__sup{
  color: #d52d2d;
}
#form td{
  width: 100%;
  display: block;
  padding: calc(var(--s10) * var(--space__value));
}
#form input,
#form select{
  width: 100%;
  border: solid 1px var(--color--gray);
  font-size: 16px;
  line-height: 1.5;
  padding: 10px 10px;
}
#form .checkBox__item{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#form .checkBox__item input{
  width: 16px;
  height: 16px;
  margin-right: 5px;
}
#form .checkBox__item + .checkBox__item{
  margin-top: 10px;
}
#form .address__number,
#form .address{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#form .address__number input{
  width: 20%;
}
#form textarea{
  width: 100%;
  border: solid 1px var(--color--gray);
  font-size: 16px;
  line-height: 1.5;
}
#form .formBtn{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: calc(var(--s10) * var(--space__value));
}
#form .formBtn > *{
  width: 49%;
}
#form .formBtn__reset input{
  border: none;
}
#form .formBtn__submit input{
  border: none;
  background-color: var(--color--base);
  color: #fff;
}
@media screen and (min-width: 768px){
  #form input,
  #form select{
    padding: 15px;
  }
}
