/* カード背景・文字色：solutions の .content-box と同様の暗いグレー＋白文字 */
.tx5000-page .tx5000-card {
  background: var(--color-gray-300);
  color: var(--color-white);
}

.tx5000-page .tx5000-card .tx5000-heading,
.tx5000-page .tx5000-card .tx-overview-title,
.tx5000-page .tx5000-card .tx-section-title,
.tx5000-page .tx5000-card .product-description,
.tx5000-page .tx5000-card .tx5000-description,
.tx5000-page .tx5000-card .tx5000-caption {
  color: var(--color-white);
}

/* ソリューション／一覧へ戻るボタン：暗いカード上で白文字・白枠に反転 */
.tx5000-page .solution-back-link .btn-outline,
.tx5000-page .solution-back-link .btn {
  color: var(--color-white);
  background-color: transparent;
  border-color: var(--color-white);
}
.tx5000-page .solution-back-link .btn-outline:hover,
.tx5000-page .solution-back-link .btn:hover {
  color: var(--color-gray-300);
  background-color: var(--color-white);
  border-color: var(--color-white);
}

.tx5000-page .solution-back-link-mobile .btn-outline,
.tx5000-page .solution-back-link-mobile .btn {
  color: var(--color-white);
  background-color: transparent;
  border-color: var(--color-white);
}
.tx5000-page .solution-back-link-mobile .btn-outline:hover,
.tx5000-page .solution-back-link-mobile .btn:hover {
  color: var(--color-gray-300);
  background-color: var(--color-white);
  border-color: var(--color-white);
}

/* 資料ダウンロード（PDF）: 白い罫線ボタンに統一 */
.tx5000-page .tx5000-cta .btn-primary {
  color: var(--color-white);
  background-color: transparent;
  border: 2px solid var(--color-white);
}
.tx5000-page .tx5000-cta .btn-primary:hover {
  color: var(--color-gray-300);
  background-color: var(--color-white);
  border-color: var(--color-white);
}

.tx5000-page .tx-product-overview,
.tx5000-page .tx-product-features,
.tx5000-page .tx-product-gallery,
.tx5000-page .tx-product-specs {
  width: 100%;
  max-width: none;
  margin: 0;
}

.tx5000-page .main-content > section:nth-of-type(2) {
  margin-top: calc(var(--spacing-2xl) * -0.75);
}

.tx5000-page .tx-product-overview {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  text-align: left;
  align-items: flex-start;
}

.tx5000-page .tx-overview-title {
  text-align: left;
  margin-bottom: var(--spacing-sm);
  width: 100%;
}

.tx5000-page .tx-product-overview .product-description {
  margin-bottom: 0;
  width: 100%;
}

.tx5000-page .product-description-left {
  text-align: left;
}

.tx5000-page .tx-product-features .tx-section-title,
.tx5000-page .tx-product-gallery .tx-section-title,
.tx5000-page .tx-product-specs .tx-section-title {
  text-align: left;
}

.tx5000-page .tx-product-features .features-list {
  text-align: left;
}

.tx5000-page .tx-product-features .features-list li {
  color: var(--color-white);
  text-align: left;
}

.tx5000-page .features-list li {
  color: var(--color-white);
  text-align: left;
}

.tx5000-page .features-list li::before {
  color: var(--color-white);
}

.tx5000-page .specs-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--color-table-border);
  margin: 0;
}

.tx5000-page .specs-table tr {
  border-bottom: 1px solid var(--color-table-border);
}

.tx5000-page .specs-table tr:last-child {
  border-bottom: none;
}

.tx5000-page .specs-table th,
.tx5000-page .specs-table td {
  border-right: 1px solid var(--color-table-border);
  padding: var(--spacing-md);
  text-align: left;
}

.tx5000-page .specs-table th:last-child,
.tx5000-page .specs-table td:last-child {
  border-right: none;
}

.tx5000-page .specs-table th {
  width: 200px;
  background-color: var(--color-main-bg);
  color: #ffffff;
  font-weight: var(--font-weight-semibold);
}

.tx5000-page .specs-table td {
  color: var(--color-white);
}

.tx5000-page .tx5000-cta {
  margin-top: var(--spacing-2xl);
  text-align: center;
}

/* 商品画像サイズ調整 */
.tx5000-page .product-hero-image .product-3d-image,
.tx5000-page .product-hero-image .hero-product-image {
  max-width: 247px;
  width: 85%;
}

@media (max-width: 768px) {
  .tx5000-page .section {
    padding-top: var(--spacing-3xl);
    padding-bottom: var(--spacing-3xl);
  }

  .tx5000-page .product-hero-with-bg {
    padding-bottom: var(--spacing-2xl);
  }

  .tx5000-page .product-hero-content {
    grid-template-columns: 1fr;
    justify-items: center;
    align-items: center;
    row-gap: var(--spacing-lg);
  }

  .tx5000-page .product-hero-content::before {
    top: calc(20% - 120px);
    height: calc(80% + 120px);
  }

  .tx5000-page .product-hero-image {
    transform: translateY(0);
  }

  .tx5000-page .product-hero-image .product-3d-image,
  .tx5000-page .product-hero-image .hero-product-image {
    max-width: 187px;
    width: 85%;
  }

  .tx5000-page .product-hero-title-area {
    margin-left: 0;
    margin: 0 auto;
    padding: var(--spacing-md) var(--spacing-lg);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 320px;
    background: rgba(0, 0, 0, 0.05);
    border-radius: var(--radius-md);
  }

  .tx5000-page .tx5000-card {
    padding: var(--spacing-xl) var(--spacing-lg);
    gap: var(--spacing-2xl);
  }

  .tx5000-page .tx5000-heading {
    text-align: center;
  }

  .tx5000-page .tx5000-text {
    max-width: 320px;
    margin: 0 auto;
    text-align: center;
    gap: var(--spacing-sm);
  }

  .tx5000-page .tx5000-heading {
    margin-bottom: var(--spacing-xs);
  }
}

@media (max-width: 576px) {
  .tx5000-page .specs-table {
    display: table;
  }

  .tx5000-page .specs-table tr {
    display: table-row;
    border-bottom: 1px solid var(--color-table-border);
  }

  .tx5000-page .specs-table th,
  .tx5000-page .specs-table td {
    display: table-cell;
    width: auto;
    padding: var(--spacing-sm) var(--spacing-md);
  }

  .tx5000-page .specs-table th:last-child,
  .tx5000-page .specs-table td:last-child {
    border-right: none;
  }
}

.tx5000-page .tx5000-cta {
  margin-top: var(--spacing-2xl);
  text-align: center;
}

.tx5000-page .specs-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--color-table-border);
  margin: 0;
  background: transparent;
}

.tx5000-page .specs-table tr {
  border-bottom: 1px solid var(--color-table-border);
}

.tx5000-page .specs-table tr:last-child {
  border-bottom: none;
}

.tx5000-page .specs-table th,
.tx5000-page .specs-table td {
  border-right: 1px solid var(--color-table-border);
  padding: var(--spacing-sm) var(--spacing-md);
  text-align: left;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-tight);
}

.tx5000-page .specs-table th:last-child,
.tx5000-page .specs-table td:last-child {
  border-right: none;
}

.tx5000-page .specs-table th {
  width: 35%;
  background-color: var(--color-main-bg);
  color: #ffffff;
  font-weight: var(--font-weight-semibold);
  vertical-align: middle;
}

.tx5000-page .specs-table td {
  width: 65%;
  color: var(--color-white);
}

.tx5000-page .tx5000-cta {
  margin-top: var(--spacing-2xl);
  text-align: center;
}

