/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 04 2026 | 06:44:02 */
/* Baby-J Sickcare | Page Only CSS | 全文置換用
   Care Common CSSの後に読み込む。現状完成画面を維持するため、
   HERO/FINAL CTAの個別構図指定は保持。追記CSSとの併用は禁止。
*/

/* Baby-J｜病児・病後児保育 HERO 専用 */

.bj-sickcare {
  --sc-navy: #103b57;
}

/* PC：右側コピー・背景をそのまま見せる */
@media (min-width: 768px) {
  .bj-sickcare .bj-hero::after {
    display: none;
  }

  .bj-sickcare .bj-hero__content {
    width: 35%;
    margin: 0 4.4% 0 auto;
    padding: 30px 0;
  }

  .bj-sickcare .bj-hero__eyebrow {
    color: #f49b51;
    letter-spacing: .2em;
  }

  .bj-sickcare .bj-hero__title {
    font-weight: 400;
  }
}

/* 対応専門家 */
.bj-sickcare__features {
  display: flex;
  gap: 12px;
  margin-top: 28px;
}

.bj-sickcare__feature {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 8px;
  border: 1px solid #ddd9d5;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  font-size: clamp(10px, 1vw, 18px);
  font-weight: 700;
  white-space: nowrap;
}

.bj-sickcare__feature--sitter { color: #f4847e; }
.bj-sickcare__feature--nurse { color: #648568; }

.bj-sickcare__feature-icon {
  width: 28px;
  height: 28px;
  flex: none;
  object-fit: contain;
}

.bj-sickcare__feature-label {
  font-size: inherit;
}

/* CTA */
.bj-sickcare__hero-actions {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 28px;
}

.bj-sickcare__hero-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 56px;
  max-width: 370px;
  padding: 10px 20px;
  border-radius: 999px;
  background: var(--sc-navy);
  color: #fff;
  text-align: center;
}

.bj-sickcare__hero-sub {
  display: block;
  max-width: 370px;
  text-align: center;
  color: var(--sc-navy);
}

/* TB：右側の表示幅を確保 */
@media (min-width: 768px) and (max-width: 1100px) {
  .bj-sickcare__features {
    gap: 6px;
  }

  .bj-sickcare__feature {
    font-size: 10px;
    gap: 4px;
  }
}

/* SP：共通HEROを維持 */
@media (max-width: 767px) {
  .bj-sickcare .bj-hero__eyebrow {
    color: #e68b68;
    font-weight: 700;
  }

  .bj-sickcare__pc-br {
    display: none;
  }

  .bj-sickcare__features {
    gap: 8px;
    margin-top: 12px;
  }

  .bj-sickcare__feature {
    padding: 7px 5px;
    font-size: clamp(10px, 2.8vw, 13px);
  }

  .bj-sickcare__feature-icon {
    width: 24px;
    height: 24px;
  }

  .bj-sickcare__hero-actions {
    margin-top: 14px;
    gap: 10px;
  }

  .bj-sickcare__hero-button,
  .bj-sickcare__hero-sub {
    width: 100%;
    max-width: none;
  }
}


/* =====================================================
   HERO responsive correction | 2026-11-03
   Scoped to sickcare only; no common CSS changes
   ===================================================== */
@media (min-width: 768px) and (max-width: 1300px) {
  .bj-sickcare .bj-hero {
    min-height: 0;
    height: clamp(490px, 52.8vw, 690px);
  }
  .bj-sickcare .bj-hero__image {
    object-fit: cover;
    object-position: center center;
  }
  .bj-sickcare .bj-hero__content {
    box-sizing: border-box;
    width: clamp(330px, 38%, 480px);
    margin: 0 3.5% 0 auto;
    padding: 24px 0;
  }
  .bj-sickcare .bj-hero__title {
    font-size: clamp(30px, 3.15vw, 43px);
    line-height: 1.35;
  }
  .bj-sickcare .bj-hero__lead {
    font-size: clamp(13px, 1.18vw, 17px);
    line-height: 1.7;
  }
  .bj-sickcare .bj-sickcare__features,
  .bj-sickcare .bj-sickcare__hero-actions { margin-top: 15px; }
  .bj-sickcare .bj-sickcare__feature { font-size: clamp(10px, 1vw, 13px); }
}
@media (min-width: 391px) and (max-width: 767px) {
  .bj-sickcare .bj-hero {
    min-height: 0;
    height: auto;
    aspect-ratio: 941 / 1672;
  }
  .bj-sickcare .bj-hero__image {
    object-fit: cover;
    object-position: center top;
  }
  .bj-sickcare .bj-hero__content {
    box-sizing: border-box;
    inset: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: clamp(26px, 4.5vw, 38px) clamp(22px, 4.6vw, 36px) clamp(25px, 4.5vw, 38px);
  }
  .bj-sickcare .bj-hero__eyebrow {
    font-size: clamp(12px, 1.9vw, 15px);
    margin-bottom: 8px;
  }
  .bj-sickcare .bj-hero__title {
    font-size: clamp(32px, 5.4vw, 42px);
    line-height: 1.36;
  }
  .bj-sickcare .bj-hero__lead {
    margin: auto 0 0;
    font-size: clamp(14px, 2.15vw, 17px);
    line-height: 1.7;
  }
  .bj-sickcare .bj-sickcare__features { margin-top: 13px; }
  .bj-sickcare .bj-sickcare__feature {
    font-size: clamp(11px, 1.8vw, 14px);
    white-space: normal;
  }
  .bj-sickcare .bj-sickcare__hero-actions { margin-top: 13px; gap: 9px; }
  .bj-sickcare .bj-sickcare__hero-button { min-height: 52px; font-size: 14px; }
  .bj-sickcare .bj-sickcare__hero-sub { font-size: 13px; }
}

/* =====================================================
   Baby-J SICK CHILD CARE
   SECTION 05｜事前登録のご案内
   病児専用CSS｜完全貼り替え版
   CARE COMMONへの影響なし
===================================================== */

/* NOTICE｜PC */
.bj-sickcare .bj-sickcare__scene-note {
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  gap: 12px;

  width: min(calc(100% - 40px), 900px);
  margin: 32px auto 0;
  padding: 18px 24px;

  border: 1px solid #e9b7a6;
  border-radius: 12px;
  background: #fff9f5;

  color: #18374a;
  box-shadow: 0 5px 18px rgba(24, 55, 74, .045);
}

/* ICON */
.bj-sickcare .bj-sickcare__scene-note-icon {
  flex: 0 0 auto;
  margin-top: 1px;

  color: #d98770;
  font-size: 19px;
  line-height: 1.5;
}

/* TEXT */
.bj-sickcare .bj-sickcare__scene-note-text {
  margin: 0;
  min-width: 0;

  color: #18374a;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: .025em;
}

/* HEADING */
.bj-sickcare .bj-sickcare__scene-note-text strong {
  display: block;
  margin-bottom: 3px;

  color: #18374a;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.7;
}

/* DESCRIPTION */
.bj-sickcare .bj-sickcare__scene-note-text span {
  display: block;
}

/* =====================================================
   TABLET｜768px - 1279px
===================================================== */

@media (min-width: 768px) and (max-width: 1279px) {

  .bj-sickcare .bj-sickcare__scene-note {
    width: min(calc(100% - 48px), 820px);
    margin-top: 28px;
    padding: 16px 20px;
  }

  .bj-sickcare .bj-sickcare__scene-note-text,
  .bj-sickcare .bj-sickcare__scene-note-text strong {
    font-size: 13px;
  }
}

/* =====================================================
   SMARTPHONE｜767px以下
===================================================== */

@media (max-width: 767px) {

  .bj-sickcare .bj-sickcare__scene-note {
    width: calc(100% - 32px);
    margin: 24px auto 0;
    padding: 15px 16px;
    gap: 10px;

    border-radius: 10px;
  }

  .bj-sickcare .bj-sickcare__scene-note-icon {
    margin-top: 1px;
    font-size: 17px;
  }

  .bj-sickcare .bj-sickcare__scene-note-text {
    font-size: 12px;
    line-height: 1.85;
    letter-spacing: .015em;
  }

  .bj-sickcare .bj-sickcare__scene-note-text strong {
    margin-bottom: 3px;
    font-size: 12px;
    line-height: 1.7;
  }
}


/* FAQ｜SPのみ改行・中央寄せ */
.bj-sickcare .bj-sickcare__sp-br {
  display: none;
}

@media (max-width: 767px) {
  .bj-sickcare .bj-care-faq__intro {
    text-align: center;
  }

  .bj-sickcare .bj-sickcare__sp-br {
    display: inline;
  }
}



/* ==========================================================
   Baby-J SICKCARE｜SECTION 08 / FINAL CTA
   CARE共通CSSを維持し、このセクションのみ調整
   既存のSECTION 08専用指定はこのブロックに置換
========================================================== */
.bj-sickcare .bj-sickcare-final .bj-sickcare-final__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: min(100%, 370px);
  min-height: 48px;
  margin: 20px 0 0;
  padding: 12px 20px;
  border-radius: 999px;
  background: #18374a;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
}
.bj-sickcare .bj-sickcare-final .bj-sickcare-final__cta:hover { opacity: .9; }

