:root {
    --bg_white: #fff;
}

.bg_white {
    background-color: var(--bg_white);
}


body.page-id-2357 .sec_page_head_lead {
    padding: 60px 0;
}

body.page-id-2357 .sec_construction_01 .box {
    background: #FFF;
    margin: 0 0 30px;
    padding: 30px 20px 20px;
    position: relative;
    z-index: 3;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_01 .box {
        padding: 60px;
    }
}



body.page-id-2357 .sec_construction_01 .box3_wrap {
    position: relative;
    z-index: 2;
}

body.page-id-2357 .sec_construction_01 .box3 {
    margin: 80px 0 0;
    /* position: static; */
    padding: 140px 20px 20px;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_01 .box3 {
        padding: 60px;
    }
}

body.page-id-2357 .sec_construction_01 .box3 figure {
    position: absolute;
    left: -20px;
    top: -52px;
    width: 90%;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_01 .box3 figure {
        left: inherit;
        right: 0;
        width: 35vw;
    }
}

body.page-id-2357 .sec_construction_01 .box4 {
    max-width: 500px;
    background: #FFF;
    margin: 0 auto 40px;
    padding: 20px;
}

body.page-id-2357 .sec_construction_01 .box4 .desc {
    text-align: left;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_01 .box4 {
        padding: 40px 20px;
        flex-basis: 31%;
        margin: 0 20px;
        min-width: 410px;
    }

    body.page-id-2357 .sec_construction_01 .box4 .small {
        font-size: 12px;
    }

    body.page-id-2357 .sec_construction_01 .box4 .desc1 {
        min-height: 160px;
    }

    body.page-id-2357 .sec_construction_01 .box4 .desc2 {
        text-align: center;
    }

    body.page-id-2357 .sec_construction_01 .box4 .desc3 {
        text-align: center;
    }
}

