body {
  background-image:
    linear-gradient(rgba(255,255,255,0.25), rgba(255,255,255,0.25)),
    url("/novels/images/tableofcontents_bg.webp");
}

.content::-webkit-scrollbar-thumb{
  background:#c9b18a;
  border-radius:4px;
}

.toc-grid{
  list-style: none;
  padding-left: 2.4em;     /* ・の分 */
  margin: 0;
  display: grid;
  grid-template-columns: max-content max-content max-content; /* ←列幅を全行で共有 */
  column-gap: 1.2em;
  row-gap: 0.2em;
  align-items: baseline;
}

.toc-row{
  display: contents;
}

.toc-title{
  min-width: 0;              /* 長い時に折り返しできるように */
  text-decoration: none;
}

.toc-episodes,
.toc-chars{
  white-space: nowrap;       /* 「折り返さない */
  font-variant-numeric: tabular-nums; /* 数字の幅を揃えたい時に効く環境あり */
}

@media (max-width: 700px){
  .toc-grid{
    grid-template-columns: 1fr auto auto; /* 狭い画面は折り返し許可 */
  }
  .toc-title{ min-width: 0; }
}

.card{
  border:1px solid #66b2a3;
  border-radius:18px;
  box-shadow:0 1px 0 rgba(16,24,40,.03);
  padding:16px 16px;
}


.characters-title{
  padding-left: 2.4em;
}


.card-synopsis{
  border:1px solid #66b2a3;
  border-radius:18px;
  box-shadow:0 1px 0 rgba(16,24,40,.03);
  padding:16px 16px;
  background-color: rgba(246,247,251,0.75); 
}
