@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700&display=swap');
:root {
    color-scheme: light;
}
@media (prefers-color-scheme: dark) {
    body{
        color: #333;
    }
}
body{
    width: min(1200px, 100%);
    margin: auto;
    overflow-x: hidden;
    position: relative;
}
header{
    position: fixed;
    top: 0;
    width: min(1200px, 100%);
    z-index: 99999;
}
img{
    vertical-align:top;
}
video{
    width: 100%;
}
header .header_inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 2%;
    background-color: #EFF9FF;
}
header .header_inner picture:first-child{
    width: 25%;
}
header .header_inner a{
    display: block;
    width: 30%;
}
header .header_inner picture:last-child{
    width: 30%;
}

/*============================
#top_btn
============================*/
#top_btn{
    text-align: center;
    background-image: url(../img/btm_back.png);
    background-size: cover;
    padding: 5.2vw 0;
}
.top_btn{
    width: min(55vw, 800px);
    margin: auto;
}

/*============================
#top_video
============================*/
#top_video video{
    display: block;
    margin: auto;
    width: min(1200px, 100%);
}

/*============================
#dekiru
============================*/
.dekiru_inner{
    position: relative;
    padding-bottom: 400px;
}
.dekiru_title{
    width: 100%;
}
.dekiru_text{
    position: relative;
    display: inline-block;
    top: -12px;
    width: 70%;
    z-index: 2;
}
.dekiru_text picture,.dekiru_men{
    position: absolute;
    width: 600px;
}
.dekiru_text picture:nth-child(1){
    top: 0%;
}
.dekiru_text picture:nth-child(2){
    top: 130px;
    left: 7%;
}
.dekiru_text picture:nth-child(3){
    top: 250px;
}
.dekiru_men{
    width: 40%;
    right: 3%;
    top: 360px;
}
footer{
    background-color: #3047E2;
    margin: auto;
    text-align: center;
    padding: 15px;
}

/*============================
#kirei
============================*/
#kirei{}

/*============================
#point
============================*/
#point{
    padding-bottom: 100px;
    background-image: url(../img/point_back.png);
    background-size: cover;
}
.point_title{}
.point_contents{
    width: 50%;
    margin: -140px auto 0;
}
.point_content{}

/*============================
#voice.splide
============================*/
#voice.splide{
    background-image: url(../img/review_back.png);
    background-size: cover;
}
.voice_title{}
.voices.splide__track{
    width: 50%;
    margin: auto;
    padding: 50px 0;
}
.splide__list{}
.splide__slide{}
.splide__arrow--next{
    top: 70%;
    right: 10em;
}
.splide__arrow--prev{
    top: 70%;
    left: 10em;
}

/*============================
#ansin
============================*/
#ansin{
    background-image: url(../img/ansin_back.png);
}
.ansin{
    width: 90%;
    margin: auto;
    padding: 50px 0;
}

/*============================
#before_after
============================*/
#before_after{
    text-align: center;
    background-image: url(../img/befpreAfter_back.png);
    background-size: cover;
    padding-bottom: 100px;
}
.before_after_title{
    display: inline-block;
    padding: 70px 0;
}
.before_after_videos{}
.before_after_video{
    position: relative;
    margin-top: 80px;
}
.video_title{
    position: absolute;
    top: 0;
    transform: translateY(-50%);
    width: 45%;
}
.video{
    padding: 70px;
    background-color: #fff;
}

/*============================
#price
============================*/
#price{
    background-image: url(../img/takai_back.png);
}
.price_title{}
.price_title2{
    position: relative;
    padding: 100px 10%;
}
.gentei{
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    width: 30%;
}
.muryou{}
.price{
    width: 90%;
    margin: 0 auto 60px;
}
.price_btn{
    width: 50%;
    margin: 50px auto 0;
    padding-bottom: 70px;
}

/*============================
#flow
============================*/
#flow{
    background-image: url(../img/flow_back.png);
    background-size: cover;
    padding-bottom: 50px;
}
.flow_title{}
.flows{
    width: 80%;
    margin: auto;
    background-color: #fff;
    padding: 50px;
    border-radius: 20px;
    box-shadow: 5px 5px 5px #aaa;
}
.flow{}

