:root{--font-heading: "Plus Jakarta Sans", "Noto Sans JP", sans-serif;--font-body: "Noto Sans JP", sans-serif;--fs-base: 18px;--fs-sm: 15px;--fs-lg: 20px;--lh-base: 1.85;--lh-heading: 1.3;--color-primary: #355c86;--color-primary-dark: #284a6e;--color-cta: #ff7a00;--color-cta-dark: #e06900;--color-accent: #c0392b;--color-text: #29251f;--color-sub: #5c574e;--color-muted: #756f64;--color-bg: #fcfbf9;--color-bg-sub: #ffffff;--color-border: #ece3d6;--color-success: #2e7d32;--color-warning: #f57c00;--maxw: 720px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary)}h1,h2,h3,h4{font-family:var(--font-heading);line-height:var(--lh-heading);color:var(--color-text);font-feature-settings:"palt"}.ad-bar{background:#f4f2ec;color:var(--color-sub);font-size:12px;text-align:center;padding:5px 12px;border-bottom:1px solid var(--color-border);line-height:1.4}.site-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:0 20px;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:100}.site-logo{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0;padding:6px 0}.site-logo__mark{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:var(--color-primary);color:#fff;font-family:var(--font-heading);font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center}.site-logo__text{min-width:0;overflow:hidden}.site-logo__name{display:block;font-family:var(--font-heading);font-size:18px;font-weight:800;color:var(--color-primary);line-height:1.15}.site-logo__tag{display:block;font-size:11px;font-weight:400;color:var(--color-sub);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-nav{display:flex;gap:1.1rem;flex-shrink:0}.site-nav a{font-family:var(--font-heading);font-weight:700;font-size:15px;color:var(--color-text);text-decoration:none;padding:2px 0;border-bottom:2.5px solid transparent}.site-nav a:hover{color:var(--color-primary)}.site-nav a.is-active{border-bottom-color:var(--color-cta)}.nav-toggle{display:none;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin:0;background:transparent;border:none;cursor:pointer}.nav-toggle__bars,.nav-toggle__bars:before,.nav-toggle__bars:after{display:block;width:22px;height:2px;background:var(--color-text);border-radius:2px;transition:transform .25s ease,opacity .2s ease,background .2s ease}.nav-toggle__bars{position:relative}.nav-toggle__bars:before{content:"";position:absolute;left:0;top:-7px}.nav-toggle__bars:after{content:"";position:absolute;left:0;top:7px}.site-header.nav-open .nav-toggle__bars{background:transparent}.site-header.nav-open .nav-toggle__bars:before{transform:translateY(7px) rotate(45deg)}.site-header.nav-open .nav-toggle__bars:after{transform:translateY(-7px) rotate(-45deg)}@media(max-width:768px){.site-header{position:sticky;top:0;z-index:100}.nav-toggle{display:inline-flex}.site-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:0 8px 20px #00000014;padding:4px 20px 10px;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .28s ease,opacity .2s ease}.site-header.nav-open .site-nav{max-height:70vh;opacity:1;pointer-events:auto}.site-nav a{padding:13px 4px;font-size:16px;border-bottom:1px solid var(--color-border);border-left:3px solid transparent}.site-nav a:last-child{border-bottom:none}.site-nav a.is-active{border-bottom-color:var(--color-border);border-left-color:var(--color-cta);padding-left:10px;color:var(--color-primary)}}.site-main{max-width:var(--maxw);margin:0 auto;padding:2.2rem 20px 3.5rem}.site-footer{border-top:1px solid var(--color-border);background:#f4f2ec;padding:2rem 20px;text-align:center;font-size:.85rem;color:var(--color-sub)}.site-footer__name{font-family:var(--font-heading);font-weight:700;color:var(--color-text);margin:0 0 .4rem}.site-footer__links{margin:0 0 .6rem}.site-footer__links a{font-size:.8rem;color:var(--color-primary);text-decoration:none;margin:0 .5rem}.site-footer__links a:hover{text-decoration:underline}.site-footer__copy{font-size:.72rem;color:var(--color-muted);margin:0}
