.header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-subtle);z-index:100;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;gap:16px;min-height:80px;padding-top:16px;padding-bottom:16px;display:flex}.header-logo a{color:var(--color-primary);letter-spacing:.05em;font-size:24px;font-weight:700;text-decoration:none}.header-nav{align-items:center;gap:calc(var(--space-sm) * 1.5);display:flex}.header-link{color:var(--text-secondary);white-space:nowrap;letter-spacing:.05em;padding:8px 0;font-size:13px;font-weight:500;text-decoration:none;transition:all .3s;position:relative}.header-link:hover{color:var(--color-primary)}.header-link:after{content:"";background-color:var(--color-primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.header-link:hover:after{width:100%}.header-link.is-active{color:var(--color-primary);font-weight:700}.header-link.is-active:after{width:100%}.hamburger-btn{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:8px;transition:background-color .2s;display:none}.hamburger-btn:hover{background-color:#1a365d0f}.hamburger-line{background-color:var(--color-primary);transform-origin:50%;border-radius:2px;width:22px;height:2px;transition:transform .3s,opacity .3s;display:block}.hamburger-btn.is-open .hamburger-line:first-child{transform:translateY(7px)rotate(45deg)}.hamburger-btn.is-open .hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-btn.is-open .hamburger-line:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-drawer{background-color:var(--bg-primary);border-bottom:2px solid var(--color-primary);opacity:0;z-index:99;max-height:0;transition:max-height .35s,opacity .25s;display:none;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #1a365d1f}.mobile-drawer.is-open{opacity:1;max-height:500px}.mobile-nav{flex-direction:column;padding:8px 0 24px;display:flex}.mobile-nav-link{padding:16px var(--space-md);color:var(--text-secondary);letter-spacing:.03em;border-bottom:1px solid var(--border-subtle);font-size:15px;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s;display:block}.mobile-nav-link:first-child{border-top:1px solid var(--border-subtle)}.mobile-nav-link:hover{color:var(--color-primary);background-color:#1a365d0a}.mobile-nav-link.is-active{color:var(--color-primary);border-left:4px solid var(--color-accent);padding-left:calc(var(--space-md) - 4px);background-color:#1a365d0d;font-weight:700}.mobile-nav-cta{padding:20px var(--space-md) 0}.mobile-overlay{z-index:98;cursor:pointer;background-color:#1a365d4d;display:none;position:fixed;inset:0}@media (width<=768px){.header-nav{display:none}.hamburger-btn{display:flex}.mobile-drawer,.mobile-overlay{display:block}}:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--text-primary:#1a202c;--text-secondary:#4a5568;--color-primary:#1a365d;--color-secondary:#2c5282;--color-accent:#975a16;--border-subtle:#e2e8f0;--font-sans:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-en:"Inter", sans-serif;--space-xs:8px;--space-sm:16px;--space-md:32px;--space-lg:64px;--space-xl:120px;--radius-sm:4px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.8}html{scroll-behavior:smooth}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.3}a{color:inherit;text-decoration:none}.text-link{color:var(--color-primary);text-underline-offset:4px;text-decoration:underline;transition:opacity .2s}.text-link:hover{opacity:.7}.container{width:100%;max-width:1024px;padding:0 var(--space-md);margin:0 auto}.section{padding:var(--space-xl) 0}.section-bg-alt{background-color:var(--bg-secondary)}.text-h1{letter-spacing:-.02em;font-size:36px}@media (width>=768px){.text-h1{font-size:48px}}.text-h2{letter-spacing:-.01em;margin-bottom:var(--space-md);font-size:28px}@media (width>=768px){.text-h2{font-size:36px}}.text-h3{margin-bottom:var(--space-sm);font-size:22px}.text-en{font-family:var(--font-en)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--text-secondary)}.fade-in{animation:.8s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.inline-block{display:inline-block}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.reveal-up{opacity:0;will-change:opacity, transform;transition:opacity .8s ease-out,transform .8s ease-out;transform:translateY(30px)}.reveal-up.is-visible{opacity:1;transform:translateY(0)}:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion:reduce){.reveal-up{opacity:1;transition:none;transform:none}.fade-in{opacity:1;animation:none;transform:none}}.skip-link{background:var(--color-primary);color:#fff;border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:9999;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none;transition:top .2s;position:absolute;top:-50px;left:16px}.skip-link:focus{top:0}@media (width<=768px){:root{--space-lg:32px;--space-xl:64px}.section{padding:64px 0}.container{padding:0 var(--space-sm)}}@media (width<=600px){.responsive-table,.responsive-table tbody,.responsive-table th,.responsive-table td,.responsive-table tr{display:block}.responsive-table th{border-bottom:none!important;width:100%!important;padding-bottom:4px!important}.responsive-table td{padding-top:4px!important}}
