/* ================================================================
   househr-main.css  v2.0 — 完全整理版
   scope: body.househr-lp
   2026-03
================================================================ */

/* ================================================================
   Google Fonts — Noto Sans JP + BIZ UDPGothic
================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=BIZ+UDPGothic:wght@400;700&display=swap');

/* ================================================================
   デザイントークン
================================================================ */
body.househr-lp {
  --navy:    #0b4aa2;
  --blue:    #1157B3;
  --red:     #c00000;
  --border:  #d1dce8;
  --bg-lt:   #f8fbff;
  --bg-form: #eff4ff;
  /* ブランドカラー */
  --sc-sky:    #1ABCFE;
  --sc-blue:   #2B7FD4;
  --sc-dark:   #0D4A8A;
  --sc-light:  #E8F4FF;
  --sc-accent: #FF6B35;
}

/* ================================================================
   0) SWELLリセット
================================================================ */
body.househr-lp .l-content,
body.househr-lp .l-main,
body.househr-lp .l-main__inner,
body.househr-lp .l-container,
body.househr-lp .l-article,
body.househr-lp .post_content,
body.househr-lp .c-postContent,
body.househr-lp .c-entrySummary,
body.househr-lp .c-entry,
body.househr-lp .c-entry__content {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.househr-lp .c-breadcrumb,
body.househr-lp .c-pageTitle,
body.househr-lp .p-breadcrumb,
body.househr-lp .p-pageTitle,
body.househr-lp .l-sidebar,
body.househr-lp aside,
body.househr-lp #secondary,
body.househr-lp .widget-area { display: none !important; }

/* data-effect アニメを無効化（SWELLがopacity:0にする対策） */
body.househr-lp [data-effect] {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}

/* ================================================================
   1) ベース
================================================================ */
body.househr-lp {
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #111827;
  /* Noto Sans JP → BIZ UDPGothic（丸みがありプロフェッショナル）→ システムフォント */
  font-family: 'Noto Sans JP', 'BIZ UDPGothic', 'Hiragino Sans',
               -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-feature-settings: "palt" 0;
  text-rendering: optimizeLegibility;
}
body.househr-lp *,
body.househr-lp *::before,
body.househr-lp *::after { box-sizing: border-box; }

body.househr-lp p,
body.househr-lp li {
  line-height: 1.85;
  letter-spacing: .025em;
  overflow-wrap: anywhere;
}
body.househr-lp .container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 767px) {
  body.househr-lp .container { padding: 0 16px; }
}

/* PC/SP 出し分け（body.househr-lp スコープで SWELL に勝つ） */
body.househr-lp .u-only-pc { display: block; }
body.househr-lp .u-only-sp { display: none; }
@media (max-width: 767px) {
  body.househr-lp .u-only-pc,
  body.househr-lp .p-fv__contents > .u-only-pc { display: none !important; }
  body.househr-lp .u-only-sp { display: block !important; }
}

/* ================================================================
   2) LP専用ヘッダー（SWELLヘッダー非表示）
================================================================ */
body.househr-lp .l-header,
body.househr-lp .l-fixHeader,
body.househr-lp .fix-header { display: none !important; }

body.househr-lp #header.header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 24px !important;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.06);
  position: sticky;
  top: 0;
  z-index: 9999;
}
body.househr-lp #header .header__logo img { height: 50px; width: auto; display: block; }
body.househr-lp #header .gNav { margin-left: auto; }
body.househr-lp #header .gNav__menu {
  list-style: none; margin: 0; padding: 0;
  display: flex; align-items: center; gap: 24px; flex-wrap: nowrap;
}
body.househr-lp #header .gNav__menu-link {
  color: #111827; text-decoration: none; font-weight: 700; font-size: 15px;
}
body.househr-lp #header .gNav__menu-link__color-accent {
  display: inline-flex; align-items: center; justify-content: center;
  height: 44px; padding: 0 26px; border-radius: 8px;
  background: #014C96; color: #fff; font-weight: 900;
}

/* ================================================================
   3) 共通見出し .heading
================================================================ */
body.househr-lp .heading { text-align: center; margin: 0 0 34px; }
body.househr-lp .heading__subtitle {
  display: inline-block;
  font-size: 14px; font-weight: 900; letter-spacing: .12em;
  color: #0b4aa2; margin-bottom: 12px;
  position: relative; padding-top: 26px;
}
body.househr-lp .heading__subtitle::before {
  content: "★\A★★";
  white-space: pre;
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  text-align: center; line-height: 1.05; font-size: 11px;
  letter-spacing: 6px; color: #f4c542;
}
body.househr-lp .heading__title {
  display: block; max-width: 980px; margin: 0 auto;
  line-height: 1.45; letter-spacing: .04em;
}
body.househr-lp .heading__title em {
  display: inline-block; font-style: normal; font-weight: 900;
  font-size: clamp(26px, 3vw, 42px); line-height: 1.35; color: #111827;
}
body.househr-lp .heading__title-emphasis {
  display: inline-block; font-size: clamp(20px, 2.6vw, 30px);
  font-weight: 900; color: #d10f0f; margin-top: 8px;
}
/* 白文字バリアント（背景が暗いセクション用） */
body.househr-lp .u-color-white .heading__subtitle,
body.househr-lp #case .heading__subtitle { color: rgba(255,255,255,.9) !important; }
body.househr-lp #case .heading__title em { color: rgba(255,255,255,.98) !important; }

/* ================================================================
   4) FV — 唯一の定義（fv-fix.css統合済み）
   PC: 3カラムグリッド（テキスト | 人物 | フォーム）
   SP: absoluteレイヤー（テキスト上 / 人物右下 / バッジ左下）
================================================================ */

/* ---- ベースレイヤー ---- */
body.househr-lp .p-fv__mv {
  position: relative;
  overflow: hidden;
  min-height: 580px;
  box-sizing: border-box;
}
body.househr-lp .p-fv__mv-bg {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
}
body.househr-lp .p-fv__mv-bg img {
  width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block;
}
body.househr-lp .p-fv__mv-gradient {
  position: absolute !important; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(
    105deg,
    rgba(0,18,56,.88) 0%,
    rgba(0,30,80,.75) 40%,
    rgba(0,40,100,.50) 65%,
    rgba(0,40,100,.20) 100%
  );
}
body.househr-lp .p-fv__mv-inner { position: relative; z-index: 2; }

/* ---- PC 3カラムグリッド ---- */
/* HTML順: person(2) → info(1) → u-only-pc(3) → grid-column で明示配置 */
body.househr-lp .p-fv__contents {
  position: relative;
  max-width: 1320px; margin: 0 auto;
  padding: 54px 36px;
  display: grid;
  grid-template-columns: 1fr 420px 360px;  /* col1=可変, col2=420px固定, col3=360px固定 */
  grid-template-rows: auto;
  column-gap: 20px;
  align-items: center; /* 全列を縦中央揃え */
}

/* col1: テキスト（HTML上はperson後にあるためgrid-column:1で先頭へ） */
body.househr-lp .p-fv__info {
  grid-column: 1; grid-row: 1;
  z-index: 3; color: #fff; min-width: 0;
}
/* col2: 人物（下揃え） */
body.househr-lp .p-fv__mv-person {
  grid-column: 2; grid-row: 1;
  z-index: 3;
  pointer-events: none;
  display: flex; align-items: flex-end; justify-content: center;
  align-self: end;
  overflow: visible;
}
body.househr-lp .p-fv__mv-person img {
  width: 110%; height: auto; display: block;
  margin-bottom: -20px; /* 少し下にはみ出す */
}
/* col3: フォーム */
body.househr-lp .p-fv__contents > .u-only-pc {
  grid-column: 3; grid-row: 1;
  z-index: 5; width: 100%; display: block !important;
}
body.househr-lp .p-consultation__form {
  width: 100%; max-width: 360px;
}

/* クリック阻害防止 */
body.househr-lp .p-fv__mv-bg,
body.househr-lp .p-fv__mv-gradient,
body.househr-lp .p-fv__mv-person { pointer-events: none !important; }
body.househr-lp .p-consultation__form,
body.househr-lp .p-consultation__form * { pointer-events: auto !important; }

/* ---- PCテキスト ---- */
body.househr-lp .p-fv__mv-message { position: relative; padding-left: 0; }

/* サブコピー「住宅・不動産業界を知り尽くしたプロが」 */
body.househr-lp .p-fv__mv-message-text-1 {
  display: block;
  background: none; backdrop-filter: none; -webkit-backdrop-filter: none;
  border: none; border-radius: 0; padding: 0;
  color: rgba(255,255,255,.92);
  font-size: clamp(16px, 1.6vw, 22px);
  font-weight: 700; line-height: 1.6; margin: 0 0 12px;
  white-space: normal;
  letter-spacing: .04em;
  text-shadow: 0 2px 12px rgba(0,0,0,.5);
}

/* メインキャッチ「"あなた"の転職をサポート」 */
body.househr-lp .p-fv__mv-message-text-2 {
  color: #fff;
  font-size: clamp(36px, 4vw, 58px);
  font-weight: 900; line-height: 1.12; letter-spacing: .01em;
  margin: 0 0 20px;
  white-space: nowrap;
  text-shadow: 0 3px 18px rgba(0,0,0,.4);
}

body.househr-lp .p-fv__mv-message-text__accent {
  display: inline; color: #ffe566;
  text-shadow: 0 0 20px rgba(255,210,0,.4), 0 3px 18px rgba(0,0,0,.4);
  padding: 0 1px;
}
body.househr-lp .p-fv__mv-message-text__normal { color: rgba(255,255,255,.92); }

