/* ===============================================================
  HouseHR LP style-lp.css（最低限整理版 / 安定）
  - FVレイアウトは fv-fix.css に任せる（ここには入れない）
  - ここは「LP全体の枠解除 / 共通UI / 各セクション」
  - スコープ：body.househr-lp
=============================================================== */

/* =========================================================
  0) SWELL影響をLPだけに限定（layout reset + base typo）
========================================================= */
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;
}

body.househr-lp{
  overflow-x:hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  color:#111827;
}
body.househr-lp p,
body.househr-lp li{
  letter-spacing:.02em;
  line-height:1.75;
  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; }
}

/* 見出し（共通） */
body.househr-lp .heading{
  text-align:center;
  margin:0 0 26px;
}
body.househr-lp .heading__subtitle{
  display:inline-block;
  font-size:13px;
  font-weight:900;
  color:#2563eb;
  letter-spacing:.08em;
  margin-bottom:12px;
}
body.househr-lp .heading__title{
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight:900;
  color:#0b2a6f;
  line-height:1.6;
}
body.househr-lp .heading__title em{ font-style:normal; }
body.househr-lp .heading__title-emphasis{
  color:#d10f0f;
  font-weight:900;
}

/* =========================================================
  1) ロゴ帯（marquee / slider）
========================================================= */
body.househr-lp .fv_logoArea{
  background:#fff !important;
  padding: 22px 0 !important;
  overflow:hidden !important;
}
body.househr-lp .fv_logoArea__inner{
  max-width:none !important;
  margin:0 auto !important;
  padding: 0 8px !important;
}
body.househr-lp .fv_slider{
  width:max-content;
  will-change: transform;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
}
body.househr-lp .fv_slider > li{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding: 0 18px !important;
}
body.househr-lp .fv_logoArea img{
  display:block !important;
  height: 48px !important;
  width:auto !important;
  max-width: 220px !important;
  object-fit:contain !important;
}
@media (max-width: 767px){
  body.househr-lp .fv_slider > li{ padding:0 12px !important; }
  body.househr-lp .fv_logoArea img{ height:32px !important; max-width:160px !important; }
}

/* =========================================================
  2) 検索セクション（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__title{
  font-size:20px;
  font-weight:900;
  color:#0b2a6f;
  margin:0 0 14px;
}
body.househr-lp .top-search__form{
  background:#f3f8ff;
  border:1px solid rgba(59,130,246,.18);
  border-radius:18px;
  padding:24px 24px 28px;
  box-shadow:0 10px 26px rgba(11,42,111,.10);
}
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{ display:flex; flex-direction:column; }
body.househr-lp .top-search__field--keyword{ grid-column:1 / -1; }
body.househr-lp .top-search__label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  font-weight:900;
  color:#0b2a6f;
  margin-bottom:6px;
}
body.househr-lp .top-search__select,
body.househr-lp .top-search__input{
  width:100%;
  height:52px;
  border-radius:12px;
  border:1px solid rgba(11,42,111,.18);
  background:#fff;
  padding:10px 12px;
  font-size:16px;
  color:#111827;
  outline:none;
}
body.househr-lp .top-search__input::placeholder{ color:#6b7280; font-size:15px; }
body.househr-lp .top-search__select:focus,
body.househr-lp .top-search__input:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.18);
}
body.househr-lp .top-search__select{
  -webkit-appearance:none;
  appearance:none;
  padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath fill='%232563eb' d='M1.6 1.2 7 6.6l5.4-5.4 1.2 1.2L7 9 0.4 2.4Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:14px 10px;
}
body.househr-lp .top-search__button-wrap{ text-align:center; }
body.househr-lp .top-search__button{
  width:100%;
  max-width:420px;
  height:56px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg,#2563eb,#1e40af);
  color:#fff;
  font-size:17px;
  font-weight:900;
  letter-spacing:.04em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(30,64,175,.22);
}
@media (max-width: 767px){
  body.househr-lp .top-search{ padding:36px 0; }
  body.househr-lp .top-search__fields{ grid-template-columns:1fr; gap:12px; }
}

/* =========================================================
  3) お悩み（onayami）
========================================================= */
body.househr-lp .onayami{
  background:#f3f8ff;
  padding:56px 0 64px;
}
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;
  box-shadow:0 10px 26px rgba(11,42,111,.10);
}
@media (min-width: 768px){
  body.househr-lp .onayami .s_sp{ display:none; }
}
@media (max-width: 767px){
  body.househr-lp .onayami{ padding:34px 0 40px; }
  body.househr-lp .onayami .inner{ padding:0 16px; }
  body.househr-lp .onayami .s_pc{ display:none; }
  body.househr-lp .onayami .s_sp{ display:block; }
}

/* =========================================================
  4) サービス紹介（#service）
========================================================= */
body.househr-lp #service.section{
  padding: 90px 0 84px !important;
  background:#fff !important;
}
@media (max-width: 767px){
  body.househr-lp #service.section{ padding:56px 0 52px !important; }
}

/* 見出し（#serviceだけ星付き） */
body.househr-lp #service .heading__subtitle{
  display:block !important;
  text-align:center !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  color: #2563eb !important;
  letter-spacing: .08em !important;
  margin: 0 0 14px !important;
  position: relative !important;
}
body.househr-lp #service .heading__subtitle::before{
  content:"★\A★★" !important;
  white-space: pre !important;
  display:block !important;
  text-align:center !important;
  color:#f4c542 !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  letter-spacing: 6px !important;
  margin: 0 0 10px !important;
}
body.househr-lp #service .heading__title{
  max-width: 860px !important;
  margin: 0 auto !important;
  text-align:center !important;
  font-size: clamp(26px, 3.2vw, 40px) !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  letter-spacing: .02em !important;
  color:#111827 !important;
}
body.househr-lp #service .heading__title-emphasis{
  color:#d10f0f !important;
  font-weight: 900 !important;
}

/* グリッド */
body.househr-lp #service .cardGrid{
  display:grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 28px !important;
  margin:56px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
  align-items: stretch !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.card--outline{
  background:#fff !important;
  border: 1.5px solid #1f2937 !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.08) !important;
  overflow:hidden !important;
  height:100% !important;
  display:flex !important;
  transition: transform .25s ease, box-shadow .25s ease;
}
@media (hover:hover){
  body.househr-lp #service .card.card--outline:hover{
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0,0,0,.12);
  }
}
body.househr-lp #service .card__inner{
  padding: 26px 22px 22px !important;
  display:flex !important;
  flex-direction: column !important;
  height:100% !important;
}
@media (max-width: 767px){
  body.househr-lp #service .card__inner{ padding:22px 18px 20px !important; }
}
body.househr-lp #service .card__illust{
  display:flex !important;
  justify-content:center !important;
  margin: 8px 0 18px !important;
}
body.househr-lp #service .card__illust img{
  width: 200px !important;
  max-width:100% !important;
  height:auto !important;
  display:block !important;
}
@media (max-width: 767px){
  body.househr-lp #service .card__illust img{ width:180px !important; }
}
body.househr-lp #service .card__title{
  text-align:center !important;
  color:#2563eb !important;
  font-weight:900 !important;
  font-size:20px !important;
  margin: 0 0 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #2563eb !important;
}
body.househr-lp #service .card__inner p{
  margin:0 !important;
  color:#111827 !important;
  font-size:15px !important;
  line-height:1.8 !important;
  letter-spacing:.02em !important;
}
@media (max-width: 767px){
  body.househr-lp #service .card__inner p{ font-size:16px !important; }
}

