:root{--navy:#1a3a52;--navy-dark:#0c1f30;--navy-mid:#2a4e6a;--navy-light:#ebf2f7;--accent:#2d7a6e;--accent-light:#e8f4f2;--silver:#8f9ba4;--silver-light:#c5cdd2;--silver-subtle:#f2f4f6;--bg:#fff;--bg-alt:#f5f9fc;--text:#0f1923;--text-muted:#637381;--text-light:#9ca3af;--border:#0000000f;--border-navy:#1a3a521f;--ring:0 0 0 1px #0000000d;--shadow-sm:0 2px 8px #0000000a;--shadow:0 8px 24px #0000000f;--shadow-lg:0 16px 48px #00000014;--font-body:"Noto Sans JP","Inter",sans-serif;--font-heading:"Inter","Noto Sans JP",sans-serif;--radius:14px;--radius-sm:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7;overflow-x:hidden}.container{max-width:1080px;margin:0 auto;padding:0 2.5rem}.navbar{z-index:1000;-webkit-backdrop-filter:blur(20px)saturate(1.8);border-bottom:1px solid var(--border);background:#ffffffe0;width:100%;padding:1.125rem 0;transition:all .3s;position:fixed;top:0}.navbar.scrolled{background:#fffffff5;padding:.875rem 0;box-shadow:0 1px #0000000f}.navbar .container{justify-content:space-between;align-items:center;gap:2rem;display:flex}.logo{flex-shrink:0;align-items:center;text-decoration:none;display:flex}.logo img{width:auto;height:34px}.nav-right{align-items:center;gap:1.25rem;display:flex}.nav-links{align-items:center;gap:1.5rem;list-style:none;display:flex}.nav-links a{color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;font-size:.83rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--accent)}.nav-cta{letter-spacing:.02em;border-radius:6px;padding:.5rem 1.125rem;background:var(--navy)!important;color:#fff!important;font-size:.83rem!important;font-weight:600!important;transition:all .2s!important}.nav-cta:hover{background:var(--accent)!important;box-shadow:0 4px 12px #2d7a6e40!important}.lang-switcher{border:1px solid var(--border);background:var(--bg-alt);border-radius:20px;flex-shrink:0;align-items:center;gap:.15rem;padding:.2rem .4rem;display:flex}.lang-btn{cursor:pointer;color:var(--text-light);font-size:.7rem;font-weight:700;font-family:var(--font-body);letter-spacing:.04em;white-space:nowrap;background:0 0;border:none;border-radius:12px;padding:.2rem .45rem;transition:all .15s}.lang-btn:hover{color:var(--accent)}.lang-btn.active{background:var(--accent);color:#fff}.nav-toggle{display:none}.nav-toggle-label{cursor:pointer;flex-direction:column;gap:4.5px;padding:.4rem;display:none}.nav-toggle-label span{background:var(--text);border-radius:2px;width:20px;height:1.5px;transition:all .3s;display:block}.btn{border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem;font-weight:600;font-family:var(--font-body);letter-spacing:.01em;border:none;justify-content:center;align-items:center;padding:.875rem 2.25rem;text-decoration:none;transition:all .2s;display:inline-flex}.btn-navy{background:var(--navy);color:#fff;box-shadow:0 1px 2px #1a3a5226}.btn-navy:hover{background:var(--navy-mid);transform:translateY(-1px);box-shadow:0 6px 20px #1a3a5238}.btn-outline-navy{color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy);background:0 0}.btn-outline-navy:hover{background:var(--navy-light);transform:translateY(-1px)}.hero{justify-content:center;align-items:center;min-height:100vh;padding:9rem 0 7rem;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;background-color:#0b1c2c;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.hero-bg-img{object-fit:cover;opacity:.85;width:100%;height:100%;position:absolute;inset:0}.hero-bg:after{content:"";pointer-events:none;background:linear-gradient(#ffffff14,#0b1c2ceb);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:1;text-align:center;box-sizing:border-box;width:100%;max-width:860px;margin-left:auto;margin-right:auto;position:relative}.hero h1{font-family:var(--font-heading);color:#fff;letter-spacing:-.04em;text-align:center;box-sizing:border-box;max-width:100%;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:2.5rem;font-weight:800;line-height:1.05}@media (min-width:641px){.hero h1{white-space:nowrap;font-size:3.5rem}}@media (max-width:640px){.hero h1{white-space:normal;letter-spacing:-.03em;font-size:2rem}}.hero h1 .silver{color:var(--silver-light);text-shadow:0 0 80px #c5cdd24d}.hero-sep{background:#fff3;width:40px;height:1px;margin:0 auto 2rem;display:block}.hero-sub{color:#ffffff8c;white-space:pre-line;letter-spacing:.01em;max-width:620px;margin:0 auto;font-size:1.1rem;line-height:1.9}.section-divider{background:var(--border);height:1px}.section{padding:7.5rem 0}.section-alt{background:var(--bg-alt)}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--navy);align-items:center;gap:.6rem;margin-bottom:1rem;font-size:.88rem;font-weight:700;display:inline-flex}.section-label:before{content:"";background:var(--accent);flex-shrink:0;width:20px;height:2px;display:inline-block}.section-title{font-family:var(--font-heading);color:var(--navy);letter-spacing:-.03em;margin-bottom:1.25rem;font-size:clamp(1.5rem,3vw,2.15rem);font-weight:800;line-height:1.2}.section-desc{color:var(--text-muted);white-space:pre-line;max-width:720px;margin-bottom:4rem;font-size:1rem;line-height:1.85}.business-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:stretch;gap:1.5rem;display:grid}.business-card{background:var(--bg);border-radius:var(--radius);height:100%;min-height:0;box-shadow:var(--ring),var(--shadow-sm);flex-direction:column;padding:2.75rem;transition:box-shadow .3s,transform .3s;display:flex;position:relative}.business-card>p{margin-top:auto}.business-card:after{content:"";background:linear-gradient(90deg,#0000,#1a3a521f,#0000);height:1px;position:absolute;top:0;left:2.75rem;right:2.75rem}.business-card:hover{box-shadow:var(--ring),var(--shadow-lg);transform:translateY(-4px)}.card-illustration{justify-content:center;align-items:center;min-height:160px;margin-bottom:2rem;display:flex}.card-illustration-img{object-fit:contain;width:100%;max-width:320px;height:auto}.business-card h3{font-family:var(--font-heading);color:var(--navy);letter-spacing:-.02em;margin-bottom:.875rem;font-size:1.2rem;font-weight:700;line-height:1.4}.business-card p{color:var(--text-muted);font-size:.9rem;line-height:1.8}.products-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:stretch;gap:1.5rem;display:grid}.product-card{background:var(--bg);border-radius:var(--radius);height:100%;min-height:0;box-shadow:var(--ring),var(--shadow-sm);flex-direction:column;padding:2.75rem;transition:box-shadow .3s,transform .3s;display:flex;position:relative;overflow:hidden}.product-card>.product-link{margin-top:auto}.product-card:hover{box-shadow:var(--ring),var(--shadow-lg);transform:translateY(-4px)}.product-card-accent{background:var(--accent);height:2px;position:absolute;top:0;left:0;right:0}.product-tag{letter-spacing:.12em;text-transform:uppercase;background:var(--accent-light);color:var(--accent);border-radius:20px;margin-bottom:1.375rem;padding:.3rem .8rem;font-size:.68rem;font-weight:700;display:inline-block}.product-tag.soon{background:var(--silver-subtle);color:var(--text-light)}.product-logo-wrap{justify-content:flex-start;align-items:center;min-height:3.5rem;margin-bottom:1.25rem;display:flex}.product-logo-img{object-fit:contain;width:auto;max-width:100%;height:3.5rem}.product-card h3{font-family:var(--font-heading);color:var(--navy);letter-spacing:-.03em;align-items:center;min-height:3.5rem;margin-bottom:.875rem;font-size:2rem;font-weight:800;line-height:1.1;display:flex}.product-card p{color:var(--text-muted);margin-bottom:1.75rem;font-size:.9rem;line-height:1.8}.product-features{border-top:1px solid var(--border);margin-bottom:2rem;padding-top:1.375rem;list-style:none}.product-features li{color:var(--text-muted);padding:.35rem 0 .35rem 1.25rem;font-size:.85rem;position:relative}.product-features li:before{content:"✓";color:var(--accent);font-size:.8rem;font-weight:800;position:absolute;left:0}.product-link{color:var(--accent);align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:gap .2s;display:inline-flex}.product-link:hover{color:var(--navy);gap:.65rem}.product-link.disabled{color:var(--text-light);cursor:default;pointer-events:none}.about-story{background:var(--bg-alt);border-radius:var(--radius);box-shadow:var(--ring);margin-bottom:2rem;padding:2rem 2.5rem}.about-story-label{letter-spacing:.22em;text-transform:uppercase;color:var(--silver);align-items:center;gap:.6rem;margin-bottom:.75rem;font-size:.68rem;font-weight:700;display:flex}.about-story-label:before{content:"";background:var(--silver);opacity:.5;flex-shrink:0;width:18px;height:1px;display:inline-block}.about-story-text{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.85}.company-table-wrap{border-radius:var(--radius);box-shadow:var(--ring),var(--shadow-sm);overflow:hidden}.company-table{border-collapse:collapse;width:100%;font-size:.925rem}.company-table tr{border-bottom:1px solid var(--border)}.company-table tr:last-child{border-bottom:none}.company-table th{text-align:left;color:var(--navy);vertical-align:top;background:var(--bg-alt);white-space:nowrap;letter-spacing:.01em;width:175px;padding:1.25rem 1.75rem;font-size:.83rem;font-weight:600}.company-table td{color:var(--text-muted);padding:1.25rem 1.75rem;line-height:1.75}.contact-cta{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.contact-form-wrap{max-width:620px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-label{color:var(--navy);letter-spacing:.01em;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-label span{color:var(--text-light);margin-left:.25rem;font-size:.75rem;font-weight:400}.form-input,.form-textarea,.form-select{background:var(--bg);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font-body);appearance:none;border:1px solid #0000001a;padding:.875rem 1.125rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #1a3a5214}.form-textarea{resize:vertical;min-height:140px}.form-select-wrap{position:relative}.form-select-wrap:after{content:"▾";color:var(--text-muted);pointer-events:none;font-size:.85rem;position:absolute;top:50%;right:1.125rem;transform:translateY(-50%)}.form-submit{background:var(--navy);color:#fff;border-radius:var(--radius-sm);width:100%;font-size:1rem;font-weight:700;font-family:var(--font-body);cursor:pointer;letter-spacing:.01em;border:none;padding:1rem;transition:all .2s;box-shadow:0 1px 2px #1a3a5226}.form-submit:hover{background:var(--navy-mid);transform:translateY(-1px);box-shadow:0 6px 20px #1a3a5233}.form-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-privacy{margin-top:1.75rem;margin-bottom:1.75rem}.form-privacy-inner{align-items:flex-start;gap:.75rem;display:flex}.form-checkbox{width:1.125rem;height:1.125rem;accent-color:var(--navy);cursor:pointer;flex-shrink:0;margin-top:.2rem}.form-privacy-label{color:var(--text);cursor:pointer;font-size:.9375rem;font-weight:500;line-height:1.6}.form-privacy-link{color:var(--accent);text-underline-offset:2px;text-decoration:underline;transition:color .2s}.form-privacy-link:hover{color:var(--navy-mid)}.form-privacy-note{color:var(--text-muted);margin-top:.625rem;margin-left:1.875rem;font-size:.8125rem;line-height:1.6}.form-success{text-align:center;background:var(--navy-light);border-radius:var(--radius);box-shadow:var(--ring);padding:3.5rem 2rem}.form-success h3{color:var(--navy);margin-bottom:.75rem;font-size:1.5rem;font-weight:700}.form-success p{color:var(--text-muted)}.back-link{color:var(--text-muted);align-items:center;gap:.4rem;margin-bottom:2.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--navy)}.privacy-main{min-height:100vh;padding-top:6rem;padding-bottom:6rem}.privacy-wrap{max-width:720px;margin:0 auto}.privacy-title{margin-bottom:.5rem}.privacy-updated{color:var(--text-muted);margin-bottom:2.5rem;font-size:.875rem}.privacy-body{flex-direction:column;gap:1.75rem;display:flex}.privacy-heading{color:var(--navy);letter-spacing:.01em;margin-bottom:.5rem;font-size:1rem;font-weight:700}.privacy-text{color:var(--text);margin:0;font-size:.9375rem;line-height:1.8}.privacy-inline-link{color:var(--accent);text-underline-offset:2px;text-decoration:underline;transition:color .2s}.privacy-inline-link:hover{color:var(--navy-mid)}footer{background:var(--navy-dark);padding:2.5rem 0}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.footer-nav{gap:1.5rem;display:flex}.footer-nav a{color:#ffffff59;font-size:.8rem;text-decoration:none;transition:color .2s}.footer-nav a:hover{color:#ffffffbf}.footer-copy{color:#ffffff59;margin-left:auto;font-size:.78rem}@keyframes fadeUp{0%{transform:translateY(22px)}to{transform:translateY(0)}}.fade-up{animation:.7s cubic-bezier(.22,1,.36,1) forwards fadeUp}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.35s}@media (max-width:768px){.nav-toggle-label{display:flex}.nav-links{border-bottom:1px solid var(--border);background:#fffffffa;flex-direction:column;align-items:flex-start;gap:1rem;width:100%;padding:1.5rem 2rem;display:none;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #00000014}.nav-toggle:checked~.nav-right .nav-links{display:flex}.nav-right{gap:.875rem}.section{padding:5rem 0}.about-story{padding:1.5rem 1.25rem}.company-table th{width:100px;padding:1rem;font-size:.78rem}.company-table td{padding:1rem;font-size:.83rem}.footer-content{text-align:center;flex-direction:column}.footer-nav{justify-content:center}.footer-copy{align-self:flex-end;margin-top:.5rem;margin-left:0}.container{padding:0 1.25rem}.business-card,.product-card{padding:2rem}}
