/* 年間計画の表 */
.plan-notes { padding-left: 1.2em; }
.plan-notes li { margin-bottom: 4px; }
.plan-midyear { background: var(--sheet); border: 1px solid var(--line); border-radius: var(--radius-m); padding: 10px 18px; margin: 10px 0; max-width: 46em; }
.plan-midyear summary { cursor: pointer; font-weight: 700; }
.plan-midyear p { margin: 8px 0 4px; }

.year h2 { display: flex; align-items: baseline; gap: 14px; }
.year-no { color: var(--mikata); font-size: 1.6rem; }
.year-summary { color: var(--ink-soft); }

.plan { width: 100%; border-collapse: collapse; background: var(--sheet); font-size: .95rem; }
.plan th { text-align: left; font-size: .85rem; color: var(--ink-soft); padding: 8px 12px; border-bottom: 2px solid var(--ink); white-space: nowrap; }
.plan td { padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.plan tr.group td { background: #FFF9EA; }
.c-no, .c-month, .c-type { white-space: nowrap; }
.c-no { font-weight: 700; }
.c-title a { font-weight: 700; }
.c-jiritsu { font-size: .85rem; }
.c-jiritsu .j { display: block; }
.c-jiritsu .j + .j { margin-top: 6px; }
.type-group, .type-solo { font-size: .85rem; font-weight: 700; }
.type-group { color: var(--tone-up); }
.type-solo { color: var(--ink-soft); }
.soon { display: inline-block; margin-left: 8px; font-size: .8rem; color: var(--ink-soft); border: 1px solid var(--line); border-radius: 999px; padding: 0 8px; }
.check-badge { display: inline-block; margin-left: 8px; font-size: .8rem; font-weight: 700; color: var(--mikata); border: 1.5px solid var(--mikata); border-radius: 999px; padding: 0 8px; text-decoration: none; }

/* タブレット縦・スマホ：表をカードに切りかえる */
@media (max-width: 860px) {
  .plan, .plan tbody, .plan tr, .plan td { display: block; width: 100%; }
  .plan thead { display: none; }
  .plan tr { border: 1px solid var(--line); border-radius: var(--radius-m); margin-bottom: 12px; padding: 8px 4px; }
  .plan td { border: none; padding: 4px 12px; }
  .plan td.c-no, .plan td.c-month, .plan td.c-type { display: inline-block; width: auto; }
  .plan td.c-jiritsu::before { content: attr(data-label); display: block; font-size: .75rem; color: var(--ink-soft); }
}
.must3-badge { display: inline-block; margin-left: 8px; font-size: .8rem; font-weight: 700; color: #fff; background: var(--ink); border-radius: 999px; padding: 0 8px; }
.short-route { margin: 8px 0 4px; padding-left: 1.6em; }
