.text-center{
    text-align: center;
}
.title--section{
    font-size: 5.5vw;
    line-height: 1.3;
    text-align: center;
    font-weight: 600;
    margin: 0 0 20px;
}
.title--section span{
    font-size: 6.5vw;
    line-height: 1.3;
    font-weight: 800;
    background: none;
}
.title--section a{
    font-size: 6.5vw;
    line-height: 1.3;
    text-decoration: underline;
}

.padding-section{
    padding-block: 30px;
}
.padding-section.section-btn{
    padding-block: 30px;
}
.section01{    
    background: #FEF1EA;
}
.section02{
    background: #FDEFF5;
}
.section03{
    background: #F4F3F9;
}
.section04{
    background: #EF4123;
    background: linear-gradient(90deg, rgba(239, 65, 35, 1) 0%, rgba(243, 112, 83, 1) 50%, rgba(239, 65, 35, 1) 100%);
}
.section05.padding-section{
    padding-block: 50px 50px;
}

.section01 .title--section span{
    color: #E45E3A;
}
.section02 .title--section span{
    color: #E85298;
}
.section03 .title--section span.section--price-text{
    font-size: 8vw;
    color: #005BAC;
    padding-right: 0;
    margin-right: 0;
}
.section03 .title--section span.section--price-text span{
    font-size: 6.5vw;
    color: #005BAC;
}
.title--section span.price-text-grey {
    color: inherit;
    font-weight: 600;
}
.section03 .title--section span.section--price-text small{
    font-size: 5.5vw;
}
.section03 .title--section span.section--price-text small span {
    font-size: inherit;
    margin-inline: -15px;
}
@media only screen and (min-width: 768px) {
    .padding-section {
        padding-block: 50px 50px;
    }
    .section05.padding-section{
        padding-block: 70px 70px;
    }
    .title--section{
        font-size: 42px;
        line-height: 78px;
        margin: 0 0 30px;
    }
    .title--section span{
        font-size: 55px;
        line-height: 78px;
    }
    .title--section span.price-text-grey {
        font-size: 55px;
        line-height: 78px;
    }
    .section03 .title--section span.section--price-text{
        font-size: 72px;
    }
    .section03 .title--section span.section--price-text span{
        font-size: 55px;
    }
    .section03 .title--section span.section--price-text small{
        font-size: 42px;
    }
    .section03 .title--section span.section--price-text small span {
        margin-inline: -30px;
    }
}


