/* パンくずリスト */
.breadcrumb {
    padding-inline: 0;

    & .breadcrumb_inner {
        max-width: var(--contents-width);
        width: 100%;
        margin-inline: auto;

        & .breadcrumb_list {
            display: flex;
            padding: 12px 0;
            align-items: center;
            gap: 8px;
            flex-shrink: 0;
            font-size: 12px;
            font-weight: 400;
            line-height: 100%;
            letter-spacing: 0.96px;

            & .breadcrumb_item {
                display: flex;
                justify-content: flex-start;
                align-items: center;
                gap: 8px;

                &:not(.current) {
                    color: rgba(74, 63, 53, 0.50);

                    &::after {
                        content: "";
                        display: block;
                        background-image: url(../img/arrow__breadcrumb.svg);
                        background-size: contain;
                        background-repeat: no-repeat;
                        background-position: center;
                        width: 6px;
                        height: 8px;
                    }
                }

            }
        }
    }

    @media (max-width: 750px) {
        padding-block: 0;

        & .breadcrumb_inner {
            overflow-x: auto;

            & .breadcrumb_list {
                justify-content: flex-start;

                & .breadcrumb_item {
                    flex-shrink: 0;

                    &:first-child {
                        margin-inline-start: 5.333vw;
                    }

                    &.current {
                        padding-inline-end: 5.333vw;
                    }
                }
            }
        }
    }
}

/* sec-visual */
.sec-visual {
    position: relative;
    width: 100%;
    height: 480px;
    padding-inline: 0;
    z-index: 1;

    &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        background-color: rgba(255, 255, 255, 0.60);
        width: 228px;
        height: 228px;
        clip-path: polygon(100% 0, 0 0, 0 100%);
    }

    &::after {
        content: "";
        position: absolute;
        bottom: 0;
        right: 0;
        display: block;
        background-color: rgba(255, 255, 255, 0.60);
        width: 303px;
        height: 266px;
        clip-path: polygon(100% 100%, 100% 0, 0 100%);
    }

    & .sec-visual_inner {
        position: relative;
        width: 100%;
        height: 100%;
        z-index: 2;

        &::before {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            display: block;
            background-color: rgba(254, 218, 124, 0.20);
            width: 382px;
            height: 400px;
            clip-path: polygon(100% 100%, 0 0, 0 100%);
        }

        &::after {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            display: block;
            background-color: rgba(254, 218, 124, 0.20);
            width: 467px;
            height: 372px;
            clip-path: polygon(100% 100%, 100% 0, 0 0);
        }

        & .sec-visual_contents {
            position: relative;
            display: flex;
            justify-content: flex-start;
            align-items: center;
            width: 100%;
            max-width: 1300px;
            margin-inline: auto;
            padding-left: 110px;
            gap: 32px;

            & .sec-visual_contents-item {
                width: 472px;

                & .baloon {
                    position: relative;
                    background: #E68A33;
                    border-radius: 100vmax;
                    max-width: fit-content;
                    font-size: 22px;
                    font-weight: 500;
                    line-height: 100%;
                    color: #FFF;
                    letter-spacing: 0.88px;
                    margin-inline: auto;
                    padding: 14px 16px;
                    z-index: 5;

                    &::after {
                        content: "";
                        display: block;
                        position: absolute;
                        bottom: -12px;
                        left: 50%;
                        translate: -50% 0;
                        background-color: #E68A33;
                        width: 14px;
                        height: 12px;
                        clip-path: polygon(50% 100%, 100% 0, 0 0);
                    }
                }

                & h1 {
                    font-size: 44px;
                    font-weight: 700;
                    line-height: 160%;
                    text-align: center;
                    letter-spacing: 3.2px;
                    margin-block: 24px 16px;

                    & span {
                        position: relative;

                        &::before {
                            content: "";
                            display: inline-block;
                            position: absolute;
                            top: 0;
                            left: calc(50% - 2px);
                            translate: -50% 0;
                            background-color: #E68A33;
                            border-radius: 50%;
                            width: 8px;
                            height: 8px;
                        }
                    }
                }

                & .button-contact_pc {
                    display: block;
                    position: relative;
                    max-width: 472px;
                    margin-inline: auto;

                    & .button-contact_link {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        border-radius: 4px;
                        background: #FFF;
                        box-shadow: 0 4px 0 0 #FFECBB;
                        padding: 18px 16px;
                        gap: 8px;
                        font-size: 16px;
                        font-weight: 700;
                        color: #E68A33;
                        line-height: 140%;
                        letter-spacing: 1.28px;

                        &::before {
                            content: "";
                            display: block;
                            background-image: url(../img/icn_company-orange.svg);
                            background-size: contain;
                            background-repeat: no-repeat;
                            background-position: center;
                            width: 30px;
                            height: 30px;
                        }

                        &::after {
                            content: "";
                            display: block;
                            background-image: url(../img/arrow__org.svg);
                            background-size: contain;
                            background-position: center;
                            background-repeat: no-repeat;
                            width: 23px;
                            height: 9px;
                        }
                    }
                }
            }

            & picture {
                width: 646px;
                height: auto;
                z-index: 10;

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

            & .button-contact_sp {
                display: none;
            }
        }
    }

    @media (max-width: 750px) {
        height: auto;

        &::before {
            content: "";
            position: absolute;
            display: block;
            background-color: rgba(254, 218, 124, 0.20);
            width: 312px;
            height: 139px;
            clip-path: polygon(100% 0, 0 0, 0 100%);
            z-index: 1;
        }

        &::after {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            display: block;
            background-color: rgba(255, 255, 255, 0.60);
            width: 178px;
            height: 82px;
            clip-path: polygon(100% 100%, 100% 0, 0 0);
        }

        & .sec-visual_inner {
            padding-block: 32px;

            &::before {
                content: "";
                position: absolute;
                display: block;
                background-color: rgba(255, 255, 255, 0.60);
                width: 178px;
                height: 82px;
                clip-path: polygon(100% 100%, 0 0, 0 100%);
            }

            &::after {
                content: "";
                position: absolute;
                top: auto;
                bottom: 0;
                right: 0;
                display: block;
                background-color: rgba(254, 218, 124, 0.20);
                width: 312px;
                height: 139px;
                clip-path: polygon(100% 100%, 100% 0, 0 100%);
            }

            & .sec-visual_contents {
                flex-direction: column;
                padding-inline: 5.333vw;
                gap: 0;
                z-index: 5;

                & .sec-visual_contents-item {
                    width: 100%;

                    & .baloon {
                        font-size: 16px;
                        letter-spacing: 0.64px;
                    }

                    & h1 {
                        text-align: center;
                        font-size: 32px;
                        letter-spacing: 1.5px;
                        margin-block: 24px 20px;

                        & span {

                            &::before {
                                left: calc(50% - 1.5px);
                                width: 6px;
                                height: 6px;
                            }
                        }
                    }

                    & .button-contact_pc {
                        display: none;
                    }

                }

                & picture {
                    width: 100%;
                }

                & .button-contact_sp {
                    display: block;
                    position: relative;
                    width: 100%;
                    margin-inline: auto;
                    margin-block-start: 16px;

                    & .button-contact_link {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        border-radius: 4px;
                        background: #FFF;
                        box-shadow: 0 4px 0 0 #FFECBB;
                        height: auto;
                        padding: 18px 0;
                        gap: 8px;
                        font-size: 14px;
                        font-weight: 700;
                        color: #E68A33;
                        line-height: 140%;
                        letter-spacing: 1px;

                        &::before {
                            content: "";
                            display: block;
                            background-image: url(../img/icn_company-orange.svg);
                            background-size: contain;
                            background-repeat: no-repeat;
                            background-position: center;
                            width: 30px;
                            height: 30px;
                            flex-shrink: 0;
                        }

                        &::after {
                            content: none;
                        }
                    }
                }
            }
        }
    }
}