/* =========================================================
  5) 中段フォーム（#support）※LP用（FVではない）
  - aria-hidden 制御だけは残す（事故りやすいので）
========================================================= */
body.househr-lp #support [data-step-form="step-form-middle"] .form__fieldset[aria-hidden="true"]{
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.househr-lp #support [data-step-form="step-form-middle"] .form__fieldset[aria-hidden="false"]{
  display: block !important;
}

/* =========================================================
  6) FVフォーム（見た目だけ）※レイアウトは fv-fix.css 側
  - Step丸 / タイル2×2 / アイコンmask
========================================================= */
body.househr-lp .p-consultation__form .c-form__wrap{
  background:#fff !important;
  border-radius:16px !important;
  padding: 28px 22px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.12) !important;
}
@media (max-width: 767px){
  body.househr-lp .p-consultation__form .c-form__wrap{ padding: 22px 16px !important; }
}
body.househr-lp .p-consultation__form .c-form__step{
  display:flex !important;
  justify-content:center !important;
  gap:12px !important;
  margin: 0 0 18px !important;
  padding:0 !important;
}
body.househr-lp .p-consultation__form .form__step-item{
  width:44px !important;
  height:44px !important;
  border-radius:50% !important;
  border:2px solid #D1D5DB !important;
  background:#fff !important;
  color:#9CA3AF !important;
  font-size:16px !important;
  font-weight:700 !important;
  display:grid !important;
  place-items:center !important;
}
body.househr-lp .p-consultation__form .form__step-item[aria-current="true"]{
  background:#0066CC !important;
  border-color:#0066CC !important;
  color:#fff !important;
}

/* Step1/2：タイル2×2 */
body.househr-lp .p-consultation__form .step-1 .wpcf7-radio,
body.househr-lp .p-consultation__form .step-2 .wpcf7-radio{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
}
body.househr-lp .p-consultation__form .step-1 input[type="radio"],
body.househr-lp .p-consultation__form .step-2 input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}
body.househr-lp .p-consultation__form .step-1 .wpcf7-list-item label,
body.househr-lp .p-consultation__form .step-2 .wpcf7-list-item label{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:124px !important;
  padding:18px 12px !important;
  border-radius:12px !important;
  background:#0047AB !important;
  border:3px solid #0047AB !important;
  color:#fff !important;
  font-size:17px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}
body.househr-lp .p-consultation__form .step-1 label:has(input:checked),
body.househr-lp .p-consultation__form .step-2 label:has(input:checked){
  background:#00A8E8 !important;
  border-color:#00A8E8 !important;
}

/* =========================================================
  7) アドバイザー（#adviser / #adviser-sp）
  - 二重表示を根絶（PCと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; }
}

/* =========================================================
  8) 紹介実績（#case）※シンプル版（“最終上書きの多重”を一本化）
========================================================= */
body.househr-lp section#case.case.section--bgGradientTheme{
  background: linear-gradient(180deg, #0a3c86 0%, #052a5f 55%, #031f46 100%) !important;
  padding: 84px 0 92px !important;
}
@media (max-width: 767px){
  body.househr-lp section#case.case.section--bgGradientTheme{ padding: 56px 0 64px !important; }
}

body.househr-lp section#case.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 section#case.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 section#case.case ul.logoList > li.logoList__item{
  background:#fff !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  min-height: 94px !important;
  padding: 8px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.househr-lp section#case.case ul.logoList > li.logoList__item img{
  height: 52px !important;
  width:auto !important;
  max-width: 96% !important;
  object-fit: contain !important;
  display:block !important;
}
@media (max-width: 767px){
  body.househr-lp section#case.case ul.logoList > li.logoList__item{ min-height: 78px !important; }
  body.househr-lp section#case.case ul.logoList > li.logoList__item img{ height: 42px !important; }
}
/* =========================================================
  HouseHR LP Restore Patch
  - #support / #adviser / #contact / #case を最低限復旧
  - scope: body.househr-lp
========================================================= */

/* =========================================================
  A) 中段フォーム（#support）復旧：背景+白カード+ステップ表示
========================================================= */
body.househr-lp #support{
  position: relative;
  color: #fff;
  overflow: hidden;
  padding: 90px 0 110px !important;
}
@media (max-width: 767px){
  body.househr-lp #support{ padding: 64px 0 84px !important; }
}

/* 背景画像（section__bg 想定） */
body.househr-lp #support .section__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
}
body.househr-lp #support .section__bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 明るめオーバーレイ */
body.househr-lp #support::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0, 90, 170, .34);
  z-index: 1;
}

body.househr-lp #support .container{
  position: relative;
  z-index: 2;
}

/* フォーム白カード（中段） */
body.househr-lp #support .form{
  max-width: 760px;
  margin: 26px auto 0;
  background: rgba(255,255,255,.96);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
  color:#111827;
}
@media (max-width: 767px){
  body.househr-lp #support .form{
    margin-top: 18px;
    padding: 16px;
    border-radius: 16px;
  }
}

/* aria-hidden 制御（※これが崩れの主因になりがち） */
body.househr-lp #support [data-step-form="step-form-middle"] .form__fieldset{
  display: block !important;
}
body.househr-lp #support [data-step-form="step-form-middle"] .form__fieldset[aria-hidden="true"]{
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* =========================================================
  B) アドバイザー紹介（#adviser / #adviser-sp）復旧：グリッド+カード
========================================================= */

/* 出し分け（PC: #adviser / SP: #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.section--bgGradient,
body.househr-lp #adviser-sp.section--bgGradient{
  background: linear-gradient(180deg,#f3f6fb 0%, #e9eff6 55%, #ffffff 100%) !important;
  padding: 70px 0 74px !important;
}
@media (max-width: 767px){
  body.househr-lp #adviser.section--bgGradient,
  body.househr-lp #adviser-sp.section--bgGradient{
    padding: 54px 0 60px !important;
  }
}

/* グリッド（ul.cardGrid想定） */
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;
  display:block !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:12px 0 10px !important;
  padding-bottom:10px !important;
  border-bottom:2px solid rgba(15,23,42,.18) !important;
}
body.househr-lp #adviser .card__title-ja,
body.househr-lp #adviser-sp .card__title-ja{
  font-weight:900 !important;
  font-size:18px !important;
  letter-spacing:.06em !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:14px !important;
  line-height:1.75 !important;
  margin:0 0 10px !important;
}

/* 青バッジ（p.card__subtitle想定） */
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:28px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  background:#1e5ba8 !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:12px !important;
  letter-spacing:.06em !important;
  margin:12px 0 8px !important;
  white-space:nowrap !important;
}

