@charset "UTF-8";

.ly_companyData_wrapper {
    .el_companyData_intro_text {
        font-size: 3.2rem;
        padding: var(--recruit-companyData-section-base-gap) 5%;
        position: relative;
        text-align: center;
        text-shadow: var(--recruit-color-text-shadow-rgba);

        @media screen and (min-width: 768px) {
            padding-bottom: 0;
        }
    }

    .bl_companyData_section {
        color: var(--recruit-color-text1);

        @media screen and (min-width: 768px) {
            position: static;
        }

        &.bl_companyData_section--top {
            margin-bottom: calc(var(--recruit-companyData-section-base-gap) * 1.5);
        }

        &.bl_companyData_section--middle {
            margin-bottom: calc(var(--recruit-companyData-section-base-gap) * 1.5);
        }

        &.bl_companyData_section--bottom {
            margin-bottom: calc(var(--recruit-companyData-section-base-gap) * 1.5);
        }

        .el_companyData_sectionTitle {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1.6rem;
            margin: calc(var(--recruit-companyData-section-base-gap) * 3) auto calc(var(--recruit-companyData-section-base-gap) * 1.5);
            font-weight: var(--font-weight-bold);
            text-align: center;

            @media screen and (min-width: 768px) {
                margin: calc(var(--recruit-companyData-section-base-gap) * 4) auto calc(var(--recruit-companyData-section-base-gap) * 1.0);
            }

            &::before {
                content: "";
                display: inline-block;
                width: 2.4rem;
                height: 2.4rem;
                background-color: var(--recruit-color-main);
                border-radius: 50%;
                position: relative;
                top: 0.2rem;
                left: 0.8rem;

                @media screen and (min-width: 768px) {
                    width: 3.6rem;
                    height: 3.6rem;
                    top: 0.4rem;
                    left: 0.7rem;
                }
            }
        }

        .el_companyData_section_lead {
            text-align: center;
            font-size: 2.0rem;
            line-height: 1.8;
            padding: 0 5%;
            margin-top: -1.5rem;

            @media screen and (min-width: 768px) {
                font-size: 2.4rem;
                padding: 0 10%;
            }
        }

        .bl_companyData_inner {
            align-items: center;
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            gap: var(--recruit-companyData-section-base-gap) 0;
            margin-inline: auto;
            padding: 0 5%;
            position: relative;
            width: 100%;
            z-index: 2;

            @media (min-width: 768px) {
                align-items: unset;
                flex-direction: row;
                gap: 15.0rem 9.0rem;
                justify-content: center;
                padding: 11.0rem 0 0;
                max-width: 90%;
            }

            .bl_companyData_box {
                max-width: 51.0rem;
                width: 100%;

                .el_companyData_title {
                    font-size: 2.3rem;
                    font-weight: var(--font-weight-medium);
                    margin-left: 4.0rem;
                    position: relative;

                    @media screen and (min-width: 768px) {
                        font-size: 3.2rem;
                    }

                    &::before {
                        content: "";
                        width: 1.2rem;
                        height: 1.2rem;
                        background-color: var(--recruit-color-accent005);
                        border-radius: 50%;
                        position: absolute;
                        top: 1.95rem;
                        left: -1.8rem;
                        transform: translateY(-50%);

                        @media screen and (min-width: 768px) {
                            top: 2.80rem;
                            left: -2.3rem;
                        }
                    }
                }
            }
        }
    }
}

