#benefits {
    margin: 10rem 0 10rem;
    scroll-margin-top: 10rem;
    @media screen and (max-width: 767px) {
        scroll-margin-top: 7rem;
    }

    .benefits-flex {
        display: flex;
        flex-wrap: wrap;
        gap: 5rem 3.9rem;
        margin-top: 6rem;

        @media screen and (max-width: 767px) {
            gap: 2rem 1.5rem;
            margin-top: 4rem;
            /* justify-content: center; */
        }

        .benefit-box {
            height: 40.6rem;
            max-width: 37.4rem;

            @media screen and (max-width: 767px) {
                height: auto;
                max-width: 16.5rem;
            }

            .benefit-img {
                width: 25.4rem;
                margin: 0 auto 2.8rem;

                @media screen and (max-width: 767px) {
                    width: 13rem;
                    margin: 0 auto 2rem;
                }
            }

            .benefit-title {
                font-style: normal;
                font-weight: 700;
                font-size: 2.2rem;
                /* line-height: 3.2rem; */
                text-align: center;
                letter-spacing: 0.08em;
                color: #FFFFFF;
                margin-bottom: 1.4rem;

                @media screen and (max-width: 767px) {
                    font-size: 1.8rem;
                    margin-bottom: 1rem;
                }
            }

            .benefit-txt {
                font-style: normal;
                font-weight: 500;
                font-size: 1.6rem;
                line-height: 2.6rem;
                letter-spacing: 0.08em;
                color: #FFFFFF;

                @media screen and (max-width: 767px) {
                    font-size: 1.2rem;
                    line-height: 2rem;
                }
            }
        }
    }
}



#application {
    margin-bottom: 14rem;
    scroll-margin-top: 10rem;
    @media screen and (max-width: 767px) {
        scroll-margin-top: 7rem;
    }

    @media screen and (max-width: 767px) {
        margin-bottom: 0;
    }

    & h2 {
        margin: 0 0 6rem;

        @media screen and (max-width: 767px) {
            margin: 0 0 4rem;
        }
    }

    .list-title {
        font-style: normal;
        font-weight: 700;
        font-size: 2rem;
        line-height: 140%;
        letter-spacing: 0.08em;
        font-feature-settings: 'palt' on;
        color: #073277;
        cursor: pointer;

        position: relative;
        box-sizing: border-box;
        background: #E0B91C;
        /* border-bottom: 1px solid #FFFFFF; */
        border-radius: 0.8rem;
        padding: 1.5rem 0rem 1.4rem 4rem;

        @media screen and (max-width: 767px) {
            font-size: 1.8rem;
            padding: 1rem 3.4rem 1rem 1rem;
        }

        &::after {
            position: absolute;
            content: "";
            top: 0;
            bottom: 0;
            right: 2.4rem;
            margin: auto;
            width: 1rem;
            height: 1.8rem;
            background: url(../../common/img/blue-arrow.svg) no-repeat center;
            background-size: contain;
            transition: transform 0.3s ease;

            @media screen and (max-width: 767px) {
                right: 1.9rem;
            }
        }

        &.open {
            &::after {
                transform: rotate(180deg);
            }
        }
    }

    .list-detail {
        margin-top: 2.4rem;
        max-height: 0;
        transition: all 0.2s ease;
        overflow: hidden;

        & table {
            & tr {
                display: flex;

                @media screen and (max-width: 767px) {
                    flex-direction: column;
                }

                & td.column-1 {
                    font-style: normal;
                    font-weight: 700;
                    font-size: 1.8rem;
                    line-height: 1.8rem;
                    text-align: center;
                    letter-spacing: 0.08em;
                    color: #073277;

                    box-sizing: border-box;
                    display: flex;
                    flex-direction: row;
                    justify-content: center;
                    align-items: center;
                    padding: 1.6rem 0rem;
                    width: 27.1rem;
                    background: #E0B91C;
                    border-bottom: 1px solid #FFFFFF;

                    @media screen and (max-width: 767px) {
                        width: 100%;
                        padding: 1rem 0;
                    }
                }

                & td.column-2 {
                    /* max-width: 58.9rem; */
                    font-style: normal;
                    font-weight: 400;
                    font-size: 1.6rem;
                    line-height: 2.6rem;
                    letter-spacing: 0.08em;
                    color: #000000;

                    box-sizing: border-box;
                    display: flex;
                    flex-direction: column;
                    align-items: flex-start;
                    padding: 1.7rem 4rem;
                    width: 100%;
                    background: #F0F0F0;
                    border-bottom: 1px solid #939393;

                    @media screen and (max-width: 767px) {
                        padding: 1rem 1.5rem;
                    }
                }
            }
        }

        &.open {
            max-height: 350rem;
            margin-bottom: 5rem;
        }
    }
}

#follow {
    margin: 14rem 0;
    @media screen and (max-width: 767px) {
        margin: 6rem 0;
    }

    .follow-flex {
        margin: 5rem 0 0;
        display: flex;
        justify-content: space-between;

        @media screen and (max-width: 767px) {
            margin: 4rem 0 0;
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 2rem 2.4rem;
        }

        .follow-box {
            padding: 2.4rem 0 2.6rem;
            background: #FFFFFF;
            width: 21.2rem;

            @media screen and (max-width: 767px) {
                padding: 2.4rem 0 2.6rem;
                width: 16rem;
            }

            .follow-cat {
                font-style: normal;
                font-weight: 700;
                font-size: 1.2rem;
                line-height: 120%;
                letter-spacing: 0.1em;
                color: #073277;
                display: flex;
                flex-direction: row;
                align-items: center;
                justify-content: center;
                /* padding: 4px 12px; */
                width: 7.9rem;
                height: 2.2rem;
                background: #E0B91C;
                border-radius: 10rem;
                margin: 0 auto 0.4rem;
            }

            .follow-img {
                width: 5.6rem;
                margin: 0 auto 0.5rem;
            }

            .follow-txt {
                font-style: normal;
                font-weight: 700;
                font-size: 1.6rem;
                line-height: 140%;
                text-align: center;
                letter-spacing: 0.04em;
                color: #000000;
            }
        }
    }
}

