:root{--deep:#173d3e;--ink:#183a3b;--paper:#f8f5ed;--sand:#ece6d8;--accent:#e5b482;--mint:#dce8df;--muted:#5b706b;--line:#c8cec5;--serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3,dl,dd{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #bf6b31;outline-offset:6px}a:hover{opacity:.78}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip-link{position:absolute;left:16px;top:-90px;background:var(--paper);padding:14px;z-index:20}.skip-link:focus{top:12px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 56px;gap:28px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand strong{display:block;font-size:27px;letter-spacing:.12em;line-height:1.15}.brand small{display:block;font-size:10px;letter-spacing:.16em;margin-top:8px}.brand-symbol{display:flex;flex-direction:column;gap:6px;width:28px}.brand-symbol i{height:3px;background:currentColor;width:28px}.brand-symbol i:nth-child(2){width:22px}.brand-symbol i:nth-child(3){width:16px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:600}.nav-contact{padding:13px 19px;border:1px solid #8e9f96}.nav-contact span{margin-left:17px}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;line-height:1.7}.eyebrow.light{color:#bccfc4}.hero{background:var(--deep);color:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:.96fr 1.04fr;align-items:center;gap:35px;min-height:670px;padding-block:42px 20px}.hero-copy{padding-block:15px}.hero h1{font-family:var(--serif);font-weight:500;letter-spacing:.025em;line-height:1.6;font-size:clamp(38px,4.1vw,61px);margin-top:30px;white-space:nowrap}.hero h1 span{color:var(--accent)}.hero-lead{font-size:14px;line-height:2.2;color:#e0e6db;letter-spacing:.02em;margin-top:27px}.button{display:inline-flex;align-items:center;gap:40px;font-size:12px;letter-spacing:.06em;padding:18px 23px;border:1px solid #8ba69b;margin-top:34px}.button span{font-size:19px}.hero-art img{max-height:560px;object-fit:contain}.hero-art figcaption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:#bdcfc3;padding:0 26px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding:23px 0;border-top:1px solid #416160;font-size:10px;letter-spacing:.1em}.hero-bottom p span{margin-left:24px;color:#bdcfc3}.hero-bottom a{display:flex;gap:28px;align-items:center}.hero-bottom a span{font-size:16px}.business-strip{background:var(--accent);padding:22px 0}.business-strip .wrap{display:flex;align-items:center;justify-content:center;gap:45px;font-size:13px;letter-spacing:.12em}.business-strip i{font-size:16px;font-style:normal;opacity:.45}
.section-number{display:flex;align-items:center;gap:17px;font-size:13px;letter-spacing:.05em}.section-number span{font-size:10px;letter-spacing:.17em}.intro-section{padding-block:105px 108px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:36px}h2{font-family:var(--serif);font-size:clamp(30px,3.1vw,44px);font-weight:500;line-height:1.6;letter-spacing:.045em}.intro-copy .lead,.perspective-section .lead{font-size:19px;line-height:1.85;letter-spacing:.04em;margin-bottom:24px}.intro-copy>p:not(.lead),.perspective-section p:not(.section-number):not(.lead){font-size:13px;line-height:2.25;color:var(--muted);margin-top:18px}.services-section{background:var(--sand);padding-block:90px 98px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px}.section-heading h2{margin-top:15px;font-size:36px}.section-heading>p{font-size:12px;line-height:2.1;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.service-card{padding:34px 36px 37px;position:relative;overflow:hidden;background:var(--paper)}.service-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;border-bottom:1px solid var(--line);padding-bottom:17px}.service-top>span:last-child{font-size:18px}.service-card h3{font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:.02em;margin-top:15px}.service-card p{font-size:13px;line-height:2.1;margin-top:18px;color:var(--muted)}.service-tag{display:inline-block;font-size:10px;letter-spacing:.05em;border:1px solid var(--line);padding:8px 13px;margin-top:26px}.publication-art{height:212px;position:relative;margin-top:12px}.paper-back{position:absolute;width:142px;height:176px;top:12px;left:calc(50% - 83px);transform:rotate(-16deg);background:#bfcdc0;box-shadow:0 10px 20px #183a3b12}.paper-front{position:absolute;width:142px;height:176px;top:16px;left:calc(50% - 54px);transform:rotate(10deg);background:#fffdf7;box-shadow:0 10px 20px #183a3b20;padding:22px;z-index:1}.paper-front span{font-family:var(--serif);font-size:16px;line-height:1.6;position:relative;z-index:2}.paper-front b{font-weight:500}.paper-front i{height:2px;display:block;background:#cad2c7;margin-top:8px;width:58px}.paper-front i:first-of-type{margin-top:18px}.paper-front i:nth-of-type(2){width:70px}.paper-front em{position:absolute;width:34px;height:34px;background:var(--accent);border-radius:50%;right:13px;bottom:22px}.paper-circle{position:absolute;border:1px solid #c3c9bd;width:176px;height:176px;border-radius:50%;left:calc(50% - 127px);top:19px}.route-card{background:var(--deep);color:var(--paper)}.route-card .service-top{border-color:#416160}.route-card p{color:#d3dfd5}.route-card .service-tag{border-color:#627d70}.route-art{height:212px;display:flex;align-items:center}.route-art svg{width:100%;height:100%}
.perspective-section{padding-block:94px;background:var(--mint)}.perspective-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:75px;align-items:center}.perspective-section h2{margin:25px 0}.neighborhood-art figcaption{text-align:right;font-size:10px;color:var(--muted);margin-top:15px;letter-spacing:.05em}.planning-section{padding-block:100px}.planning-heading{display:grid;grid-template-columns:.45fr 1fr .65fr;gap:36px;align-items:start}.planning-heading h2{font-size:31px}.planning-heading>p:last-child{font-size:12px;line-height:2.1;color:var(--muted);padding-top:6px}.planning-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:49px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.planning-grid article{padding:32px 34px 33px 0}.planning-grid article+article{border-left:1px solid var(--line);padding-left:34px}.planning-index{font-size:10px;letter-spacing:.12em}.planning-grid h3{font-size:20px;font-weight:500;margin:25px 0 16px}.planning-grid p{font-size:12px;line-height:2;color:var(--muted)}.company-section{background:var(--sand);padding-block:92px}.company-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.company-side h2{margin-top:20px}.company-identity{background:var(--accent);padding:28px;margin-top:34px;min-height:244px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}.company-identity strong{font-family:var(--serif);font-weight:500;font-size:25px;letter-spacing:.08em}.company-identity small{display:block;margin-top:10px;font-size:10px;letter-spacing:.1em}.company-emblem{position:relative;display:block;width:100px;height:60px}.company-emblem i{position:absolute;width:36px;height:48px;border:1px solid var(--deep);transform:rotate(25deg);left:42px;top:7px}.company-emblem i:nth-child(2){left:26px;top:5px;transform:rotate(10deg)}.company-emblem i:nth-child(3){left:10px;transform:rotate(-5deg)}.company-details{padding-top:76px}.company-details>div{display:grid;grid-template-columns:114px 1fr;border-top:1px solid #bfc7bd;padding:25px 0;gap:20px;font-size:13px;line-height:1.95}.company-details>div:last-child{border-bottom:1px solid #bfc7bd}.company-details dt{color:var(--muted);font-size:12px}.company-details dd{overflow-wrap:anywhere}.contact-section{background:var(--deep);color:var(--paper);padding-block:72px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.contact-section h2{font-size:33px;margin-top:12px}.contact-content{border-left:1px solid #627d70;padding-left:36px;font-size:13px;line-height:2.3;color:#d3dfd5}.contact-content a{border-bottom:1px solid;font-size:19px}.site-footer{padding-block:43px 20px}.footer-grid{display:grid;grid-template-columns:.75fr 1.25fr auto;gap:35px;align-items:center}.footer-grid>p{font-size:11px;line-height:1.8;color:var(--muted)}.back-top{display:flex;gap:24px;font-size:10px;letter-spacing:.1em}.back-top span{font-size:17px}.footer-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;padding-top:30px;margin-top:30px;border-top:1px solid var(--line)}.footer-bottom small{font-size:9px}
@media(min-width:1550px){.site-header{padding-inline:max(56px,calc((100% - 1280px)/2))}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.site-header{padding-inline:36px}.site-header nav{gap:20px}.hero-grid{min-height:580px;gap:15px}.hero h1{font-size:clamp(33px,4.1vw,48px)}.hero-lead{font-size:12px}.intro-grid{gap:50px}.service-card{padding-inline:27px}.service-card h3{font-size:24px}.perspective-grid{gap:45px}.planning-heading{grid-template-columns:1fr 1.6fr;gap:24px}.planning-heading>p:last-child{grid-column:2}.company-grid{gap:50px}.contact-grid{gap:40px}.footer-grid{gap:20px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:78px;padding-inline:20px;gap:16px}.brand{gap:10px}.brand strong{font-size:22px}.brand small{font-size:9px;margin-top:6px;letter-spacing:.08em}.brand-symbol{width:24px;gap:5px}.brand-symbol i{width:24px;height:2px}.brand-symbol i:nth-child(2){width:19px}.brand-symbol i:nth-child(3){width:14px}.site-header nav{gap:19px;font-size:10px;white-space:nowrap}.site-header nav .nav-approach,.site-header nav .nav-contact{display:none}.hero-grid{grid-template-columns:1fr;gap:8px;min-height:0;padding-block:34px 19px}.hero-copy{padding:0}.eyebrow{font-size:9px}.hero h1{font-size:clamp(29px,8.6vw,42px);margin-top:20px;line-height:1.6;letter-spacing:.015em}.hero-lead{font-size:11px;line-height:2.15;margin-top:20px}.button{font-size:10px;padding:12px 17px;gap:40px;margin-top:23px}.hero-art{margin:0 -8px}.hero-art img{max-height:342px}.hero-art figcaption{font-size:8px;padding-inline:16px}.hero-bottom{padding:19px 0;font-size:8px}.hero-bottom p span{display:block;margin:6px 0 0}.hero-bottom a{gap:15px;font-size:8px}.business-strip{padding:18px 0}.business-strip .wrap{font-size:9px;gap:12px;letter-spacing:.02em}.business-strip i{font-size:11px}.section-number{font-size:11px;gap:12px}.section-number span{font-size:9px}.intro-section{padding-block:57px 60px}.intro-grid{grid-template-columns:1fr;gap:28px;margin-top:23px}h2{font-size:30px;line-height:1.55}.intro-copy .lead,.perspective-section .lead{font-size:17px;margin-bottom:20px}.intro-copy>p:not(.lead),.perspective-section p:not(.section-number):not(.lead){font-size:12px;line-height:2.2;margin-top:16px}.services-section{padding-block:53px 58px}.section-heading{display:block;margin-bottom:27px}.section-heading h2{font-size:29px;margin-top:10px}.section-heading>p{font-size:11px;margin-top:18px}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{padding:24px}.service-top{font-size:9px;padding-bottom:13px}.publication-art,.route-art{height:185px}.service-card h3{font-size:25px;line-height:1.5;margin-top:7px}.service-card p{font-size:12px;margin-top:15px}.service-tag{font-size:9px;margin-top:19px}.perspective-section{padding-block:55px}.perspective-grid{grid-template-columns:1fr;gap:33px}.perspective-section h2{margin-top:22px}.neighborhood-art{margin-inline:-5px}.neighborhood-art figcaption{font-size:9px}.planning-section{padding-block:56px}.planning-heading{grid-template-columns:1fr;gap:17px}.planning-heading h2{font-size:28px}.planning-heading>p:last-child{grid-column:auto;font-size:11px;padding-top:0}.planning-heading>p:last-child br{display:none}.planning-grid{grid-template-columns:1fr;margin-top:30px}.planning-grid article,.planning-grid article+article{padding:25px 0;display:grid;grid-template-columns:100px 1fr;gap:15px;border-left:none}.planning-grid article+article{border-top:1px solid var(--line)}.planning-index{font-size:9px;line-height:1.8}.planning-grid h3{font-size:18px;margin:0 0 9px}.planning-grid p{font-size:11px}.company-section{padding-block:55px}.company-grid{grid-template-columns:1fr;gap:29px}.company-side h2{margin-top:17px}.company-identity{min-height:190px;margin-top:24px;padding:24px;gap:27px}.company-identity strong{font-size:24px}.company-details{padding-top:0}.company-details>div{grid-template-columns:83px 1fr;padding:20px 0;font-size:12px;gap:14px}.company-details dt{font-size:11px}.contact-section{padding-block:49px}.contact-grid{grid-template-columns:1fr;gap:25px}.contact-section h2{font-size:29px;margin-top:10px}.contact-content{border-left:none;border-top:1px solid #627d70;padding:23px 0 0;font-size:12px}.site-footer{padding-block:32px 20px}.footer-grid{grid-template-columns:1fr auto;gap:25px}.footer-grid>p{grid-row:2;grid-column:1/-1;font-size:10px}.back-top{grid-row:1;grid-column:2;gap:15px;font-size:9px}.footer-bottom{margin-top:25px;padding-top:20px;font-size:7px;letter-spacing:.03em}.footer-bottom small{font-size:8px}}
@media(max-width:350px){.site-header nav{gap:12px;font-size:9px}.brand strong{font-size:20px}.brand-symbol{width:21px}.hero-lead{font-size:10px}.service-card{padding:21px}.service-card h3{font-size:22px}.business-strip .wrap{gap:9px;font-size:8px}.planning-grid article{grid-template-columns:86px 1fr;gap:10px}.footer-bottom>span{font-size:6px}}
.site-header nav a{min-height:44px;display:inline-flex;align-items:center}.back-top{min-height:44px;align-items:center}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
