*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;scroll-behavior:smooth}body{font-family:Noto Sans JP,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.75;color:var(--text-primary);background:#fff;font-weight:400;letter-spacing:0}h1,h2,h3,h4,h5,h6{font-family:Noto Sans JP,sans-serif;font-weight:700}:root{--primary:#0f172a;--primary-light:#1e293b;--accent:#3b82f6;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--bg-light:#f8fafc;--border-color:#e2e8f0}a{color:inherit;text-decoration:none;transition:all .3s ease}main{min-height:calc(100vh - 140px)}.container{max-width:1400px;margin:0 auto;padding:0 20px}.section{padding:160px 0;position:relative}@media (max-width:768px){.section{padding:100px 0}}.section-title{font-size:2.25rem;font-weight:700;margin-bottom:1rem;text-align:center;color:var(--text-primary);letter-spacing:-.03em;position:relative;display:inline-block}.section-subtitle{font-size:1rem;color:var(--text-secondary);text-align:center;margin-bottom:3rem;font-weight:400;line-height:1.75}.button{display:inline-block;padding:16px 32px;background:var(--primary);color:#fff;border-radius:6px;transition:all .2s ease;cursor:pointer;border:none;font-size:.9375rem;font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,.05);letter-spacing:.01em}.button:hover{background:var(--primary-light);box-shadow:0 4px 12px rgba(15,23,42,.2)}.button-outline{background:transparent;border:1.5px solid var(--primary);color:var(--primary);box-shadow:none}.button-outline:hover{background:var(--primary);color:#fff}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:all .25s ease;overflow:hidden;height:100%;border:1px solid var(--border-color)}.card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.12);border-color:var(--primary-light)}.gradient-bg{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-bg-alt{background:linear-gradient(135deg,#f093fb,#f5576c)}.gradient-bg-blue{background:linear-gradient(135deg,#4facfe,#00f2fe)}.gradient-bg-green{background:linear-gradient(135deg,#43e97b,#38f9d7)}.gradient-sunset{background:linear-gradient(135deg,#fa709a,#fee140)}.gradient-ocean{background:linear-gradient(135deg,#a8edea,#fed6e3)}.gradient-neon{background:linear-gradient(135deg,#00f5ff,#fc00ff)}.gradient-peach{background:linear-gradient(135deg,#ffecd2,#fcb69f)}.image-overlay{position:relative}.image-overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(102,126,234,.8),rgba(118,75,162,.8))}.image-overlay>*{position:relative;z-index:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out}.scroll-fade{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.4,0,.2,1)}.scroll-fade.visible{opacity:1;transform:translateY(0)}@keyframes bounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}@keyframes scroll{0%{opacity:0;transform:translateX(-50%) translateY(0)}50%{opacity:1}to{opacity:0;transform:translateX(-50%) translateY(20px)}}.stat-card-v2:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1);border-color:#3b82f6}@keyframes gradient-x{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes grid-move{0%{background-position:0 0}to{background-position:60px 60px}}@keyframes float{0%,to{transform:translateY(0) translateX(0) scale(1)}50%{transform:translateY(-40px) translateX(30px) scale(1.08)}}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes pulse{0%,to{opacity:.8}50%{opacity:.4}}.service-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,.1);border-color:#cbd5e1}.header-nav-link{position:relative;font-weight:500;color:var(--text-secondary);padding:.5rem 0;transition:color .2s ease}.header-nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background-color:var(--primary);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.header-nav-link:hover{color:var(--primary)}.header-nav-link:hover:after{transform:scaleX(1)}@media (max-width:1024px){[style*="repeat(2, 1fr)"]{grid-template-columns:1fr!important}}@media (max-width:768px){.container{padding:0 20px}[style*="repeat(3, 1fr)"], [style*="repeat(4, 1fr)"]{grid-template-columns:repeat(2,1fr)!important}h1{line-height:1.3}}@media (max-width:640px){[style*=grid-template-columns]{grid-template-columns:1fr!important}}@media (max-width:768px){.technology-category-row{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.technology-category-name{min-width:auto!important;width:100%!important}.technology-list{width:100%!important}.main-service-content{flex-direction:column!important;gap:20px!important}.main-service-left{min-width:auto!important;width:100%!important;align-items:center!important}.main-service-left h3{text-align:center!important}.main-service-left>div{justify-content:center!important}.main-service-right{padding-top:0!important;width:100%!important}.main-service-buttons{justify-content:center!important}}