/* ----------------------------------------

- flowChart

---------------------------------------- */

.flowChart {
    display: flex;
    width: 100%;
    position: relative;
}

@media screen and (max-width: 767px) {

    .flowChart {
        display: block;
    }

}


/* chartPointGroup
------------------------------------*/
.chartPointGroup {
    position: absolute;
    left: 50%;
    top: -24px;
    transform: translate(-50%, 0);
    z-index: 10;
}

.chartPointGroup:before {
    content: "";
    width: 6px;
    height: calc(100% + 48px);
    background-color: #F2F0FB;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0);
}

.chartPointGroup:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 16px solid #F2F0FB;
    position: absolute;
    left: 50%;
    bottom: -64px;
    transform: translate(-50%, 0);
}


@media screen and (max-width: 767px) {

    .chartPointGroup {
        display: none;
    }

}


/* chartPoint
------------------------------------*/
.chartPoint {
    padding: 16px;
    background-color: #fff;
    border-radius: 50%;
    border: 4px solid #D1C8F6;
    width: 80px;
    height: 80px;
    font-weight: 700;
    position: relative;
    color: #503F93;
}

.chartPoint .chartPoint_text {
    font-weight: 700;
    font-size: 14px;
    position: absolute;
    text-align: center;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 120px;
    line-height: 1.4;
}

.chartPoint .chartPoint_text span {
    font-size: 22px;
}

@media screen and (max-width: 767px) {

    .chartPoint {
        font-size: 12px;
        width: 68px;
        height: 68px;
    }

    .chartPoint .chartPoint_text {
        font-size: 12px;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 120px;
    }

    .chartPoint .chartPoint_text span {
        font-size: 20px;
    }


}


/* flowChartStaff
------------------------------------*/

.flowChartStaff {
    width: 100%;
    position: relative;
}

.flowChartStaff .flowChartStaff_title {
    background-color: #0C2A62;
    color: #fff;
    font-weight: 700;
    text-align: center;
    padding: 8px;
    font-size: 18px;
}

.flowChartStaff .flowChartStaff_item.flowChartStaff_item-01 {
    margin-top: 0;
}

.flowChartStaff .flowChartStaff_item.flowChartStaff_item-02 {
    margin-top: 48px;
}

.flowChartStaff .flowChartStaff_item.flowChartStaff_item-03 {
    margin-top: 24px;
}

.flowChartStaff .flowChartStaff_item.flowChartStaff_item-04 {
    margin-top: 20px;
}


@media screen and (max-width: 767px) {

    .flowChartStaff .flowChartStaff_title {
        font-size: 16px;
    }

    .flowChartStaff .flowChartStaff_border {
        position: absolute;
        display: block;
        width: 4px;
        height: calc(100% - 56px);
        bottom: 0;
        left: 32px;
        background-color: #F2F0FB;
    }

    .flowChartStaff .flowChartStaff_border:after {
        display: none;
    }

    .flowChartStaff .flowChartStaff_item.flowChartStaff_item-01 {
        margin-top: 16px;
    }

    .flowChartStaff .flowChartStaff_item.flowChartStaff_item-02 {
        margin-top: 16px;
    }

    .flowChartStaff .flowChartStaff_item.flowChartStaff_item-03 {
        margin-top: 0;
    }

    .flowChartStaff .flowChartStaff_item.flowChartStaff_item-04 {
        margin-top: 0;
    }

    .flowChartStaff .flowChartStaff_item.flowChartStaff_item-05 {
        margin-top: 0;
    }

    .flowChartStaff .flowChartStaff_item.flowChartStaff_item-06 {
        margin-top: 16px;
    }

}


/* flowChartForeigner
------------------------------------*/

.flowChartForeigner {
    width: 100%;
    position: relative;
}

.flowChartForeigner .flowChartForeigner_title {
    background-color: #F78724;
    color: #fff;
    font-weight: 700;
    text-align: center;
    padding: 8px;
    font-size: 18px;
}

.flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-01 {
    margin-top: 96px;
}

.flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-02 {
    margin-top: 96px;
}

.flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-03 {
    margin-top: 56px;
}

.flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-04 {
    margin-top: 20px;
}

.flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-05 {
    margin-top: 16px;
}

.flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-06 {
    margin-top: 40px;
}

@media screen and (max-width: 767px) {

    .flowChartForeigner {
        margin-top: 40px;
    }

    .flowChartForeigner .flowChartForeigner_title {
        font-size: 16px;
    }

    .flowChartForeigner .flowChartForeigner_border {
        position: absolute;
        display: block;
        width: 4px;
        height: calc(100% - 56px);
        bottom: -16px;
        left: 32px;
        background-color: #F2F0FB;
    }

    .flowChartForeigner .flowChartForeigner_border:after {
        content: "";
        width: 0;
        height: 0;
        border-left: 12px solid transparent;
        border-right: 12px solid transparent;
        border-top: 12px solid #F2F0FB;
        position: absolute;
        left: 50%;
        bottom: -8px;
        transform: translate(-50%, 0);
    }

    .flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-01 {
        margin-top: 16px;
    }

    .flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-02 {
        margin-top: 16px;
    }

    .flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-03 {
        margin-top: 0;
    }

    .flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-04 {
        margin-top: 0;
    }

    .flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-05 {
        margin-top: 0;
    }

    .flowChartForeigner .flowChartForeigner_item.flowChartForeigner_item-06 {
        margin-top: 0;
    }


}


/* ----------------------------------------

- chartBox

---------------------------------------- */

.chartBox {
    width: 336px;
    padding: 16px;
    position: relative;
    background-color: #F7FAFF;
}

.chartBox:after {
    content: "●●●";
    position: absolute;
    width: 40px;
    text-align: center;
    right: -40px;
    color: #E2E2E2;
    top: 50%;
    transform: translate(0, -50%);
}

/*chartBox_head*/
.chartBox .chartBox_head {
    display: flex;
}

.chartBox .chartBox_head .chartBox_head_icon {
    width: 24px;
    min-width: 24px;
}

.chartBox .chartBox_head .chartBox_head_content {
    margin-left: 8px;
}


/*chartBox_body*/
.chartBox .chartBox_body {
    font-size: 14px;
    margin-top: 8px;
}


/* for flowChartForeigner */
.flowChartForeigner .chartBox {
    margin-left: auto;
    background-color: #FFF7F0;
}

.flowChartForeigner .chartBox:after {
    left: -40px;
}

@media screen and (max-width: 767px) {

    .chartBox {
        margin-left: 76px;
        width: auto;
        position: relative;

        margin-top: -16px;
        margin-bottom: -16px;
    }

    .chartBox:after {
        left: -40px;
    }


    /*chartBox_head*/
    .chartBox .chartBox_head .chartBox_head_icon {
        width: 18px;
        min-width: 18px;
    }

    /* for flowChartForeigner */
    .flowChartForeigner .chartBox {
        margin-left: 76px;
    }

    .flowChartForeigner .chartBox:after {
        left: -40px;
    }


}