/* =========================================================
  C) 下段フォーム（#contact）復旧：2カラム+フォームカード
========================================================= */
body.househr-lp #contact.section.contact{
  padding: 80px 0;
  background: #f7fafc;
}
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: 767px){
  body.househr-lp #contact.section.contact{ padding: 56px 0; }
  body.househr-lp #contact .contact__container{
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 0 16px;
  }
}

/* 右フォームカード */
body.househr-lp #contact .form{
  background:#fff;
  border:1px solid rgba(15,23,42,.12);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(2,6,23,.08);
  overflow:hidden;
}
body.househr-lp #contact .form__header{
  padding: 18px 20px 14px;
  border-bottom: 1px solid rgba(15,23,42,.08);
  background: linear-gradient(135deg, rgba(11,74,162,.10), rgba(11,74,162,0));
}
body.househr-lp #contact .containerScrollY{
  padding: 0 20px 18px;
  max-height: none;          /* 伸びる */
  overflow: visible;
}

/* ステップ：aria-hidden=true は非表示 */
body.househr-lp #contact .form__fieldset[aria-hidden="true"]{
  display:none !important;
}

/* =========================================================
  D) 実績（#case）復旧：背景＋ロゴグリッド
========================================================= */
body.househr-lp section#case.case.section--bgGradientTheme{
  background: linear-gradient(180deg, #0a3c86 0%, #052a5f 55%, #031f46 100%) !important;
  padding: 84px 0 92px !important;
}
@media (max-width: 767px){
  body.househr-lp section#case.case.section--bgGradientTheme{
    padding: 56px 0 64px !important;
  }
}

body.househr-lp section#case.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 section#case.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 section#case.case ul.logoList > li.logoList__item{
  background:#fff !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  min-height: 94px !important;
  padding: 8px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.househr-lp section#case.case ul.logoList > li.logoList__item img{
  height: 52px !important;
  width:auto !important;
  max-width: 96% !important;
  object-fit: contain !important;
  display:block !important;
}
@media (max-width: 767px){
  body.househr-lp section#case.case ul.logoList > li.logoList__item{ min-height: 78px !important; }
  body.househr-lp section#case.case ul.logoList > li.logoList__item img{ height: 42px !important; }
}
/* =========================================================
  #contact Restore (exact HTML structure)
  scope: body.househr-lp #contact
========================================================= */

body.househr-lp #contact.section.contact{
  padding: 80px 0;
  background: #f7fafc;
}

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: 22px;
    padding: 0 16px;
  }
}

/* 左カラム */
body.househr-lp #contact .contact__heading-sub{
  display:block;
  font-size:14px;
  margin-bottom:8px;
  color:#0b4aa2;
}
body.househr-lp #contact .contact__heading-sub .u-textUnderline{
  text-decoration-thickness: 3px;
  text-underline-offset: 6px;
}
body.househr-lp #contact .contact__heading-main{
  display:block;
  font-weight: 900;
  font-size: clamp(26px, 2.2vw, 34px);
  line-height: 1.25;
  color:#0f172a;
}
body.househr-lp #contact .contact__lead{
  margin-top: 12px;
  color: rgba(15,23,42,.78);
  font-size: 14.5px;
  line-height: 1.75;
}

/* 左：サポート枠 */
body.househr-lp #contact .contact__panel{
  margin-top: 18px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(2,6,23,.06);
}
body.househr-lp #contact .contact__panel-header{
  padding: 12px 16px;
  border-bottom: 1px solid rgba(15,23,42,.08);
  background: linear-gradient(180deg, rgba(11,74,162,.06), rgba(11,74,162,0));
}
body.househr-lp #contact .contact__panel-heading{
  margin: 0;
  font-size: 13.5px;
  font-weight: 800;
  color: #0f172a;
}
body.househr-lp #contact .contact__panel-body{
  padding: 14px 16px 16px;
}
body.househr-lp #contact .contact__supporter{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:12px;
}
body.househr-lp #contact .contact__supporter-item{
  border-radius: 12px;
  overflow:hidden;
  background:#eef2f7;
  border:1px solid rgba(15,23,42,.08);
}
body.househr-lp #contact .contact__supporter-item img{
  display:block;
  width:100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

/* 右：フォーム外枠（contact__body内の .form） */
body.househr-lp #contact .contact__body{
  background: transparent;
}
body.househr-lp #contact .contact__body > .form{
  background:#fff;
  border:1px solid rgba(15,23,42,.12);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(2,6,23,.08);
  overflow:hidden;
}

/* 右：ヘッダー */
body.househr-lp #contact .form__header{
  padding: 22px 22px 14px;
  text-align: center;
  border-bottom: 1px solid rgba(15,23,42,.08);
  background: linear-gradient(135deg, rgba(11,74,162,.10), rgba(11,74,162,0));
}
body.househr-lp #contact .form__title{
  margin: 0;
  font-weight: 900;
  font-size: 20px;
  letter-spacing: .06em;
  color:#0f172a;
}
body.househr-lp #contact .form__title-value{
  font-style: normal;
  font-weight: 900;
  color:#0b4aa2;
  font-size: 26px;
  padding: 0 2px;
}
body.househr-lp #contact .form__label{
  margin: 10px 0 0;
  font-size: 13px;
  color: rgba(15,23,42,.65);
  letter-spacing: .04em;
}

/* ステップ（ol.form__step） */
body.househr-lp #contact .form__step{
  margin: 16px 22px 14px;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  position: relative;
}
body.househr-lp #contact .form__step::before{
  content:"";
  position:absolute;
  left: 10px;
  right: 10px;
  top: 50%;
  height: 2px;
  transform: translateY(-50%);
  background: rgba(15,23,42,.18);
}
body.househr-lp #contact .form__step-item{
  position: relative;
  z-index: 1;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 12px;
  border: 2px solid rgba(15,23,42,.18);
  background:#fff;
  color: rgba(15,23,42,.50);
}
body.househr-lp #contact .form__step-item[aria-current="true"]{
  background:#0b4aa2;
  border-color:#0b4aa2;
  color:#fff;
  box-shadow: 0 12px 26px rgba(11,74,162,.18);
}

/* 中身（div.containerScrollY） */
body.househr-lp #contact .containerScrollY{
  padding: 0 22px 22px;
}

/* CF7の余計な囲いを消す（“二重カード”防止） */
body.househr-lp #contact .containerScrollY .wpcf7{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 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__labelGroup{
  display: grid;
  gap: 8px;
  margin: 12px 0 14px;
}
body.househr-lp #contact .form__labelGroup-label{
  margin: 0;
  font-weight: 800;
  font-size: 13.5px;
  color: #0f172a;
}

/* ラジオ/チェックの並び */
body.househr-lp #contact .wpcf7-radio,
body.househr-lp #contact .wpcf7-checkbox{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
}
@media (max-width: 767px){
  body.househr-lp #contact .wpcf7-radio,
  body.househr-lp #contact .wpcf7-checkbox{
    grid-template-columns: 1fr;
  }
}
body.househr-lp #contact .wpcf7-list-item{
  margin: 0 !important;
}
body.househr-lp #contact .wpcf7-list-item label{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.12);
  background: #fff;
  cursor: pointer;
  font-size: 13.5px;
  color: rgba(15,23,42,.86);
}
body.househr-lp #contact .wpcf7-list-item label:has(input:checked){
  border-color: rgba(11,74,162,.45);
  box-shadow: 0 12px 26px rgba(11,74,162,.10);
  transform: translateY(-1px);
}

