/* おすすめ20選（/osusume/。2026-10-19） */
.osusume__updated { margin-top: var(--space-1); font-size: var(--fs-xs); color: var(--text-sub); }
.osusume__criteria, .osusume__steps { margin: 0; padding: var(--space-3) var(--space-4) var(--space-3) calc(var(--space-4) + 1.2em); line-height: 1.8; }
.osusume__criteria li + li, .osusume__steps li + li { margin-top: var(--space-1); }
.osusume__list { display: grid; gap: var(--space-4); }
.osusume__note { margin: 0 0 var(--space-2); font-size: var(--fs-sm); color: var(--text-sub); line-height: 1.7; }
.osusume__table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--border); border-radius: var(--radius-md, 12px); }
.osusume__table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: var(--fs-sm); }
.osusume__table th, .osusume__table td { padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--border); text-align: left; white-space: nowrap; }
.osusume__table thead th { color: var(--text-sub); font-weight: 600; background: var(--surface-2); }
.osusume__table tbody th a { color: var(--text); }
.osusume__table tbody tr:last-child th, .osusume__table tbody tr:last-child td { border-bottom: 0; }
.osusume__links { margin: 0; padding-left: 1.2em; line-height: 2; }
.purpose__scroller { display: flex; gap: var(--space-2); overflow-x: auto; padding-bottom: var(--space-2); scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
