/* =========================================================
  HouseHR LP Fix (SWELL)
  scope: body.umj-world-lp + article[data-househr-testlp="1"]

  - SWELL枠解除 & ヘッダー抹消（LP内だけ）
  - FV（背景/グラデ/人物/フォーム/実績）
  - CF7 step3/step4 の見た目
  - Step別：人物位置（落下防止）
  - SP（縦積み）: テキストはみ出し防止
  - Footer（LP内だけ）
  - SP：ロゴスライダー速度

  ※このファイルは「スコープ統一・重複/矛盾排除」だけを行い、
    既存意図に近い表示を保つための整理版です。
========================================================= */

body.umj-world-lp article[data-househr-testlp="1"]{
  --blue:#0b4aa2;
  --gold:#d7b24a;
  --txt:#111827;
  overflow-x:hidden;
}

/* =========================================================
  1) SWELL標準ヘッダー抹消（LP内だけ）
========================================================= */
body.umj-world-lp article[data-househr-testlp="1"] .l-header,
body.umj-world-lp article[data-househr-testlp="1"] .l-fixHeader,
body.umj-world-lp article[data-househr-testlp="1"] .fix-header{
  display:none !important;
}

/* =========================================================
  2) SWELL枠解除（LPだけ）
========================================================= */
body.umj-world-lp article[data-househr-testlp="1"] .l-content,
body.umj-world-lp article[data-househr-testlp="1"] .l-main,
body.umj-world-lp article[data-househr-testlp="1"] .l-main__inner{
  max-width:none !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
body.umj-world-lp article[data-househr-testlp="1"] .c-pageTitle,
body.umj-world-lp article[data-househr-testlp="1"] .c-breadcrumb,
body.umj-world-lp article[data-househr-testlp="1"] .l-sidebar{
  display:none !important;
}

/* 本文先頭のアンカー一覧が出る場合の保険 */
body.umj-world-lp article[data-househr-testlp="1"] .entry-content > ul:first-child,
body.umj-world-lp article[data-househr-testlp="1"] .post_content > ul:first-child{
  display:none !important;
}

/* =========================================================
  3) LP専用ヘッダー（#header.header）
========================================================= */
body.umj-world-lp article[data-househr-testlp="1"] #header.header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:18px 24px !important;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.06);
  position:relative;
  z-index:3000;
}
body.umj-world-lp article[data-househr-testlp="1"] #header .header__logo img{
  height:54px;
  width:auto;
  display:block;
}

/* PC: 横並びメニュー */
body.umj-world-lp article[data-househr-testlp="1"] #header .gNav{ margin-left:auto; }
body.umj-world-lp article[data-househr-testlp="1"] #header .gNav__menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:26px;
  flex-wrap:nowrap;
}
body.umj-world-lp article[data-househr-testlp="1"] #header .gNav__menu-link{
  color:var(--txt);
  text-decoration:none;
  font-weight:700;
  font-size:15px;
}
body.umj-world-lp article[data-househr-testlp="1"] #header .gNav__menu-link__color-accent{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding:0 28px;
  border-radius:8px;
  background:var(--blue);
  color:#fff;
  font-weight:900;
}
@media (min-width:960px){
  body.umj-world-lp article[data-househr-testlp="1"] #header .gNav__menu-button{
    display:none !important;
  }
}

