/* 実績の数字の並び。協賛募集のページで使う。
   大会結果の順位リスト (results.css) と同じく、whitesmoke の面と #b94047 の左線で HP の見出しにそろえる。 */
.sef-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 1.5em 0 2em;
}
.sef-stats--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.sef-stats__item {
  padding: 16px 20px;
  background: whitesmoke;
  border-left: solid 5px #b94047;
}
.sef-stats__num {
  display: block;
  font-family: 'Oswald', sans-serif;
  font-size: 2.2rem;
  line-height: 1.15;
  color: #b94047;
}
.sef-stats__unit {
  margin-left: 0.1em;
  font-size: 1.1rem;
  color: #555555;
}
.sef-stats__label {
  display: block;
  margin-top: 0.4em;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #555555;
}

@media (max-width: 767.98px) {
  .sef-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sef-stats__item {
    padding: 14px 14px;
  }
  .sef-stats__num {
    font-size: 1.8rem;
  }
}

/* 横棒グラフ。値の大きさを #b94047 の帯で見せる。帯の長さは style="width: ..%" で渡す。 */
.sef-bars {
  display: grid;
  gap: 10px;
  margin: 1em 0 1.5em;
}
.sef-bars__row {
  display: grid;
  grid-template-columns: minmax(0, 16em) minmax(0, 1fr) 5.5em;
  align-items: center;
  column-gap: 12px;
}
.sef-bars__label {
  font-size: 0.95rem;
  line-height: 1.4;
  color: #555555;
}
.sef-bars__track {
  display: block;
  height: 18px;
  background: whitesmoke;
}
.sef-bars__bar {
  display: block;
  height: 100%;
  background: #b94047;
}
.sef-bars__value {
  font-family: 'Oswald', sans-serif;
  font-size: 1.1rem;
  color: #333333;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* 応援の入口。個人と企業・団体の2つを並べる。 */
.sef-cta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 1.5em 0 0.5em;
}
.sef-cta--single {
  grid-template-columns: minmax(0, 28em);
}
.sef-cta__item {
  display: block;
  padding: 18px 20px;
  background: whitesmoke;
  border-left: solid 5px #b94047;
  text-decoration: none;
}
.sef-cta__item:hover,
.sef-cta__item:focus {
  background: #eeeeee;
  text-decoration: none;
}
.sef-cta__who {
  display: block;
  font-size: 0.95rem;
  color: #555555;
}
.sef-cta__what {
  display: block;
  margin-top: 0.2em;
  font-size: 1.25rem;
  font-weight: 700;
  color: #b94047;
}

@media (max-width: 767.98px) {
  .sef-bars__row {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "label value"
      "track track";
    row-gap: 4px;
  }
  .sef-bars__label {
    grid-area: label;
  }
  .sef-bars__value {
    grid-area: value;
  }
  .sef-bars__track {
    grid-area: track;
  }
  .sef-cta {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* 見出しと短い説明を並べる箱。メンバー募集の「経験できること」で使う。 */
.sef-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 1em 0 1.5em;
}
.sef-points__item {
  padding: 16px 20px;
  background: whitesmoke;
  border-left: solid 5px #b94047;
}
.sef-points__title {
  display: block;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.5;
  color: #333333;
}
.sef-points__text {
  display: block;
  margin-top: 0.4em;
  font-size: 0.95rem;
  line-height: 1.7;
  color: #555555;
}

@media (max-width: 767.98px) {
  .sef-points {
    grid-template-columns: minmax(0, 1fr);
  }
}