body.page-id-2357 .sec_construction_01 .ttl3 {
    text-align: center;
    color: var(--green-color);
    line-height: 1.6;
    padding: 0 0 30px 0;
    border-bottom: solid 1px;
    margin: 0 0 40px 0;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_01 .ttl3 {
        min-height: 110px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
}

body.page-id-2357 .sec_construction_01 .font_size_change {
    font-weight: bold;
}

body.page-id-2357 .sec_construction_01 .ttl4 {
    text-align: center;
    color: var(--green-color);
    margin: 20px 0;
}

body.page-id-2357 .sec_construction_01 .rcline {
    margin: 20px 0 20px;
}

body.page-id-2357 .sec_construction_01 li {
    margin: 0 0 .6em;
    line-height: 1.6;
    position: relative;
    padding: 0 0 0 22px;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_01 li {
        font-size: 13px;
    }
}

body.page-id-2357 .sec_construction_01 li::before {
    content: "■";
    color: var(--green-color);
    margin: 0 7px 0 0;
    display: inline-block;
    font-size: 22px;
    position: absolute;
    left: 0;
    top: -10px;
}

body.page-id-2357 .sec_construction_01 li {
    font-size: 13px;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_01 .ul_box {
        display: flex;
        justify-content: flex-start;
    }
}

body.page-id-2357 .sec_construction_01 .ul1 {
    margin-right: 30px;
}

body.page-id-2357 .sec_construction_01 .case_box {
    margin: -40px 0 0 0;
    position: relative;
    padding: 80px 0 40px 0;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_01 .case_box {
        margin: -80px 0 0 0;
        position: relative;
        padding: 160px 0 80px 0;
    }
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_01 .case_box .row {
        display: flex;
        justify-content: space-around;
    }
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_01 .card_wrap {
        display: flex;
        justify-content: space-between;
    }
}

body.page-id-2357 .sec_construction_01 .card_wrap .card {
    flex-basis: 32%;
    margin: 0 0 40px;
}

body.page-id-2357 .sec_construction_02 {
    position: relative;
    padding: 70px 0;
}

body.page-id-2357 .sec_construction_02 .fig1 {
    width: 80%;
    margin-bottom: -50px;
    position: relative;
    z-index: 6;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_02 .fig1 {
        position: absolute;
        right: 0;
        width: 23vw;
        top: 180px;
        margin: 0;
    }
}

body.page-id-2357 .sec_construction_02 .box {

    margin: 0 0 30px;
    padding: 30px 20px 20px;
    position: relative;
    z-index: 3;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_02 .box {
        padding: 60px;
    }
}

body.page-id-2357 .sec_construction_02 .box2 {
    border-top: solid 1px var(--green-color);
    padding: 40px 0 0;
    margin: 40px 0 40px;
    position: relative;
}



body.page-id-2357 .sec_construction_02 .box3_wrap {
    position: relative;
    z-index: 2;
}

body.page-id-2357 .sec_construction_02 .box3 {
    margin: 80px 0 0;
    position: static;
    padding: 140px 20px 20px;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_02 .box3 {
        padding: 60px;
    }
}

body.page-id-2357 .sec_construction_02 .box3 figure {
    position: absolute;
    left: -20px;
    top: -52px;
    width: 90%;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_02 .box3 figure {
        left: inherit;
        right: 0;
        width: 35vw;
    }
}



body.page-id-2357 .sec_construction_02 .box4 .desc {
    text-align: left;
}




body.page-id-2357 .sec_construction_02 .font_size_change {
    font-weight: bold;
}

body.page-id-2357 .sec_construction_02 .ttl4 {
    text-align: center;
    color: var(--green-color);
    margin: 20px 0;
}

body.page-id-2357 .sec_construction_02 .rcline {
    margin: 20px 0 20px;
}

body.page-id-2357 .sec_construction_02 li {
    margin: 0 0 .6em;
    line-height: 1.6;
    position: relative;
    padding: 0 0 0 22px;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_02 li {
        font-size: 13px;
    }
}

body.page-id-2357 .sec_construction_02 li::before {
    content: "■";
    color: var(--green-color);
    margin: 0 7px 0 0;
    display: inline-block;
    font-size: 22px;
    position: absolute;
    left: 0;
    top: -10px;
}

body.page-id-2357 .sec_construction_02 li {
    font-size: 13px;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_02 .ul_box {
        display: flex;
        justify-content: flex-start;
    }
}

body.page-id-2357 .sec_construction_02 .ul1 {
    margin-right: 30px;
}

body.page-id-2357 .sec_construction_02 .case_box {
    margin: -40px 0 0 0;
    position: relative;
    padding: 80px 0 40px 0;
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_02 .case_box {
        margin: -80px 0 0 0;
        position: relative;
        padding: 160px 0 80px 0;
    }
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_02 .case_box .row {
        display: flex;
        justify-content: space-around;
    }
}

@media screen and (min-width: 768px) {
    body.page-id-2357 .sec_construction_02 .card_wrap {
        display: flex;
        justify-content: space-between;
    }
}

body.page-id-2357 .sec_construction_02 .card_wrap .card {
    flex-basis: 32%;
    margin: 0 0 40px;
}


body.page-id-2357 {

    .sec_construction_01,
    .sec_construction_02 {
        .box3_wrap {
            .inner {
                .box3 {
                    position: relative;
                    margin: 80px 0 0;
                    padding: 160px 20px 20px;

                    .desc {
                        max-width: 400px;
                        padding-bottom: 30px;
                    }

                    figure {
                        position: absolute;
                        text-align: center;
                        max-width: 100%;
                        left: 50%;
                        transform: translateX(-50%);
                        top: -60px;

                        img {
                            /* max-width: 500px; */
                        }

                    }
                }



            }

            .pic_box {}
        }
    }

    .sec_construction_03 {
        .pic_box {
            .row {
                display: flex;
                flex-direction: column;
                gap: 15px;

                .box {
                    display: flex;
                    margin-bottom: 15px;

                    figure {
                        display: flex;
                        flex-wrap: wrap;
                        justify-content: space-between;

                        figcaption {
                            text-align: center;
                            color: var(--green-color);
                            font-weight: 500;
                            padding: 10px 0;
                        }
                    }

                    &.col2 {
                        flex-basis: 100%;
                        display: flex;
                        flex-wrap: wrap;
                        flex-direction: row;

                        figcaption {
                            flex-basis: 100%;
                        }

                        & picture {
                            flex-basis: 49%;
                            width: 90%;
                        }
                    }

                    &.col1 {
                        flex-basis: 100%;

                        display: flex;
                        flex-wrap: wrap;

                        figcaption {
                            flex-basis: 100%;
                        }

                        & picture {
                            flex-basis: 100%;
                        }
                    }
                }
            }
        }
    }



    .sec_construction_04 {
        .box3_wrap {
            .box3 {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;

                figure {
                    width: 100%;
                    margin-bottom: 20px;
                }
            }
        }
    }

    @media screen and (min-width: 768px) {

        .sec_construction_01,
        .sec_construction_02 {
            .box3_wrap {
                .inner {
                    .box3 {
                        position: relative;
                        margin: 80px 0 0;
                        padding: 60px;
                        padding-bottom: 80px;

                        .desc {
                            max-width: 400px;
                            padding-bottom: 30px;
                        }

                        figure {
                            position: absolute;
                            right: 0;
                            bottom: 0;
                            text-align: right;
                            max-width: 500px;
                            transform: none;

                            img {
                                max-width: 500px;
                            }

                        }
                    }


                }

                .pic_box {}
            }
        }

        .sec_construction_03 {
            .pic_box {
                .row {

                    flex-direction: row;

                    &:not(:last-child) {
                        margin-bottom: 15px;
                    }

                    .box {
                        display: flex;

                        figure {
                            display: flex;
                            flex-wrap: wrap;
                            justify-content: space-between;

                            figcaption {
                                text-align: center;
                                color: var(--green-color);
                                font-weight: 500;
                                padding: 10px 0;
                            }
                        }

                        &.col2 {
                            flex-basis: calc(((100% - 30px) / 3) * 2.055);
                            display: flex;
                            flex-wrap: wrap;
                            flex-direction: row;

                            figcaption {
                                flex-basis: 100%;
                            }

                            & picture {
                                flex-basis: calc((100% - 15px) / 2);
                                width: 90%;
                            }
                        }

                        &.col1 {
                            flex-basis: calc((100% - 30px) / 3);
                            display: flex;
                            flex-wrap: wrap;

                            figcaption {
                                flex-basis: 100%;
                            }

                            & picture {
                                flex-basis: 100%;
                            }
                        }
                    }
                }
            }
        }

        .sec_construction_04 {
            .box3_wrap {
                .box3 {
                    figure {
                        width: 49%;

                    }
                }
            }
        }
    }
}