/* ===== ページ共通・レスポンシブ ===== */
#wf-modelhouse, #wf-modelhouse * { box-sizing: border-box; }
#wf-modelhouse { background: #fff; }
#wf-modelhouse a { text-decoration: none; cursor: pointer; }
#wf-modelhouse a:hover { opacity: 0.78; }
  @media (max-width: 767px) {
    [data-sp-body][data-sp-body] { text-align: left !important; }
    [data-sp-body] br { display: none !important; }
    [data-mh-wrap] { padding-left: 20px !important; padding-right: 20px !important; }
    [data-mh-sec] { padding-top: 48px !important; padding-bottom: 48px !important; }
    [data-mh-catch] { font-size: 21px !important; line-height: 1.8 !important; }
    [data-mh-en] { font-size: 28px !important; letter-spacing: 2px !important; }
    [data-mh-2col] { grid-template-columns: 1fr !important; gap: 40px !important; }
    [data-mh-row] { grid-template-columns: 1fr !important; gap: 20px !important; }
    [data-mh-row] img { order: 0 !important; }
    [data-mh-row] > div { order: 0 !important; }
    [data-mh-info] { grid-template-columns: 96px 1fr !important; }
    [data-mh-wrap]:is(.u-1v07okl, .u-bc9now, .u-1gb07n3, .u-18nq3ba, .u-tkhjvd, .u-oqejy, .u-us5rsg, .u-ur4iih, .u-79erpo, .u-104i12u, .u-s0jphp, .u-1h700b6, .u-179kp74, .u-ae54oe, .u-wcpzn1, .u-v5gzqt, .u-zz0v5s, .u-1bt9mur, .u-1h39ybj, [style*="text-align: center"]) { text-align: left !important; }
    [data-mh-wrap] div:is(.u-qnnuv5, .u-bqb09n, .u-19yosgt, .u-436xmn, .u-1wfye62, .u-hkv80o, .u-1iesm9, .u-hi241m, .u-quniyr, .u-7vyg1w, .u-15n0uhr, .u-2libgj, .u-kcmcoz, .u-wph3j5, .u-133pa35, .u-ry9gzn, .u-8widqs, .u-ah5oaw, .u-kr1ymq, .u-yfx4w5, .u-14e1d63, .u-65rbz, .u-1vaagh9, .u-8i5w1s, .u-ui6oik, .u-9yfsqw, .u-1lsw17j, .u-1takyvh, .u-1nvfnmr, .u-1xwo76l, .u-ae54oe, .u-wcpzn1, .u-6g4es, .u-1nxwq93, .u-e2fov1, .u-1w5y7h0, .u-12ij0ki, .u-1xulusd, .u-1pe2l, .u-1u18qni, .u-zgs8p7, .u-q1yi8w, .u-1s9ve7p, .u-274mfv, .u-ooftfj, .u-15cdsxl, .u-hy9dxz, .u-f9x7me, .u-9554tm, .u-tl1ejg, .u-8vap7z, .u-6jo8hs, .u-71ovdf, .u-wf5xaa, [style*="justify-content: center"]) { justify-content: flex-start !important; }
    [data-mh-btns][data-mh-btns] { grid-template-columns: 1fr !important; flex-direction: column !important; max-width: none !important; }
    [data-mh-btns] > a { width: 100% !important; padding-left: 16px !important; padding-right: 16px !important; font-size: 14px !important; }
    [data-mh-zoomhint] { display: inline-flex !important; }
    [data-mh-mapzoom] img { width: 200vw !important; max-width: none !important; }
    [data-mh-mapzoom] { justify-content: flex-start !important; align-items: flex-start !important; width: calc(200vw + 24px) !important; }
    [data-mh-mapbtns][data-mh-mapbtns] { grid-template-columns: 1fr !important; max-width: none !important; }
    /* 固定ヘッダー(62px)の下から。画面上の高さ(220-62)は維持し、建物上部が見切れないようにする */
    [data-mh-hero][data-mh-hero] { grid-template-columns: 1fr 1fr !important; height: calc(220px - 62px) !important; margin-top: 62px !important; }
    [data-mh-hero] .u-n5oudu {
      object-position: left top !important;
      transform: none !important;
    }
    [data-mh-hero] .u-1a99dhh {
      object-position: center top !important;
    }
    [data-mh-herotxt] {
      align-items: center !important;
    }

    [data-mh-h1] { font-size: 21px !important; }
    [data-mh-btns] { flex-direction: column !important; }
  }

  /* 本文タイポグラフィのスマホ統一 */
  @media (max-width: 767px) {
    :is(.u-1gx6ahr, .u-ghp1v4, .u-do93pm, .u-16oe9kw, .u-kcmcoz, .u-1kp89gt, .u-11xiunk, .u-o6qbv1, .u-1i4117t, .u-1nxwq93, .u-1q9q8pn, .u-10mx8j2, .u-1pe2l, .u-f1rv9a, [style*="font-size: 16px"]):is(.u-oycu8f, .u-12z5try, .u-1sill2d, .u-1ky006h, .u-5urpxp, .u-1x8e31j, .u-joju2n, .u-q8ygcx, .u-nnr83x, .u-15otghp, .u-7h91jo, .u-rjk2hf, .u-1xbmyov, .u-1w11ckd, .u-jy5tmo, .u-14s4wom, .u-26hyf9, .u-1aulkpu, .u-23e4rm, .u-ojxpt, .u-wqmqjz, .u-zh68g, .u-1lyvywk, .u-1r7zyxv, .u-mjd1vo, .u-1djkdgs, .u-18j1pm4, .u-66nff6, [style*="#5c554b"]),
    :is(.u-oycu8f, .u-19yosgt, .u-436xmn, .u-1wfye62, .u-hkv80o, .u-1iesm9, .u-1ky006h, .u-1oi07ge, .u-yzh7jz, .u-q8ygcx, .u-nnr83x, .u-15n0uhr, .u-7h91jo, .u-wph3j5, .u-1j07wu, .u-rjk2hf, .u-3e49k7, .u-1nph8hh, .u-jy5tmo, .u-rk3shm, .u-c54inc, .u-23e4rm, .u-1nvfnmr, .u-zh68g, .u-1lyvywk, .u-mjd1vo, .u-1w5y7h0, .u-12ij0ki, .u-1xerp6h, .u-66nff6, .u-1p67g1b, .u-1rdmi07, [style*="font-size: 15px"]):is(.u-oycu8f, .u-12z5try, .u-1sill2d, .u-1ky006h, .u-5urpxp, .u-1x8e31j, .u-joju2n, .u-q8ygcx, .u-nnr83x, .u-15otghp, .u-7h91jo, .u-rjk2hf, .u-1xbmyov, .u-1w11ckd, .u-jy5tmo, .u-14s4wom, .u-26hyf9, .u-1aulkpu, .u-23e4rm, .u-ojxpt, .u-wqmqjz, .u-zh68g, .u-1lyvywk, .u-1r7zyxv, .u-mjd1vo, .u-1djkdgs, .u-18j1pm4, .u-66nff6, [style*="#5c554b"]),
    :is(.u-bqb09n, .u-16h7hi6, .u-1sill2d, .u-16zhval, .u-1e82jj0, .u-hi241m, .u-j29s2r, .u-1xbmyov, .u-fhd51s, .u-1w11ckd, .u-1ybfdyi, .u-17adgbc, .u-14s4wom, .u-15ow963, .u-ezlfg0, .u-kn7z1n, .u-1aulkpu, .u-8i5w1s, .u-ui6oik, .u-1takyvh, .u-13en32a, .u-ae54oe, .u-1r7zyxv, .u-114f4cu, .u-11h7z69, .u-1gv0lep, .u-vpszhp, .u-ao63v2, .u-1trhbvd, .u-38r1yy, .u-tl1ejg, [style*="font-size: 14px"]):is(.u-oycu8f, .u-12z5try, .u-1sill2d, .u-1ky006h, .u-5urpxp, .u-1x8e31j, .u-joju2n, .u-q8ygcx, .u-nnr83x, .u-15otghp, .u-7h91jo, .u-rjk2hf, .u-1xbmyov, .u-1w11ckd, .u-jy5tmo, .u-14s4wom, .u-26hyf9, .u-1aulkpu, .u-23e4rm, .u-ojxpt, .u-wqmqjz, .u-zh68g, .u-1lyvywk, .u-1r7zyxv, .u-mjd1vo, .u-1djkdgs, .u-18j1pm4, .u-66nff6, [style*="#5c554b"]) { font-size: 14px !important; line-height: 2 !important; letter-spacing: 0.02em !important; }
    :is(.u-12z5try, .u-15twofx, .u-1mp0i4q, .u-1x8e31j, .u-15otghp, .u-fp0wqe, .u-8widqs, .u-1vaz07, .u-1wodu2j, .u-jxxlej, .u-26hyf9, .u-w6lmcv, .u-ojxpt, .u-wqmqjz, .u-jh0j3k, .u-wcpzn1, .u-18j1pm4, .u-1qnuuh6, .u-1t17a1, .u-1hfz9tq, .u-z7aa8l, .u-y7pp1v, .u-1dv2qwi, .u-v7492s, .u-1l01vws, .u-766q0t, [style*="font-size: 13px"]):is(.u-oycu8f, .u-12z5try, .u-1sill2d, .u-1ky006h, .u-5urpxp, .u-1x8e31j, .u-joju2n, .u-q8ygcx, .u-nnr83x, .u-15otghp, .u-7h91jo, .u-rjk2hf, .u-1xbmyov, .u-1w11ckd, .u-jy5tmo, .u-14s4wom, .u-26hyf9, .u-1aulkpu, .u-23e4rm, .u-ojxpt, .u-wqmqjz, .u-zh68g, .u-1lyvywk, .u-1r7zyxv, .u-mjd1vo, .u-1djkdgs, .u-18j1pm4, .u-66nff6, [style*="#5c554b"]) { font-size: 13px !important; line-height: 1.95 !important; }
    :is(.u-12z5try, .u-15twofx, .u-1mp0i4q, .u-1x8e31j, .u-15otghp, .u-fp0wqe, .u-8widqs, .u-1vaz07, .u-1wodu2j, .u-jxxlej, .u-26hyf9, .u-w6lmcv, .u-ojxpt, .u-wqmqjz, .u-jh0j3k, .u-wcpzn1, .u-18j1pm4, .u-1qnuuh6, .u-1t17a1, .u-1hfz9tq, .u-z7aa8l, .u-y7pp1v, .u-1dv2qwi, .u-v7492s, .u-1l01vws, .u-766q0t, [style*="font-size: 13px"]):is(.u-1bu25t6, .u-1tzciu2, .u-1uxrq8c, .u-isumwa, .u-1cxvopk, .u-1d4nrxo, .u-qlb7wd, .u-1vpl3it, .u-1ef9e26, .u-us5rsg, .u-79erpo, .u-1e8hau2, .u-1vaz07, .u-s0jphp, .u-uayojh, [style*="#7a7268"]),
    :is(.u-156lvdo, .u-1rkt8wa, .u-1bu25t6, .u-88wvtt, .u-177maty, .u-vt5ha7, .u-s25cre, .u-joju2n, .u-1cxvopk, .u-1d4nrxo, .u-xr5ek5, .u-qlb7wd, .u-1vpl3it, .u-1ef9e26, .u-us5rsg, .u-79erpo, .u-1e8hau2, .u-s0jphp, .u-1xywh50, .u-qysz3r, .u-uayojh, .u-1u18qni, .u-zgs8p7, .u-q1yi8w, .u-1s9ve7p, .u-181lbif, .u-ooftfj, .u-6jo8hs, .u-1a2c911, [style*="font-size: 12px"]):is(.u-1bu25t6, .u-1tzciu2, .u-1uxrq8c, .u-isumwa, .u-1cxvopk, .u-1d4nrxo, .u-qlb7wd, .u-1vpl3it, .u-1ef9e26, .u-us5rsg, .u-79erpo, .u-1e8hau2, .u-1vaz07, .u-s0jphp, .u-uayojh, [style*="#7a7268"]),
    :is(.u-1tzciu2, .u-1tfv300, .u-1uxrq8c, .u-isumwa, .u-5urpxp, .u-14jb2bf, .u-iehzvq, .u-q0l6au, .u-zl0pnw, .u-hy9dxz, [style*="font-size: 11px"]):is(.u-1bu25t6, .u-1tzciu2, .u-1uxrq8c, .u-isumwa, .u-1cxvopk, .u-1d4nrxo, .u-qlb7wd, .u-1vpl3it, .u-1ef9e26, .u-us5rsg, .u-79erpo, .u-1e8hau2, .u-1vaz07, .u-s0jphp, .u-uayojh, [style*="#7a7268"]) { font-size: 12px !important; line-height: 1.85 !important; }
  }

