.single .main, .page .main { max-width: calc(var(--ym-article) + 112px); margin-inline: auto; box-shadow: var(--ym-shadow); }
.article-header .entry-title { color: var(--ym-ink); font-family: var(--ym-serif); font-size: clamp(28px, 4vw, 44px); line-height: 1.4; letter-spacing: .025em; }
.date-tags { color: var(--ym-muted); font-size: 13px; }
.eye-catch-wrap { margin: 28px 0 34px; }
.eye-catch img { border-radius: var(--ym-radius-md); }
.entry-content { max-width: var(--ym-article); margin-inline: auto; font-size: 16px; line-height: 1.9; }
.entry-content > h2 { position: relative; margin: 2.7em 0 1em; padding: 0 0 .55em 44px; border: 0; border-bottom: 1px solid var(--ym-border); background: transparent; color: var(--ym-ink); font-family: var(--ym-serif); font-size: clamp(23px, 3vw, 30px); }
.entry-content > h2::before { position: absolute; left: 0; top: .08em; content: "◇"; color: var(--ym-primary); font-size: .8em; }
.entry-content > h3 { margin: 2.2em 0 .8em; padding: 4px 0 4px 14px; border: 0; border-left: 3px solid var(--ym-sage); background: transparent; color: var(--ym-ink); font-size: 20px; }
.toc { padding: 22px; border: 1px solid var(--ym-border); border-radius: var(--ym-radius-md); background: #fffaf4; box-shadow: none; }
.toc-title { font-family: var(--ym-serif); }
.entry-content blockquote { border: 0; border-left: 3px solid var(--ym-coral); background: var(--ym-surface-soft); color: var(--ym-muted); }
.entry-content table { border-collapse: collapse; font-size: 14px; }
.entry-content th { background: #f7eee8; }
.breadcrumb { color: var(--ym-muted); font-size: 12px; }
.sns-share { margin-block: 20px; }

