@charset "UTF-8";

html {
    font-size: 62.5%;
}

/* sp */
/* p {
    font-size: 1.4rem;
}

h2 {
    font-size: 1.9rem;
}

h3 {
    font-size: 1.6rem;
} */

/* sec01 */
.container01 {
    width: 100%;
    height: 45vw;
    position: relative;
    background-image: url(../images/production_flow/30_mv02.jpg);
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
}

@media screen and (min-width: 999.8px) {

    /* sec01 */
    .container01 {
        height: 27vw;
    }

}


/* body {
    margin: 0px;
    line-height: 2;
} */

/* sec01 Mv*/

.sliderTop_sp30 {
    display: block;
}

.sliderTop30 {
    display: none;
}

.container01 {
    position: relative;
    margin-inline: auto;
}

.container01 .slick-track {
    height: 45vw;
}

.container01 .slick-track .slick-slide {
    object-fit: cover;
}

.text__main {
    position: absolute;
    top: unset;
    left: unset;
    transform: unset;
    z-index: 100;
}

/* sec01 pc */
@media screen and (min-width: 999.8px) {

    .container01 .slick-track {
        height: 27vw;
    }

    .text__main {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    h2 {
        font-size: 3.5rem;
    }

    h3 {
        font-size: 2.6rem;
    }

    .sliderTop_sp30 {
        display: none;
    }

    .sliderTop30 {
        display: block;
    }
}

.contentsSp {
    padding: 0px 5%;
    margin: 0 auto;
}

#sec02 h2 {
    font-weight: 400;
    text-align: start;
}

#sec02 {
    /* text-align: center; */
    margin-top: 8vw;
}

#sec02 p {
    text-align: start;
}

.sPblock {
    display: block;
}

.sec0201__title {
    font-size: 1.9rem;
    margin-bottom: var(--header-margin-bottom);
}

.block-txt,
.sec0201__img {
    margin-top: 20px;
    width: 100%;
}

.sec0201__img {
    & img {
        width: 100%;
    }
}

/*タブ切り替え全体のスタイル*/
.tabs {
    margin-top: 8vw;
    /* background-color: #fff; */
}

/*タブのスタイル*/
.tab_item {
    width: 50%;
    height: 60px;
    border: 1px solid var(--color-main);
    line-height: 60px;
    text-align: center;
    color: var(--color-main);
    display: block;
    float: left;
    text-align: center;
    transition: all 0.2s ease;
    border-radius: 10px 10px 0px 0px;
    position: relative;
    flex: 1 1 auto;
}

.tab_item:hover {
    opacity: 0.75;
}

.tab_header {
    position: relative;
    height: 60px;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
}

.tab_header::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 100vw;
    height: 1px;
    background-color: var(--color-main);
}

/* ラジオボタンを非表示 */
input[name="tab_item"] {
    display: none;
}

/* タブの中身を非表示 */
.tab_content {
    display: none;
    clear: both;
}

/* 橋梁事業が選択されている時だけ表示 */
#bridge:checked~.tab_header+#bridge_content {
    display: block;
}

/* 鉄骨事業が選択されている時だけ表示 */
#steel:checked~.tab_header+#bridge_content+#steel_content {
    display: block;
}

/* 選択中タブの見た目 */
#bridge:checked~.tab_header label[for="bridge"],
#steel:checked~.tab_header label[for="steel"] {
    background-color: var(--color-main);
    color: #fff;
}

.Form-Item {
    margin: 8vw 0px;
}

.flow-img {
    margin-top: 4vw;
    width: 100%;
    padding-bottom: 8vw;
    background-color: var(--color-white);

}

.green-box {
    margin-bottom: 8vw;
    border: solid 1px var(--color-main);
}

.padding-20 {
    padding: 20px;
}

.green-tab {
    color: var(--color-white);
    background-color: var(--color-main);
    padding: 16px 20px;
    /* margin-bottom: 2rem; */
    line-height: 1.5;
}

@media screen and (min-width: 999.8px) {
    .contentsSp {
        padding: 0px;
    }

    .block {
        width: 50%;
        line-height: 2;
    }

    .sPblock {
        display: flex;
        gap: 2rem;
    }

    .green-box .sPblock {
        padding: 4rem;
        gap: 2rem;
        font-size: 1.6rem;
        line-height: 1.875;
    }

    .sec0201__title {
        font-size: 3.5rem;
        line-height: 1.5;
    }

    .sec0201__txt {
        /* width: 70%; */
        /* margin-right: 20px; */
    }

    .sec0201__txt,
    .sec0201__img {
        margin-top: 0px;
    }

    .sec0201__img {
        width: 40%;
        flex-shrink: 0;
        & img {
            object-fit: contain;
        }
    }

    .block-txt {
        /* width: 90%;
        margin-top: 20px; */
    }

    .block-img {
        width: 50%;

        &>img {
            object-fit: cover;
            width: 100%;
            height: 100%;
        }
    }

    .Form-Item {
        margin-top: 4vw;
    }

    .green-tab {
        font-size: 18px;
    }

    .green-box {
        margin-bottom: 4vw;
    }

    .flow-img {
        margin-top: 4vw;
        width: 100%;
        padding-bottom: 4vw;
    }
    
}

