#role {
    .role-flex {
        display: flex;
        justify-content: space-between;
        margin: 7rem 0 14rem;

        @media screen and (max-width: 767px) {
            margin: 6rem 0;
            flex-direction: column;
            gap: 4rem;
        }

        .role-box {
            box-sizing: border-box;
            width: 58.8rem;
            height: 71.7rem;
            border: 1px solid #FFFFFF;
            padding: 4.1rem 5.5rem 0 5.4rem;

            @media screen and (max-width: 767px) {
                width: 100%;
                height: auto;
                padding: 4rem 1.4rem;
            }

            .role-icon {
                width: 24.5rem;
                margin: 0 auto 3.8rem;

                @media screen and (max-width: 767px) {
                    width: 15rem;
                    margin: 0 auto 2rem;
                }
            }

            .role-title {
                font-style: normal;
                font-weight: 700;
                font-size: 2.2rem;
                line-height: 160%;
                text-align: center;
                letter-spacing: 0.08em;
                font-feature-settings: 'palt' on;
                color: #FFFFFF;
                margin-bottom: 2.8rem;

                @media screen and (max-width: 767px) {
                    font-size: 1.8rem;
                    margin-bottom: 2rem;
                }
            }

            .role-para {
                max-width: 47.9rem;
                font-style: normal;
                font-weight: 500;
                font-size: 1.6rem;
                line-height: 220%;
                letter-spacing: 0.08em;
                font-feature-settings: 'palt' on;
                color: #FFFFFF;

                @media screen and (max-width: 767px) {
                    font-size: 1.4rem;
                    line-height: 180%;
                }
            }
        }
    }
}

#points {
    & h2 {
        margin-bottom: 8.6rem;
        @media screen and (max-width: 767px) {
            margin-bottom: 4rem;
        }
    }

    .point-box {
        position: relative;

        .point-title {
            font-style: normal;
            font-weight: 700;
            font-size: 3.4rem;
            line-height: 160%;
            letter-spacing: 0.08em;
            font-feature-settings: 'palt' on;
            color: #FFFFFF;
            margin-bottom: 2.9rem;

            @media screen and (max-width: 767px) {
                font-size: 1.8rem;
                line-height: 160%;
                margin-bottom: 2rem;
            }
        }

        .point-p {
            max-width: 66.9rem;
            font-style: normal;
            font-weight: 500;
            font-size: 1.8rem;
            line-height: 232%;
            letter-spacing: 0.08em;
            font-feature-settings: 'palt' on;
            color: #FFFFFF;

            @media screen and (max-width: 767px) {
                font-size: 1.4rem;
                line-height: 180%;
                margin-bottom: 2rem;
            }
        }

        .point-img-container {
            width: 80.9rem;
            position: absolute;
            top: -10rem;
            right: -37rem;

            @media screen and (max-width: 767px) {
                width: 100%;
                position: relative;
                top: 0;
                right: 0;
            }
        }
    }

    .point-box01 {
        margin-bottom: 30.3rem;
        margin-top: 14rem;

        @media screen and (max-width: 767px) {
            margin-bottom: 4rem;
            margin-top: 0;
        }
    }

    .point-box02 {
        margin-bottom: 33.2rem;
        display: flex;
        flex-direction: column;
        align-content: flex-end;
        flex-wrap: wrap;

        @media screen and (max-width: 767px) {
            margin-bottom: 4rem;
        }

        .point-img-container {
            right: inherit;
            left: -36rem;
            top: -13rem;

            @media screen and (max-width: 767px) {
                left: inherit;
                top: inherit;
            }
        }
    }

    .point-box03 {
        margin-bottom: 33.2rem;

        .point-img-container {
            top: -12rem;
            @media screen and (max-width: 767px) {
                top: inherit;
            }
        }

        @media screen and (max-width: 767px) {
            margin-bottom: 6rem;
        }
    }
}

#strenght {
    .str-mega-flex-container {
        display: flex;
        flex-direction: column;
        gap: 4.2rem;
        margin: 8.8rem 0 14rem;

        @media screen and (max-width: 767px) {
            gap: 4rem;
            margin: 4rem 0 6rem;
        }

        .str-box {
            display: flex;
            justify-content: space-between;
            /* align-items: center; */
            padding: 3rem 3rem 3rem 5rem;
            background-color: #FFFFFF;

            @media screen and (max-width: 767px) {
                padding: 3rem 2rem;
                flex-direction: column;
            }

            .str-left-container {
                padding-top: 2rem;

                @media screen and (max-width: 767px) {
                    padding-top: 0;
                }      
                .str-title {
                    font-style: normal;
                    font-weight: 700;
                    font-size: 2rem;
                    line-height: 1.8rem;
                    letter-spacing: 0.08em;
                    font-feature-settings: 'palt' on;
                    color: #073177;
                    padding-left: 3.2rem;
                    position: relative;
                    margin-bottom: 2rem;


                    @media screen and (max-width: 767px) {
                        font-size: 1.8rem;
                        padding-left: 1.8rem;
                        line-height: 2.4rem;
                    }

                    &::before {
                        position: absolute;
                        content: "";
                        width: 2.2rem;
                        height: 2.2rem;
                        left: 2.2rem;
                        background-color: #E0B91C;
                        top: 0;
                        bottom: 0;
                        left: 0rem;
                        margin: auto;

                        @media screen and (max-width: 767px) {
                            width: 1.4rem;
                            height: 1.4rem;
                            left: -0.4rem;
                        }
                    }

                    &.str-title3-sp {
                        @media screen and (max-width: 767px) {
                            &::before {
                                margin: inherit;
                                top: 0.6rem;
                            }
                        }
                    }
                }

                .str-txt {
                    max-width: 63.3rem;
                    font-style: normal;
                    font-weight: 400;
                    font-size: 1.6rem;
                    line-height: 180%;
                    letter-spacing: 0.08em;
                    font-feature-settings: 'palt' on;
                    color: #000000;

                    @media screen and (max-width: 767px) {
                        max-width: inherit;
                        font-size: 1.4rem;
                        line-height: 160%;
                        margin-bottom: 2rem;
                    }
                }
            }

            .str-img-container {
                width: 43.6rem;

                @media screen and (max-width: 767px) {
                    width: 100%;
                }
            }
        }
    }
}

#history {
    .history-tb-cotainer {
        margin: 7.2rem 0 15rem;

        @media screen and (max-width: 767px) {
            margin: 7rem 0 12rem;
        }

        .tb-row {
            display: flex;
            gap: 7.4rem;
            padding-bottom: 3.6rem;
            border-bottom: 1px solid #FFFFFF;
            margin-bottom: 3.6rem;

            font-style: normal;
            font-weight: 700;
            font-size: 1.8rem;
            line-height: 160%;
            letter-spacing: 0.08em;
            font-feature-settings: 'palt' on;
            color: #FFFFFF;

            @media screen and (max-width: 767px) {
                gap: 0.5rem;
                flex-direction: column;
                font-size: 1.5rem;
                padding-bottom: 1rem;
                margin-bottom: 2rem;
            }
        }
    }
}