/* Cool blue palette across the site; red/yellow retained for urgent contact. */
:root{--g:#225c8d;--deep:#164b7c;--orange:#367bc1;--cream:#f2f7fc;--ink:#26455f;--muted:#657f94;--line:#d9e5ef}body{background:#f8fbff;color:#29465e}.site-header{border-bottom-color:#dce8f3!important}.site-header .site-header-brand>span{color:#6c859b}.site-header .site-header-nav>a{color:#345a78;border-color:#dce7f1}.site-header .site-header-nav>a:hover,.site-header .site-header-nav>a[aria-current="page"]{background:#edf5fe;color:#2472b6}.hero{background-image:linear-gradient(#e7f2ffa8,#e7f2ffa8),url('assets/home-background.webp')}.hero .hero-grid{background:linear-gradient(125deg,#216eb3,#378ed0);box-shadow:0 -3px 30px #1e578e0a}.hero .tag{background:#edf7ff;color:#27699d;border-color:#d8edff}.hero .hero-small-title{color:#e1f1ff}.hero h1,.hero .hero-highlight{color:white;text-shadow:0 2px 0 #174f7b22}.hero .btn{background:#fff;color:#246bad;box-shadow:0 5px 0 #164d82}.hero-assurances span{background:linear-gradient(115deg,#f4fbff,#d4edff);border-color:#a8d3f2;border-bottom-color:#2269a4;color:#2b648c}.hero .mascot-stage:before{background:#d8f0ff49!important}.mascot-bubble{color:#315f8c!important;background:#fff!important;border-color:#d9ebff!important}.mascot-bubble strong{color:#2977b8!important;text-shadow:none!important}.mascot-label{background:#eef8ff!important;color:#315f81!important}.strip{background:#183f64;border-bottom-color:#57a3dd}.strip span{color:#fff}.eyebrow,.kicker{color:#4e8bbd}h2,h3{color:#2d5f88}.lead{color:#668198}.btn,.return{background:linear-gradient(115deg,#388bd0,#2469ae);color:#fff;box-shadow:0 4px 0 #20538a1a}#signs{background-image:linear-gradient(180deg,#f0f7ffdf,#edf6ffc9,#f2f8ffe6),url('assets/garden-background.webp');border-color:#dce7ee}#signs h2{color:#2a5c85}#signs .eyebrow{color:#4d87b7}#signs .lead{color:#55748d}.card{border-color:#dce7f0;box-shadow:0 5px 18px #24548608}#animals,.soft{background:#edf5fc}.animal-grid .card:nth-child(2n){border-color:#d0e1ef}.animal-grid .card:last-child{background:#e1effc}.animal-price strong,.animal-price strong span,.price-value,.price-value span{color:#1f5d9c!important}.price-info{background:#f6faff;border-color:#c9def0;color:#315b7c}.price-info strong{color:#2d638d}.note{color:#6b8295}#service{background-image:linear-gradient(#f5faffed,#f1f7ffe6),url('assets/home-background.webp');background-size:cover}#service .service h3{color:#2a5f8c}.service{border-color:#dce7ef}.service .number,.service:nth-child(2) .number,.service:nth-child(4) .number{color:#7eafd4}.service p{color:#6a8398}.service-mascot figcaption{color:#5586ab}.other-home-services{background:#eaf4ff;border-color:#c7def3;color:#5b7b97}.other-home-services strong{color:#2d6390}.other-home-services a{color:#347fba}#promise{background:#edf5fc}.warranty-banner{background:linear-gradient(120deg,#f3faff,#d7eafd);border-color:#a1c9eb}.warranty-copy h3,.warranty-copy h3 span,.warranty-kicker,.warranty-lead{color:#2c6597}.warranty-terms{color:#617e98}.warranty-seal{background:linear-gradient(#428dcb,#245d96);color:white;border-color:#d5edff}.warranty-seal strong,.warranty-seal span{color:white}.warranty-spark{color:#78abd3}#flow{background:#f8fbff}.step{border-top-color:#85b6dc}.step:nth-child(even){border-top-color:#4b8dc2}.step small{color:#3b81b6}.step p{color:#657f96}#area{background-image:linear-gradient(#eef7ffed,#e9f3ffe6),url('assets/garden-background.webp');background-size:cover}.area-box>div,.area-box>div:nth-child(even){border-color:#cfe0ed;border-top-color:#5e9ed0;box-shadow:0 6px 18px #24548608}.area-box strong,.area-main strong{color:#2a6392}.area-box span,.area-box small{color:#6e87a0}.area-main{background:#f4faff!important}.map-city-buttons button{background:#edf5fd;color:#386889;border-color:#c8dded}.map-city-buttons button[aria-pressed="true"]{background:#2c79b9;color:#fff;border-color:#2c79b9}.real-map-heading strong,.map-current,.map-open-link{color:#366d98}.coverage-map iframe{border-color:#c3daeb}.coverage-map figcaption{color:#6d8395}#faq{background:#f6faff}#faq summary,#faq summary:after{color:#37698f}#faq details{border-color:#d4e3ef;background:#fff}.story-links{background:#edf5fd}.story-grid>a{background:#fff;border-color:#d2e2f0;box-shadow:0 5px 0 #dcebf8}.story-grid strong{color:#2d638f}.story-grid small,.story-grid span{color:#6d94b6}.contact{background-image:linear-gradient(#eaf4ffed,#e4f0ffed),url('assets/home-background.webp');color:#315a7b}.contact h2{color:#2b6090}.contact p{color:#607f99}.contact .eyebrow{color:#5b94bf}.contact-box{background:#fff;border-color:#b9d4eb}.inquiry-form-box h3{color:#316c9d}.inquiry-form-box label{color:#3e6381}.inquiry-form-box label>span{background:#e4f1ff;color:#2b75b2}.inquiry-form-box input,.inquiry-form-box textarea,.inquiry-form-box select{background:#f8fbff;border-color:#cfdfea;color:#31536d}.inquiry-form-box input:focus,.inquiry-form-box textarea:focus,.inquiry-form-box select:focus{outline-color:#4c94cf}.inquiry-submit{background:linear-gradient(115deg,#3b8ed1,#266bb0)}.line-inquiry{background:#edf7f4;border-color:#d2e8df}.gentle-phone{background:#eaf4ff;border-color:#cfe2f1}.gentle-phone p{color:#3c729d}.gentle-phone>span{color:#6c96b9}.gentle-phone>a,.cta .cta-phone-number{color:#b73132}.foot,footer{color:#6d8499}.foot strong{color:#2b608c}.foot a,footer a{color:#397aa9}a:focus-visible{outline-color:#4c94cf}
/* Secondary pages */
main .hero:not(:has(.hero-grid)){background:#e5f1fd;border-color:#fff}.hero>div>h1{color:#265f90;text-shadow:none}.hero>div>p{color:#65819b}.crumb{color:#7c96ab}.panel,.review-content{background:#fff;border-color:#d6e4ef;box-shadow:0 6px 20px #24548605}.intro h2,.case-head h3{color:#2d638f}.status{background:#e2f0fa;border-color:#c6dff1;color:#4b7b9f}.tag{color:#5a8fba}.info>div{background:#eef6fd;color:#54748f}.info strong{color:#4785b4}.case-description{color:#617d94}.link{color:#337eb7;border-color:#bddaf0}.cta{background:#e3f0fd;border-color:#fff}.cta h2{color:#2c6492}.cta .cta-phone-note{color:#5d8eb5}.related,.review-bottom a{color:#4b82ad}.review-hero{background:#e4f1fd}.review-hero h1{color:#2c6492}.review-hero p{color:#617f98}.sample-voice{background:#f8fbff;border-color:#d1e1ef}.sample-voice h3{color:#2e6590}.sample-voice p{color:#617a91}.voice-person strong{color:#3a6c94}.voice-person small{color:#8199ad}.voice-avatar{background:#d9ecff;color:#5f91bb}.voice-avatar.avatar-2{background:#dcecf3;color:#6292a6}.voice-avatar.avatar-3{background:#e4e9fb;color:#7c8fbd}.voice-promises>div{background:#e8f3fd}.voice-promises b{color:#9dbedc}.voice-promises strong{color:#396e99}.voice-promises p{color:#6f89a0}.review-mail{background:#dbeaff;color:#376b9c}.empty-review{background:#f1f7fe;border-color:#bed7eb}.empty-review h3{color:#42779e}.empty-review p,.review-note{color:#6c8499}.inquiry-form-box .inquiry-help{color:#6e8497}.foot{border-color:#d3e4f1}.review-content input,.review-content textarea,.review-content select{background:#f8fbff;border-color:#caddea;color:#31536d}.review-content button{background:#327dbb}.date{color:#7891a6}.return{background:#327dbb}.review-content h2{color:#2e6590}main>h1{color:#2e6590}main>p{color:#627f96}main>section h2{color:#316a99}address{background:#edf6ff}.contact-dock{background:#eef6ffed}
/* Clear channel colors in the floating contact banner. */
.contact-dock{background:#fffffff2;border:1px solid #dfe7ed;box-shadow:0 8px 30px #16365025,0 1px 0 #fff;padding:7px;gap:7px}.contact-dock .dock-mail{background:linear-gradient(135deg,#fff,#f6f8fb);color:#354b62;border:1px solid #dbe3eb;box-shadow:inset 0 1px 0 #fff}.contact-dock .dock-phone{background:linear-gradient(135deg,#e34238,#c72a2d);color:#fff;border:1px solid #c62d30;box-shadow:inset 0 1px 0 #ffffff35}.contact-dock a.dock-line{background:linear-gradient(135deg,#16b86a,#079c54);color:#fff;border:1px solid #089b54;box-shadow:inset 0 1px 0 #ffffff35}.contact-dock .dock-mail .dock-cute-icon{background:#eaf0f6;color:#4a6179;border:0}.contact-dock .dock-phone .dock-cute-icon{background:#ffffff25;color:#fff;border:1px solid #ffffff40}.contact-dock .dock-line .dock-cute-icon{background:#fff;color:#079b53;border:0}.contact-dock .line-cute-icon:after{background:#fff}.contact-dock strong{font-weight:800;letter-spacing:.03em}.contact-dock .dock-mail small{color:#738397;opacity:1}.contact-dock .dock-phone small,.contact-dock .dock-line small{color:#fff;opacity:.92}.contact-dock a:focus-visible{outline:3px solid #efba59;outline-offset:3px}.contact-dock a:hover{filter:brightness(1.04);box-shadow:0 4px 10px #19394e22}@media(max-width:600px){.contact-dock{padding:4px;gap:4px}.contact-dock strong{font-size:12px;letter-spacing:0}.contact-dock small{font-size:8px}}
/* Wide desktop contact rail, compact mobile contact rail. */
@media(min-width:801px){.contact-dock{left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;border:0;border-top:1px solid #e2e8ed;border-radius:0;background:#fff;box-shadow:0 -5px 25px #173c5b22;backdrop-filter:none;animation:none}.contact-dock>a{min-height:76px;border:0!important;border-radius:0;padding:10px 25px;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;justify-content:center;column-gap:15px;row-gap:2px}.contact-dock .dock-cute-icon{grid-column:1;grid-row:1/3;width:39px;height:36px;font-size:25px;border-radius:11px}.contact-dock strong{grid-column:2;grid-row:1;font-size:20px;text-align:left;line-height:1.4;letter-spacing:.04em;margin:0}.contact-dock small{grid-column:2;grid-row:2;font-size:11px;text-align:left;line-height:1.4}.contact-dock .line-cute-icon{font-size:29px!important;line-height:20px!important}.contact-dock a:hover{transform:none;filter:brightness(1.06)}body{padding-bottom:82px}}
@media(max-width:800px){.contact-dock{left:0;right:0;bottom:0;transform:none;translate:none;width:100%;max-width:none;grid-template-columns:1fr 1.18fr 1fr;gap:3px;padding:4px 5px calc(4px + env(safe-area-inset-bottom));border:0;border-top:1px solid #dfe7ed;border-radius:0;background:#fff;box-shadow:0 -3px 16px #173c5b1c;animation:none}.contact-dock>a{display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;justify-content:center;align-items:center;gap:3px;min-height:43px;height:auto;padding:5px 3px;border-radius:8px;border-width:1px}.contact-dock .dock-cute-icon{display:none}.contact-dock strong{font-size:12px;line-height:1.35;letter-spacing:0;margin:0;white-space:nowrap}.contact-dock small{display:block;flex:0 0 100%;font-size:8px;line-height:1.35;text-align:center;white-space:nowrap}.contact-dock a:hover{transform:none}body{padding-bottom:calc(59px + env(safe-area-inset-bottom))}}
/* Strong top-right call-to-action. */
.site-header-contact>a.site-header-phone{min-width:330px;min-height:100px;padding:14px 23px;gap:13px;background:linear-gradient(140deg,#ef4036 0%,#d42329 65%,#b91726 100%);border:2px solid #fff;border-radius:17px;box-shadow:0 0 0 2px #cf2a2d,0 6px 0 #9a1b23,0 10px 22px #a122242b!important}.site-header-contact .site-header-phone strong{font-size:34px;font-weight:1000;letter-spacing:.01em;line-height:1.25;color:#fff;text-shadow:0 2px 0 #a4222450}.site-header-contact .site-header-phone small{color:#fff;font-size:13px;font-weight:800;margin-bottom:3px;letter-spacing:.04em}.site-header-contact .site-header-phone>span:first-child{width:43px;height:43px;font-size:29px;background:#fff;color:#d7272b;border:0;box-shadow:0 2px 0 #8f1e2022}.site-header-contact .site-header-phone .phone-temporary{font-size:9px;font-weight:500;color:#ffe1df;margin:4px 0 0;letter-spacing:0}.site-header-contact>a.site-header-phone:hover{background:linear-gradient(140deg,#f65348,#dd3135);box-shadow:0 0 0 2px #cf2a2d,0 4px 0 #9a1b23,0 8px 18px #a1222420!important}
@media(min-width:601px) and (max-width:1000px){.site-header-contact>a.site-header-phone{min-width:270px;min-height:88px;padding:12px 17px;gap:9px}.site-header-contact .site-header-phone strong{font-size:28px}.site-header-contact .site-header-phone small{font-size:11px}.site-header-contact .site-header-phone>span:first-child{width:35px;height:35px;font-size:24px}}
@media(max-width:600px){.site-header-contact>a.site-header-phone{min-width:0;min-height:63px;padding:8px 9px;gap:5px;border-radius:11px;box-shadow:0 0 0 1px #cf2a2d,0 4px 0 #9a1b23!important}.site-header-contact .site-header-phone strong{font-size:19px;line-height:1.3;letter-spacing:0}.site-header-contact .site-header-phone small{font-size:9px;letter-spacing:0;margin-bottom:2px}.site-header-contact .site-header-phone>span:first-child{display:none}.site-header-contact .site-header-phone .phone-temporary{font-size:7px;margin-top:2px}.site-header .site-header-brand img{width:86px}.site-header-contact{gap:8px}.site-header .site-header-top{gap:7px}}
@media(max-width:360px){.site-header-contact .site-header-phone strong{font-size:16px}.site-header-contact>a.site-header-phone{padding:7px;min-height:57px}.site-header .site-header-brand img{width:72px}.site-header-contact{gap:6px}.contact-dock strong{font-size:11px}.contact-dock small{font-size:7px}}

/* Branded contact rail with a compact mobile signature. */
header.site-header{position:relative;top:auto}html{scroll-padding-top:20px}
.contact-dock{border-top:3px solid #3c87c4;background:linear-gradient(110deg,#fff,#e9f4ff);isolation:isolate}
.contact-dock>.dock-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;min-height:0;padding:0 10px;border:0;border-radius:0;box-shadow:none;background:transparent;color:#35678e}
.contact-dock .dock-brand img{display:block;width:160px;height:55px;object-fit:contain}
.contact-dock .dock-brand>span{font-size:9px;font-weight:700;line-height:1.3;white-space:nowrap}
@media(min-width:801px){.contact-dock{grid-template-columns:minmax(180px,.72fr) repeat(3,minmax(0,1fr));gap:8px;padding:6px 12px}.contact-dock>a{min-height:64px;padding:7px 15px;border-radius:13px;border:1px solid #ffffff70!important;box-shadow:0 3px 8px #183b5b13}.contact-dock .dock-mail{border-color:#cbdce9!important}.contact-dock strong{font-size:19px}body{padding-bottom:85px}}
@media(max-width:800px){.contact-dock{grid-template-columns:47px 1fr 1.16fr 1fr;gap:4px;padding:4px 5px calc(4px + env(safe-area-inset-bottom))}.contact-dock>.dock-brand{padding:0}.contact-dock .dock-brand img{width:47px;height:39px}.contact-dock .dock-brand>span{display:none}.contact-dock>a{min-height:43px;padding:4px 2px;box-shadow:0 2px 4px #193c5910}.contact-dock strong{font-size:11px}.contact-dock small{font-size:7px}body{padding-bottom:calc(61px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.contact-dock{grid-template-columns:38px 1fr 1.16fr 1fr;gap:3px}.contact-dock .dock-brand img{width:38px;height:35px}.contact-dock strong{font-size:10px}.contact-dock small{font-size:6.5px}}

/* Keep navigation available while the masthead scrolls away. */
.site-header.menu-only{position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 3px 14px #173c5b18}.site-header .site-header-nav{grid-template-columns:repeat(6,minmax(0,1fr))}html{scroll-padding-top:70px}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Warm gold warranty accent against the blue page. */
.warranty-banner{background:linear-gradient(120deg,#fffaf0,#f7e5ac 58%,#ecd083);border:2px solid #c4a14b;box-shadow:0 7px 22px #9d792126,inset 0 1px 0 #fff}.warranty-copy h3,.warranty-copy h3 span,.warranty-kicker,.warranty-lead{color:#725011}.warranty-seal{background:linear-gradient(145deg,#f9e8a4,#b18326);border-color:#fff2b9;box-shadow:0 4px 12px #9a741e30}.warranty-seal strong,.warranty-seal span{color:#fffdf2;text-shadow:0 1px 2px #775416}.warranty-terms{color:#776845}
.gentle-phone{background:linear-gradient(110deg,#eaf5ff,#d7eaff);border:2px solid #4e91cb;box-shadow:0 5px 16px #28639718}.gentle-phone strong{font-size:clamp(19px,2vw,26px);color:#17598f;font-weight:900}.gentle-phone a{background:linear-gradient(130deg,#ee453c,#c52630);color:white!important;padding:12px 24px;border-radius:12px;box-shadow:0 4px 0 #a52028;font-weight:900}.contact-dock .dock-brand>span{background:#236ca6;color:#fff;border-radius:20px;padding:3px 9px;font-size:10px}.story-grid>a{min-width:0}
@media(max-width:600px){.site-header .site-header-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header .site-header-nav>a{font-size:10px}.story-grid{grid-template-columns:1fr}html{scroll-padding-top:90px}.gentle-phone a{padding:10px 16px}.contact-dock .dock-brand>span{display:none}}

.gentle-phone p{font-size:clamp(19px,2vw,26px);color:#17598f;font-weight:900}

/* A prominent brand beside one compact group of contact channels. */
.contact-dock>.dock-actions{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:7px;min-width:0;min-height:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.contact-dock .dock-actions>a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:2px;text-decoration:none;border-radius:12px;padding:8px 7px;line-height:1.3}
.contact-dock .dock-actions .dock-cute-icon{display:none}.contact-dock .dock-actions strong{margin:0;text-align:center;grid-column:auto;grid-row:auto;white-space:nowrap}.contact-dock .dock-actions small{grid-column:auto;grid-row:auto;text-align:center;white-space:nowrap}
@media(min-width:801px){.contact-dock{grid-template-columns:minmax(260px,1fr) minmax(600px,1.8fr);gap:20px;padding:5px 3%}.contact-dock .dock-brand img{width:245px;height:69px}.contact-dock .dock-brand>span{font-size:10px;padding:2px 13px}.contact-dock>.dock-actions{width:100%;max-width:950px;justify-self:end;gap:8px;padding:6px;background:#dcecf9;border-radius:17px}.contact-dock .dock-actions>a{min-height:57px}.contact-dock .dock-actions strong{font-size:18px}.contact-dock .dock-actions small{font-size:10px}body{padding-bottom:100px}}
@media(max-width:800px){.contact-dock{grid-template-columns:86px minmax(0,1fr);gap:5px;padding:4px 5px calc(4px + env(safe-area-inset-bottom))}.contact-dock .dock-brand img{width:86px;height:47px}.contact-dock>.dock-actions{gap:3px}.contact-dock .dock-actions>a{min-height:43px;padding:5px 2px;border-radius:8px}.contact-dock .dock-actions strong{font-size:10px;letter-spacing:0}.contact-dock .dock-actions small{font-size:6.5px}body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.contact-dock{grid-template-columns:72px minmax(0,1fr)}.contact-dock .dock-brand img{width:72px;height:45px}.contact-dock .dock-actions strong{font-size:9px}.contact-dock .dock-actions small{font-size:6px}}
/* Bold free-estimate invitation. */
.gentle-phone{position:relative;overflow:hidden;background:linear-gradient(115deg,#fff9dc,#ffed9b 55%,#fff6d4);border:2px solid #e3b440;border-radius:20px;box-shadow:0 5px 0 #d8ae4826,0 8px 22px #bd8b1920;padding:24px!important;gap:16px}
.gentle-phone:before{content:'お見積もり無料';display:inline-block;background:#d82d35;color:white;padding:5px 14px;border-radius:7px;font-size:13px;font-weight:900;letter-spacing:.05em;transform:rotate(-3deg);box-shadow:0 3px 0 #a91c2820}
.gentle-phone p{font-size:clamp(21px,2.3vw,31px);font-weight:1000;color:#a82c24;line-height:1.45;text-shadow:0 2px 0 white;margin:0;text-wrap:balance}.gentle-phone>span{color:#775014;font-weight:800}.gentle-phone a{border:2px solid #fff;box-shadow:0 4px 0 #9c2028,0 6px 14px #aa25252a}
@media(max-width:600px){.gentle-phone{padding:20px 12px!important;gap:12px}.gentle-phone p{font-size:22px;max-width:100%;overflow-wrap:anywhere}.gentle-phone:before{font-size:11px;padding:4px 11px}}

@media(min-width:801px) and (max-width:1100px){.contact-dock{grid-template-columns:210px minmax(0,1fr);gap:12px;padding-left:12px;padding-right:12px}.contact-dock .dock-brand img{width:205px}.contact-dock .dock-actions strong{font-size:15px}.contact-dock .dock-actions small{font-size:9px}}

/* Give the brand one third of the contact rail. */
.contact-dock{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:10px;padding-left:12px;padding-right:12px}.contact-dock>.dock-brand{width:100%;padding:0}.contact-dock .dock-brand img{width:100%;max-width:360px;height:85px;object-fit:contain}.contact-dock .dock-brand>span{display:none}.contact-dock>.dock-actions{max-width:none}.contact-dock .dock-actions>a{min-width:0}.contact-dock .dock-actions strong{font-size:clamp(13px,1.3vw,19px)}body{padding-bottom:105px}
@media(max-width:800px){.contact-dock{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4px;padding:3px 4px calc(3px + env(safe-area-inset-bottom))}.contact-dock .dock-brand img{width:100%;max-width:200px;height:50px}.contact-dock>.dock-actions{gap:3px}.contact-dock .dock-actions>a{padding:4px 1px;min-height:43px}.contact-dock .dock-actions strong{font-size:9px;letter-spacing:-.03em}.contact-dock .dock-actions small{font-size:6px;letter-spacing:-.04em}.contact-dock .dock-phone strong{font-size:9px}.contact-dock .dock-phone small{font-size:5.5px}body{padding-bottom:calc(65px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.contact-dock .dock-actions strong{font-size:8px}.contact-dock .dock-actions small{font-size:5.5px}.contact-dock .dock-phone small{font-size:5px}}

@media(max-width:800px){.contact-dock .dock-actions small{font-size:7px;letter-spacing:-.03em}.contact-dock .dock-phone small{font-size:0}.contact-dock .dock-phone small:after{content:"24時間受付中";font-size:7px}.contact-dock .dock-actions strong{font-size:9px}}

/* Round, legible 24-hour badges beside estimate phone numbers. */
.gentle-phone>.estimate-hours-badge,.estimate-call-row>.estimate-hours-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 83px;width:83px;height:83px;padding:6px;border-radius:50%;background:linear-gradient(145deg,#fff,#fff2b8);border:3px solid #d82d35;outline:2px solid #f3c85c;outline-offset:3px;box-shadow:0 4px 9px #ae79172b;color:#bd222f;line-height:1.1;white-space:nowrap;transform:rotate(-6deg)}
.estimate-hours-badge>strong{display:block;font-size:29px!important;font-weight:1000;line-height:1.1;color:#bd222f!important;text-shadow:none}.estimate-hours-badge>strong>span{font-size:12px;margin-left:1px}.estimate-hours-badge>b{display:block;margin-top:4px;font-size:15px;font-weight:900;letter-spacing:.08em;color:#bd222f}.estimate-call-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px;margin:20px 0 26px}.estimate-call-row .cta-phone-number{margin:0}
@media(max-width:600px){.gentle-phone>.estimate-hours-badge,.estimate-call-row>.estimate-hours-badge{flex-basis:67px;width:67px;height:67px;padding:4px;border-width:2px;outline-offset:2px}.estimate-hours-badge>strong{font-size:24px!important}.estimate-hours-badge>strong>span{font-size:10px}.estimate-hours-badge>b{font-size:12px;margin-top:3px}.estimate-call-row{gap:13px}.gentle-phone{flex-wrap:wrap}.gentle-phone>p{flex:0 0 100%}.gentle-phone>a{font-size:clamp(17px,5.5vw,23px)}}
/* High-contrast 24-hour estimate badges. */
.gentle-phone>.estimate-hours-badge,.estimate-call-row>.estimate-hours-badge{flex-basis:104px;width:104px;height:104px;background:radial-gradient(circle at 35% 20%,#f45a4d,#d32030 65%,#a70e26);border:4px solid #ffe095;outline:2px solid #c38a29;outline-offset:2px;box-shadow:0 5px 0 #9a152a,0 9px 20px #bd213b35,inset 0 0 0 2px #ffffff50;transform:rotate(-7deg);animation:estimate-badge-hop 4s ease-in-out infinite;overflow:visible}
.estimate-hours-badge>strong{font-size:39px!important;color:#fff!important;text-shadow:0 2px 0 #9b142b!important}.estimate-hours-badge>strong>span{font-size:15px;color:#fff}.estimate-hours-badge>b{font-size:20px;letter-spacing:.07em;color:#fff1b9;text-shadow:0 2px 0 #a41b2b;margin-top:3px}
@keyframes estimate-badge-hop{0%,76%,100%{transform:translateY(0) rotate(-7deg)}81%{transform:translateY(-7px) rotate(-4deg)}86%{transform:translateY(0) rotate(-7deg)}91%{transform:translateY(-4px) rotate(-5deg)}96%{transform:translateY(0) rotate(-7deg)}}
@media(max-width:600px){.gentle-phone>.estimate-hours-badge,.estimate-call-row>.estimate-hours-badge{flex-basis:80px;width:80px;height:80px;border-width:3px;outline-offset:2px}.estimate-hours-badge>strong{font-size:30px!important}.estimate-hours-badge>strong>span{font-size:12px}.estimate-hours-badge>b{font-size:15px}.gentle-phone{column-gap:12px}.gentle-phone>a{padding:10px 12px;font-size:clamp(16px,4.8vw,21px)}}
@media(prefers-reduced-motion:reduce){.gentle-phone>.estimate-hours-badge,.estimate-call-row>.estimate-hours-badge{animation:none}}
/* Keep desktop estimate invitations focused and centered. */
@media(min-width:801px){
.gentle-phone{width:calc(100% - 64px);max-width:980px;margin:32px auto;display:grid;grid-template-columns:minmax(0,1fr) auto 104px;grid-template-rows:auto auto;align-items:center;column-gap:25px;row-gap:8px;padding:27px 32px!important;text-align:left;overflow:visible;box-sizing:border-box}
.gentle-phone:before{grid-column:1;grid-row:1;justify-self:start;font-size:11px;padding:4px 12px}
.gentle-phone>p{grid-column:1;grid-row:2;font-size:25px;line-height:1.5;text-wrap:balance}
.gentle-phone>a{grid-column:2;grid-row:1/3;align-self:center;font-size:25px;padding:12px 19px}
.gentle-phone>.estimate-hours-badge{grid-column:3;grid-row:1/3;justify-self:center}
.cta{max-width:980px;margin-left:auto;margin-right:auto;box-sizing:border-box}
}
@media(min-width:801px) and (max-width:1050px){.gentle-phone{column-gap:18px;padding:25px!important;grid-template-columns:minmax(0,1fr) auto 104px}.gentle-phone>p{font-size:21px}.gentle-phone>a{font-size:22px;padding:11px 14px}}
/* Clean, consistent typography for phone numbers. */
a[href^="tel:"],.site-header-contact .site-header-phone strong{font-family:Arial,"Helvetica Neue",Helvetica,"Noto Sans JP",sans-serif;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;font-weight:700;letter-spacing:.025em;font-style:normal;text-shadow:none}
.site-header-contact .site-header-phone strong{font-weight:700;letter-spacing:.015em;text-shadow:none}
.gentle-phone>a,.cta .cta-phone-number{font-weight:700;letter-spacing:.035em;text-shadow:none}
a[href^="tel:"] small{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;letter-spacing:0;font-weight:500}
.contact-dock .dock-phone strong{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:800;letter-spacing:0}
.contact-dock .dock-phone small{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.025em;font-weight:600}
@media(max-width:600px){.gentle-phone>a,.cta .cta-phone-number{letter-spacing:.015em}.site-header-contact .site-header-phone strong{letter-spacing:0}}