/* PC実績バッジ */
body.househr-lp .p-fv__achievements {
  display: flex; gap: 16px; margin-top: 0; align-items: center;
}
body.househr-lp .p-fv__achievements-lead {
  color: rgba(255,255,255,.92); font-weight: 800; font-size: 16px; letter-spacing: .06em;
}
body.househr-lp .p-fv__achievements-number {
  color: #fff; font-weight: 900; font-size: 52px; line-height: 1;
}
body.househr-lp .p-fv__achievements-unit {
  color: rgba(255,255,255,.92); font-weight: 800; font-size: 16px;
}
body.househr-lp .p-fv__achievements-feather-left,
body.househr-lp .p-fv__achievements-feather-right {
  filter: drop-shadow(0 2px 10px rgba(0,0,0,.18)); opacity: 1;
}

/* Step3/4: ボタンをスクロールで見失わない */
body.househr-lp .step-3 .form__buttonWrapper,
body.househr-lp .step-4 .form__buttonWrapper {
  position: sticky; bottom: 0; background: #fff;
  padding-top: 10px; margin-top: 10px; z-index: 2;
}

/* ---- PC レスポンシブ ---- */
@media (min-width: 768px) {
  body.househr-lp .p-fv__info    { grid-column: 1 !important; }
  body.househr-lp .p-fv__mv-person { grid-column: 2 !important; }
  body.househr-lp .p-consultation__form,
  body.househr-lp .p-fv__contents > .u-only-pc { grid-column: 3 !important; }
}

@media (max-width: 1199px) {
  body.househr-lp .p-fv__contents {
    padding: 44px 24px;
    grid-template-columns: 1fr 360px 320px;
    column-gap: 16px;
  }
  body.househr-lp .p-consultation__form { max-width: 320px; }
}

@media (max-width: 979px) {
  body.househr-lp .p-fv__contents {
    grid-template-columns: 1fr 300px 280px;
    column-gap: 12px; padding: 36px 16px;
  }
  body.househr-lp .p-consultation__form { max-width: 280px; }
  body.househr-lp .p-fv__mv-message-text-2 { font-size: 36px; }
}

/* ================================================================
   4-SP) FV — SP完全定義（≤767px）
   テキスト：左上 / 人物：右下 / バッジ：左下
   ★ inset:0 で p-fv__info をフルハイト化 = バッジが確実に下へ
================================================================ */
@media (max-width: 767px) {

  /* ヒーロー全体の高さ */
  html body.househr-lp .p-fv__mv {
    height: 74svh !important;
    min-height: 440px !important;
    max-height: 660px !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
  }

  /* 背景画像 */
  html body.househr-lp .p-fv__mv-bg img {
    object-position: center top !important;
  }

  /* グラデーション */
  html body.househr-lp .p-fv__mv-gradient {
    background: linear-gradient(
      160deg,
      rgba(0,24,64,.82) 0%,
      rgba(0,24,64,.55) 50%,
      rgba(0,24,64,.15) 100%
    ) !important;
  }

  /* inner: relativeのまま高さだけ確保 */
  html body.househr-lp .p-fv__mv-inner {
    height: 100% !important;
    width: 100% !important;
    display: block !important;
  }

  /* contents: grid解除 / 相対配置 / 高さ100% */
  html body.househr-lp .p-fv__contents {
    display: block !important;
    position: relative !important;
    height: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    grid-template-columns: none !important;
    column-gap: 0 !important;
  }

  /* 人物: 右下absolute */
  html body.househr-lp .p-fv__mv-person {
    position: absolute !important;
    bottom: 0 !important; right: 0 !important;
    left: auto !important; top: auto !important;
    width: 62vw !important; max-width: 280px !important;
    z-index: 3 !important;
    display: block !important; margin: 0 !important;
    pointer-events: none !important;
  }
  html body.househr-lp .p-fv__mv-person img {
    display: block !important; width: 100% !important;
    height: auto !important; max-height: none !important;
    filter: drop-shadow(-6px 0 20px rgba(0,10,50,.4)) !important;
  }

  /* PCフォーム非表示（FV内のみ / p-fv-form-sp は除外） */
  html body.househr-lp .p-fv__contents .u-only-pc,
  html body.househr-lp .p-fv__contents .p-consultation__form {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* info: フルハイト（inset:0）+ flex縦でテキスト上・バッジ下 */
  html body.househr-lp .p-fv__info {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    right: 0 !important; bottom: 0 !important; /* ← フルハイト化が重要 */
    z-index: 5 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    padding: 28px 18px 20px !important;
    pointer-events: none !important;
    color: #fff !important;
  }

  /* メッセージ: 上部に固定 */
  html body.househr-lp .p-fv__mv-message {
    flex: 0 0 auto !important;
    padding-left: 0 !important;
  }
  html body.househr-lp .p-fv__mv-message::before {
    display: none !important; content: none !important;
  }

  /* text-1: サブコピー */
  html body.househr-lp .p-fv__mv-message-text-1 {
    font-size: 14px !important;
    font-weight: 700 !important; line-height: 1.8 !important;
    white-space: normal !important;
    color: rgba(255,255,255,.9) !important;
    text-shadow: 0 1px 6px rgba(0,0,0,.5) !important;
    margin: 0 0 4px !important;
    letter-spacing: .04em !important;
    background: none !important; backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important; padding: 0 !important;
  }

  /* text-2: メインキャッチ */
  html body.househr-lp .p-fv__mv-message-text-2,
  html body.househr-lp h1.p-fv__mv-message-text-2 {
    font-size: clamp(32px, 9vw, 42px) !important;
    font-weight: 900 !important; line-height: 1.2 !important;
    white-space: nowrap !important;
    margin: 0 !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.5) !important;
    letter-spacing: 0 !important;
    max-width: none !important;
  }

  /* 実績バッジ: flex末尾 = 左下に自然に落ちる */
  html body.househr-lp .p-fv__achievements {
    flex: 0 0 auto !important;
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 !important;
    align-items: flex-start !important;
    pointer-events: none !important;
    transform: none !important;
    z-index: 6 !important;
  }
  html body.househr-lp .p-fv__achievements__wrap {
    background: rgba(0,28,74,.75) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 10px !important;
    padding: 8px 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 130px !important;
  }
  html body.househr-lp .p-fv__achievements-feather-left,
  html body.househr-lp .p-fv__achievements-feather-right {
    display: none !important;
  }
  html body.househr-lp .p-fv__achievements-text-wrap {
    display: flex !important; flex-direction: column !important;
  }
  html body.househr-lp .p-fv__achievements-wrap {
    display: flex !important; align-items: baseline !important; gap: 2px !important;
  }
  html body.househr-lp .p-fv__achievements-number {
    font-size: 26px !important; font-weight: 900 !important;
    color: #fff !important; line-height: 1 !important;
  }
  html body.househr-lp .p-fv__achievements-lead {
    font-size: 9px !important; color: rgba(255,255,255,.7) !important;
    letter-spacing: .06em !important; margin: 0 !important;
  }
  html body.househr-lp .p-fv__achievements-unit {
    font-size: 10px !important; color: rgba(255,255,255,.8) !important; line-height: 1.3 !important;
  }
}

/* ================================================================
   5) FVフォームカード（上段）
================================================================ */
body.househr-lp .p-consultation__form { width: 100%; }
body.househr-lp .p-consultation__form .c-form__wrap {
  background: #fff !important; border-radius: 16px !important;
  padding: 18px 18px !important; box-shadow: 0 20px 60px rgba(0,0,0,.14) !important;
}


/* ----------------------------------------------------------------
   フォームタイトル — 全て同フォント・黒ベース・30秒だけ赤
---------------------------------------------------------------- */
body.househr-lp .c-form-title-wrap {
  padding: 0 0 14px !important;
  margin: 0 0 16px !important;
  border-bottom: 1px solid rgba(11,74,162,.10) !important;
}
body.househr-lp .c-form-title-wrap::before { display: none !important; }

/* h3全体 */
body.househr-lp .c-form__title {
  display: block !important;
  margin: 0 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  line-height: 1.4 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
}

