@charset "UTF-8";





/* philosophy */

#company-philosophy {
    padding-top: calc(var(--base-size) * 84);
}

.company-philosophy-title {
    font-size: calc(var(--base-size) * 24);
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.1em;
    color: var(--color-accent);
}
.company-philosophy-description {
    font-size: calc(var(--base-size) * 16);
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.05em;
    margin-top: calc(var(--base-size) * 14);
}

.company-philosophy__content {
    display: flex;
    flex-direction: column;
    gap: calc(var(--base-size) * 25);
    margin-top: calc(var(--base-size) * 40);
}
.company-philosophy__content-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: calc(var(--base-size) * 10);
}
.company-philosophy__content-item-title {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(var(--base-size) * 7);
    padding: 0 calc(var(--base-size) * 84);
    min-height: calc(var(--base-size) * 46);
    background-color: var(--color-primary);
    color: #fff;
    font-family: var(--font-family-en);
    font-size: calc(var(--base-size) * 24);
    font-weight: 900;
    letter-spacing: 0.1em;
}
.company-philosophy__content-item-title-icon {
    width: calc(var(--base-size) * 46);
    height: calc(var(--base-size) * 46);
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--base-size) * 56);
    margin: auto 0;
}
.company-philosophy__content-item-title-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.company-philosophy__content-item-description {
    font-size: calc(var(--base-size) * 15);
    text-align: center;
}

@media (min-width: 768px)
{
    #company-philosophy {
        padding-top: calc(var(--base-size) * 120);
    }

    .company-philosophy-title {
        font-size: calc(var(--base-size) * 50);
        letter-spacing: 0.1em;
    }
    .company-philosophy-description {
        font-size: calc(var(--base-size) * 24);
        letter-spacing: 0.05em;
        margin-top: calc(var(--base-size) * 30);
    }

    .company-philosophy__content {
        flex-direction: row;
        gap: calc(var(--base-size) * 20);
        margin-top: calc(var(--base-size) * 100);
    }
    .company-philosophy__content-item {
        flex-basis: calc(100% / 3);
        gap: calc(var(--base-size) * 30);
    }
    .company-philosophy__content-item-title {
        border-radius: calc(var(--base-size) * 7);
        padding: 0 calc(var(--base-size) * 84);
        min-height: calc(var(--base-size) * 66);
        font-family: var(--font-family-en);
        font-size: calc(var(--base-size) * 32);
        letter-spacing: 0.1em;
    }
    .company-philosophy__content-item-title-icon {
        width: calc(var(--base-size) * 64);
        height: calc(var(--base-size) * 64);
        left: calc(var(--base-size) * 10);
    }
    .company-philosophy__content-item-title-icon-img {
        object-position: left center;
    }
    .company-philosophy__content-item-description {
        font-size: calc(var(--base-size) * 18);
    }
}





/* info */

#company-info {
    background-color: var(--color-secondary);
}

.company-info__table {
    width: 100%;
    border-collapse: collapse;
}
.section__title+.company-info__table {
    margin-top: calc(var(--base-size) * 47);
}
.company-info__table th,
.company-info__table td {
    font-size: calc(var(--base-size) * 16);
    line-height: 1.3125;
    padding: calc(var(--base-size) * 18) 0;
    border-bottom: 1px solid var(--base-font-color);
    vertical-align: middle;
}
.company-info__table tr:first-of-type th,
.company-info__table tr:first-of-type td {
    padding-top: 0;
}
.company-info__table th {
    white-space: nowrap;
    width: 0;
}
.company-info__table td {
    padding-left: calc(var(--base-size) * 22);
}
.company-info__table .company-info__table-td--small {
    font-size: calc(var(--base-size) * 15);
}

.company-info__access {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: calc(var(--base-size) * 40);
    margin-top: calc(var(--base-size) * 60);
}
.company-info__access-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: calc(var(--base-size) * 20);
}
.company-info__access-item-title {
    font-size: calc(var(--base-size) * 20);
    font-weight: 500;
    color: var(--color-accent);
}
.company-info__access-item-map {
    position: relative;
    width: 100%;
    aspect-ratio: 480 / 296;
    background-color: #fff;
}
.company-info__access-item-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.company-info__access-item-description {
    font-size: calc(var(--base-size) * 14);
}

