.oshicome{
}

.oshicome-rapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.oshicome-count {
    width: 31rem;
    text-align: center;
}

.oshicome-count img {
    width: 31rem;
}

.oshicome-recent {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 1rem;
    margin-right: 2rem;
    padding: 1rem 2.5rem 1rem 1.5rem;
    width: 39rem;
    text-align: center;
    font-family: "RocknRoll One";
    font-size: 0.9rem;
    font-weight: bold;
    line-height: 2;
}

.oshicome-recent-title{
    font-size: 1.3rem;
}

.oshicome-listener {
    width: 70rem;
    font-family: "Yuji Syuku";
    background-color: rgba(255, 255, 255, 0.8);
    margin: 1rem 10rem;
    padding: 2rem 2rem;
    border-radius: 1rem;
    white-space: nowrap;
}

.oshicome-list-title {
    margin: 0 0 1rem 0;
    text-align: center;
    font-family: "RocknRoll One";
    font-size: 2rem;
}

/* ----- meter ----- */

.meter {
    --value: 0;
    --max: 18;
    position: relative;
    width: 6rem;
    height: 0.8rem;
    margin-left: 1rem;
    background: #eee;
    border-radius: 7px;
    overflow: hidden;
}

.meter-bar {
    height: 100%;
    width: calc((var(--value) / var(--max)) * 100%);
    border-radius: 0.2rem;
    animation: grow 5s ease-out forwards;
}


/* ▼ 段階 × グラデーション ＋ ななめ縞 */
.meter.low .meter-bar {
    background:
    repeating-linear-gradient(
        45deg,
        rgba(255,255,255,0.35) 0px,
        rgba(255,255,255,0.35) 6px,
        rgba(255,255,255,0) 6px,
        rgba(255,255,255,0) 12px
    ),
    linear-gradient(90deg, #f2d668, #70ff48);
}

.meter.mid .meter-bar {
    background:
    repeating-linear-gradient(
        45deg,
        rgba(255,255,255,0.35) 0px,
        rgba(255,255,255,0.35) 6px,
        rgba(255,255,255,0) 6px,
        rgba(255,255,255,0) 12px
    ),
    linear-gradient(90deg, #f2d668, #33e4ff);
}

.meter.high .meter-bar {
    background:
    repeating-linear-gradient(
        45deg,
        rgba(255,255,255,0.35) 0px,
        rgba(255,255,255,0.35) 6px,
        rgba(255,255,255,0) 6px,
        rgba(255,255,255,0) 12px
    ),
    linear-gradient(90deg, #f2d668, #ff5a2c);
}

.data-table{
    text-align: center;
}

th {
    font-size: 0.7rem;
    padding-bottom: 0.3rem;
}

td[data-key="name"] {
    font-size: 0.9rem;
    background-color: #fff7d1; /* 好きな色に変更 */
    font-weight: bold;
    border-radius: 1rem;
    border: 2px solid #ffc368;
}

td[data-key^="day"] {
  border: 1px solid #ccc; /* セルの線 */
  padding: 0.1rem;       /* 余白（任意） */
  text-align: center;     /* 中央寄せ（任意） */
}

td[data-key="percentage"] {
    font-family: "RocknRoll One";
    font-size: 1.2rem;
    padding-left: 1rem;
}

@keyframes grow {
    from {
    width: 0%;
    }
}

.meter-label {
    font-size: 2rem;
    vertical-align: middle;
}

.mark-img {
  width: 2rem;   /* 好きなサイズに変更 */
  height: auto;  /* 縦横比を維持 */
  display: block;
  margin: 0 auto; /* 中央寄せしたい場合 */
}