/* 全子要素を親と同じ見た目にリセット */
body.househr-lp .c-form__title-lead,
body.househr-lp .c-form__title-main,
body.househr-lp .c-form__title-small,
body.househr-lp .c-form__title-red {
  display: inline !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  letter-spacing: inherit !important;
  vertical-align: baseline !important;
  position: static !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.househr-lp .c-form__title-red::after { display: none !important; }

/* "30" だけ赤・大きく・斜体なし */
body.househr-lp .c-form__title-accent {
  display: inline !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  font-style: normal !important;
  color: var(--red) !important;
  letter-spacing: -.01em !important;
  vertical-align: baseline !important;
}

/* ステップ丸（上段） */
body.househr-lp .p-consultation__form .c-form__step,
body.househr-lp .p-consultation__form ol.c-form__step {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important;
  gap: 0 !important; margin: 0 0 20px !important;
  padding: 6px 12px !important; list-style: none !important;
  background: #f8fbff !important; border-radius: 10px !important;
  position: relative !important;
}
body.househr-lp .p-consultation__form ol.c-form__step::after {
  content: "" !important; position: absolute !important;
  top: 50%; left: 30px; right: 30px; height: 2px;
  background: #d1dce8 !important; transform: translateY(-50%) !important; z-index: 0 !important;
}
body.househr-lp .p-consultation__form .form__step-item {
  position: relative !important; z-index: 1 !important;
  width: 32px !important; height: 32px !important; border-radius: 50% !important;
  background: #fff !important; border: 2px solid #c8d8ec !important;
  color: #9ab0c8 !important; font-size: 12px !important; font-weight: 900 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}
body.househr-lp .p-consultation__form .form__step-item[aria-current="true"] {
  width: 38px !important; height: 38px !important;
  background: var(--navy) !important; border-color: var(--navy) !important;
  color: #fff !important; font-size: 14px !important;
  box-shadow: 0 4px 14px rgba(11,74,162,.32) !important;
}

/* fieldset切替 */
body.househr-lp .p-consultation__form .form__fieldset[aria-hidden="true"]  { display: none !important; }
body.househr-lp .p-consultation__form .form__fieldset[aria-hidden="false"] { display: block !important; }
body.househr-lp .p-consultation__form .form__fieldset:not([aria-hidden]) { display: block !important; }

/* Step1/2: ラジオタイル — 正方形・白SVGアイコン */
body.househr-lp .p-consultation__form .wpcf7-radio {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 8px !important; margin: 0 !important; padding: 0 !important; width: 100% !important;
}
body.househr-lp .p-consultation__form .wpcf7-radio .wpcf7-list-item { margin: 0 !important; display: block !important; }
body.househr-lp .p-consultation__form .wpcf7-radio input[type="radio"] {
  position: absolute !important; opacity: 0 !important; pointer-events: none !important;
}
body.househr-lp .p-consultation__form .wpcf7-radio .wpcf7-list-item label {
  display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important;
  gap: 6px !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 72px !important;
  padding: 8px 6px !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, #1a5fc8, #0b4aa2) !important;
  border: 1.5px solid rgba(255,255,255,.18) !important;
  color: #fff !important;
  font-size: 13px !important; font-weight: 800 !important;
  cursor: pointer !important; text-align: center !important;
  transition: all .18s ease !important;
  line-height: 1.2 !important;
  box-shadow: 0 6px 20px rgba(11,74,162,.3) !important;
}
/* アイコン共通 — 白SVGをmaskで表示 */
body.househr-lp .p-consultation__form .wpcf7-radio .wpcf7-list-item label::before {
  content: "" !important;
  display: block !important;
  width: 24px !important; height: 24px !important;
  flex-shrink: 0 !important;
  background-color: #fff !important;
  -webkit-mask-repeat: no-repeat !important; mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important; mask-position: center !important;
  -webkit-mask-size: contain !important; mask-size: contain !important;
}
/* 今すぐ — ロケット（すぐに飛び出す） */
body.househr-lp .p-consultation__form .wpcf7-radio .wpcf7-list-item:nth-child(1) label::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z'/%3E%3Cpath d='m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0'/%3E%3Cpath d='M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z'/%3E%3Cpath d='m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0'/%3E%3Cpath d='M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/svg%3E") !important;
  width: 32px !important; height: 32px !important;
}
/* 3ヶ月以内 — カレンダー（シャープ） */
body.househr-lp .p-consultation__form .wpcf7-radio .wpcf7-list-item:nth-child(2) label::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18'/%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Ccircle cx='12' cy='15' r='1.5' fill='white' stroke='none'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18'/%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Ccircle cx='12' cy='15' r='1.5' fill='white' stroke='none'/%3E%3C/svg%3E") !important;
}
/* 半年以内 — 砂時計（時間がかかる） */
body.househr-lp .p-consultation__form .wpcf7-radio .wpcf7-list-item:nth-child(3) label::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 22h14'/%3E%3Cpath d='M5 2h14'/%3E%3Cpath d='M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22'/%3E%3Cpath d='M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 22h14'/%3E%3Cpath d='M5 2h14'/%3E%3Cpath d='M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22'/%3E%3Cpath d='M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2'/%3E%3C/svg%3E") !important;
}
/* 未定 — ふきだし（まずは相談） */
body.househr-lp .p-consultation__form .wpcf7-radio .wpcf7-list-item:nth-child(4) label::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Ccircle cx='9' cy='10' r='1' fill='white' stroke='none'/%3E%3Ccircle cx='12' cy='10' r='1' fill='white' stroke='none'/%3E%3Ccircle cx='15' cy='10' r='1' fill='white' stroke='none'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Ccircle cx='9' cy='10' r='1' fill='white' stroke='none'/%3E%3Ccircle cx='12' cy='10' r='1' fill='white' stroke='none'/%3E%3Ccircle cx='15' cy='10' r='1' fill='white' stroke='none'/%3E%3C/svg%3E") !important;
}
/* 選択時 — スカイブルー + 浮き上がり */
body.househr-lp .p-consultation__form .wpcf7-radio .wpcf7-list-item label:has(input:checked) {
  background: linear-gradient(145deg, #0ea5e9, #0284c7) !important;
  border-color: rgba(255,255,255,.4) !important;
  box-shadow: 0 10px 28px rgba(14,165,233,.45) !important;
  transform: translateY(-2px) scale(1.02) !important;
}

/* Step3: チェックボックス */
body.househr-lp .p-consultation__form .wpcf7-checkbox {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 10px !important; margin: 12px 0 16px !important; padding: 0 !important; width: 100% !important;
}
body.househr-lp .p-consultation__form .wpcf7-checkbox .wpcf7-list-item { margin: 0 !important; display: block !important; }
body.househr-lp .p-consultation__form .wpcf7-checkbox input[type="checkbox"] {
  appearance: auto !important; -webkit-appearance: auto !important;
  accent-color: var(--navy) !important; width: 16px !important; height: 16px !important;
  flex-shrink: 0 !important; position: static !important; opacity: 1 !important; pointer-events: auto !important;
}
body.househr-lp .p-consultation__form .wpcf7-checkbox .wpcf7-list-item label {
  display: flex !important; align-items: center !important; gap: 8px !important;
  min-height: 48px !important; padding: 10px 10px !important;
  border-radius: 10px !important; background: #fff !important;
  border: 1.5px solid var(--border) !important; color: #111827 !important;
  font-size: 13px !important; font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .15s, border-color .15s !important;
}
body.househr-lp .p-consultation__form .wpcf7-checkbox .wpcf7-list-item label:has(input:checked) {
  background: var(--bg-form) !important; border-color: var(--navy) !important; color: var(--navy) !important;
}

/* 次へ/戻るボタン（上段） */
body.househr-lp .p-consultation__form div.form__buttonWrapper {
  display: grid !important; gap: 10px !important; margin-top: 14px !important;
}
body.househr-lp .p-consultation__form .button--forward,
body.househr-lp .p-consultation__form .button--accent {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; height: 52px !important; border-radius: 12px !important;
  background: var(--red) !important; color: #fff !important;
  font-weight: 900 !important; font-size: 15px !important; border: 0 !important;
  cursor: pointer !important; box-shadow: 0 10px 26px rgba(192,0,0,.22) !important;
  font-family: inherit !important;
}
body.househr-lp .p-consultation__form .button--back {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; height: 44px !important; border-radius: 12px !important;
  background: #fff !important; color: var(--navy) !important;
  border: 2px solid var(--navy) !important; font-weight: 900 !important;
  font-size: 14px !important; cursor: pointer !important; font-family: inherit !important;
}

/* Step4: 入力欄 */
body.househr-lp .p-consultation__form label.form__labelGroup {
  display: flex !important; flex-direction: column !important; gap: 6px !important; margin: 0 0 12px !important;
}
body.househr-lp .p-consultation__form .form__labelGroup-label {
  font-size: 13px !important; font-weight: 800 !important; color: #0f172a !important;
  display: flex !important; align-items: center !important; gap: 6px !important;
}
body.househr-lp .p-consultation__form .form__tag--required {
  display: inline-flex !important; align-items: center !important;
  height: 18px !important; padding: 0 7px !important; border-radius: 4px !important;
  background: var(--red) !important; color: #fff !important;
  font-size: 11px !important; font-weight: 900 !important;
}
body.househr-lp .p-consultation__form input[type="text"],
body.househr-lp .p-consultation__form input[type="tel"],
body.househr-lp .p-consultation__form input[type="email"],
body.househr-lp .p-consultation__form select.form__select,
body.househr-lp .p-consultation__form select.form__control {
  width: 100% !important; height: 46px !important;
  border-radius: 10px !important; border: 1.5px solid var(--border) !important;
  background: var(--bg-lt) !important; padding: 0 12px !important;
  font-size: 14px !important; color: #0f172a !important;
  font-family: inherit !important; outline: none !important;
  transition: border-color .15s, box-shadow .15s !important;
}
body.househr-lp .p-consultation__form input[type="text"]:focus,
body.househr-lp .p-consultation__form input[type="tel"]:focus,
body.househr-lp .p-consultation__form input[type="email"]:focus {
  border-color: var(--navy) !important; background: #fff !important;
  box-shadow: 0 0 0 3px rgba(11,74,162,.10) !important;
}
body.househr-lp .p-consultation__form textarea.form__control {
  width: 100% !important; min-height: 80px !important; padding: 10px 12px !important;
  border-radius: 10px !important; border: 1.5px solid var(--border) !important;
  background: var(--bg-lt) !important; font-size: 14px !important;
  font-family: inherit !important; resize: vertical !important;
}
/* プライバシー同意 */
body.househr-lp .p-consultation__form .wpcf7-acceptance .wpcf7-list-item { margin: 0 !important; }
body.househr-lp .p-consultation__form .wpcf7-acceptance label {
  display: flex !important; align-items: flex-start !important; gap: 8px !important;
  font-size: 12px !important; color: #4b5563 !important; font-weight: 700 !important;
  line-height: 1.6 !important; cursor: pointer !important;
}
body.househr-lp .p-consultation__form .wpcf7-acceptance input[type="checkbox"] {
  width: 16px !important; height: 16px !important; flex-shrink: 0 !important;
  margin-top: 2px !important; accent-color: var(--navy) !important;
  position: static !important; opacity: 1 !important; pointer-events: auto !important;
}
body.househr-lp .p-consultation__form .wpcf7-acceptance a { color: var(--navy) !important; text-decoration: underline !important; }
/* CF7 submit */
body.househr-lp .p-consultation__form .wpcf7-submit {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; min-height: 54px !important; border-radius: 12px !important;
  background: var(--red) !important; color: #fff !important; font-weight: 900 !important;
  font-size: 16px !important; border: 0 !important; cursor: pointer !important;
  box-shadow: 0 12px 28px rgba(192,0,0,.26) !important; font-family: inherit !important;
  margin-top: 14px !important;
}
/* disabled */
body.househr-lp .p-consultation__form .button.is-disabled,
body.househr-lp .p-consultation__form .button[aria-disabled="true"] {
  opacity: .45 !important; cursor: not-allowed !important; box-shadow: none !important;
}
/* CF7外枠リセット */
body.househr-lp .p-consultation__form .wpcf7 {
  background: transparent !important; border: 0 !important;
  box-shadow: none !important; padding: 0 !important; border-radius: 0 !important;
}
/* SP FVフォーム */
@media (max-width: 767px) {
  body.househr-lp .p-fv-form-sp {
    background: #eff4ff; padding: 24px 16px;
  }
  body.househr-lp .p-consultation__form-sp-inner { max-width: 440px; margin: 0 auto; }
  body.househr-lp .p-consultation__form .c-form__wrap { padding: 20px 16px !important; }
}

/* ================================================================
   6) ロゴ帯（マーキー）
================================================================ */
body.househr-lp .fv_logoArea {
  background: #fff;
  padding: 20px 0;
  overflow: hidden;
  border-top: 1px solid rgba(0,0,0,.06);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
body.househr-lp .fv_slider {
  width: max-content;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
body.househr-lp .fv_slider > li {
  flex: 0 0 auto !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  /* 区切り線 */
  border-right: 1px solid rgba(0,0,0,.08) !important;
}
body.househr-lp .fv_slider > li:last-child { border-right: none !important; }
body.househr-lp .fv_logoArea img {
  height: 42px !important;
  width: auto !important;
  max-width: 160px !important;
  object-fit: contain !important;
  opacity: .82;
  filter: grayscale(20%);
  transition: opacity .2s, filter .2s;
}
body.househr-lp .fv_logoArea img:hover { opacity: 1; filter: grayscale(0%); }
@media (max-width: 767px) {
  body.househr-lp .fv_slider > li { padding: 0 20px !important; }
  body.househr-lp .fv_logoArea img { height: 30px !important; max-width: 110px !important; }
}

/* ================================================================
   7) お悩みセクション
================================================================ */
body.househr-lp .onayami { background: #f3f8ff; padding: 56px 0; }
body.househr-lp .onayami .inner { max-width: 980px; margin: 0 auto; padding: 0 20px; }
body.househr-lp .onayami .s_pc,
body.househr-lp .onayami .s_sp { width: 100%; height: auto; display: block; border-radius: 18px; }
@media (min-width: 768px) { body.househr-lp .onayami .s_sp { display: none; } }
@media (max-width: 767px) {
  body.househr-lp .onayami { padding: 34px 0; }
  body.househr-lp .onayami .s_pc { display: none; }
}

/* ================================================================
   8) サービス紹介（#service）
================================================================ */
body.househr-lp #service { padding: 90px 0 84px; background: #fff; border-top: 1px solid rgba(0,0,0,.06); }
@media (max-width: 767px) { body.househr-lp #service { padding: 56px 0 52px; } }

body.househr-lp #service .heading__subtitle { color: #2563eb !important; }
body.househr-lp #service .heading__title em { color: #111827 !important; }

body.househr-lp #service .cardGrid {
  display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 28px !important; margin: 40px 0 0 !important;
  padding: 0 !important; list-style: none !important;
}
@media (max-width: 1100px) {
  body.househr-lp #service .cardGrid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 767px) {
  body.househr-lp #service .cardGrid { grid-template-columns: 1fr !important; gap: 18px !important; margin-top: 28px !important; }
}
body.househr-lp #service .cardGrid__col { width: auto !important; margin: 0 !important; float: none !important; }
body.househr-lp #service .card--outline {
  background: #fff !important; border: 1.5px solid #1e3a6e !important;
  border-radius: 18px !important; box-shadow: 0 12px 28px rgba(0,0,0,.07) !important;
  height: 100% !important; display: flex !important;
}
body.househr-lp #service .card__inner {
  padding: 28px 20px 20px !important; display: flex !important; flex-direction: column !important; height: 100% !important;
}
body.househr-lp #service .card__illust { display: flex !important; justify-content: center !important; margin: 0 0 16px !important; }
body.househr-lp #service .card__illust img { width: 180px !important; max-width: 100% !important; height: auto !important; }
body.househr-lp #service .card__title {
  text-align: center !important; color: #2563eb !important; font-weight: 900 !important;
  font-size: 19px !important; margin: 0 0 12px !important;
  padding-bottom: 12px !important; border-bottom: 2px solid #2563eb !important;
}
body.househr-lp #service .card__inner p {
  margin: 0 !important; color: #4b5563 !important; font-size: 14px !important; line-height: 1.85 !important;
}

