@charset "UTF-8";

.sub_mv img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center;
}

@media(max-width:767px) {
    .sub_mv img {
        height: 180px;
    }
}

/* breadcrumbs */
.breadcrumbs {
    padding: 10px 0;
}

.breadcrumbs-list {
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 40px;
    font-size: 15px;
    font-weight: 600;
    position: relative;
}

.breadcrumbs-list_item {
    position: relative;
}

.breadcrumbs-list_item+.breadcrumbs-list_item::after {
    content: "";
    display: flex;
    align-items: center;
    position: absolute;
    width: 8px;
    height: 8px;
    top: 38%;
    left: -2em;
    rotate: 45deg;
    border-top: 1px solid var(--main-text-color);
    border-right: 1px solid var(--main-text-color);


}

@media(max-width:767px) {
    .breadcrumbs-list {
        gap: 20px;
        font-size: 13px;
    }


    .breadcrumbs-list_item+.breadcrumbs-list_item::after {
        width: 6px;
        height: 6px;
        left: -1.2em;
        rotate: 45deg;
        border-top: 1px solid var(--main-text-color);
        border-right: 1px solid var(--main-text-color);


    }

}

/* online-catalog */

.online-catalog_wrap {
    margin-top: 80px;
}

.online-catalog_container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* gap: 30px; */
    grid-column-gap: 30px;
    grid-row-gap: 60px;
}

.online-catalog_typeB {
    grid-template-columns: repeat(4, 1fr);

}

.online-catalog-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 60px;
    padding: 5px 10px;
    color: #fff;
    background-color: var(--base-color);
    border-bottom: 1px solid #fff;
}

.online-catalog_typeB .online-catalog_item_image {
    width: 100%;
}

.online-catalog_typeB .online-catalog_item_image img {
    width: 100%;
    height: 130px;
    object-fit: cover;
    object-position: center;
}

.online-catalog_item-title {
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    margin-top: 0.5em;
}

.online-catalog_item_image img {
    height: 250px;
    object-fit: contain;
}

@media(max-width:767px) {

    .online-catalog_container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        /* gap: 30px; */
        grid-column-gap: 20px;
        grid-row-gap: 25px;
    }

    .online-catalog_item_image img {
        height: 150px;
    }

    .online-catalog_item-title {
        font-size: 16px;
    }
}



/* company */

.company_wrap {
    display: flex;
    justify-content: center;
}

.company_text {
    width: 80%;
    line-height: 1.8;
}
/* 表 */
   .company-table {
    border-collapse: collapse;
    width: 80%;
    margin: 40px auto 0;
  }

  .company-table th,
  .company-table td {
    border: 1px solid #ddd;
    padding: 12px 16px;
    vertical-align: top;
    font-size: 16px;
  }

  .company-table th {
    width: 100px;
    text-align: center;
    white-space: nowrap;
    background: #f3f3f3;
  }

  .company-table td {
    line-height: 1.8;
  }
    /* 沿革の日付セル（2列目）を細くする */
    .company-table tr td:first-of-type {
        width: 50px;      /* ← 調整したい幅に変えてOK */
        white-space: nowrap;
    }

    /* 説明セル（3列目）を広げる */
    .company-table tr td:nth-of-type(2) {
        width: auto;       /* 自動で残り幅を広く使う */
    }
@media(max-width:767px) {

    .company-table {
      width: 90%;
      margin: 24px auto;
      table-layout: auto;
    }

    .company-table th,
    .company-table td {
      display: block;
      width: 100%;
      box-sizing: border-box;
    }

    .company-table th {
      text-align: left;
      background: #f3f3f3;
      white-space: normal;
    }

    /* 複数列を結合していたセルに対応 */
    .company-table td[colspan] {
      width: 100%;
    }
    /* tr を block にするが、ボーダーは付けない */
    /* 行の余白調整 */
    .company-table tr {
      margin-bottom: 0;
      padding: 0;
    }

    /* th が rowspan の場合、スマホでは独立して上に表示されるように強制 */
    .company-table th[rowspan] {
      display: block;

    }
     /* 沿革のPC幅指定を無効化 */
    .company-table tr td:first-of-type,
    .company-table tr td:nth-of-type(2) {
        width: auto !important;
        white-space: normal !important; /* 必要に応じて改行を許可 */
    }



}

/* access */

.access {
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
}

.access_item {
    margin-top: 100px;
}

.access_item_wrap {
    display: flex;
}

.access_title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 0.5em;
}

.access_text {
    font-size: 18px;
    width: 55%;
}

.access_image {
    width: 40%;
}

.access_image img {
    width: 100%;
}

.access_map {
    margin-top: 60px;
}

.access_map iframe {
    aspect-ratio: 16/5;
    height: auto;
    width: 100%;
}


@media(max-width:767px) {
    .access_item_wrap {
        flex-direction: column;
    }

    .access_title {
        font-size: 20px;
    }

    .access_text {
        font-size: 16px;
        width: 100%;
    }

    .access_image {
        width: 100%;
        margin-top: 10px;
    }

    .access_map {
        margin-top: 30px;
    }

    .access_map iframe {
        width: 100%;

        aspect-ratio: 16/9;
    }
}

/* catalog-item */

.catalog-item_image {
    max-width: 400px;
    width: 90%;
    margin: 0 auto;
}

.catalog-item_image-typeB {
    max-width: 800px;
}

.catalog-item_image-typeB img {
    height: 300px;
    object-fit: cover;
    object-position: center;
}

.catalog-item_container {
    display: flex;
    justify-content: center;
    gap: 30px;
}

.catalog-item_item {
    width: 30%;
    margin-top: 60px;
}

.catalog-item_item img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    object-position: center;
}

@media(max-width:767px) {
    .catalog-item {
        padding: 60px 0;
    }

    .catalog-item_image {
        max-width: 250px;
        margin: 0 auto;
    }

    .catalog-item_image-typeB {
        max-width: 300px;
    }

    .catalog-item_image-typeB img {
        height: 200px;
        aspect-ratio: 16/9;
    }

    .catalog-item_container {
        flex-direction: column;
        gap: 20px;
        margin-top: 60px;
    }

    .catalog-item_item {
        width: 100%;
        margin-top: 0;
    }

}

/* spec */
.spec {
    padding-top: 0;
}

.spec_container {
    max-width: 800px;
    margin: 0 auto;

}

.spec_item {

    display: flex;
    border-bottom: 1px solid var(--main-text-color);
}

.spec_item:first-of-type {
    border-top: 1px solid var(--main-text-color);
}

.spec_item dt {
    padding: 1em;
    width: 35%;
}

.spec_item dd {
    padding: 1em;
    width: 50%;
}

.spec_item.text{
    padding: 1em;
    text-align: center;
    justify-content: center;
    border-top: none;
}

@media(max-width:767px) {
    .spec_item {
        flex-direction: column;
    }

    .spec_item dt {
        width: 100%;
        padding: 0.5em 1em;
    }

    .spec_item dd {
        width: 100%;
        padding: 0 1em;
    }

}