/*============================
#qa
============================*/
#qa{
    text-align: center;
    background-image: url(../img/qa_back.png);
    padding-bottom: 80px;
}
.qa_title{
    display: inline-block;
    padding: 70px 0;
}
.qas{
    font-family: "kozuka-gothic-pro", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.qa{
    overflow: hidden;
    margin-bottom: 20px;
}
.q,.a{
    position: relative;
    padding: 20px;
    padding-left: 90px;
}
.q{
    background-color: #30ADE2;
    z-index: 2;
}
.a{
    background-color: #fff;
    z-index: 1;
    display: none;
}
.open .a{
}
.q::before,.a::before{
    content: "";
    width: 35px;
    height: 70px;
    position: absolute;
    left: 20px;
    top: 42px;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
}
.q::before{
    background-image: url(../img/Q.png);
}
.q::after{
    content: "";
    position: absolute;
    width: 35px;
    height: 35px;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url(../img/plus.png);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
}
.open .q::after{
    background-image: url(../img/minus.png);
   
}
.a::before{
    background-image: url(../img/A.png);
}
.qas.qa_expansion{
    text-align: left;
    font-size: 1.5vw;
    width: 80%;
    margin: auto;
}
.other_qa{
    width: 35%;
    margin: 60px auto;
}

/*============================
#contact
============================*/
#contact{
    background-color: #FBFBFB;
    padding-bottom: 80px;
}
.contact_title{}
.contact{
    width: 80%;
    margin: auto;
    font-family: "kozuka-gothic-pro", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.form_content{
    font-size: 1.3vw;
    margin-bottom: 25px;
}
.form_content_title{}
.required{
    position: relative;
}
.required::after{
    content: "必須";
    position: relative;
    left: 30px;
    top: -4px;
    background-color: #EC207E;
    color: #fff;
    padding: 1px 10px;
    border-radius: 5px;
    font-size: 0.8em;
}
.flatpickr-input{
    width: 100% !important;
    	
}
.flatpickr-input::before{
  font-family: "Font Awesome 5 Free";
  content: '\f133';
  color: rgb(117, 117, 117);
}

#age{}
#email{}
#re_email{}
#tel{}
.form_content_title{}
.preferred{
    margin-bottom: 10px;
}
.required{}
#preferred1_month{
    margin-left: 80px;
}
#preferred1_day{}
#preferred1_time{}
#preferred2_month{
    margin-left: 80px;
}
#preferred2_day{}
#preferred2_time{}
.form_content_title{
    display: block;
}
.any{
    position: relative;
}
.any::after{
    content: "任意";
    position: relative;
    left: 30px;
    top: -4px;
    background-color: #9A948C;
    color: #fff;
    padding: 1px 10px;
    border-radius: 5px;
    font-size: 0.8em;
}
.form_content p{
    font-size: 1.1vw;
}
#other{}
.attention{
    font-size: 1.1vw;
    border: solid 1px #707070;
    border-radius: 15px;
    padding: 20px;
}
#attention{}
.form_submit button{
    width: 20%;
    background-color: #FFC000;
    border: none;
    padding: 11px;
    font-size: 1.2vw;
    font-family: "kozuka-gothic-pro", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #fff;
    margin: auto;
    display: block;
    border-radius: 15px;
}
input:not([type="checkbox"]),textarea{
    width: 100%;
    padding: 2px 10px;
}
input, select, textarea label,span{
    background-color: #fff;
    color: #333;
}
#preferred1_day, #preferred2_day{
    margin-bottom: 10px;
}
#error{
    display: none;
    color: red;
    font-size: 1.3vw;
    text-align: center;
}
#form_ok{
    display: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 2vw;
    text-align: center;
}
#form_ok p{}

/*============================
#access
============================*/
#access{
    text-align: center;
    background-image: url(../img/access_back.png);
    background-size: 100%;
    padding-bottom: 80px;
}
.access_title{
    display: inline-block;
    padding: 70px 0;
}
.access{display: flex;}
.access_left{
    width: 45%;
    margin-right: 4%;
}
.access_img{
}
.access_content{
    text-align: left;
    margin-top: 25px;
    font-size: 1vw;
}
.access_map{
    width: 50%;
}
.access_map iframe{
    width: 100%;
    height: 500px;
}
.access_bottom_text{
    text-align: left;
    font-size: 1vw;
    background-color: #fff;
    width: 42%;
    text-align: center;
    margin-top: 15px;
}
#fixed{
    text-align: center;
    position: fixed;
    bottom: 0;
    width: min(1200px, 100%);
    z-index: 99999;
    background-color: #2391C4;
    padding-top: 0.7vw;
}
#fixed a{
    display: block;
    width: 35%;
    margin: auto;
    margin-bottom: -0.7vw;
}
footer{
    text-align: center;
    width: min(1200px, 100%);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #fff;
}

