:root{--background:#fff;--foreground:#132f40;--primary:#123e52;--primary-foreground:#fff;--border:#dce4e8;--radius:0.4rem}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#183447;background:#fff;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.85}a{color:inherit;text-decoration:none}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e0e6e8}.brand{display:flex;gap:12px;align-items:center;font-size:22px;font-weight:700;line-height:1.5}.brand small{display:block;font-size:10px;letter-spacing:1.3px}.mark{display:grid;place-items:center;width:44px;height:46px;background:#123e52;color:white;font-family:Georgia,serif;font-size:32px}nav{display:flex;gap:28px;font-size:14px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 28px;background:#126775;color:white;font-weight:700;border-radius:3px;transition:background .2s}.button:hover{background:#0a4c58}.button.small{padding:13px 23px;font-size:14px}.button span{font-size:20px}.hero{min-height:650px;display:grid;grid-template-columns:1.4fr 1fr;background:#edf3f5;position:relative;overflow:hidden}.hero-inner{padding:70px max(40px,8vw);padding-right:0;z-index:1}.eyebrow{font-size:13px;font-weight:700;letter-spacing:2px;color:#267080;margin:0 0 22px}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(36px,4.1vw,62px);line-height:1.55;letter-spacing:3px;font-weight:600;margin:0 0 24px}h1 span{color:#126775}.lead{font-size:19px;line-height:2}.hero-detail{font-size:14px;color:#586c78;margin:22px 0 28px}.text-link{display:block;font-size:14px;font-weight:700;margin-top:20px;text-decoration:underline;text-underline-offset:6px}.hero-side{background:#173e51;display:flex;flex-direction:column;justify-content:space-between;padding:48px;color:#fff;margin:32px 32px 32px 60px;border-radius:120px 0 0 0;background-image:linear-gradient(145deg,#386575,#0d2c40)}.hero-side>span{writing-mode:vertical-rl;align-self:flex-end;letter-spacing:4px;font-size:12px}.quality-note{border-top:1px solid #7995a2;padding-top:25px}.quality-note>span{font-size:13px}.quality-note strong{display:block;font-family:"Yu Mincho",serif;font-size:27px;line-height:1.7;margin-top:14px}.trust-strip{display:flex;justify-content:center;padding:24px 5%;gap:0;border-bottom:1px solid #e0e6e8;font-size:14px;font-weight:bold}.trust-strip span{padding:0 45px;border-right:1px solid #ccd7dc}.trust-strip span:last-child{border:0}.section{padding:88px max(6%,calc((100% - 1120px)/2))}h2{font-size:clamp(26px,2.7vw,37px);line-height:1.6;letter-spacing:1px;margin:0 0 26px}h3{font-size:20px;line-height:1.6;margin:14px 0}p{margin:0 0 18px}.section-heading{margin-bottom:38px}.section-heading>p:last-child{color:#637580}.cards{display:grid;gap:22px}.three{grid-template-columns:repeat(3,1fr)}.cards article{padding:30px;border:1px solid #dce4e8;background:#fff;border-top:3px solid #316578}.cards p{color:#5b6d78;font-size:16px;margin-bottom:0}.index{font-size:12px;letter-spacing:1.5px;color:#267080}.pale{background:#f3f6f7}.reason-list article{display:flex;gap:32px;padding:28px 0;border-top:1px solid #cfdce1;align-items:center}.reason-list b{font:36px Georgia,serif;color:#4c8594}.reason-list div{flex:1}.reason-list p{max-width:800px;margin:0;color:#596c77}.reason-list article>span{font-size:13px;border:1px solid #bdcdd3;border-radius:40px;padding:6px 18px;white-space:nowrap}.service-icon{font:32px Georgia,serif;color:#5a8793}.dark{background:#133748;color:#fff}.dark .eyebrow{color:#95cbd2}.dark .section-heading>p:last-child{color:#c1d1d8}.cycle{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.cycle article{border-top:1px solid #668592;padding-top:23px}.cycle small{color:#9fc6ce;letter-spacing:1px}.cycle p{color:#d0dde2}.fine{font-size:13px;color:#b7cbd3;margin:28px 0 0}.staffing{display:grid;grid-template-columns:1fr 1fr;gap:70px}.staffing>div>p:not(.eyebrow){color:#5b6d78}.staff-items article{border-bottom:1px solid #dce4e8;padding-bottom:12px;margin-bottom:22px}.staff-items h3{margin-top:0}.staff-items p{color:#5b6d78}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:36px}.steps b{font:36px Georgia,serif;color:#328091}.steps h3{font-size:18px}.steps p{color:#5b6d78}.area{display:grid;grid-template-columns:1fr 1fr;gap:60px}.area-box{background:#eef4f6;padding:35px;border-left:3px solid #287080;align-self:center}.area-box strong{font-size:22px}.area-box p{margin:15px 0 0;color:#536b78}details{border-bottom:1px solid #ccd9df;padding:22px 0}summary{cursor:pointer;list-style:none;font-weight:700;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:before{content:"Q.";color:#247287;margin-right:6px}summary span{margin-left:auto}details[open] summary span{transform:rotate(45deg)}details p{margin:16px 35px 0;color:#526b78;max-width:900px}.contact{background:#dfeef0;display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-panel{padding:35px;background:white;align-self:center;border-top:4px solid #126775}.contact-panel h3{margin-top:0}.contact-panel .button{width:100%}.contact-panel p{font-size:14px;color:#526b78}#contact-status{font-size:12px;margin-top:13px}.contact-placeholder{margin-bottom:0;overflow-wrap:anywhere}.contact ul{padding-left:22px;font-size:15px}footer{padding:45px 6%;display:flex;align-items:center;justify-content:space-between;gap:28px}footer p,footer small{font-size:12px;color:#647882;margin:0}.skip{position:fixed;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:0}a:focus-visible,summary:focus-visible{outline:3px solid #da9c34;outline-offset:5px}.mobile-cta{display:none}@media(max-width:1050px){nav{display:none}.hero-inner{padding-left:6%}.trust-strip span{padding:0 20px}.hero-side{margin-left:25px;padding:30px}.section{padding:65px 6%}.staffing,.contact{gap:30px}}@media(max-width:700px){header{height:75px;padding:0 5%}.brand{font-size:18px}.brand small{font-size:8px}.mark{width:34px;height:38px;font-size:27px}.button.small{padding:10px 14px;font-size:12px;gap:8px}.hero{display:block;min-height:0}.hero-inner{padding:44px 6% 35px}.hero h1{font-size:37px;letter-spacing:1px}.lead{font-size:16px}.hero .button{font-size:14px;padding:18px 20px;gap:16px}.hero-side{margin:0 6% 30px;padding:24px;border-radius:0;display:block}.hero-side>span{writing-mode:horizontal-tb;font-size:10px}.quality-note{margin-top:15px;padding-top:15px}.quality-note strong{font-size:22px}.trust-strip{display:block;padding:20px 6%;font-size:13px}.trust-strip span{display:block;border:0;padding:4px 0}.trust-strip span:before{content:"✓";margin-right:12px;color:#197183}.section{padding:52px 6%}.three,.cycle,.steps,.staffing,.area,.contact{grid-template-columns:1fr}.cards{gap:15px}.cards article{padding:25px}.reason-list article{gap:20px;align-items:flex-start}.reason-list article>span{display:none}.reason-list b{font-size:28px;margin-top:15px}.cycle{grid-template-columns:1fr 1fr;gap:20px}.cycle h3{font-size:18px}.cycle p{font-size:14px}.steps{gap:18px}.steps article{border-bottom:1px solid #d3dfe4;padding-bottom:12px}.steps b{font-size:28px}.area{gap:15px}.contact-panel{padding:24px}.desktop{display:none}footer{display:block;padding:35px 6% 100px}footer p{margin:20px 0}.mobile-cta{display:flex;position:fixed;bottom:12px;left:5%;width:90%;z-index:20;padding:13px 24px;justify-content:center;box-shadow:0 4px 18px #123e5240}h2{font-size:27px}.eyebrow{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.hero-side{position:relative;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-side:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#09283bd9,transparent 65%)}.hero-side>span,.quality-note,.image-caption{z-index:1;position:relative}.image-caption{font-size:11px;align-self:flex-start}.team-photo{margin:0 0 28px}.team-photo img{display:block;width:100%;height:auto}.team-photo figcaption{font-size:12px;color:#617882;margin-top:5px}#works .cards{grid-template-columns:1fr 1fr}#works article{border:0;background:transparent;border-left:2px solid #aac0c9;padding:10px 24px}#works h3{font-size:21px}@media(max-width:700px){.hero-side{height:340px}.hero-side .quality-note{position:absolute;bottom:25px;left:24px;right:24px}#works .cards{grid-template-columns:1fr}}
