:root{--red:#d30104;--ink:#090909;--paper:#f4f3ef;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Helvetica Neue","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}
.lower-hero{height:400px;min-height:400px;padding-top:92px;background:#101010;color:#fff;position:relative;overflow:hidden}
.lower-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#0b0b0b 0%,#0b0b0b 50%,#181818 100%);z-index:1}
.lower-hero::after{content:"";position:absolute;left:4vw;right:4vw;bottom:0;height:1px;background:rgba(255,255,255,.16);z-index:4}
.lower-copy{height:100%;padding:34px 4vw 30px 8vw;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:5;max-width:760px}.lower-copy .eyebrow{font-size:10px;letter-spacing:.28em;color:#fff;margin:0 0 16px;opacity:.72}.lower-copy h1{font-family:var(--serif);font-size:clamp(52px,5.4vw,82px);font-weight:400;line-height:.92;letter-spacing:.025em;margin:0}.lower-copy .jp{font-family:var(--serif);font-size:clamp(16px,1.4vw,21px);margin:14px 0 0}.lower-copy .line{width:70px;height:2px;background:var(--red);margin-top:18px}.lower-copy .note{margin-top:18px;font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.54)}
.hero-red-rule{position:absolute;z-index:5;right:4vw;top:92px;width:1px;height:calc(100% - 92px);background:linear-gradient(to bottom,var(--red) 0 34%,rgba(211,1,4,.16) 34% 100%)}.hero-ghost{position:absolute;z-index:2;right:5.5vw;bottom:-19px;font-family:var(--serif);font-size:clamp(76px,10vw,156px);font-weight:400;line-height:1;letter-spacing:.04em;color:rgba(255,255,255,.055);white-space:nowrap}
.lower-content{padding:110px 8vw 130px}.section-label{font-size:11px;letter-spacing:.24em;color:var(--red);margin:0 0 18px}.page-lead{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.2vw,46px);line-height:1.5;margin:0 0 70px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.on{opacity:1;transform:none}
.company-table{max-width:980px;border-top:1px solid #bbb}.company-row{display:grid;grid-template-columns:220px 1fr;min-height:74px;border-bottom:1px solid #ddd;align-items:center}.company-row dt{margin:0;padding:22px 20px 22px 0;font-size:13px;letter-spacing:.08em;color:#555}.company-row dd{margin:0;padding:22px 0;font-size:15px;min-height:68px}.blank{display:inline-block;width:min(440px,100%);height:1.2em;border-bottom:1px solid #e4e4e4;vertical-align:middle}
.contact-intro{max-width:720px;font-size:15px;line-height:2;margin:0 0 55px}.contact-form{max-width:980px;border-top:1px solid #bbb}.form-row{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid #ddd;padding:22px 0;align-items:start}.form-row label{font-size:13px;letter-spacing:.05em;padding-top:13px}.required{font-size:9px;color:var(--red);margin-left:8px}.form-row input,.form-row textarea{width:100%;border:1px solid #ccc;background:#fff;padding:13px 14px;font:15px var(--sans);border-radius:0}.form-row textarea{min-height:180px;resize:vertical}.form-note{font-size:12px;line-height:1.8;color:#666;margin:24px 0 0;max-width:980px}.submit-wrap{max-width:980px;text-align:right;margin-top:38px}.submit-wrap button{border:1px solid #111;background:#111;color:#fff;min-width:250px;padding:18px 28px;font:13px var(--sans);letter-spacing:.1em;cursor:pointer}.submit-wrap button:hover{background:var(--red);border-color:var(--red)}
@media(max-width:768px){.lower-hero{height:330px;min-height:330px;padding-top:72px}.lower-copy{padding:28px 8vw 24px}.lower-copy h1{font-size:12vw}.hero-red-rule{top:72px;height:calc(100% - 72px);right:5vw}.hero-ghost{right:6vw;bottom:-8px;font-size:18vw}.lower-content{padding:80px 8vw 95px}.page-lead{margin-bottom:50px}.company-row,.form-row{grid-template-columns:1fr}.company-row dt{padding:18px 0 5px}.company-row dd{padding:8px 0 18px;min-height:48px}.form-row label{padding:0 0 10px}.submit-wrap button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
