:root{--c-bg-base:#f8fafc;--c-bg-surface:#00000008;--c-bg-glass:#ffffffbf;--c-bg-glass-hover:#fffffff2;--c-text-primary:#0f172a;--c-text-secondary:#334155;--c-text-muted:#64748b;--c-accent-1:#0ea5e9;--c-accent-2:#2563eb;--c-accent-3:#0d9488;--gradient-primary:linear-gradient(135deg, var(--c-accent-1) 0%, var(--c-accent-2) 100%);--gradient-text:linear-gradient(135deg, #0f172a 0%, #2563eb 100%);--gradient-neon:linear-gradient(90deg, var(--c-accent-1), var(--c-accent-2), var(--c-accent-3));--font-en:"Outfit", sans-serif;--font-jp:"Noto Sans JP", sans-serif;--container-width:1400px;--spacing-section:120px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--border-glass:1px solid #00000014;--transition-smooth:.4s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-jp);background-color:var(--c-bg-base);color:var(--c-text-primary);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-en);font-weight:600;line-height:1.2}a{color:inherit;transition:color var(--transition-smooth);text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 5%}.section-padding{padding:var(--spacing-section) 0}.text-center{text-align:center}.relative{position:relative}.z-1{z-index:1}.mb-4{margin-bottom:2rem}.d-inline-block{display:inline-block}.text-gradient{background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.fw-800{font-weight:800}.glass-card{background:var(--c-bg-glass);-webkit-backdrop-filter:blur(12px);border:var(--border-glass);border-radius:var(--radius-lg);transition:transform var(--transition-smooth), background var(--transition-smooth);padding:2.5rem}.glass-card:hover{background:var(--c-bg-glass-hover);border-color:#0000001f;transform:translateY(-5px);box-shadow:0 10px 30px #0000000d}.btn-primary{background:var(--gradient-primary);color:#fff;font-weight:600;font-family:var(--font-en);transition:transform var(--transition-smooth), box-shadow var(--transition-smooth);border-radius:100px;justify-content:center;align-items:center;padding:.8rem 1.8rem;display:inline-flex;box-shadow:0 8px 20px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 25px #6366f166}.btn-secondary{color:var(--c-text-primary);font-weight:600;font-family:var(--font-en);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:var(--transition-smooth);background:#00000008;border:1px solid #0000001a;border-radius:100px;justify-content:center;align-items:center;padding:.8rem 1.8rem;display:inline-flex}.btn-secondary:hover{background:#0000000f;transform:translateY(-2px)}.btn-large{padding:1rem 2.5rem;font-size:1.1rem}.bg-blur-circle{filter:blur(100px);z-index:-1;opacity:.4;pointer-events:none;border-radius:50%;position:absolute}.blur-1{background:var(--c-accent-1);width:50vw;height:50vw;top:-10%;left:-10%}.blur-2{background:var(--c-accent-3);opacity:.2;width:40vw;height:40vw;bottom:20%;right:-10%}.glass-header{z-index:100;padding:1.5rem 0;transition:background .3s,padding .3s,border-bottom .3s;position:fixed;top:0;left:0;right:0}.glass-header.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid #0000000d;padding:1rem 0}.header-container{max-width:var(--container-width);justify-content:space-between;align-items:center;margin:0 auto;padding:0 5%;display:flex}.logo{letter-spacing:-.5px;font-size:1.8rem;font-weight:800}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-link{font-family:var(--font-en);color:var(--c-text-secondary);font-size:1rem;font-weight:500;position:relative}.nav-link:after{content:"";background:var(--gradient-primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-link:hover{color:#fff}.nav-link:hover:after{width:100%}.mobile-toggle{flex-direction:column;gap:5px;display:none}.mobile-toggle .bar{background:#fff;width:25px;height:2px;transition:all .3s}.hero-section{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}#canvas-container{z-index:1;pointer-events:none;position:absolute;inset:0}.hero-content{z-index:2;max-width:800px;padding:0 5%;position:relative}.hero-title{letter-spacing:-1px;margin-bottom:1.5rem;font-size:clamp(3rem,6vw,5.5rem)}.typewriter-text{font-family:var(--font-en);color:var(--c-text-secondary);display:inline-block}.typewriter-text:after{content:"|";color:var(--c-text-primary);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.hero-subtitle{color:var(--c-text-secondary);margin-bottom:2.5rem;font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.8}.hero-actions{justify-content:center;gap:1rem;display:flex}.scroll-indicator{opacity:.6;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.mouse{border:2px solid var(--c-text-secondary);border-radius:12px;width:24px;height:36px;margin-bottom:8px;position:relative}.wheel{background:var(--c-text-secondary);border-radius:2px;width:4px;height:8px;animation:1.5s infinite scroll;position:absolute;top:6px;left:50%;transform:translate(-50%)}@keyframes scroll{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,12px)}}.section-badge{color:var(--c-accent-1);font-family:var(--font-en);text-transform:uppercase;letter-spacing:1px;background:#6366f11a;border:1px solid #6366f133;border-radius:100px;margin-bottom:1rem;padding:.4rem 1rem;font-size:.85rem;font-weight:600;display:inline-block}.section-title{font-size:clamp(2rem,4vw,3rem);font-family:var(--font-jp);margin-bottom:3rem}.vision-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.vision-text p{color:var(--c-text-secondary);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.8}.vision-visual{position:relative}.decorative-card{position:relative;overflow:hidden}.card-glow{pointer-events:none;background:radial-gradient(circle,#6366f126 0%,#0000 50%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.decorative-card .card-title{color:var(--c-accent-1);margin-bottom:.5rem;font-size:2rem}.services-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.service-image-container{aspect-ratio:16/9;border-radius:var(--radius-md);background:#fff;border:1px solid #0000000d;width:100%;margin-bottom:1.5rem;overflow:hidden}.service-image{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-smooth)}.service-card:hover .service-image{transform:scale(1.05)}.service-title{margin-bottom:1rem;font-size:1.5rem}.service-desc{color:var(--c-text-secondary);margin-bottom:1.5rem}.service-features li{color:var(--c-text-muted);align-items:center;gap:8px;margin-bottom:.5rem;font-size:.95rem;display:flex}.service-features .check{color:var(--c-accent-1);font-weight:800}.customers-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:1rem;display:grid}.customer-card{flex-direction:column;justify-content:space-between;display:flex;position:relative}.quote-icon{font-family:var(--font-en);color:var(--c-accent-1);opacity:.3;margin-bottom:-1rem;font-size:4rem;line-height:1}.customer-comment{color:var(--c-text-secondary);flex-grow:1;margin-bottom:2rem;font-size:1rem;line-height:1.8}.customer-info{border-top:1px solid #ffffff1a;align-items:center;gap:1rem;padding-top:1.5rem;display:flex}.customer-avatar{object-fit:cover;background:var(--gradient-primary);border:2px solid #0000000d;border-radius:50%;width:50px;min-width:50px;height:50px}.customer-name{color:var(--c-text-primary);margin-bottom:.2rem;font-size:1.1rem}.customer-company{color:var(--c-text-muted);font-size:.85rem}.company-info{max-width:800px;margin:0 auto}.company-dl{grid-template-columns:150px 1fr;gap:1.5rem;display:grid}.company-dl dt{color:var(--c-text-secondary);border-bottom:1px solid #ffffff1a;padding-bottom:.5rem;font-weight:500}.company-dl dd{border-bottom:1px solid #ffffff1a;padding-bottom:.5rem}.blog-section{position:relative}.blog-preview-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:3rem;display:grid}.blog-preview-card{color:inherit;border-radius:var(--radius-md);flex-direction:column;text-decoration:none;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.blog-preview-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.blog-preview-thumb{aspect-ratio:16/9;overflow:hidden}.blog-preview-thumb img{object-fit:cover;width:100%;height:100%}.blog-preview-content{padding:20px}.blog-preview-meta{gap:12px;margin-bottom:8px;font-size:.8rem;display:flex}.blog-preview-date{color:var(--c-text-muted)}.blog-preview-category{color:var(--c-accent-2);font-weight:500}.blog-preview-title{font-size:1rem;font-weight:600;line-height:1.5;font-family:var(--font-jp);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.service-image-placeholder{aspect-ratio:16/9;border-radius:var(--radius-sm);background:linear-gradient(135deg,#0ea5e914,#2563eb14);justify-content:center;align-items:center;width:100%;display:flex}@media (width<=1024px){.blog-preview-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.blog-preview-grid{grid-template-columns:1fr}}.seminar-section{background:linear-gradient(#0000 0%,#0ea5e908 100%);position:relative}.seminar-list{text-align:left;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;max-width:900px;margin:2rem auto 0;display:grid}.seminar-loading{text-align:center;color:var(--c-text-muted);grid-column:1/-1;padding:2rem}.seminar-no-items{text-align:center;color:var(--c-text-muted);grid-column:1/-1;padding:2rem;font-size:1.1rem}.seminar-item{background:var(--c-bg-glass);border:var(--border-glass);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition-smooth);flex-direction:column;gap:1rem;padding:2rem;display:flex}.seminar-item:hover{border-color:var(--c-accent-1);transform:translateY(-4px);box-shadow:0 12px 40px #00000014}.seminar-item-badge{font-size:.75rem;font-weight:600;font-family:var(--font-en);border-radius:50px;align-items:center;gap:6px;width:fit-content;padding:4px 12px;display:inline-flex}.seminar-item-badge.online{color:var(--c-accent-1);background:#0ea5e91a}.seminar-item-badge.offline{color:#f97316;background:#f973161a}.seminar-item-title{color:var(--c-text-primary);font-size:1.2rem;font-weight:700;line-height:1.5}.seminar-item-desc{color:var(--c-text-secondary);font-size:.9rem;line-height:1.7}.seminar-item-meta{color:var(--c-text-muted);flex-wrap:wrap;gap:1rem;font-size:.85rem;display:flex}.seminar-item-meta span{align-items:center;gap:4px;display:flex}.seminar-item-capacity{color:var(--c-text-muted);font-size:.8rem;font-family:var(--font-en)}.seminar-item-capacity .full{color:#ef4444;font-weight:600}.seminar-book-btn{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-smooth);font-size:.95rem;font-weight:600;font-family:var(--font-jp);text-align:center;border:none;width:100%;padding:.75rem 2rem}.seminar-book-btn:hover{opacity:.9;transform:translateY(-1px)}.seminar-book-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.seminar-modal{z-index:9999;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.seminar-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}.seminar-modal-content{border-radius:var(--radius-md);background:#fff;width:100%;max-width:480px;max-height:90vh;padding:2.5rem;position:relative;overflow-y:auto;box-shadow:0 24px 80px #00000026}.seminar-modal-close{color:var(--c-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.seminar-modal-close:hover{color:var(--c-text-primary);background:#0000000d}.seminar-modal-title{margin-bottom:.5rem;padding-right:2rem;font-size:1.3rem;font-weight:700}.seminar-modal-info{color:var(--c-text-muted);margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}.seminar-booking-form{text-align:left}.contact-cta-section{position:relative}.cta-card{background:linear-gradient(to bottom right,#ffffffe6,#0ea5e90d);max-width:800px;margin:0 auto;padding:4rem 2rem}.cta-title{font-size:2.5rem;font-family:var(--font-jp);margin-bottom:1rem}.cta-desc{color:var(--c-text-secondary);margin-bottom:2rem;font-size:1.1rem}.contact-form{text-align:left;max-width:500px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-input{border-radius:var(--radius-sm);width:100%;color:var(--c-text-primary);font-family:var(--font-jp);transition:all var(--transition-smooth);background:#00000005;border:1px solid #0000001a;padding:1rem 1.5rem;font-size:1rem}.form-input:focus{border-color:var(--c-accent-1);background:#0000000a;outline:none;box-shadow:0 0 0 2px #0ea5e933}.form-input::placeholder{color:var(--c-text-muted)}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1.5rem center;background-repeat:no-repeat;padding-right:3rem}.form-select:invalid,.form-select option[value=""]{color:var(--c-text-muted)}.form-select option{color:var(--c-text-primary)}.w-full{width:100%}.contact-status{text-align:center;min-height:24px;margin-top:1rem;font-size:.95rem}.status-success{color:#34d399}.status-error{color:#f87171}.footer{background:#f1f5f9;border-top:1px solid #0000000d;padding-top:4rem}.footer-content{flex-wrap:wrap;justify-content:space-between;gap:3rem;margin-bottom:3rem;display:flex}.footer-brand{max-width:300px}.footer-text{color:var(--c-text-muted);font-size:.95rem}.footer-links{gap:4rem;display:flex}.footer-heading{margin-bottom:1.5rem;font-size:1.1rem}.footer-col ul li{margin-bottom:.8rem}.footer-col a{color:var(--c-text-secondary);font-size:.95rem}.footer-col a:hover{color:var(--c-accent-1)}.footer-bottom{text-align:center;color:var(--c-text-muted);border-top:1px solid #0000000d;padding:1.5rem 0;font-size:.85rem}.fade-up-delay-1{opacity:0;animation:.8s 1.2s forwards fadeUpIn}.fade-up-delay-2{opacity:0;animation:.8s 1.4s forwards fadeUpIn}.fade-up-delay-3{opacity:0;animation:.8s 1.6s forwards fadeUpIn}.fade-up-delay-4{opacity:0;animation:1s 2s forwards fadeIn}@keyframes fadeUpIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.js-scroll-anim{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1)}.js-scroll-anim[data-anim=fade-in-up]{transform:translateY(30px)}.js-scroll-anim[data-anim=fade-in-right]{transform:translate(30px)}.js-scroll-anim[data-anim=scale-up]{transform:scale(.95)}.js-scroll-anim.is-visible{opacity:1;transform:translate(0)scale(1)}@media (width<=1024px){.services-grid{grid-template-columns:1fr}}@media (width<=768px){.nav-menu{display:none}.mobile-toggle{display:flex}.vision-grid{grid-template-columns:1fr}.company-dl{grid-template-columns:1fr;gap:.5rem}.company-dl dt{color:var(--c-accent-1);border-bottom:none;padding-bottom:0}.company-dl dd{margin-bottom:1rem}.footer-content{flex-direction:column}}
