:root{--navy:#073462;--blue:#0b4f86;--sky:#eaf5fc;--ink:#10243b;--gold:#efb528;--line:#d6e2eb;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--ink);font-family:"Helvetica Neue","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:#fff}a{color:inherit;text-decoration:none}.header{height:84px;padding:0 clamp(32px,5.2vw,92px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(7,52,98,.08);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:13px;color:var(--navy);font-size:24px;font-weight:600;letter-spacing:.04em}.mark{width:36px;height:29px;display:inline-block;position:relative;background:linear-gradient(38deg,transparent 0 36%,currentColor 37% 48%,transparent 49%),linear-gradient(-38deg,transparent 0 36%,currentColor 37% 48%,transparent 49%)}.mark:before,.mark:after{content:"";position:absolute;top:5px;width:5px;height:22px;background:currentColor;border-radius:4px}.mark:before{left:0}.mark:after{right:0}.mark i{position:absolute;right:2px;top:-2px;width:4px;height:11px;background:var(--gold);transform:rotate(35deg)}nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,36px);font-size:14px;font-weight:500}nav a{padding:12px 0;position:relative}nav a:not(.nav-contact):after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:var(--navy);transition:.25s}nav a:hover:after{right:0}.nav-contact{background:var(--navy);color:#fff;padding:13px 22px}.hero{position:relative;background:#dbeeff}.hero img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}.scroll-cue{position:absolute;right:5.2vw;bottom:0;background:#fff;width:72px;height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.scroll-cue span{font-size:10px;letter-spacing:.18em;writing-mode:vertical-rl}.scroll-cue b{width:1px;height:24px;background:var(--navy);position:relative}.scroll-cue b:after{content:"";position:absolute;bottom:0;left:-2px;border:solid var(--navy);border-width:0 1px 1px 0;padding:2px;transform:rotate(45deg)}.section{padding:120px max(7vw,40px)}.section-kicker{font-size:12px;font-weight:700;letter-spacing:.22em;color:var(--blue);margin-bottom:52px}.section-kicker.light{color:#8cc9ee}.about-grid{display:grid;grid-template-columns:minmax(260px,.85fr) 1.15fr;gap:10vw;max-width:1180px;margin:auto}.about h1{margin:0;font-size:clamp(58px,6vw,92px);font-weight:500;letter-spacing:-.04em;color:var(--navy)}.message{font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;font-size:19px;line-height:2.05}.message p{margin:0 0 27px}.message .lead{font-size:28px;font-weight:600;color:var(--navy);margin-bottom:38px}.services{background:var(--navy);color:#fff}.services h2{font-size:50px;font-weight:500;margin:0 0 58px;max-width:1180px;margin-left:auto;margin-right:auto}.service-list{max-width:1180px;margin:auto;display:grid;gap:24px}.service-card{background:#fff;color:var(--ink);min-height:410px;padding:46px 52px;display:grid;grid-template-columns:84px 1fr 160px;gap:36px;position:relative;overflow:hidden}.service-no{font-size:17px;color:#59809f;letter-spacing:.12em}.service-label{font-size:12px;color:#4383b2;letter-spacing:.18em;margin:0 0 18px;font-weight:700}.service-body h3{font-size:36px;margin:0 0 24px;color:var(--navy);font-weight:600}.service-copy{font-family:"Yu Mincho",YuMincho,serif;font-size:27px;line-height:1.55;margin:0 0 22px;color:var(--navy)}.service-copy span{color:#327ba9}.service-desc{font-size:16px;line-height:1.9;max-width:610px;margin-bottom:32px}.arrow-link{font-size:14px;font-weight:700;display:inline-flex;gap:16px;border-bottom:1px solid var(--navy);padding-bottom:8px}.service-symbol{align-self:center;justify-self:center;width:116px;height:116px;border-radius:50%;background:var(--sky);display:grid;place-items:center;color:#1d74a6;font-size:32px}.split-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;max-width:1180px;margin:auto 0 55px}.split-heading h2,.company h2{font-size:50px;color:var(--navy);font-weight:500;margin:0}.split-heading p{font-size:16px;line-height:1.8;margin:0}.news-list,.faq-list{max-width:1180px;margin:auto}.news-item{display:grid;grid-template-columns:130px 110px 1fr;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;font-size:15px}.news-item time{font-variant-numeric:tabular-nums}.news-item span{font-size:11px;color:var(--blue);letter-spacing:.12em}.news-item p{margin:0}.company{background:#0d426f;color:#fff}.company-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1.25fr;gap:9vw}.company h2{color:#fff}.company dl{margin:0}.company dl div{display:grid;grid-template-columns:150px 1fr;border-top:1px solid rgba(255,255,255,.25);padding:22px 0}.company dl div:last-child{border-bottom:1px solid rgba(255,255,255,.25)}dt{font-size:13px;color:#a9cee6}dd{margin:0;font-size:16px;line-height:1.8}.faq-list details{border-top:1px solid var(--line);padding:26px 4px}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:17px;font-weight:600;list-style:none;display:flex;justify-content:space-between}summary:after{content:"＋";font-size:22px;color:var(--blue)}details[open] summary:after{content:"−"}.faq-list details p{margin:22px 0 3px;color:#4f6275;line-height:1.8}.contact{text-align:center;padding:112px 30px;background:#e8f4fb;color:var(--navy)}.contact>p{font-size:12px;font-weight:700;letter-spacing:.22em}.contact h2{font-size:42px;font-weight:500;margin:24px 0 38px}.contact>a{display:inline-flex;justify-content:space-between;align-items:center;width:300px;background:var(--navy);color:#fff;padding:20px 25px;font-weight:700;font-size:15px}.contact>a span{font-size:21px}footer{background:#062c53;color:#fff;padding:72px max(7vw,40px) 34px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.brand.inverse{color:#fff;width:max-content}.footer-brand p{font-size:14px;letter-spacing:.1em;color:#a7c7df;margin:22px 0}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 48px;font-size:14px}.footer-links a:hover{color:#8ed2fb}footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.16);padding-top:25px;color:#89a9c3;font-size:11px}@media(max-width:960px){nav a:not(.nav-contact){display:none}.header{height:72px}.hero img{aspect-ratio:4/3}.section{padding:82px 28px}.about-grid,.company-grid,.split-heading{grid-template-columns:1fr;gap:42px}.about h1{font-size:56px}.service-card{grid-template-columns:52px 1fr;padding:34px 28px}.service-symbol{display:none}.services h2,.split-heading h2,.company h2{font-size:40px}.news-item{grid-template-columns:110px 1fr}.news-item span{display:none}}@media(max-width:600px){.brand{font-size:20px}.nav-contact{padding:11px 14px}.hero img{aspect-ratio:1/1.15;object-position:center}.scroll-cue{display:none}.message{font-size:16px}.message .lead{font-size:23px}.service-card{grid-template-columns:1fr}.service-no{margin-bottom:-12px}.service-body h3{font-size:30px}.service-copy{font-size:23px}.company dl div{grid-template-columns:1fr;gap:8px}.news-item{grid-template-columns:1fr;gap:12px}.contact h2{font-size:30px}footer{grid-template-columns:1fr;gap:42px}}
