:root{--ink:#101828;--muted:#667085;--blue:#155eef;--violet:#7a5af8;--cyan:#22d3ee;--soft:#f5f7ff;--line:rgba(16,24,40,.1);--shadow:0 28px 72px rgba(41,61,112,.14);--radius:28px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","Noto Sans JP",sans-serif;background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.site-header{position:sticky;z-index:50;top:0;background:rgba(255,255,255,.86);border-bottom:1px solid rgba(16,24,40,.05);backdrop-filter:blur(18px)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.04em}.brand-mark{width:40px;height:40px;display:grid;place-items:center;color:#fff;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--violet) 58%,var(--cyan));box-shadow:0 9px 24px rgba(21,94,239,.27);font-size:14px;letter-spacing:-.08em}.brand small{display:block;margin-top:2px;color:#98a2b3;font-size:8px;letter-spacing:.16em}.nav-links{display:flex;align-items:center;gap:34px;color:#475467;font-size:13px;font-weight:700}.nav-links a[aria-current=page]{color:var(--blue)}.nav-cta{padding:13px 20px!important;color:#fff!important;border-radius:999px;background:var(--ink)}.menu-button{display:none;width:44px;height:44px;border:0;border-radius:14px;background:var(--soft);font-size:21px}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.eyebrow:before{content:"";width:25px;height:2px;background:linear-gradient(90deg,var(--blue),var(--violet))}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}h1{font-size:clamp(46px,5vw,70px);line-height:1.2}h2{font-size:clamp(34px,4vw,52px);line-height:1.34}h3{font-size:23px;line-height:1.45}.gradient{color:transparent;background:linear-gradient(105deg,var(--blue),var(--violet) 62%,#12b5cb);-webkit-background-clip:text;background-clip:text}.lead{color:var(--muted);font-size:16px;line-height:2}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:54px;padding:0 23px;border:0;border-radius:999px;font-size:13px;font-weight:800;cursor:pointer}.button.primary{color:#fff;background:linear-gradient(110deg,var(--blue),#6941c6);box-shadow:0 15px 28px rgba(75,71,220,.24)}.button.secondary{border:1px solid var(--line);background:#fff}.section{padding:118px 0}.section.soft{background:linear-gradient(145deg,#f8faff,#f4f7ff)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:54px}.section-head p{max-width:500px;margin:0}.hero{position:relative;min-height:730px;padding:72px 0 82px;overflow:hidden;background:linear-gradient(150deg,#fff 35%,#f4f7ff)}.hero:after,.page-hero:after{content:"";position:absolute;width:650px;height:650px;right:-210px;bottom:-330px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.2),rgba(21,94,239,.13) 38%,rgba(122,90,248,.11) 62%,transparent 70%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:70px}.hero h1{font-size:clamp(42px,4.2vw,60px)}.hero h1 .gradient{white-space:nowrap}.hero-copy .lead{max-width:520px}.actions{display:flex;gap:13px;margin-top:32px}.hero-services{display:flex;gap:25px;margin-top:35px}.hero-services b{display:block;color:var(--blue);font-size:9px;letter-spacing:.13em}.hero-services span{display:block;margin-top:6px;font-size:12px;font-weight:800}.collage{position:relative;height:565px}.collage:before,.collage:after{content:"";position:absolute;border:1px solid rgba(21,94,239,.12);border-radius:50%}.collage:before{width:480px;height:480px;right:-20px;top:32px}.collage:after{width:380px;height:380px;right:30px;top:82px}.photo-card{position:absolute;z-index:2;overflow:hidden;border:8px solid rgba(255,255,255,.94);border-radius:26px;box-shadow:var(--shadow)}.photo-card img{width:100%;height:100%;object-fit:cover}.photo-card.main{width:510px;height:350px;right:0;top:12px;transform:rotate(2deg)}.photo-card.small{width:330px;height:228px;left:0;bottom:18px;transform:rotate(-4deg)}.photo-label{position:absolute;left:16px;bottom:14px;padding:8px 12px;color:#fff;border-radius:999px;background:rgba(16,24,40,.72);backdrop-filter:blur(8px);font-size:9px;font-weight:800;letter-spacing:.06em}.manifesto{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;align-items:start}.manifesto h2{margin:0}.manifesto .big-copy{font-size:clamp(28px,3vw,42px);font-weight:800;line-height:1.75;letter-spacing:-.04em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;overflow:hidden;min-height:440px;border-radius:var(--radius);background:#fff;box-shadow:0 16px 50px rgba(42,58,98,.09)}.service-card img{width:100%;height:225px;object-fit:cover}.service-card-body{padding:28px}.number{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.16em}.service-card h3{margin:10px 0}.service-card p{color:var(--muted);font-size:13px;line-height:1.8}.text-link{display:inline-flex;gap:14px;margin-top:12px;color:var(--blue);font-size:12px;font-weight:800}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--line)}.flow-item{padding:34px 26px;background:#fff}.flow-item b{font-size:30px;color:#d0d5dd}.flow-item h3{margin:25px 0 10px;font-size:18px}.flow-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}.image-copy{display:grid;grid-template-columns:1.05fr .95fr;gap:82px;align-items:center}.image-copy.reverse{grid-template-columns:.95fr 1.05fr}.image-copy.reverse .image-wrap{order:2}.image-wrap{position:relative}.image-wrap:before{content:"";position:absolute;inset:30px -25px -25px 30px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(21,94,239,.12),rgba(122,90,248,.15))}.image-wrap img{position:relative;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.cta-band{position:relative;overflow:hidden;padding:80px;border-radius:36px;color:#fff;background:linear-gradient(125deg,#12255a,#42307d 60%,#155eef)}.cta-band:after{content:"";position:absolute;width:330px;height:330px;right:-60px;top:-130px;border-radius:50%;background:rgba(255,255,255,.11);filter:blur(2px)}.cta-band h2{max-width:700px;margin-bottom:18px}.cta-band p{max-width:570px;color:rgba(255,255,255,.72);line-height:1.9}.cta-band .button{margin-top:20px;color:var(--ink);background:#fff}.page-hero{position:relative;overflow:hidden;padding:100px 0 78px;background:linear-gradient(150deg,#fff,#f5f7ff)}.page-hero .container{position:relative;z-index:2}.page-hero h1{margin-bottom:20px}.page-hero .lead{max-width:660px}.wide-photo{position:relative;z-index:2;width:min(1180px,calc(100% - 48px));height:500px;margin:0 auto;border-radius:34px;object-fit:cover;box-shadow:var(--shadow)}.statement{text-align:center}.statement h2{max-width:850px;margin:0 auto 30px}.statement p{max-width:720px;margin:0 auto;color:var(--muted);line-height:2.15}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px}.value{padding:36px;border:1px solid var(--line);border-radius:24px;background:#fff}.value b{color:var(--blue);font-size:10px;letter-spacing:.15em}.value h3{margin:15px 0 12px}.value p{margin:0;color:var(--muted);font-size:13px;line-height:1.85}.signature{margin-top:30px;font-weight:800}.signature small{margin-right:12px;color:var(--muted);font-weight:500}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center;padding:90px 0;border-bottom:1px solid var(--line)}.service-detail:nth-child(even) .service-image{order:2}.service-image{overflow:hidden;border-radius:30px;box-shadow:var(--shadow)}.service-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-detail ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 0;padding:0;list-style:none}.service-detail li{padding:13px 15px;border-radius:12px;background:var(--soft);font-size:12px;font-weight:700}.company-layout{display:grid;grid-template-columns:.68fr 1.32fr;gap:80px}.company-table{margin:0;border-top:1px solid var(--line)}.company-row{display:grid;grid-template-columns:160px 1fr;padding:22px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.8}.company-row dt{color:var(--muted)}.company-row dd{margin:0;font-weight:700}.purpose-list{display:grid;gap:12px;margin:30px 0 0;padding:0;counter-reset:item;list-style:none}.purpose-list li{position:relative;padding:18px 20px 18px 62px;border-radius:16px;background:var(--soft);font-size:13px;line-height:1.7}.purpose-list li:before{counter-increment:item;content:"0" counter(item);position:absolute;left:20px;color:var(--blue);font-size:10px;font-weight:800}.contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:start}.contact-aside{position:sticky;top:120px}.contact-aside img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;margin-top:28px}.contact-form{padding:42px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 18px 55px rgba(42,58,98,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:22px}.field.full{grid-column:1/-1}.field label{display:block;margin-bottom:9px;font-size:12px;font-weight:800}.required{margin-left:6px;color:var(--blue);font-size:10px}.field input,.field select,.field textarea{width:100%;padding:15px 16px;border:1px solid #d0d5dd;border-radius:12px;color:var(--ink);background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(21,94,239,.08)}.field textarea{min-height:170px;resize:vertical}.check{display:flex;align-items:flex-start;gap:10px;margin:4px 0 24px;color:var(--muted);font-size:12px;line-height:1.6}.form-note{margin:16px 0 0;color:#98a2b3;font-size:11px}.form-status{display:none;margin-top:15px;padding:14px;border-radius:12px;background:#eef4ff;color:#1849a9;font-size:12px}.site-footer{padding:70px 0 30px;background:#101828;color:#fff}.footer-grid{display:flex;justify-content:space-between;gap:50px}.footer-copy{max-width:430px;margin-top:22px;color:#98a2b3;font-size:12px;line-height:1.9}.footer-links{display:grid;grid-template-columns:repeat(2,140px);gap:15px 36px;color:#d0d5dd;font-size:12px}.copyright{margin-top:60px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);color:#667085;font-size:10px}.reveal{opacity:0;transform:translateY(16px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.container{width:min(100% - 36px,var(--max))}.nav{height:72px}.menu-button{display:block}.nav-links{position:absolute;display:none;top:72px;left:0;right:0;padding:20px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{padding:10px}.hero{padding:55px 0}.hero-grid,.manifesto,.image-copy,.image-copy.reverse,.service-detail,.company-layout,.contact-layout{grid-template-columns:1fr;gap:45px}.hero-grid{display:flex;flex-direction:column}.hero-copy{width:100%}.collage{width:100%;height:420px}.photo-card.main{width:78%;height:280px}.photo-card.small{width:58%;height:190px}.cards,.values{grid-template-columns:1fr}.flow{grid-template-columns:1fr 1fr}.section{padding:82px 0}.section-head{display:block}.section-head p{margin-top:20px}.image-copy.reverse .image-wrap,.service-detail:nth-child(even) .service-image{order:0}.wide-photo{height:360px}.service-detail ul{grid-template-columns:1fr}.contact-aside{position:static}.footer-grid{display:block}.footer-links{margin-top:38px}.cta-band{padding:48px 28px}.company-row{grid-template-columns:115px 1fr}}@media(max-width:560px){h1{font-size:42px}.hero-services{gap:13px}.hero-services span{font-size:10px}.actions{flex-direction:column;align-items:stretch}.collage{height:340px}.photo-card.main{width:86%;height:230px}.photo-card.small{width:62%;height:150px}.flow{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-form{padding:24px}.company-row{grid-template-columns:1fr;gap:6px}.footer-links{grid-template-columns:1fr 1fr}.wide-photo{height:280px}}
