/* 会社概要 */

.table-contents {
    margin: 0 0 30px;
}

.table-contents table {
    table-layout: fixed;
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
}

.table-contents table tr th {
    text-align: left;
    white-space: normal;
    padding: 20px 0;
    border-top: 2px solid #58595B;
    color: #333333;
    vertical-align: top;
    width: 25%;
    box-sizing: border-box;
    line-height: 1.4;
}

.table-contents table tr th.last-th {
    border-bottom: 2px solid #58595B;
}

.table-contents table tr td {
    padding: 20px 0;
    border-top: 2px solid #E2E2E2;
    color: #333333;
    word-break: break-word;
    box-sizing: border-box;
    line-height: 1.5;
}

.table-contents table tr td.last-td {
    border-bottom: 2px solid #E2E2E2;
}

.group-list {
    margin: 20px 0 60px;
    padding: 0 10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 20px;
    row-gap: 40px;
}

.group-list a.group-card {
    color: #333333;
}

.group-list a.group-card:hover {
    text-decoration: none;
}

.group-list .group-card .group-card__img {
    transition: .3s;
}

.group-list .group-card .group-card__img img {
    aspect-ratio: 365 / 256;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 16px;
    border: 1px solid #E2E2E2;
}

.group-list .group-card .group-card__title {
    margin-top: 16px;
    font-weight: 900;
    line-height: 1.5;
    transition: .3s;
}

.group-list .group-card .group-card__text {
    margin-top: 10px;
    line-height: 1.5;
    transition: .3s;
}

.access-map {
    max-width: 560px;
    margin: 20px auto 60px;
}

.access-map iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 853 / 482;
    border-radius: 16px;
    filter: drop-shadow(0 4px 24px rgba(0, 0, 0, .07));
}

.s-banner .s-banner__list {
    margin: 20px 0 30px;
    padding: 0 10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    max-width: 620px;
    margin: 0 auto;
}

.s-banner .s-banner__list .s-banner__item a {
    display: block;
    background-color: #FFFFFF;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .15));
}

.s-banner .s-banner__list .s-banner__item img {
    width: 100%;
    height: 100%;
    aspect-ratio: 330 / 97;
    object-fit: contain;
}

.month_text {
    display: block;
    text-indent: 0.5em;
}

.three_text_indent {
    display: block;
    text-indent: 3em;
}

.company_btn {
    width: 100%;
    max-width: 350px;
    margin: 60px auto 40px;
}

/* PC */
@media not all and (max-width: 950px) {
    .anchor-link-box {
        border: 1px solid #DDDDDD;
        padding: 14px 20px;
        margin-bottom: 20px;
    }

    .anchor-link {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .anchor-link__headline {
        margin-bottom: 10px;
    }

    .anchor-link__headline:nth-last-child(-n+2) {
        margin-bottom: 0px;
    }

    .anchor-link__headline a {
        padding-left: 14px;
        color: #333333;
        background: url("/resources/a/pc/common/images/bg_arrow_down_orange.png?date=250702") 0 no-repeat;
        font-weight: 700;
    }

    .table-contents table tr td {
        padding-left: 20px;
    }

    .s-banner {
        margin-top: 30px;
    }
}

/* SP */
@media screen and (max-width: 950px) {
    .anchor-link {
        border: solid #DDDDDD;
        border-width: 0 0 0 1px;
        overflow: hidden;
    }

    .anchor-link__headline a {
        border: #DDDDDD solid;
        border-width: 0 1px 1px 0;
        background-color: #FFFFFF;
        color: #333333;
        display: block;
        overflow: hidden;
        padding: 12px 5px 12px 10px;
        word-wrap: normal;
        word-break: keep-all;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .anchor-link .anchor-link__headline a:before {
        background: url("/resources/a/sp/common/images/bg_arrow_down_orange.png?date=250702") no-repeat;
        background-size: 10px 10px;
        display: inline-block;
        width: 10px;
        height: 10px;
        content: " ";
        margin-right: 5px;
        background-position: 0 0;
    }

    .anchor-link__headline:first-child a {
        border-width: 1px 1px 1px 0;
    }

    .table-contents table tr th,
    .table-contents table tr td {
        display: block;
        width: 100%;
    }

    .table-contents table tr th.last-th {
        border-bottom: none;
    }

    .group-list {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .group-list .group-list__item {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 20px;
    }

    .access-map {
        margin: 20px auto 40px;
    }

    .access-map iframe {
        border-radius: 0;
    }

    .s-banner .s-banner__list {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .s-banner .s-banner__list .s-banner__item {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
    }

    .company_btn {
        margin: 20px auto 40px;
    }
}
