/* Final QA fixes requested on 2026-05-20. */

/* 税込ラベル */
.tax {
  font-size: 0.7em;
  font-weight: 400;
  color: #9a8070;
  margin-left: 0.3em;
  letter-spacing: 0;
}

body {
  padding-bottom: 0 !important;
}

footer {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

img[alt="必要なサポートへ接続"] {
  content: url("/manus-storage/illust-first-contact_e8a24599.png");
}

img[alt="こんな方へ"] {
  content: url("/manus-storage/illust-consultation_475e1c01.png");
}

@media (min-width: 901px) {
  header nav a {
    font-size: 0.78rem !important;
    letter-spacing: 0.01em !important;
  }
}

@media (max-width: 900px) {
  html,
  body,
  #root {
    overflow-x: hidden !important;
  }

  h1,
  h2,
  h3 {
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    letter-spacing: 0 !important;
  }

  section[data-loc="client/src/components/PageHero.tsx:20"] h1 {
    font-size: clamp(1.48rem, 6.8vw, 2rem) !important;
    line-height: 1.48 !important;
    max-width: 100% !important;
  }

  main > div > section:first-child h1 {
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  main > div > section:first-child + section a {
    min-height: 96px !important;
    padding: 0.95rem 0.86rem 0.82rem !important;
  }

  main > div > section:first-child + section a span:first-child {
    font-size: 0.88rem !important;
    line-height: 1.36 !important;
  }

  main > div > section:first-child + section a span:nth-child(2) {
    font-size: 0.72rem !important;
    line-height: 1.42 !important;
  }

  div[data-loc="client/src/pages/Contact.tsx:463"] h2,
  div[data-loc="client/src/pages/Estate.tsx:369"] h2,
  div[data-loc="client/src/pages/LifeSupport.tsx:373"] h2 {
    font-size: clamp(1.28rem, 6vw, 1.65rem) !important;
    line-height: 1.45 !important;
  }

  div[data-loc="client/src/pages/FirstContact.tsx:421"] h2 {
    font-size: clamp(1.22rem, 5.8vw, 1.58rem) !important;
    line-height: 1.48 !important;
  }
}

@media (max-width: 380px) {
  main > div > section:first-child + section > .container {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  main > div > section:first-child + section a {
    min-height: auto !important;
  }
}

@media (max-width: 900px) {
  main > div > section:first-child h1 {
    font-size: clamp(1.42rem, 6.2vw, 2.05rem) !important;
    line-height: 1.42 !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    overflow: visible !important;
    text-wrap: balance !important;
  }

  main > div > section:first-child h1 * {
    font-size: inherit !important;
    line-height: inherit !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }
}

@media (max-width: 340px) {
  main > div > section:first-child h1 {
    font-size: clamp(1.28rem, 6vw, 1.55rem) !important;
    max-width: 100% !important;
  }
}

@media (max-width: 900px) {
  main > div > section:first-child + section > .container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.82rem !important;
  }

  main > div > section:first-child + section a {
    min-height: 82px !important;
    padding: 1rem 1.05rem !important;
    border-radius: 17px !important;
  }

  main > div > section:first-child + section a span:first-child {
    font-size: clamp(0.88rem, 4.2vw, 1.1rem) !important;
    line-height: 1.35 !important;
  }

  main > div > section:first-child + section a span:nth-child(2) {
    font-size: 0.86rem !important;
    line-height: 1.45 !important;
  }
}

/* Keep the first-contact flow visually consistent; no single active/filled step. */
div[data-loc="client/src/pages/Home.tsx:443"] {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.75rem !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

div[data-loc="client/src/pages/Home.tsx:443"] > div {
  background: #fff !important;
  border: 1px solid rgba(173, 100, 78, 0.24) !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(66, 45, 31, 0.06) !important;
}

div[data-loc="client/src/pages/Home.tsx:443"] > div > p:first-child {
  color: #ad644e !important;
}

div[data-loc="client/src/pages/Home.tsx:443"] > div > p:last-child {
  color: #221812 !important;
}

@media (max-width: 900px) {
  div[data-loc="client/src/pages/Home.tsx:443"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.72rem !important;
    margin: 1.5rem 0 !important;
  }

  div[data-loc="client/src/pages/Home.tsx:443"] > div {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 0.9rem !important;
    min-height: 66px !important;
    padding: 0.82rem 1rem !important;
    text-align: left !important;
  }

  div[data-loc="client/src/pages/Home.tsx:443"] > div > p:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: rgba(173, 100, 78, 0.1) !important;
    font-size: 0.78rem !important;
  }

  div[data-loc="client/src/pages/Home.tsx:443"] > div > p:last-child {
    margin: 0 !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
  }
}

/* Photo and text overlap support section. */
section:has(div[data-loc="client/src/pages/Home.tsx:443"]) {
  position: relative !important;
  background: #fff !important;
  isolation: isolate !important;
}

section:has(div[data-loc="client/src/pages/Home.tsx:443"]) .responsive-grid-2 {
  grid-template-columns: minmax(360px, 0.92fr) minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: center !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 1.5rem 0 2.25rem !important;
}

div[data-loc="client/src/pages/Home.tsx:421"] {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  min-height: clamp(430px, 44vw, 610px) !important;
  border-radius: 28px !important;
  background: url("/manus-storage/yori11.jpg") center / cover no-repeat !important;
  box-shadow: 0 28px 72px rgba(66, 45, 31, 0.13) !important;
  transform: translate(-18px, -10px) !important;
  overflow: hidden !important;
}

div[data-loc="client/src/pages/Home.tsx:421"]::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,253,248,0.18)) !important;
  pointer-events: none !important;
}

div[data-loc="client/src/pages/Home.tsx:421"] img {
  display: none !important;
}

div[data-loc="client/src/pages/Home.tsx:435"] {
  position: relative !important;
  z-index: 2 !important;
  margin-left: clamp(-120px, -6vw, -72px) !important;
  padding: clamp(1.6rem, 3.2vw, 2.6rem) !important;
  border: 1px solid rgba(224, 195, 178, 0.72) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 26px 76px rgba(66, 45, 31, 0.14) !important;
  transform: translate(18px, 34px) !important;
  -webkit-backdrop-filter: blur(8px) saturate(1.04) !important;
  backdrop-filter: blur(8px) saturate(1.04) !important;
}

@media (max-width: 900px) {
  section:has(div[data-loc="client/src/pages/Home.tsx:443"]) {
    background: #fff !important;
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }

  section:has(div[data-loc="client/src/pages/Home.tsx:443"]) .responsive-grid-2 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  div[data-loc="client/src/pages/Home.tsx:421"] {
    min-height: clamp(230px, 65vw, 330px) !important;
    border-radius: 22px !important;
    transform: translate(0, 0) !important;
  }

  div[data-loc="client/src/pages/Home.tsx:435"] {
    margin: -2rem 0 0 1rem !important;
    padding: 1.35rem !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    transform: translate(0, 0) !important;
  }
}

