:root{--color-primary: #1e40af;--color-primary-light: #3b82f6;--color-primary-dark: #1e3a8a;--color-secondary: #0ea5e9;--color-bg: #f8fafc;--color-bg-alt: #ffffff;--color-text: #334155;--color-text-light: #64748b;--color-heading: #0f172a;--color-border: #e2e8f0;--font-family-base: "Noto Sans JP", sans-serif;--font-family-en: "Outfit", "Noto Sans JP", sans-serif;--max-width: 1200px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family-base);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;font-size:16px;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--color-heading);line-height:1.3;font-weight:700}a{color:var(--color-primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--color-primary-light)}ul{list-style:none}img{max-width:100%;height:auto;display:block}.header{background-color:#fffffff2;backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:1000}.header-container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;height:80px;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:.8rem}.logo img{height:40px;width:auto}.logo-text{font-size:1.2rem;font-weight:700;color:var(--color-heading);letter-spacing:.05em}.nav-list{display:flex;align-items:center;gap:2rem}.nav-list a{color:var(--color-heading);font-weight:500;font-size:.95rem}.nav-list a:hover{color:var(--color-primary)}.btn-contact{background-color:var(--color-primary);color:#fff!important;padding:.6rem 1.5rem;border-radius:50px;font-weight:600!important;box-shadow:0 4px 6px -1px #1e40af33}.btn-contact:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 10px 15px -3px #1e40af4d}.menu-toggle{display:none;flex-direction:column;justify-content:space-between;width:30px;height:21px;background:transparent;border:none;cursor:pointer;z-index:1001}.menu-toggle span{display:block;width:100%;height:3px;background-color:var(--color-heading);border-radius:3px;transition:var(--transition)}.footer{background-color:var(--color-bg-alt);color:var(--color-text);padding:4rem 0 2rem;margin-top:4rem;border-top:1px solid var(--color-border)}.footer-container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:3rem}.footer-address{color:var(--color-text-light);font-size:.9rem}.footer-links ul{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.5rem}.footer-links a{color:var(--color-heading);transition:var(--transition);font-weight:500}.footer-links a:hover{color:var(--color-primary);padding-left:.5rem}.footer-bottom{max-width:var(--max-width);margin:0 auto;padding:1.5rem 1.5rem 0;margin-top:3rem;border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-light);font-size:.85rem}.page-header{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);color:#fff;padding:1rem 1.5rem;text-align:center;margin-bottom:4rem}.page-header h1{color:#fff;font-size:2.5rem;margin-bottom:1rem;font-family:var(--font-family-en)}.page-header p{font-size:1.1rem;opacity:.9}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.section-title{text-align:center;font-size:2.2rem;margin-bottom:3rem;position:relative;padding-bottom:1rem}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:4px;background-color:var(--color-primary);border-radius:2px}@media (max-width: 768px){.menu-toggle{display:flex}.nav{position:fixed;top:0;right:-100%;width:80%;max-width:400px;height:100vh;background-color:#fff;box-shadow:-5px 0 15px #0000001a;transition:var(--transition);display:flex;flex-direction:column;padding:80px 2rem 2rem}.nav.active{right:0}.menu-toggle.active span:nth-child(1){transform:translateY(9px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.nav-list{flex-direction:column;align-items:flex-start;gap:1.5rem}.nav-list li{width:100%;border-bottom:1px solid var(--color-border);padding-bottom:1rem}.btn-contact{display:inline-block;margin-top:1rem}.footer-container{flex-direction:column;gap:2rem}}
