@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{--ink:#172932;--muted:#607078;--paper:#f6f5f1;--line:#d7dcd9;--gold:#9c8056;--navy:#17313f;--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.9 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ac8250;outline-offset:6px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}p{color:var(--muted)}.wrap{width:min(1200px,calc(100% - 100px));margin:auto}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:600;color:var(--gold);display:block;margin-bottom:22px}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:99}.skip:focus{top:0}.header{height:96px;background:#fdfdfb;display:flex;align-items:center;position:sticky;top:0;z-index:30;border-bottom:1px solid #e3e6e2}.header-in{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 80px);margin:auto}.brand{display:flex;align-items:center;gap:13px}.mark{width:38px;height:40px}.brand strong{font-size:16px;font-weight:600;letter-spacing:.03em}.brand small{display:block;font-size:9px;letter-spacing:.2em;line-height:1.3;color:var(--muted)}.nav{display:flex;align-items:center;gap:27px;font-size:12px}.nav a:hover,.footer a:hover{color:var(--gold)}.nav .nav-cta{background:var(--navy);color:white;padding:14px 23px}.mobile{display:none}.hero{position:relative;min-height:640px;height:calc(100svh - 96px);max-height:860px;display:flex;align-items:center;background:#273332;color:white}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,23,31,.88),rgba(9,24,29,.48) 46%,rgba(5,15,21,.02))}.hero-content{position:relative;z-index:1;width:100%;padding:70px 0 90px}.hero .eyebrow{color:#d6c6a8;letter-spacing:.2em}.hero h1{font:500 clamp(40px,4.6vw,68px)/1.65 var(--serif);letter-spacing:.07em;margin-bottom:27px}.hero p{color:#e0e5e4;line-height:2.2;font-size:14px}.hero-foot{position:absolute;bottom:27px;left:50px;right:50px;z-index:2;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff40;padding-top:20px;font-size:10px;letter-spacing:.08em;color:#dae0de}.hero-foot a{font-size:11px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:18px 24px;border:1px solid var(--ink);font-size:12px;min-width:220px;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}.button:hover{background:var(--navy);color:white}.button.light{border-color:#ffffff70;color:white;margin-top:18px}.button.light:hover{background:white;color:var(--ink)}.button.solid{color:white;background:var(--navy)}.button.solid:hover{background:#335364}.arrow{font-family:Arial,sans-serif;font-size:18px}.quick{display:grid;grid-template-columns:repeat(3,1fr);background:white;border-bottom:1px solid var(--line)}.quick a{display:flex;gap:24px;align-items:center;padding:30px 34px;border-right:1px solid var(--line)}.quick span{color:var(--gold);font-family:var(--serif);font-size:13px}.quick strong{font-size:14px;font-weight:500}.quick i{margin-left:auto;font-style:normal}.quick a:hover{background:#eeefea}.section{padding:110px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:55px}.section h2,.recruit-banner h2{font:500 clamp(28px,3vw,40px)/1.7 var(--serif);letter-spacing:.06em;margin:0}.section-head p{margin:0;max-width:460px;font-size:14px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.intro h2{max-width:520px}.intro p{line-height:2.2}.text-link{display:inline-flex;gap:40px;border-bottom:1px solid var(--ink);padding:10px 0;color:var(--ink);font-size:12px}.services{background:#eeefeb}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-card{background:var(--paper);padding:32px 30px 24px;display:flex;flex-direction:column;position:relative;min-height:440px;border-top:2px solid var(--navy)}.service-card:hover{background:white}.service-top{display:flex;justify-content:space-between;align-items:center;color:var(--gold);font-family:var(--serif);font-size:18px}.service-card h3{font:500 25px/1.5 var(--serif);margin:26px 0 18px;letter-spacing:.03em}.service-card p{font-size:13px;margin-bottom:30px}.service-card .bottom-link{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:12px}.service-art{width:100%;height:98px;margin-top:25px;color:#81908d}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;border-top:1px solid var(--line)}.principles article{padding:30px 32px 0 0}.principles article+article{padding-left:35px;border-left:1px solid var(--line)}.principles small{color:var(--gold)}.principles h3{font:500 22px var(--serif);margin:20px 0 16px}.principles p{font-size:13px}.recruit-banner{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr}.recruit-banner .picture{min-height:460px;position:relative;background:url('/assets/architecture.jpg') center left/cover}.recruit-banner .picture:after{content:'';position:absolute;inset:0;background:#12252b30}.recruit-banner .content{padding:72px clamp(32px,5vw,80px)}.recruit-banner .eyebrow{color:#c6b390}.recruit-banner p{color:#bfccd1;margin-top:25px}.contact-band{padding:75px 0}.contact-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-band h2{font:500 30px var(--serif);margin:0 0 14px}.contact-band p{margin:0}.footer{background:#12252f;color:#e3e9e8;padding:60px 0 24px}.footer p{font-size:12px;color:#a5b5bc;margin-top:22px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:15px 50px;font-size:12px}.footer-bottom{margin-top:50px;border-top:1px solid #ffffff24;padding-top:22px;display:flex;justify-content:space-between;font-size:10px;color:#a5b5bc}.subhero{padding:55px 0 65px;border-bottom:1px solid var(--line);background:#eeefeb}.crumb{font-size:10px;color:var(--muted);margin-bottom:38px;display:flex;gap:18px}.subhero h1{font:500 clamp(34px,4vw,50px)/1.5 var(--serif);letter-spacing:.08em;margin:0 0 18px}.subhero p{max-width:680px;margin:0}.subhero .eyebrow{margin-bottom:18px}.content-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px}.content-grid h2{font-size:29px}.prose p{line-height:2.2}.detail-list{margin-top:38px;display:grid;gap:0;border-top:1px solid var(--line)}.detail-list article{display:grid;grid-template-columns:40px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:25px 0}.detail-list small{color:var(--gold);font-family:var(--serif);font-size:16px}.detail-list h3{font-size:18px;margin:0 0 9px}.detail-list p{font-size:13px;margin:0}.note{font-size:12px!important;border-left:2px solid #bca37c;padding:12px 18px;background:#eceee8;margin:25px 0}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:45px}.flow article{border-top:2px solid #9dada9;padding-top:24px}.flow small{color:var(--gold);font-family:var(--serif);font-size:22px}.flow h3{font-size:17px;margin:17px 0 14px}.flow p{font-size:12px}.faq{max-width:820px;margin:auto}.faq h2{margin-bottom:40px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:15px}.faq summary:after{content:'＋';color:var(--gold)}.faq details[open] summary:after{content:'−'}.faq details p{padding:20px 30px 0 0;margin:0;font-size:13px}.data-table{margin:0;border-top:1px solid var(--ink)}.data-table>div{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid var(--line);padding:23px 0;gap:24px}.data-table dt{color:var(--muted);font-size:12px}.data-table dd{margin:0}.data-table a{text-decoration:underline;text-underline-offset:4px;font-size:12px}.wide-visual{margin:0;position:relative}.wide-visual img{width:100%;height:350px;object-fit:cover}.wide-visual figcaption{font-size:10px;text-align:right;color:var(--muted);padding:10px 0}.job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.job-grid article{border:1px solid var(--line);padding:30px}.job-grid h3{font:500 22px var(--serif);margin:18px 0}.job-grid p{font-size:12px}.badge{color:var(--gold);font-size:11px}.contact-panel{border:1px solid var(--line);padding:35px;margin-bottom:35px;background:white}.contact-panel h3{font-size:21px;margin-bottom:16px}.contact-panel .phone{font:500 30px var(--serif);display:block;margin:15px 0}.form{display:grid;gap:23px}.form label{display:block;font-size:13px}.form input,.form select,.form textarea{width:100%;border:1px solid #c2cbc8;padding:13px;background:#fff;border-radius:0;color:var(--ink);margin-top:8px;outline-offset:2px}.form textarea{min-height:150px;resize:vertical}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form small{color:var(--muted);display:block;margin-top:5px;font-size:11px}.form-result{padding:22px;border:1px solid var(--line);background:white}.form-result pre{white-space:pre-wrap;font:13px/1.8 var(--sans)}[hidden]{display:none!important}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.status{font-size:12px;color:var(--ink)}.privacy h2{font-size:23px;margin:35px 0 12px}.privacy ul{color:var(--muted)}.error{text-align:center;padding:100px 25px}.error h1{font:500 50px var(--serif)}
@media(min-width:1600px){.hero-content{width:1200px;margin:auto}.hero h1{font-size:70px}}@media(max-width:1100px){.nav{gap:15px}.brand strong{font-size:13px}.wrap{width:calc(100% - 64px)}.header-in{width:calc(100% - 48px)}.intro{gap:50px}.service-card{padding:28px 22px}.service-card h3{font-size:22px}.section-head{gap:40px}.content-grid{gap:40px}}@media(max-width:800px){.header{height:78px}.header-in{width:calc(100% - 36px)}.brand strong{font-size:13px}.brand small{font-size:8px}.mark{width:31px}.nav{display:none}.mobile{display:block}.mobile summary{list-style:none;cursor:pointer;font-size:11px;padding:10px}.mobile summary:after{content:' ☰';font-size:18px}.mobile[open] summary:after{content:' ×'}.mobile nav{position:absolute;top:77px;left:0;right:0;background:#fdfdfb;padding:18px 30px;box-shadow:0 15px 20px #0001;display:grid}.mobile nav a{padding:15px 0;border-bottom:1px solid var(--line)}.wrap{width:calc(100% - 44px)}.hero{min-height:620px;height:calc(90svh - 78px);max-height:780px}.hero h1{font-size:38px;line-height:1.7}.hero p{font-size:12px}.hero-image{object-position:62% center}.hero:after{background:linear-gradient(90deg,#11242be8,#152a3355)}.hero-foot{left:22px;right:22px;font-size:8px}.hero-content{padding-bottom:80px}.quick{grid-template-columns:1fr}.quick a{padding:20px 23px;border-bottom:1px solid var(--line)}.quick a:last-child{border-bottom:0}.quick span{width:25px}.quick strong{font-size:13px}.section{padding:65px 0}.intro,.section-head,.content-grid{grid-template-columns:1fr;gap:30px}.section-head{margin-bottom:35px}.section h2{font-size:29px}.service-grid{grid-template-columns:1fr}.service-card{min-height:330px;padding:28px}.service-card .service-art{position:absolute;right:30px;top:10px;width:110px;height:70px;opacity:.65}.service-card h3{font-size:25px}.principles{grid-template-columns:1fr;margin-top:35px}.principles article,.principles article+article{padding:25px 0;border-left:0;border-bottom:1px solid var(--line)}.principles article:last-child{border-bottom:0}.recruit-banner{grid-template-columns:1fr}.recruit-banner .picture{min-height:260px}.recruit-banner .content{padding:45px 25px}.contact-band{padding:50px 0}.contact-band .wrap{flex-direction:column;align-items:start}.contact-band h2{font-size:27px}.footer{padding-top:45px}.footer-top{flex-direction:column}.footer-links{gap:16px 25px}.footer-bottom{gap:20px;flex-direction:column}.subhero{padding:32px 0 45px}.subhero h1{font-size:33px}.crumb{margin-bottom:28px}.subhero p{font-size:12px}.flow{grid-template-columns:1fr 1fr;gap:25px}.data-table>div{grid-template-columns:90px 1fr;gap:15px;font-size:12px}.job-grid{grid-template-columns:1fr;gap:16px}.job-grid article{padding:24px}.contact-panel{padding:24px}.form .row{grid-template-columns:1fr}.wide-visual img{height:260px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
