/* 特徴ページはトップ・保守・セキュリティ対策と同じ余白・色・共通ボタンを使用。 */
.wp-reason-page .wp-section-head--center {
  max-width: 860px;
}
.wp-reason-page .wp-section-head--center > p + p {
  margin-top: 1rem;
}
.wp-reason-page h2 .wp-heading-phrase {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
}
/* 特徴の導入：PCは文章55%・画像45%、狭い画面では文章から画像へ縦並び。 */
.wp-reason-overview__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: center;
  gap: clamp(3rem, 5vw, 4rem);
}
.wp-reason-overview .wp-section-head--center {
  max-width: none;
  margin: 0;
  text-align: left;
}
.wp-reason-overview .wp-section-head--center > p {
  max-width: none;
  margin: 0;
}
.wp-reason-overview h2 {
  font-size: clamp(1.5rem, 2.15vw, 1.95rem);
}
.wp-reason-overview h2 .wp-heading-phrase {
  white-space: normal;
  overflow-wrap: anywhere;
}
.wp-reason-overview__image {
  min-width: 0;
  margin: 0;
}
.wp-reason-overview__image img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 900px) {
  .wp-reason-overview__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
}

.wp-reason-continuity__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(1rem, 2vw, 1.75rem);
  max-width: 1020px;
  margin-inline: auto;
}
.wp-reason-continuity__card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  gap: 1rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--wp-line);
  background: #f7f9fc;
  text-align: left;
}
.wp-reason-continuity__heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.wp-reason-continuity__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 var(--wp-icon-size-content);
  width: var(--wp-icon-size-content);
  height: var(--wp-icon-size-content);
  color: var(--wp-brand);
}
.wp-reason-continuity__icon svg { width: 100%; height: 100%; display: block; }
.wp-reason-continuity__card h3 {
  flex: 1;
  min-width: 0;
  margin: 0;
  color: var(--color-heading);
  font-size: clamp(1.075rem, 1.8vw, 1.25rem);
  font-weight: 500;
  line-height: 1.5;
}
.wp-reason-continuity__card p {
  margin: 0;
  color: var(--wp-muted);
  line-height: 1.85;
}
.wp-reason-continuity__card .wp-button {
  width: 100%;
  margin-top: auto;
  text-align: left;
}
.wp-reason-continuity__plus {
  display: flex;
  align-items: center;
  color: var(--wp-brand);
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 400;
}
.wp-reason-continuity__notes {
  max-width: 960px;
  margin: 1.5rem auto 0;
}
.wp-reason-continuity__note {
  margin: 0;
  color: var(--wp-muted);
  font-size: .85rem;
  line-height: 1.8;
  text-align: left;
}
.wp-reason-continuity__note + .wp-reason-continuity__note {
  margin-top: .5rem;
}
.wp-reason-company .wp-pattern-more {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}
@media (max-width: 782px) {
  .wp-reason-page h2 .wp-heading-phrase {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .wp-reason-continuity__layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .wp-reason-continuity__plus {
    justify-content: center;
  }
}
