@charset "utf-8";
html {
  scroll-behavior: smooth;
}
body{
    font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角語Pro W3', 'メイリオ', 'Meiryo','MSPゴシック','sans-serif';
    
    text-align:left;
    color:#000;
    

}




p{
  
  line-height: 1.8rem;
  
}


p span{
    background: linear-gradient(transparent 50%,#5c258a 50%);
    font-weight:bold;
}
span{
    background: linear-gradient(transparent 50%,#fff260 50%);
}
strong{
    color:#805700;
    font-weight: bold;
}

cite{
  color: #696969;
  font-size: xx-small;
 
}


.br-sp{
    display: block;
}
.br-pc{
    display: none;
}


@media screen and (min-width:750px){
    .br-sp{
        display: none;
    }
    .br-pc{
        display: block;
    }
}
/*------------------------------------- 追従 */
.fixed_btn{
    z-index: 10;

    position: fixed;
   background-color:#4f2a8c;
    border: none;
    outline: none;
    box-shadow: none;
  bottom: 0;
  padding: 10px;
  cursor: pointer;
  transition: .3s;
   /*デフォルトで非表示にする*/
   opacity: 0;
   visibility: hidden;


}




img.btn_animate01 {
    margin: 0 auto;
    animation: fuwafuwa 1s ease 0s infinite alternate;
    transform-origin:center;
    cursor: pointer;
    }
    @keyframes fuwafuwa {
    from {transform: scale(0.9,0.9);}
    to {transform: scale(1,1);}
    }


  
  .active{
    opacity: 1;
    visibility: visible;
   

  }
   

  @media screen and (min-width:750px){
    .fixed_btn{
       display: none;

    }
   
    
        
    }
  
  
   /* 背景設定 */
  
  
  body{
      background-image: linear-gradient(46deg, #f7f4ff, #eacbff);
      background-size:cover;
      color: #333333;
      background-attachment: fixed;
      z-index: 1;
      font-family: 'Noto Sans JP', sans-serif;
      transition: .7s;
      
      
  }


   /* ナビ */


.nav_wrapper{
    position: fixed;
    z-index: 5;
    width: 130%;
    top: 40%;
    transform: translateY(-50%);
    .nav_list{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: calc((100% - 150px) / 4);
        z-index: 5;
       
        li{
          
            
            a{
                display: inline-block;
                padding: 10px 40px;
                font-weight: 700;
                color:#403c44;
                text-decoration: none;
            }
        }
    }
    .nav_title{
      font-weight: bold;
      font-size:2rem;
    }


    .nav_fv{
      width:400px;
      position:absolute;
      top:50%;
      transform: translateY(-30%);
        left: calc((10% - 10px) / 4);
        z-index: 5;

    }
    .nav_fv p{
      padding-top: 20px;
    }
    @media screen and (max-width:1200px){
        display: none;
    }
}



	

/* コンテンツ */


.article{
    max-width: 450px;
    margin: 0 auto;
    position: relative;

    box-shadow:0px 0px  20px #d6dde3;
    background-color: #fff;
    
    @media screen and (max-width:768px){
        max-width: none;
        width: 100%;
    }
    .section{
        padding: 20px;
        height: 1000px;
    }
}


		





/*--------- FV -----------*/



.fv{
  
   
   text-align: center;
   position: relative;

  
    
    
}
.fv .cta{
    padding:20px 0 10px 0;
    position:absolute;
    bottom:5px;
   
}


.cta_guide2 {

    text-align: center;
    font-weight: bold;
    color: #333333;
    font-size:0.9rem;
    
}
.cta_guide3 {
    font-size: 9px;
    text-align: center;
    color: #333333;
}

.cta_guide4 {
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    color: #fff;
}


.step{
  background-image: url(..//images/step-bg.jpg);
  background-size: contain;
  padding:0px 10px 50px;
}
.step h2{
  padding:30px 50px 20px;
}




.sec02{
  background-image: url(..//images/sec02-bg.jpg);
  padding:0 20px 30px;

}
 
.sec02 .title{
  padding:30px 0 10px;
  
}

.sec02 p{
  padding:20px 0;
}

cite{
  color: #696969;
  font-size: xx-small;
 
 
}
.sec02 a{
  
  text-decoration: none;
}

.sec02 .media{
  padding-top:10px;
}




.sec03{
  background-image: url(..//images/sec03-bg.jpg);
  background-size: contain;
  padding:0 20px 40px;
}

.sec03 .title{
  padding:40px 30px 30px;
}

.sec03 .read p{
  color: #fff;
  font-weight: bold;
}
 

.sec03 .content .col{
  background-color: #fff;
  padding:15px;
  margin: 20px 0 0;
}

.sec03 .col .number{
  padding-bottom:10px;
}

.sec03 .col p{
  padding-bottom: 20px;
}


.sec04{
  background-image: url(..//images/sec04-bg.jpg);
}

.sec04 .title{
   padding:50px 10px 30px;

}
.sec04 p{
  padding:0 20px 30px;
}

.sec04 .col{
  padding-bottom: 20px;
}





.sec05 .last{
  position: relative;
}


.sec05 .last .arrow{
  position: absolute;
  
  top:0px;
  width:40%;
  right: 0;
  left: 0;
  margin: 0 auto;
}



/* アニメーションの設定：上下にふわふわと浮遊する動き */
@keyframes floatAnimation {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);/* 中間点：上10px移動 */
  }
  100% {
    transform: translateY(0);
  }
}

/* アニメーション対象の要素 */
.arrow img{
    animation: floatAnimation 2s infinite ease-in-out; /* 2秒周期でふわふわ移動 */
}

 


.sec06{
  background-image: url(..//images/sec06-bg.jpg);
  padding:20px ;
}

.sec06 .title{
  padding:30px 30px 20px;
}

.sec06 .col{
  padding-bottom: 20px;
}




.sec09{
  background-image: url(..//images/sec09-bg.jpg);
  background-size: contain;
  padding:30px 20px;
}

.sec09 .title{
  padding:20px 40px 30px;
}

.sec09 .col{
  padding-bottom: 20px;
}


.voice .title{
  padding:30px 60px;
}


/* slide item-------- */

.slide-items {
  width: 85%;
  display: flex;
  max-width: 85%;
  margin: auto;
  padding-bottom: 10px;
}

.slide-items li {
  height: auto;
  margin-right:0px;
  margin-left:0px;

   background-color:#fefae3 ;
  padding:20px;
}

.slide-items img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slick-prev:before,
.slick-next:before {
  color:#fff

}

.slick-dots {
  left: 50%;
  transform: translateX(-50%);
}






.faq{
  padding-bottom: 50px;
}

.faq .title{
  padding:50px;
  width:40%;
  text-align: center;
  margin: 0 auto;
}



.qa-6 {
    max-width: 500px;
    margin-bottom: 5px;
    border-bottom: 2px solid #d6dde3;
}

.qa-6 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.qa-6 summary::before,
.qa-6 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-6 summary::before {
    color: #5c258a;
    content: "Q";
}

.qa-6 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-6[open] summary::after {
    transform: rotate(225deg);
}

.qa-6 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-6[open] p {
    transform: none;
    opacity: 1;
}

.qa-6 p::before {
    color: #805700;
    line-height: 1.2;
    content: "A";
}

  

 

  .privacy{
    text-align: center;
    padding:30px;
    

}
.privacy a{
    color:#696969;
    font-size: 13px;
    
    text-decoration: none;
    
}

