@charset "UTF-8";
/* ==========================================================================
   一条工務店群馬 LP「実質月々4万円台」 /lp-4man/
   設計: Figmaカンプ(1520px幅)の数値をそのまま px で記述する。
        --u = 1デザインpx の実寸。PC は 1px、SP は 750px基準の vw に切替える。
        よって全ての寸法は calc(N * var(--u)) の一形式で PC/SP 両対応する。
   ========================================================================== */

:root{
  --u: min(1px, calc(100vw / 1520));
  --f-zen: "Zen Old Mincho","游明朝","YuMincho","Yu Mincho","Hiragino Mincho ProN","ヒラギノ明朝 ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  --f-min: "游明朝","YuMincho","Yu Mincho","Hiragino Mincho ProN","ヒラギノ明朝 ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  --f-go: "Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --green: #00a738;
  --ink: #321c0b;
}
@media screen and (max-width:767px){
  :root{ --u: calc(100vw / 750); }
}

/* ---------- reset (lp_taikan 準拠) ---------- */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,
del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,
label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,
figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{
  margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;
  /* WP固定ページ化対応: テーマが h3 などに指定するフォントを打ち消し、body から継承させる。
     lp.css は wp_head() の後に読むので、同じ詳細度ならこちらが勝つ。
     個別に font-family を指定しているクラス(.why__ttl 等)は詳細度が高いので影響を受けない。 */
  font-family:inherit;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
ol,ul{list-style:none;}
img{max-width:100%;height:auto;vertical-align:bottom;}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
*,*::before,*::after{box-sizing:border-box;}

html{ scroll-behavior:smooth; overflow-x:hidden; }
body{
  font-family:var(--f-go);
  color:#000;
  line-height:1.5;
  background:#fff;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}
a{ color:inherit; text-decoration:none; }

/* ==========================================================================
   ヘッダー (Figma 122:1648 / 1520x130)
   ========================================================================== */
.hd{
  position:fixed; top:0; left:0; z-index:9999;
  width:100%; height:calc(130 * var(--u));
  background:#fff;
  box-shadow:0 0 calc(3.5 * var(--u)) rgba(0,0,0,.2);
}
.hd__in{
  width:100%; max-width:calc(1520 * var(--u)); height:100%;
  margin:0 auto; padding:0 calc(30 * var(--u));
  display:flex; align-items:center; justify-content:space-between;
}
.hd__logo img{ width:calc(282 * var(--u)); height:auto; display:block; }
.hd__btn a{
  display:flex; align-items:center; justify-content:center;
  width:calc(298 * var(--u)); height:calc(80 * var(--u));
  background:var(--green); border-radius:calc(12 * var(--u));
}
.hd__btn .ico{
  width:calc(54 * var(--u)); height:calc(46 * var(--u));
  margin-right:calc(18 * var(--u));
  background:url(img/ico-form.webp) no-repeat center top;
  background-size:calc(54 * var(--u)) auto;
}
.hd__btn .tx{
  font-family:var(--f-go); font-weight:600;
  font-size:calc(24 * var(--u)); line-height:calc(39 * var(--u));
  letter-spacing:calc(1.44 * var(--u)); color:#fff;
}

#container{ padding-top:calc(130 * var(--u)); }

/* ==========================================================================
   FV (Figma 122:486 / 1520x592)
   ========================================================================== */
.fv{
  position:relative; height:calc(592 * var(--u));
  background:#e2f0f6;
  /* 家の画像は下端をはみ出して白地に重なる(デザイン通り)ので縦は切らない。
     一方 SP では光エフェクト等が左右にはみ出すため、横だけ clip する。 */
  overflow-x:clip;
}
.fv__sky{
  position:absolute; left:0; top:0; width:100%; height:100%;
  overflow:hidden; opacity:.44;
}
.fv__sky img{
  position:absolute; left:50%; top:calc(-260 * var(--u));
  width:calc(1376 * var(--u)); margin-left:calc(-688 * var(--u));
  max-width:none; display:block;
}
/* 家 (128:495) : Figma上は 650x534 の矩形マスクで切り抜かれている */
.fv__house{
  position:absolute; left:50%; top:calc(206 * var(--u));
  width:calc(650 * var(--u)); height:calc(534 * var(--u));
  margin-left:calc(-336 * var(--u));
  overflow:hidden;
}
.fv__house img{
  position:absolute; left:calc(-4 * var(--u)); top:calc(1 * var(--u));
  width:calc(657 * var(--u)); height:calc(531 * var(--u));
  max-width:none; display:block;
}
/* スクリーンライト (129:497) : mix-blend-mode:screen / opacity .6 */
.fv__light{
  position:absolute; left:50%; top:calc(123 * var(--u));
  width:calc(475 * var(--u)); height:calc(497 * var(--u));
  margin-left:calc(-84 * var(--u));
  overflow:hidden; opacity:.6; mix-blend-mode:screen; pointer-events:none;
}
.fv__light img{
  position:absolute; left:calc(-143 * var(--u)); top:calc(-217 * var(--u));
  width:calc(865 * var(--u)); height:calc(865 * var(--u));
  max-width:none; display:block;
}
.fv__hd{
  position:absolute; left:50%; top:calc(13 * var(--u));
  width:calc(730 * var(--u)); height:calc(295 * var(--u));
  margin-left:calc(-373 * var(--u));
  font-family:var(--f-zen); font-weight:600; color:var(--ink);
  font-size:calc(34 * var(--u)); /* h1 既定の 2em を打ち消す。各子要素が個別に上書きする */
}
.fv__lead{
  position:absolute; left:calc(50% + 8.5 * var(--u)); top:0; transform:translateX(-50%);
  font-size:calc(24 * var(--u)); line-height:calc(60 * var(--u));
  letter-spacing:calc(3 * var(--u)); white-space:nowrap;
  text-shadow:0 0 calc(12 * var(--u)) #fff;
}
.fv__line{
  position:absolute; left:calc(213 * var(--u)); top:calc(51.5 * var(--u));
  width:calc(319.5 * var(--u)); height:calc(8 * var(--u));
}
.fv__t1{
  position:absolute; left:calc(50% + 16 * var(--u)); top:calc(88 * var(--u));
  transform:translate(-50%,-50%);
  font-size:calc(34 * var(--u)); line-height:1.3;
  letter-spacing:calc(3.4 * var(--u)); white-space:nowrap;
  text-shadow:0 0 calc(10 * var(--u)) #fff;
}
.fv__spec{ position:absolute; left:0; top:calc(132 * var(--u)); width:100%; height:calc(61 * var(--u)); }
.fv__box{
  position:absolute; top:0; height:calc(61 * var(--u));
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid var(--ink);
  font-size:calc(34 * var(--u)); line-height:1.3;
}
.fv__box--1{ left:0;                      width:calc(134 * var(--u)); }
.fv__box--2{ left:calc(184 * var(--u));   width:calc(134 * var(--u)); }
.fv__box--3{ left:calc(368 * var(--u));   width:calc(201 * var(--u)); }
.fv__plus{
  position:absolute; top:50%; transform:translate(-50%,-50%);
  font-size:calc(32 * var(--u)); line-height:1.3;
}
.fv__plus--1{ left:calc(156 * var(--u)); }
.fv__plus--2{ left:calc(340 * var(--u)); }
.fv__t2{
  position:absolute; left:calc(664 * var(--u)); top:50%; transform:translate(-50%,-50%);
  font-size:calc(34 * var(--u)); line-height:1.3; white-space:nowrap;
}
.fv__t3{
  position:absolute; left:calc(389.5 * var(--u)); top:calc(253.5 * var(--u));
  transform:translate(-50%,-50%);
  white-space:nowrap; line-height:1.3;
}
.fv__t3 .s44{ font-size:calc(44 * var(--u)); }
.fv__t3 .s38{ font-size:calc(38 * var(--u)); }
.fv__t3 .s64{ font-size:calc(64 * var(--u)); }
.fv__gold{
  display:inline-block; color:#fff;
  padding:0 calc(13 * var(--u));
  margin:0 calc(6 * var(--u));
  background-image:linear-gradient(-37.73deg, rgb(115,92,25) 33.949%, rgb(146,119,41) 83.477%);
}

/* ==========================================================================
   CTA (Figma 134:147 / 131:579 / 134:133 / 134:140)
   ========================================================================== */
.cta{
  padding:calc(80 * var(--u)) 0;
  border-top:1px solid #ddd; border-bottom:1px solid #ddd;
  text-align:center;
}
.cta--first{ padding:calc(160 * var(--u)) 0 0; border:0; }
.cta__tx{ font-size:calc(34 * var(--u)); line-height:calc(54 * var(--u)); color:#000; }
.cta__btn{
  display:flex; align-items:center; justify-content:center;
  width:calc(680 * var(--u)); height:calc(124 * var(--u));
  margin:calc(40 * var(--u)) auto 0;
  background:var(--green); border-radius:calc(10 * var(--u));
  overflow:hidden; transition:opacity .2s;
}
.cta__btn:hover{ opacity:.85; }
.cta__btn .ico{
  width:calc(71 * var(--u)); height:calc(60 * var(--u));
  background:url(img/ico-form.webp) no-repeat center top;
  background-size:calc(71 * var(--u)) auto;
}
.cta__btn .tx{
  margin:0 calc(24 * var(--u));
  font-weight:600; font-size:calc(36 * var(--u)); line-height:1; color:#fff;
}
.cta__btn .ar{
  width:calc(29.177 * var(--u)); height:calc(15.5 * var(--u));
  background:url(img/cta-arrow.svg) no-repeat center/100% 100%;
  transform:scaleY(-1);
}

/* ==========================================================================
   Why (Figma 122:1175 / 740幅カラム)
   ========================================================================== */
.why{ width:calc(740 * var(--u)); margin:0 auto; padding:calc(100 * var(--u)) 0 calc(40 * var(--u)); }
.why__hd{ position:relative; height:calc(247 * var(--u)); }
.why__en{
  position:absolute; left:50%; top:calc(17 * var(--u)); transform:translateX(-50%);
  font-family:var(--f-min); font-weight:600;
  font-size:calc(100 * var(--u)); line-height:calc(60 * var(--u)); color:#e7e7e7;
}
.why__ttl{
  position:absolute; left:calc(50% + .5 * var(--u)); top:calc(127 * var(--u)); transform:translateX(-50%);
  font-family:var(--f-min); font-weight:600;
  font-size:calc(40 * var(--u)); line-height:calc(60 * var(--u)); color:#000;
  white-space:nowrap; text-align:center;
}
.why__lead{
  margin-top:calc(50 * var(--u));
  font-size:calc(26 * var(--u)); line-height:calc(49.4 * var(--u)); color:#000;
}

/* 昼/夜カード (129:551) */
.daynight{
  width:calc(710 * var(--u)); margin:calc(50 * var(--u)) auto 0;
  padding-bottom:calc(40 * var(--u));
}
.daynight__ph img{
  width:calc(710 * var(--u)); height:calc(460.898 * var(--u));
  object-fit:cover; display:block;
  border-radius:calc(24.068 * var(--u)) calc(24.068 * var(--u)) 0 0;
}
.daynight__bd{
  background:#fcf7e2;
  padding:calc(48.136 * var(--u)) calc(38.508 * var(--u));
  border-radius:0 0 calc(24.068 * var(--u)) calc(24.068 * var(--u));
  filter:drop-shadow(calc(2.407 * var(--u)) calc(3.61 * var(--u)) calc(6.017 * var(--u)) rgba(200,193,178,.5));
}
.daynight__row{ display:flex; align-items:center; }
.daynight__mark{
  flex:none; width:calc(71 * var(--u)); height:calc(71 * var(--u)); border-radius:50%;
  margin-right:calc(24.068 * var(--u));
  display:flex; align-items:center; justify-content:center;
  font-weight:600; font-size:calc(33.695 * var(--u)); line-height:1; color:#fff;
}
.daynight__mark--day{ background:#ef823e; }
.daynight__mark--night{ background:#233157; }
.daynight__tx{ font-weight:600; font-size:calc(28.881 * var(--u)); line-height:calc(37.305 * var(--u)); white-space:nowrap; }
.daynight__tx--day{ color:#ef823e; }
.daynight__tx--night{ color:#233157; }
.daynight__tri{
  width:calc(124 * var(--u)); height:calc(34 * var(--u));
  margin:calc(36.102 * var(--u)) auto;
  background:#f4df88; clip-path:polygon(0 0,100% 0,50% 100%);
}

/* ==========================================================================
   ローンシミュレーション (Figma 122:1955 / 710x1193)
   ========================================================================== */
.loan{
  position:relative; width:calc(710 * var(--u)); height:calc(1193 * var(--u));
  margin:calc(50 * var(--u)) auto 0;
  background:#fbf9f4; border-radius:calc(30 * var(--u));
  font-family:var(--f-go);
}
.loan > *{ position:absolute; }
/* Figma上、ローン枠内のテキストは全て white-space:nowrap（枠をはみ出して配置される） */
.loan p{ white-space:nowrap; }
.loan__card{
  left:calc(37 * var(--u)); top:calc(51 * var(--u));
  width:calc(636 * var(--u)); height:calc(364 * var(--u));
  background:#fff; border:1px solid #c7c7c7; border-radius:calc(16 * var(--u));
}
.loan__pill{
  display:flex; align-items:center; justify-content:center;
  font-weight:600; letter-spacing:calc(1.44 * var(--u));
}
.loan__pill--gray{
  left:calc(197 * var(--u)); top:calc(27 * var(--u));
  width:calc(315 * var(--u)); height:calc(47 * var(--u));
  background:#727272; border-radius:calc(23.5 * var(--u));
  font-size:calc(24 * var(--u)); color:#fff;
}
.loan__pill--light{
  left:calc(85 * var(--u)); top:calc(331 * var(--u));
  width:calc(546 * var(--u)); height:calc(46 * var(--u));
  background:#f0f0f0; border-radius:calc(23 * var(--u));
  font-size:calc(24 * var(--u)); color:#5a5343; letter-spacing:0;
}
.loan__pill--gold{
  left:calc(177 * var(--u)); top:calc(612 * var(--u));
  width:calc(315 * var(--u)); height:calc(47 * var(--u));
  background:#8f7a3e; border-radius:calc(23.5 * var(--u));
  font-size:calc(24 * var(--u)); color:#fff;
}
.loan__price{
  left:calc(251 * var(--u)); top:calc(89 * var(--u)); width:calc(224 * var(--u));
  text-align:center; font-weight:600; color:#2b2b2b; line-height:1.5;
}
.loan__price .n{ font-size:calc(50 * var(--u)); }
.loan__price .y{ font-size:calc(32 * var(--u)); }
.loan__note1{
  left:calc(102.1 * var(--u)); top:calc(175.87 * var(--u)); width:calc(505 * var(--u));
  text-align:center; font-weight:600; font-size:calc(16 * var(--u)); line-height:1.5; color:#8a8578;
}
.loan__hr{
  left:calc(72.54 * var(--u)); top:calc(220.99 * var(--u));
  width:calc(564.64 * var(--u)); height:1px; background:#c7c7c7;
}
.loan__ismile{
  left:calc(172 * var(--u)); top:calc(240.13 * var(--u)); width:calc(366 * var(--u));
  text-align:center; font-weight:600; font-size:calc(24 * var(--u)); line-height:1.5; color:#2b2b2b;
}
.loan__ismile .b{ color:#8f7a3e; }
.loan__note2{
  left:calc(198 * var(--u)); top:calc(287.91 * var(--u)); width:calc(314 * var(--u));
  text-align:center; font-weight:600; font-size:calc(16 * var(--u)); line-height:1.5; color:#8a8578;
}
.loan__merit{
  left:calc(86 * var(--u)); top:calc(446 * var(--u)); width:calc(538 * var(--u));
  text-align:center; font-weight:600; color:var(--ink); line-height:1.5;
}
.loan__merit .s20{ font-size:calc(20 * var(--u)); }
.loan__merit .s28{ font-size:calc(28 * var(--u)); }
.loan__merit2{
  left:calc(191 * var(--u)); top:calc(496.39 * var(--u)); width:calc(329 * var(--u));
  text-align:center; font-weight:600; color:var(--ink); line-height:1.5;
}
.loan__merit2 .g32{ font-size:calc(32 * var(--u)); color:#8f7a3e; }
.loan__merit2 .g24{ font-size:calc(24 * var(--u)); color:#8f7a3e; }
.loan__merit2 .s20{ font-size:calc(20 * var(--u)); }
.loan__tri{
  left:calc(293 * var(--u)); top:calc(563 * var(--u));
  width:calc(124 * var(--u)); height:calc(34 * var(--u));
  background:linear-gradient(180deg,#c6ac6c 0%,#a88e4b 100%);
  clip-path:polygon(0 0,100% 0,50% 100%);
}
.loan__result{
  left:calc(37 * var(--u)); top:calc(636 * var(--u));
  width:calc(636 * var(--u)); height:calc(427 * var(--u));
  background:#fdf3df; border:calc(2 * var(--u)) solid #c9b37e; border-radius:calc(16 * var(--u));
}
.loan__price2{
  left:calc(194.22 * var(--u)); top:calc(671.9 * var(--u)); width:calc(286 * var(--u));
  text-align:center; font-weight:600; color:#d7000f; line-height:1.5;
}
.loan__price2 .n{ font-size:calc(64 * var(--u)); }
.loan__price2 .y{ font-size:calc(42 * var(--u)); }
.loan__badge{
  left:calc(506 * var(--u)); top:calc(620 * var(--u));
  width:calc(139 * var(--u)); height:calc(139 * var(--u));
  background:#d7000f; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-weight:600; color:#fff; line-height:1.2;
}
.loan__badge .l1{ font-size:calc(20 * var(--u)); }
.loan__badge .l2{ font-size:calc(28 * var(--u)); letter-spacing:calc(-2.1 * var(--u)); }
.loan__badge .l2 .y{ font-size:calc(24 * var(--u)); }
.loan__badge .l3{ font-size:calc(21 * var(--u)); }
.loan__house{ left:calc(383 * var(--u)); top:calc(921.63 * var(--u)); width:calc(210 * var(--u)); }
.loan__house img{ width:100%; display:block; }

.loan__chart{ left:0; top:0; width:100%; height:100%; }
.loan__chart > *{ position:absolute; }
.loan__bar{
  display:flex; align-items:center; justify-content:center;
  width:calc(109.514 * var(--u)); border-radius:calc(3.65 * var(--u));
}
.loan__bar span{
  font-weight:600; font-size:calc(16 * var(--u)); line-height:1; color:#fff;
}
.loan__bar--before{ left:calc(86.76 * var(--u)); top:calc(783.76 * var(--u)); height:calc(200.776 * var(--u)); background:#cfc8b4; }
.loan__bar--after { left:calc(223.3 * var(--u)); top:calc(840.45 * var(--u)); height:calc(143.281 * var(--u)); background:linear-gradient(180deg,#c6ac6c 0%,#a88e4b 100%); }
.loan__diff{
  left:calc(223.3 * var(--u)); top:calc(787.26 * var(--u));
  width:calc(109.514 * var(--u)); height:calc(57.495 * var(--u));
  background:#fff; border:calc(2 * var(--u)) dashed #cdb87f; border-radius:calc(4.65 * var(--u));
  display:flex; align-items:center; justify-content:center;
  font-weight:600; font-size:calc(16 * var(--u)); color:#d7000f; line-height:1;
}
.loan__dash{ left:calc(194 * var(--u)); top:calc(788 * var(--u)); width:calc(63.72 * var(--u)); height:calc(58 * var(--u)); }
.loan__base{ left:calc(68.27 * var(--u)); top:calc(990.43 * var(--u)); width:calc(281.61 * var(--u)); height:calc(1.42 * var(--u)); background:#5a5343; }
.loan__lb1{ left:calc(84.76 * var(--u)); top:calc(990.92 * var(--u)); width:calc(112 * var(--u)); text-align:center; font-size:calc(14 * var(--u)); line-height:1.5; color:#8a8578; }
.loan__lb2{ left:calc(242.21 * var(--u)); top:calc(990.89 * var(--u)); width:calc(70 * var(--u)); text-align:center; font-weight:600; font-size:calc(14 * var(--u)); line-height:1.5; color:#8f7a3e; }
.loan__lb3{ left:calc(222.98 * var(--u)); top:calc(1011.31 * var(--u)); width:calc(108 * var(--u)); text-align:center; font-size:calc(12 * var(--u)); line-height:1.5; color:#8f7a3e; }
.loan__calc{
  left:calc(327 * var(--u)); top:calc(783 * var(--u)); width:calc(347 * var(--u));
  text-align:center; color:#5a5343; line-height:1.5;
}
.loan__calc .a{ font-size:calc(14.933 * var(--u)); }
.loan__calc .b{ font-size:calc(14.933 * var(--u)); font-weight:600; color:#8f7a3e; }
.loan__calc .c{ font-size:calc(17.778 * var(--u)); font-weight:600; color:#d7000f; }
.loan__bubble{ left:calc(361 * var(--u)); top:calc(823 * var(--u)); width:calc(282 * var(--u)); height:calc(106.75 * var(--u)); }
.loan__year{
  left:calc(375 * var(--u)); top:calc(828 * var(--u)); width:calc(254 * var(--u));
  text-align:center; font-weight:600; color:#8f7a3e; line-height:1.4;
  letter-spacing:calc(.66 * var(--u));
}
.loan__year .s22{ font-size:calc(22 * var(--u)); }
.loan__year .r28{ font-size:calc(28 * var(--u)); color:#d7000f; letter-spacing:calc(.84 * var(--u)); }
.loan__year .r22{ font-size:calc(22 * var(--u)); color:#d7000f; }
.loan__disc{
  left:calc(117 * var(--u)); top:calc(1081 * var(--u)); width:calc(476 * var(--u));
  text-align:center; font-size:calc(14 * var(--u)); line-height:1.5; color:#a9a493;
}

/* ==========================================================================
   全幅画像 (性能・光熱費case) — SPでは中央750px相当が見えるようにクリップ
   ========================================================================== */
.bleed{ display:flex; justify-content:center; overflow:hidden; }
/* <picture> 自身はレイアウトに関与させず、img を直接 flex アイテムにする */
.bleed picture{ display:contents; }
.bleed__img{ flex:none; max-width:none; height:auto; display:block; }

/* ==========================================================================
   性能 (Figma 122:1211)
   ========================================================================== */
.perf{ padding:calc(92 * var(--u)) 0 0; text-align:center; background:#fff; }
.perf--2{ padding:0; }
.perf__lead img{ width:calc(600 * var(--u)); display:block; margin:0 auto; }
.perf__ttl{
  margin-top:calc(70 * var(--u));
  font-family:var(--f-min); font-weight:600;
  font-size:calc(44 * var(--u)); line-height:calc(66 * var(--u)); color:#000;
}
.perf .bleed{ margin-top:calc(42 * var(--u)); }
.perf .bleed + .bleed{ margin-top:0; }
.perf--2 .bleed{ margin-top:0; }
.perf .bleed__img{ width:calc(1400 * var(--u)); }
.perf--2 .bleed__img{ width:calc(1390 * var(--u)); }

/* ==========================================================================
   光熱費 case (Figma 122:1328)
   ========================================================================== */
.case{ background:#fff; }
.case .bleed__img{ width:calc(1520 * var(--u)); }

/* ==========================================================================
   展示場 (Figma 122:728)
   ========================================================================== */
.mh{ padding:calc(90 * var(--u)) 0 0; background:#fff; scroll-margin-top:calc(130 * var(--u)); }
.mh__ttl{
  font-family:var(--f-min); font-weight:600;
  font-size:calc(44 * var(--u)); line-height:calc(66 * var(--u)); color:#000; text-align:center;
}
.mh__bnr{ margin-top:calc(100 * var(--u)); text-align:center; }
.mh__bnr img{ width:calc(710 * var(--u)); height:calc(240.675 * var(--u)); object-fit:cover; display:block; margin:0 auto; }
.mh__list{
  width:calc(750 * var(--u)); margin:calc(80 * var(--u)) auto 0;
  padding:0 calc(40 * var(--u));
  display:flex; flex-wrap:wrap; justify-content:space-between;
  row-gap:calc(40 * var(--u));
  background:url(img/mh-listbg.webp) no-repeat calc(460 * var(--u)) 0;
  background-size:calc(290 * var(--u)) auto;
}
.mh__item{ width:calc(330 * var(--u)); min-height:calc(530 * var(--u)); background:#f1f1f1; }
.mh__ph img{ width:calc(330 * var(--u)); height:calc(200 * var(--u)); object-fit:cover; display:block; }
.mh__bd{ padding:calc(20 * var(--u)); }
.mh__name{ font-family:var(--f-go); font-weight:600; font-size:calc(30 * var(--u)); line-height:calc(45 * var(--u)); }
.mh__addr{ margin-top:calc(10 * var(--u)); font-size:calc(26 * var(--u)); line-height:calc(49.4 * var(--u)); }
.mh__map{
  display:flex; align-items:center; justify-content:flex-end;
  height:calc(49.4 * var(--u)); line-height:calc(49.4 * var(--u));
}
.mh__map a{
  display:inline-block; padding-left:calc(32 * var(--u));
  background:url(img/ico-map.webp) no-repeat left center;
  background-size:calc(19 * var(--u)) calc(28 * var(--u));
  font-size:calc(26 * var(--u)); text-decoration:underline;
}
.mh__detail{ margin-top:calc(10 * var(--u)); }
.mh__detail a{
  display:flex; align-items:center; justify-content:center;
  width:calc(290 * var(--u)); height:calc(60 * var(--u));
  background:#fff; border:calc(.8 * var(--u)) solid #000;
  font-size:calc(26 * var(--u)); line-height:calc(39 * var(--u)); color:#000;
  transition:opacity .2s;
}
.mh__rsv{ margin-top:calc(10 * var(--u)); }
.mh__rsv a{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:calc(60 * var(--u)); background:#000;
  font-size:calc(26 * var(--u)); line-height:calc(39 * var(--u)); color:#fff;
  transition:opacity .2s;
}
.mh__detail a:hover,.mh__rsv a:hover{ opacity:.75; }

/* ==========================================================================
   フッター (Figma 122:1619)
   ========================================================================== */
.ft{ padding-top:calc(120 * var(--u)); background:#fff; }
.ft__hero{
  height:calc(800 * var(--u));
  background:url(img/footer-bg.webp) no-repeat center top; background-size:cover;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; color:#fff;
}
.ft__ttl{
  font-family:var(--f-min); font-weight:600;
  font-size:calc(46 * var(--u)); line-height:calc(69 * var(--u));
  padding-bottom:calc(30 * var(--u));
}
.ft__tx{ font-size:calc(26 * var(--u)); line-height:calc(49.4 * var(--u)); }
.ft__pagetop{ margin-top:calc(56 * var(--u)); height:calc(200 * var(--u)); text-align:center; }
.ft__pagetop img{ width:calc(200 * var(--u)); height:calc(200 * var(--u)); display:block; margin:0 auto; }
.ft__nav{
  margin-top:calc(80 * var(--u)); height:calc(60 * var(--u));
  border-top:calc(.8 * var(--u)) solid #ddd;
  display:flex; align-items:center; justify-content:center;
}
.ft__nav li a{
  display:block; padding:calc(6 * var(--u)) calc(16 * var(--u));
  font-size:calc(20 * var(--u)); line-height:calc(30 * var(--u));
}
.ft__nav li:nth-child(2){ border-left:calc(.8 * var(--u)) solid #ddd; border-right:calc(.8 * var(--u)) solid #ddd; }
.ft__nav li:nth-child(2) a{ padding-left:calc(16.8 * var(--u)); padding-right:calc(16.8 * var(--u)); }
.ft__nav li a:hover{ text-decoration:underline; }
.ft__copy{
  height:calc(60 * var(--u));
  border-top:calc(.8 * var(--u)) solid #ddd; border-bottom:calc(.8 * var(--u)) solid #ddd;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--f-min); font-weight:600;
  font-size:calc(14 * var(--u)); line-height:calc(21 * var(--u));
}

/* ==========================================================================
   SP (max-width:767px) — 寸法は --u が吸収するため、
   ここではSP専用に仕様が異なる箇所のみを上書きする。
   ========================================================================== */
@media screen and (max-width:767px){
  /* SPヘッダー (Figma 143:671 の比率に準拠) */
  .hd__in{ padding:0 calc(20 * var(--u)); }
  .hd__logo img{ width:calc(336 * var(--u)); }
  .hd__btn a{ width:calc(234 * var(--u)); height:calc(75 * var(--u)); }
  .hd__btn .ico{ width:calc(50 * var(--u)); height:calc(43 * var(--u)); margin-right:calc(10 * var(--u)); background-size:calc(50 * var(--u)) auto; }
  .hd__btn .tx{ font-size:calc(25 * var(--u)); letter-spacing:0; }

  /* 1pxで固定していた罫線はSPでも1pxのまま(細線維持) */
  .fv__box{ border-width:1px; }
}

/* ==========================================================================
   WordPress固定ページ化に伴う調整
   テーマ/プラグインが wp_head()・wp_footer() で差し込む共通UIのうち、
   このLPでは使わないものを無効化する（lp.css はこのテンプレートでしか読まれない）
   ========================================================================== */
/* テーマの全画面検索。LPに導線が無いうえ position:absolute でページ末尾を50px伸ばすため */
#full-screen-search{ display:none !important; }
/* スマホ用ハンバーガーメニュー（LPは独自ヘッダーのため不要） */
#wprmenu_bar,#wprmenu_menu,.wprmenu_bar,#mg-wprm-wrap{ display:none !important; }
/* 同プラグインが固定バー用に html へ入れる余白（inline style の !important）を打ち消す。
   バーを非表示にしているため、そのままだとSPで上部に42pxの空白が残る。
   inline style より確実に勝つよう :root を足して詳細度を上げている。 */
html:root{ padding-top:0 !important; }