/* =========================================================
  4) FV：背景→グラデ→中身（固定土台）
========================================================= */
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv{
  position:relative !important;
  overflow:hidden !important;
  min-height:720px !important;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-bg img,
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-bg picture{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

/* グラデ（背景扱い） */
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-gradient{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  opacity:.92;
}

/* 下部帯（実績が馴染む） */
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:220px;
  background: linear-gradient(180deg,
    rgba(0,0,0,0) 0%,
    rgba(0,28,70,.45) 45%,
    rgba(0,28,70,.75) 100%);
  z-index:1;
  pointer-events:none;
}

/* FV中身 */
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-inner{
  position:relative !important;
  z-index:2 !important;
  max-width:1320px !important;
  margin:0 auto;
  padding:62px 24px;
}

/* レイアウト */
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__contents{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  position:relative !important;
  min-height:600px !important;
}

/* 左コピー */
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__info{
  width:60% !important;
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
  position:relative;
  z-index:20;
  padding-top:18px !important;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-message-text-1{
  font-size:50px !important;
  line-height:1.24 !important;
  margin:0 0 12px !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-message-text-2{
  font-size:72px !important;
  line-height:1.12 !important;
  margin:0 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}

/* 右フォームカード */
body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form{
  width:460px;
  flex:0 0 460px;
  margin-left:auto;
  margin-top:-18px;
  transform: translateX(56px);
  position:relative;
  z-index:30;
  background:transparent;
  box-shadow:none;
  padding:0;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form,
body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form *{
  box-sizing:border-box;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form .c-form__wrap{
  background:#fff;
  border-radius:16px;
  padding:34px 30px;
  box-shadow:0 20px 60px rgba(0,0,0,.12);
  overflow:hidden;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form .containerScrollY,
body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form .wpcf7{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form input,
body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form select,
body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form textarea{
  width:100% !important;
  max-width:100% !important;
}

/* 人物（絶対配置） */
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-person{
  position:absolute !important;
  left:52% !important;
  bottom:-18px !important;
  transform:translateX(-50%) !important;
  width:640px !important;
  max-width:56vw !important;
  z-index:10 !important;
  pointer-events:none;
}

/* =========================================================
  5) 実績（PC：黄色 / 人物より前）
========================================================= */
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__achievements{
  display:flex;
  gap:52px;
  margin-top:24px;
  align-items:flex-end;
  position:relative;
  z-index:999;
  transform: translateY(4px);
}
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__achievements__wrap{
  display:flex;
  align-items:center;
  gap:14px;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__achievements-text-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__achievements-lead{
  color: var(--gold);
  font-weight: 900;
  font-size: 18px;
  margin: 0 0 8px;
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__achievements-wrap{
  display:flex;
  align-items:flex-end;
  gap:10px;
  white-space:nowrap;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__achievements-number{
  color: var(--gold);
  font-weight: 900;
  font-size: 88px;
  line-height: 1;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__achievements-unit{
  color: var(--gold) !important;
  font-weight: 900 !important;
  font-size: 14px;
  line-height: 1.1;
  white-space: nowrap;
  text-shadow: 0 2px 10px rgba(0,0,0,.25);
}
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__achievements-feather-left,
body.umj-world-lp article[data-househr-testlp="1"] .p-fv__achievements-feather-right{
  height:52px;
  width:auto;
  opacity:.95;
}

/* =========================================================
  6) フォーム：見出し（Step1だけ表示）
========================================================= */
body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form .c-form__title{
  font-size:34px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  text-align:center !important;
  margin:0 0 16px !important;
}
body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form .c-form-title-wrap{
  display:none !important;
}
body.umj-world-lp article[data-househr-testlp="1"]
.p-consultation__form:has(.form__step-item[aria-current="true"]:first-child) .c-form-title-wrap{
  display:block !important;
}

/* =========================================================
  7) Step3：チェック（2カラム）+ CTA
========================================================= */
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step3{
  text-align:left !important;
  color: var(--txt) !important;
  max-height:none !important;
  overflow:visible !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step3 .wpcf7-form-control.wpcf7-checkbox{
  display:grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px 40px !important;
  margin: 16px 0 22px !important;
  padding:0 !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step3 .wpcf7-list-item{ margin:0 !important; }
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step3 .wpcf7-list-item label{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.55 !important;
  color:#111827 !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step3 input[type="checkbox"]{
  appearance:auto !important;
  -webkit-appearance:auto !important;
  width:auto !important;
  height:auto !important;
  transform: scale(1.05);
  transform-origin: left center;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step3 .form__buttonWrapper{
  display:flex !important;
  justify-content:center !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step3 .form__buttonWrapper .button{
  width:100% !important;
  max-width: 420px !important;
  height:56px !important;
  border-radius:12px !important;
  border:2px solid #1e5ba8 !important;
  background:#fff !important;
  color:#1e5ba8 !important;
  font-weight:900 !important;
  font-size:16px !important;
  position:relative !important;
  box-shadow:0 10px 24px rgba(30,91,168,.12) !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step3 .form__buttonWrapper .button::after{
  content:"›";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  font-size:22px;
  color:#1e5ba8;
}

/* =========================================================
  8) Step4：グレー面 + 必須バッジ + Submit
========================================================= */
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step4{
  background:#f3f4f6 !important;
  border:1px solid #e5e7eb !important;
  border-radius:14px !important;
  padding:18px 18px 16px !important;
  color:#111827 !important;
  max-height:none !important;
  overflow:visible !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step4 label.form__labelGroup{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  margin:12px 0 10px !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step4 .form__labelGroup-label{
  font-weight:800 !important;
  color:#111827 !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step4 .form__tag.form__tag--required{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:18px !important;
  padding:0 8px !important;
  border-radius:4px !important;
  background:#1e5ba8 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step4 .form__control,
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step4 .form__select{
  width:100% !important;
  background:#fff !important;
  border:1px solid #dbe2ea !important;
  border-radius:8px !important;
  padding:12px !important;
  font-size:14px !important;
  color:#111827 !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step4 textarea.form__control{
  min-height:80px !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step4 .wpcf7-acceptance label{
  color:#111827 !important;
  font-weight:700 !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step4 .form__buttonWrapper{
  position:relative !important;
  margin-top:14px !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step4 .form__buttonWrapper .wpcf7-submit{
  width:100% !important;
  height:56px !important;
  border-radius:10px !important;
  border:2px solid #1e5ba8 !important;
  background:#fff !important;
  color:#1e5ba8 !important;
  font-weight:900 !important;
  font-size:16px !important;
  cursor:pointer !important;
}
body.umj-world-lp article[data-househr-testlp="1"] #contact-form-02-step4 .form__buttonWrapper::after{
  content:"›" !important;
  position:absolute !important;
  right:28px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  font-size:22px !important;
  color:#1e5ba8 !important;
  pointer-events:none !important;
}

/* =========================================================
  9) Step別：人物位置（落下防止）
  ※壊れていたセレクタを「効く形」に修正済み
========================================================= */
body.is-cf02-step1.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-person,
body.is-cf02-step2.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-person{
  bottom:-18px !important;
}
body.is-cf02-step3.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-person{
  bottom:-10px !important;
}
body.is-cf02-step4.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-person{
  bottom:-6px !important;
}
body.is-cf02-step3.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form,
body.is-cf02-step4.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form{
  margin-top:-32px !important;
}

/* =========================================================
  10) SP（縦積み）
========================================================= */
@media (max-width: 959px){
  body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-inner{
    padding: 48px 16px !important;
  }
  body.umj-world-lp article[data-househr-testlp="1"] .p-fv__contents{
    flex-direction:column;
    align-items:stretch;
    min-height:auto !important;
  }

  /* テキストはみ出し防止 */
  body.umj-world-lp article[data-househr-testlp="1"] .p-fv__info{
    width:100% !important;
    margin-bottom:16px !important;
    padding-right:8px !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
  body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-message-text-1{
    font-size: 20px !important;
    line-height: 1.35 !important;
    margin-bottom: 6px !important;
    letter-spacing: 0 !important;
  }
  body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-message-text__accent{
    font-size: 28px !important;
    line-height: 1.25 !important;
  }
  body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-message-text-2{
    font-size: 20px !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
  }

  /* フォームは縦積み */
  body.umj-world-lp article[data-househr-testlp="1"] .p-consultation__form{
    width:100% !important;
    flex:1 1 auto;
    margin-top:0 !important;
    transform:none !important;
  }

  /* 人物は相対配置へ */
  body.umj-world-lp article[data-househr-testlp="1"] .p-fv__mv-person{
    position:relative !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:72vw !important;
    max-width:none !important;
    margin:12px auto 0;
  }

  /* 実績（SPは中央寄せ） */
  body.umj-world-lp article[data-househr-testlp="1"] .p-fv__achievements{
    justify-content:center;
    margin-top:18px;
    transform:none;
  }
  body.umj-world-lp article[data-househr-testlp="1"] .p-fv__achievements-number{
    font-size:64px;
  }
}

/* =========================================================
  11) Footer（LP内だけ）
========================================================= */
body.umj-world-lp article[data-househr-testlp="1"] .footer{
  background: #0b2a57;
  color: #fff;
  padding: 18px 0;
}
body.umj-world-lp article[data-househr-testlp="1"] .footer__container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
body.umj-world-lp article[data-househr-testlp="1"] .footer__menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}
body.umj-world-lp article[data-househr-testlp="1"] .footer__menu-item{ margin:0; padding:0; }
body.umj-world-lp article[data-househr-testlp="1"] .footer__menu-link{
  color: inherit;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.2;
  opacity: 0.95;
  transition: opacity .15s ease, text-decoration-color .15s ease;
}
body.umj-world-lp article[data-househr-testlp="1"] .footer__menu-link:hover{
  opacity: 1;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
body.umj-world-lp article[data-househr-testlp="1"] .footer__copyright{
  margin: 0;
  font-size: 14px;
  line-height: 1.2;
  opacity: 0.95;
}
body.umj-world-lp article[data-househr-testlp="1"] .footer__copyright small{ font-size: inherit; }

@media (max-width: 768px){
  body.umj-world-lp article[data-househr-testlp="1"] .footer{
    padding: 20px 0;
  }
  body.umj-world-lp article[data-househr-testlp="1"] .footer__container{
    flex-direction: column-reverse;
    justify-content: center;
    text-align: center;
  }
  body.umj-world-lp article[data-househr-testlp="1"] .footer__menu{
    justify-content: center;
    gap: 14px 18px;
  }
}

/* =========================================================
  12) SP：ロゴスライダー速度（ゆっくりに）
========================================================= */
@media (max-width: 767px){
  body.umj-world-lp article[data-househr-testlp="1"] .fv_logoArea .fv_slider{
    animation-duration: 100s !important;
  }
  body.umj-world-lp article[data-househr-testlp="1"] .fv_logoArea .fv_slider li{
    transition-duration: 2s !important;
  }
}
@media (max-width: 767px) {
  /* 1. 画像を包んでいる外枠（.p-fv_mv）を強制的に短くする */
  body.househr-lp .p-fv_mv {
    height: 520px !important;    /* ★ここの数字を 450px などに減らすと青い部分が消えます */
    min-height: 0 !important;
    max-height: 520px !important;
    overflow: hidden !important;  /* はみ出た青い画像を隠す */
    position: relative !important;
  }

  /* 2. 背景画像を枠内に収める */
  body.househr-lp .p-fv_mv-bg {
    height: 100% !important;
    position: absolute !important;
    inset: 0 !important;
  }

  /* 3. 画像自体の高さを自動にして枠いっぱいに広げる */
  body.househr-lp .p-fv_mv-bg picture img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: top !important; /* 人物の頭が切れないように上合わせ */
  }
}