/* sec-worries */
.sec-worries {
    position: relative;
    background-color: #FFE9B0;
    background-image: url(../img/ill_company.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 431px 296px;
    padding-block: 80px 200px;

    &::after {
        content: "";
        display: block;
        position: absolute;
        bottom: -1px;
        left: 50%;
        translate: -50% 0;
        background-color: #fff;
        width: 100%;
        height: 60px;
        clip-path: polygon(50% 100%, 100% 0, 100% 100%, 0 100%, 0 0);
    }

    & hgroup {
        text-align: center;

        & h2 {
            display: inline-flex;
            justify-content: center;
            align-items: center;
            gap: 16px;
            font-size: 35px;
            font-weight: 700;
            line-height: 160%;
            letter-spacing: 2.8px;
            margin-inline: auto;
            margin-block-end: 16px;
            font-family: var(--font-gothic);

            &::before {
                content: "";
                display: block;
                width: 64px;
                height: 1px;
                background-color: #4A3F35;
            }

            &::after {
                content: "";
                display: block;
                width: 64px;
                height: 1px;
                background-color: #4A3F35;
            }
        }

        & p {
            font-size: 16px;
            font-weight: 500;
            line-height: 180%;
            letter-spacing: 1.28px;
        }
    }

    & .worries_list {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        /* grid-template-columns: repeat(3, max-content); */
        position: relative;
        grid-template-rows: auto;
        justify-items: center;
        align-items: center;
        height: 210px;
        margin-block: 40px;

        & .worries_item {
            position: relative;
            border-radius: 100vmax;
            background: #FFF;
            font-size: 20px;
            font-weight: 700;
            line-height: 180%;
            text-align: center;
            letter-spacing: 1.6px;
            white-space: nowrap;
            padding: 16px 48px;

            &::after {
                content: "";
                display: block;
                position: absolute;
                bottom: -26px;
                translate: -50% 0;
                width: 28px;
                height: 26px;
                background-color: #fff;
            }

            &:nth-child(1) {
                translate: -40px 45px;

                &::after {
                    left: calc(50% + 50px);
                    clip-path: polygon(55% 0, 0 0, 100% 100%);
                }
            }

            &:nth-child(2) {
                translate: -80px -65px;

                &::after {
                    left: 50%;
                    clip-path: polygon(55% 0, 0 0, 100% 100%);
                }
            }

            &:nth-child(3) {
                translate: 0px -10px;

                &::after {
                    left: calc(50% - 45px);
                    clip-path: polygon(100% 0, 45% 0, 0 100%);
                }
            }

            & em {
                color: #E68A33;
                font-size: 28px;
                font-weight: 700;
                line-height: 180%;
                font-style: normal;
                letter-spacing: 2.24px;
            }
        }
    }

    @media (max-width: 750px) {
        background-size: 285px 191px;
        padding-block: 40px 200px;

        &::after {
            height: 18px;
        }

        & .sec-contents_inner {

            & hgroup {

                & h2 {
                    font-size: 24px;
                    letter-spacing: 1.92px;

                    &::before,
                    &::after {
                        width: 24px;
                    }
                }

                & p {
                    font-size: 15px;
                    letter-spacing: 1.2px;
                }
            }

            & .worries_list {
                grid-template-columns: 1fr;
                height: auto;
                gap: 30px;

                & .worries_item {
                    width: fit-content;
                    font-size: 16px;
                    letter-spacing: 1.28px;
                    white-space: normal;
                    padding: 16px 24px;

                    & em {
                        font-size: 20px;
                        letter-spacing: 1.6px;
                    }

                    &::after {
                        bottom: -19px;
                        width: 20px;
                        height: 19px;
                    }

                    &:nth-child(1) {
                        translate: 0 0;
                        margin-right: auto;

                        &::after {
                            left: calc(50% - 75px);
                        }
                    }

                    &:nth-child(2) {
                        translate: 0 0;
                        margin-left: auto;

                        &::after {
                            left: calc(50% + 90px);
                            clip-path: polygon(100% 0, 45% 0, 0 100%);
                        }
                    }

                    &:nth-child(3) {
                        translate: 0 0;
                        margin-inline: auto;

                        &::after {
                            left: 50%;
                            clip-path: polygon(55% 0, 0 0, 100% 100%);
                        }
                    }
                }
            }
        }
    }
}

/* sec-training */
.sec-training {
    border-bottom: 1px solid rgba(74, 63, 53, 0.08);
    background-color: #fff;
    padding-block: 96px 104px;

    & hgroup {
        text-align: center;
        margin-block-end: 40px;

        & p {
            display: inline-flex;
            justify-content: center;
            align-items: center;
            gap: 16px;
            font-size: 22px;
            font-weight: 700;
            line-height: 160%;
            letter-spacing: 1.76px;

            &::before,
            &::after {
                content: "";
                display: block;
                width: 2px;
                height: 24px;
                background-color: #4A3F35;
            }

            &::before {
                rotate: -20deg;
            }

            &::after {
                rotate: 20deg;
            }
        }

        & h2 {
            font-size: 35px;
            font-style: normal;
            font-weight: 700;
            color: #E68A33;
            line-height: 160%;
            letter-spacing: 2.8px;
            font-family: var(--font-gothic);
        }
    }

    & .training_list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;

        & .training_item {

            & p {
                font-size: 16px;
                font-weight: 500;
                line-height: 180%;
                letter-spacing: 1.28px;

                &:not(:last-of-type) {
                    margin-block-end: 1.6rem;
                }
            }

            & .button-contact {
                position: relative;
                max-width: 444px;
                margin-inline: auto;
                margin-block-start: 32px;

                & .button-contact_link {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    border-radius: 4px;
                    background: #E68A33;
                    box-shadow: 0 4px 0 0 #FFECBB;
                    height: 61px;
                    padding: 24px 16px;
                    gap: 8px;
                    font-size: 16px;
                    font-weight: 700;
                    color: #fff;
                    line-height: 140%;
                    letter-spacing: 1.28px;

                    &::before {
                        content: "";
                        display: block;
                        background-image: url(../img/icn_company-white.svg);
                        background-size: contain;
                        background-repeat: no-repeat;
                        background-position: center;
                        width: 30px;
                        height: 30px;
                    }

                    &::after {
                        content: "";
                        display: block;
                        background-image: url(../img/arrow__wht.svg);
                        background-size: contain;
                        background-position: center;
                        background-repeat: no-repeat;
                        width: 23px;
                        height: 9px;
                    }
                }
            }
        }
    }

    @media (max-width: 750px) {
        padding-block: 40px 64px;

        & .sec-contents_inner {

            & hgroup {

                & p {
                    font-size: 16px;
                    letter-spacing: 1.28px;
                }

                & h2 {
                    font-size: 24px;
                    letter-spacing: 1.92px;
                }
            }

            & .training_list {
                grid-template-columns: 1fr;

                & .training_item {

                    & p {
                        font-size: 15px;
                        letter-spacing: 1.2px;
                    }

                    & .button-contact {

                        & .button-contact_link {
                            font-size: 16px;
                            letter-spacing: 1.28px;
                        }
                    }
                }
            }
        }
    }
}