:root{--color-bg: #1f4e79;--color-surface: #f8f7f5;--color-text: #2f3437;--color-muted: #6b7280;--color-subtle: #aaaaaa;--color-accent: #1f4e79;--color-accent-hover: #163a5a;--color-accent-light: #e8eff5;--color-border: #e4e6e8;--color-on-navy: #fafaf8;--color-on-navy-muted: #b7c6d9;--color-gold: #c6a15b;--color-card-bg: #ffffff;--font-sans: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;--font-serif: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", Georgia, serif;--max-width: 720px;--space-xl: 6rem;--space-lg: 4rem;--space-md: 2.5rem;--space-sm: 1.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-on-navy);line-height:1.9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-card{position:relative;background:var(--color-card-bg);color:var(--color-text);border-radius:20px;padding:3rem 2.2rem;margin:3.5rem auto;box-shadow:0 20px 50px #0a142338}.page-card :is(h1,h2,h3){color:var(--color-text)}.notch-card{--notch-radius: 32px;position:relative;background:var(--color-card-bg);color:var(--color-text);padding:3.6rem 2.4rem 3rem;box-shadow:0 20px 50px #0a142338;-webkit-mask-image:radial-gradient(circle var(--notch-radius) at 0 0,transparent calc(var(--notch-radius) - .5px),black calc(var(--notch-radius) + .5px)),radial-gradient(circle var(--notch-radius) at 100% 0,transparent calc(var(--notch-radius) - .5px),black calc(var(--notch-radius) + .5px)),radial-gradient(circle var(--notch-radius) at 0 100%,transparent calc(var(--notch-radius) - .5px),black calc(var(--notch-radius) + .5px)),radial-gradient(circle var(--notch-radius) at 100% 100%,transparent calc(var(--notch-radius) - .5px),black calc(var(--notch-radius) + .5px));-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-image:radial-gradient(circle var(--notch-radius) at 0 0,transparent calc(var(--notch-radius) - .5px),black calc(var(--notch-radius) + .5px)),radial-gradient(circle var(--notch-radius) at 100% 0,transparent calc(var(--notch-radius) - .5px),black calc(var(--notch-radius) + .5px)),radial-gradient(circle var(--notch-radius) at 0 100%,transparent calc(var(--notch-radius) - .5px),black calc(var(--notch-radius) + .5px)),radial-gradient(circle var(--notch-radius) at 100% 100%,transparent calc(var(--notch-radius) - .5px),black calc(var(--notch-radius) + .5px));mask-size:100% 100%;mask-repeat:no-repeat;mask-composite:intersect;-webkit-mask-composite:source-in,source-in,source-in,source-in}.notch-card :is(h1,h2,h3){color:var(--color-text)}@media (max-width: 640px){.page-card{padding:2.2rem 1.4rem;border-radius:14px;margin:2rem auto}.notch-card{--notch-radius: 22px;padding:2.6rem 1.4rem 2.2rem}}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}img{max-width:100%;height:auto;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}h1,h2,h3,h4{font-family:var(--font-serif);line-height:1.3;font-weight:600;letter-spacing:.02em}h1{font-size:2.4rem}h2{font-size:1.4rem}h3{font-size:1.05rem}p{margin-bottom:1.1rem}p:last-child{margin-bottom:0}hr.divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-xl) 0}.tag{display:inline-block;border:1px solid var(--color-border);color:var(--color-muted);font-size:.72rem;padding:.2rem .65rem;border-radius:2rem;letter-spacing:.04em}.site-header{background:var(--color-bg);border-bottom:1px solid rgba(255,255,255,.14);position:sticky;top:0;z-index:100}.nav{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:.6rem 0}.site-name{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;font-family:var(--font-serif);font-size:1rem;line-height:1.15;color:var(--color-on-navy);letter-spacing:.04em;font-weight:600}.site-name-sub{font-family:var(--font-sans);font-size:.62em;font-weight:500;text-transform:uppercase}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;padding:0;cursor:pointer}.menu-toggle-bar{display:block;width:22px;height:2px;background:var(--color-on-navy)}.mobile-menu{display:block;position:fixed;inset:0;z-index:200;background:var(--color-bg);transform:translateY(-8px);opacity:0;visibility:hidden;overflow-y:auto;transition:opacity .2s ease,transform .2s ease,visibility .2s}.mobile-menu.is-open{opacity:1;transform:translateY(0);visibility:visible}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding-top:.6rem;padding-bottom:.6rem}.menu-close{background:none;border:none;font-size:1.8rem;line-height:1;color:var(--color-on-navy);cursor:pointer;padding:0}.mobile-menu-links{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;min-height:calc(100% - 56px);padding:2.5rem 0}.mobile-menu-links>a,.menu-group-toggle{font-family:var(--font-serif);font-size:1.4rem;color:var(--color-on-navy)}.mobile-menu-links a.active,.menu-group-toggle.active{color:var(--color-gold)}.menu-group{display:flex;flex-direction:column;align-items:center}.menu-group-toggle{display:flex;align-items:center;gap:.4rem;background:none;border:none;padding:0;cursor:pointer}.menu-chevron{display:inline-block;font-size:.85rem;color:var(--color-on-navy-muted);transition:transform .2s ease}.menu-group-toggle[aria-expanded=true] .menu-chevron{transform:rotate(180deg)}.menu-sublinks{display:flex;flex-direction:column;align-items:center;gap:.9rem;max-height:0;overflow:hidden;opacity:0;transition:max-height .25s ease,opacity .2s ease,margin .25s ease}.menu-sublinks.is-expanded{max-height:20rem;opacity:1;margin-top:1.1rem}.menu-sublinks a{font-family:var(--font-sans);font-size:.9rem;color:var(--color-on-navy-muted)}.menu-sublinks a.active{color:var(--color-gold);font-weight:600}body.menu-open{overflow:hidden}.site-footer{padding:3rem 0;margin-top:var(--space-xl)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:.8rem}.footer-name{font-family:var(--font-serif);font-size:.95rem;color:var(--color-on-navy);margin:0}.footer-links{display:flex;gap:1.5rem}.footer-links a{font-size:.82rem;color:var(--color-on-navy-muted);letter-spacing:.06em}.footer-links a:hover{color:var(--color-gold)}.footer-copy{font-size:.75rem;color:var(--color-on-navy-muted);margin:0}
