:root{--navy:#1b2a4a;--navy-dark:#131e36;--green:#2f6f6a;--green-hover:#275e59;--text:#26303e;--text-muted:#5a6675;--bg:#ffffff;--bg-soft:#f7f6f3;--border:#e4e1da;--hero-sub:#c9d2e2;--hero-muted:#8f9cb5;--label-gold:#b0a894;--max-width:1040px;--font-serif:var(--font-noto-serif),"Yu Mincho","Hiragino Mincho ProN",serif;--font-sans:var(--font-noto-sans),"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);line-height:2;font-size:15.5px;-webkit-font-smoothing:antialiased}a{color:var(--green);text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease}a:hover{text-decoration:underline}img{max-width:100%}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.4rem}.en{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.28em;color:var(--green);font-weight:600;margin-bottom:.4rem}.site-header{border-bottom:1px solid var(--border);background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.site-header .inner{justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:1rem 1.4rem;max-width:var(--max-width);margin:0 auto}.brand,.site-header .inner{display:flex;align-items:center}.brand{font-family:var(--font-serif);font-weight:600;font-size:1.05rem;color:var(--navy);letter-spacing:.04em;line-height:1.3;gap:.65rem}.brand-mark{height:38px;width:auto}.brand small{display:block;font-family:var(--font-sans);font-size:.6rem;font-weight:400;color:var(--text-muted);letter-spacing:.14em;margin-top:.15rem}.brand:hover{text-decoration:none}.site-nav{display:flex;flex-wrap:wrap;gap:1.4rem;font-size:.88rem;align-items:center}.site-nav a{color:var(--text-muted);letter-spacing:.04em}.site-nav a:hover{color:var(--navy);text-decoration:none}.site-nav a.nav-cta{color:#fff;background:var(--green);font-weight:600;padding:.5rem 1.3rem;border-radius:2px;letter-spacing:.08em}.site-nav a.nav-cta:hover{background:var(--green-hover);color:#fff}.hero{background:linear-gradient(165deg,var(--navy) 0,var(--navy-dark) 100%);color:#fff;padding:4.6rem 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:3.4rem;gap:3.4rem;align-items:center}.hero .en{color:#7fa8a2;margin-bottom:1.1rem}.hero h1{font-family:var(--font-serif);font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.65;font-weight:600;letter-spacing:.03em;margin-bottom:1.3rem}.hero .rule{width:56px;height:1px;background:var(--green);margin:1.4rem 0}.hero .lead{font-size:.94rem;line-height:2.1;color:var(--hero-sub);max-width:42em}.hero .office{margin-top:2rem;font-size:.82rem;color:var(--hero-muted);letter-spacing:.06em}.hero-photo,.hero-photo img{position:relative}.hero-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;z-index:1;box-shadow:0 18px 48px rgba(0,0,0,.35)}.hero-photo:after{content:"";position:absolute;top:18px;left:18px;right:-18px;bottom:-18px;border:1px solid rgba(127,168,162,.55);pointer-events:none}.page-header{background:linear-gradient(165deg,var(--navy) 0,var(--navy-dark) 100%);color:#fff;padding:3.4rem 0 2.9rem}.page-header .en{color:#7fa8a2}.page-header h1{font-family:var(--font-serif);font-size:1.65rem;font-weight:600;letter-spacing:.05em;line-height:1.6}.section{padding:4rem 0}.section.soft{background:var(--bg-soft)}.section h2{font-size:1.4rem;letter-spacing:.04em;margin-bottom:1.6rem;line-height:1.5}.section h2,.section h3{font-family:var(--font-serif);color:var(--navy);font-weight:600}.section h3{font-size:1.05rem;letter-spacing:.03em;margin:2rem 0 .6rem}.section p,.section ul{margin-bottom:.9rem}.section ul{padding-left:1.4em}.section li{margin-bottom:.35rem}.split{display:grid;grid-template-columns:300px 1fr;grid-gap:3rem;gap:3rem;align-items:start}.portrait-frame{position:relative;margin:.8rem 0 .8rem .8rem}.portrait-frame img{display:block;width:100%;position:relative;z-index:1}.portrait-frame:after{content:"";position:absolute;top:-12px;left:-12px;right:12px;bottom:12px;border:1px solid var(--green);pointer-events:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1.15rem;gap:1.15rem;margin-top:.5rem}.card{background:#fff;border:1px solid var(--border);border-radius:2px;padding:1.7rem 1.5rem;position:relative;transition:box-shadow .25s ease,transform .25s ease}.card:hover{box-shadow:0 10px 28px rgba(19,30,54,.08);transform:translateY(-2px)}.card:before{content:"";position:absolute;top:0;left:1.5rem;width:32px;height:2px;background:var(--green)}.card .num{font-size:.85rem;color:var(--label-gold);letter-spacing:.1em;margin-bottom:.7rem}.card .num,.card h3{font-family:var(--font-serif)}.card h3{margin:0 0 .7rem;font-size:1rem;color:var(--navy);font-weight:600;letter-spacing:.03em}.card p{font-size:.87rem;line-height:2;color:var(--text-muted);margin:0}.greenband{height:210px;background:url(/images/greenery.svg) 50%/cover no-repeat}.news-list{list-style:none;padding:0;margin:0}.news-list li{display:flex;gap:1.6rem;align-items:baseline;padding:.95rem .2rem;border-bottom:1px solid var(--border);font-size:.92rem}.news-list li:first-child{border-top:1px solid var(--border)}.news-list time{font-family:var(--font-serif);color:var(--label-gold);letter-spacing:.06em;white-space:nowrap;font-size:.86rem}.cta{background:var(--navy);color:#fff;border-radius:2px;padding:2.6rem 1.8rem;text-align:center;margin-top:1.4rem;position:relative}.cta:before{content:"";position:absolute;top:14px;left:14px;right:14px;bottom:14px;border:1px solid rgba(255,255,255,.14);pointer-events:none}.cta h2{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;letter-spacing:.05em;color:#fff;margin-bottom:.9rem}.cta p{max-width:38em;margin:0 auto 1.4rem;font-size:.88rem;line-height:2.1;color:var(--hero-sub)}.button{display:inline-block;background:var(--green);color:#fff;font-weight:600;padding:.85rem 2.6rem;border-radius:2px;font-size:.95rem;letter-spacing:.08em;position:relative;z-index:1;transition:background .2s ease}.button:hover{background:var(--green-hover);text-decoration:none;color:#fff}.prefooter{background:#fff;color:var(--text);padding:3.8rem 0;text-align:center;border-top:1px solid var(--border)}.prefooter h2{color:var(--navy)}.prefooter p{color:var(--text-muted)!important}.prefooter .en{color:#7fa8a2}.prefooter h2{font-family:var(--font-serif);font-size:1.35rem;font-weight:600;letter-spacing:.06em;margin-bottom:1rem}.prefooter p{max-width:40em;margin:0 auto 1.5rem;font-size:.88rem;line-height:2.1;color:var(--hero-sub)}.note{font-size:.85rem;line-height:2;color:var(--text-muted);background:var(--bg-soft);border-left:2px solid var(--green);padding:.9rem 1.2rem;margin:1.4rem 0}.note p{margin-bottom:.4rem}.note p:last-child{margin-bottom:0}.profile-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem}.profile-table td,.profile-table th{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--border);vertical-align:top}.profile-table th{font-family:var(--font-serif);color:var(--navy);white-space:nowrap;width:9em;font-weight:600;letter-spacing:.05em}.site-footer{background:#0c1322;color:var(--hero-muted);font-size:.85rem;letter-spacing:.04em;border-top:1px solid rgba(47,111,106,.55)}.footer-grid{max-width:var(--max-width);margin:0 auto;padding:2.8rem 1.4rem 2.2rem;display:grid;grid-template-columns:1.3fr .9fr 1.3fr;grid-gap:2.4rem;gap:2.4rem}.footer-brand{font-family:var(--font-serif);color:var(--hero-sub);font-size:1rem;letter-spacing:.05em;line-height:1.5}.footer-brand small{display:block;font-size:.6rem;letter-spacing:.14em;margin-top:.2rem}.footer-brand .addr,.footer-brand small{font-family:var(--font-sans);color:var(--hero-muted)}.footer-brand .addr{font-size:.8rem;margin-top:.9rem}.footer-head{font-size:.68rem;letter-spacing:.24em;color:#7fa8a2;font-weight:600;margin-bottom:.8rem}.footer-nav{display:flex;flex-direction:column;gap:.45rem}.footer-nav a{color:var(--hero-muted);font-size:.85rem}.footer-nav a:hover{color:#fff;text-decoration:none}.footer-note{font-size:.8rem;line-height:1.9}.footer-note a{color:var(--hero-sub)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12)}.footer-bottom .inner{max-width:var(--max-width);margin:0 auto;padding:1.1rem 1.4rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.75rem}@media (max-width:800px){.hero-grid{grid-template-columns:1fr;gap:2.4rem}.hero-photo{margin-right:18px}.split{grid-template-columns:1fr;gap:2rem}.portrait-frame{max-width:280px}.footer-grid{grid-template-columns:1fr;gap:1.8rem}}@media (max-width:600px){.hero{padding:3.2rem 0 3rem}.section{padding:2.8rem 0}}