/* ================================================================
   9) 中段フォーム（#support）
================================================================ */
body.househr-lp #support {
  position: relative !important; overflow: hidden !important; padding: 90px 0 100px !important;
}
@media (max-width: 767px) { body.househr-lp #support { padding: 64px 0 80px !important; } }

/* 背景 */
body.househr-lp #support .section__bg { position: absolute !important; inset: 0 !important; z-index: 0 !important; }
body.househr-lp #support .section__bg img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
body.househr-lp #support::before {
  content: "" !important; position: absolute !important; inset: 0 !important;
  background: rgba(0,50,120,.60) !important; z-index: 1 !important;
}
body.househr-lp #support > .container { position: relative !important; z-index: 2 !important; }

/* セクション見出し（白文字） */
body.househr-lp #support .heading { text-align: center !important; margin-bottom: 28px !important; }
body.househr-lp #support .heading__subtitle {
  color: rgba(255,255,255,.92) !important; font-size: 14px !important;
  font-weight: 900 !important; letter-spacing: .12em !important;
}
body.househr-lp #support .heading__subtitle::before { color: #ffe566 !important; }
body.househr-lp #support .heading__title em {
  color: #fff !important; font-style: normal !important; font-weight: 900 !important;
  font-size: clamp(22px, 2.4vw, 34px) !important; text-shadow: 0 2px 12px rgba(0,0,0,.2) !important;
}

/* 白カード */
body.househr-lp #support .form {
  max-width: 760px !important; margin: 0 auto !important;
  background: rgba(255,255,255,.97) !important; border-radius: 20px !important;
  padding: 36px 32px !important; box-shadow: 0 24px 64px rgba(0,0,0,.24) !important;
  color: #111827 !important;
}
@media (max-width: 767px) {
  body.househr-lp #support .form { padding: 24px 18px !important; border-radius: 16px !important; }
}

/* CF7外枠リセット */
body.househr-lp #support .wpcf7,
body.househr-lp #support .wpcf7 form {
  background: transparent !important; border: 0 !important;
  box-shadow: none !important; padding: 0 !important; border-radius: 0 !important;
}

/* fieldset切替 */
body.househr-lp #support .form__fieldset[aria-hidden="true"]  { display: none !important; }
body.househr-lp #support .form__fieldset[aria-hidden="false"] { display: block !important; }
body.househr-lp #support .form__fieldset:not([aria-hidden])   { display: block !important; }

/* Step見出し（白カード内） */
body.househr-lp #support .form__fieldset .heading { text-align: center !important; margin: 0 0 22px !important; }
body.househr-lp #support .form__fieldset .heading__subtitle {
  color: var(--navy) !important; font-size: 13px !important; letter-spacing: .1em !important;
}
body.househr-lp #support .form__fieldset .heading__subtitle::before { color: #f4c542 !important; }
body.househr-lp #support .form__fieldset .heading__title em {
  color: #0f172a !important; font-style: normal !important; font-weight: 900 !important;
  font-size: clamp(20px, 2.2vw, 28px) !important; text-shadow: none !important;
}

/* wpcf7-form-control-wrap を block に（spanなのでblock必須） */
body.househr-lp #support .wpcf7-form-control-wrap {
  display: block !important; width: 100% !important;
}

/* ★ラジオ（span.wpcf7-radio）— 必ずflexにする */
body.househr-lp #support span.wpcf7-radio {
  display: flex !important; flex-wrap: wrap !important; justify-content: center !important;
  gap: 14px !important; width: 100% !important; margin: 18px 0 22px !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important;
}
body.househr-lp #support span.wpcf7-radio .wpcf7-list-item { display: block !important; margin: 0 !important; }
body.househr-lp #support span.wpcf7-radio input[type="radio"] {
  position: absolute !important; opacity: 0 !important; pointer-events: none !important; width: 0 !important; height: 0 !important;
}
body.househr-lp #support span.wpcf7-radio .wpcf7-list-item label {
  display: flex !important; align-items: center !important; justify-content: center !important;
  min-width: 180px !important; height: 58px !important; padding: 0 24px !important;
  border-radius: 12px !important; background: #fff !important;
  border: 2px solid var(--border) !important; color: #0f172a !important;
  font-size: 16px !important; font-weight: 900 !important; cursor: pointer !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.07) !important;
  transition: background .15s, border-color .15s, color .15s !important;
}
body.househr-lp #support span.wpcf7-radio .wpcf7-list-item label:has(input:checked) {
  background: var(--navy) !important; border-color: var(--navy) !important; color: #fff !important;
  box-shadow: 0 6px 18px rgba(11,74,162,.22) !important;
}