@media screen and (max-width: 900px) {
    header .header_inner a{
        width: 40%;
    }
    .dekiru_inner{
        padding-bottom: 10vh;
    }
    .dekiru_text picture,.dekiru_men{
        position: absolute;
        width: 52vw;
    }
    .dekiru_text picture:nth-child(1){
        top: -2vw;
    }
    .dekiru_text picture:nth-child(2){
        top: 6vw;
        left: 7%;
    }
    .dekiru_text picture:nth-child(3){
        top: 14vw;
    }
    .dekiru_men{
        width: 39vw;
        right: 2vw;
        bottom: 0;
        top: unset;
    }
    
    /*============================
    #kirei
    ============================*/
    #kirei{}

    /*============================
    #point
    ============================*/
    #point{
    padding-bottom: 10vw;
}
    .point_title{}
    .point_contents{
    width: 80%;
    margin: -10vw auto 0;
}
    .point_content{}

    /*============================
    #voice.splide
    ============================*/
    #voice.splide{}
    .voice_title{}
    .voices.splide__track{
    width: 80%;
}
    .splide__list{}
    .splide__slide{}

    /*============================
    #ansin
    ============================*/
    #ansin{}
    .ansin{
    padding: 5vw 0;
}

    /*============================
    #before_after
    ============================*/
    #before_after{
    padding-bottom: 10vw;
}
    .before_after_title{
    padding: 5vw;
    width: 80%;
    padding-top: 8vw;
}
    .before_after_videos{
    width: 95%;
    margin: auto;
}
    .before_after_video{
    margin-top: 3vw;
}
    .video_title{}
    .video{
    padding: 5vw;
}

    /*============================
    #price
    ============================*/
    #price{}
    .price_title{}
    .price_title2{
    padding: 10vw;
}
    .gentei{
    top: -8vw;
}
    .muryou{}
    .price{
    margin: 0 auto 6vw;
}
    .price_btn{
    width: 70%;
    margin: 5vw auto 0;
    padding-bottom: 6vw;
}

    /*============================
    #flow
    ============================*/
    #flow{}
    .flow_title{}
    .flows{
    border-radius: 7px;
    width: 90%;
    padding: 4vw;
}
    .flow{}

    /*============================
    #qa
    ============================*/
    #qa{
    padding-bottom: 3vw;
}
    .qa_title{
        padding: 5vw;
        width: 44%;
        padding-top: 8vw;
    }
    .qas{}
    .qa{}
    .q,.a{
    padding: 3vw;
    padding-left: 12vw;
}
    .q{
    padding-right: 7vw;
}
    .a{}
    .open .a{}
    .q::before,.a::before{
    top: 6vw;
    width: 4.3vw;
    height: 6vw;
}
    .q::before{
}
    .q::after{
    width: 4.3vw;
    height: 4.3vw;
}
    .open .q::after{}
    .a::before{}
    .qas.qa_expansion{
        width: 90%;
        font-size: 3.5vw;
    }
    .other_qa{
    width: 60%;
    margin: 8vw auto;
}
 

    /*============================
    #contact
    ============================*/
    #contact{
    padding-bottom: 8vw;
}
    .contact_title{}
    .contact{}
    .form_content{
        font-size: 4vw;
        margin-bottom: 3vw;
    }
    .form_content_title{}
    .required{}
    .required::after{
    left: 3vw;
}
    #age{}
    #email{}
    #re_email{}
    #tel{}
    .form_content_title{}
    .preferred{}
    .required{
    display: block;
    margin-bottom: 1vw;
    width: 100%;
}
    #preferred1_month{
    margin-left: 0;
}
    #preferred1_day{
    width: 100%;
}
    #preferred1_time{}
    #preferred2_month{
    margin-left: 0;
}
    #preferred2_day{
    width: 100%;
}
    #preferred2_time{}
    .form_content_title{
    margin-bottom: 1vw;
}
    .any{}
    .any::after{}
    .form_content p{
    font-size: 3vw;
}
    #other{}
    .attention{
    padding: 2vw;
    border-radius: 9px;
    font-size: 3vw;
}
    #attention{}
    .form_submit button{
    width: 50%;
    font-size: 4.8vw;
}
    input[type="text"],input[type="email"],input[type="tel"],textarea{}

    /*============================
    #access
    ============================*/
    #access{
}
    .access_title{
    padding: 5vw;
    width: 50%;
    padding-top: 8vw;
}
    .access{
    flex-wrap: wrap;
}
    .access_left{
    width: 100%;
    margin: 0;
    margin-bottom: 5vw;
}
    .access_img{}
    .access_content{
    font-size: 4vw;
    width: 90%;
    margin: 2vw auto;
}
    .access_map{
    width: 100%;
}
    .access_bottom_text{
    width: 91%;
    margin: auto;
    font-size: 4vw;
    text-align: left;
}
.splide__arrow--next{
    top: 64%;
    right: 0.5em;
}
.splide__arrow--prev{
    top: 64%;
    left: 0.5em;
}
#fixed{padding-top: 1.3vw;}
#fixed a{width: 50%;margin-bottom: -1.3vw;}
#form_ok{
    font-size: 5vw;
}
#error{
    font-size: 4vw;
}
select{
    width: 100% !important;
}
}