/* Add team photo under the top contact copy. */
div[data-loc="client/src/pages/Home.tsx:995"]::after {
  content: "" !important;
  display: block !important;
  width: min(560px, 100%) !important;
  aspect-ratio: 3 / 2 !important;
  margin-top: 1.7rem !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 24px !important;
  background: url("/manus-storage/yori-team-cta-20260717.jpg") center 42% / cover no-repeat !important;
  box-shadow: 0 22px 58px rgba(66, 45, 31, 0.12) !important;
}

/* Use a natural photo for the life-support intro visual. */
img[data-loc="client/src/pages/LifeSupport.tsx:134"] {
  max-width: 460px !important;
  height: clamp(260px, 32vw, 360px) !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 58px rgba(79, 55, 39, 0.15) !important;
}

/* Use the supplied photo for the first-contact intro visual only. */
img[data-loc="client/src/pages/FirstContact.tsx:158"] {
  width: min(460px, 100%) !important;
  height: clamp(260px, 32vw, 360px) !important;
  object-fit: cover !important;
  object-position: center 45% !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 58px rgba(79, 55, 39, 0.15) !important;
}

img[data-loc="client/src/pages/FirstContact.tsx:333"] {
  width: 100% !important;
  max-width: 390px !important;
  height: clamp(300px, 28vw, 350px) !important;
  object-fit: cover !important;
  object-position: center 45% !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 22px !important;
  box-shadow: 0 22px 58px rgba(79, 55, 39, 0.14) !important;
}

/* First contact CTA bottom: team photo */
section[data-loc="client/src/pages/FirstContact.tsx:448"] {
  background: #fff !important;
  border-top: 1px solid rgba(224, 195, 178, 0.48) !important;
}

section[data-loc="client/src/pages/FirstContact.tsx:448"] h2[data-loc="client/src/pages/FirstContact.tsx:450"] {
  color: #231815 !important;
}

section[data-loc="client/src/pages/FirstContact.tsx:448"] p[data-loc="client/src/pages/FirstContact.tsx:461"] {
  color: #6f5a4e !important;
}

div[data-first-contact-cta-photo="true"] {
  width: min(560px, 100%) !important;
  aspect-ratio: 3 / 2 !important;
  margin: 0 auto 2rem !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 24px !important;
  background: url("/manus-storage/yori-team-cta-20260717.jpg") center 42% / cover no-repeat !important;
  box-shadow: 0 22px 58px rgba(66, 45, 31, 0.12) !important;
}

@media (max-width: 900px) {
  div[data-first-contact-cta-photo="true"] {
    width: 100% !important;
    border-radius: 18px !important;
    margin-bottom: 1.6rem !important;
  }
}

body[data-first-contact-page="true"] div[data-loc="client/src/pages/FirstContact.tsx:321"] {
  max-width: 1040px !important;
}

body[data-first-contact-page="true"] div[data-loc="client/src/pages/FirstContact.tsx:322"] {
  grid-template-columns: minmax(320px, 390px) minmax(0, 1fr) !important;
  gap: clamp(2.4rem, 4vw, 4rem) !important;
  align-items: center !important;
}

body[data-first-contact-page="true"] div[data-loc="client/src/pages/FirstContact.tsx:332"] {
  padding-top: 0 !important;
  align-items: center !important;
}