/* ★チェックボックス（span.wpcf7-checkbox）*/
body.househr-lp #support span.wpcf7-checkbox {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 10px 14px !important; width: 100% !important; margin: 14px 0 18px !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important;
}
body.househr-lp #support span.wpcf7-checkbox .wpcf7-list-item { display: block !important; margin: 0 !important; }
body.househr-lp #support span.wpcf7-checkbox input[type="checkbox"] {
  appearance: auto !important; -webkit-appearance: auto !important;
  accent-color: var(--navy) !important; width: 17px !important; height: 17px !important;
  flex-shrink: 0 !important; position: static !important; opacity: 1 !important; pointer-events: auto !important;
}
body.househr-lp #support span.wpcf7-checkbox .wpcf7-list-item label {
  display: flex !important; align-items: center !important; gap: 10px !important;
  width: 100% !important; min-height: 50px !important; padding: 10px 14px !important;
  border-radius: 10px !important; background: #fff !important;
  border: 1.5px solid var(--border) !important; color: #111827 !important;
  font-size: 14px !important; font-weight: 800 !important; cursor: pointer !important;
  transition: background .15s, border-color .15s !important;
}
body.househr-lp #support span.wpcf7-checkbox .wpcf7-list-item label:has(input:checked) {
  border-color: var(--navy) !important; background: var(--bg-form) !important; color: var(--navy) !important;
}
@media (max-width: 640px) {
  body.househr-lp #support span.wpcf7-checkbox { grid-template-columns: 1fr !important; }
}

/* 入力欄（Step4） */
body.househr-lp #support .form__labelGroup {
  display: flex !important; flex-direction: column !important; gap: 6px !important; margin: 0 0 14px !important;
}
body.househr-lp #support .form__labelGroup-label {
  font-weight: 800 !important; font-size: 13px !important; color: #0f172a !important;
  display: flex !important; align-items: center !important; gap: 6px !important;
}
body.househr-lp #support .form__tag--required {
  display: inline-flex !important; align-items: center !important;
  height: 18px !important; padding: 0 7px !important; border-radius: 4px !important;
  background: var(--red) !important; color: #fff !important; font-size: 11px !important; font-weight: 900 !important;
}
body.househr-lp #support input[type="text"],
body.househr-lp #support input[type="tel"],
body.househr-lp #support input[type="email"],
body.househr-lp #support select.form__select,
body.househr-lp #support select.form__control {
  width: 100% !important; height: 46px !important;
  border-radius: 10px !important; border: 1.5px solid var(--border) !important;
  background: var(--bg-lt) !important; padding: 0 12px !important;
  font-size: 14px !important; color: #0f172a !important; font-family: inherit !important; outline: none !important;
}
body.househr-lp #support input:focus { border-color: var(--navy) !important; box-shadow: 0 0 0 3px rgba(11,74,162,.10) !important; }
body.househr-lp #support textarea.form__control {
  width: 100% !important; min-height: 80px !important; padding: 10px 12px !important;
  border-radius: 10px !important; border: 1.5px solid var(--border) !important;
  background: var(--bg-lt) !important; font-size: 14px !important; font-family: inherit !important; resize: vertical !important;
}
/* 同意行 */
body.househr-lp #support .wpcf7-acceptance .wpcf7-list-item { margin: 0 !important; }
body.househr-lp #support .wpcf7-acceptance label {
  display: flex !important; align-items: flex-start !important; gap: 8px !important;
  font-size: 12px !important; color: #4b5563 !important; line-height: 1.6 !important; cursor: pointer !important;
}
body.househr-lp #support .wpcf7-acceptance a { color: var(--navy) !important; text-decoration: underline !important; }

/* ボタン div（span.wpcf7-radioと区別） */
body.househr-lp #support div.form__buttonWrapper {
  display: grid !important; gap: 12px !important; margin-top: 20px !important;
  max-width: 440px !important; margin-left: auto !important; margin-right: auto !important;
}
body.househr-lp #support .button--forward,
body.househr-lp #support .button--accent,
body.househr-lp #support input.wpcf7-submit,
body.househr-lp #support .wpcf7-submit {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; min-height: 56px !important; border-radius: 12px !important;
  background: var(--red) !important; color: #fff !important; font-weight: 900 !important;
  font-size: 16px !important; border: 0 !important; cursor: pointer !important;
  box-shadow: 0 14px 32px rgba(192,0,0,.24) !important; font-family: inherit !important;
}
body.househr-lp #support .button--back {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; min-height: 48px !important; border-radius: 12px !important;
  background: #fff !important; color: var(--navy) !important;
  border: 2px solid var(--navy) !important; font-weight: 900 !important;
  font-size: 14px !important; cursor: pointer !important; font-family: inherit !important;
}
/* disabled */
body.househr-lp #support .button.is-disabled,
body.househr-lp #support .button[aria-disabled="true"] {
  opacity: .45 !important; cursor: not-allowed !important; box-shadow: none !important;
}

/* ================================================================
   10) アドバイザー（#adviser / #adviser-sp）
================================================================ */
body.househr-lp #adviser-sp { display: none !important; }
@media (max-width: 767px) {
  body.househr-lp #adviser    { display: none !important; }
  body.househr-lp #adviser-sp { display: block !important; }
}
body.househr-lp #adviser,
body.househr-lp #adviser-sp {
  background: linear-gradient(180deg,#f3f6fb 0%,#e9eff6 55%,#fff 100%) !important;
  padding: 70px 0 74px !important;
}
@media (max-width: 767px) { body.househr-lp #adviser, body.househr-lp #adviser-sp { padding: 54px 0 60px !important; } }

body.househr-lp #adviser ul.cardGrid,
body.househr-lp #adviser-sp ul.cardGrid {
  list-style: none !important; padding: 0 !important; margin: 0 auto !important;
  max-width: 1080px !important;
  display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 18px !important;
}
@media (max-width: 1024px) {
  body.househr-lp #adviser ul.cardGrid,
  body.househr-lp #adviser-sp ul.cardGrid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 600px) {
  body.househr-lp #adviser ul.cardGrid,
  body.househr-lp #adviser-sp ul.cardGrid { grid-template-columns: 1fr !important; }
}
body.househr-lp #adviser .card,
body.househr-lp #adviser-sp .card {
  background: #fff !important; border-radius: 18px !important; overflow: hidden !important;
  border: 1px solid rgba(15,23,42,.06) !important; box-shadow: 0 18px 40px rgba(15,23,42,.10) !important;
  height: 100% !important; display: flex !important; flex-direction: column !important;
}
body.househr-lp #adviser .card__thumb,
body.househr-lp #adviser-sp .card__thumb { background: #8ea9b3 !important; padding: 16px 16px 0 !important; }
body.househr-lp #adviser .card__thumb img,
body.househr-lp #adviser-sp .card__thumb img { width: 100% !important; height: auto !important; border-radius: 14px !important; }
body.househr-lp #adviser .card__inner,
body.househr-lp #adviser-sp .card__inner {
  padding: 16px 18px 18px !important; display: flex !important; flex-direction: column !important; flex: 1 1 auto !important;
}
body.househr-lp #adviser .card__title,
body.househr-lp #adviser-sp .card__title {
  margin: 10px 0 8px !important; padding-bottom: 10px !important;
  border-bottom: 2px solid rgba(15,23,42,.15) !important; text-align: center !important;
}
body.househr-lp #adviser .card__title-ja,
body.househr-lp #adviser-sp .card__title-ja {
  font-weight: 900 !important; font-size: 17px !important; color: #0f172a !important;
}
body.househr-lp #adviser .card__inner p,
body.househr-lp #adviser-sp .card__inner p {
  color: rgba(15,23,42,.82) !important; font-size: 13.5px !important;
  line-height: 1.85 !important; margin: 0 0 8px !important;
}
body.househr-lp #adviser .card__inner p.card__subtitle,
body.househr-lp #adviser-sp .card__inner p.card__subtitle {
  display: inline-flex !important; align-items: center !important; align-self: flex-start !important;
  height: 24px !important; padding: 0 10px !important; border-radius: 999px !important;
  background: var(--navy) !important; color: #fff !important; font-weight: 900 !important;
  font-size: 11px !important; letter-spacing: .06em !important; margin: 10px 0 6px !important;
  white-space: nowrap !important;
}
/* SPアコーディオン */
body.househr-lp #adviser-sp .accordion-header {
  position: relative; padding-right: 28px; font-weight: 900; color: var(--navy); cursor: pointer;
}
body.househr-lp #adviser-sp .accordion-header::after {
  content: "▼"; position: absolute; right: 0; top: 0; font-size: 12px;
  transform: translateY(2px); transition: transform .2s;
}
body.househr-lp #adviser-sp .accordion-wrap.is-open .accordion-header::after { transform: translateY(2px) rotate(180deg); }
@media (max-width: 767px) {
  body.househr-lp #adviser-sp .accordion-text { display: none !important; }
  body.househr-lp #adviser-sp .accordion-wrap.is-open .accordion-text { display: block !important; }
}

