@media screen and (max-width:1200px){


/* =============================

footer

============================= */


.footer{
    padding: 100px 0 var(--margin02);
}


.footer-top{
  flex-direction: column;
  padding-bottom: 0;
}

.footer-bottom{
  flex-direction: column;
}

.footer-list{
    padding-bottom: var(--margin04);
    border-bottom: 1px solid #fff;
  }

    .footer-list{
    padding-bottom: 0!important;
  }

  .footer-list a{
    padding-bottom: var(--margin04);
        display: block;
    position: relative;
  }




.footer-list a::after{
    position: absolute;
    content: ">";
    display: inline-block;
    right: 0;
    font-size: 80%;
}

  .footer-top{
    border:none;
  }

  .footer-logo,
  .footer-bottom-list ul{
    justify-content: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }

  .footer-logo a {
    width: 100%;
     margin: 0 auto;
  }



  .footer-bottom-list {
    font-size: var(--font-g);
    padding-top: 28px;
    flex-direction: column;
    justify-content: center;
  }

  .footer-bottom-list p{
    width: 100%;
    text-align: center;
            padding-top: 24px;
  }

  .footer-list h2 {
    padding-bottom: 0;
}

.pc-footer{
  display: none;
}


.sp-footer{
  display: block!important;
}


}

@media screen and (max-width:1000px){



/* =============================

common

============================= */

*{
    font-size: var(--font-e);
}






}


@media screen and (max-width:800px){


p,li,dd,a,dt,dd{
  font-size: var(--font-g);
}

    .pc{
    display: none!important;
  }

  .sp{
    display: block!important;
}

  .sp-2{
    display: flex!important;
}

  .flex-box{
    flex-direction: column;
  }

  .left-box,
  .right-box{
    width: 100%;
  }

  .left-box{
    text-align: center;
  }

  #liver .right-box{
      padding-top: 24%;
  }

.orb{
  position: fixed;
    width: 120vw;
    height: 120vw;
    border-radius: 50%;
    filter: blur(200px);
    animation: move-orb 10s infinite alternate;
    background: radial-gradient(circle, rgba(255, 0, 150, 0.8) 0%, rgba(255, 0, 150, 0) 70%);
    top: 10%;
    left: -20%;
  }

    .orb:nth-child(2),
  .orb:nth-child(3)
  {width: 120vw;
    height: 120vw;

  }

   .orb:nth-child(2){
      top: 40%;
    left: 0%;
   }

      .orb:nth-child(3){
      top: 80%;
    left: 30%;
   }



/* =============================

header

============================= */



.header-wrap{
  padding-left: var(--margin04);
}


    .head-logo {
        padding-top: 20px;
    }

.logo-box img{
    width: 40px;
}


/* =============================

fv

============================= */


.fv-title h1 {
    font-size: var(--font-b);
  }




  /* =============================

intro

============================= */



.introduction .h2-title{
  font-size: var(--font-b);
}


/* =============================

about

============================= */


.about-box{
  padding-top: 24%;
}

.about-right-box{
  margin: 16% 0;
  height: 350px;
}



/* =============================

support

============================= */


.support .h2-title{
    font-size: var(--font-b);
  }

.support-item {
    width: 100%;
  
  }

  .sd03,.sd04{
    margin: 0;
  }

  .support-item:not(:first-child){ 
      padding-top: 24%;
  }

  .support-title {
    padding: 24px 0;
}

.support-detail{
  font-size: var(--font-g);
}




/* =============================

why

============================= */


.reason-box {
    padding: 24% 0 0;
}



/* =============================

flow

============================= */


#liver .flow-h2, .flow-items {
    width: 100%;
}

#liver .flow-items {
  width: 100%;
}


#liver .flow-h2{
  padding-bottom: 24%;
  text-align: center;
}

#liver .flow-box{
  flex-direction: column;
  justify-content: center;
}


#liver .flow-content {
    width: 100%;
    padding: 0;
  }


  #liver .flow-img::after {
    bottom: -4px;
    left: 15px;
  }

  #liver .flow-detail {
    padding: 4% 0;
}


#liver .flow-arrow {
    width: 40px;
    height: 10px;
    transform: rotate(90deg);
    margin-top: 6%;
}



#liver .flow-margin {
    margin-top: 0;
}



 /* =============================

voice

============================= */



.voice-box{
  padding-top: 0;
}

.voice-box .left-box {
    height: 350px;
    margin: 16% 0;
}


.voice-box .right-box{
  padding-top: 0;
}

.voice-box .right-box ul {
  padding: 0 0 16%;
}


.voice-item::before {
    left: 50%;
    transform: rotate(270deg);
    top: -14.6px;
}


  .vi02::before,
  .vi03::before{
  display: none;
  }
  
  #liver .detail-btn a{
    width: 100%;
  }

    #liver .voice-box .right-box{
      padding-top: 0;
  }


 /* =============================

earning

============================= */


  .earning-content dl {
    display: block !important;
  }

.earning-h2{
  flex-direction: column;
}

.earning-h2 p {
    width: 100%;
}

.earning .h2-title{
  font-size: var(--font-b);
}