.company-info__notes {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-top: calc(var(--base-size) * 48);
}
.company-info__notes-title {
    display: grid;
    place-items: center;
    height: calc(var(--base-size) * 44);
    font-size: calc(var(--base-size) * 16);
    font-weight: 500;
    background-color: var(--color-accent);
    color: #fff;
}
.company-info__notes-list {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    padding: calc(var(--base-size) * 12) calc(var(--base-size) * 16);
    background-color: #fff;
    font-size: calc(var(--base-size) * 14);
}

@media (min-width: 768px)
{
    .section__title+.company-info__table {
        margin-top: calc(var(--base-size) * 80);
    }
    .company-info__table th,
    .company-info__table td {
        font-size: calc(var(--base-size) * 19);
        line-height: 1.5;
        padding: calc(var(--base-size) * 30) 0;
        border-bottom-width: 1px;
    }
    .company-info__table td {
        padding-left: calc(var(--base-size) * 88);
    }
    .company-info__table .company-info__table-td--small {
        font-size: calc(var(--base-size) * 19);
    }

    .company-info__access {
        flex-direction: row;
        justify-content: center;
        gap: calc(var(--base-size) * 40);
        margin-top: calc(var(--base-size) * 80);
    }
    .company-info__access-item {
        flex-basis: calc(100% / 2);
        gap: calc(var(--base-size) * 20);
    }
    .company-info__access-item-title {
        font-size: calc(var(--base-size) * 27);
    }
    .company-info__access-item-description {
        font-size: calc(var(--base-size) * 17);
    }

    .company-info__notes {
        flex-direction: row;
        margin-top: calc(var(--base-size) * 80);
    }
    .company-info__notes-title {
        flex-shrink: 0;
        flex-basis: 29%;
        height: auto;
        font-size: calc(var(--base-size) * 19);
    }
    .company-info__notes-list {
        flex-grow: 2;
        flex-basis: 71%;
        gap: 0.5em;
        padding: calc(var(--base-size) * 32);
        font-size: calc(var(--base-size) * 17);
    }
}





/* sustainability */

.company-sustainability__title {
    width: 100%;
    margin: 0 auto;
}
.company-sustainability__title-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.company-sustainability__content {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--base-size) * 20);
    margin-top: calc(var(--base-size) * 40);
}
.company-sustainability__content-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: stretch;
    padding: calc(var(--base-size) * 24) calc(var(--base-size) * 32);
    border: solid max(calc(var(--base-size) * 2), 1px) #0089D2;
    border-radius: calc(var(--base-size) * 10);
    background-color: #fff;
}
.company-sustainability__content-item-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: calc(var(--base-size) * 6);
}
.company-sustainability__content-item-title-ja {
    font-size: calc(var(--base-size) * 24);
    line-height: 1.2;
    font-weight: 700;
    color: #0089D2;
}
.company-sustainability__content-item-title-en {
    font-size: calc(var(--base-size) * 12);
    font-weight: 500;
    color: #A0A0A0;
}
.company-sustainability__content-item-description {
    flex-grow: 2;
    font-size: calc(var(--base-size) * 15);
    line-height: 1.75;
    text-align: center;
    margin-top: calc(var(--base-size) * 18);
}
.company-sustainability__content-item-matching {
    display: flex;
    justify-content: center;
    gap: calc(var(--base-size) * 12);
    margin-top: calc(var(--base-size) * 32);
}
.company-sustainability__content-item-matching-item {
    flex-basis: calc(var(--base-size) * 78);
    aspect-ratio: 1 / 1;
}
.company-sustainability__content-item-matching-item-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.company-sustainability__notes {
    font-size: calc(var(--base-size) * 16);
    line-height: 1.625;
    text-align: center;
    margin-top: calc(var(--base-size) * 40);
}

@media (min-width: 768px)
{
    .company-sustainability__title {
        width: calc(var(--base-size) * 500);
    }
    .company-sustainability__title-img {
        object-position: left center;
    }

    .company-sustainability__content {
        grid-template-columns: repeat(3, 1fr);
        gap: calc(var(--base-size) * 20);
        margin-top: calc(var(--base-size) * 60);
    }
    .company-sustainability__content-item {
        padding: calc(var(--base-size) * 36) calc(var(--base-size) * 24);
        border-width: max(calc(var(--base-size) * 2), 1px);
        border-radius: calc(var(--base-size) * 10);
    }
    .company-sustainability__content-item-title {
        gap: calc(var(--base-size) * 6);
        margin-top: 0;
    }
    .company-sustainability__content-item-title-ja {
        font-size: calc(var(--base-size) * 41);
        line-height: 1.2;
    }
    .company-sustainability__content-item-title-en {
        font-size: calc(var(--base-size) * 18);
    }
    .company-sustainability__content-item-description {
        flex-grow: 2;
        font-size: calc(var(--base-size) * 16);
        line-height: 1.5;
        margin-top: calc(var(--base-size) * 20);
    }
    .company-sustainability__content-item-matching {
        gap: calc(var(--base-size) * 12);
        margin-top: calc(var(--base-size) * 32);
    }
    .company-sustainability__content-item-matching-item {
        flex-basis: calc(var(--base-size) * 80);
    }
    .company-sustainability__notes {
        font-size: calc(var(--base-size) * 17);
        line-height: calc(var(--base-size) * 27);
        margin-top: calc(var(--base-size) * 60);
    }
}





