:root{--color-gold-light: #B8912A;--color-gold-dark: #D4A853;--color-blue-primary: #2B5797;--color-blue-light: #3d6fba;--color-blue-dark: #4a7fd4;--bg-light: #faf8f4;--bg-card-light: #ffffff;--text-primary-light: #1a1a2e;--text-secondary-light: #5a5a72;--text-muted-light: #8a8a9e;--border-light: rgba(0, 0, 0, .06);--border-gold-light: rgba(184, 145, 42, .25);--bg-dark: #06090f;--bg-card-dark: #0d1420;--text-primary-dark: #e8ecf4;--text-secondary-dark: #7d8a9e;--text-muted-dark: #4a5568;--border-dark: rgba(255, 255, 255, .05);--border-gold-dark: rgba(212, 168, 83, .2);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .16);--shadow-gold-light: 0 0 20px rgba(184, 145, 42, .1), 0 8px 32px rgba(0, 0, 0, .06);--shadow-gold-dark: 0 0 20px rgba(212, 168, 83, .15), 0 8px 32px rgba(0, 0, 0, .3);--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--font-family: "Inter", sans-serif;--font-family-ja: "Inter", "Noto Sans JP", sans-serif;--text-xs: 10px;--text-sm: 12px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 26px;--text-4xl: 32px;--text-5xl: 44px;--text-6xl: 64px;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--line-tight: 1.05;--line-normal: 1.5;--line-relaxed: 1.7;--line-loose: 1.85;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 999px;--duration-fast: .2s;--duration-base: .3s;--duration-slow: .6s;--easing-smooth: cubic-bezier(.16, 1, .3, 1);--easing-bounce: cubic-bezier(.34, 1.56, .64, 1);--ai-primary: #06d6a0;--ai-secondary: #7c3aed;--ai-light: #a0fff0;--lab-primary: #5b6cf9;--lab-secondary: #7c3aed;--lab-accent: #a78bfa}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--text-md);line-height:var(--line-normal);color:var(--text-primary-light);background:var(--bg-light);overflow-x:hidden;transition:background var(--duration-slow),color var(--duration-slow);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{color:var(--text-primary-dark);background:var(--bg-dark)}html[lang=ja]{font-family:var(--font-family-ja)}::selection{background:var(--color-gold-light);color:#fff}[data-theme=dark] ::selection{background:var(--color-gold-dark);color:#06090f}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-gold-light);border-radius:3px}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-gold-dark)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-extrabold);line-height:var(--line-tight);letter-spacing:-.5px}h1{font-size:clamp(28px,5.5vw,64px);margin-bottom:var(--space-md)}h2{font-size:clamp(22px,4.5vw,44px);margin-bottom:var(--space-md)}h3{font-size:clamp(18px,3.5vw,32px);margin-bottom:var(--space-sm)}h4{font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md);line-height:var(--line-relaxed);color:var(--text-secondary-light)}[data-theme=dark] p{color:var(--text-secondary-dark)}a{color:var(--color-blue-primary);text-decoration:none;transition:color var(--duration-base)}a:hover{color:var(--color-blue-light)}[data-theme=dark] a{color:var(--color-blue-dark)}[data-theme=dark] a:hover{color:var(--color-gold-dark)}button{font-family:var(--font-family);cursor:pointer;border:none;transition:all var(--duration-base)}.btn-primary{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-gold-light),#a07820);color:#fff;font-weight:var(--font-bold);font-size:var(--text-sm);letter-spacing:1px;text-transform:uppercase;box-shadow:var(--shadow-gold-light)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #b8912a40}.btn-primary:active{transform:translateY(0)}[data-theme=dark] .btn-primary{background:linear-gradient(135deg,var(--color-gold-dark),#e8c97a);color:#06090f;box-shadow:var(--shadow-gold-dark)}.btn-secondary{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);background:transparent;color:var(--text-primary-light);border:1px solid var(--border-light);font-weight:var(--font-semibold);font-size:var(--text-sm);letter-spacing:1px}.btn-secondary:hover{border-color:var(--color-gold-light);color:var(--color-gold-light)}[data-theme=dark] .btn-secondary{color:var(--text-primary-dark);border-color:var(--border-dark)}[data-theme=dark] .btn-secondary:hover{border-color:var(--color-gold-dark);color:var(--color-gold-dark)}.btn-ghost{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:transparent;color:var(--text-primary-light);border:1px solid var(--border-light);font-weight:var(--font-medium);font-size:var(--text-md)}.btn-ghost:hover{color:var(--color-gold-light);border-color:var(--color-gold-light)}[data-theme=dark] .btn-ghost{color:var(--text-primary-dark);border-color:var(--border-dark)}[data-theme=dark] .btn-ghost:hover{color:var(--color-gold-dark);border-color:var(--color-gold-dark)}.card{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--bg-card-light);border:1px solid var(--border-light);transition:all var(--duration-base) var(--easing-bounce);position:relative;overflow:hidden}.card:hover{border-color:var(--border-gold-light);box-shadow:var(--shadow-gold-light);transform:translateY(-4px) perspective(800px) rotateX(2deg)}[data-theme=dark] .card{background:var(--bg-card-dark);border-color:var(--border-dark)}[data-theme=dark] .card:hover{border-color:var(--border-gold-dark);box-shadow:var(--shadow-gold-dark)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-gold-light),transparent);opacity:0;transition:opacity var(--duration-base)}.card:hover:before{opacity:1}[data-theme=dark] .card:before{background:linear-gradient(90deg,transparent,var(--color-gold-dark),transparent)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.section{padding:var(--space-3xl) var(--space-md);max-width:1100px;margin:0 auto}input,textarea,select{font-family:var(--font-family);font-size:var(--text-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-card-light);color:var(--text-primary-light);outline:none;transition:border-color var(--duration-base),box-shadow var(--duration-base)}input::placeholder,textarea::placeholder{color:var(--text-muted-light)}input:focus,textarea:focus,select:focus{border-color:var(--color-gold-light);box-shadow:0 0 0 3px #b8912a1f}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background:#ffffff0d;border-color:var(--border-dark);color:var(--text-primary-dark)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-muted-dark)}[data-theme=dark] input:focus,[data-theme=dark] textarea:focus,[data-theme=dark] select:focus{border-color:var(--color-gold-dark);box-shadow:0 0 0 3px #d4a8531f}textarea{resize:vertical;min-height:120px}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);background:#b8912a1f;border:1px solid rgba(184,145,42,.25);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-gold-light);letter-spacing:.5px}.badge-success{background:#10b9811a;border-color:#10b9814d;color:#10b981}.badge-primary{background:#2b57971f;border-color:#2b579740;color:var(--color-blue-primary)}[data-theme=dark] .badge{background:#d4a85326;border-color:#d4a85333;color:var(--color-gold-dark)}.tag{display:inline-block;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);background:#b8912a1f;color:var(--color-gold-light);font-size:var(--text-xs);font-weight:var(--font-semibold);transition:all var(--duration-base)}.tag:hover{background:var(--color-gold-light);color:#fff}[data-theme=dark] .tag{background:#d4a8531f;color:var(--color-gold-dark)}[data-theme=dark] .tag:hover{background:var(--color-gold-dark);color:#06090f}nav{position:fixed;top:0;left:0;right:0;z-index:1000;backdrop-filter:blur(24px) saturate(180%);background:#faf8f4d9;border-bottom:1px solid var(--border-light);transition:background var(--duration-base),border-color var(--duration-base)}[data-theme=dark] nav{background:#06090fcc;border-color:var(--border-dark)}.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg);height:68px;display:flex;align-items:center;justify-content:space-between}.nav-link{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-secondary-light);transition:color var(--duration-base);letter-spacing:1.5px;text-transform:uppercase;padding:var(--space-2xs) var(--space-sm)}.nav-link:hover,.nav-link.active{color:var(--color-gold-light)}[data-theme=dark] .nav-link{color:var(--text-secondary-dark)}[data-theme=dark] .nav-link:hover,[data-theme=dark] .nav-link.active{color:var(--color-gold-dark)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--text-muted-light)}[data-theme=dark] .text-muted{color:var(--text-muted-dark)}.text-accent{color:var(--color-gold-light)}[data-theme=dark] .text-accent{color:var(--color-gold-dark)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{align-items:center;justify-content:center}.flex-between{align-items:center;justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.hidden{display:none!important}.visible{display:block!important}.inline{display:inline}.block{display:block}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--duration-slow) var(--easing-smooth)}.animate-fade-up{animation:fadeUp var(--duration-slow) var(--easing-smooth)}.animate-slide-in-left{animation:slideInLeft var(--duration-slow) var(--easing-smooth)}.animate-pulse{animation:pulse 2s ease-in-out infinite}@media (max-width: 768px){:root{--text-3xl: 22px;--text-4xl: 28px;--text-5xl: 36px}h1{font-size:clamp(22px,6vw,36px)}h2{font-size:clamp(18px,5vw,28px)}.section{padding:var(--space-2xl) var(--space-md)}.container{padding:0 var(--space-sm)}.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){:root{--text-lg: 15px;--text-xl: 16px;--text-2xl: 18px}h1{font-size:clamp(18px,7vw,28px);margin-bottom:var(--space-sm)}h2,h3{font-size:clamp(16px,5vw,22px)}.section{padding:var(--space-xl) var(--space-md)}.card{padding:var(--space-md)}.btn-primary,.btn-secondary,.btn-ghost{padding:var(--space-sm) var(--space-md);width:100%}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hide-mobile{display:none!important}}@media print{body{background:#fff!important;color:#000!important;font-family:Helvetica Neue,Helvetica,Arial,sans-serif!important;font-size:11pt!important}nav,.hide-print{display:none!important}*{box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important}.card{border:1px solid #ddd!important;background:#fff!important;page-break-inside:avoid!important}a[href]:after{content:" (" attr(href) ")";font-size:9pt;color:#666}}
