@charset "utf-8";
/*共通設定*/
/*終わり*/  


/*<section class="under-fv">*/
.under-fv {
    background-image: url(../img/features/fv.png);
}
/*終わり*/


/*<section class="service">*/
.service-lead-txt {
    text-align: center;
}

.service-flex {
    margin-top: 40px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.service-con {
    max-width: 500px;
    width: 100%;
    background-color: #fff;
    border: solid 1px #81CBC7;
    border-radius: 8px;
    padding: 16px;
}

.service-h3 {
    color: #81CBC7;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    padding-bottom: 16px;
    border-bottom: solid 1px #81CBC7;
}

.service-con-05 .service-h3 small {
    font-size: 18px;
}

.service-txt {
    padding-top: 16px;
    font-size: 16px;
}
/*終わり*/


/*<section class="timing">*/
.timing {
    background-color: #F0FFFE;
}

.timing-in {
    max-width: 1040px;
}

.timing-lead-txt-wrap {
    position: relative;
    background-color: #81CBC7;
    text-align: center;
    padding: 24px;
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 64px;
}

.timing-lead-txt-wrap::before {
    content: "";
    position: absolute;
    bottom: -29px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-top: 30px solid #81CBC7;
}

.timing-flex {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.timing-con {
    max-width: 300px;
    width: 100%;
    background-color: #fff;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 16px;
}

.timing-icon {
    max-width: 120px;
    width: 100%;
}

.timing-h3 {
    font-size: 18px;
    color: #81CBC7;
}

.timing-txt-01 {
    margin-top: 48px;
    text-align: center;
}
/*終わり*/


/*<section class="worry">*/
.worry-in {
    max-width: 980px;
}

.worry-h2-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.worry-h2-txt {
    font-weight: 600;
}

.worry-h2 {
    font-size: 24px;
    font-weight: 600;
    color: #81CBC7;
}

.worry-flex {
    margin-top: 64px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}

.worry-txt-wrap {
    max-width: 450px;
    width: 100%;
    background-color: #81CBC7;
    border-radius: 8px;
    padding: 16px;
    text-align: center;
    color: #fff;
}

.worry-txt-02 {
    text-align: center;
    margin-top: 64px;
}
/*終わり*/


/*<section class="flow">*/
.flow {
    background-image: url(../img/features/flow_bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.flow-in {
    max-width: 1000px;
}

.flow .h2-txt {
    color: #fff;
}

.flow .h2-title {
    color: #fff;
}

.flow .h2-title::before {
    border-bottom: solid 3px #fff;
}

.flow-flex {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}

.flow-con {
    max-width: 300px;
    width: 100%;
    background-color: #fff;
    border-radius: 8px;
    padding: 16px;
}

.flow-step-num-wrap {
    display: inline-block;
}

.flow-step-num {
    color: #81CBC7;
    font-size: 48px;
    line-height: 1;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-weight: 600;
}

.flow-step-num small {
    font-size: 12px;
}

.flow-icon-wrap {
    text-align: center;
}

.flow-icon {
    max-width: 160px;
    width: 100%;
}

.flow-h3 {
    text-align: center;
    color: #81CBC7;
    font-size: 20px;
}

.flow-txt {
    padding-top: 16px;
}
/*終わり*/


/*タブレット*/
@media (max-width: 1024px) {  
/*共通設定*/
/*終わり*/  


/*<section class="timing">*/
    .timing-lead-txt-wrap {
        font-size: clamp(20px, 24vw / 10.24, 24px);
    }

    .timing-con {
        max-width: clamp(240px, 300vw / 10.24, 300px);
    }
/*終わり*/  

}
  
  
/*スマホ*/
@media (max-width: 599px) {
/*共通設定*/
/*終わり*/ 


/*<section class="service">*/
    .service-flex {
        gap: 24px;
    }

    .service-con-05 .service-h3 small {
        font-size: clamp(14px, 18vw / 5.99, 18px);
    }
/*終わり*/ 


/*<section class="timing">*/
    .timing-lead-txt-wrap::before {
        bottom: -16px;
        border-left: 30px solid transparent;
        border-right: 30px solid transparent;
        border-top: 16px solid #81CBC7;
    }

    .timing-lead-txt-wrap {
        padding: 24px clamp(16px, 24vw / 5.99, 24px);
        font-size: clamp(16px, 20vw / 5.99, 20px);
    }

    .timing-flex {
        gap: clamp(16px, 32vw / 5.99, 32px);
    }

    .timing-con {
        max-width: clamp(140px, 240vw / 5.99, 240px);
    }

    .timing-icon {
        max-width: clamp(80px, 120vw / 5.99, 120px);
    }
/*終わり*/ 


/*<section class="worry">*/
    .worry-h2 {
        font-size: clamp(20px, 24vw / 5.99, 24px);
    }

    .worry-flex {
        gap: 16px;
    }

    .worry-txt {
        font-size: clamp(14px, 16vw / 5.99, 16px);
    }
/*終わり*/ 


/*<section class="flow">*/
    .flow-con {
        max-width: none;
    }

    .flow-icon {
        max-width: clamp(140px, 160vw / 5.99, 160px);
    }

    .flow-h3 {
        font-size: clamp(18px, 20vw / 5.99, 20px);
    }
/*終わり*/ 



}
