
:root{--blue:#0b73c7;--blue2:#168ed9;--sky:#eef8ff;--sky2:#dff3ff;--ink:#173d59;--text:#536b7d;--muted:#8094a3;--line:#d8eaf5;--orange:#f8bd62;--green:#1ac55b;--gold:#d5a13f;--cream:#fff9ef;--shadow:0 16px 40px 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.8;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:var(--blue)}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--blue);line-height:1.45}.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:800;color:var(--blue);margin-bottom:10px}.paw{color:var(--orange)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);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;transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(.985)}.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}
.company-hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#eef9ff 0%,#f8fcff 56%,#fff9ef 100%)}.company-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:.88fr 1.12fr;gap:64px;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.45vw,36px);font-weight:800;color:var(--blue);line-height:1.72}.hero-text{max-width:520px;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:750;text-decoration:none;font-size:13px}.hero-visual{position:relative;min-height:410px}.hero-photo-main{position:absolute;right:0;top:10px;width:78%;border-radius:42px 16px 42px 16px;overflow:hidden;box-shadow:var(--shadow);border:8px solid #fff}.hero-photo-main img{width:100%;height:300px;object-fit:cover;object-position:50% 38%}.hero-photo-sub{position:absolute;left:0;bottom:12px;width:44%;border-radius:28px 12px 28px 12px;overflow:hidden;border:7px solid #fff;box-shadow:var(--shadow)}.hero-photo-sub img{width:100%;height:155px;object-fit:cover}.hero-cat{position:absolute;width:92px;right:14px;bottom:-2px;z-index:3}.hero-bubble{position:absolute;right:84px;bottom:54px;background:#fff;border:1px solid var(--line);padding:7px 14px;border-radius:999px;font-size:10px;font-weight:750;color:var(--blue);transform:rotate(-5deg);box-shadow:var(--shadow);z-index:4}
.trust-strip{margin-top:-6px;position:relative;z-index:2}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.trust-card{display:flex;align-items:center;justify-content:center;gap:14px;background:#fff;border:1px solid #e4eff6;border-radius:20px;padding:19px 22px;box-shadow:0 9px 28px rgba(32,104,154,.06)}.trust-icon{flex:none;width:60px;height:54px;display:grid;place-items:center;background:linear-gradient(140deg,#f5fbff,#ecf8ff);border-radius:48% 50% 42% 50%}.trust-icon img{width:56px;height:46px;object-fit:contain;mix-blend-mode:multiply}.trust-card strong{display:block;color:var(--blue);font-size:15px}.trust-card span:last-child{font-size:11px;color:#7c93a2}
.section{padding:92px 0}.section-heading{text-align:center;margin-bottom:45px}.section-heading h2{font-size:31px}.section-heading>p:last-child{font-size:14px;margin-top:10px}.message-section{padding-top:105px}.message-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:72px;align-items:center}.message-visual{position:relative;min-height:510px}.message-visual .large{width:82%;height:430px;object-fit:cover;border-radius:38px 14px 38px 14px;box-shadow:var(--shadow)}.message-visual .small{position:absolute;right:0;bottom:0;width:45%;height:185px;object-fit:cover;border:8px solid #fff;border-radius:24px 10px 24px 10px;box-shadow:var(--shadow)}.message-cat{position:absolute;width:82px;left:20px;bottom:5px}.message-copy h2{font-size:34px;line-height:1.65;margin-bottom:24px}.message-copy>p{font-size:14px;line-height:2.15;margin-top:14px}.signature{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);color:var(--ink);font-size:13px}.signature strong{display:block;font-size:18px;color:var(--blue);margin-top:4px}
.values-section{background:linear-gradient(180deg,#fff,#f5fbff)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.value-card{position:relative;background:#fff;border:1px solid #e5f0f7;border-radius:28px;padding:34px 30px 32px;box-shadow:0 12px 34px rgba(32,104,154,.06);overflow:hidden}.value-number{font:500 12px/1 Arial,sans-serif;color:#9fcbe8;letter-spacing:.18em}.value-icon{position:relative;isolation:isolate;width:164px;height:142px;display:flex;align-items:center;justify-content:center;margin:20px 0 24px}
.value-icon:before{content:"";position:absolute;z-index:-1;inset:4px 4px 4px 9px;border-radius:50% 46% 48% 43%;background:linear-gradient(140deg,#f9fdff,#ecf8ff 70%,#fff9ef);border:1px solid #e6f3fa;transform:rotate(-4deg)}
.value-icon .value-illustration{display:block;width:150px;height:auto;max-height:130px;object-fit:contain;mix-blend-mode:multiply}
.value-card h3{font-size:21px;margin-bottom:13px}.value-card p{font-size:13px;line-height:2}.value-card:after{content:"";position:absolute;right:24px;top:25px;width:24px;height:24px;background:url("assets/illustrations/paw.svg") center/contain no-repeat;opacity:.8;transform:rotate(14deg)}
.services-section{background:#fff}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-card{border:1px solid #e4eff6;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(32,104,154,.06)}.service-card img{width:100%;height:190px;object-fit:cover}.service-body{padding:25px 24px 27px}.service-label{display:inline-flex;padding:4px 10px;border-radius:999px;background:var(--sky);color:var(--blue);font-size:10px;font-weight:800;margin-bottom:11px}.service-body h3{font-size:20px;margin-bottom:9px}.service-body p{font-size:13px;line-height:1.9}.service-body a{margin-top:18px;display:inline-flex;gap:7px;text-decoration:none;font-weight:750;font-size:12px}
.profile-section{background:linear-gradient(180deg,#f6fbff,#fff)}.profile-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;align-items:start}.profile-intro{position:sticky;top:120px}.profile-intro h2{font-size:34px;margin-bottom:18px}.profile-intro p{font-size:14px;line-height:2}.profile-mark{margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;display:flex;align-items:center;gap:16px}.profile-mark img{width:64px}.profile-mark strong{display:block;color:var(--blue)}.profile-mark small{font-size:10px;color:var(--muted)}.profile-table{border-top:1px solid #cfe3ef}.profile-row{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid #dbeaf2;min-height:70px}.profile-row dt,.profile-row dd{margin:0;padding:21px 18px}.profile-row dt{font-weight:750;color:var(--blue);font-size:13px;background:#f8fcff}.profile-row dd{font-size:14px;color:#3e586c}.business-list{display:flex;flex-wrap:wrap;gap:7px}.business-list span{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eef8ff;color:var(--blue);font-size:11px;font-weight:700}
.policy-note{padding:22px 0 0}.policy-box{border:1px dashed #b9d8e9;border-radius:22px;padding:25px 28px;background:#fbfdff;display:grid;grid-template-columns:54px 1fr 62px;gap:18px;align-items:center}.policy-icon{width:50px;height:50px;border-radius:17px;background:var(--sky);display:grid;place-items:center;font-size:24px}.policy-box h3{font-size:19px;margin-bottom:5px}.policy-box p{font-size:12px}.policy-box>img{width:56px}
.contact-section{padding:76px 0 84px;background:linear-gradient(180deg,#eff9ff,#dff3ff)}.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}.hero-grid{gap:35px}.message-grid{gap:36px}.profile-wrap{gap:32px}.values-grid,.services-grid{gap:18px}}
@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:24px;padding:20px 0 70px}.breadcrumb{font-size:11px}.hero-copy h1{font-size:36px;margin-bottom:15px}.hero-catch{font-size:25px}.hero-text{font-size:13px}.hero-visual{min-height:320px}.hero-photo-main{width:86%}.hero-photo-main img{height:230px}.hero-photo-sub{width:48%}.hero-photo-sub img{height:115px}.hero-cat{width:64px}.hero-bubble{right:45px;bottom:40px;font-size:9px}.trust-grid{grid-template-columns:1fr;gap:10px}.trust-card{justify-content:flex-start}.section{padding:60px 0}.section-heading{margin-bottom:30px}.section-heading h2{font-size:25px}.message-section{padding-top:70px}.message-grid{grid-template-columns:1fr;gap:38px}.message-copy{order:1}.message-visual{order:2;min-height:390px}.message-visual .large{width:86%;height:335px}.message-visual .small{width:45%;height:135px}.message-cat{width:65px;left:8px}.message-copy h2{font-size:26px}.message-copy>p{font-size:13px}.values-grid,.services-grid{grid-template-columns:1fr}.value-card{padding:28px 26px}.service-card img{height:180px}.profile-wrap{grid-template-columns:1fr;gap:28px}.profile-intro{position:static}.profile-intro h2{font-size:27px}.profile-row{grid-template-columns:1fr}.profile-row dt{padding:13px 16px}.profile-row dd{padding:15px 16px}.policy-box{grid-template-columns:46px 1fr;padding:20px}.policy-box>img{display:none}.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)}}

/* Cat illustrations reuse the approved service-page assets unchanged.
   Headings and descriptions remain editable text, not part of the images. */
.paw{display:inline-flex;vertical-align:middle;align-items:center;margin:0 5px}
.paw img{display:block;width:22px;height:22px}
.paw:first-child{transform:rotate(-12deg)}
.paw:last-child{transform:rotate(12deg)}
.policy-icon img{width:27px;height:27px}
#values{scroll-margin-top:105px}
a:focus-visible,summary:focus-visible{outline:3px solid #0b73c7;outline-offset:5px}
@media(max-width:767px){
 .value-icon{width:154px;height:132px;margin:20px 0 22px}
 .value-icon .value-illustration{width:140px;max-height:122px}
 .value-card:after{right:24px;top:27px;width:23px;height:23px}
 .trust-icon{width:57px;height:53px}
 .trust-icon img{width:52px;height:44px}
 .paw img{width:18px;height:18px}
 #values{scroll-margin-top:96px}
 body{padding-bottom:calc(69px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Keep the Japanese section heading balanced on narrow screens. */
.values-section .section-heading h2{display:flex;align-items:center;justify-content:center;gap:14px}
.values-section .section-heading .paw{flex:none;margin:0}
.values-heading-copy{min-width:0}
.values-heading-copy>span{display:inline}
@media(max-width:767px){.values-heading-copy>span{display:block}.values-section .section-heading h2{gap:10px}}


/* === 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;}

/* company: 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;
}

