@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap";:root{--color-primary-rgb:128, 0, 32;--color-primary:#800020;--color-primary-hover:#600018;--color-primary-active:#4d0014;--color-primary-light:#a02040;--color-primary-bg:#fcf0f4;--color-primary-50:#fcf0f4;--color-primary-100:#f5e0e8;--color-primary-200:#e0b8c8;--color-primary-300:#c07090;--color-primary-400:#a02040;--color-primary-500:#800020;--color-primary-600:#600018;--color-primary-700:#64001a;--color-primary-800:#4a0010;--color-primary-900:#2a0009;--color-link:#800020;--color-link-hover:#600018;--color-accent:#c5a059;--color-accent-light:#d4b478;--color-accent-dark:#a8843b;--color-accent-bg:#faf5e8;--color-emerald:#138b68;--color-emerald-dark:#0e6b50;--color-emerald-light:#1aad83;--color-emerald-bg:#e8f5f0;--color-text-primary:#2a2a2a;--color-text-secondary:#6e6e6e;--color-text-muted:#9e9e9e;--color-text-disabled:#9e9e9e;--color-border:#e2e0dc;--color-border-light:#eeece6;--color-bg-white:#faf9f6;--color-bg-base:#faf9f6;--color-bg-light:#f5f4f0;--color-bg-section:#eceae3;--color-bg-beige:#f5f4f0;--color-white:#fff;--color-black:#000;--color-neutral-0:#faf9f6;--color-neutral-50:#f5f4f0;--color-neutral-100:#eeece6;--color-neutral-200:#e2e0dc;--color-neutral-300:#c8c8c8;--color-neutral-400:#9e9e9e;--color-neutral-500:#6e6e6e;--color-neutral-700:#505050;--color-neutral-800:#3a3a3a;--color-neutral-900:#2a2a2a;--color-neutral-950:#111;--color-footer-bg:#1a1a1a;--color-footer-text:#ffffffbf;--color-footer-link:#fff9;--color-footer-link-hover:#fff;--color-footer-border:#ffffff1f;--color-state-success:#27ae60;--color-state-success-bg:#d5f5e3;--color-state-warning:#e67e22;--color-state-warning-bg:#fef0e1;--color-state-error:#c0392b;--color-state-error-bg:#fde8e8;--color-state-info:#2980b9;--color-state-info-bg:#d6eaf8;--font-heading:"Helvetica Neue", "Helvetica", "Arial", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--font-body:"Helvetica Neue", "Helvetica", "Arial", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Source Code Pro", Consolas, "Courier New", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--font-size-5xl:3.75rem;--font-size-6xl:4.5rem;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-normal:1.5;--line-height-relaxed:1.65;--line-height-loose:1.85;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--radius-sm:2px;--radius-md:2px;--radius-lg:4px;--radius-xl:4px;--radius-full:4px;--shadow-xs:0 1px 2px #0000000f;--shadow-sm:0 1px 4px #00000014;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001a;--shadow-xl:0 8px 32px #0000001f;--shadow-primary:0 2px 8px #80002040;--shadow-accent:0 2px 8px #c5a0594d;--color-secondary:#2a2a2a;--color-secondary-100:#f0efec;--color-accent-100:#f5ede0;--color-accent-700:#8a6730;--color-accent-hover:#a8843b;--color-cookie-saved-bg:#f0fdf4;--color-cookie-saved-border:#86efac;--color-cookie-saved-text:#166534;--color-news-gradient-start:#e0f0ff;--color-news-gradient-end:#cce4f7;--color-news-gradient-dawn:#ffe9d4;--color-press-bg:#f5ecda;--color-press-text:#7a5c1e;--color-announcements-bg:#e0f0ff;--color-announcements-text:#1976d2;--container-max:1160px;--header-height:64px}*{box-sizing:border-box}html{font-size:16px}body.my{width:100%;height:100%;font-family:var(--font-body);background-color:var(--color-bg-base);color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-primary);line-height:var(--line-height-snug);margin:0;padding:0}p{margin:0;padding:0}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:var(--font-body);background:0 0;border:none;margin:0;padding:0}.btn-primary{background-color:var(--color-primary);color:#fff;font-family:var(--font-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);box-shadow:var(--shadow-primary);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;padding:11px 24px;line-height:1;text-decoration:none;transition:background-color .2s,box-shadow .2s;display:inline-flex}.btn-primary:hover{background-color:var(--color-primary-hover);color:#fff;box-shadow:0 4px 12px #8000204d}.btn-secondary{color:var(--color-primary);font-family:var(--font-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);border:1.5px solid var(--color-primary);cursor:pointer;white-space:nowrap;background-color:#0000;justify-content:center;align-items:center;padding:10px 23px;line-height:1;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.btn-secondary:hover{background-color:var(--color-primary-bg);color:var(--color-primary-hover)}.btn-hero{color:var(--color-primary);font-family:var(--font-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);border:2px solid var(--color-primary);cursor:pointer;white-space:nowrap;background-color:#fff;justify-content:center;align-items:center;padding:11px 24px;line-height:1;text-decoration:none;transition:background-color .3s,color .3s,border-color .3s;display:inline-flex}.btn-hero:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-ghost{align-items:center;gap:var(--space-2);color:var(--color-primary);font-family:var(--font-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);cursor:pointer;background-color:#0000;border:none;padding:0;text-decoration:none;transition:color .2s;display:inline-flex}.btn-ghost:hover{color:var(--color-primary-hover);text-decoration:underline}.btn-sm{padding:7px 16px;font-size:13px}.btn-md{font-size:var(--font-size-sm);padding:11px 24px}.btn-lg{font-size:var(--font-size-base);padding:14px 32px}.fade-in{animation:.35s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ec-page-header{background:linear-gradient(135deg, var(--color-bg-light) 0%, var(--color-primary-50) 100%);padding:var(--space-12) 0 var(--space-10);border-bottom:1px solid var(--color-border-light)}.ec-page-header__inner{max-width:var(--container-max);padding:0 var(--space-6);margin:0 auto}.ec-page-header__title{font-family:var(--font-heading);font-size:var(--font-size-3xl);color:var(--color-text-primary);margin:0 0 var(--space-2);font-weight:700;line-height:var(--line-height-tight)}.ec-page-header__sub{font-size:var(--font-size-xs);color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;margin:0;font-weight:600}.ec-page-content{background:var(--color-bg-base);min-height:100%}.ec-page-content .ec-page-header{margin-bottom:0}.ec-page-body{max-width:var(--container-max);padding:var(--space-10) var(--space-6) var(--space-16);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin:0 auto}.ec-section{padding:var(--space-16) 0;background:var(--color-bg-base)}.ec-section__inner{max-width:var(--container-max);padding:0 var(--space-6);margin:0 auto}.ec-section__title{font-family:var(--font-heading);font-size:var(--font-size-2xl);color:var(--color-text-primary);margin:0 0 var(--space-4);font-weight:700;line-height:var(--line-height-snug)}.ec-section__lead{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0 0 var(--space-8)}.section-inner{max-width:var(--container-max);padding:0 var(--space-6);margin:0 auto}.accent-line{background-color:var(--color-accent);width:40px;height:2px;margin:var(--space-3) 0;display:block}.page-loading{min-height:200px;color:var(--color-text-secondary);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.frag-page-root{background-color:var(--color-bg-base);min-height:100%}.smart-nav-page.frag-injected{height:auto;min-height:calc(100vh - var(--header-height));position:relative;overflow:visible}.site-footer{background:var(--color-footer-bg);color:var(--color-footer-text);padding:var(--space-16) 0 var(--space-8)}.site-footer__inner{max-width:var(--container-max);padding:0 var(--space-6);margin:0 auto}.site-footer__top{justify-content:space-between;align-items:flex-start;gap:var(--space-8);margin-bottom:var(--space-12);flex-wrap:wrap;display:flex}.site-footer__brand{flex:1;min-width:160px}.site-footer__logo{font-family:var(--font-heading);color:var(--color-footer-text);margin-bottom:var(--space-2);font-size:16px;font-weight:700}.site-footer__tagline{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-footer-link);line-height:var(--line-height-relaxed)}.site-footer__nav{flex:1;min-width:160px}.site-footer__nav-list{gap:var(--space-1) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-footer__link{font-family:var(--font-heading);font-size:var(--font-size-sm);color:var(--color-footer-link);text-decoration:none;transition:color .15s}.site-footer__link:hover{color:var(--color-footer-link-hover)}.site-footer__link--sm{font-size:var(--font-size-xs)}.site-footer__bottom{border-top:1px solid var(--color-footer-border);padding-top:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.site-footer__copy{font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--color-footer-link)}.site-footer__links{gap:var(--space-4);display:flex}