@media (max-width: 900px) {
  body[data-first-contact-page="true"] section[data-loc="client/src/components/PageHero.tsx:20"] h1 {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    font-size: clamp(1.08rem, 5.1vw, 1.38rem) !important;
    line-height: 1.62 !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-wrap: auto !important;
  }

  body[data-first-contact-page="true"] section[data-loc="client/src/components/PageHero.tsx:20"],
  body[data-first-contact-page="true"] section[data-loc="client/src/components/PageHero.tsx:20"] * {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body[data-first-contact-page="true"] div[data-loc^="client/src/pages/FirstContact.tsx"] {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body[data-first-contact-page="true"] div[data-loc="client/src/pages/FirstContact.tsx:79"],
  body[data-first-contact-page="true"] div[data-loc="client/src/pages/FirstContact.tsx:170"],
  body[data-first-contact-page="true"] div[data-loc="client/src/pages/FirstContact.tsx:321"] {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  body[data-first-contact-page="true"] div[data-loc="client/src/pages/FirstContact.tsx:80"],
  body[data-first-contact-page="true"] div[data-loc="client/src/pages/FirstContact.tsx:190"],
  body[data-first-contact-page="true"] div[data-loc="client/src/pages/FirstContact.tsx:322"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.5rem !important;
  }

  body[data-first-contact-page="true"] div[data-loc="client/src/pages/FirstContact.tsx:190"] {
    padding: 1.35rem !important;
  }

  body[data-first-contact-page="true"] div[data-loc^="client/src/pages/FirstContact.tsx"] p,
  body[data-first-contact-page="true"] div[data-loc^="client/src/pages/FirstContact.tsx"] li,
  body[data-first-contact-page="true"] div[data-loc^="client/src/pages/FirstContact.tsx"] h2,
  body[data-first-contact-page="true"] div[data-loc^="client/src/pages/FirstContact.tsx"] h3 {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  div[data-loc="client/src/pages/Home.tsx:995"]::after {
    width: 100% !important;
    margin-top: 1.35rem !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 38px rgba(66, 45, 31, 0.1) !important;
  }

  img[data-loc="client/src/pages/LifeSupport.tsx:134"] {
    max-width: 100% !important;
    height: clamp(230px, 68vw, 320px) !important;
    border-radius: 16px !important;
  }

  img[data-loc="client/src/pages/FirstContact.tsx:158"] {
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(230px, 68vw, 320px) !important;
    border-radius: 16px !important;
  }

  img[data-loc="client/src/pages/FirstContact.tsx:333"] {
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(220px, 64vw, 300px) !important;
    border-radius: 16px !important;
  }
}

/* Guarantee CTA: heading update + photo */
div[data-guarantee-cta-photo="true"] {
  width: min(560px, 100%) !important;
  aspect-ratio: 3 / 2 !important;
  margin: 1.7rem auto 0 !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 24px !important;
  background: url("/manus-storage/yori-team-cta-20260717.jpg") center 42% / cover no-repeat !important;
  box-shadow: 0 22px 58px rgba(66, 45, 31, 0.12) !important;
}

@media (max-width: 900px) {
  div[data-guarantee-cta-photo="true"] {
    width: 100% !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 38px rgba(66, 45, 31, 0.1) !important;
  }
}

/* Contact CTA bottom: photo */
div[data-contact-cta-photo="true"] {
  width: min(560px, 100%) !important;
  aspect-ratio: 3 / 2 !important;
  margin: 1.7rem auto 0 !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 24px !important;
  background: url("/manus-storage/yori-team-cta-20260717.jpg") center 42% / cover no-repeat !important;
  box-shadow: 0 22px 58px rgba(66, 45, 31, 0.12) !important;
}

@media (max-width: 900px) {
  div[data-contact-cta-photo="true"] {
    width: 100% !important;
    border-radius: 18px !important;
  }
}

/* About CTA bottom: team photo */
section[data-loc="client/src/pages/About.tsx:290"] {
  background: #fff !important;
  border-top: 1px solid rgba(224, 195, 178, 0.48) !important;
}

section[data-loc="client/src/pages/About.tsx:290"] h2[data-loc="client/src/pages/About.tsx:292"] {
  color: #231815 !important;
}

section[data-loc="client/src/pages/About.tsx:290"] p[data-loc="client/src/pages/About.tsx:293"] {
  color: #6f5a4e !important;
}

div[data-about-cta-photo="true"] {
  width: min(560px, 100%) !important;
  aspect-ratio: 3 / 2 !important;
  margin: 0 auto 2rem !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 24px !important;
  background: url("/manus-storage/yori-team-cta-20260717.jpg") center 42% / cover no-repeat !important;
  box-shadow: 0 22px 58px rgba(66, 45, 31, 0.12) !important;
}

@media (max-width: 900px) {
  div[data-about-cta-photo="true"] {
    width: 100% !important;
    border-radius: 18px !important;
    margin-bottom: 1.6rem !important;
  }
}

/* Estate 料金について section photo. */
img[data-loc="client/src/pages/Estate.tsx:216"] {
  width: min(460px, 100%) !important;
  height: clamp(260px, 32vw, 360px) !important;
  object-fit: cover !important;
  object-position: center 40% !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 58px rgba(79, 55, 39, 0.15) !important;
}

@media (max-width: 900px) {
  img[data-loc="client/src/pages/Estate.tsx:216"] {
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(230px, 68vw, 320px) !important;
    border-radius: 16px !important;
  }
}

/* Estate CTA photo */
div[data-estate-cta-photo="true"] {
  width: min(560px, 100%) !important;
  aspect-ratio: 3 / 2 !important;
  margin: 1.7rem auto 0 !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 24px !important;
  background: url("/manus-storage/yori-team-cta-20260717.jpg") center 42% / cover no-repeat !important;
  box-shadow: 0 22px 58px rgba(66, 45, 31, 0.12) !important;
}

@media (max-width: 900px) {
  div[data-estate-cta-photo="true"] {
    width: 100% !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 38px rgba(66, 45, 31, 0.1) !important;
  }
}

/* Use the supplied photo for the estate intro visual. */
img[data-loc="client/src/pages/Estate.tsx:109"] {
  width: min(460px, 100%) !important;
  height: clamp(260px, 32vw, 360px) !important;
  object-fit: cover !important;
  object-position: center 40% !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 58px rgba(79, 55, 39, 0.15) !important;
}

@media (max-width: 900px) {
  img[data-loc="client/src/pages/Estate.tsx:109"] {
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(230px, 68vw, 320px) !important;
    border-radius: 16px !important;
  }
}

/* Use the supplied photo for the guarantee intro visual. */
img[data-loc="client/src/pages/Guarantee.tsx:147"] {
  width: min(460px, 100%) !important;
  height: clamp(260px, 32vw, 360px) !important;
  object-fit: cover !important;
  object-position: center 40% !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 58px rgba(79, 55, 39, 0.15) !important;
}

@media (max-width: 900px) {
  img[data-loc="client/src/pages/Guarantee.tsx:147"] {
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(230px, 68vw, 320px) !important;
    border-radius: 16px !important;
  }
}

/* ─── Home CTA: fix grid (too wide at large viewports) ─── */
@media (min-width: 901px) {
  div[data-loc="client/src/pages/Home.tsx:987"] {
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: clamp(2rem, 3vw, 2.8rem) !important;
    align-items: center !important;
  }
  div[data-loc="client/src/pages/Home.tsx:995"]::after {
    width: min(480px, 100%) !important;
  }
}

/* Life support page final CTA: match the top contact-style photo + card layout. */
section[data-life-cta-section="true"] {
  background: #fff !important;
  padding: clamp(4.8rem, 7vw, 7rem) 0 !important;
}

section[data-life-cta-section="true"] > div[data-loc="client/src/pages/LifeSupport.tsx:372"] {
  max-width: 1180px !important;
  padding: 0 2rem !important;
  text-align: left !important;
}

div[data-life-cta-enhanced="true"] {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.68fr) !important;
  gap: clamp(2rem, 5vw, 4.5rem) !important;
  align-items: center !important;
}

div[data-life-cta-left="true"] {
  min-width: 0 !important;
}

span[data-life-cta-eyebrow="true"] {
  display: inline-block !important;
  margin-bottom: 1.2rem !important;
  padding-bottom: 0.55rem !important;
  border-bottom: 2px solid rgba(173, 100, 78, 0.35) !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  color: #ad644e !important;
}

div[data-life-cta-left="true"] > p[data-loc="client/src/pages/LifeSupport.tsx:374"] {
  margin: 0 0 1.25rem !important;
  font-family: "Shippori Mincho", serif !important;
  font-size: clamp(2rem, 4.2vw, 3.25rem) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  color: #231815 !important;
}

div[data-life-cta-left="true"] > p[data-loc="client/src/pages/LifeSupport.tsx:385"] {
  margin: 0 0 2.4rem !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: clamp(1rem, 1.7vw, 1.16rem) !important;
  font-weight: 500 !important;
  line-height: 2 !important;
  color: #6f5a4e !important;
}

div[data-life-cta-photo="true"] {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  min-height: 360px !important;
  border: 1px solid rgba(224, 195, 178, 0.68) !important;
  border-radius: 26px !important;
  background: url("/manus-storage/yori-team-cta-20260717.jpg") center 42% / cover no-repeat !important;
  box-shadow: 0 24px 64px rgba(66, 45, 31, 0.12) !important;
  overflow: hidden !important;
}

div[data-life-cta-card="true"] {
  padding: clamp(1.8rem, 3vw, 2.7rem) !important;
  border: 1px solid rgba(224, 195, 178, 0.52) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 22px 62px rgba(66, 45, 31, 0.1) !important;
}

a[data-life-cta-phone="true"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  margin-bottom: 1rem !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.65rem, 3vw, 2.25rem) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: #ad644e !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

a[data-life-cta-phone="true"]::before {
  content: "☎" !important;
  font-size: 0.78em !important;
  line-height: 1 !important;
}

p[data-life-cta-detail="true"] {
  margin: 0 0 1.65rem !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 0.96rem !important;
  font-weight: 500 !important;
  line-height: 1.85 !important;
  color: #6f5a4e !important;
}

div[data-life-cta-card="true"] > div[data-loc="client/src/pages/LifeSupport.tsx:396"] {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
}

div[data-life-cta-card="true"] > div[data-loc="client/src/pages/LifeSupport.tsx:396"] a {
  width: 100% !important;
  min-height: 58px !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}

a[data-life-cta-tel="true"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.875rem 2rem !important;
  border: 2px solid rgba(111, 90, 78, 0.28) !important;
  background: #fff !important;
  color: #231815 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  text-decoration: none !important;
}

a[data-life-cta-tel="true"]::before {
  content: "☎" !important;
  font-size: 1.05em !important;
}

@media (max-width: 900px) {
  section[data-life-cta-section="true"] {
    padding: 4.2rem 0 !important;
  }

  section[data-life-cta-section="true"] > div[data-loc="client/src/pages/LifeSupport.tsx:372"] {
    padding: 0 1.25rem !important;
  }

  div[data-life-cta-enhanced="true"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.7rem !important;
  }

  div[data-life-cta-left="true"] > p[data-loc="client/src/pages/LifeSupport.tsx:374"] {
    font-size: clamp(1.75rem, 8.2vw, 2.35rem) !important;
    line-height: 1.38 !important;
  }

  div[data-life-cta-left="true"] > p[data-loc="client/src/pages/LifeSupport.tsx:385"] {
    margin-bottom: 1.45rem !important;
    font-size: 0.98rem !important;
  }

  div[data-life-cta-photo="true"] {
    min-height: auto !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 20px !important;
  }

  div[data-life-cta-card="true"] {
    padding: 1.45rem !important;
    border-radius: 20px !important;
  }

  a[data-life-cta-phone="true"] {
    font-size: clamp(1.45rem, 8vw, 1.9rem) !important;
  }
}

/* ─── フッター下部バー：余白・文字色修正 ─── */
div[data-loc="client/src/components/Footer.tsx:250"] {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

div[data-loc="client/src/components/Footer.tsx:260"],
div[data-loc="client/src/components/Footer.tsx:269"] {
  color: oklch(0.68 0.015 70) !important;
}

div[data-loc="client/src/components/Footer.tsx:250"] a[data-privacy-link] {
  color: oklch(0.68 0.015 70) !important;
}

/* スマホ: PC用2カラムの空見出しで生まれるフッターメニューの余白を詰める */
@media (max-width: 900px) {
  p[data-loc="client/src/components/Footer.tsx:118"] {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
  }

  div[data-loc="client/src/components/Footer.tsx:117"] {
    margin-top: -0.75rem !important;
  }
}

/* ─── モバイル：各ページのイントロ画像を全幅に拡大 ─── */
@media (max-width: 900px) {

  /* Guarantee イントロ：grid 1fr auto → 1fr に変更 */
  div[data-loc="client/src/pages/Guarantee.tsx:99"] {
    grid-template-columns: 1fr !important;
  }

  /* Estate イントロ：grid 1fr auto → 1fr に変更 */
  div[data-loc="client/src/pages/Estate.tsx:62"] {
    grid-template-columns: 1fr !important;
  }

  /* LifeSupport イントロ：flex center → block */
  div[data-loc="client/src/pages/LifeSupport.tsx:127"] {
    display: block !important;
    width: 100% !important;
  }

  /* FirstContact イントロ：flex center → block */
  div[data-loc="client/src/pages/FirstContact.tsx:157"] {
    display: block !important;
    width: 100% !important;
  }

  /* 各イントロ画像：全幅・写真スタイルに */
  img[data-loc="client/src/pages/Guarantee.tsx:147"],
  img[data-loc="client/src/pages/Estate.tsx:109"],
  img[data-loc="client/src/pages/LifeSupport.tsx:134"],
  img[data-loc="client/src/pages/FirstContact.tsx:158"] {
    width: 100% !important;
    max-width: none !important;
    height: clamp(280px, 72vw, 420px) !important;
    object-fit: cover !important;
    object-position: center 40% !important;
    border-radius: 18px !important;
    flex-shrink: unset !important;
  }

  /* Estate 料金について：grid auto 1fr → 1fr */
  div[data-loc="client/src/pages/Estate.tsx:207"] {
    grid-template-columns: 1fr !important;
  }
  img[data-loc="client/src/pages/Estate.tsx:216"] {
    width: 100% !important;
    max-width: none !important;
    height: clamp(280px, 72vw, 420px) !important;
    object-fit: cover !important;
    object-position: center 40% !important;
    border-radius: 18px !important;
  }
}

/* ─────────────────────────────────────────────────────
   カード列数ルール統一
   3枚: PC=3列 / SP=3列
   4枚: PC=4列 / SP=2列×2行
   5枚（ヒーローナビ）: PC=5列 / SP=2列×3行（6枠目にロゴ表示）
───────────────────────────────────────────────────── */

/* こんな状況ありませんか（4枚）& ご提供サービス（4枚）: PC=4列 */
div[data-loc="client/src/pages/Home.tsx:328"],
div[data-loc="client/src/pages/Home.tsx:622"] {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* ヒーローナビ（5枚）: PC=5列 */
main > div > section:first-child + section > .container {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 900px) {
  /* 4枚: SP=2列×2行 */
  div[data-loc="client/src/pages/Home.tsx:328"],
  div[data-loc="client/src/pages/Home.tsx:622"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* ヒーローナビ: SP=2列×2行（2026-06-12 会社概要削除・ロゴプレースホルダー撤去） */
  main > div > section:first-child + section > .container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ===== 2026-06-12 改行調整 ===== */
/* 本文プローズの文単位br解除（全幅・自然折返しに） */
[data-loc="client/src/pages/Estate.tsx:84"] br,
[data-loc="client/src/pages/Estate.tsx:235"] br,
[data-loc="client/src/pages/Estate.tsx:97"] br:not(:nth-of-type(2)):not(:nth-of-type(3)) {
  display: none;
}
/* スマホのみ: PC演出改行を解除して孤立行（〜で。/い。等）を防止 */
@media (max-width: 720px) {
  [data-loc="client/src/pages/Home.tsx:175"] br,
  [data-loc="client/src/pages/About.tsx:139"] br,
  [data-loc="client/src/pages/About.tsx:43"] br,
  [data-loc="client/src/pages/About.tsx:112"] br,
  [data-loc="client/src/pages/Estate.tsx:384"] br {
    display: none;
  }
}
/* スマホ: 見出し・引用系の行長を均等化（1〜2文字の孤立行防止） */
@media (max-width: 720px) {
  [data-loc="client/src/pages/Home.tsx:175"],
  [data-loc="client/src/pages/About.tsx:139"],
  [data-loc="client/src/pages/About.tsx:43"],
  [data-loc="client/src/pages/About.tsx:112"],
  [data-loc="client/src/pages/Estate.tsx:384"] {
    text-wrap: balance;
  }
}

/* ===== 2026-06-16 CTAボタン幅統一 ===== */
@media (max-width: 900px) {
  [data-ucta="1"] {
    align-items: center !important;
    width: 100% !important;
  }

  [data-ucta="1"] > a {
    width: min(100%, 354px) !important;
    max-width: 354px !important;
    min-width: 0 !important;
    min-height: 52px !important;
    height: 52px !important;
    padding: 0 1rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    flex: 0 0 auto !important;
    gap: 0.58rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  [data-loc="client/src/components/Footer.tsx:200"][data-ucta="1"] > a {
    height: 52px !important;
    min-height: 52px !important;
  }

  div[data-life-cta-card="true"] > div[data-loc="client/src/pages/LifeSupport.tsx:396"][data-ucta="1"] > a {
    height: 52px !important;
    min-height: 52px !important;
  }

  [data-ucta="1"] > a svg {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
  }
}

/* スマホ: 「まず、どの相談か選べます」のカード右下の装飾丸を非表示 */
@media (max-width: 900px) {
  main > div > section:first-child + section a::after {
    content: none !important;
    display: none !important;
  }
}

/* ===== 2026-06-17 会社概要: 上部CTAセクション非表示・受付時間をサービス一覧下へ ===== */
section[data-loc="client/src/pages/Contact.tsx:75"] {
  display: none !important;
}

ul[data-loc="client/src/pages/Contact.tsx:314"]::after {
  content: "受付時間\A生活支援　9:00〜18:00\A身元保証・緊急相談　24時間受付";
  display: block;
  white-space: pre-line;
  margin-top: 0.9rem;
  padding: 1.25rem 1.35rem;
  border: 1px solid oklch(0.90 0.014 78);
  border-radius: 12px;
  background: oklch(0.97 0.012 75);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 2;
  color: oklch(0.28 0.03 50);
}

/* 会社概要: 下部CTAセクションは白背景に統一 */
section[data-loc="client/src/pages/Contact.tsx:462"] {
  background: #fff !important;
}

section[data-loc="client/src/pages/Contact.tsx:462"] h2,
section[data-loc="client/src/pages/Contact.tsx:462"] [data-loc="client/src/pages/Contact.tsx:464"] {
  color: oklch(0.18 0.02 50) !important;
}

section[data-loc="client/src/pages/Contact.tsx:462"] p,
section[data-loc="client/src/pages/Contact.tsx:462"] [data-loc="client/src/pages/Contact.tsx:475"],
section[data-loc="client/src/pages/Contact.tsx:462"] [data-loc="client/src/pages/Contact.tsx:538"] {
  color: oklch(0.45 0.03 55) !important;
}

/* ===== 2026-06-17 トップ: スマホヒーローの写真表示とコンテンツ位置調整 ===== */
@media (max-width: 900px) {
  section[data-loc="client/src/pages/Home.tsx:68"] {
    min-height: clamp(620px, calc(100svh - 64px), 720px) !important;
    height: auto !important;
    margin-top: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background:
      linear-gradient(105deg, rgba(254,252,247,0.58) 0%, rgba(254,252,247,0.40) 52%, rgba(254,252,247,0.16) 100%),
      url("/manus-storage/hero-bg.webp") 70% center / cover no-repeat !important;
  }

  div[data-loc="client/src/pages/Home.tsx:78"] {
    display: none !important;
  }

  div[data-loc="client/src/pages/Home.tsx:90"] {
    display: none !important;
  }

  main > div > section[data-loc="client/src/pages/Home.tsx:68"] > div[data-loc="client/src/pages/Home.tsx:110"].container {
    padding-top: clamp(2rem, 5vh, 3.25rem) !important;
    padding-bottom: clamp(3.5rem, 8vh, 5rem) !important;
    padding-left: clamp(1.25rem, 6vw, 2rem) !important;
    padding-right: clamp(1.25rem, 6vw, 2rem) !important;
    margin-top: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  main > div > section[data-loc="client/src/pages/Home.tsx:68"] div[data-loc="client/src/pages/Home.tsx:119"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  div[data-loc="client/src/pages/Home.tsx:121"] {
    width: 100% !important;
    max-width: 310px !important;
    gap: 0.5rem 0.55rem !important;
    align-items: flex-start !important;
    margin-bottom: clamp(8.5rem, 24vh, 13rem) !important;
  }

  div[data-loc="client/src/pages/Home.tsx:121"] span[data-loc="client/src/pages/Home.tsx:123"] {
    height: 26px !important;
    padding: 0 0.68rem !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.02em !important;
  }

  div[data-loc="client/src/pages/Home.tsx:190"] {
    display: none !important;
  }

  p[data-loc="client/src/pages/Home.tsx:146"] {
    margin-top: 0 !important;
  }
}

/* ===== 2026-07-17 トップ: 相談事例カードにビジュアル追加 ===== */
section[data-loc="client/src/pages/Home.tsx:820"] {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.54), rgba(255,255,255,0)),
    oklch(0.97 0.012 75) !important;
}

section[data-loc="client/src/pages/Home.tsx:820"] div[data-loc="client/src/pages/Home.tsx:827"] {
  align-items: stretch !important;
}

article[data-home-soudan-card="1"] {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 1rem 1rem 1.45rem !important;
  border: 1px solid #e6e0d8 !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 36px rgba(60, 45, 25, 0.08) !important;
  overflow: hidden !important;
}

article[data-home-soudan-card="1"] [data-home-soudan-media="1"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 148px !important;
  margin: 0 0 1.25rem !important;
  border: 1px solid rgba(173, 100, 78, 0.12) !important;
  border-radius: 6px !important;
  background:
    radial-gradient(circle at 72% 22%, rgba(173, 100, 78, 0.10), transparent 34%),
    linear-gradient(135deg, #fbf6ee 0%, #f4ebdf 100%) !important;
}

article[data-home-soudan-card="1"] [data-home-soudan-media="1"] img {
  width: min(72%, 178px) !important;
  height: 118px !important;
  object-fit: contain !important;
  display: block !important;
}

article[data-home-soudan-card="1"] > span[data-loc="client/src/pages/Home.tsx:865"] {
  position: absolute !important;
  top: 0.72rem !important;
  right: 1.05rem !important;
  margin: 0 !important;
  font-size: 2.35rem !important;
  color: rgba(173, 100, 78, 0.18) !important;
  pointer-events: none !important;
}

article[data-home-soudan-card="1"] h3[data-loc="client/src/pages/Home.tsx:878"] {
  margin-bottom: 0.7rem !important;
  font-size: 1.08rem !important;
  line-height: 1.55 !important;
}

article[data-home-soudan-card="1"] p[data-loc="client/src/pages/Home.tsx:889"] {
  flex: 1 1 auto !important;
  line-height: 1.9 !important;
}

article[data-home-soudan-card="1"] > span[data-loc="client/src/pages/Home.tsx:899"] {
  width: fit-content !important;
  margin-top: 1.1rem !important;
}

@media (max-width: 900px) {
  section[data-loc="client/src/pages/Home.tsx:820"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  section[data-loc="client/src/pages/Home.tsx:820"] h2[data-loc="client/src/pages/Home.tsx:824"] {
    font-size: clamp(1.45rem, 7.2vw, 1.95rem) !important;
    line-height: 1.45 !important;
    text-wrap: balance !important;
  }

  section[data-loc="client/src/pages/Home.tsx:820"] div[data-loc="client/src/pages/Home.tsx:827"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
  }

  article[data-home-soudan-card="1"] {
    padding: 0.9rem 0.9rem 1.2rem !important;
  }

  article[data-home-soudan-card="1"] [data-home-soudan-media="1"] {
    min-height: 126px !important;
    margin-bottom: 1rem !important;
  }

  article[data-home-soudan-card="1"] [data-home-soudan-media="1"] img {
    height: 100px !important;
  }

  article[data-home-soudan-card="1"] h3[data-loc="client/src/pages/Home.tsx:878"] {
    font-size: 1.02rem !important;
    line-height: 1.5 !important;
  }

  article[data-home-soudan-card="1"] p[data-loc="client/src/pages/Home.tsx:889"] {
    font-size: 0.86rem !important;
    line-height: 1.82 !important;
  }
}

/* ===== 2026-07-17 理念ページ: お客様の声カードに写真追加 ===== */
#about-voices-section [data-about-voice-card="1"] {
  display: grid !important;
  grid-template-columns: minmax(150px, 0.38fr) minmax(0, 1fr) !important;
  gap: clamp(1rem, 3vw, 1.5rem) !important;
  align-items: stretch !important;
  border: 1px solid #e6e0d8 !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 36px rgba(60, 45, 25, 0.08) !important;
  overflow: hidden !important;
}

#about-voices-section [data-about-voice-photo="1"] {
  position: relative !important;
  min-height: 168px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #f4ebdf !important;
}

#about-voices-section [data-about-voice-photo="1"]::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(35, 24, 21, 0), rgba(35, 24, 21, 0.10)) !important;
  pointer-events: none !important;
}

#about-voices-section [data-about-voice-photo="1"] img {
  width: 100% !important;
  height: 100% !important;
  min-height: 168px !important;
  object-fit: cover !important;
  display: block !important;
  filter: saturate(0.94) contrast(0.98) brightness(1.02) !important;
}

#about-voices-section [data-about-voice-index="1"] [data-about-voice-photo="1"] img {
  object-position: 46% center !important;
}

#about-voices-section [data-about-voice-index="2"] [data-about-voice-photo="1"] img {
  object-position: 54% center !important;
}

#about-voices-section [data-about-voice-index="3"] [data-about-voice-photo="1"] img {
  object-position: 46% center !important;
}

#about-voices-section [data-about-voice-body="1"] {
  align-self: center !important;
  padding: clamp(0.2rem, 1vw, 0.45rem) clamp(0.2rem, 1vw, 0.35rem) !important;
}

@media (max-width: 720px) {
  #about-voices-section [data-about-voice-card="1"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.05rem !important;
    padding: 0.95rem 0.95rem 1.25rem !important;
  }

  #about-voices-section [data-about-voice-photo="1"],
  #about-voices-section [data-about-voice-photo="1"] img {
    min-height: 172px !important;
    height: 172px !important;
  }

  #about-voices-section [data-about-voice-body="1"] {
    padding: 0 !important;
  }
}