/* 入力 */
body.househr-lp #contact .form__control,
body.househr-lp #contact .form__select{
  width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(15,23,42,.16);
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.4;
  background: #fff;
}
body.househr-lp #contact textarea.form__control{
  min-height: 120px;
  resize: vertical;
}

/* 必須タグ */
body.househr-lp #contact .form__tag{
  display: inline-flex;
  align-items: center;
  height: 18px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  margin-right: 6px;
}
body.househr-lp #contact .form__tag--required{
  background: rgba(185,28,28,.10);
  color: #b91c1c;
}

/* ボタン */
body.househr-lp #contact .form__buttonWrapper{
  display: grid;
  gap: 12px;
  margin-top: 16px;
}
body.househr-lp #contact .button{
  width: 100%;
  border: none;
  border-radius: 12px;
  padding: 14px 14px;
  font-weight: 900;
  font-size: 14px;
  cursor: pointer;
}
body.househr-lp #contact .button--accent{
  background: #b91c1c;
  color: #fff;
  box-shadow: 0 18px 40px rgba(185,28,28,.18);
}
body.househr-lp #contact .button--back{
  background: #fff;
  color: #0b4aa2;
  border: 2px solid #0b4aa2;
}

/* disabled */
body.househr-lp #contact .button.is-disabled,
body.househr-lp #contact .button[aria-disabled="true"],
body.househr-lp #contact input.wpcf7-submit[disabled]{
  opacity: .55 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
}
<h2 class="heading">
  <span class="heading__subtitle">紹介実績</span>
  <span class="heading__title">
    <em>大手企業、ベンチャー企業、<br class="u-hidden-pc">ローカル企業<br>豊富な求人...</em>
  </span>
</h2>
/* =========================================================
  #case heading fix (exact HTML)
========================================================= */
body.househr-lp section#case.case .heading{
  text-align:center;
  margin-bottom: 34px;
}
body.househr-lp section#case.case .heading__subtitle{
  display:inline-block;
  position: relative;
  padding-top: 22px; /* ★ぶん */
  margin: 0 auto 14px;
  font-weight: 900;
  letter-spacing: .14em;
  color: rgba(255,255,255,.88);
}
body.househr-lp section#case.case .heading__subtitle::before{
  content:"★ ★ ★";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  font-size: 11px;
  letter-spacing: .55em;
  color:#d7b24a;
}
body.househr-lp section#case.case .heading__title em{
  display:inline-block;
  max-width: 920px;
  font-style: normal;
  font-weight: 900;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.32;
  letter-spacing: .06em;
  color: rgba(255,255,255,.98);
}
@media (min-width: 768px){
  body.househr-lp section#case.case .heading__title br.u-hidden-pc{ display:none; }
}
@media (max-width: 767px){
  body.househr-lp section#case.case .heading__title em{
    font-size: clamp(22px, 5.6vw, 30px);
    line-height: 1.4;
    max-width: 92vw;
  }
}
/* =========================================================
  SUPPORT (middle step form) restore
  HTML: <section class="section support ...">
  scope: body.househr-lp section.support
========================================================= */

/* セクション土台 */
body.househr-lp section.support{
  position: relative;
  overflow: hidden;
  color: #fff;
  padding: 96px 0 120px; /* 背景の高さ感 */
}
@media (max-width: 767px){
  body.househr-lp section.support{
    padding: 64px 0 84px;
  }
}

/* 背景（既存 .section__bg を利用） */
body.househr-lp section.support .section__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
}
body.househr-lp section.support .section__bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 明るめオーバーレイ（モデル寄せ） */
body.househr-lp section.support::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0, 90, 170, .34);
  z-index: 1;
}

/* 中身を前面へ */
body.househr-lp section.support > .container{
  position: relative;
  z-index: 2;
}

/* 中段フォーム：白カード */
body.househr-lp section.support .form{
  max-width: 760px;
  margin: 26px auto 0;
  background: rgba(255,255,255,.96);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
  color:#111827;
}
@media (max-width: 767px){
  body.househr-lp section.support .form{
    margin-top: 18px;
    padding: 16px;
    border-radius: 16px;
  }
}

/* CF7の外枠を透明化（二重枠防止） */
body.househr-lp section.support .form .wpcf7{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* fieldset切替：aria-hidden に完全依存 */
body.househr-lp section.support .form__fieldset[aria-hidden="true"]{
  display:none !important;
}
body.househr-lp section.support .form__fieldset[aria-hidden="false"]{
  display:block !important;
}

/* 見出し（各ステップ） */
body.househr-lp section.support .form__fieldset .heading{
  text-align:center;
  margin: 0 0 18px;
}
body.househr-lp section.support .form__fieldset .heading__subtitle{
  display:block;
  font-weight: 900;
  letter-spacing: .08em;
  margin-bottom: 10px;
  color:#ffffff;
}
body.househr-lp section.support .form__fieldset .heading__title em{
  display:inline-block;
  font-style: normal;
  font-weight: 900;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.35;
  color:#ffffff;
}
@media (min-width: 768px){
  body.househr-lp section.support .form__fieldset .heading__title br.u-hidden-pc{ display:none; }
}

/* Step1/2：横並びボタン（form__buttonWrapper--horizontal が radio wrapperについてる） */
body.househr-lp section.support .form__buttonWrapper--horizontal{
  display:flex !important;
  justify-content:center !important;
  gap: 18px !important;
  margin: 18px 0 22px !important;
  flex-wrap: wrap !important;
}
body.househr-lp section.support .form__buttonWrapper--horizontal .wpcf7-list-item{
  margin: 0 !important;
}
body.househr-lp section.support .form__buttonWrapper--horizontal label{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width: 200px;
  height: 64px;
  padding: 0 18px;
  border-radius: 12px;
  background: rgba(255,255,255,.96) !important;
  border: 2px solid rgba(15,23,42,.12) !important;
  color:#111827 !important;
  font-weight: 900 !important;
  cursor:pointer;
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
}
body.househr-lp section.support .form__buttonWrapper--horizontal input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}
body.househr-lp section.support .form__buttonWrapper--horizontal label:has(input:checked){
  background:#0b4aa2 !important;
  border-color:#0b4aa2 !important;
  color:#fff !important;
}