.section07{
    margin-block: 30px;
    border-top: 2px solid var(--primary);
    border-bottom: 2px solid var(--primary);
}
.section07 p{
    font-size: 4vw;
    line-height: 1.75;
    color: #635443;
    font-weight: 700;
}
.section07 h2{
    font-weight: 700;
    font-size: 30px;
    line-height: 1.36;
    margin: 0 0 35px;
    text-align: center;
}
.section07 h2 span{
    font-size: 32px;
    line-height: 1.36;
    background: none;
    color: var(--primary);
}
.section07 .images{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
@media only screen and (min-width: 768px){
    .section07 .images img{
        max-width: calc(50% - 5px);
    }
}

.section-contact{
    background: #F26649;
    background: linear-gradient(45deg, rgba(242, 102, 73, 1) 0%, rgba(247, 148, 47, 1) 100%);
    padding-bottom: 30px;
}
.section-contact h2{
    margin-block: 30px;
}

.inner-contact{
    background: #fff;
    padding: 35px 30px;
    border-radius: 30px;
}

.form-row{
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #AAABAB;
}
.form-input{
    background: #EFEFEF;
    border: 1px solid #AAABAB;
    flex-grow: 1;
    padding: 12px 12px;
}
.form-row label span{
    font-size: 13px;
    background: #898989;
}
.form-row label span.required{
    background: #E60013;
}
.form-row.no-border{
    border-bottom: none;
    padding: 0;
    margin: 0;
}
.form-row.justify-end p{
    font-size: 13px;
    margin: 0;
}
.form-row.justify-end p a{
    color: #197FC4;
    text-decoration: underline;
}
.form-footer p{
    text-align: center;
    margin: 0;
    font-size: 18px;
    line-height: 28px;
}
.form-button button{
    border: none;
    background: #0099D9 url(../images/home/arrow.png) right 40px center no-repeat;
    color: #fff;
    padding: 15px 90px 15px 40px;
    color: #fff;
    font-size: 4vw;
    line-height: 42px;
    border-radius: 15px;
    margin: 0 auto 15px;
    display: block;
}
@media only screen and (min-width: 768px) {
    .section07{
        margin-block: 50px;
        margin-inline: 25px;
    }
    .section07 p{
        font-size: 24px;
        line-height: 48px;
    }
    .section07 h2{
        font-size: 38px;
        margin: 0 0 50px;
    }
    .section07 h2 span{
        font-size: 38px;
    }
    .section-contact{
        padding-bottom: 50px;
    }
    .section-contact h2{
        margin-block: 50px;
    }

    .inner-contact{
        background: #fff;
        padding: 65px 50px;
        border-radius: 50px;
    }
    .form-row{
        display: flex;
        justify-content: flex-start;
        align-items: center;
        padding-bottom: 30px;
        margin-bottom: 30px;
        gap: 30px;
    }
    .form-row label{
        min-width: 180px;
    }
    .form-row.justify-end{
        justify-content: flex-end;
    }
    .form-button button{
        font-size: 28px;
    }
}

@media only screen and (max-width: 767px){
    .form-input{
        width: 100%;
    }
}

header{
    position: sticky;
    display: flex;
    justify-content: center;
    padding-block: 25px;
    background: #f5f3f2;
}
header .btn-header{
    position: absolute;
    right: 25px;
    top: 25px;
}

.padding-section.mt-25{
    padding-top: 25px;
}
@media only screen and (max-width: 767px){
    header .logo{
        width: 30vw;
    }
    header .btn-header{
        width: 20vw;
    }
    .padding-section.mt-25{
        padding-top: 10px;
    }
}

.youtube-container{
    position: relative;
    padding-bottom: 56.25%;
}
.youtube-container iframe{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.instructors .container{
    margin-top: 50px;
}

@media only screen and (max-width: 767px){
    .content-video p{
        font-weight: 700;
    }
}

.container{
    max-width: 940px;
}
.section-heading{
    position: relative;
    padding-bottom: 30px;
}
.section-heading .point-number{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    color: #fff;
    background: #E45E3A;
    font-size: 18px;
    text-align: center;
    padding: 15px 15px 0;
}
.section-heading .point-number span{
    font-size: 45px;
    display: block;
    background: transparent;
    margin: 0;
    padding: 0 0 10px;
    border-bottom: 1px solid #fff;
}
.section-heading .title--section{
    margin: 0;
    padding-left: 70px;
}
.section03 .section-heading .point-number{
    background: #005BAC;
}
.section02 .section-heading .point-number{
    background: #E85298;
}

.title--section-content{
    font-size: 38px;
    line-height: 76px;
    color: #fff;
    text-align: center;
    background: #E45E3A;
    margin-bottom: 30px;
}
.section-content p{
    font-size: 25px;
    line-height: 47px;
    margin-bottom: 50px;
    text-align: justify;
}
.title-body--section-content{
    font-size: 32px;
    line-height: 63px;
    margin: 0 0 30px;
}
.title-body--section-content span{
    font-size: 50px;
    line-height: 63px;
    color: #E45E3A;
    background: transparent;
    padding: 0;
    margin: 0;
}

.section01 .section-content{
    margin-top: 50px;
}
.section02 .section-content{
    margin-top: 50px;
}
.section03 .section-content{
    margin-top: 50px;
}
.section02 .title--section-content{
    background: #E85298;
}
.section03 .title--section-content{
    background: #005BAC;
}
.section03.padding-section{
    padding-bottom: 0;
}
/*=========*/
.step--section01 .item-step--section01{
    background: #E45E3A;
    border-radius: 25px;
    padding: 15px 0;
    text-align: center;
    position: relative;
}

.step--section01 .item-step--gradient01{
    background: #A72C39;
    background: linear-gradient(90deg, rgba(167, 44, 57, 1) 0%, rgba(237, 28, 36, 1) 25%, rgba(167, 44, 57, 1) 50%, rgba(237, 28, 36, 1) 75%, rgba(167, 44, 57, 1) 100%);
}
.step--section01 .item-step--section01+.item-step--section01{
    margin-top: 60px;
}
.step--section01 .item-step--section01+.item-step--section01:before{
    border-left: 27px solid transparent;
    border-right: 27px solid transparent;
    border-top: 33px solid #968877;
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translate(-50%, -100%);
    content: "";
}
.step--section01 .item-step--section01 h3{
    font-size: 42px;
    line-height: 52px;
    color: #fff;
    margin: 0 0 10px;
}
.step--section01 .item-step--section01 p{
    font-size: 25px;
    line-height: 30px;
    color: #fff;
    margin: 0;
    text-align: center;
}
/*===============================*/
.dflex-content{
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 30px;
}
.dflex-content .dflex-item{
    border: 3px solid #E85298;
    padding: 15px 20px;
    flex: 1;
    background: #fff;
}
.dflex-content .dflex-item h3{
    font-size: 40px;
    line-height: 56px;
    text-align: center;
    color: #fff;
    border-radius: 12px;
    margin: 0 0 20px;
    background: #E85298;
}
.dflex-content .dflex-item p{
    font-size: 20px;
    line-height: 35px;
    margin: 15px 0 0;
}
.dflex-content .dflex-item img{
    max-height: 162px;
    margin: 0 auto;
    display: block;
}

.dflex-content .dflex-item:nth-child(2){
    border: 3px solid #635443;
}
.dflex-content .dflex-item:nth-child(2) h3{
    background: #635443;
}

.section02 .title-lst{
    font-size: 40px;
    line-height: 74px;
    margin: 50px 0 0;
}
.section02 .title-lst span{
    color: #E45E3A;
    font-size: 40px;
    line-height: 74px;
    background: transparent;
    padding: 0;
    margin: 0;
}
@media only screen and (max-width: 767px){
    .section-heading .point-number{
        font-size: 3vw;
    }
    .section-heading .point-number span{
        font-size: 6vw;
        padding: 0 0 10px;
    }
    .section01 .section-content, .section02 .section-content,.section03 .section-content{
        margin-top: 30px;
    }
    .title--section-content{
        font-size: 4.5vw;
        line-height: 1.6;
        padding-bottom: 12px 12px;
        margin-bottom: 15px;
    }
    .section-content p{
        font-size: 4vw;
        line-height: 1.8;
        margin-bottom: 30px;
    }
    .step--section01 .item-step--section01 h3{
        font-size: 4.5vw;
        line-height: 1.3;
        margin: 0;
    }
    .step--section01 .item-step--section01 p{
        font-size: 4vw;
        line-height: 1.8;
    }
    .title-body--section-content{
        font-size: 3.5vw;
    }
    .title-body--section-content span{
        font-size: 4.5vw;
    }
    .dflex-content{
        flex-wrap: wrap;
    }
    .dflex-content .dflex-item{
        flex: auto;
    }
    .dflex-content .dflex-item h3{
        font-size: 4.5vw;
        line-height: 1;
        padding-block: 12px;
    }
    .dflex-content .dflex-item p{
        font-size: 3.5vw;
        line-height: 1.6;
    }
    .section02 .title-lst{
        margin-top: 30px;
        font-size: 4.5vw;
        line-height: 1.6;
    }
    .section02 .title-lst span{
        font-size: 4.5vw;
        line-height: 1.6;
    }
}