    /* Page-specific styles for product cards, tables, etc. */
    /* Override video-area styles for image slider */
    #video-area {
      position: relative;
      height: 800px;
      overflow: hidden;
      background-color: var(--color-background);
    }

    #video-area::after {
      display: none;
    }

    #video-area video {
      display: none;
    }

    /* Remove 70px top margin from wrapper on gb-power page */
    #gb-power .wrapper {
      margin-top: 0 !important;
    }

    .main_imgBox {
      height: 800px;
      overflow: hidden;
      position: relative;
    }

    .main_logo {
      z-index: 11;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 50%;
      height: auto;
    }

    .main_img {
      z-index: 10;
      opacity: 0;
      width: 100%;
      height: 800px;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
      position: absolute;
      left: 0;
      top: 0;
      animation: anime 36s 0s infinite;
    }

    .main_img:nth-of-type(2) {
      animation-delay: 6s;
    }

    .main_img:nth-of-type(3) {
      animation-delay: 12s;
    }

    .main_img:nth-of-type(4) {
      animation-delay: 18s;
    }

    .main_img:nth-of-type(5) {
      animation-delay: 24s;
    }

    .main_img:nth-of-type(6) {
      animation-delay: 30s;
    }

    @keyframes anime {
      0% {
        opacity: 0;
      }

      8% {
        opacity: 1;
      }

      17% {
        opacity: 1;
      }

      25% {
        opacity: 0;
        transform: scale(1.2);
        z-index: 9;
      }

      100% {
        opacity: 0;
      }
    }

    .cp_hr01 {
      border-width: 1px 0 0 0;
      border-style: solid;
      border-color: var(--color-primary);
    }

    /* Product Grid (responsive: defined at end of file) */

    .product-card {
      background: transparent;
      padding: 20px;
    }

    .product-image {
      text-align: center;
      margin-bottom: 20px;
    }

    .product-image img {
      max-width: 80%;
      height: auto;
      border-radius: 10px;
    }

    .product-title {
      color: var(--color-primary);
      font-size: 24px;
      font-family: Impact, sans-serif;
      margin-bottom: 15px;
    }

    .product-number {
      color: var(--color-primary);
      font-size: 16px;
      margin-bottom: 10px;
    }

    .product-features {
      color: var(--color-primary);
      font-size: 14px;
      margin-bottom: 15px;
      line-height: 1.6;
    }

    .product-specs {
      color: var(--color-primary);
      font-size: 14px;
      margin-bottom: 20px;
      line-height: 1.6;
    }

    /* Responsive Tables */
    .table-container {
      margin-bottom: 20px;
    }

    .product-table {
      width: 100%;
      border-collapse: collapse;
      table-layout: auto;
    }

    /* Column widths: row-label is fixed, others are flexible */

    .product-table th {
      padding: 10px 8px;
      text-align: center;
      border: 1px solid var(--color-primary);
      white-space: normal;
      word-break: break-word;
      transition: height 0.1s ease;
    }

    .product-table td {
      padding: 8px;
      text-align: center;
      border: 1px solid var(--color-primary);
      white-space: normal;
      word-break: break-word;
      transition: height 0.1s ease;
    }

    .product-table th {
      background-color: var(--color-primary);
      color: var(--color-background);
    }

    /* Left column (連続稼働時間) styling */
    .product-table th.row-label {
      background-color: transparent;
      color: var(--color-primary);
      font-size: 16px;
      text-align: center;
      vertical-align: middle;
      width: 40px;
      min-width: 40px;
      max-width: 40px;
    }

    /* Product-specific colors for row-label - removed for transparent background */

    /* Header row colors */
    .product-table th.header-pink {
      background-color: rgb(235, 60, 141);
      color: #FFFFFF;
    }

    .product-table th.header-blue {
      background-color: rgb(31, 64, 123);
      color: #FFFFFF;
    }

    .product-table th.header-orange {
      background-color: rgb(255, 92, 38);
      color: #FFFFFF;
    }

    .product-table th.header-green {
      background-color: rgb(133, 178, 0);
      color: #FFFFFF;
    }

    .product-table th.header-teal {
      background-color: rgb(0, 102, 102);
      color: #FFFFFF;
    }

    .product-table th.header-brown {
      background-color: rgb(102, 51, 0);
      color: #FFFFFF;
    }

    .product-table th.header-brown-light {
      background-color: rgb(102, 76, 0);
      color: #FFFFFF;
    }

    .product-table th.header-dark-blue {
      background-color: rgb(0, 26, 102);
      color: #FFFFFF;
    }

    /* Equal width for HIGH, LOW, ペルチェなし columns in GP980 table */
    .product-table.gp980 th:nth-child(3),
    .product-table.gp980 td:nth-child(3),
    .product-table.gp980 th:nth-child(4),
    .product-table.gp980 td:nth-child(4),
    .product-table.gp980 th:nth-child(5),
    .product-table.gp980 td:nth-child(5) {
      width: 25%;
    }

    .product-table td {
      background-color: var(--color-background);
      color: var(--color-primary);
    }

    .product-notes {
      color: var(--color-primary);
      font-size: 12px;
      line-height: 1.5;
    }

    /* Operation Header Table */
    .operation-header {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
      margin-bottom: 0;
    }

    .operation-header th {
      background-color: var(--color-background);
      color: var(--color-primary);
      padding: 10px;
      text-align: center;
      border: 1px solid var(--color-primary);
      font-size: 14px;
    }

    /* Section Title */
    .section-title--gold {
      color: var(--color-primary);
      font-size: 48px;
      font-family: Impact, sans-serif;
      text-align: center;
      margin: 40px 0;
    }

    /* Introduction Text */
    .intro-text {
      color: #FFFFFF;
      font-size: 18px;
      text-align: center;
      max-width: 80%;
      margin: 0 auto 40px;
      line-height: 1.8;
    }

    /* ═══ Product Navigation ═══ */
    .product-nav {
      position: relative;
      z-index: 100;
      background: var(--color-background);
      border-bottom: 1px solid var(--color-primary);
      padding: 0;
      width: 92%;
      max-width: 1000px;
      margin: 0 auto;
    }

    /* Fixed version when scrolled past trigger */
    .product-nav.is-fixed {
      position: fixed;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 92%;
      max-width: 1000px;
    }

    /* Spacer to prevent layout jump when nav becomes fixed */
    .product-nav-spacer {
      display: none;
      height: 48px;
    }
    .product-nav-spacer.is-visible {
      display: block;
    }

    .product-nav-inner {
      display: flex;
      justify-content: center;
      gap: 0;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    .product-nav-link {
      display: block;
      padding: 14px 24px;
      color: var(--color-primary);
      text-decoration: none;
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 0.05em;
      white-space: nowrap;
      border-bottom: 3px solid transparent;
      transition: border-color 0.2s, background-color 0.2s;
    }

    .product-nav-link:hover {
      background-color: rgba(255, 255, 255, 0.05);
    }

    .product-nav-link.active {
      border-bottom-color: var(--color-primary);
    }

    @media (max-width: 640px) {
      .product-nav-link {
        padding: 12px 16px;
        font-size: 13px;
      }
    }

    /* ═══ Section Category Titles ═══ */
    .section-category-title {
      color: var(--color-primary);
      font-family: Impact, sans-serif;
      font-size: 32px;
      text-align: center;
      margin: 50px 0 30px;
      letter-spacing: 0.05em;
      position: relative;
    }

    .section-category-title::after {
      content: '';
      display: block;
      width: 60px;
      height: 3px;
      background: var(--color-primary);
      margin: 12px auto 0;
    }

    @media (max-width: 640px) {
      .section-category-title {
        font-size: 24px;
        margin: 30px 0 20px;
      }
    }

    /* ═══ Responsive Product Grid ═══ */
    .product-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
      gap: clamp(20px, 3vw, 40px);
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px;
    }

    .product-grid--flagship {
      grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr));
    }
