/* 写真はヘッダーの下から画面の右端まで。文字の段の高さに写真を合わせる */
.sec_hero {
    .wrap {
        display: grid;
        grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
        @media (max-width: 900px) {
            grid-template-columns: minmax(0, 1fr);
        }
    }
    .left {
        padding: 80px 48px 72px;
        display: flex;
        justify-content: flex-end;
        @media (max-width: 1250px) {
            padding: 64px 40px 56px;
        }
        @media (max-width: 900px) {
            padding: 56px 40px 48px;
            justify-content: flex-start;
        }
        @media (max-width: 600px) {
            padding: 40px 24px;
        }
        @media (max-width: 370px) {
            padding-inline: 16px;
        }
    }
    .inner {
        width: 100%;
        max-width: 760px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .eyebrow {
        margin-bottom: 24px;
        display: flex;
        align-items: center;
        gap: 16px;
        color: var(--color-accent);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.6em;
        letter-spacing: 0.12em;
        @media (max-width: 600px) {
            margin-bottom: 16px;
        }
        &::before {
            width: 40px;
            height: 1px;
            flex: none;
            background: var(--color-accent);
            content: "";
        }
    }
    .ttl {
        margin-bottom: 32px;
        display: flex;
        flex-direction: column;
        color: var(--color-ink);
        font-family: var(--font-serif);
        font-size: 80px;
        font-weight: 600;
        line-height: 1.3em;
        @media (max-width: 1300px) {
            font-size: 76px;
        }
        @media (max-width: 1200px) {
            font-size: 72px;
        }
        @media (max-width: 1150px) {
            font-size: 68px;
        }
        @media (max-width: 1100px) {
            font-size: 64px;
        }
        @media (max-width: 1050px) {
            font-size: 60px;
        }
        @media (max-width: 1000px) {
            font-size: 56px;
        }
        @media (max-width: 950px) {
            font-size: 52px;
        }
        @media (max-width: 800px) {
            font-size: 48px;
        }
        @media (max-width: 700px) {
            font-size: 44px;
        }
        @media (max-width: 600px) {
            margin-bottom: 24px;
            font-size: 40px;
        }
        .line {
            white-space: nowrap;
        }
    }
    .txt {
        margin-bottom: 40px;
        display: flex;
        flex-direction: column;
        gap: 8px;
        font-size: 16px;
        line-height: 1.8em;
        @media (max-width: 1000px) {
            margin-bottom: 32px;
        }
        .main {
            font-size: 20px;
            font-weight: 500;
            @media (max-width: 1000px) {
                font-size: 18px;
            }
        }
    }
    .cta {
        margin-bottom: 48px;
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        @media (max-width: 600px) {
            margin-bottom: 40px;
            gap: 12px;
        }
        .sub {
            --color-btn-bg: transparent;
            --color-btn-ink: var(--color-ink);
            --color-btn-line: var(--color-ink);
            --color-btn-bg-hover: var(--color-cream-deep);
        }
    }
    .right {
        min-width: 0;
        min-height: 560px;
        contain: size;
        @media (max-width: 900px) {
            min-height: 0;
            contain: none;
        }
    }
    .image {
        height: 100%;
        background: var(--color-cream-deep);
        overflow: hidden;
        @media (max-width: 900px) {
            height: auto;
            aspect-ratio: 3 / 2;
        }
        img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
        }
    }
}

/* 最終更新: 2026-10-25 19:15 */