/* patent */

#company-patent {
    background-color: var(--color-secondary);
    margin-bottom: calc(var(--base-size) * 120);
}

.company-patent__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--base-size) * 40);
}
.company-patent__title {
    font-size: calc(var(--base-size) * 19);
}
.company-patent__table-container {
    width: 100%;
}
.company-patent__table {
    width: 100%;
    border-collapse: collapse;
}
.company-patent__table th,
.company-patent__table td {
    font-size: calc(var(--base-size) * 15);
    padding: calc(var(--base-size) * 15) 0;
    border-bottom: 1px solid #707070;
    vertical-align: middle;
}
.company-patent__table th {
    white-space: nowrap;
    width: 0;
}
.company-patent__table td {
    padding-left: calc(var(--base-size) * 40);
}
.company-patent__table tr:first-of-type th,
.company-patent__table tr:first-of-type td {
    padding-top: 0;
}
.company-patent__table tr:last-of-type th,
.company-patent__table tr:last-of-type td {
    padding-bottom: 0;
    border-bottom: none;
}

@media (min-width: 768px)
{
    #company-patent {
        margin-bottom: calc(var(--base-size) * 200);
    }

    .company-patent__content {
        flex-direction: row;
        justify-content: center;
        gap: calc(var(--base-size) * 80);
    }
    .company-patent__title {
        font-size: calc(var(--base-size) * 19);
    }

    .company-patent__table-container {
        width: auto;
        min-width: calc(var(--base-size) * 415);
    }
    .company-patent__table th,
    .company-patent__table td {
        font-size: calc(var(--base-size) * 19);
        padding: calc(var(--base-size) * 10) 0;
        border-bottom-width: 1px;
    }
    .company-patent__table td {
        padding-left: calc(var(--base-size) * 24);
    }
}





/* 背景ペイント1 */

.section__bg-img.--sbg-01 {
    top: calc(var(--base-size) * 20);
}
.section__bg-img.--sbg-02 {
    top: calc(var(--base-size) * 652);
}

@media (min-width: 768px)
{
    .section__bg-img.--sbg-01 {
        top: calc(var(--base-size) * 78);
    }
    .section__bg-img.--sbg-02 {
        top: calc(var(--base-size) * 480);
    }
}



/* 背景ペイント2 */

.section__bg-img.--sbg-03 {
    top: calc(var(--base-size) * 1510);
    transform: rotate(150deg);
}
.section__bg-img.--sbg-04 {
    top: calc(var(--base-size) * 24);
}

@media (max-width: 767px)
{
    .section__bg-img.--sbg-03 {
        left: calc(var(--base-size) * -56);
    }
}

@media (min-width: 768px)
{
    .section__bg-img.--sbg-03 {
        top: calc(var(--base-size) * 102);
        left: calc(var(--base-size) * -2);
    }
    .section__bg-img.--sbg-04 {
        top: calc(var(--base-size) * 680);
        right: calc(var(--base-size) * -44);
        transform: rotate(210deg);
    }
}



/* 背景ペイント3 */

.section__bg-img.--sbg-05 {
    top: auto;
    bottom: calc(var(--base-size) * 536);
}
.section__bg-img.--sbg-06 {
    top: auto;
    bottom: calc(var(--base-size) * 0);
    transform: rotate(180deg);
}

@media (max-width: 767px)
{
    .section__bg-img.--sbg-06 {
        right: calc(var(--base-size) * -50);
    }
}

@media (min-width: 768px)
{
    .section__bg-img.--sbg-05 {
        bottom: calc(var(--base-size) * 360);
    }
    .section__bg-img.--sbg-06 {
        bottom: calc(var(--base-size) * 0);
    }
}
