:root{--navy:#102a4c;--blue:#087bc5;--ink:#152f4d;--muted:#577087;--pale:#f1f6fa;--line:#d9e5ed}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:white;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-height:1.9;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #00a8ec;outline-offset:5px}header{min-height:90px;padding:18px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{font-family:Arial,sans-serif;font-weight:800;letter-spacing:.12em;font-size:29px;line-height:1.1}.brand span{display:block;font-weight:400;font-size:10px;letter-spacing:.12em;margin-top:9px}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}nav a:hover{color:var(--blue)}.nav-contact{padding:10px 22px;border:1px solid var(--navy)}.menu{display:none}.hero img{width:100%;height:auto;display:block}.hero-caption{background:var(--navy);color:#fff;padding:40px 6%;display:flex;align-items:center;justify-content:space-between;gap:28px}.eyebrow,.section-label>span{font:12px/1.5 Arial,sans-serif;letter-spacing:.15em;font-weight:600;color:var(--blue)}.hero .eyebrow,.contact .eyebrow{color:#83cbee}h1{font-size:clamp(26px,3vw,43px);letter-spacing:.04em;margin:10px 0;line-height:1.6}.hero-caption>p{font-size:16px;color:#dbe8f3}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 28px;border:1px solid currentColor;white-space:nowrap;font-size:14px}.button:hover{background:#fff;color:var(--navy)}.mobile{display:none}.wrap{max-width:1200px;margin:auto;padding:108px 40px}.about,.company{display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.section-label h2{font-size:clamp(28px,3vw,40px);line-height:1.65;letter-spacing:.035em;margin:24px 0}.lead{font-size:25px;font-weight:600;line-height:1.8;margin-top:0}.about-copy>p:not(.lead){color:var(--muted)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}.principles b{display:block;font-size:19px;color:var(--blue);margin-bottom:10px}.principles span{font-size:14px;line-height:1.8;display:block;color:var(--muted)}.services{background:var(--pale)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-head>p{color:var(--muted);margin-bottom:30px}.filters{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.filters button{border:1px solid #bacddd;background:transparent;color:var(--ink);padding:9px 23px;font-size:14px;min-height:44px}.filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-grid article{padding:28px;background:#fff;border-top:3px solid var(--blue);min-height:246px}.service-grid article[hidden]{display:none}.number{font:28px Arial,sans-serif;color:var(--blue)}.category{float:right;font-size:12px;color:var(--muted);padding-top:8px}.service-grid h3{font-size:21px;margin:22px 0 12px;line-height:1.6}.service-grid p{margin:0;font-size:15px;color:var(--muted);line-height:1.9}.company-name{color:var(--muted)}dl{margin:0}dl>div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted);font-size:14px}dd{margin:0}.muted{color:var(--muted)}.contact{background:var(--navy);color:white;position:relative;border-top:6px solid #0e93dc}.contact .wrap{padding-top:74px;padding-bottom:80px}.contact h2{font-size:clamp(32px,4vw,51px);line-height:1.5;margin:22px 0}.contact p:not(.eyebrow){color:#d0e0ed}.contact-status{display:inline-block;margin-top:22px;padding:13px 25px;border:1px solid #64819a;font-size:14px}footer{display:flex;align-items:center;gap:35px;padding:38px 6%;flex-wrap:wrap}footer p{font-size:14px}footer small{margin-left:auto;font-size:12px;color:var(--muted)}.skip,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{position:fixed;top:10px;left:10px;width:auto;height:auto;clip:auto;padding:12px;background:white;z-index:30}@media(min-width:1600px){.hero img{max-height:850px;object-fit:contain;background:#d5eafa}}@media(max-width:1000px){nav{gap:17px}.hero-caption{flex-wrap:wrap}.hero-caption>p{margin:0}.wrap{padding:78px 30px}.about,.company{gap:35px;grid-template-columns:1fr 1.3fr}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category{float:none;display:block}.section-head{align-items:start}.principles{grid-template-columns:1fr}.principles div{display:flex;gap:24px}.principles b{min-width:80px}}@media(max-width:720px){header{min-height:74px;padding:16px 6%;flex-wrap:wrap}.brand{font-size:25px}.brand span{font-size:9px}.menu{display:block;border:1px solid var(--line);background:white;color:var(--ink);padding:7px 12px;font-size:14px;min-height:44px}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:13px 0;border-top:1px solid var(--line)}nav .nav-contact{border:0;border-top:1px solid var(--line)}.hero-caption{padding:28px 7%;display:block}.hero-caption h1{font-size:31px}.hero-caption>p{font-size:15px;margin:18px 0}.hero-caption .button{margin-top:8px}.mobile{display:block}.wrap{padding:64px 7%}.about,.company{display:block}.about-copy{margin-top:30px}.lead{font-size:23px}.section-label h2{font-size:30px}.principles{grid-template-columns:1fr;gap:20px}.section-head{display:block}.section-head>p{margin:0 0 24px}.filters{gap:8px}.filters button{padding:8px 13px}.service-grid{grid-template-columns:1fr;gap:14px}.service-grid article{min-height:0;padding:25px}.category{float:right;display:inline}.service-grid h3{margin:17px 0 10px}.company dl{margin-top:28px}dl>div{grid-template-columns:76px 1fr;gap:15px}.contact .wrap{padding:58px 7%}.contact p br{display:none}footer{gap:20px;padding:32px 7%}footer p{width:100%;margin:0}footer small{margin-left:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
