:root{--forest:#173f35;--forest-deep:#0e2b25;--paper:#fff;--mist:#f0f4f1;--ink:#203b33;--muted:#5e7069;--brass:#ac996b;--line:#d6dfd9;--focus:#55704f;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:140px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;font-weight:400;line-height:2;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{touch-action:manipulation}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,h4{margin:0}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}::selection{background:#c7d7c9;color:var(--forest-deep)}
.mobile-break{display:none}.content-width{width:min(1200px,calc(100% - 128px));margin-inline:auto}.section-space{padding-block:112px}.section-mist{background:var(--mist)}.section-forest{background:var(--forest);color:#fff;--focus:#d4c395}.body-copy,.prose{color:var(--muted);line-height:2.2}.prose{max-width:760px}.prose p+p{margin-top:20px}.section-name,.eyebrow{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.09em;margin-bottom:23px}.section-name{display:flex;align-items:center;gap:12px}.section-name::before{content:"";width:6px;height:6px;background:var(--brass);flex-shrink:0}.section-statement,.section-heading{font-family:var(--serif);font-size:clamp(30px,3.1vw,44px);font-weight:500;line-height:1.75;letter-spacing:.04em}.section-heading{margin-bottom:28px}.split-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.media-frame{display:block;overflow:hidden;background:var(--mist)}.media-frame img{width:100%;height:100%;object-fit:cover}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding-block:13px 10px;border-bottom:1px solid #839d8c;font-size:13px;font-weight:500}.text-link::after{content:"";width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg);margin-right:3px}.text-link:hover{color:#42705e}.button,.button-outline{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-height:58px;padding:17px 26px;font-size:13px;font-weight:500;background:var(--forest);color:#fff;border:1px solid var(--forest)}.button::after,.button-outline::after{content:"";width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}.button:hover{background:var(--forest-deep)}.button-outline{background:transparent;color:var(--forest)}.button-outline:hover{background:var(--mist)}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.related-link{display:block;border-top:1px solid var(--line);padding:28px 0;font-size:19px;font-family:var(--serif)}.fact-table{margin:0}.fact-table>div{display:grid;grid-template-columns:105px 1fr;gap:28px;padding-block:23px;border-bottom:1px solid var(--line)}.fact-table>div:first-child{border-top:1px solid var(--line)}.fact-table dt{font-size:12px;font-weight:500}.fact-table dd{margin:0;overflow-wrap:anywhere;font-size:14px}
.skip-link{position:fixed;top:12px;left:12px;z-index:200;background:#fff;color:var(--forest);padding:10px 20px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{position:sticky;z-index:100;top:0;background:#fff;border-bottom:1px solid #e0e6e1}.header-inner{height:120px;width:min(1320px,calc(100% - 96px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:inline-flex;align-items:center;gap:20px;flex-shrink:0}.brand-emblem{position:relative;display:block;overflow:hidden;width:136px;height:100px}.brand-emblem img{position:absolute;width:186px;max-width:none;height:186px;left:-25px;top:-42px}.brand-caption{display:block;border-left:1px solid var(--line);padding-left:20px;font-family:var(--serif);font-size:13px;line-height:1.85;letter-spacing:.05em}.site-nav{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:500;line-height:1.8}.site-nav>a{padding-block:10px;position:relative;white-space:nowrap}.site-nav>a[aria-current="page"]:not(.nav-contact)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brass)}.site-nav>a:hover{color:#577766}.site-nav .nav-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 23px;background:var(--forest);color:#fff;margin-left:5px}.nav-contact svg{width:19px;height:19px}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:13px;font-size:11px;line-height:1.8;margin-bottom:40px;color:#d3dfd6}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.breadcrumb span[aria-hidden]{opacity:.6}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:13px;padding:0;margin:0}.page-hero{background:var(--forest);color:#fff;--focus:#d4c395}.page-hero-inner{padding-block:24px 65px}.page-hero-title{font-family:var(--serif);font-size:clamp(42px,4.8vw,68px);font-weight:500;line-height:1.6;letter-spacing:.06em;margin-bottom:20px}.page-hero-lead{max-width:720px;color:#e0e9e3;font-size:15px;line-height:2.1}
.home-hero{position:relative;background:var(--forest);color:#fff;--focus:#d4c395;isolation:isolate;min-height:686px;padding-block:73px 37px;overflow:hidden}.home-hero-image{position:absolute;z-index:-1;top:0;right:0;bottom:0;width:49%;height:auto}.home-hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.home-hero-copy{width:57%}.home-hero h1{font-family:var(--serif);font-size:clamp(60px,5.6vw,80px);font-weight:500;line-height:1.55;letter-spacing:.07em}.home-hero-lead{font-size:14px;line-height:2.2;color:#e2eae5;margin-top:31px;max-width:460px}.home-hero .text-link{color:#fff;border-color:#b2c6b9;margin-top:28px}.home-hero-foot{margin-top:49px;font-size:11px;color:#bed0c3}.home-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:110px;align-items:end;margin-bottom:56px}.home-intro .body-copy{padding-bottom:9px}.home-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.home-business{border-bottom:1px solid var(--line);padding-bottom:25px}.home-business .media-frame{aspect-ratio:1.5;overflow:hidden}.home-business img{transition:transform .35s ease}.home-business:hover img{transform:scale(1.025)}.home-business-copy{padding-top:23px}.home-business-category{font-size:11px;letter-spacing:.055em;color:var(--muted);margin-bottom:7px}.home-business h3{font-family:var(--serif);font-size:28px;line-height:1.7;font-weight:500;margin-bottom:13px}.home-business .body-copy{font-size:13px;line-height:2.1;min-height:83px}.home-business .text-link{margin-top:13px}.section-ending{display:flex;justify-content:flex-end;margin-top:38px}.home-about{display:grid;grid-template-columns:1.08fr 1fr;align-items:stretch;background:var(--mist)}.home-about-photo{min-height:560px}.home-about-photo img{width:100%;height:100%;object-fit:cover;object-position:42% center}.home-about-copy{padding:84px max(64px,calc((100vw - 1200px)/2)) 84px 74px}.home-about-copy .section-statement{font-size:clamp(32px,3vw,44px);white-space:nowrap}.home-about-copy .body-copy{max-width:455px;margin-top:28px;font-size:14px}.home-about-copy .text-link{margin-top:24px}.home-company{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.home-company-intro .body-copy{margin-top:22px;font-size:14px;max-width:430px}.home-company .text-link{margin-top:26px}.home-company-facts{display:grid;grid-template-columns:135px 1fr;align-items:start;gap:40px}.home-company-logo{width:135px;height:102px;position:relative;overflow:hidden;margin-top:15px}.home-company-logo img{width:185px;height:185px;max-width:none;position:absolute;left:-25px;top:-42px}.home-company dl{margin:0}.home-company dl>div{padding-block:15px;border-bottom:1px solid var(--line)}.home-company dl>div:first-child{padding-top:0}.home-company dt{font-size:11px;color:var(--muted);margin-bottom:5px}.home-company dd{margin:0;font-size:14px;line-height:1.9}
.cta-strip{padding-block:76px;background:var(--forest);color:#fff;--focus:#d4c395}.cta-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}.cta-strip .section-name{color:#dce6df}.cta-title{font-family:var(--serif);font-size:clamp(30px,3vw,42px);font-weight:500;line-height:1.7;letter-spacing:.05em}.cta-description{font-size:13px;color:#d3dfd7;margin-top:18px}.cta-action{text-align:right}.cta-strip .button{background:#fff;color:var(--forest);border-color:#fff;min-width:310px}.cta-strip .button:hover{background:var(--mist)}.cta-mail{font-size:13px;display:inline-block;border-bottom:1px solid #9db3a5;padding-bottom:4px;margin-top:21px;overflow-wrap:anywhere}
.site-footer{padding:64px 0 25px;background:#fff}.footer-top{display:grid;grid-template-columns:1.1fr 1fr;gap:70px}.footer-brand-wrap{display:flex;align-items:center;gap:33px}.footer-emblem{position:relative;display:block;width:177px;height:132px;overflow:hidden;flex-shrink:0}.footer-emblem img{position:absolute;width:242px;max-width:none;height:242px;left:-32px;top:-55px}.footer-company{font-family:var(--serif);font-size:16px;margin-bottom:11px}.footer-address{font-size:11px;color:var(--muted);line-height:2}.footer-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 45px;padding-top:9px}.footer-nav-group>a{font-size:13px;font-weight:500;display:inline-block;margin-bottom:10px}.footer-nav-group ul{list-style:none;padding:0;margin:0}.footer-nav-group li{font-size:11px;color:var(--muted);margin-block:5px}.footer-nav-grid a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{margin-top:46px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:10px;color:var(--muted)}.back-top{display:flex;align-items:center;gap:11px}.back-top svg{width:16px;height:16px}
@media(min-width:1700px){.home-hero-image{right:calc((100% - 1600px)/2);width:720px}.home-about-copy{padding-right:calc((100vw - 1200px)/2)}}
@media(max-width:1120px){.content-width{width:calc(100% - 96px)}.header-inner{width:calc(100% - 72px);gap:24px}.brand-caption{display:none}.site-nav{gap:24px;font-size:12px}.section-space{padding-block:92px}.home-hero h1{font-size:61px}.home-hero-image{width:46%}.home-hero{min-height:650px}.home-intro{gap:66px}.home-business-grid{gap:23px}.home-business h3{font-size:26px}.home-about-copy{padding:70px 48px}.home-about-copy .section-statement{font-size:33px}.home-about-photo{min-height:500px}.home-company{gap:55px}.home-company-facts{grid-template-columns:1fr;gap:22px}.home-company-logo{display:none}.footer-top{gap:40px}.footer-brand-wrap{gap:20px;align-items:flex-start}.footer-emblem{width:136px;height:100px}.footer-emblem img{width:186px;height:186px;left:-25px;top:-42px}.footer-company{font-size:14px}.footer-nav-grid{gap:20px}.cta-inner{gap:48px}}
@media(max-width:900px){html{scroll-padding-top:115px}.header-inner{height:102px;width:calc(100% - 64px)}.brand-emblem{width:112px;height:82px}.brand-emblem img{width:153px;height:153px;left:-20.5px;top:-34.9px}.site-nav{gap:20px;font-size:12px}.site-nav .nav-contact{gap:15px;padding:15px 18px}.home-hero{padding-top:56px;min-height:630px}.home-hero h1{font-size:clamp(40px,7vw,55px)}.home-hero-image{width:43%}.home-hero-copy{width:calc(57vw - 72px)}.home-hero-lead{font-size:13px;max-width:390px}.home-intro{gap:42px}.home-intro .section-statement{font-size:31px}.home-intro .body-copy{font-size:13px}.home-business h3{font-size:23px}.home-business .body-copy{font-size:12px;min-height:110px}.home-business-grid{gap:20px}.home-business .media-frame{aspect-ratio:1.5}.home-business .text-link{font-size:12px;gap:16px}.home-about-copy{padding:62px 40px}.home-about-copy .section-statement{font-size:29px}.home-about-copy .body-copy{font-size:13px}.home-company{gap:48px}.home-company .section-statement{font-size:31px}.footer-top{grid-template-columns:1fr;gap:38px}.footer-nav-grid{grid-template-columns:repeat(3,1fr);gap:25px}.footer-brand-wrap{gap:32px}.footer-company{font-size:17px}.footer-address{font-size:12px}.split-layout{gap:42px}.page-hero-title{font-size:52px}.cta-strip .button{min-width:0;width:100%}.cta-title{font-size:31px}.cta-mail{font-size:12px}.related-grid{gap:20px}}
@media(max-width:640px){.mobile-break{display:initial}html{scroll-padding-top:101px}.content-width{width:calc(100% - 48px)}.header-inner{height:88px;width:calc(100% - 48px);gap:20px}.brand-emblem{width:96px;height:71px}.brand-emblem img{width:131.2px;height:131.2px;left:-17.6px;top:-29.9px}.brand-caption{display:block;padding-left:17px;font-size:10px;line-height:1.9}.brand{gap:14px}.section-space{padding-block:72px}.section-name,.eyebrow{font-size:11px;margin-bottom:20px}.section-statement,.section-heading{font-size:29px;line-height:1.8}.body-copy,.prose{font-size:13px;line-height:2.15}.split-layout{grid-template-columns:1fr;gap:34px}.text-link{font-size:12px;gap:30px}.button,.button-outline{font-size:12px;min-height:55px;padding:17px 22px;gap:30px}.breadcrumb{font-size:10px;gap:10px;margin-bottom:30px}.page-hero-inner{padding-block:20px 43px}.page-hero-title{font-size:37px;line-height:1.65;letter-spacing:.045em;margin-bottom:16px}.page-hero-lead{font-size:13px;line-height:2.15}.home-hero{display:flex;flex-direction:column;padding-top:35px;padding-bottom:0;min-height:0}.home-hero-inner{order:0}.home-hero-copy{width:100%}.home-hero h1{font-size:clamp(39px,10.6vw,59px);letter-spacing:.065em;line-height:1.55}.home-hero-lead{font-size:12px;line-height:2.15;margin-top:23px;max-width:340px}.home-hero .text-link{margin-top:18px}.home-hero-image{order:2;position:relative;top:auto;right:auto;bottom:auto;z-index:0;width:100%;height:260px;margin:0}.home-hero-image img{object-position:50% 50%}.home-hero-foot{order:1;margin-top:18px;margin-bottom:28px;font-size:9px}.home-intro{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.home-intro .section-statement{font-size:29px}.home-intro .body-copy{padding:0}.home-business-grid{grid-template-columns:1fr;gap:35px}.home-business{padding-bottom:25px}.home-business .media-frame{aspect-ratio:1.5}.home-business-copy{padding-top:20px}.home-business-category{font-size:10px}.home-business h3{font-size:28px;margin-bottom:11px}.home-business .body-copy{font-size:13px;min-height:0;max-width:480px}.home-business .text-link{margin-top:12px}.section-ending{margin-top:31px;justify-content:flex-start}.home-about{grid-template-columns:1fr}.home-about-photo{min-height:0;aspect-ratio:1.35}.home-about-copy{padding:50px 24px 60px}.home-about-copy .section-statement{font-size:30px;white-space:normal}.home-about-copy .body-copy{margin-top:21px;font-size:13px}.home-company{grid-template-columns:1fr;gap:36px}.home-company .section-statement{font-size:29px}.home-company-intro .body-copy{font-size:13px}.home-company-facts{grid-template-columns:96px 1fr;gap:24px}.home-company-logo{display:block;width:96px;height:72px;margin-top:12px}.home-company-logo img{width:131.2px;height:131.2px;left:-17.6px;top:-29.9px}.home-company dd{font-size:12px}.home-company dt{font-size:10px}.home-company .text-link{margin-top:20px}.cta-strip{padding-block:59px}.cta-inner{grid-template-columns:1fr;gap:28px}.cta-title{font-size:30px}.cta-description{font-size:12px}.cta-action{text-align:left}.cta-strip .button{width:100%;max-width:420px}.cta-mail{font-size:12px;margin-top:18px}.site-footer{padding:43px 0 24px}.footer-top{gap:33px}.footer-brand-wrap{gap:24px;align-items:center}.footer-emblem{width:115px;height:85px}.footer-emblem img{width:157.1px;height:157.1px;left:-21px;top:-35.8px}.footer-company{font-size:12px;line-height:1.9}.footer-address{font-size:10px}.footer-nav-grid{grid-template-columns:1fr 1fr;gap:24px 30px}.footer-nav-group>a{font-size:12px}.footer-nav-group li{font-size:10px}.footer-bottom{margin-top:32px;align-items:flex-start;font-size:9px}.back-top{gap:7px;white-space:nowrap}.back-top svg{width:13px;height:13px}.related-grid{grid-template-columns:1fr;gap:0}.related-link{font-size:18px;padding-block:20px}.fact-table>div{grid-template-columns:70px minmax(0,1fr);gap:16px;padding-block:19px}.fact-table dt{font-size:11px}.fact-table dd{font-size:12px}.desktop-break{display:none}}
@media(max-width:359px){.brand-caption{display:none}.home-hero h1{font-size:36px}.home-hero-image{height:230px}.page-hero-title{font-size:31px}.home-company-facts{grid-template-columns:1fr}.home-company-logo{display:none}.footer-brand-wrap{gap:15px}.footer-emblem{width:96px;height:71px}.footer-emblem img{width:131.2px;height:131.2px;left:-17.6px;top:-29.9px}.footer-company{font-size:11px}.cta-title{font-size:clamp(24px,7.5vw,27px)}.section-statement,.section-heading{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Navigation stays visible at every screen size. */
@media(max-width:640px){
  html{scroll-padding-top:146px}
  .header-inner{height:auto;width:calc(100% - 40px);display:flex;flex-direction:column;align-items:stretch;gap:0}
  .brand{align-self:flex-start;height:76px;gap:18px}
  .brand-emblem{width:86px;height:63px}
  .brand-emblem img{width:117.5px;height:117.5px;left:-15.75px;top:-26.8px}
  .brand-caption{display:block;font-size:10px;padding-left:18px}
  .site-nav{display:flex;justify-content:space-between;gap:6px;width:100%;font-size:clamp(11px,3.05vw,12px);padding-bottom:10px;line-height:1.7}
  .site-nav>a{min-height:44px;display:flex;align-items:center;justify-content:center;padding:9px 0}
  .site-nav>a[aria-current="page"]:not(.nav-contact)::after{bottom:3px}
  .site-nav .nav-contact{min-height:44px;gap:0;padding:9px 6px;margin:0}
  .site-nav .nav-contact svg{display:none}
}
@media(max-width:359px){.header-inner{width:calc(100% - 24px)}.site-nav{font-size:11px;gap:6px}}
@media(max-width:640px) and (max-height:450px){
  .brand{height:56px}.brand-emblem{width:65px;height:48px}.brand-emblem img{width:88.9px;height:88.9px;left:-11.9px;top:-20.3px}
  .brand-caption{font-size:9px}html{scroll-padding-top:126px}
}

/* Keep the longer service name readable at natural phrase boundaries. */
.sales-title-part{display:inline-block}
@media(max-width:359px){#sales h2{font-size:27px;letter-spacing:.025em}}
