/* 共通ナビゲーション・スマホ可読性の最終調整 */
html{scroll-behavior:smooth;scroll-padding-top:80px}body{overflow-x:clip}.demo-flag{display:none!important}.hdr{top:0}.navbar{display:none!important}.menu-btn{display:grid!important}.menu-btn[aria-expanded="true"]{border-color:var(--accent);color:var(--accent);background:var(--tint)}
h1,h2{text-wrap:balance;line-break:strict}h3{text-wrap:pretty;line-break:strict}.aftercare-word{white-space:nowrap}.khead h1{font-family:var(--serif);font-size:clamp(25px,3.4vw,34px);font-weight:600;line-height:1.45;color:var(--deep);margin:12px 0 0}
.m-menu{padding:18px 22px 24px;background:var(--surface);max-height:calc(100dvh - 68px);overflow:auto;overscroll-behavior:contain}.m-menu-inner{max-width:var(--maxw);margin:auto;display:grid;grid-template-columns:1.15fr 1fr 1fr .9fr;gap:16px}.menu-group{padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.menu-group-title{display:block;margin:0 0 8px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.14em}.m-menu .menu-group a{display:flex;min-height:42px;padding:8px 0;border-top:0;border-bottom:1px solid var(--line);font-size:14px;font-weight:700;color:var(--ink)}.m-menu .menu-group a:last-child{border-bottom:0}.m-menu .menu-group a::after{content:"›";margin-left:auto;color:var(--accent);font-size:20px;font-weight:400}.menu-group.contact-group{background:var(--deep);border-color:var(--deep)}.contact-group .menu-group-title{color:#bfe6ef}.m-menu .contact-group a{color:#fff;border-color:rgba(255,255,255,.18)}
.mobile-contact-bar{display:none}.ft nav{align-items:flex-start}.ft nav a{line-height:1.5}.legal-link{white-space:nowrap}
.ft .ft-in{display:flex;flex-direction:column;align-items:stretch;gap:0}.ft .ft-in nav{order:1;width:100%;justify-content:center}.ft .co{order:2;width:100%;margin-top:28px;padding-top:24px;border-top:1px solid var(--line);text-align:center}.ft .co .footer-contact{display:flex;justify-content:center;align-items:center;gap:8px 22px;flex-wrap:wrap}.ft .co .footer-contact a{color:var(--muted);text-decoration:none}.ft .co .footer-contact a:hover{color:var(--accent)}
.qa{padding:0!important;overflow:hidden}.qa summary{list-style:none;cursor:pointer;padding:24px 26px}.qa summary::-webkit-details-marker{display:none}.qa .q-text{flex:1}.qa .faq-toggle{position:relative;flex:none;width:28px;height:28px;margin-left:auto;border-radius:50%;background:var(--tint)}.qa .faq-toggle::before,.qa .faq-toggle::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;background:var(--accent);transform:translate(-50%,-50%);transition:transform .2s ease}.qa .faq-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}.qa[open] .faq-toggle::after{transform:translate(-50%,-50%) rotate(0)}.qa[open] summary{border-bottom:1px solid var(--line)}.qa .a{margin:0!important;padding:20px 26px 24px}.qa summary:focus-visible{outline:3px solid rgba(23,137,171,.25);outline-offset:-3px}
.btn-line-contact{background:#06c755!important;border-color:#06c755!important;color:#fff!important;box-shadow:0 4px 14px rgba(6,199,85,.28)}.btn-line-contact:hover{background:#05ad4a!important;transform:translateY(-1px)}
.final .fcta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.final p.final-questions{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 28px;max-width:none;color:#fff;font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.7}.final .final-questions span{white-space:nowrap}.final p.final-support{max-width:42em;margin-top:12px;font-size:16px}.final .final-support span{display:block}

/* 写真を隠さず施工前後を比較できるよう、ラベルは画像の外に置く */
.ba-cell{display:flex;flex-direction:column;overflow:visible!important;background:transparent!important}
.ba-cell img{order:2;border-radius:12px;overflow:hidden}
.ba-label{position:static!important;order:1;align-self:flex-start;margin:0 0 8px;padding:5px 13px!important;line-height:1.3!important}
.comparison-labels{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 26px 0}.comparison-label{justify-self:start;padding:5px 13px;border-radius:999px;background:rgba(12,42,48,.8);color:#fff;font-size:11.5px;font-weight:800;line-height:1.3;letter-spacing:.08em}.comparison-label.after{background:rgba(23,137,171,.92)}.case .comparison-labels+.fig{padding-top:8px}
.composite-ba-grid .ba-cell{min-width:0}.composite-crop{position:relative;order:2;width:100%;aspect-ratio:1/1.01;overflow:hidden;border-radius:12px;background:#e8f2f4}.composite-crop img{position:absolute;top:0;left:0;width:200%!important;max-width:none!important;height:100%!important;border-radius:0!important;object-fit:fill}.composite-crop.after img{left:-100%}.composite-ba-grid+.bd{padding-top:16px!important}
.case .meta .metalocation{display:inline-flex;align-items:center;gap:8px}
.guide .price-example{max-width:410px;margin:13px auto 0;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.72);color:var(--ink);font-size:13px;line-height:1.65}.guide .price-example strong{color:var(--deep)}.guide .price-example span{display:block;margin-top:2px;color:var(--muted);font-size:11px}
@media(max-width:980px){.m-menu-inner{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  html{scroll-padding-top:70px}body{font-size:16px!important;line-height:1.82!important;padding-bottom:76px}.wrap{padding-left:18px!important;padding-right:18px!important}.hdr-in{height:62px!important;padding:0 14px!important;gap:8px!important}.hdr .tel,.brand .sub{display:none!important}.brand{gap:8px!important;min-width:0;margin-right:auto!important}.brand .mk{width:36px!important;height:36px!important;flex:none!important}.brand .nm{font-size:18px!important;white-space:nowrap}.hdr .btn-sm{padding:10px 15px!important;font-size:13px!important;white-space:nowrap;flex:none}.menu-btn{width:42px!important;height:42px!important;border-radius:11px!important;flex:none}.m-menu{position:fixed!important;top:100%!important;bottom:auto!important;left:0!important;right:0!important;height:calc(100dvh - 62px)!important;max-height:none!important;padding:14px 14px 94px!important;background:var(--surface)!important}.m-menu-inner{grid-template-columns:1fr;gap:10px}.menu-group{padding:13px 16px}.m-menu .menu-group a{min-height:45px;font-size:14px}.sec{padding:52px 0!important}.khead{margin-bottom:28px!important;text-align:left!important}.klabel{font-size:11px!important;letter-spacing:.16em!important}.khead h2{font-size:25px!important;line-height:1.5!important;margin-top:8px!important}.khead p{font-size:14.5px!important;line-height:1.82!important;margin-top:10px!important}.hero .wrap{padding:26px 18px 36px!important}.hero h1{font-size:29px!important;line-height:1.42!important}.hero .lead{font-size:15px!important;line-height:1.8!important}.hero-media-m{margin-top:16px!important}.hero-media-m img{max-height:220px!important}.hero-cta{gap:10px!important}.hero-cta .btn{width:100%;max-width:340px;padding:13px 18px!important;font-size:15px!important}.svc-grid,.reason-grid,.steps,.corp-grid,.benefit-grid,.worry-grid,.care-benefits{grid-template-columns:1fr!important;gap:12px!important}.svc{padding:22px 18px!important;text-align:left!important}.svc .ic{width:50px!important;height:50px!important;margin:0 0 13px!important}.svc h3{font-size:19px!important}.svc p{font-size:14px!important;line-height:1.75!important}.rev-grid{gap:12px!important}.rev{padding:21px 18px!important}.rev h3{font-size:18px!important}.rev li{font-size:14px!important}.case{border-radius:14px!important;margin-bottom:18px!important}.case>h3,.case h3{font-size:18px!important;line-height:1.55!important;padding-left:18px!important;padding-right:18px!important}.case .bd{padding:15px 18px 21px!important}.ba-grid{padding-left:14px!important;padding-right:14px!important}.pain-wrap{grid-template-columns:1fr!important;gap:9px!important}.pain{padding:15px 16px!important}.pain span{font-size:14px!important}.reason{padding:24px 19px!important}.reason h3{font-size:20px!important}.reason p{font-size:14px!important;line-height:1.75!important}.step{padding:21px 18px!important}.step h3{font-size:18px!important}.step p{font-size:14px!important;line-height:1.75!important}.price-card{padding:22px 18px!important}.price-card h3{font-size:18px!important}.ptable{font-size:14px!important}.ptable th,.ptable td{padding:12px 4px!important}.price-note{font-size:12px!important}.qa{padding:19px 18px!important}.qa .q{font-size:15px!important;line-height:1.65!important}.qa .a{font-size:14px!important;line-height:1.8!important}.corp{padding:21px 18px!important}.corp h3{font-size:18px!important}.corp p{font-size:14px!important}.area-box{padding:22px 18px!important}.chip{font-size:13px!important}.final .wrap{padding:56px 18px!important}.final h2{font-size:27px!important}.final p{font-size:15px!important}.final .telbox{max-width:100%;padding:14px 18px!important}.final .telbox .num{font-size:25px!important}.ft{padding-bottom:96px!important}.ft-in{display:block!important}.ft nav{display:grid!important;grid-template-columns:1fr 1fr;gap:0!important;margin-top:22px;border-top:1px solid var(--line)}.ft nav a{display:flex;align-items:center;min-height:46px;border-bottom:1px solid var(--line);font-size:13px!important}.khero .wrap{padding:40px 18px 45px!important}.khero h1{font-size:28px!important;line-height:1.48!important}.khero .lead{font-size:15px!important;line-height:1.85!important}.worry,.benefit{padding:19px 17px!important}.worry p,.benefit p{font-size:14px!important;line-height:1.72!important}.story-card{padding:20px 18px!important}.story-card p{font-size:14px!important}.care-concern-note,.pain-note{font-size:14px!important}.mobile-contact-bar{position:fixed;display:grid;grid-template-columns:.84fr 1.16fr;gap:8px;left:0;right:0;bottom:0;z-index:70;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(12,42,48,.12)}.mobile-contact-bar a{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:12px;text-decoration:none;font-size:14px;font-weight:800}.mobile-contact-bar .phone{border:1px solid var(--accent);color:var(--deep)}.mobile-contact-bar .line{background:#06c755;color:#fff}
}
@media(max-width:640px){
  .qa summary{padding:17px 16px!important;align-items:center!important}.qa .faq-toggle{width:26px;height:26px}.qa .a{padding:16px 16px 19px!important}.faq{gap:9px!important}
  .case .temp{display:grid!important;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important;gap:8px 6px!important;padding:14px 12px!important;align-items:center!important}.case .temp .t b{font-size:20px!important;white-space:nowrap}.case .temp .t span{font-size:11.5px!important}.case .temp .arw{display:grid;place-items:center}.case .temp .arw svg{width:20px!important;height:20px!important}.case .temp .drop{grid-column:1/-1;width:100%;margin:4px 0 0!important;padding-top:11px;border-top:1px solid rgba(23,137,171,.18);text-align:center!important;display:flex;align-items:baseline;justify-content:center;gap:9px}.case .temp .drop b{font-size:18px!important}.case .temp .drop span{font-size:11.5px!important}
  .ft .ft-in{display:flex!important}.ft nav{order:1;margin-top:0!important}.ft .co{order:2;margin-top:24px!important;padding-top:22px!important;text-align:left!important;font-size:17px!important}.ft .co .footer-contact{display:grid!important;gap:3px!important;justify-content:start!important;margin-top:8px}.ft .co .footer-contact span,.ft .co .footer-contact a{margin:0!important;font-size:12.5px!important;line-height:1.7!important}
  .case .meta{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.case .meta .metafilm{order:1;margin:0!important}.case .meta .metalocation{order:2}
  .guide .price-example{padding:10px 11px;font-size:12.5px}.guide .price-example span{font-size:10.5px}
}
@media(max-width:640px){
  .khead h2{text-wrap:pretty!important}
  .khead h1{font-size:25px!important;line-height:1.5!important;margin-top:8px!important}
  .final p.final-questions{font-size:17px!important}
  .final p.final-support{font-size:14px!important}
  .case .bd p{font-size:14px!important;line-height:1.82!important}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .svc{padding:15px 12px!important;border-radius:14px!important;text-align:left!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important}
  .svc .ic{width:40px!important;height:40px!important;margin:0 0 10px!important;border-radius:10px!important}
  .svc .ic svg{width:22px!important;height:22px!important}
  .svc h3{font-size:15.5px!important;line-height:1.5!important}
  .svc p{font-size:12.5px!important;line-height:1.68!important;margin-top:7px!important}
  .benefit{padding:0 0 20px!important;overflow:hidden!important;text-align:center!important}
  .benefit-media{width:100%!important;aspect-ratio:16/9!important;margin:0 0 18px!important;border-radius:15px 15px 0 0!important}
  .benefit h3{padding:0 17px!important;font-size:18px!important}
  .benefit p{padding:0 17px!important;margin-top:8px!important;font-size:14px!important;line-height:1.78!important}
}
@media(max-width:370px){.brand .nm{font-size:16px!important}.hdr .btn-sm{display:none!important}.hero h1{font-size:24px!important}.khero h1{font-size:25px!important}.svc{padding:14px 10px!important}.svc h3{font-size:14.5px!important}.svc p{font-size:12px!important}.ft nav{grid-template-columns:1fr}}
@media(max-width:640px){.comparison-labels{gap:8px;padding:14px 14px 0}.comparison-label{padding:5px 11px;font-size:10.5px}.case .comparison-labels+.fig{padding-top:7px!important}.composite-ba-grid{gap:8px!important}.composite-crop{border-radius:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
