:root{--navy:#17324d;--blue:#3a6d92;--orange:#e58b45;--ink:#253341;--muted:#586574;--soft:#f5f7f8;--line:#dce3e7;--width:1160px}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.85;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button{font:inherit}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy);line-height:1.5}h2{font-size:clamp(26px,3vw,36px);letter-spacing:.03em;margin-bottom:24px}h3{font-size:20px}p{margin-bottom:20px}.container{width:min(var(--width),calc(100% - 40px));margin-inline:auto}.section{padding-block:68px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--blue);margin-bottom:16px}.small,small{font-size:13px}.muted{color:var(--muted)}.soft{background:var(--soft)}:focus-visible{outline:3px solid #b65b16;outline-offset:5px}.skip-link{position:absolute;top:-100px;left:16px;z-index:20;padding:12px;background:var(--navy);color:#fff}.skip-link:focus{top:12px}.header-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:22px}.brand-name{display:block;font-size:25px;font-weight:750;line-height:1.5;letter-spacing:.06em;color:var(--navy)}.brand-name span,.brand-name small{display:block;font-size:11px;font-weight:500;letter-spacing:.07em}.brand-name small{font-size:10px;color:var(--muted);margin-top:3px}.custom-logo-link img{max-height:75px;width:auto}.header-phone{font-size:26px;font-weight:700;color:var(--navy);line-height:1.5;white-space:nowrap}.header-phone small{display:block;font-size:12px;letter-spacing:.08em;font-weight:400}.site-nav{border-top:1px solid var(--line)}.menu{list-style:none;margin:0;padding:0}.site-nav>.menu{display:flex;flex-wrap:wrap;justify-content:space-between}.site-nav a{display:block;padding:16px 12px;font-size:14px;font-weight:600}.site-nav li{position:relative}.sub-menu{list-style:none;padding-left:18px}.menu-toggle{background:#fff;border:1px solid var(--line);color:var(--navy);padding:10px 12px;font-size:13px;min-height:48px}.menu-toggle[hidden]{display:none}.hero{background:#f0f4f5;padding-top:32px}.hero-grid{display:grid;gap:35px}.hero-copy{padding-block:20px}.hero h1{font-size:clamp(32px,4vw,52px);line-height:1.6;letter-spacing:.035em;margin-bottom:18px}.hero h1 span{position:relative;box-shadow:inset 0 -.23em 0 #f3c8a4}.hero-lead{font-size:22px;line-height:1.7;color:var(--navy);font-weight:600}.hero-copy>p:not(.eyebrow):not(.hero-lead){color:var(--muted);font-size:14px}.button-row{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:28px}.button{background:var(--navy);color:white;display:inline-flex;gap:28px;align-items:center;padding:15px 23px;font-weight:600;min-height:54px}.button span{color:#fac99d}.text-link{display:inline-flex;gap:18px;font-size:14px;font-weight:700;align-items:center;min-height:48px}.photo-placeholder{position:relative;min-height:300px;background:#dce6e9;overflow:hidden;display:flex;align-items:flex-end;border-radius:3px}.photo-lines{position:absolute;inset:15% 12% 28%;border:1px solid #b0c3ca;border-bottom:6px solid #b0c3ca;transform:skewY(-6deg)}.photo-lines span{display:block;border-top:1px solid #b0c3ca;height:33%;margin-inline:14%}.photo-caption{position:relative;margin:24px;padding:18px 22px;background:#fffffff0;z-index:1;width:calc(100% - 48px)}.photo-caption .eyebrow{font-size:10px}.photo-caption p{font-size:23px;color:var(--navy);margin:4px 0}.photo-caption small{color:var(--muted);font-size:12px}.hero-note{display:flex;flex-wrap:wrap;gap:10px 22px;padding-block:26px;margin-top:26px;border-top:1px solid #d4dfe4;font-size:12px;color:var(--navy)}.hero-note span:before{content:'●';color:var(--orange);font-size:8px;vertical-align:middle;margin-right:10px}.section-heading{display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap;margin-bottom:24px}.section-heading>p{color:var(--muted);font-size:14px;align-self:end}.service-grid{display:grid;gap:16px}.service-card{border:1px solid var(--line);padding:26px 24px;display:flex;flex-direction:column;align-items:start;transition:border-color .15s}.service-card:hover{border-color:var(--blue);text-decoration:none}.service-number{font-size:12px;color:var(--blue);font-weight:700;border-bottom:2px solid var(--orange);margin-bottom:24px}.service-card h3{font-size:19px}.service-card p{color:var(--muted);font-size:14px}.card-link{font-size:13px;font-weight:600;margin-top:auto;width:100%;display:flex;justify-content:space-between;padding-top:14px}.reasons-grid,.area-grid,.news-grid,.contact-grid{display:grid;gap:35px}.reason{display:flex;gap:22px;border-bottom:1px solid var(--line);padding-block:22px}.reason:first-child{padding-top:0}.reason>span{font-size:13px;color:var(--blue);padding-top:3px}.reason h3{margin-bottom:8px}.reason p{font-size:14px;color:var(--muted);margin-bottom:0}.empty-state{border-block:1px solid var(--line);display:flex;gap:22px;align-items:center;padding:34px 12px}.empty-state h3{font-size:17px;margin:0 0 5px}.empty-state p{font-size:14px;color:var(--muted);margin:0}.empty-mark{font-size:32px;color:var(--blue);font-weight:300}.area-section{background:#edf2f5}.area-section p{font-size:14px}.company-box{padding:28px;background:white}.company-box h3{font-size:19px}.company-box dl{display:grid;grid-template-columns:84px 1fr;font-size:14px;gap:15px;margin:0 0 20px}.company-box dd{margin:0}.company-box dt{color:var(--muted)}.company-box .small{font-size:12px;margin-bottom:0}.news-list{border-block:1px solid var(--line);padding-block:25px}.news-list p{margin-bottom:8px}.contact-section{background:var(--navy);color:white}.contact-section h2,.contact-section .eyebrow{color:white}.contact-section .eyebrow{color:#f6b785}.contact-section p{font-size:14px}.contact-phone{align-self:center}.contact-phone>a{font-size:clamp(26px,4vw,39px);line-height:1.5;font-weight:700;display:block;letter-spacing:.03em;margin-bottom:12px}.contact-phone>a span{font-size:22px;color:#f6b785}.contact-phone small{color:#d6e1eb;line-height:1.8;display:block}.site-footer{padding-block:48px 22px}.footer-grid{display:grid;gap:30px}.footer-name{font-size:20px;font-weight:700;color:var(--navy)}.footer-grid p:not(.footer-name){font-size:13px}.footer-grid .menu{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;font-size:13px}.footer-grid .menu a{display:inline-block;padding-block:6px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:30px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted)}.footer-bottom small{font-size:10px}.mobile-phone{display:none}.reading-content{min-height:50vh;max-width:800px}.reading-content article{margin-bottom:40px}.reading-content a{text-decoration:underline}.reading-content .alignwide{max-width:100%}.reading-content iframe{max-width:100%}.desktop-only{display:none}
@media(min-width:600px){.container{width:min(var(--width),calc(100% - 64px))}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}.photo-placeholder{min-height:380px}}
@media(min-width:960px){.section{padding-block:88px}.hero{padding-top:40px}.hero-grid{grid-template-columns:1.08fr 1fr;gap:50px}.photo-placeholder{min-height:490px}.hero-copy{padding-block:35px}.hero-note{margin-top:40px}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.section-heading{margin-bottom:35px}.reasons-grid{grid-template-columns:1fr 1.15fr;gap:90px}.area-grid{grid-template-columns:1fr 1fr;gap:90px}.news-grid{grid-template-columns:1fr 2fr}.contact-grid{grid-template-columns:1.1fr 1fr;gap:60px}.menu-toggle{display:none}.sub-menu{display:none;position:absolute;background:white;min-width:200px;z-index:10;padding:8px;border:1px solid var(--line)}.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu{display:block}.desktop-only{display:block}}
@media(max-width:959px){.header-phone{display:none}.site-nav>.menu{justify-content:start}.site-nav.is-enhanced{display:none}.site-nav.is-open{display:block}.site-nav.is-enhanced>.menu{display:grid;grid-template-columns:1fr 1fr;padding-block:10px}.site-nav a{padding:12px}.mobile-phone{display:flex;justify-content:center;align-items:center;gap:14px;position:fixed;bottom:0;inset-inline:0;z-index:15;background:var(--navy);color:white;border-top:3px solid var(--orange);padding:12px 10px calc(12px + env(safe-area-inset-bottom));min-height:62px}.mobile-phone span{font-size:12px}.mobile-phone strong{font-size:21px;white-space:nowrap}body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Standard blocks used by the editable Home page. */
.block-home-hero{padding-block:36px}.home-hero-columns{align-items:center!important;gap:36px}.block-home-hero .wp-block-image img{display:block;width:100%;height:auto;border-radius:8px}.home-service-columns{gap:18px}.home-service-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;height:100%}.home-service-card .wp-block-image{margin:0}.home-service-card .wp-block-image img{display:block;width:100%;aspect-ratio:1.8;object-fit:cover}.home-service-card h3{font-size:19px}.home-service-card p{font-size:14px}.home-reason{padding:24px;background:#fff;border:1px solid #ece5dc;border-radius:7px;height:100%}.home-reason h3{font-size:18px}.home-reason p{font-size:14px}.home-empty-state{background:var(--soft);border:1px solid var(--line);padding:30px;border-radius:7px}.home-contact-box{background:#fff;border:1px solid #eddfce;padding:25px;border-radius:9px}.home-contact-number{font-size:32px;font-weight:700;color:var(--orange)}.wp-block-buttons .wp-block-button__link{background:var(--orange);color:white;border-radius:32px;font-weight:600}.block-home-hero .wp-block-columns{margin-bottom:0}
@media(min-width:782px) and (max-width:959px){.home-service-columns{flex-wrap:wrap!important}.home-service-columns>.wp-block-column{flex-basis:calc(50% - 18px)!important;flex-grow:0}}
/* Selected technician logo; leave room for the mobile menu button. */
.header-phone{color:#06294d;text-align:center;line-height:1.2}.header-phone-main{display:flex;align-items:center;justify-content:center;gap:8px}.header-phone-icon{display:block;flex:none;width:28px;height:28px;transform:rotate(-12deg)}.header-phone-number{font-family:"Bahnschrift Condensed","Arial Narrow",Impact,sans-serif;font-stretch:condensed;font-size:32px;font-weight:700;letter-spacing:.015em;font-variant-numeric:lining-nums tabular-nums}.header-phone small{margin-top:6px;font-size:11px;font-weight:600;letter-spacing:.02em}.header-phone:hover{text-decoration:none;color:var(--orange)}
.brand{min-width:0;flex:0 1 390px}.brand-logo-link{display:block;line-height:0}.brand-logo{display:block;width:100%;height:auto}.menu-toggle{flex-shrink:0}
@media(max-width:599px){.header-top{gap:12px;padding-block:12px}.brand{flex-basis:290px}}

/* A warmer, local-store direction. Photos remain editable in the Customizer. */
:root{--orange:#d9580a;--warm:#fbf6ee}
.brand-name{letter-spacing:.09em}.site-header{background:white}.site-nav a:hover{color:#b94708}.site-nav>.menu>li:last-child>a{color:#b94708}.hero{background:linear-gradient(120deg,#edf6fa 0%,#f6fafb 48%,#f8f1e6 100%);padding-top:24px}.hero-copy>.eyebrow{color:#b94708;font-size:14px;letter-spacing:.12em}.hero-store{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,3.7vw,49px);font-weight:700;color:var(--navy);margin-bottom:20px;letter-spacing:.06em}.hero h1{font-size:clamp(28px,3.1vw,42px);line-height:1.65;margin-bottom:15px}.hero-lead{font-size:17px}.hero h1 span{box-shadow:inset 0 -.24em 0 #f9d5b5}.button{background:var(--orange);border:2px solid var(--orange);border-radius:32px;color:#fff;gap:18px;padding:12px 22px;box-shadow:0 5px 15px #a84b0e14}.button span{color:inherit}.button:hover{background:#b94708;border-color:#b94708;text-decoration:none}.button-outline{color:var(--navy);border-color:var(--navy);background:#fff;box-shadow:none}.button-outline:hover{background:var(--navy);border-color:var(--navy);color:white}.button-row{gap:12px}.hero-note{border-color:#cddce2}.hero-note span:before{color:var(--orange)}
.hero-visual{position:relative;min-height:360px;border-radius:8px;overflow:hidden;background:#dbeaf0;isolation:isolate}.hero-photo{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.town-illustration{position:absolute;inset:0;background:linear-gradient(#c8e3f1,#f5fbfd 65%);overflow:hidden}.sun{position:absolute;top:30px;right:44px;width:65px;height:65px;border-radius:50%;background:#f9d595;box-shadow:0 0 0 20px #fff4db55}.mountain{position:absolute;width:90%;height:220px;clip-path:polygon(0 100%,5% 60%,30% 18%,43% 40%,62% 0,100% 100%);background:#b5cdd4;bottom:90px;left:-10%}.mountain-front{background:#8faeac;left:30%;bottom:55px;height:205px}.town-shop{position:absolute;width:53%;height:156px;bottom:64px;left:23%;background:#fbf7ee;border:2px solid #2f4b60;box-shadow:9px 9px 0 #29475616;z-index:2}.shop-sign{position:absolute;left:-8%;top:-35px;width:116%;height:42px;background:var(--navy);color:white;font-size:clamp(13px,1.7vw,21px);font-weight:700;text-align:center;line-height:42px;letter-spacing:.07em;border-radius:4px 4px 0 0}.shop-awning{position:absolute;top:6px;left:-7%;width:114%;height:30px;background:repeating-linear-gradient(90deg,#e69b62 0 24px,#fff3dd 24px 48px);border-bottom:3px solid #b56c3a;transform:skewX(-6deg)}.shop-window{position:absolute;left:8%;bottom:12%;width:46%;height:48%;border:5px solid #355568;background:linear-gradient(135deg,#aacbd3,#dceaf0 60%,#b5d4dc)}.shop-window:after{content:'';position:absolute;left:48%;height:100%;border-left:3px solid #355568}.shop-door{position:absolute;right:10%;bottom:0;width:27%;height:65%;border:5px solid #355568;background:#c1d9dc}.shop-door:after{content:'';position:absolute;right:3px;top:48%;width:4px;height:12px;background:#355568}.town-house{position:absolute;width:25%;height:95px;bottom:65px;background:#dcd4bf;border-top:7px solid #758e90;z-index:1}.town-house:before{content:'';position:absolute;top:-42px;left:-6%;width:112%;height:36px;background:#758e90;clip-path:polygon(50% 0,100% 100%,0 100%)}.house-left{left:-7%}.house-right{right:-6%;height:115px;background:#e9e2d4}.town-road{position:absolute;bottom:0;height:65px;background:#c3cfc9;inset-inline:0;border-top:9px solid #e7e2d4}.visual-message{position:absolute;right:18px;bottom:38px;z-index:3;background:#fffffff2;padding:15px 20px;transform:rotate(-3deg);border-radius:6px;box-shadow:0 6px 24px #17324d14;border-left:3px solid #e89b61}.visual-message>span{color:#a8450b;font-size:12px;font-weight:700}.visual-message p{font-size:16px;font-weight:600;line-height:1.7;color:var(--navy);margin:5px 0 0}.visual-notice{position:absolute;bottom:7px;inset-inline:8px;text-align:center;font-size:10px;background:#ffffffdf;color:#435665;z-index:4;padding:2px 5px;border-radius:3px}
.service-grid{gap:18px}.service-card{padding:0;border-radius:8px;overflow:hidden;box-shadow:0 3px 12px #17324d05}.service-body{padding:20px 22px;display:flex;flex-direction:column;flex:1;width:100%}.service-number{margin-bottom:10px}.service-card h3{margin-bottom:10px}.service-media{aspect-ratio:1.8;width:100%;position:relative;overflow:hidden;display:grid;place-items:center;background:#edf1f2}.service-media img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.service-media small{position:absolute;right:9px;bottom:6px;font-size:10px;color:#4b606c;background:#ffffffd9;padding:0 5px;border-radius:2px}.service-media-01{background:#f0e9df}.service-media-02{background:#e4edf0}.service-media-03{background:#e6eeec}.service-media-04{background:#f7ecd9}.appliance{position:relative;border:3px solid #607887;border-radius:5px;background:#fafbfb;box-shadow:7px 8px 0 #17324d0a}.appliance-01{width:60px;height:91px}.appliance-01:before{content:'';position:absolute;inset:28% 0 auto;border-top:3px solid #607887}.appliance-01 span,.appliance-01 i{position:absolute;left:8px;top:10px;height:10px;border-left:3px solid #607887}.appliance-01 i{top:43px;height:19px}.appliance-02{width:85px;height:90px}.appliance-02:before{content:'';position:absolute;top:21px;left:13px;width:48px;height:48px;border:5px solid #607887;border-radius:50%;background:#bdd7de;box-shadow:inset 7px -6px 0 #dfedf0}.appliance-02:after{content:'';position:absolute;inset:15px 0 auto;border-top:2px solid #607887}.appliance-02 span{position:absolute;top:4px;left:9px;width:6px;height:6px;border-radius:50%;background:var(--orange)}.appliance-03{width:155px;height:58px;border-radius:9px}.appliance-03:after{content:'';position:absolute;bottom:9px;left:12px;right:12px;border-top:3px solid #607887}.appliance-03 span{position:absolute;top:9px;right:11px;width:7px;height:4px;background:#9cbb9b}.appliance-04{width:112px;height:28px;border-radius:50%;background:#fff8df;border-color:#ac9a79;box-shadow:0 12px 30px #e6bc6366}.appliance-04:before{content:'';position:absolute;left:36px;top:-17px;width:32px;height:14px;border:3px solid #ac9a79;border-bottom:0;border-radius:6px 6px 0 0}
.soft{background:var(--warm)}.reason{background:white;border:1px solid #ece5dc;border-radius:7px;padding:23px;gap:18px}.reason:first-child{padding-top:23px}.reason+.reason{margin-top:14px}.reason>span{color:#b94708;font-size:19px;font-weight:700}.empty-state{border:1px solid var(--line);border-radius:7px;background:var(--soft)}.company-box{border-radius:8px;border:1px solid #dde5e9}.area-section{background:linear-gradient(110deg,#eaf3f7,#f4f8f6)}.contact-section{background:var(--warm);color:var(--ink);border-top:1px solid #f0e4d6}.contact-section h2{color:var(--navy)}.contact-section .eyebrow{color:#ad480d}.contact-phone{background:white;border:1px solid #eddfce;border-radius:9px;padding:25px}.contact-phone>a{color:#b94708;font-size:clamp(25px,3.4vw,38px)}.contact-phone>a span{color:#b94708}.contact-phone small{color:var(--muted)}.site-footer{background:var(--navy);color:#eef4f9}.footer-name{color:#fff}.footer-grid .menu a{color:#eef4f9}.footer-bottom{border-color:#ffffff30;color:#cedce6}.mobile-phone{background:#b94708;border-color:#f2b17c}
@media(min-width:960px){.hero-grid{grid-template-columns:1.1fr 1fr;gap:36px}.hero-copy{padding-block:30px}.hero-visual{min-height:490px}.town-shop{bottom:98px;height:190px}.town-road{height:99px}.town-house{bottom:99px}.mountain{bottom:130px;height:260px}.mountain-front{bottom:100px;height:240px}.visual-message{bottom:43px;right:24px}.reasons-grid{grid-template-columns:1fr;gap:15px}.reasons-grid>div:first-child{text-align:center}.reasons-grid>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.reason+.reason{margin:0}.reason h3{font-size:18px}.section:has(.reasons-grid){padding-block:65px}.hero-note{margin-top:20px}}
@media(max-width:599px){.hero-store{font-size:29px}.hero h1{font-size:29px}.hero-grid{gap:15px}.hero-visual{min-height:305px}.button-row{align-items:stretch}.button{font-size:14px;justify-content:space-between;flex:1 1 180px}.hero-note{gap:8px 15px;margin-top:22px}.section{padding-block:52px}.hero-copy{padding-top:10px}.service-media{aspect-ratio:2.3}.service-body{padding:20px}.service-card h3{font-size:21px}.contact-phone{padding:20px}.contact-grid{gap:12px}.contact-phone>a{font-size:25px}.reason{padding:20px}.visual-message p{font-size:14px}}
