/* 淡い灰色の面（講師・帯・レッスン室） */
.mist {
  position: relative;
  background: linear-gradient(180deg, rgba(238, 238, 238, 0) 0%, #efefef 14%, #f4f4f4 55%, #ececec 86%, rgba(236, 236, 236, 0) 100%);
}

/* 講師：横に並ぶ人物（名前・写真・紹介） */
.teacher { padding: 17rem 0 15rem; overflow: clip; }
.teacher__head { position: relative; text-align: center; }
.teacher__ghost {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) translateY(-1rem);
  font-size: 15rem;
}
.teacher__list {
  display: flex;
  justify-content: center;
  gap: 4rem;
  margin-top: 4rem;
}
.teacher__item { width: 36rem; padding-inline: 1.6rem; }
.teacher__name-wrap { margin-bottom: 1rem; text-align: center; }
.teacher__name { font-size: 1.6rem; line-height: 1.4; letter-spacing: 0.2em; }
.teacher__roma { font-size: 1.3rem; line-height: 1.8; }
.teacher__ph { aspect-ratio: 1; }
.teacher__ph img { object-position: center 22%; }
.teacher__role { margin-top: 1.2rem; font-size: 1.1rem; line-height: 1.6; color: var(--ink-sub); letter-spacing: 0.08em; }
.teacher__txt { margin-top: 0.6rem; font-size: 1.3rem; line-height: 1.8; }

@media (max-width: 1023px) {
  .teacher { padding: 10rem 0 9rem; }
  .teacher__ghost { font-size: 8rem; transform: translate(-50%, -50%) translateX(2rem) translateY(-0.5rem); }
  .teacher__list { flex-direction: column; align-items: center; gap: 5rem; margin-top: 3rem; }
  .teacher__item { width: 34rem; padding-inline: 1.2rem; }
  .teacher__txt { font-size: 1.3rem; }
}