.bl_companyData_box--01,
.bl_companyData_box--02,
.bl_companyData_box--03,
.bl_companyData_box--04,
.bl_companyData_box--05,
.bl_companyData_box--06,
.bl_companyData_box--07,
.bl_companyData_box--08,
.bl_companyData_box--09,
.bl_companyData_box--10,
.bl_companyData_box--11,
.bl_companyData_box--13 {
    margin-left: auto;
    margin-right: auto;

    .bl_companyData_flex {
        align-items: center;
        display: flex;
        justify-content: center;
        margin-top: 3.0rem;
        position: relative;

        .el_companyData_category {
            bottom: -0.5rem;
            font-size: 1.6rem;
            font-weight: var(--font-weight-medium);
            line-height: 1.0;
            position: relative;

            @media screen and (min-width: 768px) {
                font-size: 2.0rem;
                left: 0.5rem;
            }
        }

        .el_companyData_numberBox {
            font-size: 1.9rem;
            font-weight: var(--font-weight-medium);
            white-space: nowrap;
            z-index: 2;

            @media screen and (min-width: 768px) {
                font-size: 3.2rem;
            }
        }

        .el_companyData_number {
            font-size: 6.0rem;
            font-weight: var(--font-weight-bold);
            line-height: 1.0;
            white-space: nowrap;

            @media screen and (min-width: 768px) {
                font-size: 9.6rem;
            }

            .el_companyData_number_mini {
                font-size: 2.5rem;
                line-height: inherit;
                margin-right: 0.4rem;

                @media screen and (min-width: 768px) {
                    font-size: 4.8rem;
                }
            }
        }

        .el_companyData_unit {
            font-size: 2.4rem;
            font-weight: var(--font-weight-medium);
            left: 0.5rem;
            line-height: 1.0;
            position: relative;
            top: 2.5rem;

            @media screen and (min-width: 768px) {
                font-size: 3.2rem;
                left: -0.5rem;
                top: 5.0rem;
            }
        }

        .el_companyData_ratioBox {
            align-items: center;
            display: flex;
            flex-direction: column;
            position: absolute;

            figure img {
                height: 5.0rem;
                width: auto;

                @media screen and (min-width: 768px) {
                    height: 6.6rem;
                }
            }
        }
    }

    /* グラフ */
    .el_companyData_centerImage {
        left: auto;
        margin: 0 auto;
        position: relative;
        z-index: 0;

        @media screen and (min-width: 768px) {
            left: 0;
        }

        img {
            display: block;
            height: auto;
            margin: 0 auto;
            width: 100%;

            @media screen and (min-width: 768px) {
                width: auto;
            }
        }
    }
}

.bl_companyData_box--01,
.bl_companyData_box--02,
.bl_companyData_box--03,
.bl_companyData_box--08,
.bl_companyData_box--09,
.bl_companyData_box--10,
.bl_companyData_box--11,
.bl_companyData_box--13 {
    .bl_companyData_flex {
        figure img {
            height: 6.0rem;
            margin-right: 2.0rem;
            width: auto;

            @media screen and (min-width: 768px) {
                height: 9.0rem;
                margin-right: 3.0rem;
            }
        }
    }
}

.bl_companyData_box--01,
.bl_companyData_box--03,
.bl_companyData_box--04,
.bl_companyData_box--05,
.bl_companyData_box--06,
.bl_companyData_box--07,
.bl_companyData_box--09,
.bl_companyData_box--10,
.bl_companyData_box--11,
.bl_companyData_box--13 {
    .el_companyData_number {
        display: inline-block;
        text-align: right;
    }
}

/* 01 創立年 */
.bl_companyData_box--01 {
    .bl_companyData_flex {
        figure img {
            transform: translateX(2.5rem);

            @media screen and (min-width: 768px) {
                transform: translateX(5.0rem);
            }
        }

        .el_companyData_number {
            font-size: 10.0rem;
            margin-left: 2.0rem;
            min-width: 4.0ch;

            @media screen and (min-width: 768px) {
                font-size: 17.8rem;
                letter-spacing: 0.001em;
            }
        }

        .el_companyData_unit {
            @media screen and (min-width: 768px) {
                left: 0.5rem;
            }
        }
    }
}

