/*
Theme Name: 誠屋HP
Theme URI: https://makotoya-kansai.jp/
Author: 合同会社occur
Description: Design 18 static site port for 株式会社誠屋.
Version: 0.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: seiya-hp
*/
:root{
  --paper:#f6f4ef;
  --paper2:#fbfaf6;
  --ink:#102328;
  --muted:#5d6b70;
  --line:#d9ddd8;
  --navy:#132a34;
  --navy2:#0c1b21;
  --water:#008c96;
  --water2:#2eaab4;
  --mint:#dff5f1;
  --green:#06c755;
  --partner:#1f3b2d;
  --red:#c8443c;
  --gold:#a98722;
  --white:#fff;
  --shadow:0 28px 80px -56px rgba(10,27,33,.72);
  --font:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","YuGothic","Meiryo",system-ui,sans-serif;
  --head:"Hiragino Sans","Yu Gothic","YuGothic","Meiryo",system-ui,sans-serif;
  --num:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","YuGothic","Meiryo",system-ui,sans-serif;
  --header-h:86px;
}
*{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth}
body{margin:0;width:100%;max-width:100%;padding-top:var(--header-h);overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.85;letter-spacing:0;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.site-header{position:fixed;top:0;left:0;right:0;z-index:110;background:rgba(255,255,255,.96);border-top:1px solid rgba(169,135,34,.42);border-bottom:1px solid rgba(16,35,40,.08);box-shadow:0 18px 52px -44px rgba(0,0,0,.45);backdrop-filter:blur(18px)}
.admin-bar .site-header{top:32px}
.site-header__inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;font-family:var(--head);font-weight:900;font-size:22px}
.brand strong{display:block;font-family:var(--head);font-size:22px;line-height:1.04;letter-spacing:.04em}
.brand small{display:block;color:var(--water);font-size:11px;font-weight:900;letter-spacing:.2em;line-height:1.35}
.nav{display:flex;align-items:center;gap:12px}
.nav{scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav>a,.nav-drop>a{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:8px 12px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.02em}
.nav>a:hover,.nav-drop>a:hover{background:var(--paper);color:var(--water)}
.nav-drop{position:relative}
.nav-drop__menu{position:absolute;top:100%;left:0;min-width:250px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 44px -30px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}
.nav-drop:hover .nav-drop__menu,.nav-drop:focus-within .nav-drop__menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-drop__menu a{display:block;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:800;white-space:nowrap}
.nav-drop__menu a:hover{background:var(--mint);color:var(--water)}
.nav-toggle,.nav-toggle-label{display:none}
.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:10px 17px;border-radius:8px;background:var(--water);color:#fff;font-weight:900;white-space:nowrap;box-shadow:0 18px 44px -28px rgba(0,140,150,.8)}
.header-line{min-width:178px;background:var(--green);border:2px solid rgba(255,255,255,.72);box-shadow:0 20px 52px -24px rgba(6,199,85,.9)}
.header-phone{background:#fff;color:var(--navy);border:1.5px solid rgba(16,35,40,.14);box-shadow:none}
.line-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#fff;color:var(--green);font-size:0;font-weight:900;overflow:hidden;flex:0 0 auto}
.line-icon svg{display:block;width:100%;height:100%;object-fit:contain;transform:none;transform-origin:center}
.phone-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:999px;background:rgba(200,68,60,.1);color:var(--red);font-size:0;font-weight:900;line-height:1;flex:0 0 auto}
.phone-icon svg{width:22px;height:22px}
.cta-copy{display:grid;gap:2px;line-height:1.15;text-align:left}
.cta-copy strong{font-size:15px;font-weight:900}
.cta-copy small{font-size:12px;font-weight:900;opacity:.9}
.cta-copy em{font-style:normal;font-size:10px;font-weight:900;line-height:1.25;color:var(--muted)}
.header-phone .cta-copy em{color:rgba(16,35,40,.62)}
.sp-only{display:none}
.hero{position:relative;display:grid;align-items:center;min-height:calc(100svh - 86px);padding:76px 0 92px;overflow:hidden;color:var(--ink);background:linear-gradient(90deg,var(--paper) 0 48%,rgba(246,244,239,.82) 56%,rgba(16,35,40,.12)),url("assets/water-pipe-flow-01.webp") right center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(246,244,239,.98),rgba(246,244,239,.82) 46%,rgba(16,35,40,.18) 100%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 78% 28%,rgba(0,140,150,.11),transparent 280px),linear-gradient(180deg,rgba(246,244,239,.1),rgba(246,244,239,.42));pointer-events:none}
.cad-layer,.flow-line{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
.cad-layer{opacity:.22;mask-image:linear-gradient(90deg,transparent 0 46%,#000 64%);-webkit-mask-image:linear-gradient(90deg,transparent 0 46%,#000 64%)}
.cad-layer path,.cad-layer circle{fill:none;stroke:var(--water);stroke-width:1.7;vector-effect:non-scaling-stroke}
.flow-line{display:none}
.flow-line svg{width:118%;height:100%;transform:translateX(-8%)}
.flow-line path{fill:none;stroke:rgba(0,140,150,.22);stroke-width:15;stroke-linecap:round;filter:drop-shadow(0 18px 32px rgba(46,170,180,.22));animation:waterFlow 13s ease-in-out infinite alternate}
.flow-line path:nth-child(2){stroke-width:8;opacity:.58;animation-duration:17s}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,760px);gap:44px;align-items:center;min-height:auto}
.glass{border:2px solid rgba(255,255,255,.22);background:rgba(7,18,22,.52);box-shadow:0 30px 80px -48px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.34);backdrop-filter:blur(18px) saturate(1.3);border-radius:28px}
.hero-copy{max-width:760px;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;text-shadow:0 1px 0 rgba(255,255,255,.54)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;max-width:100%;margin:0 0 22px;padding:7px 12px;border:1.5px solid rgba(0,140,150,.22);border-radius:999px;background:rgba(255,255,255,.78);color:var(--water);font-size:12px;font-weight:900;overflow-wrap:anywhere}
.eyebrow::before{content:"";width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--water)}
.hero h1,.page-hero h1{margin:0;font-family:var(--head);font-size:clamp(42px,5.2vw,70px);font-weight:900;line-height:1.12;letter-spacing:0}
.h-accent{color:var(--water)}
.h-sp{display:none}
.hero h1 em{font-style:normal;color:var(--water)}
.lead{max-width:620px;margin:24px 0 0;color:#263c43;font-weight:800;line-height:2}
.sales-note{margin:14px 0 0;color:var(--muted);font-size:12px;font-weight:900;line-height:1.7}
.hero-sales-note{max-width:560px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:54px;padding:13px 20px;border-radius:14px;font-weight:900;line-height:1.2;transition:transform .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 20px 34px -28px rgba(16,35,40,.9)}
.btn-line{background:var(--green);color:#fff}
.btn-dark{background:var(--navy);color:#fff}
.btn-light{background:#fff;color:var(--red)}
.btn-outline{background:#fff;color:var(--water);border:1.5px solid rgba(0,140,150,.24)}
.chips,.proof-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chips span,.proof-row span{padding:8px 11px;border:1.5px solid rgba(16,35,40,.1);border-radius:999px;background:rgba(255,255,255,.74);font-size:12px;font-weight:900;color:#405057}
.hero-panel{align-self:stretch;display:grid;align-content:end;gap:12px}
.trust-board,.bento{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.trust-card,.metric{border:1.5px solid rgba(255,255,255,.48);background:rgba(255,255,255,.78);box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:22px}
.trust-card{padding:22px;min-height:154px}
.trust-card:first-child{grid-column:1/-1}
.trust-card b{display:block;width:max-content;margin-bottom:10px;padding:5px 9px;border-radius:999px;background:var(--mint);color:var(--water);font-size:12px}
.trust-card strong{display:block;font-family:var(--head);font-size:22px;line-height:1.4}
.trust-card p{margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:700;line-height:1.8}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.metric{padding:18px;text-align:center}
.metric strong{display:block;color:var(--water);font-family:var(--head);font-size:20px;line-height:1.2;font-weight:900;white-space:normal}
.metric span{display:block;margin-top:8px;color:var(--muted);font-size:13px;font-weight:900}
.bento{display:grid}
.bento-card{padding:22px;min-height:154px}
.bento-card.wide{grid-column:1/-1}
.bento-card b{display:block;width:max-content;margin-bottom:10px;padding:5px 9px;border-radius:999px;background:var(--mint);color:var(--water);font-size:12px}
.bento-card h2{margin:0;font-family:var(--head);font-size:22px;line-height:1.4}
.bento-card p{margin:8px 0 0;color:rgba(255,255,255,.76);font-size:13px;font-weight:700;line-height:1.8}
.stat{text-align:center;padding:20px}
.stat strong{display:block;color:#bff8f2;font-family:var(--num);font-size:34px;line-height:1;font-weight:900}
.stat span{display:block;margin-top:8px;color:rgba(255,255,255,.78);font-size:12px;font-weight:900}
@keyframes waterFlow{from{stroke-dasharray:92 34;stroke-dashoffset:0}to{stroke-dasharray:124 26;stroke-dashoffset:-96}}
@keyframes heroWaterDrift{from{background-position:0 0,0 0,0 0,0 0}to{background-position:34px -18px,-24px 20px,22px 0,0 22px}}
.section{padding:94px 0}
.section.alt{background:var(--paper2)}
.section.dark{background:var(--navy);color:#fff}
.section-head{max-width:760px;margin:0 0 42px}
.section-head.center{margin-inline:auto;text-align:center}
.kicker{display:block;margin-bottom:12px;color:var(--water);font-size:12px;font-weight:900;letter-spacing:.14em}
h2{margin:0;font-family:var(--head);font-size:clamp(30px,4vw,48px);line-height:1.35}
.section-head p{margin:16px 0 0;color:var(--muted);font-weight:700}
.grid{display:grid;gap:18px}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-4{grid-template-columns:repeat(4,1fr)}
.cards-2{grid-template-columns:repeat(2,1fr)}
.card{min-width:0;padding:24px;border-radius:22px;background:#fff;border:1.5px solid var(--line);box-shadow:0 24px 70px -62px rgba(16,35,40,.72)}
.card h3{margin:8px 0 10px;font-family:var(--head);font-size:22px;line-height:1.45}
.card p{margin:0;color:var(--muted);font-weight:700}
.card small{color:var(--water);font-family:var(--num);font-weight:900}
.card ul{margin:18px 0 0;padding:0;list-style:none}
.card li{padding:8px 0;border-top:1px solid var(--line);font-size:13px;font-weight:900}
.more{display:inline-flex;margin-top:18px;color:var(--water);font-weight:900}
.more::after{content:"→";margin-left:8px}
.symptom-section{background:linear-gradient(180deg,#fff,var(--paper2))}
.symptom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.symptom-card{display:grid;grid-template-rows:170px 1fr;min-width:0;border:1.5px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 24px 70px -62px rgba(16,35,40,.72);transition:transform .2s ease,box-shadow .2s ease}
.symptom-card:hover{transform:translateY(-3px);box-shadow:0 28px 70px -54px rgba(16,35,40,.82)}
.symptom-photo{position:relative;min-height:170px;background:linear-gradient(135deg,#e9f7f5,#fff);overflow:hidden}
.symptom-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,35,40,0),rgba(16,35,40,.28))}
.symptom-photo.leak{background:url("assets/work-leak-repair-real-02.webp") center/cover no-repeat}
.symptom-photo.toilet-clog{background:url("assets/toilet-renovation-real-02.webp") center/cover no-repeat}
.symptom-photo.remodel{background:url("assets/work-kitchen-plumbing-real-02.webp") center/cover no-repeat}
.symptom-photo.business{background:url("assets/work-plumbing-tools-real-02.webp") center/cover no-repeat}
.symptom-card__body{display:grid;align-content:start;min-width:0;padding:20px}
.symptom-card__body small{color:var(--water);font-weight:900;letter-spacing:.05em}
.symptom-card__body h3{margin:8px 0 10px;font-family:var(--head);font-size:20px;line-height:1.45}
.symptom-card__body p{margin:0;color:var(--muted);font-size:14px;font-weight:800;line-height:1.75}
.symptom-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:22px 24px;border:1.5px solid rgba(0,140,150,.2);border-radius:22px;background:rgba(223,245,241,.58)}
.symptom-cta p{margin:0;color:#31454b;font-weight:900;line-height:1.8}
.price-model .section-head{max-width:840px}
.price-formula{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:stretch}
.price-formula article{display:grid;align-content:center;min-height:140px;padding:20px;border:1.5px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 24px 70px -62px rgba(16,35,40,.72)}
.price-formula article.total{background:var(--navy);color:#fff;border-color:var(--gold)}
.price-formula strong{display:block;font-family:var(--head);font-size:21px;line-height:1.35}
.price-formula span{display:block;margin-top:8px;color:var(--muted);font-size:13px;font-weight:800;line-height:1.7}
.price-formula .total span{color:rgba(255,255,255,.78)}
.price-formula b{display:grid;place-items:center;color:var(--water);font-family:var(--num);font-size:28px;font-weight:900}
.assurance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.assurance-grid article{padding:22px;border:1.5px solid rgba(0,140,150,.18);border-radius:18px;background:rgba(255,255,255,.78)}
.assurance-grid small{display:block;color:var(--water);font-family:var(--num);font-size:12px;font-weight:900;letter-spacing:.1em}
.assurance-grid strong{display:block;margin-top:8px;font-family:var(--head);font-size:19px;line-height:1.45}
.assurance-grid p{margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.75}
.flow-cards .card{position:relative;overflow:hidden}
.flow-cards .card::before{content:"";position:absolute;left:24px;right:24px;top:0;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--water),var(--mint))}
.flow-timeline{counter-reset:flow;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:1080px;margin-inline:auto}
.flow-timeline article{counter-increment:flow;position:relative;display:grid;justify-items:center;align-content:start;gap:12px;min-width:0;padding:12px 16px 0;text-align:center}
.flow-timeline article:not(:last-child)::after{content:"";position:absolute;top:38px;left:calc(50% + 38px);width:calc(100% - 76px);height:2px;background:linear-gradient(90deg,var(--water),rgba(0,140,150,.18))}
.flow-timeline small{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#fff;border:2px solid rgba(0,140,150,.26);box-shadow:0 18px 46px -34px rgba(16,35,40,.8);color:var(--water);font-family:var(--num);font-size:12px;font-weight:900;letter-spacing:.08em;line-height:1.25}
.flow-timeline h3{margin:0;font-family:var(--head);font-size:23px;line-height:1.35}
.flow-timeline p{max-width:230px;margin:0;color:var(--muted);font-size:14px;font-weight:800;line-height:1.8}
.contact-choice{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.contact-choice a{display:block;padding:20px;border:1.5px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 54px -46px rgba(16,35,40,.6)}
.contact-choice strong{display:block;font-family:var(--head);font-size:19px;line-height:1.35}
.contact-choice small{display:block;margin-bottom:8px;color:var(--water);font-weight:900;letter-spacing:.08em}
.contact-choice span{display:block;margin-top:8px;color:var(--muted);font-size:13px;font-weight:800;line-height:1.7}
.page-hero{padding:70px 0 58px;background:linear-gradient(135deg,var(--paper),#fff);border-bottom:1px solid var(--line)}
.page-hero .container{max-width:980px}
.page-hero h1{color:var(--ink);font-size:clamp(34px,4.2vw,52px);line-height:1.18}
.page-hero p{max-width:720px;margin:16px 0 0;color:var(--muted);font-weight:800;line-height:1.9}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.two-col.text-only{grid-template-columns:minmax(0,840px)}
.photo-slot,.visual,.work-photo{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#f4f1e9,#ffffff);border:1.5px dashed #c7ccc7;color:#788186;text-align:center;font-size:13px;font-weight:900;letter-spacing:.04em}
.photo-slot::before,.visual::before,.work-photo::before{content:"写真差し替え予定";display:inline-flex;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(16,35,40,.08)}
.service-detail{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start;max-width:860px}
.service-detail-media{width:100%;min-height:0;aspect-ratio:16/9;border-radius:24px;box-shadow:var(--shadow)}
.service-detail-media::before{display:none}
.service-detail-media span{display:inline-grid;gap:4px;padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(16,35,40,.08)}
.service-detail-media small{font-size:11px;color:var(--muted);letter-spacing:.02em}
.service-detail-body{min-width:0}
.service-detail-body h2{font-size:clamp(28px,3.4vw,40px);line-height:1.42}
.service-detail-body p{font-size:16px;line-height:2;color:#35474c;font-weight:750}
.service-detail-body .cards-3{grid-template-columns:1fr;margin-top:24px}
.visual{min-height:380px;border-radius:28px;box-shadow:var(--shadow)}
.visual.toilet{background:url("assets/toilet-renovation-real-02.webp") center/cover no-repeat;border:0}
.visual.flow,.visual.repair{background:url("assets/work-leak-repair-real-02.webp") center/cover no-repeat;border:0}
.visual.kitchen{background:url("assets/generated/service-kitchen-finished.webp") center/cover no-repeat;border:0}
.visual.plumbing{background:url("assets/work-plumbing-tools-real-02.webp") center/cover no-repeat;border:0}
.visual.toilet::before,.visual.flow::before,.visual.repair::before,.visual.kitchen::before,.visual.plumbing::before{display:none}
.visual.representative{background:url("assets/work-plumbing-tools-real-02.webp") center/cover no-repeat;border:0}
.visual.representative::before{display:none}
.service-detail-media.toilet{background:url("assets/toilet-renovation-real-02.webp") center/cover no-repeat;border:0}
.service-detail-media.repair{background:url("assets/work-leak-repair-real-02.webp") center/cover no-repeat;border:0}
.service-detail-media.kitchen{background:url("assets/generated/service-kitchen-finished.webp") center/cover no-repeat;border:0}
.service-detail-media.washroom{background:url("assets/generated/service-washroom-finished.webp") center/cover no-repeat;border:0}
.service-detail-media.bathroom{background:url("assets/generated/service-bathroom-finished.webp") center/cover no-repeat;border:0}
.service-detail-media.plumbing{background:url("assets/work-plumbing-tools-real-02.webp") center/cover no-repeat;border:0}
.service-detail-media.toilet span,.service-detail-media.repair span,.service-detail-media.kitchen span,.service-detail-media.washroom span,.service-detail-media.bathroom span,.service-detail-media.plumbing span{display:none}
.price-note{margin:0 0 18px;color:#405057;font-weight:800;line-height:1.9}
.price-table{overflow:hidden;border:1.5px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 24px 70px -64px rgba(16,35,40,.72)}
.price-head,.price-row{display:grid;grid-template-columns:1.15fr 1.1fr .9fr;gap:18px;align-items:center}
.price-head{padding:14px 22px;background:var(--navy);color:#fff;font-size:13px;font-weight:900}
.price-row{padding:20px 22px;border-top:1px solid var(--line)}
.price-row:first-child{border-top:0}
.price-row span:first-child{font-family:var(--head);font-size:17px;font-weight:900;color:var(--ink)}
.price-row span:last-child{color:var(--muted);font-weight:800;line-height:1.7}
.price-row strong{font-family:var(--num);font-size:24px;color:var(--water);text-align:right}
.case-table{margin-top:16px;overflow:hidden;border:1.5px solid var(--line);border-radius:16px;background:#fff}
.case-table .price-row{grid-template-columns:.72fr 1.28fr;gap:10px;padding:12px 14px}
.case-table .price-row span:first-child{font-size:14px}
.case-table .price-row span:last-child{font-size:14px}
.work-photo{height:180px;margin:-24px -24px 18px;border-radius:22px 22px 0 0}
.work-photo.toilet{background:url("assets/generated/service-toilet-finished.webp") center/cover no-repeat;border:0}
.work-photo.flow{background:url("assets/work-leak-repair-real-02.webp") center/cover no-repeat;border:0}
.work-photo.alt,.work-photo.kitchen{background:url("assets/generated/service-kitchen-finished.webp") center/cover no-repeat;border:0}
.work-photo.plumbing{background:url("assets/work-plumbing-tools-real-02.webp") center/cover no-repeat;border:0}
.work-photo.washroom{background:url("assets/generated/service-washroom-finished.webp") center/cover no-repeat;border:0}
.work-photo.bathroom{background:url("assets/generated/service-bathroom-finished.webp") center/cover no-repeat;border:0}
.work-photo.renovation{background:url("assets/works/rental-room-renovation-01.webp") center/cover no-repeat;border:0}
.work-photo.business{background:url("assets/works/office-monitor-installation-01.webp") center/cover no-repeat;border:0}
.work-photo.toilet::before,.work-photo.flow::before,.work-photo.alt::before,.work-photo.kitchen::before,.work-photo.plumbing::before,.work-photo.washroom::before,.work-photo.bathroom::before{display:none}
.work-meta{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 12px}
.work-meta span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid rgba(0,140,150,.18);border-radius:999px;background:var(--mint);color:#18464c;font-size:12px;font-weight:900;line-height:1.2}
.price-disclaimer{margin:18px 0 0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.7}
.work-filter{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 0 34px}
.work-filter button{border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);padding:10px 18px;font:inherit;font-weight:900;cursor:pointer;transition:.2s ease}
.work-filter button.is-active,.work-filter button:hover{background:var(--navy);color:#fff;border-color:var(--gold)}
.service-cross{background:var(--paper2)}
.service-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 28px}
.service-guide article{padding:18px 20px;border:1.5px solid rgba(0,140,150,.18);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 20px 54px -48px rgba(16,35,40,.58)}
.service-guide strong{display:block;color:var(--water);font-family:var(--head);font-size:18px;line-height:1.45}
.service-guide span{display:block;margin-top:6px;color:var(--muted);font-size:13px;font-weight:800;line-height:1.7}
.service-grid .service-card{border-radius:18px;box-shadow:none}
.service-grid .service-card:hover{transform:translateY(-2px);box-shadow:0 24px 56px -50px rgba(16,35,40,.78)}
.service-grid .work-photo{height:154px}
.area-section{padding-top:72px;padding-bottom:72px}
.area-box{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:28px;align-items:center;padding:30px;border:1.5px solid rgba(0,140,150,.2);border-radius:24px;background:linear-gradient(135deg,#fff,rgba(223,245,241,.6));box-shadow:0 26px 70px -60px rgba(16,35,40,.72)}
.area-box h2{font-size:clamp(28px,3.2vw,42px);line-height:1.4}
.area-box p{margin:14px 0 0;color:var(--muted);font-weight:800;line-height:1.9}
.area-visual{display:grid;gap:12px;min-width:0}
.area-region-map{display:block;width:100%;height:auto;min-height:260px;border-radius:22px;background:#eef9f7;box-shadow:inset 0 0 0 1.5px rgba(0,140,150,.16)}
.map-panel{fill:url(#area-map-bg);stroke:rgba(0,140,150,.18);stroke-width:2}
.map-bay{fill:rgba(255,255,255,.58)}
.map-pref{stroke:#fff;stroke-width:8;stroke-linejoin:round}
.pref-hyogo{fill:#b8d7dc}
.pref-osaka{fill:#00969f}
.pref-kyoto{fill:#d6e8e5}
.pref-shiga{fill:#c7dddc}
.pref-nara{fill:#dcebe8}
.pref-wakayama{fill:#e6efeb}
.coverage-fill{fill:rgba(6,199,85,.28)}
.coverage-outline{fill:none;stroke:#06c755;stroke-width:9;stroke-dasharray:16 12;stroke-linecap:round}
.map-labels text{font-family:var(--head);font-weight:900;fill:var(--navy);font-size:22px}
.map-labels text:nth-child(2){fill:#fff;font-size:25px}
.city-dots circle{fill:#102328;stroke:#fff;stroke-width:4}
.city-dots text{font-family:var(--body);font-size:14px;font-weight:900;fill:#102328}
.map-callout path{fill:none;stroke:#00969f;stroke-width:6;stroke-linecap:round}
.map-callout rect{fill:#fff;stroke:rgba(0,140,150,.22);stroke-width:2}
.callout-title{font-family:var(--head);font-weight:900;font-size:38px;fill:#00969f}
.callout-sub{font-family:var(--body);font-size:14px;font-weight:900;fill:var(--navy)}
.map-legend rect{fill:rgba(6,199,85,.36);stroke:#06c755;stroke-width:2}
.map-legend line{stroke:#06c755;stroke-width:5;stroke-dasharray:10 8;stroke-linecap:round}
.map-legend text{font-family:var(--body);font-size:13px;font-weight:900;fill:var(--muted)}
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.area-grid article{min-width:0;padding:18px;border:1.5px solid rgba(0,140,150,.16);border-radius:16px;background:#fff}
.area-grid strong{display:block;font-family:var(--head);font-size:19px;color:var(--water);line-height:1.45}
.area-grid span{display:block;margin-top:6px;color:var(--muted);font-size:13px;font-weight:800;line-height:1.7}
.service-cross__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.service-cross__grid a{display:grid;grid-template-rows:154px auto auto;min-width:0;padding:0;border:1.5px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;transition:.2s ease}
.service-cross__grid a::before{content:"";display:block;background:url("assets/work-leak-repair-real-02.webp") center/cover no-repeat;border-bottom:1px solid var(--line)}
.service-cross__grid a[href="/service/toilet/"]::before{background-image:url("assets/generated/service-toilet-finished.webp")}
.service-cross__grid a[href="/service/washroom/"]::before{background-image:url("assets/generated/service-washroom-finished.webp")}
.service-cross__grid a[href="/service/kitchen/"]::before{background-image:url("assets/generated/service-kitchen-finished.webp")}
.service-cross__grid a[href="/service/bathroom/"]::before{background-image:url("assets/generated/service-bathroom-finished.webp")}
.service-cross__grid a[href="/service/plumbing/"]::before{background-image:url("assets/work-plumbing-tools-real-02.webp")}
.service-cross__grid a:hover{transform:translateY(-2px);box-shadow:0 24px 50px -42px rgba(16,35,40,.7)}
.service-cross__grid strong{display:block;padding:18px 20px 0;color:var(--water);font-family:var(--head);font-size:18px;line-height:1.45}
.service-cross__grid small{display:block;padding:8px 20px 20px;color:var(--muted);font-weight:800;line-height:1.7;margin-top:0}
.service-final{padding-top:72px;padding-bottom:112px}
.service-final__box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:34px;border:1.5px solid rgba(0,140,150,.22);border-radius:28px;background:linear-gradient(135deg,#fff,rgba(223,245,241,.68));box-shadow:0 28px 78px -62px rgba(16,35,40,.78)}
.service-final__box h2{font-size:clamp(28px,3.4vw,42px)}
.service-final__box p{margin:14px 0 0;color:var(--muted);font-weight:800}
.service-final__actions{display:grid;gap:10px;min-width:230px}
.service-principle{padding-top:0}
.principle-box{display:grid;gap:24px;align-items:start;padding:30px;border:1.5px solid rgba(0,140,150,.18);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(223,245,241,.58))}
.principle-box p{margin:14px 0 0;color:var(--muted);font-weight:800}
.principle-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.principle-list article{position:relative;min-width:0;padding:20px;border:1.5px solid rgba(0,140,150,.16);border-radius:16px;background:#fff}
.principle-list article::before{content:"";display:block;width:34px;height:4px;margin-bottom:14px;border-radius:999px;background:var(--water)}
.principle-list strong{display:block;font-family:var(--head);font-size:18px;line-height:1.45}
.principle-list span{display:block;margin-top:6px;color:var(--muted);font-size:13px;font-weight:800;line-height:1.7}
.contact-hero{padding:48px 0 24px}
.contact-hero p{max-width:720px}
.line-note{margin-top:18px!important}
.line-note a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 14px;border-radius:999px;background:var(--green);color:#fff;font-weight:900;line-height:1.2}
.contact-section{padding-top:44px}
.section-head.compact{max-width:820px;margin:0 auto 20px}
.contact-alert,.contact-emergency{max-width:820px;margin:0 auto 16px;padding:16px 18px;border-radius:16px;border:1.5px solid var(--line);background:#fff;box-shadow:0 18px 54px -48px rgba(16,35,40,.58)}
.contact-alert strong,.contact-emergency strong{display:block;font-family:var(--head);font-size:18px;line-height:1.45}
.contact-alert span,.contact-emergency span{display:block;margin-top:4px;color:var(--muted);font-weight:800;line-height:1.75}
.contact-alert ul{margin:8px 0 0;padding-left:1.2em;color:var(--muted);font-weight:800}
.contact-alert--success{border-color:rgba(6,199,85,.28);background:rgba(223,245,241,.72)}
.contact-alert--error{border-color:rgba(200,68,60,.3);background:rgba(200,68,60,.06)}
.contact-alert--sales{border-color:rgba(0,140,150,.18);background:rgba(223,245,241,.38)}
.contact-emergency{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;border-color:rgba(200,68,60,.22)}
.contact-emergency a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border-radius:999px;background:var(--red);color:#fff;font-family:var(--num);font-weight:900;line-height:1.1}
.contact-emergency span{grid-column:1/-1}
.contact-form{max-width:820px;margin:0 auto;display:grid;gap:16px;padding:28px;border:1.5px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 24px 70px -62px rgba(16,35,40,.72)}
.contact-form label{display:grid;gap:8px;font-weight:900}
.contact-hp-field{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.field-label{display:flex;align-items:center;justify-content:space-between;gap:12px}
.form-badge{display:inline-grid;place-items:center;min-width:40px;padding:3px 8px;border-radius:999px;font-size:12px;font-style:normal;font-weight:900;line-height:1.3}
.form-badge.required{background:rgba(200,68,60,.1);color:var(--red)}
.form-badge.optional{background:rgba(16,35,40,.08);color:var(--muted)}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:52px;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;font:inherit;font-size:16px;color:var(--ink)}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form input[type="file"]{padding:12px;background:rgba(223,245,241,.35);cursor:pointer}
.file-hint{color:var(--muted);font-size:13px;font-weight:800;line-height:1.7}
.contact-form button{border:0;cursor:pointer}
.privacy-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;padding:14px;border:1.5px solid rgba(0,140,150,.18);border-radius:14px;background:rgba(223,245,241,.46)}
.privacy-check input{width:20px!important;min-height:20px!important;margin-top:4px;accent-color:var(--water)}
.privacy-check span{font-weight:900;line-height:1.7}
.privacy-check a{color:var(--water);text-decoration:underline;text-underline-offset:3px}
.contact-line-section{padding-top:58px}
.line-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:28px;border:1.5px solid rgba(0,140,150,.18);border-radius:18px;background:#fff}
.line-panel h2{font-size:clamp(26px,3vw,38px)}
.line-panel p{margin:12px 0 0;color:var(--muted);font-weight:800;line-height:1.8}
.privacy-body{max-width:860px;margin:0 auto;padding:30px;border:1.5px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 24px 70px -62px rgba(16,35,40,.72)}
.privacy-body h2{font-size:26px;margin-top:34px}
.privacy-body h2:first-of-type{margin-top:0}
.privacy-body p{color:#35474c;font-weight:800;line-height:1.9}
.privacy-body a{color:var(--water);font-weight:900;text-decoration:underline;text-underline-offset:3px}
.privacy-notice{padding:16px;border:1.5px solid rgba(200,68,60,.24);border-radius:14px;background:rgba(200,68,60,.06);color:var(--red)!important}
.faq details{padding:20px;border-radius:18px;background:#fff;border:1.5px solid var(--line)}
.faq details+details{margin-top:12px}
.faq summary{cursor:pointer;font-family:var(--head);font-weight:900}
.faq p{color:var(--muted);font-weight:700}
.article-photo{height:150px;margin:-24px -24px 18px;border-radius:22px 22px 0 0;background:linear-gradient(135deg,#eff7f6,#fff);border-bottom:1px solid var(--line)}
.article-photo.repair{background:url("assets/work-leak-repair-real-02.webp") center/cover no-repeat}
.article-photo.toilet{background:url("assets/toilet-renovation-real-02.webp") center/cover no-repeat}
.article-photo.plumbing{background:url("assets/work-plumbing-tools-real-02.webp") center/cover no-repeat}
.article-list .card h3{font-size:19px;line-height:1.5}
.article-list .card p{font-size:14px;line-height:1.8}
.article-hero-photo{max-width:760px;height:300px;margin:0 auto 28px;border-radius:22px;box-shadow:var(--shadow);overflow:hidden;background:linear-gradient(135deg,#eff7f6,#fff)}
.article-hero-photo.repair{background:url("assets/work-leak-repair-real-02.webp") center/cover no-repeat}
.article-hero-photo.toilet{background:url("assets/toilet-renovation-real-02.webp") center/cover no-repeat}
.article-hero-photo.plumbing{background:url("assets/work-plumbing-tools-real-02.webp") center/cover no-repeat}
.article-body{max-width:760px;margin-inline:auto}
.article-body h2{font-size:clamp(24px,2.4vw,30px);margin-top:38px}
.article-body p{color:#35474c;font-weight:700;line-height:2}
.article-author{margin:0 0 34px;padding:18px 20px;border:1.5px solid rgba(0,140,150,.18);border-radius:16px;background:#fff}
.article-author span{display:block;color:var(--water);font-size:12px;font-weight:900;letter-spacing:.1em}
.article-author strong{display:block;margin-top:4px;font-family:var(--head);font-size:22px}
.article-author p{margin:8px 0 0;color:var(--muted);font-size:14px;font-weight:800;line-height:1.8}
.article-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;margin-top:48px;padding:26px;border-radius:20px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}
.article-cta h2{font-size:clamp(24px,3vw,34px)}
.article-cta p{margin:10px 0 0;color:rgba(255,255,255,.78);font-weight:800}
.article-cta__actions{display:grid;gap:10px;min-width:230px}
.article-cta .btn-outline{background:#fff;color:var(--water);border:0}
.work-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.work-gallery figure{margin:0;min-width:0;border-radius:18px;overflow:hidden;border:1.5px solid var(--line);background:#fff}
.work-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.center-action{display:flex;justify-content:center;text-align:center;margin:26px 0 0}
.center-action .btn{margin-inline:auto}
.promise-grid .card{border-radius:18px}
.home-about{grid-template-columns:minmax(0,.94fr) minmax(360px,1.06fr);align-items:center}
.home-about__copy{min-width:0}
.home-about__visual{position:relative;margin:0;min-width:0;overflow:hidden;border-radius:26px;box-shadow:0 34px 86px -58px rgba(16,35,40,.82);background:var(--navy)}
.home-about__visual::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,35,40,0),rgba(16,35,40,.22));pointer-events:none}
.home-about__visual::after{content:"";position:absolute;inset:16px;z-index:2;border:1.5px solid rgba(255,255,255,.34);border-radius:20px;pointer-events:none}
.home-about__visual img{width:100%;aspect-ratio:4/5;object-fit:cover}
.home-about__visual figcaption,.representative-photo figcaption{position:absolute;left:22px;bottom:22px;z-index:3;display:inline-flex;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.92);color:var(--navy);font-weight:900;line-height:1.4;box-shadow:0 14px 34px -28px rgba(16,35,40,.8)}
.about-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:start}
.about-story p{margin:0;color:#35474c;font-weight:800;line-height:2}
.about-story p+p{margin-top:18px}
.representative-section{grid-template-columns:320px minmax(0,1fr);max-width:980px}
.representative-card{display:grid;gap:12px}
.representative-card p{margin:0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.7}
.representative-photo{position:relative;display:block;margin:0;min-height:420px;border-radius:24px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.representative-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,35,40,0),rgba(16,35,40,.28));pointer-events:none}
.representative-photo img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
.assurance-list{display:grid;gap:14px}
.assurance-list article{display:grid;gap:6px;padding:20px;border:1.5px solid rgba(0,140,150,.18);border-radius:16px;background:#fff}
.assurance-list strong{font-family:var(--head);font-size:20px;color:var(--water)}
.assurance-list span{color:var(--muted);font-weight:800}
.common-cta{position:relative;padding:82px 0 112px;background:linear-gradient(rgba(12,27,33,.88),rgba(12,27,33,.9)),url("assets/work-plumbing-tools-real-02.webp") center/cover no-repeat;color:#fff;text-align:center}
.common-cta__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center;justify-items:center}
.common-cta h2{font-size:clamp(26px,3vw,38px);line-height:1.38}
.common-cta p{max-width:740px;margin:14px auto 0;color:rgba(255,255,255,.82);font-weight:800;line-height:1.85}
.common-cta__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:840px}
.common-cta__actions .btn{width:100%;min-height:66px}
.common-cta .btn-dark{background:var(--water);color:#fff;box-shadow:0 18px 36px -26px rgba(0,140,150,.9)}
.common-cta .btn-light{background:rgba(255,255,255,.96);color:var(--red)}
.footer{padding:54px 0 90px;background:var(--navy);color:#fff}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}
.footer a{display:block;color:rgba(255,255,255,.78);font-weight:700;margin-top:8px}
.footer-brand small{color:rgba(255,255,255,.68);letter-spacing:.08em}
.footer-note{display:block;margin-top:10px;color:rgba(255,255,255,.56);font-size:11px;font-weight:800;line-height:1.7}
.sticky-cta{position:fixed;right:18px;bottom:18px;z-index:100;width:250px;display:grid;grid-template-columns:1fr;gap:8px;padding:8px;border:1.5px solid rgba(255,255,255,.28);border-radius:20px;background:rgba(12,27,33,.88);box-shadow:0 20px 60px -34px rgba(0,0,0,.75);backdrop-filter:blur(16px)}
.sticky-cta a{min-width:0;min-height:62px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;color:#fff;font-weight:900;text-align:center;line-height:1.35}
.sticky-cta .line-icon{width:32px;height:32px;flex:0 0 32px}
.sticky-cta .phone-icon{display:inline-grid;place-items:center;width:32px;height:32px;flex:0 0 32px;background:rgba(255,255,255,.16);color:#fff}
.sticky-cta .phone-icon svg{width:20px;height:20px}
.sticky-cta small{display:block;font-size:11px;opacity:.84;line-height:1.2}
.sticky-line{background:var(--green)}
.sticky-form{background:var(--water);box-shadow:0 14px 30px -22px rgba(0,140,150,.95)}
.sticky-cta .sticky-tel{display:none;background:var(--red);border:1.5px solid rgba(255,255,255,.24);box-shadow:0 14px 28px -22px rgba(200,68,60,.95)}
@media (max-width:980px){
  .site-header__inner{position:relative}
  .nav-toggle{display:block;position:absolute;opacity:0;pointer-events:none}
  .nav-toggle-label{order:3;display:grid;gap:5px;place-content:center;width:46px;height:46px;margin-left:auto;border:1.5px solid var(--line);border-radius:12px;background:#fff}
  .nav-toggle-label span{display:block;width:22px;height:2px;border-radius:999px;background:var(--navy)}
  .nav{order:5;display:none;width:100%;grid-template-columns:1fr;gap:8px;padding:12px 0 4px;border-top:1px solid var(--line)}
  .nav-toggle:checked ~ .nav{display:grid}
  .nav>a,.nav-drop>a{justify-content:flex-start;border-radius:12px;background:var(--paper2)}
  .nav-drop__menu{position:static;display:grid;min-width:0;margin-top:8px;opacity:1;visibility:visible;transform:none;box-shadow:none}
  .hero-inner,.two-col,.service-detail,.principle-box,.about-story,.common-cta__inner,.area-box{grid-template-columns:1fr}
  .home-about{grid-template-columns:1fr}
  .hero-inner{min-height:auto}
  .trust-board,.bento,.cards-3,.cards-4,.footer-grid,.contact-choice,.service-cross__grid,.service-guide,.symptom-grid,.assurance-grid,.principle-list,.work-gallery,.area-grid{grid-template-columns:1fr 1fr}
  .price-formula{grid-template-columns:1fr;gap:8px}
  .price-formula b{min-height:24px;font-size:22px}
  .service-final__box,.line-panel{grid-template-columns:1fr}
  .service-final__actions{display:flex;flex-wrap:wrap;min-width:0}
  .common-cta__actions{grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%}
}
@media (max-width:640px){
  :root{--header-h:72px}
  .admin-bar .site-header{top:46px}
  .container{width:100%;max-width:none;padding-inline:16px}
  .site-header__inner{height:auto;min-height:72px;align-items:center;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
  .nav>a,.nav-drop>a{white-space:normal;min-height:42px;padding:9px 12px;font-size:14px}
  .header-cta{display:none}
  .sp-only{display:block}
  .brand strong{font-size:20px}
  .hero{padding:72px 0 92px;background-position:62% center}
  .hero::before{background:linear-gradient(90deg,rgba(246,244,239,.96),rgba(246,244,239,.78))}
  .hero-copy{width:100%;max-width:100%;min-width:0;padding:0}
  .hero h1{font-size:34px;line-height:1.16}
  .h-pc{display:none}
  .h-sp{display:inline}
  h2,.section-head h2,.service-detail-body h2,.about-story h2,.representative-section h2{font-size:26px;line-height:1.46}
  .page-hero{padding:48px 0 42px}
  .page-hero h1{font-size:34px}
  .page-hero h1,.page-hero h2,.page-hero p,.hero h1,.lead,h2,.card h3,.card p,.section-head p,.symptom-card__body h3,.symptom-card__body p,.service-detail-body h2,.service-detail-body p,.about-story p,.line-panel p,.faq summary,.faq p{max-width:100%;overflow-wrap:anywhere;word-break:normal;line-break:strict}
  .actions{display:grid}
  .actions .btn{width:100%}
  .flow-line{bottom:22%;height:160px}
  .flow-line svg{width:100%;transform:none}
  .cad-layer{opacity:.16}
  .trust-board,.bento,.cards-3,.cards-4,.cards-2,.footer-grid,.contact-choice,.service-cross__grid,.service-guide,.symptom-grid,.assurance-grid,.principle-list,.work-gallery,.area-grid{grid-template-columns:1fr}
  .home-about__visual{border-radius:20px}
  .home-about__visual img{aspect-ratio:4/5}
  .flow-timeline{grid-template-columns:1fr;gap:0;max-width:380px}
  .flow-timeline article{padding:0 0 28px}
  .flow-timeline article:not(:last-child)::after{top:76px;left:50%;width:2px;height:calc(100% - 74px);background:linear-gradient(180deg,var(--water),rgba(0,140,150,.18))}
  .flow-timeline p{max-width:100%}
  .principle-box{padding:22px}
  .symptom-card{grid-template-rows:150px 1fr}
  .symptom-photo{min-height:150px}
  .symptom-cta{display:grid;padding:20px}
  .symptom-cta .btn{width:100%}
  .metrics{grid-template-columns:1fr 1fr}
  .price-head{display:none}
  .price-row{grid-template-columns:1fr;gap:8px}
  .price-row strong{text-align:left}
  body{padding-bottom:86px}
  .sticky-cta{left:8px;right:8px;bottom:8px;width:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;border-radius:18px}
  .sticky-cta a{min-height:58px;font-size:14px}
  .sticky-cta small{font-size:10px}
  .sticky-cta .sticky-form{display:none}
  .sticky-cta .sticky-tel{display:flex;background:var(--water);box-shadow:0 14px 30px -22px rgba(0,140,150,.95)}
  .sticky-cta .sticky-tel .phone-icon{background:rgba(255,255,255,.16);color:#fff}
  .service-final__box{padding:24px}
  .service-final__actions{display:grid}
  .service-final__actions .btn{width:100%}
  .common-cta{padding:56px 0 86px}
  .common-cta__actions{display:grid;grid-template-columns:1fr}
  .common-cta__actions .btn{width:100%}
  .article-cta{grid-template-columns:1fr}
  .article-cta__actions{min-width:0}
  .contact-emergency{grid-template-columns:1fr}
  .contact-emergency a{width:100%}
  .contact-emergency span{grid-column:auto}
  .contact-form{padding:20px}
  .line-panel{padding:22px}
  .representative-photo{min-height:320px}
  .representative-photo img{min-height:0}
  .home-about__visual figcaption,.representative-photo figcaption{top:16px;bottom:auto;left:16px;font-size:13px}
  .work-filter{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
  .work-filter button{flex:0 0 auto}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