.earning .flex-box{
  
  padding-bottom: 24%;
}

.earning-title{
      padding: 24px 0;
}

.slick-dots {
    bottom: 0;
}


.slick-dots li button:before  {
    top: 130%;
    left: -6%;
}

.slick-dots li {
    margin: 0 10px;
}



.earning-content{
  padding: 0;
}


  #liver .arrow_box{
      justify-content: center;
  }

 /* =============================

community

============================= */


.community .community-h2 {
  text-align: center;
}


.community-img {
    width: 100%;
    height: 500px;
    padding-top: 20%;
  }






 /* =============================

requirement

============================= */

  .requirement-box dl {
    flex-direction: column;
  }

  .requirement-box dt,
  .requirement-box dd {
    width: 100%;
  }

    .requirement-box dt{
      text-align: center;
    }


    .req-flow-content {
    flex-direction: column;
}

    .req-flow-item:not(:first-child){
        padding-top: 24%;
      }

.requirement-box{
  padding: 24% 0 10%;
}


 /* =============================

message

============================= */




  .message-img{
    width: clamp(5.625rem, 3.125rem + 12.5vw, 9.375rem);
    height:clamp(5.625rem, 3.125rem + 12.5vw, 9.375rem);
    position: absolute;
    top: -460px;
    opacity: .7;
}

.mi02{
  background: url(../img/message_img02.jpg) no-repeat center / cover;
        top: -120px;
        left: -30px;
}

.mi03{
  background: url(../img/message_img03.jpg) no-repeat center / cover;
        top: 0;
        left: 0;
}

.mi04{
  background: url(../img/message_img04.jpg) no-repeat center / cover;
  top: -330px;
  right: -20px;
}

.mi05{
  background: url(../img/message_img05.jpg) no-repeat center / cover;
  top: -150px;
  right: -50px;
}


.message-bk-base {
  background: rgba(255, 255, 255, .4);
  width: clamp(5rem, 2.083rem + 14.58vw, 9.375rem);
  height: clamp(5rem, 2.083rem + 14.58vw, 9.375rem);
  position: absolute;
  z-index: -1;
}

.message-bk {
  top: -280px;
  left: -40px;
}

.mb02 {
  top: -400px;
  right: -10px;
}

.mb03 {
  top: 30px;
  right: -30px;
}





 /* =============================

last


============================= */



.last-box a {
    width: 100%;
    margin: 0 auto;
}


    .footer-logo a img {
        width: 70px;
    }





}




@media screen and (max-width:640px){


  


  .h2-title{
    font-size: var(--font-c)!important;
  }



  /* =============================

nav

============================= */


/* =========================================
  SP（幅100%メニュー）
========================================= */
@media (max-width: 768px) {

  .mobile-nav {
    width: 100%;
    transform: translateX(100%);
  }

  #btn19 {
    top: 18px;
    right: 0px;
    width: 60px;
  }

  #btn19 span {
    width: 60%;
  }

  #btn19::after {
    width: 64px;
    height: 64px;
    top: 125%;
    left: 26%;
  }

  #btn19.active span:nth-of-type(1) {
    top: 8px;
    left: -15px;
  }

  #btn19.active span:nth-of-type(3) {
    bottom: -17px;
    left: -15px;
  }
}



  /* =============================

header

============================= */

header{
  margin-top: 20px;
}

    .head-logo {
        padding-top: 0;
        }


  /* =============================

fv

============================= */


  .fv-box{
        text-align: center;
        align-items: center;
        flex-direction: column;
        justify-content: center;
  }

  .scroll-box,
  .scroll-box p {
    writing-mode: horizontal-tb;
  }

    .scroll-box{
      top: 0;
    }

    .fv-title{
    padding-bottom: 36px;
    }


/* =============================

support system

============================= */

.support-img {
    height: 60px;
}


 /* =============================

earning model

============================= */


  #liver .arrow_box{
        margin: 0;
        width: 100%;
        padding-top: 20%;
  }

    .slick-slide:nth-child(even) {
    padding-right: 0 !important;
  }

  .earning-img{
    height: 60px;
    margin: 16% 0;
  }


 /* =============================

flow

============================= */


    #liver .flow-img::after{
          font-size: var(--font-b);
    }


     #liver .flow-content dt {
      font-size: var(--font-h)!important;
    }

#liver .flow-arrow {
    margin-top: 6%;
}



 /* =============================

community

============================= */


        .community-img {
        height: 350px;
      }

/* =============================

requirement

============================= */



  .req-img {
    height: 60px;
  }

  .requirement-box dt {
    padding: 2em;
    text-align: center;
  }

  .requirement-box dd {
    padding: 3em 2em;
        text-align: center;
  }

  .req-title {
    padding: 24px 0 0;
  }

  .req-flow-item:not(:last-child) {
    padding-right: 0;
}

.req-flow-item:not(:first-child) {
        padding-top: 20%;
    }

 /* =============================

message

============================= */

  .message{
    padding-bottom: 60%;
}

}


@media screen and (max-width: 400px){

  #liver .flow-arrow{
    margin-top: 16%;
}


}