#contents {
    padding-top: 8rem;
    padding-bottom: 9.5rem;

    @media screen and (max-width: 767px) {
        padding-top: 3rem;
        padding-bottom: 5rem;
    }
}

.about-us-container {
    padding-bottom: 5rem;

    @media screen and (max-width: 767px) {
        padding-bottom: 3rem;
    }
}

.about-us-title {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 3.2rem;
    letter-spacing: 0.08em;
    color: #000000;
    display: flex;
    gap: 1.5rem;
    padding-bottom: 5rem;

    @media screen and (max-width: 767px) {
        font-size: 2rem;
        line-height: 2rem;
        padding-bottom: 2.2rem;
        display: flex;
        align-items: center;
        gap: 1rem;

        & img {
            width: 1.4rem;
            height: 1.4rem;
        }
    }
}

.about-us-subtitle {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 2.4rem;
    letter-spacing: 0.08em;
    font-feature-settings: "palt" on;
    color: #000000;
    padding-bottom: 2.2rem;

    @media screen and (max-width: 767px) {
        font-size: 1.8rem;
        line-height: 18px;
        letter-spacing: 0.04em;
    }
}

.about-us-desc {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 3.2rem;
    letter-spacing: 0.08em;
    font-feature-settings: "palt" on;
    color: #000000;
    padding-bottom: 9rem;

    @media screen and (max-width: 767px) {
        font-size: 1.6rem;
        line-height: 2.4rem;
        letter-spacing: 0.04em;
        padding-bottom: 7rem;
    }
}

.about-us-box {
    @media screen and (max-width: 767px) {
        display: flex;
        flex-direction: column;
        gap: 3rem;
    }
}

.au-b {
    width: 100%;
    display: flex;
    gap: 7rem;
    padding-bottom: 10rem;

    @media screen and (max-width: 767px) {
        order: 0;
        flex-direction: column;
        gap: 2.4rem;
        padding-bottom: 5rem;
    }
}

.au-b-img {
    position: relative;
    /* padding: 4rem 0; */
    width: 55%;

    &::before {
        content: "";
        position: absolute;
        left: -11.2rem;
        bottom: -4.7rem;
        width: 100%;
        height: 29rem;
        background: #e9e9e9;
        z-index: 0;
    }

    & img {
        position: relative;
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
        z-index: 1;
    }

    @media screen and (max-width: 767px) {
        width: 100%;
        order: 1;

        &::before {
            left: -1.6rem;
            bottom: -1.6rem;
            height: 16rem;
        }
    }
}

.au-b-img.type-2 {
    position: relative;
    &::before {
        left: auto;
        right: -11.2rem;
        bottom: auto;
        top: -4.7rem;
    }

    @media screen and (max-width: 767px) {
        &::before {
            right: -1.6rem;
            top: -1.6rem;
        }
    }
}

.au-b-text {
    width: 50%;

    @media screen and (max-width: 767px) {
        width: 100%;
        order: 0;
    }
}

.au-b-t-title {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 700;
    font-size: 2.8rem;
    line-height: 2.8rem;
    letter-spacing: 0.08em;
    font-feature-settings: "palt" on;
    color: #000000;
    padding-bottom: 2.4rem;

    @media screen and (max-width: 767px) {
        font-size: 2.2rem;
        line-height: 2.2rem;
        padding-bottom: 1.6rem;
    }
}

.au-b-t-desc {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 3.2rem;
    letter-spacing: 0.08em;
    font-feature-settings: "palt" on;
    color: #000000;

    @media screen and (max-width: 767px) {
        font-size: 1.5rem;
        line-height: 2.6rem;
    }
}
html.site-lang-en .common-section-button {
    font-size: 1.5rem !important;
}