/* ===== 2026-07-17 緊急時ページ: 実際の対応事例に写真追加 ===== */
#fc-case-studies [data-fc-case-card="1"] {
  display: grid !important;
  grid-template-columns: minmax(180px, 0.74fr) minmax(0, 1.26fr) !important;
  gap: clamp(1rem, 2.4vw, 1.45rem) !important;
  align-items: stretch !important;
  border: 1px solid #e6e0d8 !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 36px rgba(60, 45, 25, 0.08) !important;
  overflow: hidden !important;
}

#fc-case-studies [data-fc-case-photo="1"] {
  position: relative !important;
  min-height: 190px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #f4ebdf !important;
}

#fc-case-studies [data-fc-case-photo="1"]::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(35, 24, 21, 0), rgba(35, 24, 21, 0.08)) !important;
  pointer-events: none !important;
}

#fc-case-studies [data-fc-case-photo="1"] img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 190px !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: saturate(0.94) contrast(0.98) brightness(1.02) !important;
}

#fc-case-studies [data-fc-case-index="1"] [data-fc-case-photo="1"] img {
  object-position: 44% center !important;
}

#fc-case-studies [data-fc-case-index="2"] [data-fc-case-photo="1"] img {
  object-position: 50% 46% !important;
}

#fc-case-studies [data-fc-case-body="1"] {
  align-self: center !important;
  padding: clamp(0.2rem, 1vw, 0.45rem) clamp(0.2rem, 1vw, 0.35rem) !important;
}

