*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{font-family:Inter,Noto Sans JP,sans-serif;color:#3a4a5c;background:#0b0f1a;line-height:2;font-size:1rem;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}.container{max-width:1000px;margin:0 auto;padding:0 2.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:1rem;z-index:10000;padding:.75rem 1.5rem;background:#06b6d4;color:#fff;font-weight:600;border-radius:0 0 8px 8px;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:0}:focus-visible{outline:2px solid #06b6d4;outline-offset:2px}.brush{font-family:Zen Old Mincho,serif;font-weight:400;font-style:normal}.global-nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background .3s ease,box-shadow .3s ease}.global-nav.is-scrolled{background:#060a14d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px #06b6d41a}.nav-inner{max-width:1000px;margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;height:64px}.nav-logo{display:flex;align-items:center;text-decoration:none}.nav-logo-img{height:28px;width:auto}.nav-logo-dark{display:none}.global-nav.is-scrolled .nav-logo-white{display:block}.global-nav.is-scrolled .nav-logo-dark{display:none}.nav-links{list-style:none;display:flex;gap:2rem}.nav-link{font-size:.85rem;font-weight:500;color:#ffffffa6;text-decoration:none;letter-spacing:.06em;transition:color .2s ease}.nav-link:hover{color:#06b6d4}.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:4px}.nav-hamburger span{display:block;width:100%;height:2px;background:#fffc;border-radius:2px;transition:transform .3s ease,opacity .3s ease}.nav-hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-hamburger.is-open span:nth-child(2){opacity:0}.nav-hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:999;background:#060a14f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-menu.is-open{opacity:1;pointer-events:auto}.mobile-menu-links{list-style:none;text-align:center}.mobile-menu-links li{margin-bottom:2rem}.mobile-menu-link{font-size:1.5rem;font-weight:600;color:#fff;text-decoration:none;letter-spacing:.1em;transition:color .2s ease}.mobile-menu-link:hover{color:#06b6d4}.anim-up{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.anim-up.is-visible{opacity:1;transform:translateY(0)}.anim-fade{opacity:0;transform:translateY(16px);animation:heroFadeIn .8s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--delay, 0s)}@keyframes heroFadeIn{to{opacity:1;transform:translateY(0)}}.section-with-bg{position:relative;overflow:hidden}.section-with-bg:before{content:attr(data-bg);position:absolute;top:-.15em;left:50%;transform:translate(-50%);font-size:clamp(6rem,14vw,11rem);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:currentColor;opacity:.04;pointer-events:none;white-space:nowrap;line-height:1;z-index:0}.section-with-bg>.container{position:relative;z-index:1}.section-label{font-size:1.5rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#06b6d4;text-align:center;margin-bottom:2.5rem;position:relative}.section-label:after{content:"";display:block;width:32px;height:2px;background:#06b6d4;margin:.75rem auto 0;opacity:.4}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:linear-gradient(160deg,#060a14,#0a1628 40%,#0d1f3c)}#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent 0%,rgba(6,10,20,.6) 100%);z-index:1}.hero-content{position:relative;z-index:2;margin-bottom:-4rem}.hero-logo{height:64px;width:auto;margin-bottom:2.5rem}.hero-tagline{font-size:1.2rem;color:#fff9;font-weight:500;letter-spacing:.08em;margin-bottom:1.25rem}.hero-lead{font-size:1.25rem;color:#ffffff80;line-height:2}.hero-yasashiku{display:block;font-size:clamp(4rem,10vw,7rem);background:linear-gradient(135deg,#fff,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;margin-top:.5rem;letter-spacing:.1em}.hero-cta{display:inline-block;margin-top:2rem;padding:.85rem 2.5rem;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#06b6d4,#1a56db);border:none;border-radius:8px;text-decoration:none;letter-spacing:.04em;transition:transform .2s ease,box-shadow .2s ease}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 8px 32px #06b6d44d}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:2}.scroll-arrow{display:block;width:24px;height:24px;border-right:2px solid rgba(255,255,255,.3);border-bottom:2px solid rgba(255,255,255,.3);transform:rotate(45deg);animation:scrollBounce 2s infinite}@keyframes scrollBounce{0%,to{transform:rotate(45deg) translate(0);opacity:.3}50%{transform:rotate(45deg) translate(6px,6px);opacity:.8}}.intro{background:#f7f8fa;padding:5rem 0;text-align:center}.intro-text{font-size:1.05rem;color:#6b7b8d;line-height:2.2;margin-bottom:.5rem}.intro-text strong{color:#0a2351;font-weight:600}.concept{padding:6rem 0;text-align:center;background:#fff;color:#0a2351}.concept-ys{font-size:1.4rem;font-weight:500;color:#0a2351;margin-bottom:2rem}.concept-ys .brush{font-size:1.15em;color:#06b6d4}.concept-body{font-size:1.1rem;color:#5a6a7a;line-height:2.4}.concept-body .brush{color:#06b6d4;font-size:1.15em}.concept-keywords{list-style:none;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin:2.5rem 0}.concept-keywords li{font-size:.95rem;color:#0a2351;background:#f7f8fa;border:1px solid #dde1e8;padding:.5rem 1.5rem;border-radius:24px;font-weight:500;letter-spacing:.03em;transition:border-color .3s ease,background .3s ease}.concept-keywords li:hover{border-color:#06b6d4;background:#06b6d40d}.concept-closing{font-size:1.05rem;color:#6b7b8d}.products{padding:6rem 0;background:#f7f8fa;color:#0a2351}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.product-grid>:last-child:nth-child(3n+1){grid-column:2}.product-card{background:#fff;border:1px solid #eaecf0;border-radius:12px;padding:2rem;display:flex;flex-direction:column;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.product-card:hover{border-color:#06b6d4;box-shadow:0 8px 32px #06b6d414;transform:translateY(-4px)}.product-card.is-dev{opacity:.65;border-style:dashed;border-color:#d0d5dd;background:repeating-linear-gradient(-45deg,#fff,#fff 10px,#fafbfc 10px 20px)}.product-card.is-dev:hover{opacity:.9;border-color:#f59e0b}.product-status-bar{margin-bottom:1rem}.product-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.product-status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.product-status--released{color:#10b981}.product-status--released .product-status-dot{background:#10b981;box-shadow:0 0 6px #10b98180}.product-status--dev{color:#f59e0b}.product-status--dev .product-status-dot{background:#f59e0b;box-shadow:0 0 6px #f59e0b80}.product-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.product-icon-wrap{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex-shrink:0;background:#f0f4f8;border-radius:10px;border:1px solid #e2e6ec}.product-icon{font-size:1.4rem;line-height:1}.product-icon-img{width:2.75rem;height:2.75rem;flex-shrink:0;object-fit:contain;border-radius:10px}.product-name{font-size:1.1rem;font-weight:600;color:#0a2351;display:flex;align-items:center;gap:.5rem}.product-tagline{font-size:.9rem;color:#7a8a9a;margin-top:.2rem;font-weight:400}.product-description{font-size:.95rem;color:#5a6a7a;line-height:2;margin-bottom:1.25rem;flex-grow:1}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.product-features{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap}.product-features li{font-size:.8rem;color:#0a2351;background:#f7f8fa;border:1px solid #e2e6ec;padding:.3rem .75rem;border-radius:4px;font-weight:500}.product-cta{display:inline-block;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#06b6d4,#1a56db);padding:.5rem 1.25rem;border-radius:6px;text-decoration:none;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}.product-cta:hover{transform:translateY(-1px);box-shadow:0 4px 16px #06b6d440}.product-cta.is-disabled{background:#c8cdd4;cursor:not-allowed;pointer-events:none}.product-cta.is-disabled:hover{transform:none;box-shadow:none}.product-cta-badge{display:inline-block;font-size:.75rem;font-weight:600;color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);padding:.4rem 1rem;border-radius:6px;letter-spacing:.04em;white-space:nowrap}.principles{padding:6rem 0;text-align:center;background:#fff;color:#0a2351}.principles-lead{font-size:1.05rem;color:#6b7b8d;margin-top:-1rem;margin-bottom:3rem}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.principle-card{padding:2.5rem 2rem;background:#f7f8fa;border:1px solid #eaecf0;border-radius:12px;transition:border-color .3s ease,transform .3s ease}.principle-card:hover{border-color:#06b6d4;transform:translateY(-4px)}.principle-icon{display:block;width:40px;height:40px;margin:0 auto 1.25rem;color:#06b6d4}.principle-icon svg{width:100%;height:100%}.principle-card h3{font-size:1.15rem;font-weight:600;color:#0a2351;margin-bottom:.75rem}.principle-card p{font-size:.95rem;color:#5a6a7a;line-height:2}.voice{padding:6rem 0;background:#f7f8fa;color:#0a2351}.voice-lead{font-size:1.15rem;color:#5a6a7a;text-align:center;line-height:2.2;margin-top:-1rem;margin-bottom:3rem}.voice-form{max-width:560px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.9rem;font-weight:600;color:#0a2351;margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;font-family:Inter,Noto Sans JP,sans-serif;font-size:.95rem;color:#3a4a5c;background:#fff;border:1px solid #dde1e8;border-radius:8px;padding:.75rem 1rem;line-height:1.8;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41f}.form-group textarea{resize:vertical;min-height:120px}.voice-submit{display:block;width:100%;padding:.85rem;font-family:Inter,Noto Sans JP,sans-serif;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#06b6d4,#1a56db);border:none;border-radius:8px;cursor:pointer;letter-spacing:.04em;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.voice-submit:hover{transform:translateY(-2px);box-shadow:0 8px 32px #06b6d44d}.voice-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.voice-result{text-align:center;font-size:.9rem;margin-top:1rem;min-height:1.5em}.voice-result.is-success{color:#10b981;font-weight:500}.voice-result.is-error{color:#ef4444;font-weight:500}.footer{background:#060a14;text-align:center;padding:3.5rem 0;border-top:1px solid rgba(6,182,212,.1)}.footer-info{margin-bottom:1rem}.powered-by{font-family:Inter,sans-serif;font-size:.8rem;color:#5a6a8a;letter-spacing:.05em;margin-bottom:.5rem}.footer-company{display:inline-flex;align-items:center;gap:8px;margin-bottom:.4rem;text-decoration:none;transition:opacity .2s ease}.footer-company:hover{opacity:.8}.ys-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#1a56db,#06b6d4);border-radius:7px;color:#fff;font-family:Inter,sans-serif;font-weight:700;font-size:13px;letter-spacing:-.5px}.ys-text{font-family:Inter,sans-serif;font-weight:600;font-size:.95rem;color:#fff;letter-spacing:-.02em}.ys-text span{color:#06b6d4}.footer-info p{font-size:.85rem;color:#8a9ab5;line-height:1.8}.footer-copy{font-size:.75rem;color:#4a5a7a}.share-section{padding:5rem 0;background:#fff;color:#0a2351;text-align:center}.share-lead{font-size:1.05rem;color:#6b7b8d;margin-top:-1rem;margin-bottom:3rem;line-height:2}.share-content{display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap}.share-qr{display:flex;flex-direction:column;align-items:center;gap:1rem}#qr-canvas{border-radius:12px;border:1px solid #eaecf0;box-shadow:0 2px 12px #0000000f}.share-qr-caption{font-size:.85rem;color:#8a9ab5;line-height:1.8}.share-buttons{display:flex;flex-direction:column;gap:.75rem;min-width:200px}.share-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Inter,Noto Sans JP,sans-serif;font-size:.9rem;font-weight:600;border:1px solid #eaecf0;border-radius:8px;cursor:pointer;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.share-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.share-btn--native{color:#fff;background:linear-gradient(135deg,#06b6d4,#1a56db);border-color:transparent}.share-btn--native:hover{box-shadow:0 4px 16px #06b6d44d}.share-btn--line{color:#fff;background:#06c755;border-color:transparent}.share-btn--line:hover{box-shadow:0 4px 16px #06c7554d}.share-btn--x{color:#fff;background:#0f1419;border-color:transparent}.share-btn--x:hover{box-shadow:0 4px 16px #0f14194d}.share-btn--copy{color:#0a2351;background:#f7f8fa;border-color:#dde1e8}.share-btn--copy:hover{border-color:#06b6d4;background:#06b6d40d}@media(max-width:768px){.hero{min-height:100svh}.hero-logo{height:44px}.hero-lead{font-size:1rem}.hero-cta{margin-top:1.5rem;padding:.75rem 2rem}.nav-links{display:none}.nav-hamburger{display:flex}.product-grid{grid-template-columns:1fr}.product-grid>:last-child:nth-child(3n+1){grid-column:auto}.product-footer{flex-direction:column;align-items:flex-start}.principles-grid{grid-template-columns:1fr}.share-content{flex-direction:column;gap:2rem}.share-buttons{min-width:unset;width:100%;max-width:280px}}@media(min-width:769px)and (max-width:1024px){.product-grid{grid-template-columns:repeat(2,1fr)}.product-grid>:last-child:nth-child(3n+1){grid-column:auto}}
