/* =========================================================
   STAFF
========================================================= */
.staff{
  padding: 72px 0;
  border-top: 1px solid var(--line);
}

.staff__head{ margin-bottom: 20px; }
.staff__eyebrow{
  margin: 0 0 6px;
  letter-spacing: .22em;
  font-size: 12px;
  color: var(--muted2);
}
.staff__title{
  margin: 0;
  font-size: clamp(22px, 3.4vw, 34px);
  letter-spacing: .06em;
}
.staff__lead{ margin: 8px 0 0; color: var(--muted); }

/* 6 columns (PC) / 3 (TB wide) / 2 (TB) / 1 (SP) */
.staffGrid{
  list-style: none;
  padding: 0;
  margin: 22px 0 0;

  display: grid;
  gap: 16px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (max-width: 1200px){
  .staffGrid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px){
  .staffGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .staff{ padding: 56px 0; }
  .staffGrid{ grid-template-columns: 1fr; }
}

.staffCard{
  border: 1px solid var(--line2);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(0,0,0,.35);
  box-shadow: var(--shadow);
  transition: transform .18s ease, border-color .18s ease;
}
.staffCard:hover{
  transform: translateY(-3px);
  border-color: rgba(212,175,55,.45);
}

.staffCard__media{ display:block; width:100%; position:relative; }
.staffCard__img{ width:100%; height:100%; object-fit:cover; display:block; }

/* PCは縦 / SPは横 */
@media (min-width: 641px){ .staffCard__media{ aspect-ratio: 3 / 4; } }
@media (max-width: 640px){ .staffCard__media{ aspect-ratio: 16 / 9; } }

.staffCard__media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.65),
    rgba(0,0,0,.15) 40%,
    rgba(0,0,0,0)
  );
  pointer-events:none;
}

.staffCard__body{ padding: 12px; }
.staffCard__role{
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: .16em;
  color: rgba(212,175,55,.92);
}
.staffCard__name{ margin: 0; font-size: 16px; line-height: 1.25; }
.staffCard__en{ display: block; margin-top: 4px; font-size: 12px; color: var(--muted2); letter-spacing: .08em; }
.staffCard__quote{ margin: 10px 0 0; color: var(--muted); line-height: 1.6; }