/* ===== 要素スタイル（旧 style 属性から移行） ===== */
.u-99f1yy { font-family: 'Noto Sans JP', sans-serif; color: #2e2a26; background: #fff; width: 100%; }
.u-1px3ycj { position: relative; }
.u-1bb9hu0 { position: relative; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 100%; height: 300px; overflow: hidden; background: #6b6b6b; }
.u-m92i7s { position: relative; overflow: hidden; }
.u-n5oudu { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: left 20%; transform: scale(1.18); transform-origin: left center; display: block; }
.u-1a99dhh { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
.u-r87emu { position: absolute; inset: 0; background: rgba(0,0,0,0.4); }
.u-1vaagh9 { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 0 32px; }
.u-1h700b6 { font-size: 30px; font-weight: 700; line-height: 1.7; letter-spacing: 0.08em; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,0.6); margin: 0; text-align: center; }
.u-1jp21lu { padding: 76px 0 66px; }
.u-1v07okl { max-width: 880px; margin: 0 auto; padding: 0 32px; text-align: center; }
.u-1r9xfup { font-size: 30px; font-weight: 400; letter-spacing: 3px; color: #46a1b5; line-height: 1; font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN'; }
.u-1y1hxes { font-size: 26px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; margin-top: 18px; }
.u-q8ygcx { font-size: 15px; color: #5c554b; line-height: 2.4; letter-spacing: 0.04em; margin-top: 24px; }
.u-1wes4ar { background: #f6f4ef; padding: 72px 0; }
.u-1s1os8l { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.u-jzrnh5 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 56px; }
.u-nfa64y { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; margin-bottom: 22px; }
.u-w6lmcv { font-size: 13px; color: #46a1b5; font-weight: 700; letter-spacing: 1px; }
.u-1sbk2ti { font-size: 20px; font-weight: 700; margin-top: 8px; }
.u-1aulkpu { font-size: 14px; color: #5c554b; line-height: 2; margin-top: 14px; }
.u-h4bsdq { display: flex; gap: 12px; margin-top: 22px; }
.u-8i5w1s { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 14px; font-weight: 700; color: #fff; background: #46a1b5; padding: 15px 26px; }
.u-14jb2bf { font-size: 11px; }
.u-ui6oik { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 14px; font-weight: 700; color: #46a1b5; border: 1px solid #46a1b5; background: #fff; padding: 14px 26px; }
.u-zbx6yy { padding: 72px 0; }
.u-oqejy { max-width: 1080px; margin: 0 auto; padding: 0 32px; text-align: center; }
.u-1ogz3vk { font-size: 24px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; margin-top: 16px; }
.u-7h91jo { font-size: 15px; color: #5c554b; line-height: 2.4; letter-spacing: 0.04em; margin-top: 18px; }
.u-1fzls02 { display: block; width: 100%; padding: 0; border: none; background: none; cursor: zoom-in; position: relative; margin: 30px 0 0; }
.u-nsh405 { width: 100%; height: auto; display: block; }
.u-1xywh50 { display: none; position: absolute; right: 10px; bottom: 10px; align-items: center; gap: 6px; background: rgba(46,42,38,0.72); color: #fff; font-size: 12px; font-weight: 700; padding: 7px 12px; border-radius: 999px; }
.u-156lvdo { font-size: 12px; }
.u-9ghbfa { position: fixed; inset: 0; z-index: 1000; background: rgba(20,20,20,0.88); overflow: auto; -webkit-overflow-scrolling: touch; }
.u-9yfsqw { position: fixed; top: 12px; right: 12px; z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: none; background: #fff; color: #2e2a26; font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.u-1lsw17j { min-height: 100%; display: flex; align-items: center; justify-content: center; padding: 64px 12px 24px; }
.u-mjouv8 { width: 100%; max-width: 1400px; height: auto; display: block; background: #fff; }
.u-fltg6a { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 640px; margin: 26px auto 0; }
.u-1takyvh { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 14px; font-weight: 700; color: #46a1b5; border: 1px solid #46a1b5; padding: 15px 20px; }
.u-osk1i8 { padding: 76px 0 82px; }
.u-13ma7ry { font-size: 24px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; }
.u-23e4rm { font-size: 15px; color: #5c554b; line-height: 2.4; margin-top: 20px; }
.u-mfe3hy { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 28px; max-width: 640px; margin-left: auto; margin-right: auto; }
.u-1nvfnmr { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 15px; font-weight: 700; color: #fff; background: #46a1b5; padding: 18px 34px; }
.u-bl7szr { background: #fff; }
.u-ojxpt { max-width: 1200px; margin: 0 auto; padding: 0 32px 30px; display: flex; align-items: center; gap: 12px; font-size: 13px; color: #5c554b; }
.u-16mija8 { display: inline-flex; align-items: center; gap: 8px; }
.u-1z8y6h { border-bottom: 1px solid #c3bbae; }
