:root{
  --blue:#0b73c7;--blue2:#168ed9;--sky:#eef8ff;--sky2:#dff3ff;--ink:#183d59;--text:#536b7d;--line:#d8eaf5;--orange:#f8bd62;--green:#1ac55b;--white:#fff;--shadow:0 14px 36px rgba(32,104,154,.09);--radius:24px;--container:1180px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:#fff;line-height:1.75;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--blue)}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--blue);line-height:1.4}.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:999}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:700;color:var(--blue);margin-bottom:10px}.paw{color:var(--orange);font-size:.72em}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid #e8f2f7;backdrop-filter:blur(10px)}.header-inner{height:90px;display:flex;align-items:center;gap:26px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex:none}.brand-cat{width:54px;height:auto}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-name{font-size:18px;font-weight:800;color:var(--blue);line-height:1.2}.brand-logo{width:112px;height:auto}.desktop-nav{display:flex;gap:21px;margin-left:auto}.desktop-nav a{font-size:12px;text-decoration:none;color:#31516a;font-weight:650;white-space:nowrap;padding-block:8px;border-bottom:2px solid transparent}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--blue);border-color:var(--blue)}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.header-phone{text-decoration:none;color:var(--blue);font-size:11px}.header-phone strong{font-size:21px}.header-cta-row{display:flex;gap:7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:999px;background:linear-gradient(90deg,var(--blue),#1397df);color:#fff;padding:11px 25px;text-decoration:none;font-weight:750;font-size:14px;box-shadow:0 7px 18px rgba(7,108,184,.12);border:1px solid transparent}.btn:hover{filter:brightness(.98);transform:translateY(-1px)}.btn-small{min-height:35px;padding:7px 15px;font-size:11px}.btn-line{background:linear-gradient(90deg,#16b64e,#26d563)}.btn-phone{background:#fff;color:var(--blue);border-color:#8ccbf0}.btn-outline{background:#fff;color:var(--blue);border-color:#9bd4f3;box-shadow:none}.mobile-menu{display:none}.works-hero{background:linear-gradient(108deg,#edf9ff 0%,#f8fcff 53%,#fff 100%);position:relative;overflow:hidden}.works-hero:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:36px;background:#fff;clip-path:polygon(0 55%,18% 80%,42% 52%,68% 85%,100% 48%,100% 100%,0 100%)}.breadcrumb{display:flex;gap:9px;padding-top:22px;font-size:12px}.breadcrumb a{color:#7690a2;text-decoration:none}.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:62px;align-items:center;padding:38px 0 94px}.hero-copy h1{font-size:clamp(38px,4vw,58px);letter-spacing:.08em;margin-bottom:22px}.hero-catch{font-size:clamp(25px,2.4vw,35px);font-weight:800;color:var(--blue);line-height:1.7}.hero-text{max-width:540px;margin-top:18px;font-size:15px;line-height:2.05}.text-link{display:inline-flex;align-items:center;gap:9px;margin-top:25px;font-weight:700;text-decoration:none;font-size:13px}.hero-photo{position:relative}.hero-photo:before{content:"";position:absolute;inset:17px -15px -15px 17px;border:1px solid #bfe4f8;border-radius:54px 18px 54px 18px}.hero-photo>img{position:relative;width:100%;aspect-ratio:1.42;object-fit:cover;object-position:50% 25%;border-radius:54px 18px 54px 18px}.hero-cat{position:absolute;left:-38px;bottom:-25px;display:flex;align-items:flex-start}.hero-cat img{width:86px;height:auto}.hero-cat span{background:#fff;color:var(--blue);font-size:11px;font-weight:700;padding:6px 12px;border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);transform:rotate(-6deg)}.numbers-section{padding:48px 0 26px}.numbers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.number-card{text-align:center;padding:30px 26px;border-radius:22px;background:#fff;border:1px solid #e5f1f8;box-shadow:var(--shadow)}.number-label{display:block;color:#6d8799;font-size:12px;margin-bottom:4px}.number-card strong{display:block;font-size:42px;color:var(--blue);line-height:1.2}.number-card strong small{font-size:15px;margin-left:4px}.number-card p{font-size:13px;margin-top:8px}.section{padding:84px 0}.section-heading{text-align:center;margin-bottom:37px}.section-heading h2{font-size:30px}.section-heading>p:last-child{font-size:14px;margin-top:10px}.category-nav{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-bottom:44px}.category-nav a{padding:8px 19px;border:1px solid #b8dcf3;border-radius:999px;text-decoration:none;font-size:12px;color:var(--blue);background:#fff}.category-nav a.is-active,.category-nav a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.featured-case{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center;padding:34px;border-radius:30px;background:linear-gradient(135deg,#f2faff,#fff 70%);border:1px solid #e3f1f8}.featured-media{position:relative;margin:0}.featured-media img{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:23px}.case-label{position:absolute;top:16px;left:16px;background:var(--blue);color:#fff;padding:6px 14px;border-radius:999px;font-size:11px;font-weight:700}.case-label-washer{background:#4da9d7}.case-label-home{background:#39aa8a}.case-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#7890a1;margin-bottom:10px}.case-meta span+span:before{content:"/";margin-right:10px}.featured-kicker{font-size:11px;letter-spacing:.18em;color:var(--blue);font-weight:800;margin-bottom:8px}.featured-copy h3{font-size:28px;margin-bottom:16px}.featured-copy>p{font-size:14px;line-height:2}.case-points{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:20px 0 24px}.case-points li,.work-tags span{font-size:11px;padding:6px 11px;background:#eaf7ff;color:var(--blue);border-radius:999px}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:34px}.work-card{border:1px solid #e0edf5;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 9px 26px rgba(42,104,148,.07);display:flex;flex-direction:column}.work-card-media{position:relative;display:block;overflow:hidden}.work-card-media img{width:100%;aspect-ratio:1.52;object-fit:cover;transition:transform .3s}.work-card:not(.work-card-placeholder) .work-card-media:hover img{transform:scale(1.025)}.work-card-body{padding:23px 22px 25px;display:flex;flex-direction:column;flex:1}.work-card h3{font-size:18px;line-height:1.7;margin-bottom:11px}.work-card p{font-size:13px;line-height:1.9}.work-tags{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.card-link{margin-top:auto;font-size:12px;font-weight:750;text-decoration:none}.card-link-muted{color:#94a7b4}.work-card-placeholder{background:#fbfdfe}.placeholder-media:after{content:"COMING SOON";position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.25);color:#fff;font-weight:800;letter-spacing:.14em;text-shadow:0 2px 9px rgba(0,0,0,.23)}.record-section{background:linear-gradient(180deg,#f3faff,#fff)}.record-wrap{position:relative}.section-heading-left{text-align:left;max-width:660px;margin-bottom:36px}.section-heading-left h2{font-size:30px}.record-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.record-flow li{position:relative;text-align:center;background:#fff;border:1px solid #dfedf6;border-radius:24px;padding:22px 18px 25px}.record-flow li:not(:last-child):after{content:"›";position:absolute;right:-17px;top:54px;color:#D4A14F;font-size:28px;z-index:2}.record-flow img{height:98px;width:116px;object-fit:contain;margin:0 auto 5px}.record-flow span{display:block;color:var(--blue);font-size:11px}.record-flow strong{display:block;color:var(--blue);font-size:15px;margin-top:5px}.record-flow p{font-size:12px;margin-top:5px}.record-note{margin-top:30px;display:flex;align-items:center;gap:20px;background:#eaf7ff;padding:19px 24px;border-radius:20px}.record-note img{width:68px}.record-note p{font-size:13px}.record-note strong{color:var(--blue)}.scope-note{padding-top:28px}.scope-box{display:grid;grid-template-columns:1fr 90px;gap:26px;align-items:center;padding:28px 34px;border:1px dashed #b8d7e9;border-radius:22px;background:#fbfdff}.scope-box h2{font-size:21px;margin-bottom:8px}.scope-box p:last-child{font-size:13px}.scope-box img{width:70px;margin:auto}.contact-section{padding:74px 0 82px;background:linear-gradient(180deg,#eff9ff,#dff3ff);position:relative}.contact-inner{text-align:center;position:relative}.contact-inner h2{font-size:29px}.contact-inner>p:not(.eyebrow){font-size:14px;margin-top:10px}.contact-cat{position:absolute;right:30px;top:-20px;width:80px}.contact-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:980px;margin:31px auto 0}.contact-buttons .btn{min-height:74px;flex-direction:column;gap:0}.contact-buttons strong{font-size:17px}.contact-buttons small{font-size:10px;font-weight:500}.site-footer{background:#f7fcff;padding:52px 0 20px}.footer-grid{display:grid;grid-template-columns:1.35fr .75fr .75fr;gap:55px}.footer-brand address{font-style:normal;font-size:12px;line-height:2;margin-top:20px}.footer-nav{display:flex;flex-direction:column;gap:8px}.footer-nav strong{color:var(--ink);font-size:13px;margin-bottom:4px}.footer-nav a{font-size:12px;text-decoration:none;color:#597184}.footer-nav a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid #dfeaf1;margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;align-items:center}.footer-bottom small{font-size:10px}.footer-bottom a{font-size:11px;text-decoration:none}.mobile-contact{display:none}
@media(max-width:1100px){.desktop-nav,.header-actions{display:none}.mobile-menu{display:block;margin-left:auto;position:relative}.mobile-menu summary{list-style:none;width:46px;height:56px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;cursor:pointer;color:var(--blue)}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{width:25px;height:2px;background:var(--blue);display:block}.mobile-menu summary small{font-size:8px}.mobile-panel{position:absolute;right:0;top:60px;width:290px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:12px;display:flex;flex-direction:column}.mobile-panel a{padding:11px 10px;border-bottom:1px solid #edf3f7;text-decoration:none;color:#31516a;font-size:13px}.featured-case{gap:30px}.works-grid{gap:18px}.record-flow{gap:14px}.record-flow li:not(:last-child):after{right:-12px}}
@media(max-width:767px){body{padding-bottom:69px}.container{width:min(calc(100% - 32px),var(--container))}.header-inner{height:78px}.brand-cat{width:45px}.brand-name{font-size:17px}.brand-logo{width:102px}.hero-grid{grid-template-columns:1fr;gap:30px;padding:22px 0 69px}.breadcrumb{font-size:11px}.hero-copy h1{font-size:36px;margin-bottom:15px}.hero-catch{font-size:25px}.hero-text{font-size:13px}.hero-photo{margin-inline:5px}.hero-photo>img{aspect-ratio:1.58;border-radius:30px 12px 30px 12px}.hero-photo:before{border-radius:30px 12px 30px 12px;inset:10px -7px -8px 10px}.hero-cat{left:-8px;bottom:-20px}.hero-cat img{width:60px}.hero-cat span{font-size:9px;padding:4px 8px}.numbers-section{padding-top:36px}.numbers-grid{grid-template-columns:1fr;gap:12px}.number-card{padding:20px}.number-card strong{font-size:34px}.section{padding:58px 0}.section-heading h2{font-size:25px}.section-heading>p:last-child{font-size:13px}.category-nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;margin-bottom:30px}.category-nav a{flex:none}.featured-case{grid-template-columns:1fr;padding:19px;border-radius:23px}.featured-copy h3{font-size:23px}.works-grid{grid-template-columns:1fr;gap:22px;margin-top:24px}.work-card h3{font-size:19px}.record-flow{grid-template-columns:1fr;gap:13px}.record-flow li{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto auto auto;text-align:left;column-gap:16px;padding:17px}.record-flow img{grid-column:1;grid-row:1/4;width:80px;height:72px}.record-flow span,.record-flow strong,.record-flow p{grid-column:2}.record-flow li:not(:last-child):after{display:none}.record-note{padding:15px}.record-note img{width:54px}.scope-box{grid-template-columns:1fr 55px;padding:22px}.scope-box img{width:50px}.contact-cat{display:none}.contact-inner h2{font-size:24px}.contact-buttons{grid-template-columns:1fr;gap:10px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.footer-brand{grid-column:1/-1}.footer-bottom{align-items:flex-start;gap:12px}.mobile-contact{position:fixed;z-index:60;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding:8px 9px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -6px 18px rgba(17,96,150,.08)}.mobile-contact a{text-decoration:none;color:#fff;background:var(--blue);border-radius:12px;text-align:center;padding:9px 4px;font-size:11px;font-weight:700}.mobile-contact .mobile-line{background:var(--green)}}
/* image sizing safeguards: keep the photo blocks compact even with intrinsic dimensions */
.hero-photo>img{height:480px}
.featured-media img{height:400px}
.work-card-media img{height:240px}
@media(max-width:767px){
  .hero-photo>img{height:235px}
  .featured-media img{height:230px}
  .work-card-media img{height:215px}
}


/* === LEGACY TOKEN NAMES / SOFT BLUE VALUES ===
   Layout, photos, components and functional colors are unchanged.
   Only blue text accents and active-text cues are shifted to a soft orange palette. */
:root{--accent-orange:#6D9FBD;--accent-orange-deep:#3C6E8C;--accent-orange-light:#B9D7E9;--accent-orange-pale:#EFF7FC;--accent-orange-line:#CDE2EF;}

/* works: text accents */
a{color:var(--accent-orange-deep)}
h1,h2,h3,.eyebrow{color:var(--accent-orange-deep)}
.brand-name,.header-phone,.hero-catch,.featured-kicker,.number-card strong,.record-flow span,.record-flow strong,.record-note strong{color:var(--accent-orange-deep)}
.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--accent-orange-deep);border-color:var(--accent-orange)}
.text-link,.card-link,.category-nav a,.footer-nav a:hover{color:var(--accent-orange-deep)}
.category-nav a.is-active,.category-nav a:hover{background:var(--accent-orange);border-color:var(--accent-orange);color:#fff}
.case-label{background:var(--accent-orange)}
.case-points li,.work-tags span{color:var(--accent-orange-deep);background:var(--accent-orange-pale)}
.hero-cat span{color:var(--accent-orange-deep);border-color:var(--accent-orange-line)}
.mobile-menu summary{color:var(--accent-orange-deep)}
.mobile-menu summary span{background:var(--accent-orange)}

.section-heading h2,.section-heading-left h2,.contact-inner h2,.contact-heading h2{color:var(--accent-orange-deep)}

/* === SOFT BLUE ACCENT THEME / 2026-09-09 ===
   Main accents are warm orange. Functional green stays green.
   A muted teal and gold are retained as secondary accents so the site does not become monochrome.
   Layout, content, photos, cat illustrations and component structure are unchanged. */
:root{
  --brand:#497E9F;
  --blue:#497E9F;
  --blue2:#95BED6;
  --blue-deep:#3C6E8C;
  --accent-orange:#497E9F;
  --accent-orange-deep:#3C6E8C;
  --orange:#E8A05C;
  --gold:#D4A14F;
  --secondary:#4B8D97;
  --secondary-soft:#EEF7F8;
  --warm-soft:#EFF7FC;
}

/* Primary accent */
a{color:var(--blue,var(--brand));}
.eyebrow,.brand-name,.header-phone,.hero-catch,.text-link,
.desktop-nav a[aria-current],.desktop-nav a:hover,
.section-heading h2,.heading h2,.heading.side a,
.number-card strong,.featured-kicker,.record-flow span,.record-flow strong,
.record-note strong,.service-grid span,.service-grid a,.reason-grid span,
.flow-grid strong,.news-list span,.footer-bottom a,
.method-card h3,.side-card h3,.service-mini a span,
.field>label,.field>legend{color:var(--blue,var(--brand));}

/* Primary buttons: orange, LINE stays green */
.btn:not(.btn-line), .header-cta-row .btn:not(.btn-line){
  background:linear-gradient(90deg,#497E9F,#76A5C2);
  border-color:#497E9F;
  color:#fff;
  box-shadow:0 7px 18px rgba(69,118,147,.10);
}
.btn-outline,.btn.outline{
  background:#fff !important;
  color:#3C6E8C !important;
  border-color:#A7C9DE !important;
  box-shadow:none !important;
}
.btn-phone,.phone-btn{
  background:#fff !important;
  color:var(--secondary) !important;
  border-color:#A9CED2 !important;
  box-shadow:none !important;
}
.btn-line{background:linear-gradient(90deg,#169F52,#2AC56A) !important;border-color:#169F52 !important;color:#fff !important;}

/* Navigation and small UI */
.mobile-menu summary{color:#497E9F;}
.mobile-menu summary span{background:#497E9F;}
.category-nav a{color:#3C6E8C;border-color:#B8D4E5;}
.category-nav a.is-active,.category-nav a:hover{background:#497E9F;color:#fff;border-color:#497E9F;}
.breadcrumb a,.case-meta,.number-label,.method-number,.field-help,.method-note,.hero-small-message{color:#647F88;}

/* Secondary accents */
.case-label-washer{background:#4B969E !important;}
.case-label-home{background:#47A685 !important;}
.status-badge{color:#667E85;}
.record-flow li:not(:last-child):after{color:#D4A14F !important;}
.archive-icon,.method-illustration:before{background:var(--secondary-soft) !important;}
.field-required{background:#EFF7FC !important;color:#3C6E8C !important;border-color:#CDE2EF !important;}

/* Tags and soft chips */
.case-points li,.work-tags span,.service-option:has(input:checked),.record-note{
  background:#EFF7FC;
  color:#3C6E8C;
}
.service-option:has(input:checked){border-color:#497E9F;box-shadow:inset 0 0 0 1px #497E9F;}
.service-option input{accent-color:#497E9F;}

/* Keep cool pale blues as structural background; add warm cream in selected areas */
.certificate,.company-hero,.inquiry-hero,.news-hero,.faq-hero{
  background-color:#FFFDF9;
}

/* Mobile fixed contact bar: green / teal / orange */
.mobile-contact a:first-child{background:#18A957 !important;color:#fff !important;}
.mobile-contact a:nth-child(2){background:#4B8D97 !important;color:#fff !important;}
.mobile-contact a:nth-child(3){background:#497E9F !important;color:#fff !important;}

/* Focus states */
a:focus-visible,summary:focus-visible,.service-option input:focus-visible{
  outline-color:#79A9C6 !important;
}

