:root{--paper: #f3ede1;--paper-2: #ebe3cf;--paper-3: #e1d6bb;--ink: #14181a;--ink-soft: #2a2f31;--ink-mute: #5a5e5f;--moss: #1f3a30;--moss-deep: #122620;--moss-soft: #355043;--sage: #7d9485;--terra: #c44a26;--terra-deep: #a13a1c;--gold: #c69434;--line-green: #06c755;--serif-jp: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;--serif-en: "Fraunces", "Shippori Mincho B1", serif;--sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--mono: "JetBrains Mono", monospace;--rule: 1px solid rgba(20,24,26,.18);--rule-soft: 1px solid rgba(20,24,26,.1);--r-sm: 4px;--r-md: 10px;--r-lg: 22px;--container: 1100px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.75;font-weight:400;font-size:16px;font-feature-settings:"palt";letter-spacing:.02em}.container{max-width:var(--container);margin:0 auto;padding:0 32px}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#f3ede1eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:var(--rule-soft);height:64px;display:flex;align-items:center}.site-header.is-transparent{background:transparent;border:none}.site-header__inner{width:100%;max-width:1240px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:baseline;gap:12px;font-family:var(--serif-en);font-variation-settings:"opsz" 36;font-weight:600;font-size:18px;letter-spacing:.01em;color:var(--moss-deep)}.brand small{font-family:var(--sans);font-size:11px;font-weight:400;color:var(--ink-mute);letter-spacing:.12em}.nav{display:flex;gap:28px;align-items:center}.nav a{font-size:13px;font-weight:500;color:var(--ink-soft);transition:color .2s}.nav a:hover{color:var(--terra)}.btn-line-nav{background:var(--line-green)!important;color:#fff!important;padding:10px 18px;border-radius:999px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:transform .2s,box-shadow .2s}.btn-line-nav:hover{transform:translateY(-1px);box-shadow:0 6px 18px #06c75540}.btn-line-nav svg{width:16px;height:16px;fill:#fff}.menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;flex-shrink:0}.menu-btn span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s}.menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-drawer{position:fixed;top:64px;right:0;bottom:0;width:260px;background:var(--moss-deep);z-index:99;transform:translate(100%);transition:transform .3s ease;padding:24px 0;display:flex;flex-direction:column;box-shadow:-4px 0 20px #0000004d}.mobile-drawer.open{transform:translate(0)}.mobile-drawer a{color:#f3ede1d9;text-decoration:none;font-size:14px;padding:14px 24px;border-bottom:1px solid rgba(243,237,225,.08);transition:background .2s}.mobile-drawer a:hover{background:#f3ede112;color:#fff}.drawer-line-btn{display:flex!important;align-items:center;justify-content:center;gap:8px;background:var(--line-green)!important;color:#fff!important;margin:16px 20px 0;border-radius:8px;border-bottom:none!important;padding:14px 20px!important}.drawer-line-btn svg{width:18px;height:18px;fill:#fff;flex-shrink:0}.mobile-overlay{position:fixed;inset:0;background:#00000080;z-index:98;display:none}.mobile-overlay.open{display:block}.float-cta{position:fixed;bottom:24px;right:24px;z-index:90;display:flex;align-items:center;gap:9px;background:var(--line-green);color:#fff;padding:13px 22px;border-radius:100px;font-size:13.5px;font-weight:700;text-decoration:none;box-shadow:0 6px 24px #06c75580;transition:opacity .3s,transform .15s;opacity:0;pointer-events:none}.float-cta.show{opacity:1;pointer-events:auto}.float-cta:hover{opacity:.88;transform:translateY(-2px)}.float-cta svg{width:17px;height:17px;fill:#fff}main{padding-top:0}footer{background:var(--ink);color:#f3ede199;font-size:13px;padding:56px 5% 32px}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:40px;max-width:1240px;margin-left:auto;margin-right:auto}.footer-brand{font-family:var(--serif-en);font-style:italic;font-size:22px;color:var(--paper);font-weight:600;margin-bottom:8px}.footer-tagline{font-size:11px;color:#f3ede173;margin-bottom:16px;letter-spacing:.08em}.footer-info p{font-size:12px;line-height:2}.footer-info strong{color:#f3ede1bf}.footer-access{font-size:12px;margin-top:12px;color:#f3ede180}.footer-links-col{display:flex;flex-direction:column;gap:10px}.footer-links-col h5{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#f3ede173;margin-bottom:6px}.footer-links-col a{color:#f3ede199;font-size:12px;text-decoration:none;transition:color .2s}.footer-links-col a:hover{color:var(--terra)}.footer-copy{border-top:1px solid rgba(243,237,225,.08);padding-top:24px;max-width:1240px;margin:0 auto;font-size:11px;color:#f3ede159;line-height:1.9}@media (max-width: 960px){.nav a:not(.btn-line-nav){display:none}.menu-btn{display:flex}.footer-inner{grid-template-columns:1fr;gap:32px}}
