@charset "UTF-8";

.footer {
    margin-top: 0;
}

.map {
    aspect-ratio: 1 / 0.402;
}

/* ---------------------
屋号
--------------------- */

.sec-yago .sec-inner {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem 8%;
    margin: 4rem 0;
}

.sec-yago .sec-img {
    width: 40%;
    max-width: 266px;
}

.sec-yago .sec-text {
    width: 77%;
    font-size: .875rem;
    line-height: 200%;
    text-align: justify;
}

@media (min-width: 768px) {
    .sec-yago .sec-inner {
        flex-direction: unset;
    }

    .sec-yago .sec-img {
        width: 20%;
    }

    .sec-yago .sec-text {
        width: 72%;
    }
}

@media (min-width: 1024px) {
    .sec-yago .sec-inner {
        justify-content: flex-end;
    }

    .sec-yago .sec-text {
        width: 30%;
    }
}

@media (min-width: 1280px) {
    .sec-yago .sec-inner {
        align-items: flex-end;
    }

    .sec-yago .sec-text {
        margin: 0;
        padding: 0 3vw;
    }
}


/* ---------------------
メッセージ
--------------------- */

.sec-message .sec-inner {
    max-width: 561px;
    flex-direction: column;
    align-items: flex-end;
    gap: 1.5rem 0;
    margin: 2rem auto 6rem;
}

.sec-message .sec-inner .lead {
    width: 100%;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 200%;
    margin: 0;
}

.sec-message .sec-inner .comment {
    width: 100%;
    margin: 0;
    font-size: .875rem;
    line-height: 250%;
    text-align: justify;
}

.sec-message .sec-inner .sign {
    margin: 0;
    color: var(--c-blue);
    font-size: .875rem;
}

.sec-message .sec-inner .sign .name {
    display: inline-block;
    max-width: 165px;
    margin-top: .8rem;
}

@media (min-width: 1024px) {
    .sec-message .sec-inner {
        gap: 2rem 0;
        margin: 4rem auto 10rem;
    }
}

@media (min-width: 1280px) {
    .sec-message .sec-inner .lead {
        font-size: 1.75rem;
    }
}

/* ---------------------
経営理念
--------------------- */
.philosophy-grid-txt .subtitle {
    font-size: 1.875rem;
    font-weight: 500;
    letter-spacing: .05em;
    color: var(--c-blue);
    margin: 3rem 0 1rem;
}

.philosophy-grid-txt .lead {
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 280%;
    color: var(--c-blue);
    margin: 0 0 3rem;
}

.philosophy-grid-txt .comment {
    font-size: .875rem;
    line-height: 200%;
}

.philosophy-grid-img {
    aspect-ratio: 4 / 2.5;
    overflow: hidden;
    margin: 3rem 0;
}

.philosophy-grid-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shimei-lead {
    color: var(--c-blue);
    font-weight: 500;
    font-size: .875rem;
    letter-spacing: .05em;
    line-height: 250%;
}

.philosophy-grid-txt.shimei {
    padding-top: 4rem;
}

@media (min-width: 768px) {
    .philosophy-grid {
        gap: 0 5%;
        margin-bottom: 5rem;
    }

    .philosophy-grid-txt {
        width: 53%;
    }

    .philosophy-grid-img {
        width: 42%;
        aspect-ratio: unset;
        margin: 0;
    }

    .philosophy-grid-txt .page-sec-title {
        margin-top: 0;
    }
}

@media (min-width: 1280px) {
    .philosophy-grid {
        gap: 0 8%;
        margin-bottom: 5rem;
    }

    .philosophy-grid-txt {
        width: 50%;
    }

    .philosophy-grid-txt .subtitle {
        font-size: 2.625rem;
    }

    .philosophy-grid-txt .lead {
        font-size: 1.125rem;
    }

    .shimei-lead{
        font-size: 1.375rem;
    }
}

/* ---------------------
会社概要
--------------------- */

.sec-overview .sec-inner {
    gap: 1rem 8%;
    margin: 2rem 0 4rem;
}

dl.table-list {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

dl.table-list dt,
dl.table-list dd {
    margin: 0;
    padding: 1rem 0;
    border-bottom: solid 1px #D9D9D9;
    font-size: .875rem;
    line-height: 200%;
}

dl.table-list dt {
    width: 25%;
    padding-right: 1rem;
}

dl.table-list dd {
    width: 75%;
    padding-left: 1rem;
}

.sec-overview .text-right {
    font-size: .875rem;
}

@media (min-width: 1024px) {
    .sec-overview .sec-inner {
        margin: 4rem 0 10rem;
    }

    .sec-overview .company-data {
        width: 50%;
    }

    .sec-overview .company-img {
        width: 42%;
    }
}