.about-intro {
    display: flex;
    align-items: center;
    column-gap: calc(116 / 1440 * 100%);
}

.about-intro__image {
    flex: 0 0 calc(760 / 1440 * 100%);
}

.about-intro__image img {
    width: 100%;
}

.about-intro__txt {
    padding-right: 5vw;
}

.about-intro__lead {
    font-weight: 700;
    font-size: max(20px, 3rem);
}

.about-intro p+p {
    margin-top: 1em;
}

@media screen and (max-width: 640px) {
    .about-intro {
        flex-direction: column;
        row-gap: 2em;
    }

    .about-intro__image {
        padding-right: 5vw;
    }

    .about-intro__txt {
        padding-inline: 5vw;
    }
}

/* ------------------------------------- */

.products-inner {
    display: flex;
    column-gap: 6rem;
}

.products-organization {
    display: flex;
    align-items: center;
    column-gap: 2em;
}

.products-organization {
    font-weight: 500;
    font-size: max(15px, 2rem);
}

.products-organization dt {
    border: 1px solid var(--white);
    padding: .3em 1.5em;
    white-space: nowrap;
}

.products-list {
    margin-top: 4.8rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4.8rem;
}

.products-list__item {
    flex: 0 0 calc(326 / 1080 * 100%);
}

.products-list__name {
    margin-top: .8em;
    font-weight: 700;
    font-size: max(15px, 1.8rem);
}

.products-other {
    margin-top: 4.8rem;
    display: flex;
    align-items: center;
    padding: 3.6rem 4.8rem;
    gap: 3.6rem;
}

.products-other dt {
    font-weight: 500;
    font-size: max(16px, 2rem);
    white-space: nowrap;
}

@media screen and (max-width: 640px) {
    .products-inner {
        flex-direction: column;
        row-gap: 2em;
    }

    .products-organization {
        flex-direction: column;
        row-gap: 1em;
        align-items: flex-start;
    }

    .products-list {
        gap: 1.2em;
    }

    .products-list__item {
        flex: 0 0 calc(50% - .6em);
    }

    .products-other {
        flex-direction: column;
        row-gap: 1em;
    }
}

/* ------------------------------------- */

.service-inner {
    width: min(90vw, 1200px);
    margin-inline: auto;
}

.service .section-title {
    justify-content: center;
}

.follow__inner {
    margin-top: 4rem;
    padding: 6rem;
    width: min(90vw, 1200px);
    margin-inline: auto;
}

.follow__title {
    text-align: center;
    font-weight: 500;
    font-size: max(18px, 2.6rem);
    line-height: 1.5;
}

.follow__title-num {
    color: var(--blue);
    font-family: var(--font-en);
    font-weight: 700;
    font-size: max(36px, 7.2rem);
}

.follow-list {
    counter-reset: number 0;
    display: flex;
    justify-content: center;
    gap: 1.2em;
    flex-wrap: wrap;
    margin-top: 1.2em;
}

.follow-list__item {
    min-width: 25.6rem;
    text-align: center;
    padding: 1.5em;
}

.follow-list__item::before {
    counter-increment: number 1;
    content: 'follow ' counter(number, decimal-leading-zero);
    text-transform: uppercase;
    font-family: var(--font-en);
    font-weight: 500;
    font-size: 12px;
    display: block;
}

.follow-list__title {
    font-weight: 700;
    font-size: max(17px, 2rem);
}

.follow__inner .arrow-link-wrap {
    justify-content: center;
    margin-top: 5.6rem;
}

@media screen and (max-width: 1024px) {

    .follow-list__item {
        flex: 0 0 calc(50% - 1em);
    }
}

@media screen and (max-width: 640px) {
    .follow__inner {
        padding-inline: 5vw;
    }

    .follow-list__item {
        flex: 0 0 100%;
        display: flex;
        align-items: center;
        gap: 1em;
        padding-block: 1em;
    }
}

/* ------------------------------------- */

.original .section-title {
    text-align: center;
    justify-content: center;
}

.original-title__logo {
    margin-top: 8rem;
    text-align: center;
}
.original-title {
    margin-top: 3rem;
    text-align: center;
    font-weight: 700;
    font-size: max(17px, 2rem);
    line-height: 1.8;
}
.athlect {
    margin-top: 4.8rem;
    display: flex;
    justify-content: space-between;
    column-gap: 4.8rem;
}
.athlect__image {
    flex: 0 0 calc(613 / 1200 * 100%);
}
.athlect__lead {
    font-weight: 700;
    font-size: max(20px, 3rem);
    margin-bottom: .6em;
}
.athlect .arrow-link-wrap {
    justify-content: flex-end;
    margin-top: 4.8rem;
}
@media screen and (max-width: 640px) {
.original-title__logo img {
    width: 150px;
}
    .athlect {
        flex-direction: column;
        row-gap: 2em;
    }
}

/* ------------------------------------- */