/* =============================================================
 * 会社案内ページ
 * ========================================================== */
.company-intro {
    padding-block: clamp(80px, 11.77vw, 226px) 50px;
    color: var(--c-text);

    .company-intro__inner {
        display: grid;
        grid-template-columns: minmax(0, 584fr) minmax(0, 829fr);
        gap: 9px 32px;
    }

    .company-intro__copy {
        font-family: var(--ff-en);
        font-size: clamp(52px, 5.89vw, 113px);
        font-weight: var(--fw-extralight);
        line-height: 1.172;
        letter-spacing: -0.018em;
        white-space: nowrap;
    }

    .company-intro__label {
        margin-block-start: clamp(24px, 2.6vw, 50px);
        font-size: clamp(20px, 1.56vw, 30px);
        font-weight: var(--fw-medium);
        line-height: 1.3;
        letter-spacing: 0.117em;
    }

    .company-intro__media {
        margin: 0;
        overflow: hidden;
        border-radius: var(--radius);

        img {
            width: 100%;
            height: 100%;
            aspect-ratio: 829 / 505;
            object-fit: cover;
        }
    }

    .company-intro__text {
        grid-column: 1 / -1;
        font-size: var(--fz-body);
        line-height: 2;
        letter-spacing: var(--ls-body);
    }
}

/* =============================================================
 * 会社情報 
 * ========================================================== */
.company-overview .data-table__row {
    align-items: center;
    min-height: 131px;
    padding-block: 24px;

    /* 電話番号 + FAX のようにまとめる2行は、高さの下限と間の余白をなくす（pages.css の .data-table__row--join） */
    &.data-table__row--join {
        min-height: 0;
        padding-block-end: 0;
    }

    &.data-table__row--join+.data-table__row {
        min-height: 0;
        padding-block-start: 10px;
    }
}

/* =============================================================
 * 許可一覧 
 * ========================================================== */
.company-license {
    padding-block: clamp(72px, 5.57vw, 107px);
    background: none;

    .data-table {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 40px;
        border: 0;
    }

    .data-table__row {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 44px 14px;
        letter-spacing: 0.049em;
    }

    .data-table__label {
        font-size: clamp(20px, 1.35vw, 26px);
        font-weight: var(--fw-regular);
        line-height: 1.45;
        letter-spacing: inherit;
        color: var(--c-ink);
    }

    .data-table__value {
        font-size: var(--fz-base);
        line-height: 27px;
        letter-spacing: 0.08em;
        color: rgb(59 68 92 / 74%);
    }
}

/* =============================================================
 * 沿革
 * ========================================================== */
.company-history-section {
    padding-block: clamp(80px, 8.6vw, 165px);
    color: var(--c-white);
    background: var(--c-ink);

    .label-head {
        margin-block-end: clamp(40px, 3.7vw, 70px);

        .page-label {
            color: var(--c-blue);
        }

        .label-head__title {
            color: var(--c-white);
        }
    }

    .company-history__item {
        display: grid;
        grid-template-columns: minmax(96px, 0.12fr) minmax(0, 1fr);
        gap: 24px;
        align-items: start;
        min-height: 131px;
        padding: 24px 9px 12px;
        border-block-end: 1px solid rgb(255 255 255 / 14%);
    }

    .company-history__year {
        font-family: var(--ff-en);
        font-size: clamp(26px, 1.82vw, 35px);
        font-weight: var(--fw-medium);
        line-height: 42px;
        letter-spacing: 0.033em;
        color: var(--c-blue);
    }

    .company-history__body {
        display: flex;
        flex-direction: column;
        gap: 12px;
        letter-spacing: 0.049em;
    }

    .company-history__title {
        font-size: clamp(20px, 1.35vw, 26px);
        font-weight: var(--fw-regular);
        line-height: 42px;
    }

    .company-history__text {
        font-size: 18px;
        line-height: 1.6;
        letter-spacing: 0.071em;
        font-weight: var(--fw-light);
    }
}

/* =============================================================
 * ブレイクポイント（1280px / 959px / 600px）
 * ========================================================== */
@media (width <=959px) {
    .company-intro {
        .company-intro__inner {
            grid-template-columns: minmax(0, 1fr);
            gap: 40px;
        }

        /* タブレットは 72px 固定（スマホは下の 600px 以下で画面幅基準に戻す） */
        .company-intro__copy {
            font-size: 72px;
            white-space: normal;
        }
    }
}

@media (width <=600px) {
    .company-intro {
        .company-intro__copy {
            font-size: clamp(52px, 5.89vw, 113px);
        }
    }

    .company-overview {
        .data-table__row {
            min-height: 0;
        }
    }

    .company-license {
        .data-table {
            grid-template-columns: minmax(0, 1fr);
        }

        .data-table__row {
            padding-block: 28px;
        }
    }

    .company-history-section {
        .company-history__item {
            grid-template-columns: minmax(0, 1fr);
            gap: 4px;
            min-height: 0;
        }

        .company-history__body {
            gap: 4px;
        }
    }
}