:root {
  --active-color: #26a422;
  --inactive-color: #d54141;
  --bar-width: 100%;
  --bar-max-width: 800px;
  --bar-height: 20px;
  --font-family: "Noto Sans JP", sans-serif;
  --title-font-size: 1.3rem;
  --label-font-size: 0.75rem;
}

.bar-div {
  width: 100%;
  max-width: var(--bar-max-width);
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: var(--font-family);
}

.bar-div > h3 {
  margin: 0 0 15px;
  text-align: center;
  font-size: var(--title-font-size);
}

.bar-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0;
}

.month-bar {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  position: relative;
}

.bar-fill {
  width: 100%;
  height: var(--bar-height);
  border-left: 1px solid #ccc;
}

.bar-fill:first-child {
  border-left: none;
}

.bar-fill.membertrue {
  background-color: var(--active-color);
}

.bar-fill.memberfalse {
  background-color: var(--inactive-color);
}

.month-bar::before {
  content: '';
  position: absolute;
  top: -5px;
  left: 0;
  width: 1px;
  height: calc(var(--bar-height) + 10px);
  background-color: #ccc;
}

.month-bar:first-child::before {
  display: none;
}

.month-label {
  font-size: var(--label-font-size);
  font-weight: bold;
  color: #eee;
  text-align: center;
}

@media (max-width: 768px) {
  :root {
    --bar-max-width: 90%;
    --bar-height: 18px;
    --title-font-size: 1.1rem;
    --label-font-size: 0.65rem;
  }
}

@media (max-width: 480px) {
  :root {
    --bar-max-width: 95%;
    --bar-height: 15px;
    --title-font-size: 1rem;
    --label-font-size: 0.55rem;
  }
}
/*# sourceMappingURL=style.css.map */