@media (max-width: 720px) {
  #fc-case-studies [data-fc-case-card="1"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.05rem !important;
    padding: 0.95rem 0.95rem 1.25rem !important;
  }

  #fc-case-studies [data-fc-case-photo="1"],
  #fc-case-studies [data-fc-case-photo="1"] img {
    min-height: 178px !important;
    height: 178px !important;
  }

  #fc-case-studies [data-fc-case-body="1"] {
    padding: 0 !important;
  }
}

/* ===== 2026-07-17 生活支援ページ: ご利用事例に写真追加 ===== */
#ls-case-studies [data-ls-case-card="1"] {
  display: grid !important;
  grid-template-columns: minmax(210px, 0.84fr) minmax(0, 1.16fr) !important;
  gap: clamp(1rem, 2.4vw, 1.45rem) !important;
  align-items: stretch !important;
  border: 1px solid #e6e0d8 !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 36px rgba(60, 45, 25, 0.08) !important;
  overflow: hidden !important;
}

#ls-case-studies [data-ls-case-photo="1"] {
  position: relative !important;
  min-height: 250px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #f4ebdf !important;
}

#ls-case-studies [data-ls-case-photo="1"]::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(35, 24, 21, 0), rgba(35, 24, 21, 0.08)) !important;
  pointer-events: none !important;
}

