:root{--color-primary:#8b1a1a;--color-primary-dark:#6b1515;--color-primary-light:#a52222;--color-text:#1a1a1a;--color-text-secondary:#444;--color-text-muted:#888;--color-bg:#fff;--color-bg-alt:#f5f5f4;--color-footer-bg:#1a1a1a;--font-sans:"Inter","Helvetica Neue","Arial",sans-serif;--font-serif:"Noto Serif JP","Yu Mincho","游明朝",serif}*{margin:0;padding:0;box-sizing:border-box}img{max-width:100%;height:auto}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}a:focus,button:focus,input:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px}body,html{height:100%;font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.7;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}.section-inner{max-width:1060px;margin:0 auto;padding:0 48px}.section-heading{font-size:20px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--color-primary);margin-bottom:28px}.section-lead{font-size:26px;font-weight:400;line-height:1.8;color:var(--color-text-secondary);margin-bottom:52px;font-family:var(--font-sans)}header{position:fixed;top:0;left:0;width:100%;height:72px;padding:0 48px;display:flex;justify-content:space-between;align-items:center;z-index:1000;background-color:hsla(0,0%,100%,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-logo-text{font-size:22px;font-weight:500;color:var(--color-text);letter-spacing:2.5px;font-family:var(--font-sans);text-transform:uppercase;text-decoration:none}nav ul{display:flex;list-style:none;gap:36px}nav ul li a{color:var(--color-text-secondary);text-decoration:none;font-size:17px;font-weight:400;letter-spacing:1px;text-transform:uppercase;transition:color .2s ease}nav ul li a:hover{color:var(--color-text)}.hero{min-height:100vh;display:flex;align-items:center;position:relative;background:linear-gradient(160deg,#1a1a1a 0,#2a1212 60%,var(--color-primary-dark) 100%);overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url(/images/tokyo-skyline.jpg) 50%/cover;opacity:.2}.hero-inner{position:relative;z-index:2;padding:0 48px;max-width:1060px;width:100%;margin:0 auto}.hero-label{font-size:24px;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:hsla(0,0%,100%,.5);margin-bottom:36px}.hero-heading{font-size:44px;font-weight:400;line-height:1.6;color:#fff;margin-bottom:36px;font-family:var(--font-serif);max-width:920px;letter-spacing:.5px}.nowrap{white-space:nowrap}.hero-description{font-size:21px;font-weight:300;line-height:2;color:hsla(0,0%,100%,.72);max-width:660px}.approach-section{padding:100px 0;background-color:var(--color-bg)}.approach-list{display:flex;flex-direction:column}.approach-item{display:flex;align-items:flex-start;gap:36px;padding:32px 0;border-top:1px solid #e0dfdc}.approach-item:last-child{border-bottom:1px solid #e0dfdc}.approach-num{font-size:17px;font-weight:400;color:var(--color-text-muted);letter-spacing:1px;flex-shrink:0;padding-top:5px}.approach-body h3{font-size:26px;font-weight:500;color:var(--color-text);margin-bottom:14px;font-family:var(--font-sans)}.approach-body p{font-size:19px;line-height:1.9;color:var(--color-text-secondary);max-width:640px}.research-section{padding:120px 0;background:linear-gradient(160deg,var(--color-primary-dark) 0,var(--color-primary) 60%,var(--color-primary-light) 100%);color:#fff}.research-section .section-heading{color:hsla(0,0%,100%,.6)}.research-section .section-lead{color:hsla(0,0%,100%,.88);font-family:var(--font-serif);font-size:28px}.research-grid{display:grid;grid-template-columns:repeat(3,1fr)}.research-card{padding:36px 32px;border-top:1px solid hsla(0,0%,100%,.25);border-right:1px solid hsla(0,0%,100%,.1)}.research-card:last-child{border-right:none}.research-card h3{font-size:23px;font-weight:500;color:#fff;margin-bottom:18px;font-family:var(--font-sans);letter-spacing:.2px;white-space:nowrap}.research-card p{font-size:18px;line-height:1.9;color:hsla(0,0%,100%,.78)}.contact-section{padding:120px 0;background-color:var(--color-bg)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.form-group{margin-bottom:28px}.form-group label{display:block;font-size:16px;font-weight:500;color:var(--color-text-secondary);margin-bottom:8px;letter-spacing:.3px}.form-group input,.form-group textarea{width:100%;padding:12px 0;border:none;border-bottom:1px solid #ccc;border-radius:0;font-size:18px;transition:border-color .2s ease;font-family:var(--font-sans);background:transparent;color:var(--color-text)}.form-group textarea{border:1px solid #ccc;border-radius:4px;padding:14px;margin-top:4px;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.submit-btn{background:var(--color-text);color:#fff;padding:15px 52px;border:none;border-radius:0;font-size:17px;font-weight:400;letter-spacing:1px;cursor:pointer;transition:background-color .2s ease;font-family:var(--font-sans);text-transform:uppercase;margin-top:8px}.submit-btn:hover{background:var(--color-primary)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.form-message{margin-top:20px;padding:14px;font-size:17px;text-align:center}.form-message.success{background-color:#d4edda;color:#155724}.form-message.error{background-color:#f8d7da;color:#721c24}.contact-company{margin-top:48px}.contact-company-name{font-size:17px;font-weight:500;color:var(--color-text);margin-bottom:6px}.contact-address{font-size:16px;color:var(--color-text-muted);line-height:1.7}footer{background-color:var(--color-footer-bg);padding:32px 0}.footer-inner{max-width:1060px;margin:0 auto;padding:0 48px;display:flex;justify-content:space-between;align-items:center}.footer-logo{font-size:16px;font-weight:500;letter-spacing:2px;color:hsla(0,0%,100%,.6);text-transform:uppercase}.footer-copyright{font-size:14px;color:hsla(0,0%,100%,.35)}@media (max-width:1024px){.research-grid{grid-template-columns:1fr}.research-card{border-right:none;border-top:1px solid hsla(0,0%,100%,.2)}}@media (max-width:768px){.hero-inner,.section-inner,header{padding:0 24px}header{height:64px}.header-logo-text{font-size:18px}nav ul{gap:20px}nav ul li a{font-size:15px}.hero-label{font-size:20px}.hero-heading{font-size:32px}.hero-description{font-size:18px}.section-heading{font-size:17px}.section-lead{font-size:22px}.approach-section,.contact-section,.research-section{padding:80px 0}.approach-item{flex-direction:column;gap:12px;padding:32px 0}.approach-body h3{font-size:22px}.approach-body p{font-size:17px}.research-card h3{font-size:21px}.research-card p{font-size:17px}.form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column;gap:8px;text-align:center}}@media (max-width:480px){.hero-label{font-size:17px}.hero-heading{font-size:26px}.hero-description{font-size:16px}.section-lead{font-size:19px}}