/* 02 取引先業界 */
.bl_companyData_box--02 {
    .bl_companyData_flex {
        figure img {
            transform: translateX(0.5rem);

            @media screen and (min-width: 768px) {
                transform: translateX(1.0rem);
            }
        }
    }

    .bl_companyData_flex_list {
        ul {
            li {
                font-size: 2.15rem;
                font-weight: var(--font-weight-medium);

                .fs_20 {
                    font-size: 1.8rem;
                }
            }
        }

        p {
            font-size: 2.0rem;
            margin-left: 2.5rem;
        }
    }

    .bl_companyData_flex_list p {
        opacity: 0;
        transition: opacity 0.5s ease;
    }
}

/* 03 従業員数 */
.bl_companyData_box--03 {
    .bl_companyData_flex {
        figure img {
            transform: translateX(0.5rem);

            @media screen and (min-width: 768px) {
                transform: translateX(1.5rem);
            }
        }

        .el_companyData_number {
            font-size: 10.0rem;
            margin: 0 1.0rem;
            min-width: 2.3ch;

            @media screen and (min-width: 768px) {
                font-size: 17.8rem;
                margin: 0 2.0rem;
            }
        }
    }
}

/* 04 男女比 */
.bl_companyData_box--04 {
    .bl_companyData_flex {
        margin-top: 0;

        @media screen and (min-width: 768px) {
            margin-top: 5.0rem;
        }
    }

    .el_companyData_ratioBox--men,
    .el_companyData_ratioBox--women {
        .el_companyData_category {
            position: relative;
            left: 1px;
            color: var(--recruit-color-accent006);
        }

        .el_companyData_numberBox {
            display: flex;
            align-items: flex-end;
            gap: 0.4rem;
        }

        .el_companyData_number {
            font-size: 6.0rem;
            line-height: 1.0;
            white-space: nowrap;
            min-width: 3.2ch;

            @media screen and (min-width: 768px) {
                font-size: 9.6rem;
            }
        }

        .el_companyData_unit {
            top: -1.55rem;
            left: -0.25rem;
            font-size: 2.2rem;

            @media screen and (min-width: 768px) {
                font-size: 3.2rem;
                top: -1.95rem;
            }
        }
    }

    /* 男性 値 */
    .el_companyData_ratioBox--men {
        left: -1.0rem;
        bottom: 0;

        @media screen and (min-width: 768px) {
            left: -1.0rem;
            bottom: 0;
        }

        .el_companyData_category {
            position: relative;
            left: 1px;
        }
    }

    /* 女性 値 */
    .el_companyData_ratioBox--women {
        right: -1.5rem;
        bottom: 0;

        @media screen and (min-width: 768px) {
            right: -3.5rem;
            bottom: 0;
        }

        .el_companyData_category {
            position: relative;
            left: 1px;
        }
    }
}

/* 05 従業員の年代比率 */
.bl_companyData_box--05 {
    .bl_companyData_flex {
        margin-top: 10.0rem;

        @media screen and (min-width: 768px) {
            margin-top: 12.5rem;
        }

        /* 20代～60代 共通 */
        .bl_companyData_numberBox_outer--20s,
        .bl_companyData_numberBox_outer--30s,
        .bl_companyData_numberBox_outer--40s,
        .bl_companyData_numberBox_outer--50s,
        .bl_companyData_numberBox_outer--60s {
            position: absolute;

            .el_companyData_category {
                position: relative;
                left: 2.0rem;
                top: 1.30rem;
                color: var(--recruit-color-accent006);
            }

            /* 数字と単位を横並びにする */
            .el_companyData_numberBox {
                display: flex;
                align-items: flex-end;
                gap: 0.4rem;
            }

            .el_companyData_number {
                font-size: 6.0rem;
                line-height: 1.0;
                white-space: nowrap;
                min-width: 3.2ch;

                @media screen and (min-width: 768px) {
                    font-size: 9.6rem;
                }
            }

            .el_companyData_unit {
                top: -1.60rem;
                left: -0.25rem;
                font-size: 2.2rem;

                @media screen and (min-width: 768px) {
                    font-size: 3.2rem;
                    top: -1.95rem;
                }
            }
        }

        /* 20代 */
        .bl_companyData_numberBox_outer--20s {
            top: -8.5rem;
            right: -2.0rem;

            @media screen and (min-width: 768px) {
                top: -12.0rem;
                right: -2.0rem;
            }
        }

        /* 30代 */
        .bl_companyData_numberBox_outer--30s {
            bottom: 46%;
            right: -2.0rem;

            @media screen and (min-width: 768px) {
                bottom: 48%;
                right: -2.0rem;
            }
        }

        /* 40代 */
        .bl_companyData_numberBox_outer--40s {
            bottom: -6px;
            right: -2.0rem;

            @media screen and (min-width: 768px) {
                bottom: -0.5rem;
                right: -2.0rem;
            }
        }

        /* 50代 */
        .bl_companyData_numberBox_outer--50s {
            bottom: -6px;
            left: 0.0rem;

            @media screen and (min-width: 768px) {
                bottom: -0.5rem;
                left: 1.5rem;
            }
        }

        /* 60代 */
        .bl_companyData_numberBox_outer--60s {
            top: -8.5rem;
            left: 0.0rem;

            @media screen and (min-width: 768px) {
                top: -12.0rem;
                left: 1.5rem;
            }
        }
    }
}

