.si-year {
  max-width: 960px;   /* 最大幅指定 */
  margin: 1.5em 0;
  text-align: left;
}
.si-year-title {
  margin: 0 0 .6em;
  padding: .3em .6em;
  font-size: 1.15em;
  border-left: 6px solid #1f4e79;
  background: #f1f5f9;
}

.si-table {
  border: 1px solid #b8c2cc;
  border-bottom: 0;
  font-size: 14px;
  line-height: 1.6;
}

.si-head,
.si-row {
  display: grid;
  grid-template-columns: 9.5em 9em 1fr;
}

.si-head {
  background: #1f4e79;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.si-head > span {
  padding: .5em .8em;
  border-right: 1px solid #5d84a8;
}
.si-head > span:last-child { border-right: 0; }

.si-body { margin: 0; padding: 0; list-style: none; }

.si-row { border-bottom: 1px solid #b8c2cc; }
.si-row:nth-child(even) { background: #f7f9fb; }

.si-date,
.si-no,
.si-toc {
  margin: 0;
  padding: .6em .8em;
}
.si-date,
.si-no { border-right: 1px solid #b8c2cc; }
.si-date { white-space: nowrap; }

.si-date,
.si-no { text-align: center; }

.si-no a { font-weight: bold; text-decoration: underline; }
.si-no a:hover,
.si-no a:focus { text-decoration: none; }

/* NEWマーク */
.si-new {
  display: block;
  width: 3.2em;
  margin: .25em auto 0;
  padding: 0 .4em;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: .05em;
  text-align: center;
  color: #fff;
  background: #c62828;
  border-radius: 2px;
}

.si-toc { list-style: none; text-align: left; }
.si-toc > li + li { margin-top: .25em; }

.si-toc ul {
  margin: .2em 0 0;
  padding-left: 1.4em;
  list-style: none;
}
.si-toc ul ul ul { list-style: disc; }
.si-toc li li { margin-top: .2em; }

/* 行ごとのマーカー指定用 */
.si-toc .mk-none   { list-style: none; }
.si-toc .mk-disc   { list-style: disc; }
.si-toc .mk-circle { list-style: circle; }
.si-toc .mk-square { list-style: square; }

.si-todo { color: #b00020; }

.si-archive { margin: 1.2em 0 0; padding-left: 1.2em; }

/* スマートフォン表示 */
@media (max-width: 640px) {
  .si-head { display: none; }

  .si-table { border: 0; }
  .si-row {
    display: block;
    margin-bottom: .8em;
    border: 1px solid #b8c2cc;
  }
  .si-date,
  .si-no,
  .si-toc {
    display: block;
    text-align: left;
    border-right: 0;
    border-bottom: 1px solid #dde3e9;
  }
  .si-toc { border-bottom: 0; }
  .si-date::before,
  .si-no::before,
  .si-toc::before {
    content: attr(data-label) "：";
    font-weight: bold;
    color: #1f4e79;
  }
  .si-toc::before { display: block; }

  .si-new {
    display: inline-block;
    margin: 0 0 0 .5em;
  }
}