.site-header[data-astro-cid-nen7h5rs]{z-index:100;backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);background:#f5f0e8f5;position:sticky;top:0;box-shadow:0 2px 12px #5a463212}.header-inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:1rem;height:68px;display:flex}.site-logo[data-astro-cid-nen7h5rs]{flex-direction:column;flex-shrink:0;line-height:1.1;display:flex}.logo-main[data-astro-cid-nen7h5rs]{font-family:var(--font-title);color:var(--color-primary-dark);letter-spacing:.04em;font-size:1.15rem;font-weight:700}.logo-sub[data-astro-cid-nen7h5rs]{color:var(--color-accent);letter-spacing:.22em;font-size:.68rem;font-weight:600}.nav-list[data-astro-cid-nen7h5rs]{align-items:center;gap:.2rem;list-style:none;display:flex}.nav-link[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);transition:all var(--transition);flex-direction:column;align-items:center;padding:.4rem .7rem;line-height:1.1;display:flex}.nav-en[data-astro-cid-nen7h5rs]{letter-spacing:.06em;color:var(--color-primary);font-size:.78rem;font-weight:700}.nav-ja[data-astro-cid-nen7h5rs]{color:var(--color-text-muted);font-size:.65rem}.nav-link[data-astro-cid-nen7h5rs]:hover,.nav-link[data-astro-cid-nen7h5rs].active{background:var(--color-bg-secondary);color:var(--color-accent)}.nav-link[data-astro-cid-nen7h5rs].active .nav-en[data-astro-cid-nen7h5rs]{color:var(--color-accent)}.nav-toggle[data-astro-cid-nen7h5rs]{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:4px;display:none}.nav-toggle[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:var(--color-primary);transform-origin:50%;border-radius:2px;height:2px;transition:all .3s;display:block}.nav-toggle[data-astro-cid-nen7h5rs].open span[data-astro-cid-nen7h5rs]:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[data-astro-cid-nen7h5rs].open span[data-astro-cid-nen7h5rs]:nth-child(2){opacity:0}.nav-toggle[data-astro-cid-nen7h5rs].open span[data-astro-cid-nen7h5rs]:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=900px){.nav-toggle[data-astro-cid-nen7h5rs]{display:flex}.site-nav[data-astro-cid-nen7h5rs]{background:var(--color-bg);border-bottom:1px solid var(--color-border);opacity:0;box-shadow:0 8px 24px var(--color-shadow);padding:1.5rem;transition:transform .35s,opacity .3s;position:fixed;top:68px;left:0;right:0;transform:translateY(-110%)}.site-nav[data-astro-cid-nen7h5rs].open{opacity:1;transform:translateY(0)}.nav-list[data-astro-cid-nen7h5rs]{flex-direction:column;align-items:flex-start;gap:.3rem}.nav-link[data-astro-cid-nen7h5rs]{flex-direction:row;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem}.nav-ja[data-astro-cid-nen7h5rs]{font-size:.8rem}}.site-footer[data-astro-cid-jo6i4kqk]{background:var(--color-primary-dark);color:#f5f0e8d9;margin-top:auto;padding:3rem 0 2rem}.footer-inner[data-astro-cid-jo6i4kqk]{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.footer-name[data-astro-cid-jo6i4kqk]{font-family:var(--font-title);color:#fff;margin-bottom:.2rem;font-size:1.3rem;font-weight:700}.footer-tagline[data-astro-cid-jo6i4kqk]{letter-spacing:.12em;color:#f5f0e899;font-size:.82rem}.footer-nav[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;display:flex}.footer-nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:#f5f0e8b3;transition:color var(--transition);letter-spacing:.06em;font-size:.85rem}.footer-nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--color-accent-warm)}.footer-copy[data-astro-cid-jo6i4kqk]{color:#f5f0e866;letter-spacing:.04em;font-size:.75rem}:root{--color-bg:#f0f6fb;--color-bg-secondary:#e0eef8;--color-bg-card:#fff;--color-primary:#3a7ca5;--color-primary-dark:#1d5580;--color-primary-light:#6aaad4;--color-accent:#5ba3ce;--color-accent-warm:#7bbfe0;--color-text:#1a3a52;--color-text-muted:#4a7090;--color-text-light:#7a9ab0;--color-border:#b0d0e8;--color-shadow:#1e50821a;--font-title:"Noto Serif JP", "Georgia", serif;--font-body:"Noto Sans JP", "Helvetica Neue", sans-serif;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--transition:.25s ease;--max-width:1100px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);color:var(--color-primary-dark);line-height:1.3}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.section-sm{padding:3rem 0}.section-title{color:var(--color-primary-dark);margin-bottom:.5rem;font-size:clamp(1.6rem,3vw,2.4rem);display:inline-block;position:relative}.section-title:after{content:"";background:var(--color-accent);border-radius:2px;width:50px;height:3px;margin-top:.4rem;display:block}.section-subtitle{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2.5rem;font-size:.95rem}.tag{background:var(--color-bg-secondary);color:var(--color-primary);letter-spacing:.05em;border:1px solid var(--color-border);border-radius:999px;padding:.2rem .8rem;font-size:.78rem;font-weight:600;display:inline-block}.btn{border-radius:var(--radius-sm);transition:all var(--transition);cursor:pointer;letter-spacing:.04em;border:none;padding:.75rem 2rem;font-size:.95rem;font-weight:600;display:inline-block}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-primary);box-shadow:0 6px 20px var(--color-shadow);transform:translateY(-2px)}.btn-outline{color:var(--color-primary);border:2px solid var(--color-primary-light);background:0 0}.btn-outline:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px)}.card{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:0 2px 16px var(--color-shadow);transition:transform var(--transition), box-shadow var(--transition);overflow:hidden}.card:hover{box-shadow:0 8px 28px var(--color-shadow);transform:translateY(-4px)}@media (width<=768px){.section{padding:3.5rem 0}.section-sm{padding:2rem 0}}
