@charset "UTF-8";

#message {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding: 0 0 14rem;
    min-height: 83.8rem;

    @media screen and (max-width: 767px) {
        display: block;
        min-height: 0;
        padding: 4rem 0 8rem;
    }

    .message-visual {
        position: sticky;
        top: 14rem;
        flex: 0 0 100.6rem;
        width: 100.6rem;
        margin-left: calc(50% - 72rem - 28.1rem);
        line-height: 0;
        align-self: flex-start;

        @media screen and (max-width: 767px) {
            position: relative;
            top: auto;
            flex: none;
            width: calc(100% - 3rem);
            max-width: 34rem;
            margin: 0 auto 4rem;
        }

        & img {
            display: block;
            width: 100%;
            height: auto;
        }
    }

    .message-body {
        position: relative;
        z-index: 1;
        flex: 0 0 65.5rem;
        width: 65.5rem;
        margin-left: auto;
        padding-top: 22rem;
        box-sizing: border-box;

        @media screen and (max-width: 767px) {
            flex: none;
            width: 100%;
            max-width: none;
            margin-left: auto;
            margin-right: auto;
            padding-top: 0;
        }

        .message-catch {
            font-style: normal;
            font-weight: 600;
            font-size: 3.6rem;
            line-height: 1.53;
            letter-spacing: 0.09em;
            color: #1d1d1d;
            margin: 0 0 4.8rem;

            @media screen and (max-width: 767px) {
                font-size: 2.2rem;
                letter-spacing: 0.06em;
                margin-bottom: 2.4rem;
            }
        }

        .message-text {
            margin-bottom: 6.4rem;

            @media screen and (max-width: 767px) {
                margin-bottom: 3.2rem;
            }

            & p {
                font-style: normal;
                font-weight: 400;
                font-size: 1.8rem;
                line-height: 2;
                letter-spacing: 0.04em;
                color: #000000;
                margin: 0 0 2em;

                @media screen and (max-width: 767px) {
                    font-size: 1.4rem;
                    margin-bottom: 1.6em;
                }

                &:last-child {
                    margin-bottom: 0;
                }
            }
        }

        .message-sign {
            font-style: normal;
            font-weight: 400;
            font-size: 1.8rem;
            line-height: 2;
            letter-spacing: 0.04em;
            color: #000000;
            text-align: right;
            margin: 0;

            @media screen and (max-width: 767px) {
                font-size: 1.4rem;
                text-align: left;
            }

            .message-sign-name {
                display: inline-block;
                margin-top: 0.4rem;
                font-weight: 700;
                font-size: 2.4rem;
                line-height: 1.6;
                letter-spacing: 0.08em;

                @media screen and (max-width: 767px) {
                    font-size: 2rem;
                }
            }
        }
    }
}
