@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&family=DM+Sans:wght@400;500;600&display=swap');
:root{--paper:#f3f3f2;--white:#fff;--ink:#171819;--gray:#737675;--line:#d5d6d4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans','Noto Sans JP',sans-serif;font-size:15px;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #222;outline-offset:3px}.wrap{width:min(1120px,calc(100% - 56px));margin:auto}.site-header{height:96px;background:#f5f5f4;position:relative;z-index:2;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center}.brand{display:inline-flex;flex-direction:column;line-height:1.1}.brand-name{font-size:29px;font-weight:500;letter-spacing:-1.6px}.brand-jp{font-size:10px;letter-spacing:.1em;margin-top:7px}.nav{display:flex;gap:36px;font-size:13px}.nav a{padding-bottom:5px}.nav a[aria-current=page]{border-bottom:1px solid #1a1a1a}.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}.hero{min-height:650px;position:relative;display:flex;align-items:center;overflow:hidden;background:#bdc0bf}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(242,243,242,.96) 0%,rgba(238,239,238,.82) 40%,rgba(238,239,238,.04) 84%)}.hero-content{position:relative;z-index:1;padding:95px 0}.hero h1{font-size:clamp(36px,4.4vw,63px);line-height:1.52;letter-spacing:.06em;font-weight:400;margin:25px 0 13px}.hero .en{letter-spacing:.19em;font-size:13px}.scroll{margin-top:105px;font-size:10px;letter-spacing:.2em}.section{padding:110px 0}.section-head{display:flex;align-items:baseline;gap:24px;margin-bottom:40px}.section-head h2,.page-title h1{font-size:clamp(36px,5vw,60px);font-weight:400;letter-spacing:-.025em;margin:0;line-height:1.3}.section-head .sub{font-size:13px}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;border-bottom:1px solid var(--line);padding-bottom:105px}.intro h2{font-size:clamp(27px,3.3vw,40px);font-weight:400;line-height:1.7;letter-spacing:.055em;margin:0}.intro p{font-size:15px;line-height:2.3;margin:0;color:#454746}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding-top:60px}.service .num{color:#888;font-size:13px}.service h3{font-size:19px;font-weight:500;margin:12px 0 16px}.service hr{border:0;border-top:1px solid #858888;margin:0 0 21px;width:45px}.service p{color:#565958;font-size:13px;line-height:2.1}.cta-band{background:#d0d1d0;position:relative;overflow:hidden;padding:100px 0}.cta-band::after{content:"";position:absolute;right:-8%;top:-160px;width:480px;height:520px;background:radial-gradient(ellipse at center,#797d7c55,transparent 65%);transform:rotate(-30deg);pointer-events:none}.cta-band h2{font-weight:400;font-size:clamp(29px,3.4vw,43px);line-height:1.65;margin:0 0 25px}.cta-band p{max-width:680px;line-height:2.2;font-size:14px;color:#424443;margin:0 0 32px}.btn{background:#252727;color:#fff;min-height:49px;display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:11px 23px;font-size:13px;border:1px solid #252727;cursor:pointer;transition:.2s}.btn:hover{background:#555}.footer{background:#f5f5f4;border-top:1px solid var(--line);padding:38px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:22px}.footer small{font-size:11px;color:#686a69}.footer .nav{gap:25px}.page-banner{height:280px;display:flex;align-items:center;background:linear-gradient(135deg,#e5e6e4 0%,#c7c9c8 58%,#a6a8a7 100%);overflow:hidden;position:relative}.page-banner:after{content:"";position:absolute;right:0;bottom:-40%;width:65%;height:180%;transform:skew(-32deg);background:rgba(255,255,255,.28)}.page-title{position:relative;z-index:1}.page-title p{margin:8px 0;font-size:13px}.about-block{padding:80px 0 85px;border-bottom:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:200px 1fr;gap:90px}.block-label{font-size:18px;font-weight:400;margin:0;line-height:1.6}.block-label:after{content:"";display:block;width:34px;border-top:1px solid #888;margin-top:18px}.body-copy{max-width:790px}.body-copy p{margin:0 0 23px;line-height:2.35}.representative-name{font-size:25px;letter-spacing:.07em;margin:0 0 4px}.muted{color:#757776}.bio{max-width:720px;margin-top:27px}.company-table{border-collapse:collapse;width:100%;font-size:14px}.company-table tr{border-top:1px solid var(--line)}.company-table tr:last-child{border-bottom:1px solid var(--line)}.company-table th{font-weight:400;text-align:left;width:150px;color:#606361;vertical-align:top;padding:21px 12px 21px 0}.company-table td{padding:21px 0;vertical-align:top}.map{margin-top:28px;position:relative;aspect-ratio:2.3/1;background:#d5d6d5}.map iframe{width:100%;height:100%;border:0;filter:grayscale(1)}.form-intro{margin:0 0 35px;line-height:2.15}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 25px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1 / -1}.field label{font-size:13px}.required{border:1px solid #888;padding:1px 5px;font-size:10px;margin-left:9px;color:#666}input,textarea{width:100%;border:1px solid #cdd0ce;background:#fafafa;border-radius:0;padding:13px 14px;color:#222;outline:none}input:focus,textarea:focus{border-color:#444}textarea{min-height:170px;resize:vertical}.form-foot{display:flex;justify-content:flex-end;align-items:center;margin-top:27px;gap:24px}.message{font-size:13px;margin:0}.message.error{color:#a52d2d}.message.success{color:#276645}.privacy{font-size:11px;color:#777;margin-top:16px}.contact-section{border-bottom:0}@media(max-width:760px){.wrap{width:min(100% - 36px,1120px)}.site-header{height:80px}.brand-name{font-size:24px}.nav{gap:18px}.hero{min-height:610px}.hero::after{background:linear-gradient(90deg,rgba(242,243,242,.94),rgba(238,239,238,.50))}.hero-content{padding:80px 0}.hero h1{font-size:34px}.scroll{margin-top:100px}.section{padding:75px 0}.intro{grid-template-columns:1fr;gap:25px;padding-bottom:65px}.services{grid-template-columns:1fr;gap:30px;padding-top:45px}.service{border-bottom:1px solid var(--line);padding-bottom:16px}.cta-band{padding:75px 0}.page-banner{height:220px}.about-grid{grid-template-columns:1fr;gap:35px}.about-block{padding:60px 0}.company-table th{width:95px;font-size:12px}.company-table td{font-size:13px}.map{aspect-ratio:1.2/1}.form-grid{grid-template-columns:1fr}.footer-inner{align-items:flex-start;flex-direction:column}.form-foot{justify-content:flex-start}}

/* Final visual refinements */
.brand{display:inline-flex;justify-content:center;align-items:flex-start}
.brand-logo{display:block;width:150px;height:auto;max-width:100%}
.site-header{height:92px}
.footer .brand-logo{width:145px;filter:grayscale(1)}
.about-block{padding-top:115px;padding-bottom:120px}
.about-grid{grid-template-columns:185px minmax(0,1fr);gap:80px}
.body-copy{max-width:none}
.representative-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:46px;align-items:center}
.portrait-frame{background:#e9e9e9;display:flex;align-items:center;justify-content:center;min-height:274px;overflow:hidden}
.portrait-image{display:block;width:100%;height:auto;object-fit:contain;object-position:center center}
.representative-detail .bio{margin-top:24px}
.contact-section{padding-bottom:135px}
@media(max-width:1000px){.about-grid{grid-template-columns:155px minmax(0,1fr);gap:48px}.representative-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}}
@media(max-width:760px){.brand-logo{width:125px}.footer .brand-logo{width:125px}.site-header{height:78px}.about-grid{grid-template-columns:1fr;gap:35px}.about-block{padding:78px 0 82px}.representative-layout{grid-template-columns:1fr;gap:27px}.portrait-frame{width:min(245px,100%);min-height:0}.portrait-image{width:100%;height:auto}.contact-section{padding-bottom:95px}}

.trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
