@charset "utf-8";


    .spec-table {
      width: 100%;
      border-collapse: collapse;
      font-family: "Helvetica Neue", Arial, sans-serif;
      position: relative;        /* まず position を指定 */
      z-index: 5;               /* 画像（1）より手前に */
    }

    /* キャプションを左上に、H3相当のサイズで */
    .spec-table caption.table-title {
    display: table-caption !important;  /* リセットを上書き */
    caption-side: top;                   /* テーブルの上に表示 */
    text-align: left;
    font-size: 1.17em;                   /* h3 相当 */
    font-weight: bold;
    padding-bottom: 8px;
    color: #333;
    }

    .spec-table th,
    .spec-table td {
      border: 1px solid #ccc;
      padding: 20px;
      text-align: center;
      vertical-align: middle;
    }
    /* ヘッダ行 */
    .spec-table thead th {
      background-color: #d9d9d9;
      font-weight: bold;
    }
    /* 左側ラベルセル */
    .spec-table tbody th {
      background-color: #f2f2f2;
      text-align: left;
      font-weight: bold;
      color: #333;
    }
    /* 偶数行を薄くグレーに（値セルのみ） */
    .spec-table tbody tr:nth-child(even) td:nth-child(n+3) {
      background-color: #fafafa;
    }
    /* サブテキスト（改行注記） */
    .spec-table .sub {
      display: block;
      font-size: 0.9em;
      color: #666;
      margin-top: 4px;
    }
    /* リンク装飾 */
    .spec-table td a {
      color: #0066cc;
      text-decoration: none;
    }

    @media screen and (max-width: 768px) {
  .spec-table {
    zoom: 0.3;  /* Chrome, Edge, Safari 等では動作 */
  }
}

/* 行間をバランスよく詰めるための調整＋上下の余白拡大 */
.spec-table th,
.spec-table td {

  line-height: 1.3;
}
.spec-table .sub {
  font-size: 0.95em;
}
.spec-table caption.table-title {
  margin-bottom: 3px;
}
