:root{--navy:#0a1628;--teal:#0d9488;--teal2:#14b8a6;--purple:#7c3aed;--border:#dde3ed;--muted:#64748b;--muted2:#94a3b8;--bg:#f0f4f8;--bg2:#e8edf5;--white:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--white);color:var(--navy);-webkit-font-smoothing:antialiased;font-family:Inter,Noto Sans JP,sans-serif;overflow-x:hidden}.en{display:block}.ja{display:none}.en-i{display:inline}.ja-i,.lang-ja .en{display:none}.lang-ja .ja{display:block}.lang-ja .en-i{display:none}.lang-ja .ja-i{display:inline}nav{z-index:200;border-bottom:1px solid var(--border);background:#fff;align-items:center;height:52px;padding:0 40px;display:flex;position:fixed;top:0;left:0;right:0}.logo{letter-spacing:.2em;color:var(--navy);margin-right:auto;font-family:Syne,sans-serif;font-size:1rem;font-weight:800;text-decoration:none}.nav-links{gap:20px;margin-right:24px;list-style:none;display:flex}.nav-links a{color:var(--muted);font-size:12px;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--navy)}.lang-toggle{background:#e2e8f0;border-radius:6px;gap:2px;margin-right:12px;padding:3px;display:flex}.lang-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 10px;font-family:Inter,sans-serif;font-size:.7rem;font-weight:600;transition:all .2s}.lang-btn.on{color:var(--teal);background:#fff;box-shadow:0 1px 3px #0000001f}.nav-cta{color:#fff;background:var(--navy);cursor:pointer;border:none;border-radius:980px;padding:6px 14px;font-size:11px;font-weight:500;text-decoration:none;transition:opacity .2s}.nav-cta:hover{opacity:.82}#hero{text-align:center;background:var(--bg);padding:130px 48px 110px;position:relative;overflow:hidden}.hero-h1{letter-spacing:-.04em;color:var(--navy);text-shadow:0 0 40px #f0f4f8e6,0 0 80px #f0f4f899;margin-bottom:22px;font-family:Syne,sans-serif;font-size:clamp(2.8rem,5vw,3.6rem);font-weight:700;line-height:1.04}.hero-h1-ja{color:var(--navy);text-shadow:0 0 40px #f0f4f8e6;margin-bottom:22px;font-family:Noto Sans JP,sans-serif;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:500;line-height:1.3}.grad{background:linear-gradient(135deg,var(--teal)0%,var(--purple)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-sub{color:var(--muted);text-shadow:0 0 24px #f0f4f8e6;max-width:480px;margin:0 auto 44px;font-size:17px;line-height:1.78}.hero-sub-ja{color:var(--muted);text-shadow:0 0 24px #f0f4f8e6;max-width:480px;margin:0 auto 44px;font-family:Noto Sans JP,sans-serif;font-size:15px;line-height:2}.hero-btns{justify-content:center;gap:12px;display:flex}.btn-navy{color:#fff;background:var(--navy);border-radius:980px;padding:12px 26px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .2s}.btn-navy:hover{opacity:.82}.btn-outline{color:var(--navy);background:#f0f4f8bf;border:1px solid #b0bcd0;border-radius:980px;padding:12px 26px;font-size:13px;text-decoration:none;transition:all .2s}.btn-outline:hover{border-color:var(--navy)}#products{border-top:1px solid var(--border);background:#fff;padding:60px 0}.products-head{margin-bottom:32px;padding:0 48px}.sec-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--teal);align-items:center;gap:6px;margin-bottom:.6rem;font-size:.68rem;font-weight:600;display:inline-flex}.sec-eyebrow:before{content:"";background:var(--teal);border-radius:2px;width:18px;height:2px;display:block}.sec-h2{letter-spacing:-.03em;color:var(--navy);font-family:Syne,sans-serif;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;line-height:1.1}.sec-h2-ja{color:var(--navy);font-family:Noto Sans JP,sans-serif;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:500;line-height:1.4}.marquee-outer{position:relative;overflow:hidden}.marquee-outer:before,.marquee-outer:after{content:"";z-index:2;pointer-events:none;width:100px;position:absolute;top:0;bottom:0}.marquee-outer:before{background:linear-gradient(90deg,#fff,#0000);left:0}.marquee-outer:after{background:linear-gradient(-90deg,#fff,#0000);right:0}.marquee-track{gap:16px;width:max-content;padding:4px 24px 20px;animation:32s linear infinite marquee;display:flex}.marquee-track:hover{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.p-card{border:1px solid var(--border);background:#fff;border-radius:20px;flex-direction:column;flex:0 0 292px;gap:12px;padding:28px 26px;transition:all .25s;display:flex;position:relative;overflow:hidden}.p-card:after{content:"";background:linear-gradient(90deg,var(--teal),var(--purple));transform-origin:0;height:2px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.p-card:hover{border-color:#0d94884d;transform:translateY(-2px);box-shadow:0 8px 32px #0d94881a}.p-card:hover:after{transform:scaleX(1)}.p-badge{color:var(--teal);background:#0d948812;border:1px solid #0d94882e;border-radius:980px;align-self:flex-start;padding:3px 10px;font-size:10px;font-weight:500;display:inline-block}.p-name{letter-spacing:-.02em;color:var(--navy);font-family:Syne,sans-serif;font-size:20px;font-weight:700}.p-desc{color:var(--muted);flex:1;font-size:13px;line-height:1.7}.p-link{color:var(--teal);align-self:flex-start;font-size:12px;font-weight:500;text-decoration:none}.p-link:hover{color:var(--purple)}.p-coming{border:1px dashed var(--border);text-align:center;border-radius:20px;flex-direction:column;flex:0 0 160px;justify-content:center;align-items:center;padding:20px;display:flex}.p-plus{color:var(--muted2);margin-bottom:4px;font-size:22px}.p-ct{color:var(--muted2);font-size:11px;line-height:1.7}#about{background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:80px 48px;position:relative;overflow:hidden}#about:before{content:"";pointer-events:none;background:radial-gradient(#7c3aed0f 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-80px;right:-80px}#about:after{content:"";pointer-events:none;background:radial-gradient(#0d948812 0%,#0000 70%);border-radius:50%;width:360px;height:360px;position:absolute;bottom:-80px;left:-80px}#about .inner{z-index:1;grid-template-columns:1fr 1fr;gap:80px;max-width:1040px;margin:0 auto;display:grid;position:relative}.about-text{color:var(--muted);margin-bottom:16px;font-size:15px;line-height:1.85}.v-stack{flex-direction:column;display:flex}.v-item{border:1px solid var(--border);background:#fff;padding:22px 26px;transition:all .2s;position:relative}.v-item:first-child{border-radius:16px 16px 0 0}.v-item:last-child{border-radius:0 0 16px 16px}.v-item+.v-item{border-top:none}.v-item:before{content:"";background:linear-gradient(180deg,var(--teal),var(--purple));transform-origin:top;width:2px;transition:transform .3s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.v-item:hover:before{transform:scaleY(1)}.v-item:hover{background:#fafcff}.v-num{color:var(--teal);letter-spacing:.1em;margin-bottom:6px;font-size:10px;font-weight:600}.v-title{color:var(--navy);margin-bottom:5px;font-family:Syne,sans-serif;font-size:15px;font-weight:700}.v-title-ja{color:var(--navy);margin-bottom:5px;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:500}.v-desc{color:var(--muted);font-size:13px;line-height:1.65}.v-desc-ja{color:var(--muted);font-family:Noto Sans JP,sans-serif;font-size:12px;line-height:1.8}#contact{border-top:1px solid var(--border);background:#fff;padding:80px 48px}#contact .inner{grid-template-columns:1fr 1fr;align-items:start;gap:60px;max-width:900px;margin:0 auto;display:grid}.c-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--teal);align-items:center;gap:6px;margin-bottom:.6rem;font-size:.68rem;font-weight:600;display:inline-flex}.c-eyebrow:before{content:"";background:var(--teal);border-radius:2px;width:18px;height:2px;display:block}.c-h2{letter-spacing:-.03em;color:var(--navy);margin-bottom:14px;font-family:Syne,sans-serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;line-height:1.1}.c-h2-ja{color:var(--navy);margin-bottom:14px;font-family:Noto Sans JP,sans-serif;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:500;line-height:1.4}.c-sub{color:var(--muted);margin-bottom:28px;font-size:14px;line-height:1.8}.c-sub-ja{color:var(--muted);margin-bottom:28px;font-family:Noto Sans JP,sans-serif;font-size:13px;line-height:2}.c-info{flex-direction:column;gap:12px;display:flex}.c-info-row{gap:16px;display:flex}.c-info-label{text-transform:uppercase;letter-spacing:.1em;color:var(--teal);flex-shrink:0;width:52px;padding-top:2px;font-size:.65rem;font-weight:600}.c-info-val{color:var(--muted);font-size:.8rem;line-height:1.6}.c-info-val a{color:var(--muted);text-decoration:none}.c-info-val a:hover{color:var(--teal)}.c-form{border:1px solid var(--border);background:#fff;border-radius:20px;flex-direction:column;gap:16px;padding:28px;display:flex;box-shadow:0 4px 32px #0a16280d}.f-group{flex-direction:column;gap:5px;display:flex}.f-label{letter-spacing:.04em;color:var(--muted);font-size:.68rem;font-weight:500}.f-input,.f-select,.f-textarea{color:var(--navy);background:var(--bg);border:1px solid var(--border);border-radius:10px;outline:none;width:100%;padding:10px 14px;font-family:Inter,sans-serif;font-size:.83rem;transition:all .2s}.f-input:focus,.f-select:focus,.f-textarea:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px #0d94881a}.f-input::placeholder,.f-textarea::placeholder{color:var(--muted2)}.f-textarea{resize:none;height:100px;line-height:1.6}.f-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.f-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--navy)0%,#1a2f5e 50%,#2d1b69 100%);border:none;border-radius:980px;width:100%;padding:12px 20px;font-family:Inter,sans-serif;font-size:.83rem;font-weight:500;transition:all .2s}.f-submit:hover{opacity:.9;transform:translateY(-1px)}footer{background:var(--bg2);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px 48px;display:flex}.f-logo{letter-spacing:.2em;color:var(--navy);font-family:Syne,sans-serif;font-size:.95rem;font-weight:800}.f-copy{color:var(--muted2);font-size:.68rem}.f-links{gap:24px;list-style:none;display:flex}.f-links a{color:var(--muted2);font-size:.68rem;text-decoration:none;transition:color .2s}.f-links a:hover{color:var(--navy)}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:960px){nav{padding:0 20px}.nav-links{display:none}#hero{padding:100px 24px 60px}.hero-h1{font-size:2.4rem}.products-head{padding:0 24px}.p-card{flex:0 0 260px}#about{padding:60px 24px}#about .inner{grid-template-columns:1fr;gap:40px}#contact{padding:60px 24px}#contact .inner{grid-template-columns:1fr;gap:40px}footer{text-align:center;flex-direction:column;gap:12px;padding:20px 24px}.f-row{grid-template-columns:1fr}}
