:root{--blue:#0b73c7;--blue2:#168ed9;--sky:#eef8ff;--sky2:#dff3ff;--ink:#183d59;--text:#536b7d;--line:#d8eaf5;--orange:#f8bd62;--green:#1ac55b;--gold:#d5a13f;--cream:#fff8ed;--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}
.news-hero{background:linear-gradient(110deg,#edf9ff 0%,#f8fcff 58%,#fffaf2 100%);position:relative;overflow:hidden}.news-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:72px;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: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:700;text-decoration:none;font-size:13px}.hero-visual{position:relative;min-height:360px;display:grid;place-items:center}.hero-visual:before{content:"";position:absolute;width:410px;height:250px;border-radius:50%;background:rgba(209,239,255,.62);filter:blur(4px)}.hero-card{position:relative;width:390px;min-height:260px;padding:45px 45px 38px;background:#fff;border:1px solid #d8edf8;border-radius:40px 18px 40px 18px;box-shadow:var(--shadow);transform:rotate(-1.5deg)}.hero-card-label{font-size:10px;color:#7898ad;letter-spacing:.22em;font-weight:700}.hero-card-paw{position:absolute;right:39px;top:35px;color:var(--orange);font-size:29px;transform:rotate(16deg)}.hero-card strong{display:block;margin-top:24px;font-size:31px;line-height:1.65;color:var(--blue);letter-spacing:.06em}.hero-card-line{display:block;width:55px;height:2px;background:var(--orange);margin-top:22px}.hero-card small{display:block;margin-top:14px;letter-spacing:.15em;color:#8aa0af}.hero-cat{position:absolute;width:95px;right:36px;bottom:-6px;z-index:2}.hero-bubble{position:absolute;right:-1px;bottom:85px;background:#fff;border:1px solid var(--line);padding:7px 13px;border-radius:999px;font-size:10px;font-weight:700;color:var(--blue);transform:rotate(7deg);box-shadow:var(--shadow)}
.section{padding:88px 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}.news-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:30px;align-items:stretch}.news-featured{display:grid;grid-template-rows:330px 1fr;border:1px solid #e3edf4;border-radius:30px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.anniversary-art{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff9ef,#f4fbff);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold)}.anniversary-art:before,.anniversary-art:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(213,161,63,.28);border-radius:50%}.anniversary-art:before{left:-100px;top:-100px}.anniversary-art:after{right:-110px;bottom:-120px}.anniversary-small{font-size:11px;letter-spacing:.3em;font-weight:700}.anniversary-art strong{font-family:Georgia,serif;font-size:112px;line-height:.92;font-weight:400}.anniversary-art strong span{font-size:1em}.anniversary-art strong sup{font-size:24px;vertical-align:top;margin-left:3px}.anniversary-art b{font:700 15px/1.5 Georgia,serif;letter-spacing:.24em}.anniversary-art img{position:absolute;width:84px;right:48px;bottom:22px}.pawprint{position:absolute;color:var(--orange);font-size:22px;opacity:.9}.pawprint-1{left:54px;top:55px;transform:rotate(-18deg)}.pawprint-2{right:55px;top:78px;transform:rotate(15deg)}.news-featured-body{padding:33px 35px 37px}.news-meta{display:flex;align-items:center;gap:11px;flex-wrap:wrap;font-size:11px;color:#7c93a2}.news-category{display:inline-flex;padding:4px 10px;border-radius:999px;background:#eaf7ff;color:var(--blue);font-weight:700}.news-category-campaign{background:#fff1db;color:#a46d15}.news-kicker{font-size:10px;letter-spacing:.2em;color:var(--gold);font-weight:800;margin-top:16px}.news-featured h3{font-size:27px;margin:6px 0 16px}.news-featured-body>p:not(.news-kicker){font-size:14px;line-height:2;margin-top:10px}.news-featured .btn{margin-top:25px}.news-side-list{display:grid;grid-template-rows:1fr 1fr;gap:22px}.news-card{display:grid;grid-template-columns:205px 1fr;border:1px solid #e3edf4;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 9px 28px rgba(32,104,154,.07);min-height:0}.news-card-media{display:block;position:relative;overflow:hidden}.news-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.news-card-media:hover img{transform:scale(1.025)}.status-badge{position:absolute;left:13px;top:13px;background:rgba(255,255,255,.94);color:#627b8d;border:1px solid rgba(255,255,255,.9);border-radius:999px;padding:5px 10px;font-size:10px;font-weight:700}.news-card-body{padding:24px 23px;display:flex;flex-direction:column}.news-card h3{font-size:18px;line-height:1.7;margin:10px 0 10px}.news-card p{font-size:12px;line-height:1.9}.card-link{margin-top:auto;padding-top:14px;font-size:12px;font-weight:750;text-decoration:none}
.archive-note{padding:18px 0 40px}.archive-box{display:grid;grid-template-columns:64px 1fr 70px;gap:22px;align-items:center;padding:27px 31px;border:1px dashed #b8d7e9;border-radius:22px;background:#fbfdff}.archive-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#eaf7ff;font-size:25px}.archive-box h2{font-size:21px;margin-bottom:8px}.archive-box p:last-child{font-size:13px}.archive-box>img{width:58px;margin:auto}.instagram-section{background:linear-gradient(180deg,#fff,#f7fcff)}.instagram-wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:65px;align-items:center}.instagram-copy h2{font-size:30px;margin-bottom:13px}.instagram-copy>p:last-of-type{font-size:14px;line-height:2}.instagram-copy .btn{margin-top:25px}.instagram-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:180px 180px;gap:13px}.instagram-grid img{width:100%;height:100%;object-fit:cover;border-radius:22px}.instagram-grid img:first-child{grid-row:1/3}.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}.news-layout{grid-template-columns:1fr}.news-featured{grid-template-columns:.9fr 1.1fr;grid-template-rows:none}.news-side-list{grid-template-columns:1fr 1fr;grid-template-rows:none}.news-card{grid-template-columns:1fr}.news-card-media{height:190px}.instagram-wrap{gap:34px}}
@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:28px;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:265px}.hero-visual:before{width:290px;height:180px}.hero-card{width:min(330px,90%);min-height:210px;padding:34px 30px}.hero-card strong{font-size:25px;margin-top:18px}.hero-cat{width:68px;right:15px}.hero-bubble{right:-4px;bottom:62px;font-size:9px}.section{padding:58px 0}.section-heading{margin-bottom:30px}.section-heading h2{font-size:25px}.section-heading>p:last-child{font-size:13px}.news-layout{display:block}.news-featured{display:block;border-radius:23px}.anniversary-art{height:255px}.anniversary-art strong{font-size:90px}.anniversary-art img{width:67px;right:23px}.news-featured-body{padding:26px 23px 29px}.news-featured h3{font-size:23px}.news-side-list{display:grid;grid-template-columns:1fr;gap:20px;margin-top:21px}.news-card{grid-template-columns:120px 1fr;min-height:220px}.news-card-media{height:auto}.news-card-body{padding:18px 17px}.news-card h3{font-size:16px;margin-top:7px}.news-card p{font-size:11px}.archive-note{padding-bottom:25px}.archive-box{grid-template-columns:48px 1fr;gap:14px;padding:21px}.archive-icon{width:44px;height:44px;font-size:21px}.archive-box>img{display:none}.archive-box h2{font-size:18px}.instagram-wrap{grid-template-columns:1fr;gap:30px}.instagram-copy h2{font-size:25px}.instagram-grid{grid-template-rows:125px 125px;gap:8px}.instagram-grid img{border-radius:15px}.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)}}


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

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



/* 20260910-r3: one retained notice, no empty campaign column. */
.news-layout.news-layout--single { display:block; max-width:1080px; margin-inline:auto; }
.news-layout--single .news-featured { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); grid-template-rows:auto; }
.news-layout--single .anniversary-art { min-height:320px; }
@media (max-width:767px) {
  .news-layout--single .news-featured { display:block; }
  .news-layout--single .anniversary-art { height:255px; min-height:255px; }
}
