html { scroll-behavior: smooth; }
body { margin: 0; background: #ede7e0; }
.bloom-lp { width: 100%; color: #231b1a; font-family: 'Noto Sans JP', sans-serif; -webkit-font-smoothing: antialiased; }
.bloom-lp a { color: #8d2529; }
.bloom-lp a:hover { filter: brightness(.9); }
.bloom-lp button, .bloom-lp input, .bloom-lp select { font-family: inherit; }
.bloom-lp button { cursor: pointer; border: none; }
.bloom-lp img { max-width: 100%; }
.bloom-lp [hidden] { display: none !important; }
.bloom-lp :focus-visible { outline: 3px solid #d59c38; outline-offset: 4px; }
.bloom-lp [id] { scroll-margin-top: 115px; }
.bloom-lp .lp-desktop { display: none; }
.bloom-lp .lp-demo-notice { grid-column: 1 / -1; background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 8px; padding: 12px 14px; margin: 0; font-size: 12px; line-height: 1.8; }
.bloom-lp .lp-form-status { grid-column: 1 / -1; color: #fff; margin: 0; font-size: 14px; line-height: 1.8; }
.bloom-lp .lp-form-status:empty { display: none; }
.bloom-lp .lp-demo-form input:not([type=checkbox]), .bloom-lp .lp-demo-form select { min-width: 0; font-size: 16px !important; }
.bloom-lp .lp-demo-form input[type=checkbox] { flex-shrink: 0; }
.bloom-lp .lp-demo-form button:disabled { opacity: .55; cursor: default; }
.bloom-lp .lp-faq-toggle[aria-expanded=true] > span:last-child { transform: rotate(45deg) !important; }
.bloom-lp .lp-other > label { display: block; color: #fff; font-size: 12px; margin-top: 10px; }
.bloom-lp .lp-mobile { overflow-wrap: anywhere; }
.bloom-lp .lp-mobile p, .bloom-lp .lp-mobile h1, .bloom-lp .lp-mobile h2 { word-break: normal; }
@media (min-width: 1180px) {
  .bloom-lp .lp-desktop { display: block; }
  .bloom-lp .lp-mobile { display: none; }
}
.bloom-lp .lp-mobile .lp-hero-intro { font-size: clamp(13px, 3.9vw, 19px) !important; white-space: nowrap; }
.bloom-lp .lp-mobile .lp-hero-salary { white-space: nowrap; }
.bloom-lp[data-lp="firm-plus"] .lp-mobile .lp-hero-salary { display: block; }
.bloom-lp .lp-mobile .lp-hero-salary-caption { display: block; white-space: nowrap; }
/* Enlarge the mobile portrait and reserve space above the reservation CTA. */
.bloom-lp[data-lp="realestate"] .lp-mobile .lp-hero-portrait { top: auto !important; bottom: 128px !important; width: 46% !important; height: clamp(200px, 61.54vw, 260px) !important; object-position: top right !important; }
.bloom-lp[data-lp="realestate"] .lp-mobile .lp-hero-portrait ~ div > a { margin-top: 104px; }
.bloom-lp .lp-qualification-part { display: inline-block; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bloom-lp * { transition: none !important; }
}
