@charset "UTF-8";

/* =========================================================
   ABOUT PAGE
   Mobile First
========================================================= */


/* =========================================================
   Initiatives
========================================================= */

.about-initiatives {
    padding: 72px 0 92px;
    background-color: var(--color-white);
}

.about-initiatives__inner,
.about-company__inner {
    width: min(
        100% - calc(var(--content-padding-sp) * 2),
        900px
    );
    margin-inline: auto;
}

.about-section-title {
    margin: 0;
    color: var(--color-primary);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
}

@media screen and (min-width: 768px) {

    .initiative-diagram {
        width: min(100%, 520px);
        margin: 50px auto 70px;
    }

}

@media screen and (min-width: 1024px) {

    .initiative-diagram {
        width: 640px;
        margin: 60px auto 90px;
    }

}
/* =========================================================
   Initiatives diagram
========================================================= */

.initiative-diagram {
    width: min(100%, 340px);
    margin: 36px auto 56px;
}

.initiative-diagram img {
    display: block;
    width: 100%;
    height: auto;
}

/* =========================================================
   Initiatives list
========================================================= */

.initiative-list {
    border-top: 1px solid var(--color-border);
}

.initiative-list__item {
    position: relative;
    padding: 22px 0 24px;
    border-bottom: 1px solid var(--color-border);
}

.initiative-list__item::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 74px;
    height: 1px;
    background-color: var(--color-primary);
}

.initiative-list__title {
    margin: 0 0 14px;
    color: var(--color-black);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
}

.initiative-list__text {
    margin: 0;
    font-size: 13px;
    line-height: 1.9;
}


/* =========================================================
   Company
========================================================= */

.about-company {
    padding: 36px 0 120px;
    background-color: var(--color-white);
}

.company-list {
    margin-top: 28px;
    border-top: 1px solid var(--color-border);
}

.company-list__row {
    position: relative;
    padding: 22px 0 24px;
    border-bottom: 1px solid var(--color-border);
}

.company-list__row::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 74px;
    height: 1px;
    background-color: var(--color-primary);
}

.company-list__term {
    color: var(--color-black);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
}

.company-list__description {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.9;
}


/* =========================================================
   Tablet
========================================================= */

@media screen and (min-width: 768px) {

    .about-initiatives {
        padding-top: 110px;
        padding-bottom: 120px;
    }

    .about-initiatives__inner,
    .about-company__inner {
        width: min(
            100% - calc(var(--content-padding-pc) * 2),
            980px
        );
    }

    .about-section-title {
        font-size: 26px;
    }

    .initiative-diagram {
        width: min(100%, 480px);
        margin-top: 48px;
        margin-bottom: 76px;
    }

    .initiative-diagram__item {
        font-size: 15px;
    }

    .initiative-diagram__center {
        border-width: 16px;
    }

    .initiative-diagram__name {
        font-size: 38px;
    }

    .initiative-diagram__en {
        font-size: 14px;
    }

    .initiative-list__item {
        display: grid;
        grid-template-columns: 180px minmax(0, 1fr);
        column-gap: 40px;
        align-items: start;
        padding: 28px 0 30px;
    }

    .initiative-list__item::before,
    .company-list__row::before {
        width: 130px;
    }

    .initiative-list__title {
        margin-bottom: 0;
        font-size: 17px;
    }

    .initiative-list__text {
        font-size: 14px;
    }

    .about-company {
        padding-top: 58px;
        padding-bottom: 150px;
    }

    .company-list {
        margin-top: 38px;
    }

    .company-list__row {
        display: grid;
        grid-template-columns: 180px minmax(0, 1fr);
        column-gap: 40px;
        padding: 30px 0 32px;
    }

    .company-list__term {
        font-size: 16px;
    }

    .company-list__description {
        margin-top: 0;
        font-size: 14px;
    }
}


/* =========================================================
   PC
========================================================= */

@media screen and (min-width: 1024px) {

    .about-initiatives {
        padding-top: 145px;
        padding-bottom: 150px;
    }

    .about-initiatives__inner,
    .about-company__inner {
        width: min(calc(100% - 160px), 700px);
    }

    .about-section-title {
        font-size: 28px;
    }

    .initiative-diagram {
        width: 540px;
        margin-top: 56px;
        margin-bottom: 96px;
    }

    .initiative-diagram__item {
        font-size: 18px;
    }

    .initiative-diagram__center {
        border-width: 18px;
    }

    .initiative-diagram__name {
        font-size: 42px;
    }

    .initiative-diagram__en {
        font-size: 16px;
    }

    .initiative-list__item {
        grid-template-columns: 260px minmax(0, 1fr);
        column-gap: 70px;
        padding: 34px 0 36px;
    }

    .initiative-list__item::before,
    .company-list__row::before {
        width: 170px;
    }

    .initiative-list__title {
        font-size: 18px;
    }

    .initiative-list__text {
        font-size: 14px;
    }

    .about-company {
        padding-top: 80px;
        padding-bottom: 180px;
    }

    .company-list {
        margin-top: 46px;
    }

    .company-list__row {
        grid-template-columns: 260px minmax(0, 1fr);
        column-gap: 70px;
        padding: 36px 0 38px;
    }

    .company-list__term {
        font-size: 18px;
    }

    .company-list__description {
        font-size: 15px;
    }
}