/* ================================================================
   11) 紹介実績（#case）
================================================================ */
body.househr-lp #case {
  background: linear-gradient(180deg,#0a3c86 0%,#052a5f 55%,#031f46 100%) !important;
  padding: 84px 0 92px !important;
}
@media (max-width: 767px) { body.househr-lp #case { padding: 56px 0 64px !important; } }

body.househr-lp #case .heading__subtitle { color: rgba(255,255,255,.9) !important; }
body.househr-lp #case .heading__title em  { color: rgba(255,255,255,.98) !important; }

body.househr-lp #case ul.logoList {
  display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 18px !important; list-style: none !important; padding: 0 !important;
  margin: 34px auto 0 !important; max-width: 980px !important;
}
@media (max-width: 767px) {
  body.househr-lp #case ul.logoList {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important;
    max-width: 520px !important; margin-top: 22px !important;
  }
}
body.househr-lp #case ul.logoList > li {
  background: #fff !important; border-radius: 8px !important;
  min-height: 90px !important; padding: 8px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}
body.househr-lp #case ul.logoList > li img {
  width: 88% !important; height: auto !important; max-height: 70px !important; object-fit: contain !important;
}
@media (max-width: 767px) {
  body.househr-lp #case ul.logoList > li { min-height: 72px !important; }
  body.househr-lp #case ul.logoList > li img { max-height: 54px !important; }
}
body.househr-lp #case .outline {
  text-align: center; margin-top: 36px;
}
body.househr-lp #case .outline__copy {
  color: #fff; font-size: clamp(18px, 2vw, 26px); font-weight: 900;
}

/* ================================================================
   12) 下段フォーム（#contact）
================================================================ */
body.househr-lp #contact {
  padding: 80px 0; background: #f4f7fb; border-top: 1px solid rgba(15,23,42,.06);
}
@media (max-width: 767px) { body.househr-lp #contact { padding: 56px 0; } }

body.househr-lp #contact .contact__container {
  max-width: 1120px; margin: 0 auto; padding: 0 24px;
  display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: start;
}
@media (max-width: 980px) {
  body.househr-lp #contact .contact__container {
    grid-template-columns: 1fr; gap: 28px; padding: 0 16px;
  }
}

/* 左カラム */
body.househr-lp #contact .contact__heading-main {
  display: block; font-weight: 900; font-size: clamp(22px,2vw,30px); color: #0f172a; line-height: 1.3;
}
body.househr-lp #contact .contact__heading-main em { font-style: normal; color: var(--navy); }
body.househr-lp #contact .contact__lead p { margin-top: 10px; color: #4b5563; font-size: 14px; line-height: 1.85; }
body.househr-lp #contact .contact__panel {
  margin-top: 20px; background: #fff; border: 1px solid rgba(15,23,42,.10);
  border-radius: 14px; overflow: hidden; box-shadow: 0 8px 22px rgba(2,6,23,.07);
}
body.househr-lp #contact .contact__panel-header {
  padding: 14px 18px; border-bottom: 1px solid rgba(15,23,42,.08);
  background: linear-gradient(135deg,var(--bg-form),#fff);
}
body.househr-lp #contact .contact__panel-heading {
  font-size: 15px; font-weight: 900; color: #0f172a; text-align: center; margin: 0;
}
body.househr-lp #contact .contact__panel-body { padding: 16px; }
body.househr-lp #contact .contact__supporter {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 10px !important; list-style: none !important; margin: 0 !important; padding: 0 !important;
}
body.househr-lp #contact .contact__supporter-item { border-radius: 12px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,.10); }
body.househr-lp #contact .contact__supporter-item img {
  display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; object-position: top center;
}

/* 右カラム：フォームカード */
body.househr-lp #contact .contact__col--right .form {
  background: #fff; border: 1px solid rgba(15,23,42,.12);
  border-top: 4px solid var(--navy) !important; border-radius: 16px;
  box-shadow: 0 16px 44px rgba(2,6,23,.10); overflow: hidden;
}
/* フォームヘッダー */
body.househr-lp #contact .form__header {
  padding: 24px 24px 16px; border-bottom: 1px solid rgba(15,23,42,.08);
  background: linear-gradient(160deg,var(--bg-form),#fff); text-align: center;
}
body.househr-lp #contact .form__title {
  margin: 0 0 4px; font-weight: 900; font-size: clamp(18px,1.8vw,24px);
  color: #0f172a; line-height: 1.3;
}
body.househr-lp #contact .form__title-value {
  font-style: normal; font-weight: 900; color: var(--red); font-size: clamp(22px,2.2vw,30px);
}
body.househr-lp #contact .form__title em { font-style: normal; font-weight: 900; color: var(--navy); }
body.househr-lp #contact .form__label { margin: 0; font-size: 13px; font-weight: 700; color: #6b7280; }

/* ステップバー */
body.househr-lp #contact .form__step {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  padding: 14px 24px !important; margin: 0 !important; list-style: none !important;
  background: var(--bg-lt) !important; border-bottom: 1px solid rgba(15,23,42,.06) !important;
  position: relative !important;
}
body.househr-lp #contact .form__step::before {
  content: "" !important; position: absolute !important;
  left: 54px; right: 54px; top: 50%; height: 2px;
  background: var(--border) !important; transform: translateY(-50%) !important;
}
body.househr-lp #contact .form__step-item {
  position: relative !important; z-index: 1 !important;
  width: 38px !important; height: 38px !important; border-radius: 50% !important;
  display: grid !important; place-items: center !important;
  font-weight: 900 !important; font-size: 12px !important;
  border: 2px solid var(--border) !important; background: #fff !important; color: #9ab0c8 !important;
}
body.househr-lp #contact .form__step-item[aria-current="true"] {
  background: var(--navy) !important; border-color: var(--navy) !important;
  color: #fff !important; box-shadow: 0 6px 18px rgba(11,74,162,.22) !important;
}

/* スクロールコンテナ */
body.househr-lp #contact .containerScrollY {
  padding: 20px 24px 24px !important; max-height: none !important; overflow: visible !important;
}
body.househr-lp #contact .containerScrollY .wpcf7 {
  background: transparent !important; border: 0 !important;
  box-shadow: none !important; padding: 0 !important; border-radius: 0 !important;
}

/* aria-hidden */
body.househr-lp #contact .form__fieldset[aria-hidden="true"]  { display: none !important; }
body.househr-lp #contact .form__fieldset[aria-hidden="false"] { display: block !important; }
body.househr-lp #contact .form__fieldset:not([aria-hidden])   { display: block !important; }

/* ラジオ/チェック（下段） */
body.househr-lp #contact .wpcf7-form-control-wrap { display: block !important; width: 100% !important; }
body.househr-lp #contact .wpcf7-radio,
body.househr-lp #contact .wpcf7-checkbox {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 10px 12px !important; margin: 8px 0 16px !important; padding: 0 !important; width: 100% !important;
}
@media (max-width: 480px) {
  body.househr-lp #contact .wpcf7-radio,
  body.househr-lp #contact .wpcf7-checkbox { grid-template-columns: 1fr !important; }
}
body.househr-lp #contact .wpcf7-list-item { display: block !important; margin: 0 !important; }
body.househr-lp #contact .wpcf7-radio input[type="radio"],
body.househr-lp #contact .wpcf7-checkbox input[type="checkbox"] {
  accent-color: var(--navy) !important; width: 15px !important; height: 15px !important;
  flex-shrink: 0 !important; position: static !important; opacity: 1 !important; pointer-events: auto !important;
}
body.househr-lp #contact .wpcf7-list-item label {
  width: 100% !important; display: flex !important; align-items: center !important; gap: 8px !important;
  padding: 11px 13px !important; border-radius: 10px !important;
  border: 1.5px solid var(--border) !important; background: #fff !important;
  cursor: pointer !important; font-size: 13.5px !important; font-weight: 700 !important;
  color: #374151 !important; transition: border-color .15s, background .15s !important;
}
body.househr-lp #contact .wpcf7-list-item label:has(input:checked) {
  border-color: var(--navy) !important; background: var(--bg-form) !important;
  color: var(--navy) !important; font-weight: 900 !important;
}

/* 入力欄（下段） */
body.househr-lp #contact .form__labelGroup {
  display: flex !important; flex-direction: column !important; gap: 6px !important; margin: 0 0 14px !important;
}
body.househr-lp #contact .form__labelGroup-label {
  font-weight: 800 !important; font-size: 13px !important; color: #0f172a !important;
  display: flex !important; align-items: center !important; gap: 6px !important;
}
body.househr-lp #contact .form__tag--required {
  display: inline-flex !important; align-items: center !important;
  height: 18px !important; padding: 0 7px !important; border-radius: 4px !important;
  background: rgba(185,28,28,.12) !important; color: #b91c1c !important;
  font-size: 11px !important; font-weight: 900 !important;
}
body.househr-lp #contact input[type="text"],
body.househr-lp #contact input[type="tel"],
body.househr-lp #contact input[type="email"],
body.househr-lp #contact select.form__select,
body.househr-lp #contact select.form__control {
  width: 100% !important; height: 46px !important; border-radius: 10px !important;
  border: 1.5px solid var(--border) !important; background: var(--bg-lt) !important;
  padding: 0 12px !important; font-size: 14px !important; color: #0f172a !important;
  font-family: inherit !important; outline: none !important;
  transition: border-color .15s, box-shadow .15s !important;
}
body.househr-lp #contact input:focus {
  border-color: var(--navy) !important; background: #fff !important;
  box-shadow: 0 0 0 3px rgba(11,74,162,.10) !important;
}
body.househr-lp #contact textarea {
  width: 100% !important; min-height: 90px !important; padding: 10px 12px !important;
  border-radius: 10px !important; border: 1.5px solid var(--border) !important;
  background: var(--bg-lt) !important; font-size: 14px !important;
  font-family: inherit !important; resize: vertical !important;
}
/* 同意行 */
body.househr-lp #contact .wpcf7-acceptance .wpcf7-list-item { margin: 0 !important; }
body.househr-lp #contact .wpcf7-acceptance label {
  display: flex !important; align-items: flex-start !important; gap: 8px !important;
  font-size: 12px !important; color: #4b5563 !important; line-height: 1.6 !important; cursor: pointer !important;
}
body.househr-lp #contact .wpcf7-acceptance a { color: var(--navy) !important; text-decoration: underline !important; }

