:root{--primary-color: #3B82F6;--primary-dark: #2563EB;--primary-light: #93C5FD;--secondary-color: #14B8A6;--accent-color: #F97316;--success-color: #10B981;--warning-color: #F59E0B;--error-color: #EF4444;--text-dark: #1F2937;--text-light: #F9FAFB;--text-muted: #6B7280;--bg-light: #F9FAFB;--bg-dark: #111827;--bg-muted: #E5E7EB;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--space-7: 64px;--space-8: 96px;--border-radius: 8px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--font-family: "Noto Sans JP", sans-serif;--transition: all .3s ease;font-family:var(--font-family);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-dark);background-color:var(--bg-light)}.dark-mode{--text-dark: #F9FAFB;--text-light: #1F2937;--bg-light: #111827;--bg-dark: #F9FAFB;--bg-muted: #374151;color:var(--text-dark);background-color:var(--bg-light)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}a{color:var(--primary-color);text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-dark)}ul{list-style:none}img{max-width:100%;height:auto;border-radius:var(--border-radius)}button{font-family:inherit;cursor:pointer}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.website{display:flex;flex-direction:column;min-height:100vh}.header{position:sticky;top:0;z-index:100;background-color:#f9fafbe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);transition:var(--transition)}.dark-mode .header{background-color:#111827e6}.header .container{display:flex;align-items:center;justify-content:space-between;height:70px}.logo{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.nav{display:flex;align-items:center}.nav-links{display:flex;gap:var(--space-4)}.nav-links a{color:var(--text-dark);font-weight:500;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--primary-color)}.nav-links a.active:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background-color:var(--primary-color);border-radius:2px}.menu-toggle{display:none;flex-direction:column;justify-content:space-between;width:24px;height:18px;background:transparent;border:none}.menu-toggle span{width:100%;height:2px;background-color:var(--text-dark);border-radius:2px;transition:var(--transition)}.theme-toggle{display:flex;align-items:center;justify-content:center;margin-left:var(--space-3);width:40px;height:40px;border-radius:50%;background:transparent;border:none;color:var(--text-dark);transition:var(--transition)}.theme-toggle:hover{background-color:var(--bg-muted)}.theme-toggle .sun-icon,.theme-toggle .moon-icon{position:absolute;transition:var(--transition)}.theme-toggle .sun-icon{opacity:0;transform:scale(.5)}.dark-mode .theme-toggle .sun-icon{opacity:1;transform:scale(1)}.dark-mode .theme-toggle .moon-icon{opacity:0;transform:scale(.5)}.hero{padding:var(--space-7) 0}.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:center}.hero-content h1{font-size:3rem;line-height:1.2;margin-bottom:var(--space-3);color:var(--text-dark)}.hero-content p{font-size:1.25rem;color:var(--text-muted);margin-bottom:var(--space-4)}.hero-actions{display:flex;gap:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:var(--border-radius);font-weight:500;transition:var(--transition);border:2px solid transparent}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-dark);color:#fff}.btn-outline{border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background-color:var(--primary-color);color:#fff}.hero-image img{border-radius:var(--border-radius);box-shadow:var(--shadow-lg);transition:var(--transition)}.hero-image img:hover{transform:translateY(-5px)}section{padding:var(--space-7) 0}.section-title{font-size:2.5rem;text-align:center;margin-bottom:var(--space-6);position:relative;color:var(--text-dark)}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background-color:var(--primary-color);border-radius:2px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4)}.card{background-color:#fff;border-radius:var(--border-radius);padding:var(--space-4);box-shadow:var(--shadow-md);transition:var(--transition)}.dark-mode .card{background-color:var(--bg-muted)}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card-icon{display:flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:50%;background-color:#3b82f61a;color:var(--primary-color);margin-bottom:var(--space-3)}.card h3{font-size:1.5rem;margin-bottom:var(--space-2);color:var(--text-dark)}.card p{color:var(--text-muted);margin-bottom:var(--space-3)}.card-link{display:inline-flex;align-items:center;font-weight:500}.card-link:after{content:"→";margin-left:var(--space-1);transition:var(--transition)}.card-link:hover:after{transform:translate(4px)}.about .container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:center}.about-content p{color:var(--text-muted);margin-bottom:var(--space-3)}.counter-container{margin-top:var(--space-4)}.counter-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.counter-button{padding:var(--space-2) var(--space-4);background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:1rem;transition:var(--transition)}.counter-button:hover{background-color:var(--primary-dark)}.about-image img{border-radius:var(--border-radius);box-shadow:var(--shadow-lg)}.contact-container{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-6)}.contact-info{display:flex;flex-direction:column;gap:var(--space-4)}.contact-item{display:flex;gap:var(--space-3)}.contact-item svg{color:var(--primary-color);flex-shrink:0}.contact-item h3{font-size:1.25rem;margin-bottom:var(--space-1);color:var(--text-dark)}.contact-item p{color:var(--text-muted)}.contact-form{display:flex;flex-direction:column;gap:var(--space-3);background-color:#fff;padding:var(--space-4);border-radius:var(--border-radius);box-shadow:var(--shadow-md)}.dark-mode .contact-form{background-color:var(--bg-muted)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label{font-weight:500;color:var(--text-dark)}.form-group input,.form-group textarea{padding:var(--space-2);border:1px solid var(--bg-muted);border-radius:var(--border-radius);background-color:transparent;color:var(--text-dark);font-family:var(--font-family)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.footer{background-color:var(--bg-muted);padding:var(--space-5) 0;margin-top:auto}.dark-mode .footer{background-color:var(--bg-dark)}.footer .container{display:flex;justify-content:space-between;align-items:center}.footer-logo{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin-bottom:var(--space-2)}.footer-content p{color:var(--text-muted)}.footer-links ul{display:flex;gap:var(--space-4)}@media (max-width: 768px){.header .container{height:60px}.nav-links{position:fixed;top:60px;left:0;width:100%;height:0;flex-direction:column;align-items:center;background-color:var(--bg-light);box-shadow:var(--shadow-md);overflow:hidden;transition:var(--transition);opacity:0}.dark-mode .nav-links{background-color:var(--bg-light)}.nav-links.active{height:auto;padding:var(--space-4) 0;opacity:1}.menu-toggle{display:flex}.menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero .container,.about .container{grid-template-columns:1fr}.hero-content{order:1;text-align:center}.hero-image{order:0}.hero-actions{justify-content:center}.hero-content h1{font-size:2.25rem}.section-title{font-size:2rem}.contact-container{grid-template-columns:1fr}.footer .container{flex-direction:column;text-align:center;gap:var(--space-3)}.footer-links ul{justify-content:center}}@media (max-width: 480px){.cards{grid-template-columns:1fr}.hero-content h1{font-size:1.75rem}.hero-content p{font-size:1rem}.hero-actions{flex-direction:column;width:100%}.btn{width:100%}}
