:root{--navy:#102e4b;--ink:#193147;--muted:#536579;--gold:#aa8350;--paper:#f7f5f0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif;line-height:1.85}a{color:inherit}a:hover{color:#8c6a3d}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;z-index:20}.header{border-bottom:1px solid #dde4e8;background:#fff}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:18px;font-weight:700;white-space:nowrap}.brand img{width:74px;height:auto;mix-blend-mode:multiply}.header nav{display:flex;gap:26px;flex-wrap:wrap}.header nav a{text-decoration:none;font-size:14px}.hero{padding:88px 0 80px;color:#fff;background:linear-gradient(120deg,#102e4b,#254e68)}.hero .wrap{max-width:1120px}.hero h1{font-size:clamp(40px,7vw,68px);letter-spacing:.06em;margin:12px 0 25px;line-height:1.25}.hero p{max-width:760px}.hero .lead{font-size:clamp(18px,3vw,25px);font-weight:600}.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--gold);font-weight:700;margin:0 0 10px}.hero .eyebrow{color:#d9bd91}.section{padding:88px 0}.section h2{font-size:clamp(28px,4vw,40px);line-height:1.4;margin:0 0 30px}.split{display:grid;grid-template-columns:1fr 2fr;gap:70px}.profile{margin:0;border-top:1px solid #d9dfe2}.profile>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #d9dfe2}.profile dt{font-weight:700;color:var(--navy)}.profile dd{margin:0}.tinted{background:var(--paper)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards article{background:#fff;padding:32px;border-top:3px solid var(--gold)}.cards span{color:var(--gold);font-weight:700}.cards h3{font-size:21px;margin:15px 0}.cards p{margin:0;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:0 46px;margin-bottom:22px}.services>div{border-top:1px solid #d9dfe2;padding:16px 0}.services h3{margin:0 0 4px;color:var(--navy);font-size:19px}.services p{margin:0;color:var(--muted)}.text-link{color:var(--navy);font-weight:700;text-underline-offset:5px}.representative{background:#eef3f5}.representative-grid{display:grid;grid-template-columns:42% 1fr;align-items:center;gap:65px}.representative img{width:100%;height:auto;border-radius:3px}.representative .name{font-size:25px;font-weight:700}.cta{padding:72px 0;background:var(--navy);color:#fff;text-align:center}.cta h2{font-size:clamp(25px,4vw,36px);margin:0 0 8px}.cta div div{display:flex;justify-content:center;gap:16px;margin-top:28px;flex-wrap:wrap}.cta a{display:inline-block;padding:12px 24px;background:#fff;color:var(--navy);text-decoration:none;font-weight:700;border-radius:3px}.cta a:first-child{background:#c5a16c;color:#172b3d}footer{padding:34px 0;background:#0b2238;color:#fff}footer a{text-decoration:none;font-weight:700}footer p{margin:6px 0}footer small{color:#bfcbd3}@media(max-width:760px){.header-inner{align-items:flex-start;padding:12px 0;flex-direction:column;gap:6px}.header nav{gap:12px 18px}.header nav a{font-size:13px}.hero{padding:62px 0}.section{padding:62px 0}.split,.representative-grid{grid-template-columns:1fr;gap:24px}.cards,.services{grid-template-columns:1fr}.profile>div{grid-template-columns:100px 1fr;gap:12px}.representative img{max-width:500px}}

.principle{background:#f7f5f0}.principle-copy{max-width:900px}.principle-copy p{margin:0 0 1.25em}.principle-lead{font-size:clamp(19px,2.5vw,25px);font-weight:700;color:#102e4b;line-height:1.7}.principle-close{font-weight:700;color:#102e4b;font-size:19px}

.craft-copy{max-width:860px;margin:0 auto}.craft-copy h2{font-size:clamp(26px,3.5vw,40px);line-height:1.5;margin:0 0 32px}.craft-copy h3{font-size:clamp(20px,2.4vw,25px);line-height:1.6;margin:36px 0 14px}.craft-copy p{font-size:16px;line-height:2;margin:0 0 18px}.craft-copy .craft-emphasis{font-size:clamp(20px,2.6vw,27px);font-weight:700;border-left:4px solid #aa8350;padding:12px 0 12px 20px;margin:28px 0}.craftsmanship-section{background:#f7f5f0;color:#193147;scroll-margin-top:100px}
