@charset "UTF-8";
:root{--navy:#172e45;--sage:#6b8372;--sage-light:#e9eee9;--ivory:#f8f7f3;--ink:#26394b;--muted:#61707b;--line:#dbe0df;--white:#fff;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--white);font:15px/1.95 var(--sans);-webkit-text-size-adjust:100%}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a,button,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9eae91;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.65;letter-spacing:.07em}p+p{margin-top:1.25em}h1{font-size:clamp(32px,3.9vw,57px);line-height:1.62}h2{font-size:clamp(26px,2.55vw,37px)}h3{font-size:23px}::selection{background:var(--sage-light)}[hidden]{display:none!important}.wrap{max-width:1260px;width:calc(100% - 96px);margin-inline:auto}.section{padding-block:84px}.eyebrow{font:600 11px/1.7 var(--sans);color:var(--sage);letter-spacing:.16em;margin-bottom:18px}.muted{color:var(--muted)}.small,small{font-size:12px}.mobile-only{display:none}.skip-link{position:fixed;left:16px;top:-100px;background:var(--navy);color:white;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.98);border-bottom:1px solid #eceeeb;z-index:20}.header-inner{max-width:1390px;width:calc(100% - 80px);min-height:100px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{width:138px;display:inline-flex;align-items:center;flex-direction:column;flex-shrink:0}.brand img{width:138px;height:58px;object-fit:contain}.brand>span{display:block;font-size:10px;letter-spacing:.2em;line-height:1.2;margin-top:-3px}.site-nav{display:flex;align-items:center;gap:33px;font-size:13px;letter-spacing:.04em}.site-nav>a:not(.button),summary{padding-block:10px}.site-nav>a[aria-current]:not(.button){border-bottom:1px solid var(--navy)}.business-menu{position:relative}.business-menu summary{list-style:none;white-space:nowrap}.business-menu summary::-webkit-details-marker{display:none}.business-menu summary>span{margin-left:8px;color:var(--sage)}.business-menu>div{position:absolute;right:-65px;top:100%;min-width:220px;border:1px solid var(--line);padding:13px;background:white;box-shadow:0 12px 30px #172e4514}.business-menu>div a{display:block;padding:10px 15px}.business-menu>div a:hover,.business-menu>div a:focus-visible{background:var(--ivory)}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:16px 25px;border:1px solid var(--navy);background:var(--navy);color:white;font-size:13px;font-weight:600;line-height:1.6;letter-spacing:.08em;min-height:52px;transition:background .2s,color .2s}.button:hover:not(:disabled){background:#294760}.button-outline{background:transparent;color:var(--navy)}.button-outline:hover:not(:disabled){color:white}.button-small{padding:13px 19px;min-height:44px;font-size:12px}.button-light{background:transparent;border-color:#fff;color:#fff}.button-light:hover{background:white!important;color:var(--navy)}.button-row{display:flex;gap:16px;flex-wrap:wrap}.text-link{display:inline-block;border-bottom:1px solid #96a79c;padding-bottom:6px;font-size:14px}.text-link>span{margin-left:25px}
.home-hero{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;min-height:570px;padding-block:28px;gap:25px}.hero-copy{padding:38px 0}.hero-copy h1{margin:27px 0}.hero-lead{font-size:14px;line-height:2.1;margin:22px 0 34px}.hero-mosaic{height:510px;display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;gap:5px}.hero-mosaic img{width:100%;height:100%;object-fit:cover;min-height:0}.hero-main{grid-row:1/3;object-position:40% 50%}.hero-detail{object-position:55% 50%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading>p{font-size:13px;color:var(--muted)}.business-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:33px}.business-card{position:relative;padding-bottom:13px}.business-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:filter .2s}.business-card:hover img{filter:brightness(.93)}.card-number{display:block;margin-top:19px;font-size:11px;letter-spacing:.16em;color:var(--sage)}.business-card h3{font-size:20px;margin-top:2px}.card-en{font-size:9px;letter-spacing:.08em;color:var(--muted)}.card-arrow{position:absolute;bottom:14px;right:2px;color:var(--sage);font-size:20px}.about-band{background:var(--ivory);padding-block:64px}.about-band-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.about-band-inner p{font-size:15px}.about-band-inner .eyebrow{font-size:11px}.about-band-inner .text-link{margin-top:24px}.contact-band{background:var(--navy);color:white;padding-block:43px}.contact-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact-band h2{font-size:24px;letter-spacing:.04em}.contact-band .eyebrow{color:#b0c2b4;margin-bottom:7px}.site-footer{background:white}.footer-top{display:flex;justify-content:space-between;gap:55px;padding-block:55px}.footer-tagline{font-family:var(--serif);font-size:15px;margin-top:20px}.footer-links{display:flex;gap:80px;font-size:12px}.footer-links>div{display:flex;flex-direction:column;gap:10px}.footer-links a:hover{text-decoration:underline}.footer-bottom{padding-block:21px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:11px}
.breadcrumb{display:flex;gap:15px;padding-block:24px;font-size:11px;color:var(--muted)}.breadcrumb a:hover{text-decoration:underline}.detail-hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:60px;padding-block:30px 40px}.detail-hero .page-kicker{font-size:13px;color:var(--muted);letter-spacing:.1em;margin-bottom:25px}.detail-hero h1{font-size:clamp(30px,3.4vw,48px)}.detail-hero>img,.detail-hero figure img{width:100%;aspect-ratio:3/2;object-fit:cover}.detail-hero figcaption{font-size:10px;color:var(--muted);margin-top:9px;text-align:right}.detail-hero .hero-lead{margin-bottom:0}.tag-list{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.tag-list>span{padding:7px 15px;background:var(--ivory);border:1px solid #e6e8e1;font-size:12px}.editorial-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:44px}.editorial-columns>article+article{border-left:1px solid var(--line);padding-left:65px}.editorial-columns p{margin-top:18px;color:var(--muted);font-size:14px}.consult-section{background:var(--ivory);padding-block:52px}.consult-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.consult-inner h2{font-size:26px}.consult-inner p:not(.eyebrow){margin-top:15px;font-size:13px}.consult-inner .button{flex-shrink:0}.prose-wide>p:not(.eyebrow){max-width:800px;margin-top:24px}.values{display:grid;grid-template-columns:repeat(3,1fr);margin-block:45px;gap:40px}.values article{border-top:1px solid var(--line);padding-top:25px}.values span{font-size:11px;letter-spacing:.1em;color:var(--sage)}.values h3{margin-block:15px}.values p{font-size:14px;color:var(--muted)}.page-heading{padding-block:35px 32px}.page-heading h1{font-size:43px}.page-heading>p:not(.eyebrow){margin-top:20px;color:var(--muted);font-size:14px}.company-section{max-width:870px;padding-top:30px}.company-table{margin:0 0 28px}.company-table>div{display:grid;grid-template-columns:170px 1fr;border-top:1px solid var(--line);padding-block:24px;gap:30px}.company-table>div:last-child{border-bottom:1px solid var(--line)}dt{font-weight:500}dd{margin:0}.prose{max-width:850px;padding-top:20px}.prose h2{font-size:23px;margin-top:38px;margin-bottom:15px}.prose p{font-size:14px}.prose a{text-decoration:underline}
.contact-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:80px;padding-top:25px;align-items:start}.contact-layout aside{padding-top:14px}.contact-layout aside h2{font-size:23px;margin-bottom:25px}.contact-layout aside p{font-size:13px;color:var(--muted)}.contact-layout aside .small{font-size:11px}.form-panel{max-width:780px;width:100%}.form-steps{list-style:none;margin:0 0 26px;padding:0;display:flex;gap:5px;font-size:12px;letter-spacing:.1em}.form-steps li{padding:13px 16px;background:var(--ivory);flex:1;text-align:center;color:var(--muted)}.form-steps li.active{background:var(--navy);color:white}.notice{padding:17px 20px;background:var(--ivory);border-left:3px solid var(--sage);font-size:12px;margin-bottom:27px}.error-box{padding:17px 20px;background:#fff3f0;border:1px solid #b86b55;font-size:13px;color:#883823;margin-bottom:24px;white-space:pre-line}.form-field{margin-bottom:25px}.form-field label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.required,.optional{font-size:10px;font-weight:400;padding:3px 6px;margin-left:9px;letter-spacing:.02em}.required{background:var(--sage-light);color:#304a38}.optional{background:var(--ivory);color:var(--muted)}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #cbd2d1;border-radius:0;background:white;color:var(--navy);padding:12px 14px;min-height:50px}textarea{resize:vertical;line-height:1.8}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #a45138}.form-field small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.consent{display:flex;gap:12px;align-items:flex-start;font-size:12px;margin:28px 0}.consent input{accent-color:var(--navy);margin-top:5px;width:17px;height:17px;flex-shrink:0}.consent a{text-decoration:underline}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.confirm-values{margin:25px 0 35px}.confirm-values>div{display:grid;grid-template-columns:145px 1fr;gap:15px;padding-block:18px;border-bottom:1px solid var(--line);font-size:13px}.confirm-values dt{color:var(--muted)}.confirm-values dd{white-space:pre-wrap;overflow-wrap:anywhere}.receipt{background:var(--ivory);padding:15px 20px;margin-block:25px!important;font-size:13px}#success-panel{padding:25px 0 50px}#success-panel h2{margin-bottom:23px}#confirm-panel h2{font-size:25px}
@media(min-width:1000px){.business-grid:has(>.business-card:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr));max-width:1010px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.header-inner{width:calc(100% - 50px);gap:15px}.site-nav{gap:20px;font-size:12px}.home-hero{grid-template-columns:1fr 1.05fr;gap:16px;min-height:490px}.hero-mosaic{height:440px}.hero-copy h1{font-size:37px}.hero-lead{font-size:13px}.business-grid{gap:15px}.business-card h3{font-size:17px}.card-en{font-size:8px}.detail-hero{gap:35px}.contact-layout{grid-template-columns:220px minmax(0,1fr);gap:35px}.consult-inner{align-items:start;flex-direction:column}.editorial-columns{gap:35px}.editorial-columns>article+article{padding-left:35px}}
@media(max-width:760px){body{font-size:14px}.wrap{width:calc(100% - 40px)}.section{padding-block:55px}.mobile-only{display:block}.desktop-only{display:none}.header-inner{min-height:82px;width:calc(100% - 36px);flex-wrap:wrap;gap:0}.brand{width:108px}.brand img{width:108px;height:49px}.brand>span{font-size:9px}.js .menu-toggle{display:flex;align-items:center;gap:13px;background:white;border:1px solid var(--line);padding:9px 12px;font-size:11px;color:var(--navy)}.site-nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:15px}.js .site-nav{display:none}.js .site-nav.is-open{display:flex}.site-nav>a:not(.button),.business-menu summary{padding:14px 0;border-top:1px solid var(--line)}.business-menu>div{position:static;border:0;box-shadow:none;padding:0 0 12px 15px}.business-menu summary{display:flex;justify-content:space-between}.site-nav .button{margin-top:10px}.home-hero{display:flex;flex-direction:column;gap:12px;padding-top:20px;padding-bottom:10px;align-items:stretch}.hero-copy{padding:24px 0 23px}.hero-copy .eyebrow{font-size:9px}.hero-copy h1{font-size:clamp(32px,8.5vw,49px);margin-block:18px}.hero-lead{margin-top:17px;margin-bottom:25px}.hero-mosaic{height:360px;grid-template-columns:1.35fr 1fr}.section-heading{display:block}.section-heading>p{margin-top:16px;font-size:12px}.business-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.business-card img{aspect-ratio:1/1}.business-card h3{font-size:19px}.card-en{font-size:9px}.card-number{margin-top:12px}.business-card:last-child:nth-child(odd){max-width:none}.about-band{padding-block:44px}.about-band-inner{grid-template-columns:1fr;gap:22px}.about-band-inner p{font-size:13px}.contact-band{padding-block:32px}.contact-band>.wrap{align-items:start;flex-direction:column;gap:24px}.contact-band h2{font-size:21px}.footer-top{flex-direction:column;gap:30px;padding-block:35px}.footer-links{gap:45px;font-size:11px}.footer-tagline{font-size:13px}.footer-bottom{gap:15px;flex-wrap:wrap}.breadcrumb{padding-block:18px;font-size:10px}.detail-hero{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding-block:18px 0}.detail-hero h1{font-size:35px}.detail-hero .page-kicker{margin-bottom:17px}.detail-hero>figure{margin:0}.editorial-columns{grid-template-columns:1fr;gap:28px;margin-top:30px}.editorial-columns>article+article{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:28px}.editorial-columns h3{font-size:22px}.editorial-columns p{font-size:13px}.consult-section{padding-block:37px}.consult-inner h2{font-size:24px}.values{grid-template-columns:1fr;gap:27px;margin-block:30px}.values h3{margin-block:9px}.page-heading{padding-block:22px}.page-heading h1{font-size:34px}.page-heading p{font-size:13px}.company-table>div{grid-template-columns:90px 1fr;gap:18px;font-size:13px;padding-block:20px}.contact-layout{display:block;padding-top:10px}.contact-layout aside{margin-bottom:30px}.contact-layout aside h2{font-size:22px;margin-bottom:12px}.contact-layout aside h2 br{display:none}.form-steps{font-size:11px}.form-steps li{padding:10px 6px}.form-panel input,.form-panel textarea,.form-panel select{font-size:16px}.button-row{gap:10px}.button-row .button{flex:1;padding-inline:13px;font-size:12px}.confirm-values>div{grid-template-columns:1fr;gap:5px}.prose h2{font-size:21px}.prose p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