/* 06 正社員の新卒中途割合 */
.bl_companyData_box--06 {
    .bl_companyData_flex {
        margin-top: 0;

        @media screen and (min-width: 768px) {
            margin-top: 5.0rem;
        }
    }

    .el_companyData_ratioBox--newWay,
    .el_companyData_ratioBox--halfway {
        /* 元の位置指定はそのまま */

        .el_companyData_category {
            position: relative;
            left: 1px;
            color: var(--recruit-color-accent006);
        }

        .el_companyData_numberBox {
            display: flex;
            align-items: flex-end;
            gap: 0.4rem;
        }

        .el_companyData_number {
            font-size: 6.0rem;
            line-height: 1.0;
            white-space: nowrap;
            min-width: 3.2ch;

            @media screen and (min-width: 768px) {
                font-size: 9.6rem;
            }
        }

        .el_companyData_unit {
            top: -1.55rem;
            left: -0.25rem;
            font-size: 2.2rem;

            @media screen and (min-width: 768px) {
                font-size: 3.2rem;
                top: -1.95rem;
            }
        }
    }

    /* 新卒 値 */
    .el_companyData_ratioBox--newWay {
        left: -1.5rem;
        bottom: 0;

        @media screen and (min-width: 768px) {
            left: -4.5rem;
            bottom: 0;
        }

        .el_companyData_category {
            position: relative;
            left: 0px;
        }
    }

    /* 中途 値 */
    .el_companyData_ratioBox--halfway {
        right: -1.75rem;
        bottom: 0;

        @media screen and (min-width: 768px) {
            right: -4.0rem;
            bottom: 0;
        }

        .el_companyData_category {
            position: relative;
            left: 1px;
        }
    }
}

/* 07 部署別 人員比率 */
.bl_companyData_box--07 {
    .bl_companyData_flex {
        margin-top: 10.0rem;

        @media screen and (min-width: 768px) {
            margin-top: 12.5rem;
        }

        .bl_companyData_numberBox_outer--general-accounting,
        .bl_companyData_numberBox_outer--sales-tech,
        .bl_companyData_numberBox_outer--process-assembly {
            position: absolute;

            .el_companyData_category {
                position: relative;
                left: 1px;
                color: var(--recruit-color-accent006);
                top: 1.5rem;
                left: 1.5rem;
            }

            .el_companyData_numberBox {
                display: flex;
                align-items: flex-end;
                gap: 0.4rem;
            }

            .el_companyData_number {
                font-size: 6.0rem;
                line-height: 1.0;
                white-space: nowrap;
                min-width: 3.2ch;

                @media screen and (min-width: 768px) {
                    font-size: 9.6rem;
                }
            }

            .el_companyData_unit {
                top: -1.55rem;
                left: -0.25rem;
                font-size: 2.2rem;

                @media screen and (min-width: 768px) {
                    font-size: 3.2rem;
                    top: -1.95rem;
                }
            }
        }

        /* 総務経理職 */
        .bl_companyData_numberBox_outer--general-accounting {
            left: 0.5rem;
            top: -8.5rem;

            @media screen and (min-width: 768px) {
                left: -2.0rem;
                top: -12.0rem;
            }
        }

        /* 営業技術職 */
        .bl_companyData_numberBox_outer--sales-tech {
            right: 0.5rem;
            top: -8.5rem;

            @media screen and (min-width: 768px) {
                right: 0.5rem;
                top: -12.0rem;
            }
        }

        /* 加工組立職 */
        .bl_companyData_numberBox_outer--process-assembly {
            left: 0.5rem;
            bottom: 0;

            @media screen and (min-width: 768px) {
                left: -2.0rem;
                bottom: -0.5rem;
            }
        }
    }
}

