/* ============================================================
       13: CONTACTセクションを1280px幅の窓でクリップ
       - 1281px以上でも、CONTACT三角形・青ベースは1280px範囲内で表示
       - section自体を 1280px にして overflow:hidden
       - sectionを左へ80px広げるため、CONTACT内の要素は+80px補正
       ============================================================ */
    @media (min-width: 1281px) {
      .biz-contact-section {
        left: -80px !important;
        width: 1280px !important;
        max-width: 1280px !important;
        min-width: 1280px !important;
        overflow: hidden !important;
      }

      :root {
        /* CONTACT背景画像：sectionが-80pxになるため、1280表示時と同じ見た目になるよう+80px補正 */
        --wij-contact-triangle-left: 3px;
        --wij-contact-triangle-width: 1276px;

        --wij-contact-trianglebottom-left: 15px;
        --wij-contact-trianglebottom-width: 1250px;

        --wij-contact-bluebase-left: -112px;
        --wij-contact-bluebase-width: 1490px;

        /* CONTACTその他要素も section の -80px を相殺 */
        --wij-contact-section-title-left: 110px;
        --wij-contact-whitesquare-left: 90px;
        --wij-contact-section-phone-left: 815px;
        --wij-contact-desc-left: 116px;
        --wij-contact-phone-label-left: 870px;
        --wij-contact-phone-number-left: 870px;
        --wij-contact-time-left: 870px;
        --wij-contact-hours-left: 965px;
        --wij-contact-mail-left: 200px;
        --wij-contact-form-title-left: 260px;
        --wij-contact-form-label-left: 225px;
        --wij-contact-form-value-left: 420px;
        --wij-contact-input-left: 420px;
        --wij-contact-agree-left: 510px;
        --wij-contact-agree-box-left: 485px;
        --wij-contact-send-left: 465px;
      }
    }
/* =========================
   .biz-workers-bgscreen 用
   青ティントを下に向かってフェード
   ========================= */

/* 疑似要素の重なり制御を安定させる */
.body-design-layer {
  isolation: isolate !important;
}

/* 背景画像本体：下端をやわらかく消す */
.biz-workers-bgscreen {
  position: absolute !important;
  left: -420px !important;
  top: -470px !important;
  width: 1930px !important;
  z-index: 2 !important;

  -webkit-mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 60%,
    rgba(0,0,0,0.78) 74%,
    rgba(0,0,0,0.40) 86%,
    rgba(0,0,0,0.00) 100%
  );
  mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,1) 60%,
    rgba(0,0,0,0.78) 74%,
    rgba(0,0,0,0.40) 86%,
    rgba(0,0,0,0.00) 100%
  );
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

/* 青ティント：上は少し濃く、下へ行くほど透明 */
.body-design-layer::before {
  content: "";
  position: absolute;
  left: -420px;
  top: -470px;
  width: 1930px;
  height: 1180px;
  z-index: 3;
  pointer-events: none;

  background: linear-gradient(
    to bottom,
    rgba(93, 131, 189, 0.20) 0%,
    rgba(93, 131, 189, 0.16) 38%,
    rgba(93, 131, 189, 0.10) 66%,
    rgba(93, 131, 189, 0.04) 84%,
    rgba(93, 131, 189, 0.00) 100%
  );
}

/* 人物・街並みはティントより上に保つ */
.biz-workers-city-combined {
  z-index: 4 !important;
}

/* ============================================================
   bg_flat_* の表示エフェクトを完全解除
   HTML側にも同じ上書きを入れていますが、外部CSS運用時の保険です。
   ============================================================ */
.web-bg-img {
  -webkit-mask-image: none !important;
  mask-image: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

.web-bg-section::before,
.web-bg-section::after {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

.body-content-frame {
  position: absolute !important;
  z-index: 2147483000 !important;
  pointer-events: none !important;
}




/* WIJ_BG_FLAT_FULL_WIDTH_OVERRIDE */
    /* ============================================================
       bg_flat_* をなるべく全幅で見せる
       - 画像の縦寸法は変えず、横方向だけ拡大して左右の余白を抑える
       - mask / filter / blend は引き続き完全解除
       - 数値調整はここだけ変更
       ============================================================ */
    :root {
      --wij-bg-flat-scale-x: 1.28;   /* 横方向の拡大率：1.20〜1.35で調整 */
      --wij-bg-flat-shift-x: 2.5%;   /* 右へ寄せる量：黒・色面を右側へ伸ばす */
    }

    .web-bg-section {
      width: 100vw !important;
      max-width: 100vw !important;
      margin-left: calc(50% - 50vw) !important;
      margin-right: calc(50% - 50vw) !important;
      overflow: hidden !important;
      background: transparent !important;
    }

    .web-bg-section picture {
      display: block !important;
      width: 100vw !important;
      max-width: 100vw !important;
      overflow: hidden !important;
      line-height: 0 !important;
    }

    .web-bg-img {
      display: block !important;
      width: 100vw !important;
      max-width: none !important;
      min-width: 100vw !important;
      height: auto !important;
      object-fit: fill !important;
      transform-origin: center top !important;
      transform: translateX(var(--wij-bg-flat-shift-x)) scaleX(var(--wij-bg-flat-scale-x)) !important;
      -webkit-mask-image: none !important;
      mask-image: none !important;
      -webkit-mask: none !important;
      mask: none !important;
      filter: none !important;
      opacity: 1 !important;
      mix-blend-mode: normal !important;
    }

    .web-bg-section::before,
    .web-bg-section::after {
      content: none !important;
      display: none !important;
      background: none !important;
      opacity: 0 !important;
    }

    /* 黒枠は必ず最前面 */
    .body-content-frame {
      position: absolute !important;
      z-index: 2147483000 !important;
      pointer-events: none !important;
    }
  
/* SERVICEカード内の上下グループ間余白をカード別に調整 */
:root {
  --wij-service-text-card1-gap: 14px;  /* 居住：賃貸〜火災保険の間 */
  --wij-service-text-card2-gap: 14px;  /* 生活インフラ：家電〜電気の間 */
  --wij-service-text-card3-gap: 22px;  /* 通信：スマホ〜Wi-Fiの間 */

  --wij-service-text-card1-line-height: var(--wij-service-text-card-line-height, 1.3);
  --wij-service-text-card2-line-height: var(--wij-service-text-card-line-height, 1.3);
  --wij-service-text-card3-line-height: var(--wij-service-text-card-line-height, 1.3);
}

.biz-service-text-card1 { line-height: var(--wij-service-text-card1-line-height) !important; }
.biz-service-text-card2 { line-height: var(--wij-service-text-card2-line-height) !important; }
.biz-service-text-card3 { line-height: var(--wij-service-text-card3-line-height) !important; }

.biz-service-card-gap {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

.biz-service-card-gap1 { height: var(--wij-service-text-card1-gap) !important; }
.biz-service-card-gap2 { height: var(--wij-service-text-card2-gap) !important; }
.biz-service-card-gap3 { height: var(--wij-service-text-card3-gap) !important; }

@media (max-width: 760px) {
  :root {
    --wij-service-text-card1-gap: 8px;
    --wij-service-text-card2-gap: 8px;
    --wij-service-text-card3-gap: 12px;
  }
}

body {
  opacity: 1;
  transition: opacity 200ms ease;
}

body.page-fade-out {
  opacity: 0;
}