/* Step3：チェック（grid） */
body.househr-lp section.support .form__buttonWrapper--grid{
  display:grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px 18px !important;
  margin: 14px 0 18px !important;
}
@media (max-width: 767px){
  body.househr-lp section.support .form__buttonWrapper--grid{
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}
body.househr-lp section.support .form__buttonWrapper--grid .wpcf7-list-item{
  margin:0 !important;
}
body.househr-lp section.support .form__buttonWrapper--grid label{
  width:100%;
  display:flex !important;
  align-items:center !important;
  gap:10px;
  padding:14px 14px !important;
  border-radius:12px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  color:#111827 !important;
  font-weight:800 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
body.househr-lp section.support .form__buttonWrapper--grid input[type="checkbox"]{
  appearance:auto !important;
  -webkit-appearance:auto !important;
}

/* Step4：入力欄 */
body.househr-lp section.support .form__labelGroup{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  margin: 12px 0 !important;
}
body.househr-lp section.support .form__labelGroup-label{
  font-weight:900 !important;
  color:#0f172a !important;
}
body.househr-lp section.support .form__tag--required{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 18px;
  padding: 0 8px;
  border-radius: 4px;
  background:#c00000;
  color:#fff;
  font-size: 12px;
  font-weight: 900;
  margin-right: 8px;
}
body.househr-lp section.support .form__control,
body.househr-lp section.support .form__select{
  width:100% !important;
  border-radius:10px !important;
  border: 1px solid rgba(15,23,42,.16) !important;
  background:#fff !important;
  padding: 10px 12px !important;
  font-size: 15px !important;
}
body.househr-lp section.support textarea.form__control{
  min-height: 96px !important;
}

/* 同意行（リンクが白文字指定なので、背景白カード上では文字色を戻す） */
body.househr-lp section.support .wpcf7-acceptance label{
  color:#0f172a !important;
  font-weight: 800 !important;
}
body.househr-lp section.support .wpcf7-acceptance a{
  color:#0b4aa2 !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* 進む/戻るボタン */
body.househr-lp section.support .form__buttonWrapper{
  display:grid;
  gap: 12px;
  margin-top: 18px;
}
body.househr-lp section.support .button{
  width: 100%;
  border-radius: 12px;
  padding: 14px 14px;
  font-weight: 900;
  font-size: 14px;
}
body.househr-lp section.support .button--accent{
  background:#c00000;
  border: none;
  color:#fff;
  box-shadow: 0 18px 40px rgba(192,0,0,.18);
}
body.househr-lp section.support .button--back{
  background:#fff;
  border: 2px solid #0b4aa2;
  color:#0b4aa2;
}
body.househr-lp section.support input.wpcf7-submit[disabled]{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
}
/* =========================================================
  SUPPORT（中段フォーム）
  方針：
  - 白カード完全撤去
  - 背景画像＋青オーバーレイのみ
  - フォームは直置き（FVと同じ思想）
========================================================= */

body.househr-lp section.support{
  position: relative;
  overflow: hidden;
  padding: 80px 0 96px; /* 高さは必要最低限 */
}
@media (max-width: 767px){
  body.househr-lp section.support{
    padding: 56px 0 72px;
  }
}

/* 背景オーバーレイ（すでにあるなら上書き） */
body.househr-lp section.support::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0, 90, 170, .38); /* 少しだけ濃く */
  z-index: 1;
}

/* 中身を前面へ */
body.househr-lp section.support > .container{
  position: relative;
  z-index: 2;
}

/* ===== 白カードを完全に殺す ===== */
body.househr-lp section.support .form,
body.househr-lp section.support .wpcf7,
body.househr-lp section.support .wpcf7 form,
body.househr-lp section.support fieldset.form__fieldset{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* フォーム自体の余白だけ残す */
body.househr-lp section.support .form{
  max-width: 880px;
  margin: 0 auto;
  padding: 0;
}

/* ===== 見出しは白文字で成立させる ===== */
body.househr-lp section.support .heading{
  text-align: center;
  margin-bottom: 18px;
}
body.househr-lp section.support .heading__subtitle,
body.househr-lp section.support .heading__title em{
  color: #fff !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.25);
}

/* ===== 入力欄だけは白（視認性のため） ===== */
body.househr-lp section.support .form__control,
body.househr-lp section.support .form__select,
body.househr-lp section.support textarea{
  background: rgba(255,255,255,.95) !important;
  border: 1px solid rgba(255,255,255,.6) !important;
  color: #0f172a !important;
}

/* ラベルは白 */
body.househr-lp section.support .form__labelGroup-label{
  color:#fff !important;
  font-weight: 900;
  text-shadow: 0 2px 12px rgba(0,0,0,.25);
}

/* 必須タグ */
body.househr-lp section.support .form__tag--required{
  background:#c00000;
  color:#fff;
}

/* 同意文 */
body.househr-lp section.support .wpcf7-acceptance label{
  color:#fff !important;
  font-weight: 800;
}
body.househr-lp section.support .wpcf7-acceptance a{
  color:#fff !important;
  text-decoration: underline;
}

/* ===== Step切り替えは aria-hidden のみ信頼 ===== */
body.househr-lp section.support .form__fieldset[aria-hidden="true"]{
  display:none !important;
}
body.househr-lp section.support .form__fieldset[aria-hidden="false"]{
  display:block !important;
}

/* ===== CTA ===== */
body.househr-lp section.support .form__buttonWrapper{
  margin-top: 22px;
  display: grid;
  gap: 12px;
}
body.househr-lp section.support .button--accent{
  background:#c00000;
  color:#fff;
  border:0;
  box-shadow: 0 18px 40px rgba(192,0,0,.18);
}
body.househr-lp section.support .button--back{
  background: transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.8);
}
/* =========================================================
  HouseHR SP Drawer Menu (centered vertical + buttons visible)
  HTML:
   - <nav id="gNav" class="gNav" aria-hidden="true/false">
   - <button class="hamburger" aria-expanded="true/false" aria-controls="gNav">
========================================================= */

@media (max-width: 768px){

  /* ヘッダーは前面 */
  body.househr-lp #header.header{
    position: sticky;
    top: 0;
    z-index: 99999;
    background: #fff;
  }

  /* navを全画面オーバーレイに */
  body.househr-lp #gNav.gNav{
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: block;
    pointer-events: none;  /* 閉じてる間クリック不可 */
  }

  /* 背景（青） */
  body.househr-lp #gNav.gNav::before{
    content:"";
    position:absolute;
    inset:0;
    background: rgba(1, 76, 150, 0.92);
    opacity: 0;
    transition: opacity .2s ease;
  }

  /* メニュー本体：中央に縦並び */
  body.househr-lp #gNav.gNav .gNav__menu{
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 110px 18px 28px; /* 上：ヘッダー分 */
    list-style: none;

    display: flex !important;            /* ←縦並びの本命 */
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;

    background: transparent !important;
    box-shadow: none !important;

    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .18s ease, transform .18s ease;

    overflow: auto;
    -webkit-overflow-scrolling: touch;
    text-align: center;
  }

  /* liは幅100%で中央寄せ */
  body.househr-lp #gNav.gNav .gNav__menu-item{
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  /* 通常リンク */
  body.househr-lp #gNav.gNav .gNav__menu-link{
    display: inline-block !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: .02em;
    text-decoration: none;
    padding: 10px 8px;
  }

  /* 「求人検索」白ボタン */
  body.househr-lp #gNav.gNav .gNav__menu-link__color-accent{
    display: flex !important;
    align-items: center;
    justify-content: center;

    width: min(92vw, 360px);
    height: 56px;
    border-radius: 10px;

    background: #fff !important;
    color: #014C96 !important;
    font-weight: 800 !important;

    box-shadow: 0 10px 22px rgba(0,0,0,.18);
    text-decoration: none;
  }

  /* 「無料相談」「運営会社」赤ボタン
     ※u-pc-hidden が付いてても SPでは必ず表示に戻す */
  body.househr-lp #gNav.gNav .gNav__menu-button,
  body.househr-lp #gNav.gNav .gNav__menu-button.u-pc-hidden{
    display: flex !important;
    align-items: center;
    justify-content: center;

    width: min(92vw, 360px);
    height: 56px;
    border-radius: 10px;

    background: #d80f1a !important;
    color: #fff !important;
    font-weight: 800 !important;

    box-shadow: 0 10px 22px rgba(0,0,0,.18);
    text-decoration: none;
  }

  /* ハンバーガー：右上固定（押しやすい） */
  body.househr-lp #header .hamburger{
    position: fixed;
    top: calc(10px + env(safe-area-inset-top));
    right: 12px;
    z-index: 100001;

    width: 46px;
    height: 46px;
    border-radius: 999px;

    background: #014C96;
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
    border: 0;
    padding: 0;

    display: grid;
    place-items: center;
  }

  body.househr-lp #header .hamburger__line{
    width: 22px;
    height: 2px;
    background: #fff;
    position: relative;
    border-radius: 2px;
  }
  body.househr-lp #header .hamburger__line::before,
  body.househr-lp #header .hamburger__line::after{
    content:"";
    position:absolute;
    left:0;
    width:22px;
    height:2px;
    background:#fff;
    border-radius:2px;
  }
  body.househr-lp #header .hamburger__line::before{ top:-7px; }
  body.househr-lp #header .hamburger__line::after{ top: 7px; }

  /* ===== 開いた状態 =====
     nav側が aria-hidden="false" になる想定
     （もしJSが aria-hidden を変えていない場合は下の aria-expanded 版も効く）
  */
  body.househr-lp #gNav.gNav[aria-hidden="false"]{
    pointer-events: auto;
  }
  body.househr-lp #gNav.gNav[aria-hidden="false"]::before{
    opacity: 1;
  }
  body.househr-lp #gNav.gNav[aria-hidden="false"] .gNav__menu{
    opacity: 1;
    transform: translateY(0);
  }

  /* 代替：ボタンが aria-expanded="true" のときも開く（保険） */
  body.househr-lp .hamburger[aria-expanded="true"] ~ #gNav.gNav{
    pointer-events: auto;
  }
  body.househr-lp .hamburger[aria-expanded="true"] ~ #gNav.gNav::before{
    opacity: 1;
  }
  body.househr-lp .hamburger[aria-expanded="true"] ~ #gNav.gNav .gNav__menu{
    opacity: 1;
    transform: translateY(0);
  }
}
/* =========================================================
  SP MENU: 縦並び + 画面中央寄せ（高さも中央）
========================================================= */
@media (max-width: 768px){

  body.househr-lp #gNav.gNav{
    position: fixed;
    inset: 0;
    z-index: 100000;
    pointer-events: none;
  }

  body.househr-lp #gNav.gNav::before{
    content:"";
    position:absolute;
    inset:0;
    background: rgba(1, 76, 150, 0.92);
    opacity: 0;
    transition: opacity .2s ease;
  }

  /* ★ここが本命：ulを画面中央へ */
  body.househr-lp #gNav.gNav .gNav__menu{
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;

    width: min(92vw, 360px) !important;
    max-height: calc(100dvh - 160px) !important; /* 上下余白 */
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;

    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;

    background: transparent !important;
    box-shadow: none !important;
    opacity: 0;
    transition: opacity .18s ease;
    text-align: center;
  }

  body.househr-lp #gNav.gNav .gNav__menu-item{
    width: 100% !important;
    display:flex !important;
    justify-content:center !important;
  }

  body.househr-lp #gNav.gNav .gNav__menu-link{
    display: inline-block !important;
    padding: 10px 8px;
    color: #fff !important;
    font-weight: 700;
    text-decoration:none;
  }

  /* 求人検索：白ボタン */
  body.househr-lp #gNav.gNav .gNav__menu-link__color-accent{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width: 100% !important;
    height: 56px;
    border-radius: 10px;
    background:#fff !important;
    color:#014C96 !important;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
  }

  /* ★無料相談/運営会社：SPでは必ず表示（u-pc-hiddenでも消さない） */
  body.househr-lp #gNav.gNav .gNav__menu-button,
  body.househr-lp #gNav.gNav .gNav__menu-button.u-pc-hidden{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width: 100% !important;
    height: 56px;
    border-radius: 10px;
    background:#d80f1a !important;
    color:#fff !important;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
    text-decoration:none;
  }

  /* 開いた状態（aria-hidden で制御） */
  body.househr-lp #gNav.gNav[aria-hidden="false"]{ pointer-events:auto; }
  body.househr-lp #gNav.gNav[aria-hidden="false"]::before{ opacity:1; }
  body.househr-lp #gNav.gNav[aria-hidden="false"] .gNav__menu{ opacity:1; }

}
/* =========================================================
  FVフォーム：PC/SPの出し分けを強制
========================================================= */
.u-only-pc{ display:block; }
.u-only-sp{ display:none; }

