.sec_shin_fv {
    .wrap {
        margin: 0 auto;
        max-width: 1440px;
        aspect-ratio: 1672 / 941;
        display: grid;
        background: url("../images/fv-watercolor.webp") center / 100% 100% no-repeat;

        @media (max-width: 650px) {
            aspect-ratio: auto;
            background: none;
        }
    }

    .image {
        width: 100%;
        display: none;

        @media (max-width: 650px) { display: block; }

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

    .inner {
        padding: 12% 4.2% 12% 52.1%;
        min-width: 0;
        display: flex;
        flex-direction: column;

        @media (max-width: 900px) { padding-bottom: 8%; }
        @media (max-width: 650px) {
            padding: 20px 24px 52px;
            align-items: center;
        }
        @media (max-width: 370px) { padding-inline: 16px; }
    }

    .head {
        margin-left: 8%;
        max-width: 200px;
        text-align: center;

        @media (max-width: 1200px) { max-width: 176px; }
        @media (max-width: 1000px) { max-width: 160px; }
        @media (max-width: 800px) { max-width: 144px; }
        @media (max-width: 650px) { margin-left: 0; max-width: 176px; }
    }

    .name {
        font-size: 28px;
        font-weight: 500;
        line-height: 1.4em;
        letter-spacing: 0.18em;
        white-space: nowrap;

        @media (max-width: 1200px) { font-size: 24px; }
        @media (max-width: 1000px) { font-size: 22px; }
        @media (max-width: 800px) { font-size: 20px; }
        @media (max-width: 650px) { font-size: 24px; }
    }

    .deco {
        width: 100%;
        display: block;
    }

    .ttl {
        margin-top: 12px;
        background: linear-gradient(180deg, #a24772, #75304e);
        color: var(--color-title);
        font-size: 84px;
        font-weight: 600;
        line-height: 1.33em;
        letter-spacing: -0.025em;
        white-space: nowrap;
        background-clip: text;
        -webkit-text-fill-color: transparent;

        @media (max-width: 1400px) { font-size: 80px; }
        @media (max-width: 1300px) { font-size: 76px; }
        @media (max-width: 1250px) { font-size: 72px; }
        @media (max-width: 1200px) { font-size: 68px; }
        @media (max-width: 1150px) { font-size: 64px; }
        @media (max-width: 1100px) { font-size: 60px; }
        @media (max-width: 1000px) { font-size: 56px; }
        @media (max-width: 950px) { font-size: 52px; }
        @media (max-width: 900px) { font-size: 48px; }
        @media (max-width: 800px) { font-size: 44px; }
        @media (max-width: 750px) { font-size: 40px; }
        @media (max-width: 700px) { font-size: 36px; }
        @media (max-width: 650px) { margin-top: 20px; font-size: 38px; text-align: center; }
        @media (max-width: 350px) { font-size: 34px; }
        @media (max-width: 320px) { font-size: 32px; }
    }

    .txt {
        margin-top: 8px;
        font-size: 22px;
        font-weight: 500;
        line-height: 1.6em;
        letter-spacing: 0.06em;
        white-space: nowrap;

        @media (max-width: 1300px) { font-size: 20px; }
        @media (max-width: 1200px) { font-size: 18px; }
        @media (max-width: 1100px) { font-size: 16px; }
        @media (max-width: 1000px) { font-size: 14px; }
        @media (max-width: 800px) { font-size: 12px; letter-spacing: 0.02em; }
        @media (max-width: 650px) { margin-top: 16px; font-size: 16px; text-align: center; white-space: normal; }

        span {
            @media (max-width: 650px) { display: block; }
        }
    }

    .foot {
        margin: 28px 0 0 16.2%;
        max-width: 334px;
        width: 55.8%;

        @media (max-width: 1200px) { margin-top: 18px; }
        @media (max-width: 1000px) { margin-top: 14px; }
        @media (max-width: 800px) { margin-top: 10px; }
        @media (max-width: 650px) { margin: 24px 0 0; max-width: 286px; width: 100%; }
    }

    .btn {
        padding: 14px 24px;
        min-height: 44px;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        background: url("../images/watercolor-grain.svg"), radial-gradient(ellipse at 18% 15%, #c5c6ea88, transparent 58%), radial-gradient(ellipse at 90% 90%, #d5a5da88, transparent 65%), linear-gradient(115deg, #c3b9e5, #c29bd3);
        color: #fff;
        font-size: 26px;
        font-weight: 400;
        line-height: 1.4em;
        letter-spacing: 0.06em;
        border: 0;
        border-radius: 999px;
        box-shadow: 0 4px 8px #8b688422;
        cursor: pointer;
        transition: filter 0.2s, box-shadow 0.2s;

        @media (max-width: 1200px) { padding: 12px 20px; font-size: 22px; }
        @media (max-width: 1000px) { padding: 10px 16px; font-size: 18px; }
        @media (max-width: 800px) { padding: 8px 12px; font-size: 16px; }
        @media (max-width: 650px) { padding: 16px 24px; font-size: 22px; }
        @media (hover: hover) {
            &:hover { filter: brightness(1.06); box-shadow: 0 5px 12px #8b688433; }
        }
        &:focus-visible { outline: 3px solid #79324f; outline-offset: 5px; }
        @media (prefers-reduced-motion: reduce) { transition: none; }
    }

    .label {
        grid-column: 2;
        white-space: nowrap;
    }

    .icon {
        margin-left: auto;
        width: 14px;
        display: block;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.6;
        stroke-linecap: round;
        stroke-linejoin: round;

        @media (max-width: 1000px) { width: 10px; }
        @media (max-width: 650px) { width: 14px; }
    }
}