/* 768–1100: PC画像の構図をそのまま使用。左のコピー領域を確保 */
@media (min-width: 768px) and (max-width: 1100px) {
  .bj-sickcare .bj-sickcare-final .bj-care-final__visual {
    display: block;
    height: clamp(340px, 39vw, 430px);
    min-height: 0;
    background: #faf7f2;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__picture {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__image {
    position: static;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 57% center;
    transform: none;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__visual::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, #faf7f2 0%, rgba(250,247,242,.97) 33%, rgba(250,247,242,.7) 49%, transparent 72%);
    pointer-events: none;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    max-width: none;
    min-height: 100%;
    height: 100%;
    margin: 0;
    padding: 24px 5% 36px;
    background: transparent;
    text-align: left;
    transform: none;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__title {
    max-width: 65%;
    margin: 0;
    font-size: clamp(21px, 2.45vw, 28px);
    line-height: 1.5;
    letter-spacing: -.025em;
    white-space: nowrap;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__description {
    max-width: min(52%, 440px);
    margin: 14px 0 0;
    font-size: clamp(11px, 1.12vw, 13px);
    line-height: 1.85;
    overflow-wrap: anywhere;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__pc-break { display: none; }
  .bj-sickcare .bj-sickcare-final .bj-sickcare-final__cta {
    width: min(100%, 330px);
    min-height: 44px;
    margin-top: 22px;
    font-size: 12px;
  }
  /* 共通CSSのマイナスマージン(-90/-83px)がCTAに重なる原因 */
  .bj-sickcare .bj-sickcare-final .bj-care-final__benefits {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 20px 5% 24px;
    gap: 12px 24px;
    background: #faf7f2;
  }
}

/* 767px以下｜SP画像を切らず、自然な縦横比で表示 */
@media (max-width: 767px) {
  .bj-sickcare .bj-sickcare-final .bj-care-final__visual {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__picture {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__image {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__visual::before,
  .bj-sickcare .bj-sickcare-final .bj-care-final__visual::after {
    content: none !important;
    display: none !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__content {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 24px 6% 30px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    text-align: center !important;
    transform: none !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__title {
    margin: 0 !important;
    font-size: clamp(21px, 4.2vw, 28px) !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    text-align: center !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__description {
    max-width: 540px !important;
    margin: 12px 0 0 !important;
    font-size: clamp(11px, 1.8vw, 13px) !important;
    line-height: 1.85 !important;
    text-align: center !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__pc-break { display: none !important; }
  .bj-sickcare .bj-sickcare-final .bj-sickcare-final__cta {
    width: min(100%, 370px) !important;
    margin: 20px auto 0 !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__benefits {
    position: relative !important;
    margin: 0 !important;
    padding-top: 16px !important;
  }
}

/* =====================================================
   FINAL CTA | 768px以上：特典を写真の下端に重ねて一体化
   Care Commonの-90/-83pxをそのまま使わず、写真下端の
   約40pxだけ重ねる。CTAボタン領域とは独立させる。
   767px以下の既存縦積みは変更しない。
   ===================================================== */
@media (min-width: 768px) {
  .bj-sickcare .bj-sickcare-final .bj-care-final__benefits {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1600px;
    margin: -44px auto 0;
    padding: 0 clamp(35px, 5.2vw, 90px) 17px;
    gap: 12px 24px;
    background: transparent;
    box-sizing: border-box;
  }
}

/* 768–1100px｜CTAと特典行の間隔を縮める。CTA自体は移動しない。 */
@media (min-width: 768px) and (max-width: 1100px) {
  .bj-sickcare .bj-sickcare-final .bj-care-final__benefits {
    margin-top: -76px;
  }
}

/* 768–1100px | CTAボタンのみ特典行へ18px近づける。コピーと特典行は固定 */
@media (min-width: 768px) and (max-width: 1100px) {
  .bj-sickcare .bj-sickcare-final .bj-sickcare-final__cta {
    transform: translateY(18px);
  }
}


/* ==========================================================
   SP 767px以下｜HTML文言を表示・完成構図に寄せる
   画像を全面背景に、HTMLのコピー・CTAを前面配置。
   768px以上のFIXには影響しない。
   ========================================================== */
@media (max-width: 767px) {
  .bj-sickcare .bj-hero {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 978 / 1341 !important;
    overflow: hidden !important;
    background: #faf7f2 !important;
  }
  .bj-sickcare .bj-hero__picture,
  .bj-sickcare .bj-hero__image {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    transform: none !important;
  }
  .bj-sickcare .bj-hero__image { object-fit: fill !important; }
  .bj-sickcare .bj-hero__content {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    padding: 75% 6.7% 8% !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
    background: transparent !important;
  }
  .bj-sickcare .bj-hero__eyebrow { margin: 0 0 3% !important; font-size: clamp(10px,2vw,17px) !important; }
  .bj-sickcare .bj-hero__title { margin: 0 !important; font-size: clamp(23px,5.5vw,46px) !important; line-height: 1.35 !important; }
  .bj-sickcare .bj-hero__lead { margin: 3% 0 0 !important; max-width: 65% !important; font-size: clamp(10px,2.1vw,18px) !important; line-height: 1.5 !important; }
  .bj-sickcare .bj-sickcare__features {
    position: absolute !important; top: 63% !important; right: 6.5% !important;
    display: flex !important; flex-direction: column !important;
    width: 34% !important; gap: 9px !important; margin: 0 !important;
  }
  .bj-sickcare .bj-sickcare__feature {
    position: static !important; inset: auto !important; display: flex !important;
    width: 100% !important; height: auto !important; min-height: 34px !important;
    font-size: clamp(9px,1.8vw,15px) !important; box-sizing: border-box !important;
  }
  .bj-sickcare .bj-sickcare__hero-actions {
    position: absolute !important; bottom: 8% !important; left: 6.7% !important;
    display: flex !important; flex-direction: row !important; align-items: center !important;
    width: 86.6% !important; gap: 5% !important; margin: 0 !important;
  }
  .bj-sickcare .bj-sickcare__hero-button { width: 55% !important; min-height: 42px !important; font-size: clamp(10px,2vw,17px) !important; }
  .bj-sickcare .bj-sickcare__hero-sub { width: 40% !important; font-size: clamp(10px,1.9vw,16px) !important; }

  /* FINAL CTA｜SP完成構図：画像・コピー・CTA・特典を同一画面に重ねる。非表示指定なし */
  .bj-sickcare .bj-sickcare-final {
    position: relative !important;
    isolation: isolate !important;
    background: #faf7f2 !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__visual {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 941 / 1211 !important;
    overflow: visible !important;
    background: transparent !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__picture {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    transform: none !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__image {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: fill !important;
    transform: none !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__visual::before,
  .bj-sickcare .bj-sickcare-final .bj-care-final__visual::after,
  .bj-sickcare .bj-sickcare-final .bj-care-final__picture::after {
    content: none !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__content {
    position: absolute !important;
    inset: 61.2% 0 auto 0 !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 5.2% !important;
    box-sizing: border-box !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-align: left !important;
    transform: none !important;
    pointer-events: auto !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__title {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: clamp(18px, 5.05vw, 38px) !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    text-align: left !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__description {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: none !important;
    margin: 3.3% 0 0 !important;
    font-size: clamp(10px, 2.15vw, 16px) !important;
    line-height: 1.65 !important;
    text-align: left !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-sickcare-final__cta {
    position: relative !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 59% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 5.5% 0 0 !important;
    padding: 2.4% 3% !important;
    border-radius: 999px !important;
    background: #18374a !important;
    color: #fff !important;
    font-size: clamp(11px, 2vw, 16px) !important;
    line-height: 1.5 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    box-shadow: none !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-sickcare-final__cta span {
    display: inline !important;
    visibility: visible !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__benefits {
    position: absolute !important;
    z-index: 3 !important;
    left: 4.3% !important;
    right: 4.3% !important;
    bottom: 4.7% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 91.4% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 2.5% 2% !important;
    gap: 3px !important;
    /* 楕円の白ベタを廃止。写真となじむ柔らかいぼかしに変更 */
    border-radius: 0 !important;
    border: 0 !important;
    background: linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,.78) 12%, rgba(255,255,255,.86) 50%, rgba(255,255,255,.78) 88%, rgba(255,255,255,.18)) !important;
    -webkit-backdrop-filter: blur(9px) !important;
    backdrop-filter: blur(9px) !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__benefit {
    display: block !important;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: clamp(7px, 1.6vw, 12px) !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
  .bj-sickcare .bj-sickcare-final .bj-care-final__benefit::after {
    content: none !important;
  }
}


/* ==========================================================
   2026-11-04 | SP COPY FINAL TUNING
   ABOUT / SUPPORT POINT / SUPPORT FLOW の文字のみ
   HERO・FINAL CTA・768px以上は変更しない
   ========================================================== */
@media (max-width: 492px) {
  /* ABOUT：語尾の1文字落ちを抑え、自然な2行の見出しへ */
  .bj-sickcare .bj-care-about__title {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    padding-inline: 0;
    box-sizing: border-box;
    font-size: clamp(21px, 5.25vw, 25px);
    line-height: 1.55;
    text-wrap: balance;
    overflow-wrap: normal;
  }
  .bj-sickcare .bj-care-about__lead {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
    font-size: clamp(10.5px, 2.65vw, 12px);
    line-height: 1.9;
    text-wrap: pretty;
  }

  /* SUPPORT POINT / FLOW：サブコピーの孤立した語尾を防ぐ */
  .bj-sickcare .bj-care-points__intro,
  .bj-sickcare .bj-care-flow__intro {
    width: calc(100% - 24px);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    font-size: clamp(11px, 2.75vw, 12px);
    line-height: 1.85;
    text-wrap: pretty;
    overflow-wrap: normal;
  }

  /* SUPPORT POINT：4 BOX の文章ブロックは中央、文字は左揃え */
  .bj-sickcare .bj-care-points__card .bj-care-points__description {
    width: fit-content;
    max-width: 92%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    line-height: 1.8;
  }
}

/* ==========================================================
   SP <=486px | 2026-11-04 | HERO・OUR SUPPORTのみ
   HERO専門家表示 / OUR SUPPORT見出し
   ========================================================== */
@media (max-width: 486px) {
  /* HERO：専門家2種をサブコピーより下で横並びに */
  .bj-sickcare .bj-hero .bj-sickcare__features {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    margin: 14px 0 0 !important;
    flex: none !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__feature {
    width: 100% !important;
    min-width: 0 !important;
    padding: 7px 5px !important;
    gap: 4px !important;
    white-space: nowrap !important;
    font-size: clamp(9px, 2.4vw, 12px) !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__feature-icon {
    width: 22px !important;
    height: 22px !important;
  }

  /* HERO：見出し・本文・専門家の順に自然な文書フローで並べる */
  .bj-sickcare .bj-hero .bj-hero__lead {
    max-width: 100% !important;
    margin-top: 10px !important;
    font-size: clamp(10px, 2.25vw, 12px) !important;
    line-height: 1.55 !important;
  }

  /* OUR SUPPORT：「と」だけの孤立を防止 */
  .bj-sickcare .bj-care-support__title {
    max-width: 100% !important;
    font-size: clamp(22px, 5.35vw, 26px) !important;
    letter-spacing: .035em !important;
    line-height: 1.55 !important;
    text-wrap: balance;
  }

}

/* SCENE・SUPPORT FLOW：SP全幅で文章ブロックを中央、文字は左揃え */
@media (max-width: 767px) {
  .bj-sickcare .bj-care-scene__intro,
  .bj-sickcare .bj-care-flow__intro {
    width: fit-content !important;
    max-width: calc(100% - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left !important;
    text-wrap: pretty;
  }
}

/* ABOUT：486px以下は見出しの文字間を整え、折り返しを均等化 */
@media (max-width:486px) {
  .bj-sickcare .bj-care-about__title {
    letter-spacing: -.015em !important;
    text-wrap: balance !important;
  }
}

/* ==========================================================
   2026-11-04 | <=486px : HERO余白・ABOUT二行調整
   写真の縦横比を復旧。CTAは最下部で独立配置。
   ========================================================== */
@media (max-width: 486px) {
  .bj-sickcare .bj-hero {
    height: auto !important;
    aspect-ratio: 978 / 1341 !important;
    overflow: hidden !important;
  }
  .bj-sickcare .bj-hero__image {
    object-fit: fill !important;
    object-position: center center !important;
  }
  .bj-sickcare .bj-hero__content {
    padding: 73% 6.7% 8% !important;
  }
  .bj-sickcare .bj-hero .bj-hero__lead {
    margin-top: 8px !important;
    line-height: 1.45 !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__features {
    position: relative !important;
    margin-top: 10px !important;
    z-index: 2 !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__hero-actions {
    position: absolute !important;
    left: 6.7% !important;
    bottom: 7% !important;
    width: 86.6% !important;
    margin: 0 !important;
    z-index: 3 !important;
  }
  /* 一行目7字／二行目8字が入る幅を確保 */
  .bj-sickcare .bj-care-about__title {
    width: 8.5em !important;
    max-width: calc(100% - 20px) !important;
    margin-inline: auto !important;
    padding: 0 !important;
    font-size: clamp(19px, 5.05vw, 24px) !important;
    letter-spacing: 0 !important;
    line-height: 1.5 !important;
    text-wrap: auto !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

/* ==========================================================
   FINAL SP precision | 2026-11-04
   <=486px HERO: 専門家は補助要素、CTAと独立した固定領域
   <=491px ABOUT: 読点でのみ自然に折り返す
   ========================================================== */
@media (max-width: 486px) {
  .bj-sickcare .bj-hero .bj-sickcare__features {
    position: absolute !important;
    top: auto !important;
    bottom: 19% !important;
    left: 6.7% !important;
    right: 6.7% !important;
    width: 86.6% !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 8px !important;
    z-index: 2 !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__feature {
    min-height: 32px !important;
    height: 32px !important;
    padding: 3px 6px !important;
    gap: 5px !important;
    font-size: clamp(9px, 2.2vw, 11px) !important;
    font-weight: 600 !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__feature-icon {
    width: 19px !important;
    height: 19px !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__hero-actions {
    bottom: 7% !important;
  }
}
@media (max-width: 491px) {
  .bj-sickcare .bj-care-about__title {
    width: 10em !important;
    max-width: calc(100% - 20px) !important;
    font-size: clamp(19px, 4.8vw, 23px) !important;
    letter-spacing: 0 !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    text-wrap: wrap !important;
    margin-inline: auto !important;
  }
}

/* ==========================================================
   SP HERO | 0–767px | 写真・コピー・専門家・CTAの一体配置
   専門家とCTAを同じ通常フローに置き、重なりと過大な空白を防ぐ。
   ========================================================== */
@media (max-width: 767px) {
  .bj-sickcare .bj-hero .bj-hero__content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: calc(57% + clamp(80px, 24vw, 120px) + 10.225vw + 5px) 6.7% 5% !important;
    gap: 0 !important;
  }
  .bj-sickcare .bj-hero .bj-hero__lead {
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    font-size: clamp(10px, 2.15vw, 15px) !important;
    line-height: 1.5 !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__features {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    width: 100% !important;
    gap: 8px !important;
    margin: 14px 0 0 !important;
    z-index: 2 !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__feature {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 30px !important;
    height: auto !important;
    padding: 4px 6px !important;
    gap: 5px !important;
    font-size: clamp(9px, 1.75vw, 12px) !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__feature-icon {
    width: clamp(17px, 3vw, 22px) !important;
    height: clamp(17px, 3vw, 22px) !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__hero-actions {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    gap: 5% !important;
    margin: 30px 0 0 !important;
    z-index: 3 !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__hero-button {
    width: 55% !important;
    min-height: 42px !important;
  }
  .bj-sickcare .bj-hero .bj-sickcare__hero-sub {
    width: 40% !important;
  }
}

/* SP HERO | 最終微調整：画像原寸200–300px相当の下方移動を画面幅に換算。
   コンテンツが画像外へ溢れる幅だけHEROの高さを確保する。 */
@media (max-width: 767px) {
  .bj-sickcare .bj-hero {
    min-height: calc(100vw * 1341 / 978 + 80px + 10.225vw - 70px) !important;
    aspect-ratio: auto !important;
  }
  .bj-sickcare .bj-hero .bj-hero__content {
    height: auto !important;
    min-height: 100% !important;
    padding-bottom: 18px !important;
  }
}

/* SP HERO | 写真の縦横比のみ復旧。文字・BOX・CTA位置は維持。 */
@media (max-width: 767px) {
  .bj-sickcare .bj-hero {
    background: #faf7f2 !important;
  }
  .bj-sickcare .bj-hero .bj-hero__picture {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: calc(100vw * 1341 / 978) !important;
    overflow: hidden !important;
  }
  .bj-sickcare .bj-hero .bj-hero__image {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center top !important;
  }
}
