@charset "UTF-8";

/*============================
m-only
============================*/
.m-only--sp {
  display: none;
}
@media screen and (max-width: 960px) {
  .m-only--sp {
    display: block;
  }
}
.m-only--pc {
  display: block;
}
@media screen and (max-width: 960px) {
  .m-only--pc {
    display: none;
  }
}

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  -webkit-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  -webkit-transform: translateY(30%);
          transform: translateY(30%);
  opacity: 0;
}

.scroll_up.on {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

/*========= LoadingのためのCSS ===============*/
/* Loading背景画面設定　*/
#splash {
  /*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9999;
  text-align: center;
  background-image: url("../img/load/pc-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
}

@media screen and (max-width: 960px) {
  #splash {
    background-image: url("../img/load/sp-bg.jpg");
  }
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 20%;
  left: 0;
  right: 0;
  margin:auto;
}

/* Loading アイコンの大きさ設定　*/
#splash_logo {
  width: 80%;
  max-width: 400px;
}

/* fadeUpをするアイコンの動き */
.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}


/*----------------------------
基本設定
----------------------------*/
body{
  font-family: sans-serif;
}
img{
  max-width: 100%;
}

.l-wrapper {
  position: relative;
  overflow: hidden;
  display: none;
}
@media screen and (min-width: 621px) {
  .l-wrapper::before {
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    content: "";
    height: 100vh;
    width: 100vw;
    display: block;
    background-image: url(../img/global/bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
  }
}

  .l-block {
  overflow: hidden;
  }
@media screen and (min-width: 621px) {
  .l-block {
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    max-width: 620px;
    position: relative;
    z-index: 10;
    overflow: hidden;
  }
}

.l-main {
  color: #464646;
  letter-spacing: 0.05em;
}

.l-section__inner {
  padding-left: 25px;
  padding-right: 25px;
}

.z-index{
  position: relative;
  z-index: 2;
}

.w-90{
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

/*----------------------------
PC用
----------------------------*/

.l-pcBg{
  position: fixed;
  z-index: 1;
  width: 100%;
  bottom: 0;
  left: 0;
}

.l-pcLogo__wrap{
  display: flex;
  height: 80vh;
  width: calc((100vw - 620px) / 2);
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: fixed;
  left: 0;
  top: 0;
  font-size: 30px;
  letter-spacing: .3em;
  font-weight: 300;
  padding: 0 20px;
  z-index: 3;
}

.l-pcLogo{
  max-width: 400px;
}

.l-pcCv{
  display: flex;
  height: 80vh;
  width: calc((100vw - 620px) / 2);
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  font-size: 30px;
  letter-spacing: .3em;
  font-weight: 300;
  padding: 0 20px;
  z-index: 3;
}

.l-pcCvImg{
  max-width: 355px;
  margin: auto;
}

.l-pcCvBtn{
  max-width: 430px;
  margin:60px auto 0;
}

.l-pcCv a{
  display: block;
}

.l-pcCv a:hover{
  opacity: .7;
}

.l-pcCv__flex{
  display: flex;
  justify-content: center;
  align-items: center;
  gap:60px;
  margin-top: 60px;
}

.l-pcCv__logo:last-child{
  position: relative;
}
.l-pcCv__logo:last-child::before{
  content: "";
  background: #707070;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: -30px;
  display: block;
}

@media screen and (max-width: 1350px) {
  .l-pcLogo__wrap{
    display: none;
  }
  .l-pcCv{
    display: none;
  }
}

@media screen and (max-width: 620px) {
  .l-pcBg{
    display: none;
  }
}

/*----------------------------
コンテンツ
----------------------------*/

.block01{
  margin-top: -12vw;
}
.block02{
  margin-top: -10vw;
  padding: 0 20px 300px;
  background: #D8EFC4;
}
.block03,.block04,.block05{
  margin-top: -80px;
}
.block06{
  background: #fff;
  padding: 30px 20px 350px;
}
.block07{
  background:#FFF3AF;
  margin-top: -100px;
  padding: 100px 20px 50px;
}
.block08{
  background:#fff;
  margin-top: -150px;
  padding: 180px 20px 50px;
}
.block09{
  background:#11605B;
  margin-top: -100px;
  padding: 180px 20px 200px;
}
.block010{
  margin-top: -150px;
}
.block011{
  margin-top: -9vw;
}
.partition01{
  margin-top: -300px;
  position: relative;
  z-index: 5;
}
.partition02{
  margin-top: -120px;
  position: relative;
  z-index: 5;
}
.faq{
  background: #fff;
  margin-top: -120px;
  padding: 180px 20px 50px;
}
.faq-title{
  text-align: center;
  margin-bottom: 50px;
}
.faq-title img{
  width: 80%;
  max-width: 300px;
  margin: auto;
}
.faq-block+.faq-block{
  margin-top: 60px;
}
.faq-block__inner{
  display: flex;
  gap:15px;
}
.faq-block__q{
  align-items: center;
}
.faq-block__inner+.faq-block__inner{
  margin-top: 30px;
}
.faq-block__innerTitle{
  width: 15%;
  flex-shrink: 0;
}
.faq-block__innerText{
  width: calc(100% - 15% - 15px);
}
.faq-block__innerText p{
  line-height: 1.5;
  font-size: 16px;
}
.faq-block__innerText .orange{
  color:#F89600;
}

.footer{
  background-image: url(../img/footer/bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 50px 30px 50%;
  position: relative;
}
.footer-bottom{
  position: absolute;
  bottom: -10%;
  left: 0;
}

.footer-img{
  width: 60%;
  max-width: 300px;
  margin:0 auto 40px;
  text-align: center;
}

.footer a{
  display: block;
}

.footer a:hover{
  opacity: .7;
}

.footer-inner{
  display: flex;
  justify-content: center;
  align-items: center;
  gap:60px;
  margin-top: 60px;
}

.footer-inner__logo:last-child{
  position: relative;
}
.footer-inner__logo:last-child::before{
  content: "";
  background: #707070;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: -30px;
  display: block;
}

@media screen and (min-width: 621px) {
  .block01{
    margin-top: -100px;
  }
  .block02{
    margin-top: -80px;
    padding: 0 20px 300px;
  }
  .block03,.block04,.block05{
    margin-top: -100px;
  }
  .block06{
    background: #fff;
    padding: 30px 20px 350px;
  }
  .block07{
    background:#FFF3AF;
    margin-top: -100px;
    padding: 100px 20px 50px;
  }
  .block08{
    background:#fff;
    margin-top: -190px;
    padding: 180px 20px 50px;
  }
  .block09{
    background:#11605B;
    margin-top: -100px;
    padding: 180px 20px 200px;
  }
  .block010{
    margin-top: -150px;
  }
  .block011{
    margin-top: -50px;
  }

  .partition01{
    margin-top: -300px;
    position: relative;
    z-index: 5;
  }

  .partition02{
    margin-top: -200px;
    position: relative;
    z-index: 5;
  }
  .footer{
    background-image: url(../img/footer/bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 50px 30px 250px;
    position: relative;
  }
  .footer-bottom{
    position: absolute;
    bottom: -150px;
    left: 0;
  }
  .faq-block__innerText p{
    line-height: 1.5;
    font-size: 20px;
  }
}