@media (max-width: 767px){
  .u-only-pc{ display:none !important; }
  .u-only-sp{ display:block !important; }
}
@media (min-width: 768px){
  .u-only-sp{ display:none !important; }
}
/* =========================================================
  adviser-sp accordion icon: フォント未読込でも崩れない
========================================================= */
body.househr-lp #adviser-sp .material-symbols-outlined{
  display:none !important; /* ←文字を消す */
}

body.househr-lp #adviser-sp .accordion-header{
  position: relative;
  padding-right: 28px;
  font-weight: 900;
  color: #004599;
}

body.househr-lp #adviser-sp .accordion-header::after{
  content:"▼";
  position:absolute;
  right:0;
  top:0;
  line-height: 1;
  font-size: 14px;
  transform: translateY(2px);
  transition: transform .2s ease;
}

/* 開いたら上向き（JSで .is-open を付ける） */
body.househr-lp #adviser-sp .accordion-wrap.is-open .accordion-header::after{
  transform: translateY(2px) rotate(180deg);
}
/* =========================================================
  adviser-sp accordion: 初期は必ず閉じる（強制）
========================================================= */
@media (max-width: 767px){

  /* 中身は絶対に隠す（他CSSに勝つため !important） */
  body.househr-lp #adviser-sp .accordion-text{
    display: none !important;
  }

  /* 開いたときだけ表示 */
  body.househr-lp #adviser-sp .accordion-wrap.is-open .accordion-text{
    display: block !important;
  }

  /* “stat_minus_1” などの文字化け（Material Symbols未読込）を消す */
  body.househr-lp #adviser-sp .material-symbols-outlined{
    display: none !important;
  }

  /* 代わりに矢印をCSSで描画 */
  body.househr-lp #adviser-sp .accordion-header{
    position: relative;
    padding-right: 28px;
    font-weight: 900;
  }
  body.househr-lp #adviser-sp .accordion-header::after{
    content:"▼";
    position:absolute;
    right:0;
    top:0;
    line-height: 1;
    font-size: 14px;
    transform: translateY(2px);
    transition: transform .2s ease;
  }
  body.househr-lp #adviser-sp .accordion-wrap.is-open .accordion-header::after{
    transform: translateY(2px) rotate(180deg);
  }
}
/* =========================================================
  Section Heading Improve（共通）
  - タイトルを大きく
  - 中央寄せ
  - 改行は “自然 + u-hidden-pc” で制御
========================================================= */
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: .16em;
  margin-bottom: 14px;
  line-height: 1.2;
}

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(28px, 3.2vw, 44px);
  line-height: 1.35;
}

