:root{
  --teal:#28AEA6; --teal-dark:#2C6761; --teal-light:#A0D8D2; --teal-pale:#EFF4F3; --teal-soft:#DCEFEC;
  --orange:#F07326; --line:#06C755; --yellow:#F3E85F; --ink:#292D2E; --muted:#5b6b6a; --white:#fff;
  --maxw:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Noto Sans JP",sans-serif;color:var(--ink);background:#fff;line-height:1.8;padding-bottom:72px}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.wrap{max-width:var(--maxw);margin:auto;padding:0 24px}
.sec{padding:84px 0}
.sec--teal{background:var(--teal);color:#fff}
.sec--pale{background:var(--teal-pale)}
.eyebrow{display:block;text-align:center;color:var(--teal);font-weight:700;letter-spacing:.25em;font-size:13px;margin-bottom:10px}
.sec--teal .eyebrow{color:#bff0ea}
.h2{text-align:center;font-size:clamp(24px,3.4vw,36px);font-weight:900;line-height:1.5;margin-bottom:44px}
.h2 em{font-style:normal;color:var(--teal)}
.sec--teal .h2 em{color:var(--yellow)}
.mark{background:var(--teal-dark);color:#fff;padding:2px 14px;border-radius:6px;display:inline-block}
.hl{background:var(--yellow);padding:0 4px;border-radius:3px}
.ph{background:linear-gradient(135deg,#d8e6e3,#eef4f3);border:1px dashed #a9c6c1;display:flex;align-items:center;justify-content:center;color:#6f8e89;font-size:12px;font-weight:700;border-radius:10px;min-height:120px;text-align:center;padding:8px}
.ph--circle{border-radius:50%}

.hd{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.hd__in{max-width:1400px;margin:auto;display:flex;align-items:center;gap:22px;padding:10px 24px}
.hd__logo{font-weight:900;font-style:italic;font-size:20px}.hd__logo span{color:var(--orange)}
.hd__nav{display:flex;gap:18px;margin-left:14px;font-size:13px;font-weight:500;flex:1}
.hd__nav a:hover{color:var(--teal)}
.hd__tel{text-align:right;line-height:1.2}.hd__tel b{font-size:22px;font-weight:900}.hd__tel small{font-size:11px;color:#777}
.hd__cta{background:var(--orange);color:#fff;font-weight:700;padding:14px 22px;border-radius:8px;font-size:14px;white-space:nowrap}

.hero{position:relative;overflow:hidden;color:#fff;padding:54px 24px 130px;
  background:linear-gradient(115deg,rgba(40,174,166,.93) 0%,rgba(44,103,97,.93) 55%,rgba(40,174,166,.86) 100%),#3a8e87}
.hero__in{max-width:var(--maxw);margin:auto;position:relative;min-height:520px}
.hero__wm{position:absolute;inset:0;font-size:230px;font-weight:900;color:rgba(255,255,255,.08);white-space:nowrap;line-height:1;pointer-events:none;overflow:hidden}
.hero__sub1{font-size:20px;font-weight:700}.hero__sub2{font-size:30px;font-weight:900;margin-bottom:22px}
.hero__h1{font-size:60px;font-weight:900;line-height:1.25}
.hero__h1 .mark{transform:rotate(-1deg)}
.hero__area{margin:22px 0 8px;font-size:15px;opacity:.95}
.hero__lead{font-size:30px;font-weight:900}
.hero__worker{position:absolute;right:0;bottom:-130px;width:360px;border-radius:8px}

.ctacard{max-width:980px;margin:-90px auto 0;position:relative;z-index:5;background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(20,50,46,.18);padding:30px 36px}
.ctacard--plain{margin:0 auto}
.ctacard__top{display:flex;align-items:center;gap:22px;margin-bottom:20px}
.badge{flex:none;width:96px;height:96px;border-radius:50%;background:var(--teal-dark);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;font-size:13px;line-height:1.4;text-align:center}
.badge b{font-size:20px}
.ctacard__h{font-size:28px;font-weight:900}
.ctacard__btns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;border-radius:10px;color:#fff;font-weight:900;font-size:20px}
.btn--org{background:var(--orange)}.btn--line{background:var(--line)}
.chips{display:flex;gap:12px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.chip{background:var(--teal-pale);color:var(--teal-dark);font-size:13px;font-weight:700;padding:6px 14px;border-radius:20px}
.chip::before{content:"✓ ";color:var(--teal)}

.worry__house{display:grid;grid-template-columns:1fr 320px 1fr;gap:20px;align-items:center;margin-bottom:30px}
.bubbles{display:flex;flex-direction:column;gap:14px}
.bubble{background:var(--teal);color:#fff;padding:12px 16px;border-radius:12px;font-weight:700;font-size:14px}
.worry__to{text-align:center;font-size:26px;font-weight:900;margin-top:10px}
.worry__to em{color:var(--teal);font-style:normal}

.reasons{display:flex;flex-direction:column;gap:18px;max-width:820px;margin:auto}
.reason{background:#fff;color:var(--ink);border-radius:16px;padding:22px 26px;display:flex;gap:22px;align-items:center;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.reason .ph{width:90px;height:90px;flex:none}
.reason h3{font-size:20px;font-weight:900;margin-bottom:4px}
.reason h3 em{color:var(--teal);font-style:normal;font-size:24px}

.strength{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:48px}
.strength:nth-child(even) .strength__img{order:2}
.strength__img{position:relative}
.strength__img .ph{height:260px}
.strength__no{position:absolute;top:-16px;left:-16px;background:var(--teal);color:#fff;width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;box-shadow:0 6px 16px rgba(40,174,166,.4)}
.strength h3{font-size:24px;font-weight:900;margin-bottom:12px}

.cons-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cons{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.cons .ph{height:240px;border-radius:0;border:0}
.cons__b{padding:14px 18px 20px}
.cons__tag{display:inline-block;background:var(--teal);color:#fff;font-weight:700;font-size:13px;padding:5px 14px;border-radius:6px;margin-bottom:8px}
.cons__d{font-size:13px;color:var(--muted)}
.makers{margin-top:40px;background:#fff;border-radius:12px;padding:24px;text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.makers__t{background:var(--teal);color:#fff;display:inline-block;padding:6px 20px;border-radius:6px;font-weight:700;margin-bottom:16px}
.makers__row{display:flex;gap:40px;justify-content:center;align-items:center;flex-wrap:wrap;font-weight:900;font-size:24px;color:#444}
.cons__note{text-align:center;font-size:24px;font-weight:900;margin-top:40px}
.notice{background:var(--teal-soft);border-radius:10px;padding:18px 22px;margin-top:28px;font-size:13px;color:#4a5e5b}
.notice b{display:block;margin-bottom:6px;color:var(--teal-dark)}

.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ba{background:#fff;color:var(--ink);border-radius:12px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.ba__imgs{display:flex}
.ba__col{flex:1;position:relative}
.ba__col .ph{height:150px;border-radius:0;border:0}
.ba__lbl{position:absolute;top:8px;left:8px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:700;padding:2px 10px;border-radius:4px}
.ba__lbl--a{background:var(--teal)}
.ba__cap{padding:12px 14px;font-size:12px;color:var(--muted)}
.dots{display:flex;gap:8px;justify-content:center;margin-top:24px}
.dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5)}
.dots i.on{background:#fff}

.steps{max-width:760px;margin:auto;display:flex;flex-direction:column}
.step{background:#fff;border-radius:14px;padding:20px 24px;box-shadow:0 6px 18px rgba(0,0,0,.06);display:flex;gap:18px;align-items:flex-start}
.step .ph{width:72px;height:72px;flex:none}
.step__no{display:inline-block;background:var(--teal);color:#fff;font-size:11px;font-weight:700;padding:3px 12px;border-radius:5px;margin-bottom:6px;letter-spacing:.1em}
.step h3{font-size:19px;font-weight:900;margin-bottom:4px}
.step__d{font-size:13px;color:var(--muted)}
.step-arrow{display:flex;justify-content:center;color:var(--teal);font-size:22px;padding:8px 0}

.faq{max-width:820px;margin:auto;display:flex;flex-direction:column;gap:14px}
.qa{background:#fff;border:1px solid #e4eceb;border-radius:10px;overflow:hidden}
.qa__q{display:flex;align-items:center;gap:14px;padding:18px 20px;font-weight:700;cursor:pointer}
.qa__q .q{flex:none;width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}
.qa__q .sign{margin-left:auto;color:var(--teal);font-size:24px;font-weight:300}
.qa__a{padding:0 20px 18px 64px;color:var(--muted);font-size:14px;display:none}
.qa.open .qa__a{display:block}
.qa.open .qa__q .sign::before{content:"−"}.qa__q .sign::before{content:"＋"}

.form{max-width:760px;margin:auto}
.field{margin-bottom:22px}
.field label{font-weight:700;display:block;margin-bottom:8px}
.req{background:#e4453a;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{width:100%;border:1px solid #d7dedd;background:#fafbfb;border-radius:8px;padding:14px;font:inherit}
.field textarea{min-height:120px;resize:vertical}
.checks{display:flex;gap:20px;flex-wrap:wrap}
.checks label{font-weight:400}
.captcha{font-size:34px;font-weight:900;letter-spacing:.3em;color:#3a4a48;margin:4px 0}
.form__agree{text-align:center;margin:20px 0}
.form__submit{display:block;width:min(420px,100%);margin:8px auto 0;background:var(--teal);color:#fff;border:0;border-radius:40px;padding:20px;font:900 22px/1 "Noto Sans JP";cursor:pointer}

.ft{text-align:center;padding:56px 24px;color:var(--ink)}
.ft__logo{font-weight:900;font-style:italic;font-size:24px;margin-bottom:14px}.ft__logo span{color:var(--orange)}
.ft p{font-size:14px;color:var(--muted);line-height:1.9}

.fixcta{position:fixed;bottom:0;left:0;right:0;z-index:60;display:grid;grid-template-columns:1fr 1fr}
.fixcta a{padding:20px;text-align:center;color:#fff;font-weight:900;font-size:18px}
.fixcta .o{background:var(--orange)}.fixcta .l{background:var(--line)}

@media(max-width:860px){
  .hd__nav,.hd__tel{display:none}
  .hero__h1{font-size:36px}.hero__lead,.hero__sub2{font-size:21px}.hero__worker{width:200px;bottom:-50px}.hero__wm{font-size:110px}
  .ctacard__btns{grid-template-columns:1fr}.ctacard__h{font-size:21px}.ctacard__top{flex-direction:column;text-align:center}
  .worry__house{grid-template-columns:1fr}.strength,.cons-grid,.ba-grid{grid-template-columns:1fr}
  .strength:nth-child(even) .strength__img{order:0}
  .btn{font-size:17px}
}

/* ===== ヒーロー：Figma実装版（上書き） ===== */
.hero{position:relative;overflow:hidden;color:#fff;padding:0;min-height:700px;
  background:linear-gradient(120deg,rgba(40,180,173,.82) 0%,rgba(40,180,173,.55) 42%,rgba(223,251,249,.30) 60%,rgba(40,180,173,.88) 100%),#2cb4ad}
.hero__kitchen{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.85;z-index:0}
.hero__in{position:relative;z-index:2;max-width:1200px;margin:auto;min-height:700px;padding:46px 24px 0}
.hero__wm{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hero__wm b{position:absolute;font-family:Roboto,Arial,sans-serif;font-weight:900;font-size:130px;line-height:1;transform:rotate(-13deg) skewX(-13deg) scaleY(.97);white-space:nowrap}
.hero__wm .bf{top:40px;right:9%;color:#c6cecd;mix-blend-mode:multiply}
.hero__wm .af{top:300px;left:8%;color:#fff;opacity:.2}
.hero__small{text-align:center;font-weight:700;font-size:32px;text-shadow:0 2px 2px rgba(0,0,0,.25);margin:0}
.hero__small .s28{font-size:28px}
.hero__uline{width:227px;height:3px;background:#fff;margin:6px auto 0}
.hero__catch{position:relative;text-align:center;margin:30px 0 0;transform:rotate(-9deg) skewX(-6deg)}
.hero__catch .l1{font-weight:900;font-size:64px;color:#2cb4ad;letter-spacing:-1.28px;line-height:1.1;display:inline-block;text-shadow:0 2px 0 rgba(255,255,255,.6)}
.hero__catch .l1 .sm{font-size:56px}
.hero__catch .l2{display:inline-block;margin-top:6px;background:#2cb4ad;color:#fff;font-weight:900;font-size:64px;letter-spacing:-1.28px;line-height:1.25;padding:6px 22px;border-radius:8px;text-shadow:0 8px 0 rgba(0,0,0,.15)}
.hero__catch .l2 .yl{color:#fffa71;font-size:84px;letter-spacing:-1.68px}
.hero__catch .l2 .big{font-size:84px}
.hero__subbox{position:relative;z-index:2;max-width:960px;margin:34px auto 0;background:rgba(0,0,0,.22);backdrop-filter:blur(3px);border-radius:10px;padding:26px 30px;text-align:center}
.hero__area2{font-weight:500;font-size:20px;margin:0 0 8px}
.hero__lead2{font-weight:900;font-size:34px;line-height:1.3;margin:0}
.hero__lead2 .tl{color:#2cb4ad}
.hero__lead2 .sm{font-size:27px}
.hero__worker2{position:absolute;right:max(24px,calc(50% - 560px));bottom:0;width:300px;z-index:3;filter:drop-shadow(0 6px 12px rgba(0,0,0,.18))}
@media(max-width:860px){
  .hero{min-height:auto;padding-bottom:30px}
  .hero__catch .l1,.hero__catch .l2{font-size:34px}.hero__catch .l2 .yl,.hero__catch .l2 .big{font-size:42px}
  .hero__catch{transform:rotate(-5deg)}
  .hero__worker2{width:150px;opacity:.95}
  .hero__small{font-size:22px}.hero__lead2{font-size:22px}.hero__wm b{font-size:70px}
}

/* ===== FV：Figma座標で1920×700ステージを縮小表示（ピクセル忠実版） ===== */
.fv{position:relative;width:100%;aspect-ratio:1920/700;overflow:hidden;background:#2cb4ad;font-family:"Noto Sans JP",sans-serif}
.fv__stage{position:absolute;top:0;left:0;width:1920px;height:700px;transform-origin:top left;transform:scale(var(--s,1))}
.fv__stage>*{position:absolute}
.fv-topband{left:0;top:0;width:1920px;height:300px;background:#2cb4ad}
.fv-bgimg{left:0;top:-10px;width:1920px;height:710px;object-fit:cover}
.fv-overlay{left:0;top:-10px;width:1920px;height:710px;background:linear-gradient(180deg,rgba(69,199,192,.20) 60%,rgba(40,180,173,.92) 100%)}
.fv-vector{left:1440px;top:-6px;width:480px;height:188.5px}
.fv-movietab{left:0;top:391px;width:480px;height:309px}
.fv-wm{font-family:Roboto,Arial,sans-serif;font-weight:900;font-size:128px;line-height:1;white-space:nowrap;transform:rotate(-13deg) skewX(-13deg) scaleY(.97)}
.fv-wm-bf{left:calc(50% + 130px);top:52px;color:#c6cecd;mix-blend-mode:multiply}
.fv-wm-af{left:calc(50% - 500px);top:320px;color:#fff;opacity:.2}
.fv-small{left:50%;top:40px;transform:translateX(-50%);text-align:center;color:#fff;font-weight:900;text-shadow:0 2px 2px rgba(0,0,0,.25);white-space:nowrap;line-height:1.1}
.fv-small .a{font-size:32px}.fv-small .b{font-size:28px}.fv-small .l2{display:block;font-size:32px;margin-top:6px}
.fv-uline{left:704px;top:132px;width:227px;height:3px;background:#fff}
.fv-banner1{left:-23px;top:177px;width:1104px;height:343px}
.fv-banner2{left:758px;top:61px;width:1185px;height:371px}
.fv-l1{left:calc(50% - 479px);top:178px;width:545px;height:222px;display:flex;align-items:center}
.fv-l1 b{font-weight:900;font-size:64px;color:#2cb4ad;letter-spacing:-1.28px;white-space:nowrap;transform:rotate(-13deg) skewX(-13deg) scaleY(.97);text-shadow:0 2px 0 rgba(255,255,255,.55)}
.fv-l1 .sm{font-size:56px}
.fv-l2{left:calc(50% + 150px);top:164px;width:660px;height:262px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center}
.fv-l2 b{font-weight:900;font-size:64px;color:#fff;letter-spacing:-1.28px;white-space:nowrap;transform:rotate(-13deg) skewX(-13deg) scaleY(.97);text-shadow:0 8px 0 rgba(0,0,0,.15)}
.fv-l2 .yl{color:#fffa71}.fv-l2 .big{font-size:84px}
.fv-subbox{left:481px;top:402px;width:960px;height:200px;background:rgba(0,0,0,.2);backdrop-filter:blur(3px);border-radius:8px}
.fv-worker{left:1229px;top:322px;width:328px;height:377px;object-fit:contain;object-position:bottom}
.fv-area{left:calc(50% + 1.5px);top:430px;transform:translateX(-50%);color:#fff;font-weight:500;font-size:24px;white-space:nowrap}
.fv-lead{left:calc(50% + 1px);top:471px;transform:translateX(-50%);text-align:center;white-space:nowrap;line-height:1.1}
.fv-lead b{font-weight:900}.fv-lead .tl{color:#2cb4ad}.fv-lead .w{color:#fff}
.fv-lead .b40{font-size:40px}.fv-lead .b32{font-size:32px}

/* FV直後のCTAカードの重なりを解消（FVのリード文を隠さない） */
.fv + .wrap .ctacard{margin-top:14px}

/* 施工箇所カードの実写真 */
.cons__img{width:100%;height:240px;object-fit:cover;object-position:center top;display:block}
