/* ---------------------------- */
/* ---------- 会社概要 ---------- */
/* ----------------------------- */
#company-info { padding: 90px 0px; background: var(--white);}
#company-info .title{ font-size: var(--font-semi-larger); margin-bottom: 15px;}
#company-info table { 
    width: 100%; border-collapse: collapse; 
}

#company-info .table-section{ margin-bottom: 90px; }

#company-info .group-office-location table{
    margin-bottom: 30px;
}

#company-info table,
#company-info th,
#company-info td{
    border: 1px solid var(--border-color);
    border-collapse: collapse;
    box-sizing: border-box;
} 

#company-info th, #company-info td {
    padding: 25px;
    text-align: left;
}

#company-info th { background: var(--pale-red); width: 30%; }

#company-info .partner-name{
    display: flex;
}

#company-info .partner-name div:not(:last-child){width: 40%;}

#company-info .partner-name div:last-child{
    width: 20%;
    display:flex;
    align-items: flex-end;
    justify-content: center;
}

#company-info .address-info-wrapper .address{
    margin-bottom: 10px;
}

#company-info .address-info-wrapper,
.info-btn-wrapper{
    display: flex;
}

.address-info-wrapper{
    gap: 30px;
}
.info-btn-wrapper{
    gap: 15px;
    align-items: center;
}

.address-info, .info-btn-wrapper{
    width: calc((100% - 30px) / 2);
}

#company-info .info-btn{
    display: flex;
    align-items: center;
    justify-content: center;

    background-color: var(--base-red);
    border-radius: 10px;
    padding: 30px 0;
    width: calc((100% - 15px) / 3);

    height: fit-content;

    color: var(--white);
    font-weight: bold;
    text-decoration: none;
}

#company-info .info-btn a{
    color: var(--white);
    font-weight: bold;
    text-decoration: none;
    height: fit-content;
}

#company-info .license-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

#company-info .license-table .company { width: 30%; }
#company-info .license-table .label   { width: 20%; background: var(--ex-pale-red);}
#company-info .license-table .value   { width: 50%; }

#company-info .vehicle-table th:nth-child(2),
#company-info .vehicle-table th:nth-child(3),
#company-info .vehicle-table th:nth-child(4),
#company-info .vehicle-table th:nth-child(5),
#company-info .vehicle-table th:nth-child(6){
    width: calc(70% / 5);
    text-align: center;
}

#company-info .vehicle-table td:nth-child(2),
#company-info .vehicle-table td:nth-child(3),
#company-info .vehicle-table td:nth-child(4),
#company-info .vehicle-table td:nth-child(5),
#company-info .vehicle-table td:nth-child(6){
    text-align: center;
}

.ex-pale-red{background: var(--ex-pale-red);}


/*沿革*/
#company-info .history-wrapper{
    width: 100%;
    display: flex;
}

#company-info .history-wrapper table th,
#company-info .history-wrapper table td{
    padding: 0;
    padding-bottom: 15px;
}


#company-info .history-wrapper table{
    width: calc((100% - 30px) * 0.65);
    margin-right: 30px;
}

#company-info .history-wrapper table,
#company-info .history-wrapper table th,
#company-info .history-wrapper table td{
    border: none;
    background: none;
    color: black;
    vertical-align: top;
}

#company-info .history-wrapper table th{
    width: fit-content;
    padding-right: 30px;
    white-space: nowrap;
}

#company-info .history-wrapper .history-img-wrapper{
    width: calc((100% - 30px) * 0.35);
    overflow: hidden;
}

#company-info .history-wrapper .history-img-wrapper .history-img{
    width: 100%;
    height: calc((100% - 15px) / 2);
}

#company-info .history-wrapper .history-img-wrapper .history-img img{
    width: 100%;
    object-fit: cover;
}


/* =========================
   タブレット（～999px）
========================= */
@media (max-width: 999px){
    #company-info th, #company-info td {
        padding: 20px;
    }

    #company-info .history-wrapper{
        display: block;
    }

    #company-info .history-wrapper table{
        width: 100%;
        margin-bottom: 30px;
    }

    #company-info .history-wrapper .history-img-wrapper{
        display: flex;
        gap: 30px;
        width: 100%;
    }

    #company-info .history-wrapper .history-img-wrapper .history-img{
        width: calc((100% - 30px) / 2);
        aspect-ratio: 4/3;
    }

    #company-info .history-wrapper .history-img-wrapper .history-img img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #company-info th { width: 25%; }

    #company-info .address-info-wrapper{ display: block; }
    #company-info .address-info{ width: 100%; margin-bottom: 15px; }
    #company-info .info-btn-wrapper{ width: 100%; }
    #company-info .info-btn {padding: 5px 0;}

    #company-info .vehicle-table th:nth-child(2),
    #company-info .vehicle-table th:nth-child(3),
    #company-info .vehicle-table th:nth-child(4),
    #company-info .vehicle-table th:nth-child(5),
    #company-info .vehicle-table th:nth-child(6){
        width: calc(75% / 5);
        text-align: center;
    }

    #company-info .history-wrapper table th { width: 25%; padding: 0 20px 15px 20px;}
    #company-info .history-wrapper table td { width: 75%; padding: 0 20px 15px 20px;}
    #company-info .vehicle-table{min-width: auto;}

    #company-info .license-table .company { width: 25%; }
    #company-info .license-table .label   { width: 15%; }
    #company-info .license-table .value   { width: 60%; }
}

/* =========================
    〜992px
========================= */
@media (max-width: 992px) {
    #company-info .license-table{
        min-width: auto;
    }
}

@media (max-width: 965px) {
    #company-info table th, #company-info table td{font-size: var(--font-semi-normal);}
}

/* =========================
スマホ（～768px）
========================= */
@media (max-width: 768px) {
    /* ----------- 会社概要 ----------- */
    #company-info .section-title {margin-bottom: 30px;}
    #company-info .license-table {min-width: auto;}
    #company-info .vehicle-table {min-width: auto;}
}

@media (max-width: 480px) {
    #company-info .registration-information tr,
    #company-info .head-office-location tr,
    #company-info .group-office-location tr{
        display: flex;
        flex-direction: column;
    }

    #company-info .registration-information th,
    #company-info .head-office-location th,
    #company-info .group-office-location th{
        width: 100%;
        text-align: center;
    }

    #company-info .table-section{
        margin-bottom: 60px;
        overflow-x: auto;
    }

    #company-info .license-table{
        min-width: 800px;
    }

    #company-info .vehicle-table{
        min-width: 800px;
    } 

    #company-info th, 
    #company-info td{
        padding: 12px;
    }

    .address-info-wrapper{
        flex-direction: column;
        gap: 16px;
    }

    .address-info, .info-btn-wrapper{
        width: 100%;
    }

    .info-btn-wrapper{
        display: flex;
        gap: 15px;
    }

    #company-info .info-btn{
        padding: 16px 0;
        width: calc((100% - 30px) / 3);
        border-radius: 8px;
    }

    #company-info .partner-name div:not(:last-child){width: 42%;}

    #company-info .partner-name div:last-child{
        width: 16%;
        display:flex;
        align-items: flex-end;
        justify-content: center;
    }
}