@charset "utf-8";
/* CSS Document */

/* --- 共通コンテナ --- */
.table-container {
  width: 100%;
  margin: 30px auto;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
}

/* --- 汎用的なテーブルスタイル（PC） --- */
.custom-spec-table {
  width: 1000px; /* PC最大幅 */
  border-collapse: collapse;
  line-height: 1.6;
  color: #333;
  border-top: 1px solid #523B3B;
  border-bottom: 1px solid #523B3B;
}

.custom-spec-table th,
.custom-spec-table td {
  padding: 15px 10px; /* 調整したタイトな余白 */
  text-align: left;
  vertical-align: top;
  border-bottom: 1px dashed #523B3B; /* 点線 */
  background-color: #fff;
}

/* 最後の行の点線を消す */
.custom-spec-table tr:last-child th,
.custom-spec-table tr:last-child td {
  border-bottom: none;
}

.custom-spec-table th {
  width: 25%;
  font-weight: bold;
  font-size: 15px;
}

.custom-spec-table td {
  width: 75%;
  font-size: 15px;
}

/* --- レスポンシブ設定 (767px以下) --- */
@media screen and (max-width: 767px) {
  .table-container {
    padding: 0 2.5%; /* 全体幅95% */
  }

  .custom-spec-table {
    width: 100%;
    display: block;
    border-bottom: none;
  }

  .custom-spec-table tbody,
  .custom-spec-table tr,
  .custom-spec-table th,
  .custom-spec-table td {
    display: block;
    width: 100%;
  }

  .custom-spec-table tr {
    border-bottom: 1px dashed #523B3B;
    padding: 10px 0;
  }

  .custom-spec-table th,
  .custom-spec-table td {
    border-bottom: none;
    padding: 3px 10px;
  }

  .custom-spec-table th {
    font-size: 14px;
  }

  .custom-spec-table td {
    font-size: 14px;
    color: #666;
  }
}