/* ボタン（下段） */
body.househr-lp #contact .form__buttonWrapper { display: grid !important; gap: 10px !important; margin-top: 16px !important; }
body.househr-lp #contact .button--forward,
body.househr-lp #contact .button--accent,
body.househr-lp #contact input.wpcf7-submit,
body.househr-lp #contact .wpcf7-submit {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; min-height: 54px !important; border-radius: 12px !important;
  background: var(--red) !important; color: #fff !important;
  font-weight: 900 !important; font-size: 16px !important; letter-spacing: .04em !important;
  border: 0 !important; cursor: pointer !important;
  box-shadow: 0 12px 28px rgba(192,0,0,.22) !important; font-family: inherit !important;
}
body.househr-lp #contact .button--back {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; min-height: 46px !important; border-radius: 12px !important;
  background: #fff !important; color: var(--navy) !important;
  border: 2px solid var(--navy) !important; font-weight: 900 !important;
  font-size: 14px !important; cursor: pointer !important; font-family: inherit !important;
}
body.househr-lp #contact .button.is-disabled,
body.househr-lp #contact input.wpcf7-submit[disabled] {
  opacity: .5 !important; cursor: not-allowed !important; box-shadow: none !important;
}

/* ================================================================
   13) フッター
================================================================ */
body.househr-lp .footer {
  background: #0b2a57; color: #fff; padding: 18px 0;
}
body.househr-lp .footer__container {
  max-width: 1200px; margin: 0 auto; padding: 0 16px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
body.househr-lp .footer__menu {
  list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 18px;
}
body.househr-lp .footer__menu-link { color: #fff; text-decoration: none; font-size: 14px; opacity: .92; }
body.househr-lp .footer__copyright { margin: 0; font-size: 14px; opacity: .92; }
@media (max-width: 767px) {
  body.househr-lp .footer__container { flex-direction: column-reverse; text-align: center; }
  body.househr-lp .footer__menu { justify-content: center; }
}

/* ================================================================
   14) 検索セクション（top-search）
================================================================ */
body.househr-lp .top-search { background: #fff; padding: 56px 0; }
body.househr-lp .top-search .container { max-width: 1000px; }
body.househr-lp .top-search__form {
  background: var(--bg-lt); border: 1px solid rgba(59,130,246,.18);
  border-radius: 18px; padding: 24px 24px 28px; box-shadow: 0 10px 26px rgba(11,42,111,.08);
}
body.househr-lp .top-search__fields {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; margin-bottom: 18px;
}
body.househr-lp .top-search__field--keyword { grid-column: 1 / -1; }
body.househr-lp .top-search__select,
body.househr-lp .top-search__input {
  width: 100%; height: 50px; border-radius: 12px;
  border: 1px solid rgba(11,42,111,.18); background: #fff;
  padding: 10px 12px; font-size: 15px; color: #111827;
}
body.househr-lp .top-search__button {
  width: 100%; max-width: 420px; height: 54px; border: none; border-radius: 999px;
  background: linear-gradient(135deg,var(--navy),#0069d9,#0093ff);
  color: #fff; font-size: 16px; font-weight: 900;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  cursor: pointer; box-shadow: 0 12px 28px rgba(11,74,162,.28);
}
body.househr-lp .top-search__button-wrap { text-align: center; }
@media (max-width: 767px) {
  body.househr-lp .top-search { padding: 36px 0; }
  body.househr-lp .top-search__fields { grid-template-columns: 1fr; gap: 12px; }
}

/* ================================================================
   15) CF7 バリデーション共通
================================================================ */
body.househr-lp .wpcf7-not-valid-tip {
  color: var(--red) !important; font-size: 12px !important; margin-top: 4px !important; display: block !important;
}
body.househr-lp .wpcf7-response-output {
  border-radius: 8px !important; padding: 10px 14px !important;
  font-size: 13px !important; margin-top: 10px !important;
}

/* ================================================================
   16) シェイクアニメ（JS連携）
================================================================ */
@keyframes hhShake {
  0%,100% { transform: translateX(0); }
  25%      { transform: translateX(-6px); }
  50%      { transform: translateX(6px); }
  75%      { transform: translateX(-4px); }
}
body.househr-lp .form__fieldset.is-shake { animation: hhShake .24s ease; }

/* ================================================================
   STEP1/2 「次のステップへ」ボタン非表示
================================================================ */
body.househr-lp .p-consultation__form [data-step-form-panel="1"] div.form__buttonWrapper { display: none !important; }
body.househr-lp .p-consultation__form [data-step-form-panel="2"] div.form__buttonWrapper { display: none !important; }

/* ================================================================
   上段Step2ラジオ（あり/なし 2択）アイコン上書き
================================================================ */
/* Step2 fieldsetは data-step-form-panel="2" — ただしCSSから判別不可なので
   Step2コンテナ内の nth-child で対応（2択のみ） */
/* Step2: あり — チェックマーク */
body.househr-lp .p-consultation__form [data-step-form-panel="2"] .wpcf7-radio .wpcf7-list-item:nth-child(1) label::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
}
/* Step2: なし — バツ */
body.househr-lp .p-consultation__form [data-step-form-panel="2"] .wpcf7-radio .wpcf7-list-item:nth-child(2) label::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
}

/* ================================================================
   下段フォーム — 「あり」ラジオのデフォルト選択ビジュアル補強
   （JS側でcheckedを入れるが、初期表示でも選択状態に見えるよう）
================================================================ */
body.househr-lp #contact input[type="radio"][data-default-checked] + span,
body.househr-lp #contact .wpcf7-list-item:first-child label {
  /* 最初の選択肢（あり）を若干強調 */
  border-color: var(--navy) !important;
  background: var(--bg-form) !important;
  color: var(--navy) !important;
}


/* ================================================================
   17) 履歴書メーカー CTAバナー（page-househr.php に挿入）
================================================================ */

/* バナー①：横長バナー（サービス紹介後） */
body.househr-lp .rrb-cta-wide {
  background: linear-gradient(135deg, #0f2540 0%, #1a3a5c 60%, #c9431c 100%);
  padding: 56px 20px;
  color: #fff;
}
body.househr-lp .rrb-cta-wide__inner {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 32px;
  align-items: center;
}
body.househr-lp .rrb-cta-wide__label {
  font-size: 12px;
  letter-spacing: .12em;
  opacity: .7;
  margin-bottom: 8px;
  font-weight: 700;
}
body.househr-lp .rrb-cta-wide__title {
  font-size: clamp(18px, 3vw, 26px);
  font-weight: 900;
  line-height: 1.35;
  margin-bottom: 10px;
}
body.househr-lp .rrb-cta-wide__desc {
  font-size: 13px;
  opacity: .85;
  line-height: 1.7;
  margin: 0;
}
body.househr-lp .rrb-cta-wide__desc strong { color: #7EE8FF; }
body.househr-lp .rrb-cta-wide__badges {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}
body.househr-lp .rrb-badge {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
  font-size: 12px;
  padding: 4px 12px;
  border-radius: 20px;
  white-space: nowrap;
}
body.househr-lp .rrb-cta-wide__btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  background: #e85a2f;
  color: #fff !important;
  font-weight: 900;
  font-size: 15px;
  padding: 16px 28px;
  border-radius: 10px;
  text-decoration: none !important;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .2s, transform .2s;
  box-shadow: 0 4px 16px rgba(232,90,47,.4);
}
body.househr-lp .rrb-cta-wide__btn:hover {
  background: #c9431c;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(232,90,47,.5);
}

/* バナー②：コンパクト横断帯（紹介実績後） */
body.househr-lp .rrb-cta-strip {
  background: linear-gradient(135deg, #1565C0, #1ABCFE) !important;
  padding: 20px;
  color: #fff;
}
body.househr-lp .rrb-cta-strip__inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
body.househr-lp .rrb-cta-strip__msg {
  font-size: 14px;
  line-height: 1.6;
  flex: 1;
  min-width: 220px;
  margin: 0;
}
body.househr-lp .rrb-cta-strip__icon { font-size: 18px; margin-right: 6px; }
body.househr-lp .rrb-cta-strip__msg strong { color: #7EE8FF; }
body.househr-lp .rrb-cta-strip__btn {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  background: #e85a2f;
  color: #fff !important;
  font-weight: 900;
  font-size: 14px;
  padding: 12px 22px;
  border-radius: 8px;
  text-decoration: none !important;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .2s;
}
body.househr-lp .rrb-cta-strip__btn:hover { background: #c9431c; }

/* レスポンシブ */
@media (max-width: 768px) {
  body.househr-lp .rrb-cta-wide__inner {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 20px;
  }
  body.househr-lp .rrb-cta-wide__badges {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  body.househr-lp .rrb-cta-wide__btn {
    justify-content: center;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }
  body.househr-lp .rrb-cta-strip__inner { flex-direction: column; text-align: center; }
  body.househr-lp .rrb-cta-strip__btn { width: 100%; justify-content: center; max-width: 280px; }
}

/* ================================================================
   ヘッダー共通化：job_search / result ページも同じヘッダーを使用
   body.househr-jobsearch / body.househr-result にスコープを拡張
================================================================ */

/* SWELLデフォルトヘッダー非表示 */
body.househr-jobsearch .l-header,
body.househr-jobsearch .l-fixHeader,
body.househr-jobsearch .fix-header,
body.househr-result .l-header,
body.househr-result .l-fixHeader,
body.househr-result .fix-header { display: none !important; }

/* ヘッダーレイアウト（job_search / result） */
body.househr-jobsearch #header.header,
body.househr-result #header.header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 24px !important;
  background: #ffffff !important;
  border-bottom: 3px solid #1ABCFE !important;
  box-shadow: 0 2px 16px rgba(26,188,254,.15) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}

body.househr-jobsearch #header .header__logo img,
body.househr-result #header .header__logo img { height: 44px; width: auto; display: block; }

body.househr-jobsearch #header .gNav,
body.househr-result #header .gNav { margin-left: auto; }

body.househr-jobsearch #header .gNav__menu,
body.househr-result #header .gNav__menu {
  list-style: none !important; margin: 0 !important;
  padding: 0 20px 0 0 !important;
  display: flex !important; align-items: center !important;
  gap: 4px !important; flex-wrap: nowrap !important;
}

body.househr-jobsearch #header .gNav__menu-link,
body.househr-result #header .gNav__menu-link {
  color: #1E293B !important; text-decoration: none !important;
  font-weight: 600 !important; font-size: 14px !important;
  padding: 8px 14px !important; border-radius: 8px !important;
  transition: background .18s, color .18s !important;
}

body.househr-jobsearch #header .gNav__menu-link:hover,
body.househr-result #header .gNav__menu-link:hover {
  background: #E8F4FF !important;
  color: #2B7FD4 !important;
}

/* ハンバーガー */
body.househr-jobsearch .hamburger,
body.househr-result .hamburger {
  background: linear-gradient(135deg, #1ABCFE, #2B7FD4) !important;
  box-shadow: 0 4px 14px rgba(26,188,254,.4) !important;
}
body.househr-jobsearch .hamburger__line,
body.househr-jobsearch .hamburger__line::before,
body.househr-jobsearch .hamburger__line::after,
body.househr-result .hamburger__line,
body.househr-result .hamburger__line::before,
body.househr-result .hamburger__line::after {
  background: #fff !important;
}

/* ================================================================
   「求人検索」ボタン（PC最右端・全3ページ共通）
   class: gNav__menu-button--search
================================================================ */
body.househr-lp .gNav__menu-button--search,
body.househr-jobsearch .gNav__menu-button--search,
body.househr-result .gNav__menu-button--search {
  display: inline-flex !important;
  align-items: center !important;
  background: linear-gradient(135deg, #1ABCFE 0%, #2B7FD4 100%) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  padding: 10px 22px !important;
  border-radius: 22px !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
  box-shadow: 0 3px 12px rgba(26,188,254,.38) !important;
  white-space: nowrap !important;
}

body.househr-lp .gNav__menu-button--search:hover,
body.househr-jobsearch .gNav__menu-button--search:hover,
body.househr-result .gNav__menu-button--search:hover {
  background: linear-gradient(135deg, #2ECFFF 0%, #1A68C4 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 18px rgba(26,188,254,.5) !important;
  color: #fff !important;
}

/* SP（≤1100px）では非表示 */
@media (max-width: 1100px) {
  body.househr-lp .gNav__menu-item--search-btn,
  body.househr-jobsearch .gNav__menu-item--search-btn,
  body.househr-result .gNav__menu-item--search-btn {
    display: none !important;
  }
}

/* =========================================================
   [umj_latest_jobs] ショートコード用CSS v2
   househr-main.css の末尾に追記
========================================================= */

/* ── セクション全体 ── */
.umj-latest-jobs {
  padding: 64px 24px 72px;
  background: #f4f7fb;
}

.umj-latest-jobs .l-container {
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.umj-latest-jobs__header {
  text-align: center;
  margin-bottom: 44px;
}

.umj-latest-jobs__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  color: #FF832B;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.umj-latest-jobs__label::before,
.umj-latest-jobs__label::after {
  content: '';
  display: block;
  width: 24px;
  height: 1px;
  background: #FF832B;
}

.umj-latest-jobs__title {
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #012d5e !important;
  letter-spacing: .04em !important;
  text-align: center !important;
  margin-bottom: 8px !important;
}

.umj-latest-jobs__lead {
  font-size: 13px;
  color: #6b7a90;
  text-align: center;
  margin-bottom: 0;
}

.umj-latest-jobs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}

@media (max-width: 900px) {
  .umj-latest-jobs__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .umj-latest-jobs__grid { grid-template-columns: 1fr; gap: 12px; }
  .umj-latest-jobs { padding: 48px 16px 56px; }
}

.umj-job-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #dde5f0;
  text-decoration: none !important;
  color: inherit !important;
  transition: box-shadow .25s, transform .25s;
  position: relative;
  overflow: hidden;
}
.umj-job-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 3px; height: 100%;
  background: transparent;
  transition: background .25s;
}
.umj-job-card:hover::before { background: #014C96; }
.umj-job-card:hover {
  box-shadow: 0 8px 32px rgba(1,47,96,.12);
  transform: translateY(-4px);
  text-decoration: none !important;
  color: inherit !important;
}

.umj-job-card__num {
  position: absolute;
  top: 14px; right: 16px;
  font-size: 11px; font-weight: 800; color: #d0d8e8; letter-spacing: .08em;
}

.umj-job-card__top {
  padding: 18px 18px 14px;
  flex: 1;
  border-bottom: 1px solid #f0f4f9;
}

.umj-job-card__cat {
  display: inline-block;
  background: #eef3fb; color: #014C96;
  font-size: 10px; font-weight: 700;
  padding: 3px 10px; border-radius: 20px;
  letter-spacing: .05em; margin-bottom: 10px;
}

.umj-job-card__title {
  font-size: 14px; font-weight: 700; color: #0d1b35;
  line-height: 1.55; margin: 0 0 5px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.umj-job-card__company {
  font-size: 11px; color: #8a96a8; margin: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.umj-job-card__bot {
  padding: 10px 18px 12px;
  display: flex; flex-wrap: wrap; gap: 6px; align-items: center;
}

.umj-job-card__chip {
  display: inline-flex; align-items: center;
  font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 4px;
}
.umj-job-card__chip--area { background: #f0f4f8; color: #5a6a7e; }
.umj-job-card__chip--salary { background: #fff5e8; color: #b06000; }

.umj-latest-jobs__footer { text-align: center; }

.umj-latest-jobs__btn {
  display: inline-flex; align-items: center; gap: 8px;
  border: 1.5px solid #014C96; color: #014C96 !important;
  background: transparent;
  font-size: 14px; font-weight: 700;
  padding: 13px 44px; border-radius: 40px;
  text-decoration: none !important; letter-spacing: .06em;
  transition: background .2s, color .2s;
}
.umj-latest-jobs__btn:hover {
  background: #014C96;
  color: #fff !important;
}

/* ================================================================
   SP専用レイアウト修正（max-width: 767px）
   ① フォームボックスを中央配置
   ② チェックボックスを1列に（テキスト途中折れ防止）
   ③ 見出しの改行バランス改善
================================================================ */
@media (max-width: 767px) {

  /* ① FVフォーム（SP）中央配置 */
  body.is-househr-lp .p-fv-form-sp,
  body.is-househr-lp section.p-fv-form-sp {
    display: flex !important;
    justify-content: center !important;
    padding: 20px 16px 28px !important;
    background: #eff4ff !important;
  }
  body.is-househr-lp .p-consultation__form-sp-inner {
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 auto !important;
  }
  body.is-househr-lp .p-consultation__form-sp-inner .p-consultation__form,
  body.is-househr-lp .p-fv-form-sp .p-consultation__form {
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.is-househr-lp .p-consultation__form .c-form__wrap {
    border-radius: 16px !important;
    padding: 20px 16px !important;
    margin: 0 auto !important;
    width: 100% !important;
  }

  /* ② チェックボックス：1列（テキスト折れ防止） */
  body.househr-lp .p-consultation__form .wpcf7-checkbox,
  body.househr-lp #support span.wpcf7-checkbox {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  body.househr-lp .p-consultation__form .wpcf7-checkbox .wpcf7-list-item label,
  body.househr-lp #support span.wpcf7-checkbox .wpcf7-list-item label {
    font-size: 14px !important;
    min-height: 46px !important;
    padding: 10px 14px !important;
    word-break: keep-all !important;
    white-space: normal !important;
  }

  /* ③ 見出し：改行バランス・中央揃え */
  body.househr-lp .heading__title {
    text-align: center !important;
  }
  body.househr-lp .heading__title em {
    font-size: clamp(20px, 5.5vw, 28px) !important;
    line-height: 1.5 !important;
    text-align: center !important;
    display: block !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }
  body.househr-lp .heading__title-emphasis {
    font-size: clamp(16px, 4.5vw, 22px) !important;
    display: block !important;
    text-align: center !important;
    margin-top: 6px !important;
  }
}