:root{--bg: #FAFAF5;--surface: #FFFFFF;--surface-2: #F5F5F4;--text: #111827;--text-muted: #6B7280;--border: #E7E5E4;--primary: #111827;--primary-soft: #EEF2FF;--accent: #B45309;--ring: rgba(17, 24, 39, .18);--color-primary: var(--primary);--color-primary-dark: #030712;--color-text: var(--text);--color-text-secondary: var(--text-muted);--color-bg: var(--bg);--color-surface: var(--surface);--color-border: var(--border);--shadow-sm: 0 1px 2px rgba(0,0,0,.05), 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 2px 4px rgba(0,0,0,.05), 0 4px 6px rgba(0,0,0,.08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Noto Sans JP", sans-serif;--container-max: 1000px;--container-padding: 20px;--header-height-sm: 100px;--header-height-md: 108px;--header-height-lg: 112px;--page-header-py: 32px;--page-content-py: 32px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scrollbar-gutter:stable;overflow-y:scroll;height:100%}body{font-family:var(--font-sans);line-height:1.7;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100%}body.modal-open{overflow:hidden;position:fixed;width:100%;height:100%}body.modal-open[data-scroll-y]{top:calc(-1 * var(--scroll-y, 0))}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}h1{font-size:1.5rem;margin-bottom:16px;font-weight:700;letter-spacing:-.02em}h2{font-size:1.25rem;margin-bottom:12px;font-weight:700;letter-spacing:-.01em}.container{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding);width:100%}.container--narrow{--container-max: 800px}.container--article{--container-max: 700px}.container--wide{--container-max: 1120px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--primary);color:#fff;padding:12px 24px;border-radius:var(--radius-sm);font-weight:600;font-size:.9375rem;transition:background .15s ease}.btn:hover{background:var(--color-primary-dark);text-decoration:none}.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.btn-outline:hover{background:var(--primary-soft)}.btn-large{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;font-size:1rem;font-weight:700;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.btn-large:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;transition:box-shadow .15s ease,border-color .15s ease}.card:hover{box-shadow:var(--shadow-md);border-color:var(--primary)}.breadcrumb{font-size:.8125rem;color:var(--text-muted);margin-bottom:20px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.breadcrumb a{color:var(--primary)}.breadcrumb .sep{color:var(--border)}.breadcrumb .current{color:var(--text)}.section-heading{font-size:.875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:16px}.site-header{position:sticky;top:0;z-index:100;width:100%}.header-inner{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding);width:100%}.header-top{background:var(--primary);padding-top:env(safe-area-inset-top,0);border-bottom:1px solid rgba(255,255,255,.1)}.header-top .header-inner{display:flex;align-items:center;justify-content:space-between;height:56px}.brand{display:flex;flex-direction:column;gap:1px;min-width:0}.site-logo{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:clamp(1.125rem,4vw,1.25rem);color:#fff;letter-spacing:-.01em;line-height:1.2}.brand-icon{width:22px;height:22px;flex-shrink:0}.site-logo:hover{text-decoration:none;opacity:.9;color:#fff}.site-tagline{font-size:.75rem;color:#ffffffb3;letter-spacing:.01em;line-height:1.3}.header-link{font-size:.8125rem;color:#ffffffd9;white-space:nowrap;flex-shrink:0}.header-link:hover{color:#fff;text-decoration:none}.header-link:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.header-nav{background:var(--surface);border-bottom:1px solid var(--border)}.header-nav .header-inner{height:44px;display:flex;align-items:stretch;padding:0}.nav-tabs{list-style:none;display:flex;align-items:stretch;gap:0;margin:0;padding:0 16px;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-tabs::-webkit-scrollbar{display:none}.nav-tabs li{flex:0 0 auto;display:flex}.nav-tab{display:flex;align-items:center;justify-content:center;height:100%;min-height:44px;padding:0 16px;font-size:.9375rem;font-weight:600;color:var(--text-muted);text-decoration:none;white-space:nowrap;line-height:1.2;border-bottom:3px solid transparent;margin-bottom:-1px;transition:background .15s ease,color .15s ease,border-color .15s ease}.nav-tab:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-tab:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.nav-tab.is-active{color:var(--text);background:var(--surface-2);border-bottom-color:var(--primary)}main{min-height:calc(100vh - 200px)}.page-header{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--page-header-py) var(--container-padding)}@media (max-width: 639px){.page-header{display:none}}.page-header-inner{max-width:var(--container-max);margin-left:auto;margin-right:auto;width:100%}.page-header .breadcrumb{margin-bottom:12px}.page-header-title{font-size:1.5rem;font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.3;margin:0}.page-header-desc{font-size:.9375rem;color:var(--text-muted);margin-top:8px;line-height:1.6}.site-footer{text-align:center;color:var(--text-muted);font-size:.8125rem;border-top:1px solid var(--border);background:var(--surface)}.site-footer .footer-inner{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding:32px var(--container-padding);width:100%}.info-page{padding:var(--page-content-py) var(--container-padding) 60px}.info-inner{max-width:var(--container-max);margin-left:auto;margin-right:auto;width:100%}.info-section{margin-bottom:32px}.info-section h2{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.info-section p{font-size:.9375rem;color:var(--text-muted);line-height:1.8;margin-bottom:12px}.info-section p:last-child{margin-bottom:0}.info-list{font-size:.9375rem;color:var(--text-muted);line-height:1.8;padding-left:24px;margin-bottom:12px}.info-list li{margin-bottom:8px}.info-section a{color:var(--primary)}.info-note{font-size:.8125rem;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;margin-top:16px}.footer-beta-notice{margin-bottom:24px;padding:16px 20px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.footer-beta-notice p{font-size:.8125rem;color:var(--text-muted);line-height:1.7;margin:0}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-bottom:16px}.footer-links a{color:var(--text-muted);font-size:.8125rem}.footer-links a:hover{color:var(--primary);text-decoration:none}.footer-copy{font-size:.75rem;color:var(--text-muted);opacity:.8}@media (min-width: 640px){:root{--container-padding: 24px}.header-top .header-inner{height:60px}.brand{flex-direction:row;align-items:baseline;gap:12px}.site-logo{font-size:1.3125rem}.brand-icon{width:24px;height:24px}.site-tagline{font-size:.8125rem}.header-nav .header-inner{height:48px}.nav-tabs{justify-content:center;gap:4px;padding:0;overflow-x:visible}.nav-tab{min-height:48px;padding:0 24px;font-size:1rem}}@media (min-width: 768px){.header-top .header-inner{height:64px}.site-logo{font-size:1.375rem}.brand-icon{width:26px;height:26px}.nav-tab{font-size:1.0625rem;padding:0 28px}}@media (max-width: 639px){.header-top .header-inner{height:44px}.site-logo{font-size:1rem;gap:6px}.brand-icon{width:18px;height:18px}.site-tagline,.header-link{display:none}.header-nav .header-inner{height:40px}.nav-tab{min-height:40px;padding:0 12px;font-size:.8125rem;border-bottom-width:2px}.nav-tabs{padding:0 8px}}
