@charset "UTF-8";

main {
    margin-bottom: 0;
}

.inner {
    max-width: 1040px;
}


.page_head_ttl.-ja {
    font-size: 50px;
}

/* about */

.about_ttl {
    font-size: 33px;
    text-align: center;
    margin-bottom: 30px;
}

.about_intro {
    max-width: 685px;
    margin: 0 auto 70px;
    font-size: 18px;
}

.point {
    padding: 0 20px;
    border: solid 1px #CBCBCB;
    margin-bottom: 120px;
}

.point .point_cnt {
    padding: 33px 20px;
    display: flex;
    gap: 30px;
    align-items: center;
}

.point .point_cnt:first-child {
    border-bottom: solid 1px #CBCBCB;
}

.point_number {
    font-size: 21px;
}

.point_txt {
    flex: 1;
}

.point_txt {
    font-family: 'Noto Sans JP', sans-serif;
}


/* flow */

.flow {
    background: url(/img/artificial/bg-flow.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    padding: 130px 0 200px;
}

.flow .inner {
    max-width: 1040px;
}

.flow_ttl {
    font-size: 27px;
    text-align: center;
    margin-bottom: 65px;
}

.flow_cnt {
    background: #fff;
    padding: 57px 40px;
    margin-bottom: 70px;
}

.flow_cnt_ttl {
    font-size: 23px;
    padding: 0 20px 15px 2em;
    text-indent: -2em;
    margin-bottom: 20px;
    border-bottom: solid 1px #CBCBCB;
}

.flow_cnt_ttl span {
    margin-right: 20px;
}

.flow_cnt_row {
    padding: 0 30px;
}

.flow_cnt_row.-pd {
    padding: 0 70px;
}

.flow_cnt_row_ttl {
    font-size: 20px;
    margin-bottom: 10px;
    font-family: 'Noto Sans JP', sans-serif;
}

.flow_cnt_row_ttl::before {
    font-family: 'Cormorant', serif;
}

.flow_cnt_row_ttl.-number01,
.flow_cnt_row_ttl.-number02 {
    position: relative;
}

.flow_cnt_row_ttl.-number01::before {
    content: '';
    width: 25px;
    height: 25px;
    background: url(/img/artificial/icon-number01.png);
    background-size: cover;
    position: absolute;
    left: -35px;
    bottom: 15px;
    transform: translateY(50%);
}
.flow_cnt_row_ttl.-number02::before {
    content: '';
    width: 25px;
    height: 25px;
    background: url(/img/artificial/icon-number02.png);
    background-size: cover;
    position: absolute;
    left: -35px;
    bottom: 15px;
    transform: translateY(50%);
}

.flow_cnt_row_txt {
    font-size: 15px;
    font-family: 'Noto Sans JP', sans-serif;
    margin-bottom: 30px;
}

.link {
    display: flex;
    justify-content: center;
    gap: 30px;
}

.flow_cnt_row .link a {
    width: 100%;
    max-width: 375px;
    border: solid 1px #CBCBCB;
    padding: 25px 20px;
    font-size: 18p;
    text-decoration: none;
}

.flow_cnt_row .link a span {
    font-size: 15px;
}

.flow_cnt_row .link a::after {
    content: '';
    width: 22px;
    height: 11px;
    background: url(/img/cmn/icon-arrow.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 40px;
    bottom: 50%;
    transform: translateY(50%);
    transition-duration: 0.5s;
}

.flow_cnt_row .link a:hover::after {
    right: 20px;
}


@media screen and (max-width:767px) {
    

    .page_head_ttl.-ja {
        font-size: 30px;
    }

    .about_ttl {
        font-size: 25px;
    }

    .point_number {
        font-size: 25px;
    }

    .point {
        margin-bottom: 50px;
    }

    .point .point_cnt {
        flex-flow: column;
        align-items: start;
        gap: 10px;
    }

    .point .point_cnt {
        padding: 10px 0px 40px;
    }

    .flow {
        background: url(/img/artificial/bg-flow_sp.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center top;
    }

    .flow_cnt {
        padding: 30px 20px;
        margin-bottom: 30px;
    }

    .flow_cnt_row {
        padding: 0 15px;
    }

    .flow_cnt_row.-pd {
        padding: 0 25px;
    }

    .flow_cnt_row_ttl.-number01::before,
    .flow_cnt_row_ttl.-number02::before {
        width: 25px;
        height: 25px;
        bottom: unset;
        top: -5px;
    }

    .link {
        flex-flow: column;
        gap: 20px;
    }
}