@media (prefers-reduced-motion: no-preference){@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-open{animation:slideDown .3s ease-out}.nav-link{position:relative;overflow:hidden;padding:.75rem 1rem;border-radius:.75rem;transition:all .3s ease}.nav-link:before{content:"";position:absolute;bottom:8px;left:50%;width:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transform:translate(-50%);transition:width .3s ease;border-radius:2px}.nav-link:hover:before,.nav-link:focus:before{width:calc(100% - 2rem)}.nav-link:hover,.nav-link:focus{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d)}.nav-link .nav-text{transition:all .3s ease;display:block;font-weight:700;letter-spacing:.08em}.nav-link .nav-subtext{font-size:.75rem;color:#64748b;transition:all .3s ease;letter-spacing:.02em}.nav-link:hover .nav-text,.nav-link:focus .nav-text{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transform:translateY(-1px)}.nav-link:hover .nav-subtext,.nav-link:focus .nav-subtext{color:#8b5cf6}.mobile-link{position:relative;transition:all .3s ease;border-radius:1rem;overflow:hidden}.mobile-link:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(to bottom,#3b82f6,#8b5cf6);transform:scaleY(0);transition:transform .3s ease}.mobile-link:hover:before,.mobile-link:focus:before{transform:scaleY(1)}.mobile-link:after{content:"→";position:absolute;right:1.5rem;top:50%;transform:translateY(-50%) translate(-10px);opacity:0;transition:all .3s ease;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;font-size:1.5rem}.mobile-link:hover:after,.mobile-link:focus:after{opacity:1;transform:translateY(-50%) translate(0)}.mobile-link:hover,.mobile-link:focus{background:linear-gradient(135deg,#3b82f614,#8b5cf614)}.mobile-link-text{font-weight:700;letter-spacing:.05em}.mobile-link-subtext{font-size:.875rem;color:#64748b}.mobile-link:hover .mobile-link-text,.mobile-link:focus .mobile-link-text{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-8px);box-shadow:0 20px 40px -10px #64646440}.image-zoom-wrapper{overflow:hidden;border-radius:.75rem}.image-zoom{transition:transform .4s ease}.card-hover:hover .image-zoom{transform:scale(1.05)}}html{scroll-behavior:smooth}.hamburger-button{position:relative;transition:all .3s ease}.hamburger-button:hover{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a)}.mobile-menu-bg{background:linear-gradient(135deg,#fffffffa,#f9fafbfa);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(59,130,246,.1)}.header-gradient{background:linear-gradient(135deg,#fffffffa,#f9fafbfa);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(226,232,240,.8)}.header-scrolled{background:linear-gradient(135deg,#fffffffc,#f9fafbfc);box-shadow:0 4px 20px -4px #3b82f626;border-bottom:1px solid rgba(59,130,246,.1)}.logo-wrapper:hover img{filter:drop-shadow(0 4px 8px rgba(59,130,246,.3))}.logo-wrapper{transition:all .3s ease}.logo-wrapper:hover{transform:translateY(-2px)}.logo-wrapper img{transition:all .3s ease;filter:drop-shadow(0 2px 4px rgba(59,130,246,.1))}.logo-wrapper:hover img{filter:drop-shadow(0 4px 12px rgba(59,130,246,.3))}.logo-text{background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;letter-spacing:.02em;transition:all .3s ease}.logo-wrapper:hover .logo-text{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-bg-light{background:linear-gradient(135deg,#f8fafc,#f1f5f9,#e0e7ff)}.gradient-bg{background:linear-gradient(135deg,#f0f9ff,#e0e7ff,#ede9fe)}.gradient-overlay{background:linear-gradient(135deg,#ffffff80,#fff0)}@keyframes float-animation{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes float{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-20px) translate(10px)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-25px)}}@keyframes floatFast{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes floatReverse{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(20px) translate(-10px)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.8}}.animate-float{animation:float 6s ease-in-out infinite}.animate-float-slow{animation:floatSlow 10s ease-in-out infinite}.animate-float-fast{animation:floatFast 4s ease-in-out infinite}.animate-float-reverse{animation:floatReverse 8s ease-in-out infinite}.animate-pulse-soft{animation:pulse-soft 3s ease-in-out infinite}.gradient-bg{background:linear-gradient(135deg,#fff,#f8fafc,#f1f5f9)}.gradient-overlay{background:linear-gradient(to right,#f8fafccc,#f1f5f9e6)}.badge-glow{box-shadow:0 4px 20px #3b82f626}.section-title{position:relative;padding-left:28px}.section-title:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(to bottom,#3b82f6,#8b5cf6,#ec4899,#06b6d4);border-radius:3px}.section-title .en{display:block;font-size:2.5rem;font-weight:700;letter-spacing:.05em;color:#1e293b;margin-bottom:10px}.section-title .ja{display:inline-block;font-size:.95rem;color:#64748b;letter-spacing:.15em;padding-left:35px;position:relative}.section-title .ja:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:#3b82f6;border-radius:50%;box-shadow:11px 0 #8b5cf6,22px 0 #ec4899}.subsection-title{font-size:1.5rem;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:12px}.comparison-table th,.comparison-table td{padding:1rem;border-bottom:1px solid #e2e8f0}.comparison-table th{font-weight:700}.comparison-table tbody tr:last-child td{border-bottom:none}.bullet-blue{width:8px;height:8px;background:#3b82f6;border-radius:50%;flex-shrink:0;margin-top:7px}.bullet-purple{width:8px;height:8px;background:#8b5cf6;border-radius:50%;flex-shrink:0;margin-top:7px}.bullet-pink{width:8px;height:8px;background:#ec4899;border-radius:50%;flex-shrink:0;margin-top:7px}.tag{display:inline-block;padding:.375rem .75rem;font-size:.75rem;font-weight:600;border-radius:.5rem;background:#f1f5f9;color:#475569}.tag-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.cta-button{transition:all .3s ease}.cta-button:hover{transform:translateY(-4px);box-shadow:0 20px 40px #00000026}.cta-button:active{transform:translateY(-2px)}.btn-contact{background:#3b82f6;color:#fff}.btn-contact:hover{background:#2563eb}.btn-consultation{background:#8b5cf6;color:#fff}.btn-consultation:hover{background:#7c3aed}.nav-cta-button{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 14px #3b82f64d;transition:all .3s ease}.nav-cta-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.nav-cta-button .cta-arrow{transition:transform .3s ease}.nav-cta-button:hover .cta-arrow{transform:translate(4px)}[data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}[data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1;transform:none;transition:none}}
