.comparison-index-page .decision-helper {
  margin: 26px auto 18px;
  padding: 22px;
  border: 1px solid #bfeaf2;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(16, 32, 51, .07);
}
.comparison-index-page .decision-helper h2 {
  margin: 0 0 10px;
  color: #102033;
  font-size: clamp(24px, 4vw, 34px);
  line-height: 1.14;
}
.comparison-index-page .decision-helper p {
  margin: 0 0 18px;
  color: #38506c;
  font-size: 17px;
  line-height: 1.55;
}
.comparison-index-page .comparison-index-photo {
  margin: 22px auto;
  overflow: hidden;
  border: 1px solid #c9edf4;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(16, 32, 51, .08);
}
.comparison-index-page .comparison-index-photo--wide {
  margin: 22px auto 28px;
}
.comparison-index-page .comparison-index-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.comparison-index-page .comparison-index-photo figcaption {
  padding: 14px 18px 16px;
  color: #38506c;
  font-size: 16px;
  line-height: 1.5;
}
.comparison-index-page .comparison-index-photo figcaption b {
  display: block;
  margin-bottom: 4px;
  color: #102033;
  font-size: 17px;
}
.comparison-index-page .comparison-index-photo--grid {
  align-self: stretch;
  margin: 0;
}
.comparison-index-page .comparison-index-photo--grid img {
  height: 210px;
  aspect-ratio: auto;
}
.comparison-index-page .decision-table {
  display: grid;
  gap: 10px;
}
.comparison-index-page .decision-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid #d7eef4;
  border-radius: 18px;
  background: #f7fdff;
}
.comparison-index-page .decision-row b {
  color: #102033;
}
.comparison-index-page .decision-row span {
  color: #38506c;
}
.comparison-index-page .decision-row strong {
  color: #00899a;
}
.comparison-index-page .comparison-note {
  margin: 18px 0 0;
  padding: 16px 18px;
  border-radius: 18px;
  background: #102033;
  color: #fff;
  font-weight: 800;
}
.comparison-index-page .comparison-note small {
  display: block;
  margin-top: 6px;
  color: rgba(255,255,255,.76);
  font-weight: 600;
}
.comparison-index-page .comparison-materials-note {
  margin-top: 14px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #eafcff;
  border: 1px solid #bfeaf2;
}
.comparison-index-page .comparison-materials-note h3 {
  margin: 0 0 8px;
  color: #102033;
  font-size: 20px;
  line-height: 1.2;
}
.comparison-index-page .comparison-materials-note p {
  margin: 0;
  color: #38506c;
}
.comparison-index-page .diagnostic-index-grid {
  align-items: stretch;
}
.comparison-index-page .diagnostic-index-card small {
  line-height: 1.48;
}
.comparison-page .comparison-article-card {
  margin: 22px 0;
  padding: 22px;
  border: 1px solid #c9edf4;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(16,32,51,.06);
}
.comparison-page .comparison-article-card h2 {
  margin-top: 0;
}
.comparison-page .comparison-result {
  margin: 20px 0;
  padding: 18px;
  border-radius: 20px;
  background: #eafcff;
  border: 1px solid #bfeaf2;
}
.comparison-page .comparison-result b {
  color: #00899a;
}
.comparison-page .comparison-result p {
  margin: 0 0 12px;
}
.comparison-page .comparison-result p:last-child {
  margin-bottom: 0;
}

.comparison-page .comparison-photo {
  margin: 22px 0;
  overflow: hidden;
  border: 1px solid #c9edf4;
  border-radius: 22px;
  background: #f8fdff;
  box-shadow: 0 18px 42px rgba(19, 184, 200, .12);
}

.comparison-page .comparison-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.comparison-page .comparison-photo figcaption {
  padding: 14px 18px 16px;
  color: #42556e;
  line-height: 1.55;
}

.comparison-page .comparison-photo figcaption b {
  display: block;
  margin-bottom: 4px;
  color: #132033;
}

@media (max-width: 620px) {
  .comparison-index-page .decision-helper { padding: 16px; }
  .comparison-index-page .decision-row { grid-template-columns: 1fr; }
  .comparison-index-page .comparison-index-photo {
    margin: 18px 0;
    border-radius: 20px;
  }
  .comparison-index-page .comparison-index-photo img {
    aspect-ratio: 4 / 3;
  }
  .comparison-index-page .comparison-index-photo figcaption {
    padding: 12px 14px 14px;
    font-size: 15px;
  }
  .comparison-index-page .comparison-index-photo--grid {
    margin: 0;
  }
  .comparison-index-page .comparison-index-photo--grid img {
    height: auto;
    aspect-ratio: 4 / 3;
  }
  .comparison-page .comparison-photo {
    border-radius: 18px;
    margin: 18px 0;
  }
  .comparison-page .comparison-photo figcaption {
    padding: 12px 14px 14px;
  }
}