/* “強調行”も同じ行間で */
body.househr-lp .heading__title-emphasis{
  display: inline-block;
  margin-top: 10px;
  font-size: clamp(18px, 2.2vw, 26px);
  line-height: 1.4;
}

/* PCでは u-hidden-pc を消す（既存と統一） */
@media (min-width: 768px){
  body.househr-lp .heading__title br.u-hidden-pc{ display:none; }
}

/* SPは少しだけ詰める */
@media (max-width: 767px){
  body.househr-lp .heading{ margin-bottom: 26px; }
  body.househr-lp .heading__subtitle{ font-size: 13px; margin-bottom: 12px; }
  body.househr-lp .heading__title em{
    font-size: clamp(22px, 5.8vw, 32px);
    line-height: 1.4;
    max-width: 92vw;
  }
}
/* =========================================================
  Section text improve（共通）
========================================================= */
body.househr-lp .section p,
body.househr-lp .section li{
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: .02em;
  color: rgba(15,23,42,.82);
}

body.househr-lp .section .section__lead,
body.househr-lp .section .contact__lead,
body.househr-lp .section .top-search__title + p{
  max-width: 860px;
  margin: 12px auto 0;
  font-size: 16px;
  line-height: 1.9;
}

@media (max-width: 767px){
  body.househr-lp .section p,
  body.househr-lp .section li{
    font-size: 16px;
    line-height: 1.9;
  }
}
/* =========================================================
  Adviser: 余計なスペース/ズレをリセット
========================================================= */
body.househr-lp #adviser .card__title,
body.househr-lp #adviser-sp .card__title{
  margin: 12px 0 10px !important;
  padding: 0 0 10px !important;
  text-align: center !important;
  text-indent: 0 !important;
  letter-spacing: .06em;
  border-bottom: 1px solid rgba(15,23,42,.18) !important;
}

/* これで &nbsp; が残ってても“見た目のズレ”が消える */
body.househr-lp #adviser .card__title-ja,
body.househr-lp #adviser-sp .card__title-ja{
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* =========================================================
  FVフォーム：Step1/2 CTA復旧（contact-form-02）
========================================================= */
body.househr-lp .p-consultation__form #contact-form-02-step1 .form__buttonWrapper,
body.househr-lp .p-consultation__form #contact-form-02-step2 .form__buttonWrapper{
  display: grid !important;
  margin-top: 16px !important;
}

/* ボタン見た目（FV内だけ） */
body.househr-lp .p-consultation__form .button--accent{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 56px !important;
  border-radius: 12px !important;
  background: #c00000 !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  border: 0 !important;
  box-shadow: 0 18px 40px rgba(192,0,0,.18) !important;
}

body.househr-lp .p-consultation__form .button--back{
  width: 100% !important;
  height: 54px !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #0b4aa2 !important;
  border: 2px solid #0b4aa2 !important;
  font-weight: 900 !important;
}
/* =========================================================
  FVフォーム Step4：矢印（› / >）を完全除去
  scope: .p-consultation__form（上段フォームだけ）
========================================================= */
body.househr-lp .p-consultation__form #contact-form-02-step4 .form__buttonWrapper::after{
  content: none !important;
  display: none !important;
}
body.househr-lp .p-consultation__form #contact-form-02-step4 .wpcf7-submit{
  background-image: none !important;
}

/* FVフォーム：disabled見た目 */
body.househr-lp .p-consultation__form .button.is-disabled,
body.househr-lp .p-consultation__form .button[aria-disabled="true"]{
  opacity: .55 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
}

/* ちょいシェイク */
@keyframes hhShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-4px)}}
body.househr-lp .p-consultation__form #contact-form-02-step3.is-shake{
  animation: hhShake .24s ease;
}
/* =========================================================
  Section Heading Star System（統一）
  形：上に★1つ、下に★2つ
========================================================= */
body.househr-lp .heading__subtitle{
  position: relative;
  padding-top: 22px; /* ★ぶん */
}

/* 上：★1つ */
body.househr-lp .heading__subtitle::before{
  content: "★";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  line-height: 1;
  color: #f4c542; /* ゴールド */
  letter-spacing: 0;
}

/* 下：★2つ */
body.househr-lp .heading__subtitle::after{
  content: "★★";
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  line-height: 1;
  color: #f4c542;
  letter-spacing: 6px; /* 2つを少し離す */
}

/* subtitle文字（★の下に来る） */
body.househr-lp .heading__subtitle{
  display: inline-block;
  font-weight: 900;
  letter-spacing: .16em;
  margin-bottom: 14px;
}