#ls-case-studies [data-ls-case-photo="1"] img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 250px !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: saturate(0.94) contrast(0.98) brightness(1.02) !important;
}

#ls-case-studies [data-ls-case-index="1"] [data-ls-case-photo="1"] img {
  object-position: 43% center !important;
}

#ls-case-studies [data-ls-case-index="2"] [data-ls-case-photo="1"] img {
  object-position: center 45% !important;
}

#ls-case-studies [data-ls-case-body="1"] {
  align-self: center !important;
  padding: clamp(0.2rem, 1vw, 0.45rem) clamp(0.2rem, 1vw, 0.35rem) !important;
}

@media (max-width: 720px) {
  #ls-case-studies [data-ls-case-card="1"] {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: clamp(1rem, 5vw, 1.2rem) !important;
    gap: 1rem !important;
  }

  #ls-case-studies [data-ls-case-photo="1"],
  #ls-case-studies [data-ls-case-photo="1"] img {
    min-height: 0 !important;
    height: 188px !important;
  }

  #ls-case-studies [data-ls-case-body="1"] {
    padding: 0 !important;
  }
}

/* ===== 2026-07-17 生活支援ページ: ご家族報告イラスト追加 ===== */
#ls-family-note [data-ls-family-card="1"] {
  display: grid !important;
  grid-template-columns: minmax(220px, 0.92fr) minmax(0, 1.08fr) !important;
  gap: clamp(1.1rem, 3vw, 1.65rem) !important;
  align-items: center !important;
  padding: clamp(1rem, 3vw, 1.35rem) !important;
  background: #fff !important;
  border: 1px solid #e6e0d8 !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 36px rgba(60, 45, 25, 0.08) !important;
}

