body {
    font-family: "Roboto", sans-serif;
    background-color: #431C00;
    color: #fff;
    line-height: 1.7;
}
small {
    font-size: 0.8em;
}
/* companyページ *//* companyページ *//* companyページ *//* companyページ *//* companyページ */
/* companyページ *//* companyページ *//* companyページ *//* companyページ *//* companyページ */
.swiper-container_cp01 {
    position: relative; /* 固定のため */
    overflow: hidden; /* 子要素のスクロール領域以外を隠す */
    height: 100vh; /* 必要に応じて高さを設定 */
    width: 100%;
}
.company-outer_content { 
    position: absolute; /* スクロール可能にするための設定 */
    overflow-y: auto; /* 縦方向にスクロール可能にする */
    width: 100%;               /* 幅を指定 */
    margin: 0 auto;           /* 通常の中央寄せ */
    height: 100%; /* 親要素に収まる高さ */
    z-index: 10;
    scrollbar-width: none;
}
.company-outer_flex {
    display: flex;
    height: 100%;
}
.company-inn_cont {
    position: relative;
    width: calc( 100% - 150px );
    margin: auto 0 auto auto;
    padding: 100px 140px 60px 140px;
    box-sizing: border-box;
	overflow: hidden;
}
.company-inn_cont h2 {
    color: #1a1a1a;
    font-size: 36px;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    padding: 20px;
}
.company-inn_flex {
    display: flex;
    justify-content: center;
    gap: 10px;
    width: 100%;
    max-width: 1560px;
    margin: auto;
    padding: 10px;
    box-sizing: border-box;
    margin-left: 0px;
}
.company-inn_info {
    width: 100%;
    max-width: 640px;
    color: #1a1a1a;
    padding: 40px 20px 40px;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.5); 
    display: flex;
    align-items: center;
}
.company-inn_map {
    width: 100%;
    max-width: 640px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.company_table {
    padding: 20px;
}
.company_table tr {
    border-bottom: 0.5px solid #ccc;
}
.company_table tr:nth-last-child(1) {
    border-bottom: none;
}
.company_table td {
    padding: 24px 10px 10px;
    font-size: 14px;
}
.company_table th {
    margin-left: 20px;
    padding: 24px 10px 10px 10px;
    text-align: left;
}
.td-style:nth-child(2)  {
    margin-top: 16px;
}
.td-mark{
    font-size: 1.1em;
    line-height: 110%;
}
.map-access {
    display: none;
}
.map-wrapper {
    width: 100%;
    height: 290px;
}
@media screen and (max-width: 1700px) {
    .company-inn_cont {
        padding: 100px 40px 60px 40px;
    }
    .company-inn_flex {
        max-width: 1200px;
        margin: auto;
        padding: 10px;
    }
    .company-inn_map {
        width: 100%;
        max-width: 420px;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
}
@media screen and (max-width: 1200px) {/* 中身が約960 */
    .company-inn_flex {
        flex-direction: column;
        background-color: rgba(255, 255, 255, 0.65); 
    }
    .company-inn_info {
        background-color: rgba(255, 255, 255, 0); 
    }
    .company-inn_flex {
        max-width: 640px;
        margin: auto;
    }
    .company-inn_map {
        max-width: 640px;
        gap: 0;
        padding: 10px;
        padding-bottom: 40px;
        box-sizing: border-box;
    }
    .map-wrapper {
        width: 100%;
        height: 100%;
        aspect-ratio: 5 / 3;
        padding: 0 20px 20px;
        box-sizing: border-box;
    }
    .map-access {
        display: block;
        color: #1a1a1a;
        font-size: 16px;
        padding: 24px 0 6px;
        padding-left: 10px;
        width: 100%;
        text-align: left;
        box-sizing: border-box;
    }
    .map-access:nth-child(1) {
        padding-top: 0;
    }
}
@media screen and (max-width: 768px) {
    .company-inn_cont h2 {
        padding: 30px 8px 10px;
    }
    .company_table {
        line-height: 120%;
    }
    .td-mark {
        margin-top: 6px;
    }
    .company-inn_cont {
        width: 100%;
        max-width: 500px;
        padding: 10px;
        margin: 50px auto;
        box-sizing: border-box;
    }
    .company-inn_info {
        padding: 20px 10px;
    }
    .company-inn_flex {
        justify-content: center;
        align-items: center;
        padding-top: 30px;
    }
    .company_table {
        width: 100%;
    }
    .td-style:nth-child(2)  {
        margin-top: 24px;
    }
    .td-style {
        margin-top: 10px;
    }
    .company_table,
    .company_table tr,
    .company_table td,
    .company_table th {
        display: flex;
        flex-direction: column;
    }
    .company_table th {
        width:auto;
        font-weight: 500;
        padding: 14px 10px 0;
        margin-left: 0;
    }
    .company_table td {
        font-weight: 300;
        font-size: 14px;
        line-height: 160%;
        padding: 0 0 14px 20px;
    }
    .company_table {
        padding: 0;
    }
    .company-inn_map {
        display: flex;
        flex-direction: column;
        max-width: 1000px;
        width: 100%;
        margin: auto;
    }
    .map-wrapper {
        width: 100%;
        height: 100%;
        max-width: 100%;
        aspect-ratio: 4 / 3;
    }
}
@media screen and (max-width: 500px) {
    .company-inn_info {
        padding: 0;
    }
    .map-access {
        padding-left: 0;
    }
    .map-wrapper {
        padding: 0;
        box-sizing: border-box;
    }
}