/* 背景が濃いセクション（#case等）でも見えるように */
body.househr-lp #case .heading__subtitle,
body.househr-lp #support .heading__subtitle{
  color: rgba(255,255,255,.92) !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.25);
}
body.househr-lp #case .heading__subtitle::before,
body.househr-lp #case .heading__subtitle::after,
body.househr-lp #support .heading__subtitle::before,
body.househr-lp #support .heading__subtitle::after{
  text-shadow: 0 2px 14px rgba(0,0,0,.25);
}
/* =========================================================
  FVフォーム Step3：チェックボックス2列 左端完全揃え
========================================================= */
body.househr-lp .p-consultation__form
#contact-form-02-step3
.wpcf7-checkbox{
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px 18px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

/* 各選択肢 */
body.househr-lp .p-consultation__form
#contact-form-02-step3
.wpcf7-list-item{
  margin: 0 !important;
  width: 100% !important;
}

/* label を“ボタン”としてフル幅に */
body.househr-lp .p-consultation__form
#contact-form-02-step3
.wpcf7-list-item label{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;

  padding: 12px 14px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(255,255,255,.85) !important;

  font-weight: 800 !important;
  color: #111827 !important;
  cursor: pointer !important;

  box-sizing: border-box !important;
}

/* チェック位置を完全固定 */
body.househr-lp .p-consultation__form
#contact-form-02-step3
.wpcf7-list-item input[type="checkbox"]{
  margin: 0 !important;
  transform: translateY(1px);
}

/* 選択時 */
body.househr-lp .p-consultation__form
#contact-form-02-step3
.wpcf7-list-item label:has(input:checked){
  border-color: #0b4aa2 !important;
  background: #e8f1ff !important;
}

/* SPは1列 */
@media (max-width: 767px){
  body.househr-lp .p-consultation__form
  #contact-form-02-step3
  .wpcf7-checkbox{
    grid-template-columns: 1fr !important;
  }
}
/* =========================================================
  Section Heading：サイズを一段アップ
========================================================= */
body.househr-lp .heading__title em{
  font-size: clamp(32px, 3.6vw, 48px) !important;
  line-height: 1.32 !important;
}

/* 強調行（青・下線部分） */
body.househr-lp .heading__title-emphasis{
  font-size: clamp(20px, 2.6vw, 28px) !important;
}

/* subtitle（サービス紹介などの小見出し） */
body.househr-lp .heading__subtitle{
  font-size: 15px !important;
}

/* SPは少し抑える */
@media (max-width: 767px){
  body.househr-lp .heading__title em{
    font-size: clamp(24px, 6.4vw, 34px) !important;
    line-height: 1.38 !important;
  }
  body.househr-lp .heading__title-emphasis{
    font-size: clamp(18px, 4.8vw, 22px) !important;
  }
}
/* =========================================================
  上段フォーム：カンタン30秒（赤・1行固定・フォント統一）
========================================================= */
body.househr-lp .c-form__title{
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .2em;

  font-size: 22px !important;   /* 1行に収まる基準サイズ */
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .04em;

  white-space: nowrap;          /* ← 1行固定の要 */
}

/* 「30」だけ赤（サイズは変えない） */
body.househr-lp .c-form__title-accent{
  color: #c00000 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* 「で」は弱め */
body.househr-lp .c-form__title-small{
  color: #6b7280 !important;
  font-weight: 700 !important;
}

/* 「無料相談」は通常の強調赤 */
body.househr-lp .c-form__title-red{
  color: #8b0000 !important;
  font-weight: 900 !important;
}

/* SPでも1行を維持 */
@media (max-width: 767px){
  body.househr-lp .c-form__title{
    font-size: 18px !important;
  }
}

/* =========================================================
  Section Heading：旧★（装飾）を完全に無効化
========================================================= */

/* heading / subtitle / title に付いている旧疑似要素を全殺し */
body.househr-lp .heading::before,
body.househr-lp .heading::after,
body.househr-lp .heading__subtitle::after,
body.househr-lp .heading__title::before,
body.househr-lp .heading__title::after{
  content: none !important;
  display: none !important;
}

/* SWELL由来の装飾が残る場合の保険 */
body.househr-lp .heading *,
body.househr-lp .heading *::before,
body.househr-lp .heading *::after{
  background-image: none !important;
}
/* =========================================================
  Heading ★：上1つ＋下2つ（縦3つ化を根絶）
========================================================= */

/* まず旧★/他★を止める（安全） */
body.househr-lp .heading::before,
body.househr-lp .heading::after,
body.househr-lp .heading__title::before,
body.househr-lp .heading__title::after,
body.househr-lp .heading__subtitle::after{
  content: none !important;
  display: none !important;
}

/* 正式な★は subtitle の ::before だけで描く */
body.househr-lp .heading__subtitle{
  position: relative;
  display: inline-block;
  padding-top: 28px; /* ★分の余白 */
}

/* ★ 上1つ、下2つ（改行で固定） */
body.househr-lp .heading__subtitle::before{
  content: "★\A★★";
  white-space: pre;           /* 改行を効かせる */
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);

  text-align: center;
  line-height: 1.05;
  font-size: 12px;
  letter-spacing: 6px;        /* 下の★★の間隔 */
  color: #f4c542;
}

/* dark背景でも見えるように（必要なら） */
body.househr-lp #case .heading__subtitle::before,
body.househr-lp #support .heading__subtitle::before{
  text-shadow: 0 2px 14px rgba(0,0,0,.25);
}
@media (max-width: 767px){

/* =========================================================
  FV SP FINAL（これ以外のFV SP指定は消す）
========================================================= */
@media (max-width: 767px){

  /* 青帯の犯人（p-fv__mv::after）を消す */
  body.househr-lp .p-fv__mv::after{
    content: none !important;
    display: none !important;
  }

  /* FVの高さを締める */
  body.househr-lp .p-fv__mv{
    position: relative !important;
    height: 64svh !important;
    min-height: 64svh !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 背景を必ず全高にフィット */
  body.househr-lp .p-fv__mv-bg{
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }
  body.househr-lp .p-fv__mv-bg picture,
  body.househr-lp .p-fv__mv-bg img{
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  /* 前景 */
  body.househr-lp .p-fv__mv-inner{
    position: relative !important;
    z-index: 2 !important;
  }

  /* コピー：SPはbrを消して2行へ */
  body.househr-lp .p-fv__mv-message-text-1 br,
  body.househr-lp .p-fv__mv-message-text-2 br{
    display: none !important;
  }
  body.househr-lp .p-fv__mv-message-text-1{
    font-size: 15px !important;
    line-height: 1.25 !important;
    margin: 0 0 6px !important;
  }
  body.househr-lp .p-fv__mv-message-text-2{
    font-size: 22px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  /* 実績：横2カラム */
  body.househr-lp .p-fv__achievements{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px 14px !important;
    margin-top: 10px !important;
  }
  body.househr-lp .p-fv__achievements-number{
    font-size: 24px !important;
    line-height: 1.05 !important;
  }
  body.househr-lp .p-fv__achievements-unit{
    font-size: 10px !important;
  }
  body.househr-lp .p-fv__achievements-lead{
    font-size: 11px !important;
    margin-bottom: 2px !important;
  }

  /* 人物少し小さく */
  body.househr-lp .p-fv__mv-person img{
    max-height: 36vh !important;
    width: auto !important;
  }
}
@media (max-width: 767px) {
  /* 1. 器自体の高さを自動（中身に合わせる）にする */
  body.househr-lp .p-fv_mv,
  body.househr-lp .p-fv_mv-bg {
    height: auto !important;
    min-height: 0 !important;
  }

  /* 2. 画像の表示領域を強制的に制限する */
  body.househr-lp .p-fv_mv-bg picture img {
    display: block !important;
    width: 100% !important;
    height: 140vw !important; /* 横幅に対する比率で高さを決める（ここを調整） */
    object-fit: cover !important;
    object-position: top !important;
  }
}
	@media (max-width: 767px) {
  /* 1. FV全体の高さを強制的に制限して、はみ出た青い部分を隠す */
  body.househr-lp .p-fv_mv {
    height: 520px !important; /* ここを小さくすると青いスペースが消えます */
    overflow: hidden !important;
    min-height: 0 !important;
  }

  /* 2. 背景画像の器も高さに追従させる */
  body.househr-lp .p-fv_mv-bg {
    height: 100% !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;
  }
}
	@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; /* 人物の頭が切れないように上合わせ */
  }
}
	/* =========================================================
  FVフォームタイトル：SPは左右に余裕を持たせる
========================================================= */
@media (max-width: 767px){

  /* タイトル全体を内側に寄せる */
  body.househr-lp .c-form-title-wrap{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* 文字が端まで行かないように */
  body.househr-lp .c-form__title{
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
    line-height: 1.3;
  }

  /* 文字サイズをほんの少しだけ落として余裕を作る */
  body.househr-lp .c-form__title{
    font-size: 17px !important;
  }
}

