/* 列を折り返さず、各列を中央揃えにする。文字はJSでカード幅に合わせて縮小する。 */
.song-members-formation .song-formation-fit {
  max-width: 100%;
  overflow: hidden;
}
.song-members-formation .single-formation {
  --song-formation-gap: 10px;
  --song-member-font-size: 14px;
  width: 100%;
  min-width: 0;
  margin: 20px 0;
}
.song-members-formation .single-formation-row {
  justify-content: center;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--song-formation-gap);
}
.song-members-formation .single-formation-member {
  flex: 0 0 calc((100% - (var(--song-formation-columns) - 1) * var(--song-formation-gap)) / var(--song-formation-columns));
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
  border-color: var(--song-member-color);
  background: #fff;
  font-size: var(--song-member-font-size);
  padding-left: 2px;
  padding-right: 2px;
  white-space: nowrap;
  overflow: hidden;
}
.song-members-formation .single-formation-center {
  background: #f7e4e9;
  background: color-mix(in srgb, var(--song-member-color) 22%, white);
}
.song-members-formation .single-formation-member .song-member-link {
  display: block;
  width: 100%;
  min-width: 0;
  font-weight: bold;
  overflow: hidden;
  white-space: nowrap;
  text-align: center;
  text-overflow: clip;
}
.song-members-formation .single-formation-member .single-formation-name-pc,
.song-members-formation .single-formation-member .single-formation-name-sp {
  white-space: nowrap;
}
@media (max-width: 768px) {
  .song-members-formation .single-formation {
    --song-formation-gap: 3px;
    --song-member-font-size: clamp(11px, 3.5vw, 14px);
    margin: 15px 0;
  }
  .song-members-formation .single-formation-member {
    padding-left: 0;
    padding-right: 0;
  }
}
