@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--navy:#092442;--deep:#061b30;--gold:#c9ac77;--ink:#203247;--muted:#637080}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:15px;line-height:1.9}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 72px));margin:auto}.header{height:86px;padding:0 max(38px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:13px;color:var(--navy)}.symbol{font-family:Georgia,serif;font-size:52px;line-height:1;letter-spacing:-8px;margin-right:7px;font-weight:bold}.brandname{font:20px/1.15 Georgia,serif;letter-spacing:.15em;white-space:nowrap}.brandname small{display:block;font-size:12px;letter-spacing:.16em;margin-top:5px}.header nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.header nav a:hover{color:#a4844b}.navcontact{background:var(--navy);color:#fff!important;padding:12px 20px}.menu{display:none}.hero{min-height:700px;height:calc(100svh - 86px);max-height:880px;position:relative;color:white;background:var(--deep);overflow:hidden}.heroimage{position:absolute;inset:0;background:url('assets/hero.webp') center 54%/cover no-repeat;transform:scale(1.02)}.herooverlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,22,42,.93) 0%,rgba(4,24,46,.78) 42%,rgba(4,24,46,.14) 100%),linear-gradient(0deg,rgba(2,18,34,.42),transparent 35%)}.herocontent{position:relative;width:min(1160px,calc(100% - 72px));margin:auto;padding-top:clamp(130px,17vh,230px)}.eyebrow,.kicker{font:12px/1.4 Georgia,serif;letter-spacing:.22em}.eyebrow{color:#e5d4b6}.hero h1{font:500 clamp(38px,4.8vw,68px)/1.55 'Noto Serif JP',serif;letter-spacing:.09em;margin:26px 0}.herosub{font-size:16px;letter-spacing:.07em;line-height:2.25}.primary{display:inline-flex;gap:50px;align-items:center;background:#fff;color:var(--navy);padding:13px 22px;margin-top:24px;font-size:13px;font-weight:700}.primary span{font-size:20px}.herofoot{position:absolute;bottom:30px;left:max(36px,calc((100vw - 1160px)/2));right:max(36px,calc((100vw - 1160px)/2));display:flex;justify-content:space-between;font:11px Georgia,serif;letter-spacing:.17em;color:#ddd}.section{padding:112px 0}.kicker{color:#a98c5a;margin:0 0 23px}.section h2{font:500 clamp(29px,3vw,42px)/1.6 'Noto Serif JP',serif;letter-spacing:.06em;margin:0 0 30px;color:var(--navy)}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px}.introcopy{font-size:15px;line-height:2.3}.introcopy p:first-child{margin-top:45px}.services{background:#f4f6f8}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.sectionhead h2{margin-bottom:0}.sectionhead p{color:var(--muted);font-size:13px}.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{background:#fff;overflow:hidden}.photo{height:230px;background-size:cover;background-position:center}.servicebody{padding:26px 26px 36px}.number{font:11px Georgia,serif;letter-spacing:.12em;color:#b09261}.service h3{font:500 23px 'Noto Serif JP',serif;color:var(--navy);margin:12px 0}.service p{font-size:13px;color:var(--muted);margin:0}.strengths{background:var(--navy);color:#fff}.gold{color:var(--gold)}.strengths h2{color:#fff;margin-bottom:4px}.strengthlead{color:#b9c8d8;margin:0 0 50px}.strengthgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.strengthgrid article{border-top:1px solid #72879b;padding-top:20px}.strengthgrid span{font:30px Georgia,serif;color:var(--gold)}.strengthgrid h3{font:500 21px 'Noto Serif JP',serif;margin:20px 0}.strengthgrid p{color:#c5d0dc;font-size:13px}.companygrid{display:grid;grid-template-columns:40% 1fr;gap:85px}.companytag{color:var(--muted)}.cityphoto{height:390px;margin-top:45px;background:url('assets/city.webp') center/cover}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid #e3e8ed}.company dt{font-size:12px;color:var(--muted)}.company dd{margin:0;font-size:13px;font-weight:500}.company dd small{font-size:11px;color:var(--muted)}.profile{padding-top:45px}.profile h3{font:500 22px 'Noto Serif JP',serif;color:var(--navy)}.profile p:last-child{font-size:13px;color:var(--muted)}.contact{background:var(--deep);color:#fff;text-align:center}.contact h2{color:#fff;font-size:clamp(25px,3vw,38px)}.contactinner>p:not(.kicker){color:#c3d0dc}.call{display:inline-flex;gap:20px;border-bottom:1px solid var(--gold);font:34px Georgia,serif;letter-spacing:.07em;padding:15px 4px;color:#fff;margin:20px 0 0}.call span{color:var(--gold)}.hours{font-size:12px}.contact .note{font-size:11px;color:#9aaab9!important;margin-top:25px}footer{background:#051526;color:#aebcc8;padding:32px 0}.footinner{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px}.footerbrand{color:white}.footerbrand .symbol{font-size:34px}.footerbrand .brandname{font-size:13px}.footerbrand small{font-size:9px}footer a{letter-spacing:.1em}@media(max-width:850px){.header{height:72px;padding:0 22px}.brandname{font-size:17px}.symbol{font-size:44px}.menu{display:block;border:0;background:none;font-size:27px;color:var(--navy);cursor:pointer}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:22px;box-shadow:0 12px 20px #0002;flex-direction:column;align-items:stretch;gap:14px}.header nav.open{display:flex}.hero{height:690px;min-height:0}.herocontent{padding-top:155px}.herooverlay{background:linear-gradient(90deg,rgba(4,22,42,.9),rgba(4,22,42,.4))}.split,.companygrid{grid-template-columns:1fr;gap:28px}.introcopy p:first-child{margin-top:0}.servicegrid,.strengthgrid{grid-template-columns:1fr;gap:20px}.service{display:grid;grid-template-columns:42% 58%}.photo{height:100%;min-height:210px}.companygrid{gap:35px}.cityphoto{display:none}.section{padding:75px 0}.footinner{flex-wrap:wrap}.sectionhead{display:block}}@media(max-width:540px){.container,.herocontent{width:calc(100% - 40px)}.hero{height:650px}.herocontent{padding-top:125px}.hero h1{font-size:35px}.herosub{font-size:13px}.herofoot{left:20px;right:20px}.herofoot span{display:none}.service{display:block}.photo{height:200px}.company dl>div{grid-template-columns:110px 1fr}.call{font-size:29px}.footinner{display:grid}.sectionhead p{font-size:12px}}

/* v3: business photos without embedded brochure typography */
.service .photo{background-position:center center;background-repeat:no-repeat;}
.service:first-child .photo{background-position:center 56%;}