#ls-family-note [data-ls-family-illust="1"] {
  position: relative !important;
  overflow: hidden !important;
  min-height: 190px !important;
  border-radius: 6px !important;
  background: #f7efe6 !important;
}

#ls-family-note [data-ls-family-illust="1"]::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(35, 24, 21, 0), rgba(35, 24, 21, 0.04)) !important;
  pointer-events: none !important;
}

#ls-family-note [data-ls-family-illust="1"] img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 190px !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: saturate(0.97) contrast(0.98) brightness(1.02) !important;
}

#ls-family-note [data-ls-family-body="1"] {
  padding: clamp(0.2rem, 1vw, 0.35rem) clamp(0.2rem, 1vw, 0.3rem) !important;
  text-align: left !important;
}

@media (max-width: 720px) {
  #ls-family-note [data-ls-family-card="1"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
    padding: clamp(1rem, 5vw, 1.2rem) !important;
  }

  #ls-family-note [data-ls-family-illust="1"],
  #ls-family-note [data-ls-family-illust="1"] img {
    min-height: 0 !important;
    height: 186px !important;
  }

  #ls-family-note [data-ls-family-body="1"] {
    padding: 0 !important;
    text-align: center !important;
  }
}

/* ===== 2026-07-17 身元保証・家財整理ページ: 事例カードに写真追加 ===== */
#gt-case-studies [data-gt-case-card="1"],
#es-case-studies [data-es-case-card="1"] {
  display: grid !important;
  grid-template-columns: minmax(220px, 0.86fr) minmax(0, 1.14fr) !important;
  gap: clamp(1rem, 2.4vw, 1.45rem) !important;
  align-items: stretch !important;
  border: 1px solid #e6e0d8 !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 36px rgba(60, 45, 25, 0.08) !important;
  overflow: hidden !important;
}

#gt-case-studies [data-gt-case-photo="1"],
#es-case-studies [data-es-case-photo="1"] {
  position: relative !important;
  min-height: 238px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #f4ebdf !important;
}

#gt-case-studies [data-gt-case-photo="1"]::after,
#es-case-studies [data-es-case-photo="1"]::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(35, 24, 21, 0), rgba(35, 24, 21, 0.08)) !important;
  pointer-events: none !important;
}

#gt-case-studies [data-gt-case-photo="1"] img,
#es-case-studies [data-es-case-photo="1"] img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 238px !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: saturate(0.94) contrast(0.98) brightness(1.02) !important;
}

#gt-case-studies [data-gt-case-index="1"] [data-gt-case-photo="1"] img {
  object-position: 47% center !important;
}

#gt-case-studies [data-gt-case-index="2"] [data-gt-case-photo="1"] img {
  object-position: 42% center !important;
}

#gt-case-studies [data-gt-case-index="3"] [data-gt-case-photo="1"] img {
  object-position: 50% center !important;
}

#es-case-studies [data-es-case-index="1"] [data-es-case-photo="1"] img {
  object-position: 48% center !important;
}

#es-case-studies [data-es-case-index="2"] [data-es-case-photo="1"] img {
  object-position: 48% center !important;
}

#es-case-studies [data-es-case-index="3"] [data-es-case-photo="1"] img {
  object-position: 47% center !important;
}

#gt-case-studies [data-gt-case-body="1"],
#es-case-studies [data-es-case-body="1"] {
  align-self: center !important;
  padding: clamp(0.2rem, 1vw, 0.45rem) clamp(0.2rem, 1vw, 0.35rem) !important;
}

@media (max-width: 720px) {
  #gt-case-studies [data-gt-case-card="1"],
  #es-case-studies [data-es-case-card="1"] {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: clamp(1rem, 5vw, 1.2rem) !important;
    gap: 1rem !important;
  }

  #gt-case-studies [data-gt-case-photo="1"],
  #gt-case-studies [data-gt-case-photo="1"] img,
  #es-case-studies [data-es-case-photo="1"],
  #es-case-studies [data-es-case-photo="1"] img {
    min-height: 0 !important;
    height: 188px !important;
  }

  #gt-case-studies [data-gt-case-body="1"],
  #es-case-studies [data-es-case-body="1"] {
    padding: 0 !important;
  }
}

/* ===== 2026-07-17 身元保証ページ: FAQ下からCTAまでの余白調整 ===== */
section[data-loc="client/src/pages/Guarantee.tsx:443"] {
  padding-bottom: clamp(1.5rem, 3vw, 2rem) !important;
}

section[data-loc="client/src/pages/Guarantee.tsx:516"][data-guarantee-cta-surface="1"] {
  padding-top: clamp(2rem, 3.4vw, 2.5rem) !important;
}

@media (max-width: 720px) {
  section[data-loc="client/src/pages/Guarantee.tsx:443"] {
    padding-bottom: 1.45rem !important;
  }

  section[data-loc="client/src/pages/Guarantee.tsx:516"][data-guarantee-cta-surface="1"] {
    padding-top: 1.9rem !important;
  }
}

