/* ==========================================================================
   style_staff_modern.css
   教員紹介ページ（staff.html）用の追加スタイル
   style.css の後に読み込むことで、共通トークン（色・余白）を流用します
   ========================================================================== */

/* ---- パンくず ---- */
.staff-breadcrumb {
  background: var(--color-gray-50);
  border-bottom: 1px solid var(--color-gray-200);
  padding: 0.7rem 0;
  font-size: 0.82rem;
  color: var(--color-gray-600);
}

/* ---- 単一カラムのコンテンツ幅 ---- */
.contents-wrap--single {
  display: block;
  max-width: var(--max-width);
}

.main-col--full {
  max-width: 1024px;
  margin: 0 auto;
}

/* ---- 教員ごとのブロック ---- */
.staff-block {
  margin-bottom: var(--space-xl);
}

.staff-block:last-child { margin-bottom: 0; }

.staff-name {
  font-size: 1.5rem;
  padding-bottom: 0.8rem;
  margin-bottom: var(--space-md);
  border-bottom: 2px solid var(--color-navy);
  position: relative;
}

.staff-name::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--color-maroon);
  border-radius: 50%;
  margin-right: 0.6rem;
  vertical-align: middle;
}

/* ---- プロフィールカード（顔写真＋テキスト） ---- */
.staff-card {
  position: relative;
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: var(--space-md) var(--space-lg);
  overflow: hidden; /* float した写真をカード内に収める */
}

.staff-subheading {
  font-size: 1.02rem;
  color: var(--color-navy);
  margin-top: var(--space-md);
  margin-bottom: 0.6rem;
  padding-left: 0.8rem;
  border-left: 4px solid var(--color-maroon);
}

.staff-subheading:first-child { margin-top: 0; }

.staff-links {
  list-style: disc;
  padding-left: 1.4rem;
  margin-bottom: 0.6rem;
}

.staff-links li {
  margin-bottom: 0.4rem;
  font-size: 0.96rem;
}

/* ---- プロフィール項目リスト ---- */
.profile-list {
  margin: 0;
}

.profile-list ul {
  list-style: disc;
  padding-left: 1.4rem;
  margin: 0;
}

.profile-list > ul > li {
  margin-bottom: 0.6rem;
  line-height: 1.85;
  font-size: 0.96rem;
}

.profile-list ul ul {
  list-style: circle;
  padding-left: 1.3rem;
  margin-top: 0.4rem;
}

.profile-list ul ul li {
  margin-bottom: 0.35rem;
  font-size: 0.92rem;
  color: var(--color-gray-600);
}

.profile-list b {
  color: var(--color-navy);
  font-weight: 700;
}

/* ---- 顔写真 ---- */
.staff-photo {
  float: right;
  margin: 0 0 1rem 1.5rem;
  display: block;
}

.staff-photo img {
  display: block;
  width: 132px;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--color-gray-200);
  box-shadow: var(--shadow-sm);
  position: relative;    /* 追加 */
  z-index: 10;            /* 追加 */
}

.staff-photo img.right { float: none; }

/* ---- 歴代教員セクション ---- */
.staff-legacy .staff-card {
  margin-bottom: var(--space-md);
}

.staff-legacy .staff-card:last-child { margin-bottom: 0; }

/* ---- レスポンシブ ---- */
@media (max-width: 640px) {
  .staff-card {
    padding: var(--space-sm) var(--space-md);
  }

  .staff-photo {
    float: none;
    margin: 0 0 1rem 0;
    text-align: center;
  }

  .staff-photo img {
    margin: 0 auto;
  }

  .staff-name { font-size: 1.2rem; }
}