#faq {
    margin-bottom: 15rem;
    
    .common-list.faq {
        margin-top: 6.7rem;

        @media screen and (max-width: 767px) {
            margin-top: 4rem;
        }

        .faq-box {
            margin-bottom: 8rem;

            @media screen and (max-width: 767px) {
                margin-bottom: 4rem;
            }

            .faq-main-title {
                font-style: normal;
                font-weight: 700;
                font-size: 2.4rem;
                line-height: 2.9rem;
                letter-spacing: 0.15em;
                color: #FFFFFF;
                margin-bottom: 3.6rem;
                position: relative;
                padding-left: 1.6rem;

                @media screen and (max-width: 767px) {
                    font-size: 1.8rem;
                    line-height: 2rem;
                    margin-bottom: 3rem;
                }

                &::before {
                    content: "";
                    position: absolute;
                    background-color: #E0B91C;
                    height: 2.8rem;
                    width: 0.4rem;
                    left: 0.2rem;
                    top: 0;
                    bottom: 0;
                    margin: auto;

                    @media screen and (max-width: 767px) {
                        height: 2rem;
                    }
                }
            }

            .faq-detail-container {
                .qa-item {
                    margin-bottom: 1.6rem;

                    .q-item {
                        box-sizing: border-box;
                        /* Auto layout */
                        display: flex;
                        flex-direction: row;
                        align-items: center;
                        padding: 2.4rem 3.2rem;
                        gap: 2.4rem;
                        border-bottom: 1px solid #073277;
                        background-color: #FFFFFF;
                        border-radius: 1.2rem;
                        cursor: pointer;
                        transition: all 0.2s ease;
                        position: relative;

                        @media screen and (max-width: 767px) {
                            padding: 1.2rem 3rem 1.2rem 1.2rem;
                            gap: 1rem;
                        }

                        &::after {
                            content: "";
                            position: absolute;
                            background: url(../../img/recruit/recruit-arrow.svg) no-repeat;
                            background-size: 100%;
                            width: 2rem;
                            height: 2rem;
                            top: 0;
                            bottom: 0;
                            right: 2rem;
                            margin: auto;
                            transition: all 0.2s ease;

                            @media screen and (max-width: 767px) {
                                width: 1.6rem;
                                height: 1.6rem;
                                right: 1.3rem;
                            }
                        }

                        .q-text {
                            font-family: 'Noto Sans JP';
                            font-style: normal;
                            font-weight: 700;
                            font-size: 1.8rem;
                            line-height: 150%;
                            letter-spacing: 0.08em;
                            color: #000000;
                            max-width: 102.4rem;

                            @media screen and (max-width: 767px) {
                                max-width: 24.5rem;
                                font-size: 1.6rem;
                            }
                        }

                        & strong {
                            font-family: 'Jost';
                            font-style: normal;
                            font-weight: 700;
                            font-size: 2rem;
                            line-height: 2.9rem;
                            color: #FFFFFF;

                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            align-items: center;
                            width: 4.5rem;
                            height: 4.5rem;
                            background: #073277;
                            border-radius: 50%;

                            @media screen and (max-width: 767px) {
                                font-size: 1.6rem;
                                line-height: 2.4rem;
                                width: 3rem;
                                height: 3rem;
                            }
                        }

                        &.open {
                            border-radius: 1.2rem 1.2rem 0 0;

                            &::after {
                                transform: rotate(45deg);
                            }
                            
                        }
                    }

                    .a-item {
                        display: flex;
                        flex-direction: row;
                        align-items: center;
                        padding: 0 3.2rem;
                        opacity: 0;
                        gap: 2.4rem;
                        background: #FFFFFF;
                        border-radius: 0 0 1.2rem 1.2rem;
                        max-height: 0;
                        overflow: hidden;
                        transition: all 0.2s ease;

                        .a-text {
                            font-style: normal;
                            font-weight: 400;
                            font-size: 1.6rem;
                            line-height: 180%;
                            letter-spacing: 0.08em;
                            color: #000000;
                            max-width: 106.7rem;

                            @media screen and (max-width: 767px) {
                                font-size: 1.4rem;
                                line-height: 160%;
                                max-width: 26.9rem;
                            }
                        }


                        & strong {
                            font-family: 'Jost';
                            font-style: normal;
                            font-weight: 700;
                            font-size: 2rem;
                            line-height: 2.9rem;
                            color: #FFFFFF;

                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            align-items: center;
                            width: 4.5rem;
                            height: 4.5rem;
                            background: #E0B91C;
                            border-radius: 50%;

                            @media screen and (max-width: 767px) {
                                font-size: 1.6rem;
                                line-height: 2.4rem;
                                width: 3rem;
                                height: 3rem;
                            }
                        }

                        &.open {
                            max-height: 100rem;
                            padding: 2.4rem 3.2rem;
                            opacity: 1;

                            @media screen and (max-width: 767px) {
                                padding: 1.2rem 1rem 1.2rem 1.2rem;
                            }
                        }
                    }
                }
            }
        }
    }
}