/* 08-13 従業員の保有資格 平均勤続年数 年間休日 有給休暇取得率 育休後復職率 */
.bl_companyData_box--08,
.bl_companyData_box--09,
.bl_companyData_box--10,
.bl_companyData_box--11,
.bl_companyData_box--13 {
    .bl_companyData_flex {
        .el_companyData_number {
            font-size: 10.0rem;
            margin: 0;

            @media screen and (min-width: 768px) {
                font-size: 17.8rem;
                margin: 0 2.0rem;
            }

            .el_companyData_number_mini {
                font-size: 5.0rem;

                @media screen and (min-width: 768px) {
                    font-size: 8.9rem;
                }
            }
        }
    }
}

/* 08 従業員の保有資格 */
.bl_companyData_box--08 {
    .bl_companyData_flex {
        figure img {
            transform: translateX(0.5rem);

            @media screen and (min-width: 768px) {
                transform: translateX(1.5rem);
            }
        }
    }

    .bl_companyData_flex_list {
        ul {
            li {
                font-size: 1.7rem;
                font-weight: var(--font-weight-medium);
                padding-left: 1.5em;
                text-indent: -1.5em;

                @media screen and (min-width: 768px) {
                    font-size: 2.15rem;
                }
            }
        }

        p {
            font-size: 1.6rem;
            margin-left: 2.0rem;
        }
    }
}


/* 09 平均勤続年数 */
.bl_companyData_box--09 {
    .bl_companyData_flex {
        figure img {
            transform: translateX(1.0rem);

            @media screen and (min-width: 768px) {
                transform: translateX(4.0rem);
            }
        }

        .el_companyData_number {
            min-width: 2.8ch;
        }
    }
}

/* 10 年間休日日数 */
.bl_companyData_box--10 {
    .bl_companyData_flex {
        figure img {
            transform: translateX(1.5rem);

            @media screen and (min-width: 768px) {
                transform: translateX(5.0rem);
            }
        }

        .el_companyData_number {
            min-width: 3.0ch;
        }
    }
}

/* 11 有給休暇取得率 */
.bl_companyData_box--11 {
    .bl_companyData_flex {
        figure img {
            transform: translateX(1.5rem);

            @media screen and (min-width: 768px) {
                transform: translateX(4.5rem);
            }
        }

        .el_companyData_number {
            min-width: 3.3ch;
        }
    }
}

/* 13 育休後復職率（女性） */
.bl_companyData_box--13 {
    .bl_companyData_flex {
        figure img {
            transform: translateX(0.75rem);

            @media screen and (min-width: 768px) {
                transform: translateX(3.5rem);
            }
        }

        .el_companyData_number {
            min-width: 3.9ch;
        }

        .el_companyData_male {
            font-size: 1.8rem;
            font-weight: var(--font-weight-medium);
            position: absolute;
            white-space: nowrap;
            right: auto;
            left: auto;
            top: -1.5rem;
            color: var(--recruit-color-accent006);
        }
    }
}