/* ===== 2026-07-17 共通下部CTA: PCは写真＋本文 / 相談ボタンの2カラムに統一 ===== */
@media (min-width: 901px) {
  section[data-loc="client/src/pages/Estate.tsx:368"] > div[data-loc="client/src/pages/Estate.tsx:369"],
  section[data-loc="client/src/pages/Guarantee.tsx:516"] > div[data-loc="client/src/pages/Guarantee.tsx:517"] {
    width: min(1120px, calc(100% - 3rem)) !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  section[data-loc="client/src/pages/Estate.tsx:368"] div[data-loc="client/src/pages/Estate.tsx:370"],
  section[data-loc="client/src/pages/Guarantee.tsx:516"] div[data-loc="client/src/pages/Guarantee.tsx:518"],
  section[data-loc="client/src/pages/FirstContact.tsx:448"] > div[data-loc="client/src/pages/FirstContact.tsx:449"],
  section[data-loc="client/src/pages/About.tsx:290"] > div[data-loc="client/src/pages/About.tsx:291"],
  section[data-loc="client/src/pages/Contact.tsx:462"] > div[data-loc="client/src/pages/Contact.tsx:463"] {
    width: 100% !important;
    max-width: 1120px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
    column-gap: clamp(2.2rem, 5vw, 4.5rem) !important;
    row-gap: 0.9rem !important;
    align-items: center !important;
    text-align: left !important;
  }

  section[data-loc="client/src/pages/Estate.tsx:368"] div[data-loc="client/src/pages/Estate.tsx:370"] > *,
  section[data-loc="client/src/pages/Guarantee.tsx:516"] div[data-loc="client/src/pages/Guarantee.tsx:518"] > *,
  section[data-loc="client/src/pages/FirstContact.tsx:448"] > div[data-loc="client/src/pages/FirstContact.tsx:449"] > *,
  section[data-loc="client/src/pages/About.tsx:290"] > div[data-loc="client/src/pages/About.tsx:291"] > *,
  section[data-loc="client/src/pages/Contact.tsx:462"] > div[data-loc="client/src/pages/Contact.tsx:463"] > * {
    grid-column: 1 !important;
    justify-self: stretch !important;
  }

  section[data-loc="client/src/pages/Estate.tsx:368"] div[data-loc="client/src/pages/Estate.tsx:370"] > span,
  section[data-loc="client/src/pages/Estate.tsx:368"] div[data-loc="client/src/pages/Estate.tsx:370"] > h2,
  section[data-loc="client/src/pages/Estate.tsx:368"] div[data-loc="client/src/pages/Estate.tsx:370"] > p,
  section[data-loc="client/src/pages/Guarantee.tsx:516"] div[data-loc="client/src/pages/Guarantee.tsx:518"] > span,
  section[data-loc="client/src/pages/Guarantee.tsx:516"] div[data-loc="client/src/pages/Guarantee.tsx:518"] > h2,
  section[data-loc="client/src/pages/Guarantee.tsx:516"] div[data-loc="client/src/pages/Guarantee.tsx:518"] > p,
  section[data-loc="client/src/pages/FirstContact.tsx:448"] > div[data-loc="client/src/pages/FirstContact.tsx:449"] > h2,
  section[data-loc="client/src/pages/FirstContact.tsx:448"] > div[data-loc="client/src/pages/FirstContact.tsx:449"] > p,
  section[data-loc="client/src/pages/About.tsx:290"] > div[data-loc="client/src/pages/About.tsx:291"] > h2,
  section[data-loc="client/src/pages/About.tsx:290"] > div[data-loc="client/src/pages/About.tsx:291"] > p,
  section[data-loc="client/src/pages/Contact.tsx:462"] > div[data-loc="client/src/pages/Contact.tsx:463"] > h2,
  section[data-loc="client/src/pages/Contact.tsx:462"] > div[data-loc="client/src/pages/Contact.tsx:463"] > p {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  div[data-estate-cta-photo="true"],
  div[data-guarantee-cta-photo="true"],
  div[data-first-contact-cta-photo="true"],
  div[data-about-cta-photo="true"],
  div[data-contact-cta-photo="true"] {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 3 / 2 !important;
    margin: 1.4rem 0 0 !important;
    justify-self: stretch !important;
  }

  section[data-loc="client/src/pages/Estate.tsx:368"] div[data-loc="client/src/pages/Estate.tsx:370"] > div[data-ucta="1"],
  section[data-loc="client/src/pages/Guarantee.tsx:516"] div[data-loc="client/src/pages/Guarantee.tsx:518"] > div[data-ucta="1"],
  section[data-loc="client/src/pages/FirstContact.tsx:448"] > div[data-loc="client/src/pages/FirstContact.tsx:449"] > div[data-ucta="1"],
  section[data-loc="client/src/pages/About.tsx:290"] > div[data-loc="client/src/pages/About.tsx:291"] > div[data-ucta="1"],
  section[data-loc="client/src/pages/Contact.tsx:462"] > div[data-loc="client/src/pages/Contact.tsx:463"] > div[data-ucta="1"] {
    grid-column: 2 !important;
    grid-row: 2 / span 3 !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
  }

  section[data-loc="client/src/pages/Estate.tsx:368"] div[data-loc="client/src/pages/Estate.tsx:370"] > div[data-ucta="1"] > a,
  section[data-loc="client/src/pages/Guarantee.tsx:516"] div[data-loc="client/src/pages/Guarantee.tsx:518"] > div[data-ucta="1"] > a,
  section[data-loc="client/src/pages/FirstContact.tsx:448"] > div[data-loc="client/src/pages/FirstContact.tsx:449"] > div[data-ucta="1"] > a,
  section[data-loc="client/src/pages/About.tsx:290"] > div[data-loc="client/src/pages/About.tsx:291"] > div[data-ucta="1"] > a,
  section[data-loc="client/src/pages/Contact.tsx:462"] > div[data-loc="client/src/pages/Contact.tsx:463"] > div[data-ucta="1"] > a {
    width: 100% !important;
    max-width: none !important;
    min-height: 58px !important;
    height: 58px !important;
  }

  section[data-loc="client/src/pages/Estate.tsx:368"] div[data-loc="client/src/pages/Estate.tsx:370"] > div[data-ucta="1"] + p,
  section[data-loc="client/src/pages/Guarantee.tsx:516"] div[data-loc="client/src/pages/Guarantee.tsx:518"] > div[data-ucta="1"] + p,
  section[data-loc="client/src/pages/Contact.tsx:462"] > div[data-loc="client/src/pages/Contact.tsx:463"] > div[data-ucta="1"] + p {
    grid-column: 2 !important;
    max-width: 420px !important;
    margin: 0.75rem auto 0 !important;
    justify-self: center !important;
    text-align: center !important;
  }
}

/* ===== 2026-07-17 会社概要: ご挨拶下に代表者情報を追加 ===== */
[data-contact-representative="1"] {
  width: min(680px, 100%) !important;
  margin: clamp(1.15rem, 3vw, 1.7rem) auto clamp(1.7rem, 4vw, 2.4rem) !important;
  padding: clamp(1rem, 3vw, 1.35rem) !important;
  display: grid !important;
  grid-template-columns: minmax(150px, 0.42fr) minmax(0, 1fr) !important;
  gap: clamp(1rem, 3vw, 1.45rem) !important;
  align-items: center !important;
  background: #fff !important;
  border: 1px solid rgba(224, 195, 178, 0.72) !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 42px rgba(66, 45, 31, 0.09) !important;
}

[data-contact-representative-photo="1"] {
  overflow: hidden !important;
  aspect-ratio: 4 / 5 !important;
  border-radius: 8px !important;
  background: #f4ebdf !important;
}

[data-contact-representative-photo="1"] img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 28% !important;
}

[data-contact-representative-text="1"] {
  text-align: left !important;
}

[data-contact-representative-company="1"] {
  margin: 0 0 0.42rem !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: clamp(0.88rem, 1.4vw, 0.98rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: #ad644e !important;
  line-height: 1.7 !important;
}

[data-contact-representative-title="1"] {
  margin: 0 0 0.28rem !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: clamp(0.9rem, 1.3vw, 1rem) !important;
  font-weight: 500 !important;
  color: #6f5a4e !important;
  line-height: 1.7 !important;
}

[data-contact-representative-name="1"] {
  margin: 0 !important;
  font-family: "Shippori Mincho", serif !important;
  font-size: clamp(1.65rem, 3vw, 2.2rem) !important;
  font-weight: 700 !important;
  color: #231815 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 720px) {
  [data-contact-representative="1"] {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
    margin: 1.05rem auto 1.55rem !important;
    padding: 1rem !important;
  }

  [data-contact-representative-photo="1"] {
    width: min(210px, 72vw) !important;
    margin: 0 auto !important;
  }

  [data-contact-representative-text="1"] {
    text-align: center !important;
  }

  [data-contact-representative-name="1"] {
    font-size: clamp(1.7rem, 8vw, 2rem) !important;
  }
}
