.ai-memo-page{--memo-bg:var(--bg);--memo-surface:var(--surface);--memo-text:var(--text);--memo-muted:var(--text-2);--memo-accent:var(--brand);--memo-line:var(--line-strong);--memo-button:var(--text);--memo-button-text:var(--bg);background:var(--memo-bg);color:var(--memo-text)}
.memo-main{max-width:1240px;margin:0 auto;padding:24px 40px 56px}
.memo-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;color:var(--memo-muted);font-size:13px;margin-bottom:24px}
.ai-memo-page .memo-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.memo-banner{display:block;width:100%;height:auto;background:var(--memo-button)}
.memo-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:48px;margin-top:32px}
.memo-content h2{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(24px,2.1vw,32px);line-height:1.5;margin:0 0 16px;letter-spacing:.015em}
.memo-eyebrow{color:var(--memo-accent);font-size:12px;font-weight:700;letter-spacing:.08em;margin:0 0 8px}
.memo-content p:not(.memo-eyebrow){color:var(--memo-muted);font-size:16px;line-height:2;margin:0 0 16px}
.memo-topics{list-style:none;padding:0;margin:24px 0 0;border-top:1px solid var(--memo-line)}
.memo-topics li{padding:16px 0 16px 20px;border-bottom:1px solid var(--memo-line);position:relative;line-height:1.7;font-size:15px}
.memo-topics li:before{content:"";position:absolute;left:0;top:26px;width:6px;height:6px;background:var(--memo-accent)}
.memo-event{padding:24px;border:1px solid var(--memo-line);background:var(--memo-surface)}
.memo-facts{margin:0;border-top:1px solid var(--memo-line)}
.memo-facts>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--memo-line)}
.memo-facts dt{color:var(--memo-accent);font-size:12px;font-weight:700;line-height:1.8}
.memo-facts dd{margin:0;font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.memo-facts small{display:block;font-size:13px;color:var(--memo-muted);margin-top:2px;line-height:1.7}
.memo-included{list-style:none;margin:24px 0;padding:0;display:grid;gap:12px}
.memo-included li{position:relative;padding-left:16px;color:var(--memo-muted);font-size:13px;line-height:1.7}
.memo-included li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--memo-accent)}
.ai-memo-page a.memo-apply{display:flex;justify-content:center;align-items:center;gap:12px;min-height:56px;padding:16px;background:var(--memo-button);color:var(--memo-button-text);font-weight:700;text-decoration:none;line-height:1.5;text-align:center;border:1px solid transparent;transition:background .15s}
.ai-memo-page a.memo-apply:hover{background:var(--text-2)}
.memo-note{font-size:12px;color:var(--memo-muted);line-height:1.8;margin:12px 0 0}
.memo-book-note{border-top:1px solid var(--memo-line);padding-top:16px;margin-top:20px}
.memo-speaker{margin-top:40px;padding-top:32px;border-top:1px solid var(--memo-line)}
.ai-memo-page a.memo-text-link{color:var(--memo-accent);text-decoration:underline;text-underline-offset:5px;font-size:14px;line-height:1.8}
.memo-back{margin-top:40px}
.memo-mobile-break{display:none}
.memo-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ai-memo-page a.memo-skip{position:fixed;top:8px;left:8px;z-index:100;padding:12px 20px;background:var(--memo-button);color:var(--memo-button-text);transform:translateY(-150%)}
.ai-memo-page a.memo-skip:focus{transform:translateY(0)}
.ai-memo-page a:focus-visible{outline:3px solid var(--memo-accent);outline-offset:5px}
@media(max-width:900px){.memo-main{padding:24px}.memo-layout{gap:28px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.memo-event{padding:20px}.memo-facts>div{grid-template-columns:48px minmax(0,1fr);gap:8px}.memo-facts dd{font-size:15px}}
@media(max-width:680px){.memo-main{padding:16px 16px 40px}.memo-breadcrumb{font-size:11px;margin-bottom:16px}.memo-layout{grid-template-columns:1fr;gap:32px;margin-top:24px}.memo-event{grid-row:1;padding:20px}.memo-content h2{font-size:26px}.memo-content p:not(.memo-eyebrow){font-size:15px}.memo-facts>div{grid-template-columns:56px minmax(0,1fr)}.memo-mobile-break{display:inline}.memo-speaker{margin-top:32px;padding-top:24px}}
@media(prefers-reduced-motion:reduce){.ai-memo-page a.memo-apply{transition:none}}
