:root{--navy:#122e43;--blue:#176581;--teal:#007d83;--paper:#fff;--pale:#edf3f5;--line:#d3dee4;--ink:#172c3a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select,textarea{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #087f9c;outline-offset:5px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:800;line-height:1.5}h2{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:.035em}h3{font-size:1.75rem}p{overflow-wrap:anywhere}button{cursor:pointer}button:disabled{cursor:default}small{font-size:.8125rem}section[id]{scroll-margin-top:110px}.wrap{width:min(1200px,88%);margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:.875rem;letter-spacing:.13em;font-weight:700;color:var(--blue);margin-bottom:18px}.eyebrow span{display:inline-block;margin-right:17px;font-size:1.15rem;border-bottom:3px solid var(--teal)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:15px}.skip:focus{top:10px}.header{height:96px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding-inline:3.5%;position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(18,46,67,.08)}.brand{display:flex;gap:13px;align-items:center;flex-shrink:0;line-height:1.4;font-size:1.15rem;font-weight:800;letter-spacing:.02em}.brand small{display:block;letter-spacing:.19em;margin-top:5px;font-size:.7rem}.brand-mark{font-family:Arial,sans-serif;font-style:italic;font-weight:900;letter-spacing:-.1em;font-size:2.3rem;color:var(--teal);position:relative;padding-right:4px}.brand-mark>span{font-size:1.5rem;color:var(--navy);margin-left:2px}.header nav{display:flex;align-items:center;gap:26px;font-size:.875rem;font-weight:700}.header nav a{position:relative}.header nav a:not(.nav-contact):after{content:"";position:absolute;bottom:-9px;left:0;width:100%;height:2px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover:after,.header nav a[aria-current]:after{transform:scaleX(1)}.nav-contact{background:var(--navy);padding:17px 21px;color:#fff}.nav-contact span{margin-left:20px}.menu-button{display:none}.hero{padding-top:46px}.hero-heading{width:88%;max-width:1280px;margin:auto;position:relative;padding-bottom:36px}.hero-heading h1{font-size:clamp(2.8rem,5vw,5.3rem);line-height:1.35;letter-spacing:.025em}.hero-heading .eyebrow{margin-bottom:16px}.hero-heading h1>span{display:inline-block}.hero-recruit{position:absolute;right:0;bottom:43px;padding:19px 23px;border-left:3px solid var(--teal);font-size:.9rem;line-height:1.7}.hero-recruit strong{font-size:1.05rem}.hero-recruit>span{display:block;color:var(--teal);font-weight:700;margin-top:10px}.hero-photo{position:relative;width:94%;height:clamp(330px,39vw,620px);margin-left:auto;overflow:hidden}.hero-photo img{object-position:center 49%}.hero-caption{position:absolute;bottom:0;left:0;padding:17px 30px;background:var(--navy);color:#fff;font-weight:700;letter-spacing:.1em}.photo-index{position:absolute;bottom:20px;right:25px;color:#fff;background:rgba(18,46,67,.75);padding:3px 10px;font:700 .75rem Arial,sans-serif;letter-spacing:.14em}.hero-bottom{display:flex;justify-content:space-between;width:88%;max-width:1280px;margin:28px auto 0;align-items:center}.hero-bottom p{font-weight:700}.hero-bottom a{font-size:.875rem;border-bottom:1px solid var(--ink);padding-bottom:6px}.section-heading{margin-bottom:24px}.section-lead{margin-bottom:48px;line-height:2.1;color:#4b606e}.business-list{display:grid;gap:52px}.business-row{display:grid;grid-template-columns:58% 42%;align-items:center}.business-photo{height:360px;overflow:hidden;position:relative}.business-photo img{transition:transform .8s}.business-row:hover img{transform:scale(1.04)}.business-photo>span{position:absolute;left:0;bottom:0;background:#fff;color:var(--navy);font:bold 4.5rem/1 Arial,sans-serif;padding:16px 28px 0 0;letter-spacing:-.05em}.business-copy{padding:35px 0 35px 55px}.business-copy .eyebrow{font-size:.8rem;letter-spacing:.025em}.business-copy h3{font-size:2.2rem;margin-bottom:16px}.business-copy>p:not(.eyebrow){font-size:.9375rem}.text-link{display:inline-block;font-weight:700;border-bottom:1px solid #91a6b3;padding-bottom:7px;margin-top:30px;font-size:.9375rem}.business-row:nth-child(even){grid-template-columns:42% 58%}.business-row:nth-child(even) .business-photo{order:2}.business-row:nth-child(even) .business-copy{padding-left:0;padding-right:45px}.about-strip{background:var(--pale);padding-block:90px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-grid h2{font-size:clamp(2rem,3.4vw,3.3rem)}.about-grid p{line-height:2.2}.button{display:flex;align-items:center;justify-content:space-between;gap:30px;width:fit-content;max-width:100%;padding:19px 26px;background:var(--navy);color:#fff;border:1px solid var(--navy);font-weight:700;font-size:.9375rem;line-height:1.6;transition:background .25s,transform .25s}.button:hover{background:var(--teal);border-color:var(--teal)}.button span{font-size:1.25rem}.button.light{background:#fff;border-color:#fff;color:var(--navy)}.button.light:hover{background:var(--pale)}.about-grid .button{margin-top:30px}.recruit-banner{position:relative;height:520px;overflow:hidden;margin:100px 4%}.recruit-banner>img{object-position:center 48%}.banner-copy{position:absolute;top:0;bottom:0;left:0;width:49%;min-width:390px;background:rgba(13,42,60,.86);padding:60px 6%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff}.banner-copy h2{font-size:clamp(1.9rem,3vw,3rem);margin-bottom:30px}.banner-copy .eyebrow{color:#a6e0e3}.footer{background:var(--navy);color:#fff;padding:58px 6% 25px}.footer .brand-mark{color:#7dd5d6}.footer .brand-mark>span{color:#fff}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:46px}.footer-top p{font-size:.875rem;color:#c5d5df}.footer-bottom{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;border-top:1px solid #476071;padding-top:24px;align-items:center}.footer-bottom nav{display:flex;gap:25px;flex-wrap:wrap;font-size:.8125rem}.footer-bottom>a{font-size:.8125rem}.footer-bottom small{font-family:Arial,sans-serif;color:#c5d5df}.page-heading{padding-top:76px;padding-bottom:54px}.page-heading h1{font-size:clamp(2.4rem,4.3vw,4.25rem);margin-bottom:22px}.page-heading>p:last-child{color:#516371}.anchor-nav{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:65px}.anchor-nav a{flex:1;padding:22px 15px;font-weight:700;text-align:center}.anchor-nav a+a{border-left:1px solid var(--line)}.anchor-nav a:hover{background:var(--pale)}.service-section{margin-bottom:85px}.service-wide{height:530px;position:relative;overflow:hidden;margin-right:6%;}.service-wide>img{object-position:center 46%}.service-label{position:absolute;bottom:0;left:6.4%;background:#fff;min-width:330px;padding:22px 34px 18px}.service-label>span{position:absolute;top:-70px;left:0;background:var(--navy);color:#fff;font:bold 3rem/1 Arial,sans-serif;padding:14px 25px}.service-label h2{font-size:2.75rem}.service-label p{font-size:.8125rem;letter-spacing:.15em;color:var(--blue);font-weight:700}.service-details{display:grid;grid-template-columns:40% 60%;gap:0;padding-top:55px}.service-details>h3{font-size:2.3rem}.service-details>div{padding-left:20px}.service-item{border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.service-item h4{font-size:1.25rem;margin-bottom:9px}.company-photo{width:88%;height:440px;margin:auto;overflow:hidden}.company-photo img{object-position:center 40%}.company-data{display:grid;grid-template-columns:35% 65%;gap:0}.profile{margin:0}.profile>div{display:grid;grid-template-columns:140px 1fr;padding:25px 0;border-bottom:1px solid var(--line)}.profile>div:first-child{border-top:2px solid var(--navy)}.profile dt{font-weight:700}.profile dd{margin:0}.access-section{background:var(--pale);padding-block:85px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:45px}.location-tag{font-size:.875rem;font-weight:700;color:var(--teal);letter-spacing:.12em}.access-grid h3{font-size:2.2rem;margin-block:10px}.access-grid .button{margin-top:30px}.address-panel{border:1px solid #b7cbd5;padding:35px 42px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;border-left:5px solid var(--teal)}.address-panel>strong{font-size:3.1rem;letter-spacing:.13em}.address-panel small{color:var(--blue);letter-spacing:.15em;margin-top:16px}.recruit-hero{height:650px;position:relative;overflow:hidden}.recruit-hero>img{object-position:center}.recruit-hero>div{position:absolute;left:6%;top:50%;transform:translateY(-50%);background:rgba(15,44,63,.88);color:#fff;padding:42px 44px}.recruit-hero h1{font-size:clamp(2.3rem,3.7vw,3.6rem);margin-bottom:22px}.recruit-hero .eyebrow{color:#91d8da}.recruit-hero .button{margin-top:28px}.jobs{display:grid;gap:45px}.job{display:grid;grid-template-columns:44% 56%;background:var(--pale)}.job>img{min-height:410px}.job-content{padding:34px 40px;position:relative}.job-content h3{font-size:2rem;margin-bottom:14px}.job-content>.eyebrow{padding-right:70px;font-size:.8125rem}.job-number{position:absolute;right:35px;top:24px;font:bold 3.2rem/1.1 Arial,sans-serif;color:var(--blue)}.job-content details{border-top:1px solid #beced7;margin-top:20px;padding-top:13px}.job-content summary{font-size:.9375rem;font-weight:700;cursor:pointer;padding-block:8px}.job-content details p{padding-top:15px}.job-content .button{margin-top:24px}.flow-section{padding-block:100px;background:var(--navy);color:#fff}.flow-section .eyebrow{color:#8fd7da}.flow-section .eyebrow>span{border-color:#8fd7da}.flow-section .section-lead{color:#c6d9e3}.flow{list-style:none;padding:0;margin:0;position:relative}.flow:before{content:"";position:absolute;width:1px;background:#567582;left:51px;top:40px;bottom:50px}.flow li{display:flex;align-items:flex-start;gap:40px;padding:28px 0;position:relative}.flow-number{font:bold 3.8rem/1 Arial,sans-serif;position:relative;background:var(--navy);color:#91d8da;padding:10px 0;width:104px;text-align:center;flex-shrink:0}.flow h3{margin-bottom:9px;font-size:1.6rem}.flow p{color:#c6d9e3}.flow li>div{border-bottom:1px solid #405e71;padding-bottom:28px;flex:1}.recruit-bottom{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact-layout{display:grid;grid-template-columns:35% 57%;justify-content:space-between;padding-bottom:100px}.contact-layout aside h2{font-size:1.8rem;margin-bottom:20px}.contact-layout aside p{color:#5b6b77}.contact-note{margin-top:24px;font-size:.875rem}form label{display:block;font-weight:700;margin-bottom:25px}form label[hidden]{display:none}form b{font-size:.75rem;padding:3px 7px;background:var(--pale);color:var(--blue);margin-left:10px}input,select,textarea{display:block;width:100%;padding:13px 15px;border:1px solid #b7c7d1;background:#fff;color:var(--ink);border-radius:0;margin-top:9px;font-weight:400}textarea{resize:vertical}#form-status{margin-top:15px}dialog{border:0;padding:45px;max-width:650px;width:90%;max-height:85vh;color:var(--ink)}dialog::backdrop{background:rgba(12,29,42,.7)}.close-dialog{position:absolute;right:12px;top:7px;border:0;background:none;font-size:2rem;color:var(--navy)}#confirmation-data{margin-block:25px}#confirmation-data>div{padding:12px 0;border-top:1px solid var(--line)}#confirmation-data dt{font-weight:700;font-size:.875rem}#confirmation-data dd{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.confirmation-notice{background:var(--pale);font-size:.875rem;padding:16px;margin-bottom:22px}body.menu-open{overflow:hidden}
@media(min-width:1600px){.hero-photo{height:650px}.hero-heading{padding-bottom:45px}}@media(max-width:1100px){.header{padding-inline:4%;height:82px}.header nav{gap:16px;font-size:.8125rem}.brand{font-size:1rem}.brand-mark{font-size:2rem}.nav-contact{padding:13px}.hero-heading{padding-bottom:30px}.business-copy{padding-left:35px}.business-copy h3{font-size:1.9rem}.business-photo{height:320px}.banner-copy{padding:40px 5%}.job-content{padding:28px}.job-number{right:25px}.footer-bottom{gap:20px}}
@media(max-width:900px){.header{height:78px}.menu-button{display:block;background:#fff;border:0;color:var(--navy);font-size:.75rem;font-weight:700;width:70px;padding:8px}.menu-button span{display:block;height:2px;width:28px;background:var(--navy);margin:5px auto;transition:transform .25s}.menu-button[aria-expanded=true] span:first-of-type{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-of-type{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:25px 6% 35px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 78px);overflow:auto;border-bottom:1px solid var(--line)}.header nav.is-open{display:flex}.header nav a{padding:16px;font-size:1rem}.header nav a:after{display:none}.nav-contact{margin-top:15px}.hero-recruit{display:none}.hero-heading h1{font-size:clamp(2.5rem,7vw,4.4rem)}.hero-photo{width:100%;height:440px}.hero-photo img{object-position:center}.hero-bottom{margin-top:24px}.section{padding-block:75px}.business-copy{padding-left:25px}.business-photo{height:280px}.business-copy h3{font-size:1.6rem}.business-copy .eyebrow{font-size:.75rem}.business-row:nth-child(even) .business-copy{padding-right:25px}.about-grid{gap:40px}.recruit-banner{margin:65px 0;height:470px}.company-data{grid-template-columns:1fr;gap:25px}.access-grid{gap:30px}.service-wide{height:420px}.service-details{grid-template-columns:36% 64%}.service-details>h3{font-size:1.9rem}.job{grid-template-columns:40% 60%}.job>img{min-height:460px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-layout aside{max-width:600px}.contact-note{margin-top:12px}}
@media(max-width:600px){html{scroll-padding-top:85px}.wrap{width:88%}.hero{padding-top:30px}.hero-heading h1{font-size:clamp(2rem,8vw,3rem);line-height:1.5}.hero-heading .eyebrow{font-size:.75rem;letter-spacing:.04em}.hero-photo{height:auto;aspect-ratio:1.32}.hero-photo img{object-fit:cover;object-position:center}.hero-caption{font-size:.75rem;padding:12px 17px}.photo-index{display:none}.hero-bottom{align-items:flex-start;gap:20px}.hero-bottom p{font-size:.875rem}.hero-bottom a{font-size:.75rem;flex-shrink:0;max-width:104px}.section-heading{margin-bottom:20px}.section-lead{font-size:.9375rem;margin-bottom:32px}.section{padding-block:62px}.business-list{gap:40px}.business-row,.business-row:nth-child(even){grid-template-columns:1fr}.business-row:nth-child(even) .business-photo{order:0}.business-photo{height:260px}.business-photo>span{font-size:3.8rem;padding-right:20px}.business-copy,.business-row:nth-child(even) .business-copy{padding:23px 0 0}.business-copy .eyebrow{margin-bottom:7px}.business-copy h3{font-size:1.85rem;margin-bottom:10px}.text-link{margin-top:20px}.about-strip{padding-block:55px}.about-grid{grid-template-columns:1fr;gap:25px}.about-grid p br{display:none}.about-grid h2{font-size:2.15rem}.button{padding:17px 21px;font-size:.875rem}.recruit-banner{height:auto;margin:55px 0 0;display:flex;flex-direction:column}.recruit-banner>img{height:270px;object-position:center}.banner-copy{position:relative;width:100%;min-width:0;background:var(--navy);padding:35px 6% 42px}.banner-copy h2{font-size:2rem}.footer{padding-top:40px}.footer-top{display:block;padding-bottom:28px}.footer-top p{margin-top:24px}.footer-bottom{display:block}.footer-bottom nav{gap:15px 22px;margin-bottom:24px}.footer-bottom small{display:block}.footer-bottom>a{display:block;margin-top:18px}.page-heading{padding-top:43px;padding-bottom:32px}.page-heading h1{font-size:2.15rem}.page-heading>p:last-child{font-size:.9375rem}.anchor-nav{margin-bottom:36px}.anchor-nav a{font-size:.8125rem;padding:16px 6px}.service-wide{margin:0;height:340px}.service-label{left:6%;padding:15px 24px;min-width:240px}.service-label h2{font-size:2rem}.service-label>span{font-size:2.4rem;top:-58px;padding:10px 20px}.service-details{grid-template-columns:1fr;padding-top:30px;gap:22px}.service-details>div{padding:0}.service-details>h3{font-size:1.85rem}.service-details>h3 br{display:none}.service-section{margin-bottom:55px}.company-photo{width:100%;height:270px}.profile>div{grid-template-columns:1fr;gap:8px;padding:19px 0}.profile dt{font-size:.875rem;color:var(--blue)}.profile dd{font-size:.9375rem}.access-section{padding-block:55px}.access-grid{grid-template-columns:1fr;gap:30px;margin-top:25px}.address-panel{padding:25px 30px}.address-panel>strong{font-size:2.5rem}.recruit-hero{height:auto;display:flex;flex-direction:column}.recruit-hero>img{height:300px}.recruit-hero>div{position:relative;left:auto;top:auto;transform:none;background:var(--navy);padding:33px 6% 42px}.recruit-hero h1{font-size:2.2rem}.recruit-hero p{font-size:.9375rem}.job{grid-template-columns:1fr}.job>img{height:260px;min-height:0}.job-content{padding:26px 24px}.job-content h3{font-size:1.85rem}.job-number{font-size:2.8rem;top:23px}.job-content .button{width:100%;font-size:.8125rem;padding:16px}.flow-section{padding-block:60px}.flow li{gap:16px;padding:18px 0}.flow-number{width:68px;font-size:2.8rem;padding-top:6px}.flow:before{left:33px}.flow h3{font-size:1.25rem}.flow p{font-size:.9375rem}.flow li>div{padding-bottom:22px}.recruit-bottom{display:block}.recruit-bottom h2{font-size:1.9rem;margin-bottom:27px}.contact-layout{padding-bottom:60px}.contact-layout aside h2{font-size:1.5rem}dialog{padding:32px 23px}.eyebrow{font-size:.8125rem}.brand{font-size:.95rem;gap:9px}.brand small{font-size:.625rem}.header{padding-inline:5%}}
.branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:65px;padding-top:50px;border-top:1px solid #b9ccd6}.branch{background:#fff;padding:32px}.branch h3{font-size:1.7rem}.branch dl{margin-bottom:0}.branch dl>div{padding:12px 0;border-bottom:1px solid var(--line)}.branch dt{font-size:.8125rem;font-weight:700;color:var(--blue)}.branch dd{margin:4px 0 0;font-size:.9375rem}.job-terms{margin:24px 0 0;font-size:.9375rem}.job-terms>div{display:grid;grid-template-columns:105px 1fr;gap:10px;border-top:1px solid #bfced6;padding:12px 0}.job-terms dt{font-weight:700;font-size:.8125rem}.job-terms dd{margin:0}.job>img{max-height:620px;align-self:start;position:sticky;top:105px}.contact-phone{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-top:25px}.contact-phone strong{display:block;font:bold 1.7rem/1.7 Arial,sans-serif}.contact-phone span{font-size:.875rem}.contact-email{font-size:.875rem;margin-top:12px}@media(max-width:600px){.branch-grid{grid-template-columns:1fr;gap:25px;margin-top:35px;padding-top:35px}.branch{padding:24px}.job-terms>div{grid-template-columns:1fr;gap:4px}.job>img{position:static}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
