/* -----------------------------------------------------------
    beginner
-------------------------------------------------------------- */
/* -----------------------------------------------------------
    MV-area
-------------------------------------------------------------- */
.subpage-header-ttl{
    padding: 0 0 0 55px;
    margin: 62px 0 0;
    position: relative;
}

.subpage-header-ttl::before{
    position: absolute;
    content: "";
    width: 43px;
    height: 58px;
    background: url(../img/icon-beginner.svg) no-repeat center / contain;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
}

.subpage-header-ttl::after{
    position: absolute;
    content: "";
    width: 356px;
    height: 42px;
    background: url(../img/beginner-catchtxt.png) no-repeat center / contain;
    left: 0px;
    top: -62px;
}
@media screen and (max-width: 768px) {
    .subpage-header-ttl{
        margin: 43px 0 0;
    }

    .subpage-header-ttl::after{
        width: 280px;
        height: 33px;
        top: -43px;
    }
}

/* -----------------------------------------------------------
    worry-area
-------------------------------------------------------------- */
.worry-area{
    padding: 80px 0;
    position: relative;
    /* background-color: var(--gray2); */
}

.beginner-area .worry-wrap{
    width: 1028px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto 85px;
    gap: 0px 160px;
    position: relative;
}

.beginner-area .worry-wrap .img.worry01{
    width: 248px;
    height: 153px;
    height: 170px;
}
.beginner-area .worry-wrap .img.worry02{
    width: 247px;
    height: 153px;
    height: 170px;
}
.beginner-area .worry-wrap .img.worry03{
    width: 239px;
    height: 153px;
    height: 170px;
}
.beginner-area .worry-wrap .img.worry04{
    width: 212px;
    height: 153px;
    height: 170px;
}
.beginner-area .worry-wrap .img.worry05{
    width: 247px;
    height: 153px;
    height: 170px;
}

.beginner-area .worry-wrap .img img{
    filter: drop-shadow(2px 2px 20px rgba(0, 0, 0, 0.05));
}

.beginner-area .worry-wrap::before {
    position: absolute;
    content: "";
    background: url(../img/arrow-pink.png) no-repeat center / cover;
    width: 44px;
    height: 40px;
    right: 0;
    left: 0;
    margin: 0 auto;
    bottom: -60px;
}

.beginner-area .solution{
    font-size: 2.6rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    text-align: center;
}

.beginner-area .solution span.line{
    padding: 0 0 5px;
    border-bottom: solid 2px var(--blue3);
}

.beginner-area .solution .orange{
    color: #FF9144;
    color: var(--blue3);
}
@media screen and (max-width: 768px) {
    .worry-area{
        padding: 40px 20px;
    }

    .beginner-area .worry-wrap{
        width: 100%;
        gap: 10px;
        margin: 0 auto 10px;
    }

    .beginner-area .worry-wrap::before{
        display: none;
    }

    .beginner-area .worry-wrap .img{
        width: calc((100% - 10px) / 2) !important;
        height: auto !important;
        border-radius: 8px;
        overflow: hidden;
    }

    .beginner-area .solution{
        font-size: 2.0rem;
    }
}

/* -----------------------------------------------------------
    feature-area
-------------------------------------------------------------- */
.feature-area{
    border-radius: 160px 0 160px 0;
    position: relative;
}

.feature-area::before{
    position: absolute;
    content: "";
    width: 160px;
    height: 160px;
    background-color: var(--blue1);
    background-color: var(--pink);
    background-color: var(--gray);
    right: 0;
    bottom: 0;
    z-index: -1;
}

.feature-area .inner::before{
    display: none;
}

.feature-area .top-box{
    display: flex;
    align-items: center;
    margin: 0 0 60px;
}

.feature-area .top-box .txt-box{
    width: 55%;
    padding: 0 80px 0 calc((100% - 1200px) / 2);
    position: relative;
    /* padding: 0 0 30px; */
}

.feature-area .top-box .txt-box .sec-ttl{
    margin: 0 0 30px;
}

/* .feature-area .top-box .txt-box .sec-ttl .en{
    color: var(--green2);
}

.feature-area .top-box .txt-box .sec-ttl .en::before{
    background: url(../img/logo-deco-green.svg) no-repeat center / contain;
} */

.feature-area .top-box .txt-box .sec-catch{
    margin: 0 0 30px;
}

.feature-area .top-box .img{
	border-radius: 60px 0 0 60px;
	width: 45%;
	/* width: 700px; */
	height: 400px;
	background: url(../img/beg-feature.jpg) no-repeat right center / cover;
}

/* .feature-area .feature-list .feature-item .txt-box .no{
    color: var(--green2);
}

.feature-area .feature-list .feature-item .txt-box .sub-catch{
    background-color: var(--green2);
} */

