/* LP/04 only. Shared styles and the older LPs remain unchanged. */
.lp04 .hero-word--trouble { top: 4.65%; }
.lp04 .hero-word--emergency { top: 19.1%; }
.lp04 .hero-services { top: 52.2%; left: 2.9%; width: 61.7%; height: 14.4%; }
body.lp04 #service-list { display: block; }
.lp04 .mizu-diagnosis-merits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lp04 .mizu-diagnosis-merit { font-size: 14px; }
.lp04 .mizu-diagnosis-merit strong { font-size: clamp(21px, 5.4vw, 30px); }
.lp04 .service-card > img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.lp04 .service-grid > .service-card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 38% minmax(0, 1fr); }
.lp04 .service-grid > .service-card:last-child h3 { grid-column: 1 / -1; }
.lp04 .service-grid > .service-card:last-child > img { align-self: center; }
.lp04 .service-card p { min-height: 0; font-size: 15px; }
.lp04 .service-card .service-base-fee { margin: 12px 0 5px; min-height: 0; font-size: 15px; text-align: center; color: #0057c8; }
.lp04 .service-card b { font-size: clamp(27px, 6.5vw, 38px); }
.lp04 .service-card b > span { display: block; margin-bottom: 5px; color: #123653; font-size: 14px; }
.lp04 .service-card b small { font-size: 16px; }
.lp04 .service-open { min-height: 44px; font-size: 14px; }
.lp04 .service-wide .service-card > img { align-self: center; }
.lp04 .service-wide .service-card h3 { border-radius: 7px; }
.lp04-faq { padding: 30px 16px; background: #f3f8ff; }
.lp04-faq h2 { margin: 0 0 24px; color: #0043a8; font-size: clamp(28px, 7vw, 42px); text-align: center; font-weight: 900; }
.lp04-faq dl { margin: 0; }
.lp04-faq__item { margin-bottom: 14px; padding: 18px 15px; background: #fff; border: 2px solid #1268c6; border-radius: 15px; }
.lp04-faq dt { color: #0043a8; font-size: 18px; font-weight: 900; line-height: 1.6; }
.lp04-faq dd { margin: 12px 0 0; color: #14283d; font-size: 16px; line-height: 1.8; }
.lp04-faq dd strong { color: #d94300; }
.lp04 .water-fixbar__coupon strong { font-size: 16px; white-space: nowrap; }
.lp04 .water-fixbar__coupon { animation: none; }
.lp04-image-section { margin: 0; padding: 0; line-height: 0; }
.lp04-image-section img { display: block; width: 100%; height: auto; }
/* Match the regenerated hero's lower blue edge, then return to the existing CTA blue. */
.lp04 .hero { background: #0145cd; }
.lp04 .hero > .img { display: block; line-height: 0; }
.lp04 .hero-background { display: block; width: 100%; height: auto; }
.lp04 .consultation-actions--hero {
  --frame-left: 4%;
  --frame-right: 4%;
  position: relative;
  margin-top: -1px;
  padding-top: clamp(8px, 2vw, 15px);
  padding-bottom: clamp(20px, 4vw, 30px);
  background: linear-gradient(180deg, #0145cd 0%, #0549bf 100%);
}
.lp04 .consultation-actions--hero .consultation-actions__frame {
  padding: clamp(12px, 3vw, 20px) 2%;
  border-radius: clamp(18px, 4vw, 28px);
  box-shadow: 0 8px 20px rgb(0 29 96 / 14%);
}