/* sec03 */


/* .arrow:hover {
    background-color: var(--color-main);
} */


.grid-box {
    display: block;
    margin-bottom: 9vw;
    /* padding-inline: 2rem; */

    & .grid-item {
        & .grid-item__inner {
            height: 100%;
            width: 100%;

            &>a {
                position: relative;
                padding: 2rem 4rem;
                display: flex;
                height: 100%;
                width: 100%;
                transition: all 0.2s ease;
                align-items: center;

                &>.grid-item__txt {
                    line-height: 1.5;
                    font-size: 1.8rem;
                    flex-grow: 1;
                    margin-left: 0;
                    justify-items: start;

                    &>span {
                        display: block;
                        color: var(--color-main);
                        font-size: 1.4rem;
                    }
                }

                &>.grid-item__arrow {
                    flex-shrink: 0;

                    &>.arrow {
                        margin: 0;
                    }
                }
            }

            &>a:hover {
                background-color: var(--color-main);

                &>.grid-item__txt {
                    flex-grow: 1;
                    color: var(--color-white);

                    &>span {
                        display: block;
                        color: var(--color-white);
                    }
                }

                & .arrow {
                    background-color: #ffffff;
                    border-color: var(--color-main);

                    &::before {
                        background-color: var(--color-main);
                    }

                    &::after {
                        /* background-color: #ffffff; */
                        border-color: var(--color-main);
                    }
                }
            }

        }

        &.__01 {
            border-top: 1px solid var(--color-main);
            border-left: 1px solid var(--color-main);
            border-right: 1px solid var(--color-main);
            border-bottom: 1px solid var(--color-main);
            &>.grid-item__inner>a>.grid-item__txt{
                margin-left: 0;
            }
        }

        &.__02 {
            border-left: 1px solid var(--color-main);
            border-right: 1px solid var(--color-main);
            border-bottom: 1px solid var(--color-main);
        }

        &.__03 {
            border-left: 1px solid var(--color-main);
            border-right: 1px solid var(--color-main);
            border-bottom: 1px solid var(--color-main);
        }

        &.__04 {
            grid-column: 3 / 4;
            grid-row: 2 / 3;
            border-left: 1px solid var(--color-main);
            border-right: 1px solid var(--color-main);
            border-bottom: 1px solid var(--color-main);
        }

        &.__05 {
            border-left: 1px solid var(--color-main);
            border-right: 1px solid var(--color-main);
            border-bottom: 1px solid var(--color-main);
        }
    }
}

@media screen and (min-width: 999.8px) {
    .grid-box {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(2, 1fr);
        padding-inline: 0;


        & .grid-item {
            & .grid-item__inner {

                align-self: center;
                &>a {
                    position: relative;
                    display: flex;
                    height: 100%;
                    width: 100%;
                    transition: all 0.2s ease;
                    align-items: center;

                    &>.grid-item__txt {
                        line-height: 1.5;
                        font-size: 2.4rem;
                        flex-grow: 1;

                        &>span {
                            display: block;
                            color: var(--color-main);
                            font-size: 1.6rem;
                        }
                    }

                    &>.grid-item__arrow {
                        flex-shrink: 0;

                        &>.arrow {
                            margin: 0;
                        }
                    }
                }

                &>a:hover {
                    background-color: var(--color-main);

                    &>.grid-item__txt {
                        flex-grow: 1;
                        color: var(--color-white);

                        &>span {
                            display: block;
                            color: var(--color-white);
                        }
                    }

                    & .arrow {
                        background-color: #ffffff;
                        border-color: var(--color-main);

                        &::before {
                            background-color: var(--color-main);
                        }

                        &::after {
                            /* background-color: #ffffff; */
                            border-color: var(--color-main);
                        }
                    }
                }

            }

            &.__01 {
                grid-column: 1 / 5;
                grid-row: 1 / 2;
                border-top: 1px solid var(--color-main);
                border-left: 1px solid var(--color-main);
                border-right: 1px solid var(--color-main);
                border-bottom: 1px solid var(--color-main);

                &>.grid-item__inner>a>.grid-item__txt{
                    justify-items: center;
                    text-align: center;
                    margin-left: 32px;
                }
            }

            &.__02 {
                grid-column: 1 / 2;
                grid-row: 2 / 3;
                border-left: 1px solid var(--color-main);
                border-right: 1px solid var(--color-main);
                border-bottom: 1px solid var(--color-main);
            }

            &.__03 {
                grid-column: 2 / 3;
                grid-row: 2 / 3;
                border-left: none;
                border-right: 1px solid var(--color-main);
                border-bottom: 1px solid var(--color-main);
            }

            &.__04 {
                grid-column: 3 / 4;
                grid-row: 2 / 3;
                border-left: none;
                border-right: 1px solid var(--color-main);
                border-bottom: 1px solid var(--color-main);
            }

            &.__05 {
                grid-column: 4 / 5;
                grid-row: 2 / 3;
                border-left: none;
                border-right: 1px solid var(--color-main);
                border-bottom: 1px solid var(--color-main);
            }
        }
    }
}