@media screen and (max-width: 768px) {
    .feature-area{
        padding: 0 ;
        border-radius: 20px 20px 0 0;
    }
    .feature-area .top-box{
        flex-wrap: wrap;
        margin: 0 0 30px;
    }

    .feature-area .top-box .img{
        width: 100%;
        order: 0;
        height: 200px;
        border-radius: 20px 20px 0 0;
    }

    .feature-area .top-box .txt-box .sec-ttl{
        margin: 0 0 20px;
    }

    .feature-area .top-box .txt-box{
        width: 100%;
        padding: 30px 20px 0;
        order: 1;
    }

    .feature-area .top-box .txt-box .sec-catch{
        font-size: 2.6rem;
    }

    .feature-area .inner{
        padding: 0 20px 40px;
    }

    .feature-area .feature-list .feature-item:last-of-type{
        margin: 0;
    }
}


/* -----------------------------------------------------------
    flow-area
-------------------------------------------------------------- */
.flow-area{
    background-color: var(--blue1);
}

#beginner .flow-list{
    margin: 50px 0 0;
}

#beginner .flow-list::before{
    height: calc(100% - 590px);
    left: 175px;
    top: 0px;
    transform: unset;
}

#beginner .flow-list .flow-item .flow-img{
    grid-area: icon;
    width: 350px;
    height: 200px;
    border-radius: 15px;
    line-height: 1;
    overflow: hidden;
}

#beginner .flow-list .flow-item .flow-img img{
    width: 100%;
}

#beginner .flow-list .flow-item .flow-ttl span{
    margin: 0 15px 0 0;
}

.flow-area .support-box{
    background-color: #fff;
    padding: 30px;
    border-radius: 20px;
    margin: 30px auto 0;
}

.flow-area .support-box .box-ttl{
    font-size: 2.0rem;
    line-height: 1;
    font-weight: bold;
    padding: 0 0 0 18px;
    margin: 0 0 15px;
    position: relative;
}

.flow-area .support-box .box-ttl::before{
    position: absolute;
    content: "";
    background: url(../img/logo-deco.svg) no-repeat center / contain;
    width: 13px;
    height: 13px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.flow-area .support-box .point-ttl{
    position: relative;
    font-weight: bold;
    padding: 0 0 0 10px;
    color: var(--pink2);
}

.flow-area .support-box .point-ttl::before{
    content: "";
    display: block;
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--pink2);
    width: 5px;
    height: 5px;
}

.flow-area .support-box .box{
    display: flex;
    align-items: center;
    gap: 20px;
}

.flow-area .support-box .box:not(:last-of-type){
    margin: 0 0 15px;
    padding: 0 0 15px;
    border-bottom: dashed 2px #DEDEDE;
}

.flow-area .support-box .box .img{
    width: 130px;
    height: 130px;
    /* background-color: var(--blue1); */
}

.flow-area .support-box .box .txt-box{
    width: calc(100% - 150px);
}
@media screen and (max-width: 768px) {

    #beginner .flow-area{
        padding: 40px 20px;
    }

    #beginner .flow-list {
        margin: 30px 0 0;
    }

    #beginner .flow-list .flow-item {
        grid-template:
        "icon icon"
        "title title"
        "text text";
        padding: 30px 20px;
        padding: 0;
        border-radius: 15px;
        margin: 0 0 15px;
    }

    #beginner .flow-list .flow-item:last-of-type{
        margin: 0;
    }

    #beginner .flow-list .flow-item .flow-img{
        width: 100%;
        border-radius: 15px 15px 0 0;
    }

    #beginner .flow-list .flow-item .flow-img img{
        width: 100%;
        height: 100%;
    }

    #beginner .flow-list .flow-item .ttl-box{
        width: 100%;
        padding: 0 20px;
    }

    #beginner .flow-list .flow-item .flow-ttl span{
        margin: 0 0 8px 0;
    }

    .flow-list .flow-item .txt-box{
        padding: 0 20px 20px;
    }

    .flow-area .support-box{
        padding: 20px 10px;
        background: var(--pink);
        border-radius: 8px;
        margin: 15px 0 0;
    }

    .flow-area .support-box .box{
        flex-wrap: wrap;
    }

    .flow-area .support-box .box-ttl{
        font-size: 1.8rem;
        margin: 0 0 20px;
    }

    .flow-area .support-box .box .img{
        display: none;
    }

    .flow-area .support-box .box .txt-box{
        width: 100%;
        padding: 0;
    }

    .flow-area .support-box .point-ttl{
        line-height: 1.7;
        margin: 0 0 8px;
    }

    .flow-area .support-box .box .txt-box .txt{
        font-size: 1.5rem;
    }

}

.service-link-area{
    border-radius: 0 0 0 60px;
}

@media screen and (max-width: 768px) {
    .service-link-area{
        border-radius: 0 0 0 40px;
    }
}