:root{--color-primary: #1a1a2e;--color-accent: #7c3aed;--color-accent-hover: #6d28d9;--color-accent-light: rgba(124,58,237,.08);--color-bg: #ffffff;--color-bg-alt: #f8f9fa;--color-text: #2d2d2d;--color-text-light: #6c757d;--color-border: #e9ecef;--max-width: 1100px;--header-height: 72px;--shadow-sm: 0 2px 8px rgba(0,0,0,.06);--shadow-md: 0 4px 20px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--shadow-xl: 0 16px 48px rgba(0,0,0,.16);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,メイリオ,sans-serif;color:var(--color-text);background:var(--color-bg);line-height:1.8;-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none;transition:color .2s}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto}.site-header{position:sticky;top:0;z-index:100;background:#1a1a2ef7;backdrop-filter:blur(12px);height:var(--header-height);box-shadow:0 2px 16px #0003;border-bottom:1px solid rgba(124,58,237,.15)}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-logo{color:#fff;text-decoration:none;display:flex;align-items:center;gap:12px}.logo-accent{width:4px;height:36px;background:linear-gradient(180deg,var(--color-accent),#a78bfa);border-radius:2px;flex-shrink:0}.logo-text{display:flex;flex-direction:column;gap:2px}.logo-main{font-size:1.1rem;font-weight:700;letter-spacing:.05em}.logo-sub{font-size:.7rem;color:#fff9}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}.mobile-menu-btn span{display:block;width:22px;height:2px;background:#fff;border-radius:1px;transition:.3s}.global-nav{display:flex;gap:24px}.global-nav a{color:#ffffffd9;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.global-nav a:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--color-accent);border-radius:1px;transform:scaleX(0);transition:transform .2s}.global-nav a:hover{color:#fff}.global-nav a:hover:after{transform:scaleX(1)}.header-cta{background:linear-gradient(135deg,var(--color-accent),#6d28d9);color:#fff!important;padding:8px 20px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;white-space:nowrap;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #7c3aed4d}.header-cta:hover{transform:translateY(-1px);box-shadow:0 4px 16px #7c3aed66}.site-footer{background:var(--color-primary);color:#fffc;padding:64px 0 24px;margin-top:0;border-top:3px solid var(--color-accent)}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}.footer-about{margin-bottom:0}.footer-title{font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:12px}.footer-about p{font-size:.85rem;line-height:1.7;margin-bottom:4px}.footer-social{display:flex;gap:12px;margin-top:16px}.footer-social a{width:40px;height:40px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;color:#ffffffb3;transition:background .2s,color .2s}.footer-social a:hover{background:var(--color-accent);color:#fff}.footer-col{display:flex;flex-direction:column;gap:10px}.footer-col-title{font-size:.85rem;font-weight:700;color:#fff;margin-bottom:4px;position:relative;padding-bottom:8px}.footer-col-title:after{content:"";position:absolute;bottom:0;left:0;width:24px;height:2px;background:var(--color-accent);border-radius:1px}.footer-col a{color:#fff9;font-size:.85rem;transition:color .2s,padding-left .2s}.footer-col a:hover{color:#fff;padding-left:4px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;text-align:center}.footer-bottom p{font-size:.8rem;color:#fff6}@media(max-width:768px){.header-inner{flex-wrap:wrap;height:auto;padding:12px 16px}.mobile-menu-btn{display:flex}.global-nav{order:3;width:100%;gap:16px;padding-top:8px;flex-wrap:wrap}.header-cta{padding:6px 14px;font-size:.8rem}.footer-grid{grid-template-columns:1fr;gap:32px}.logo-accent{display:none}}
