@charset "UTF-8";
/* 医師経歴（page-staff.php）
   灰色の枠の中の「専門分野と診療方針」「経歴と研修歴」と、枠の後ろの「インタビュー記事」「診療している医院」。
   既存の「受賞・認定」と同じく、囲みや色の帯は使わず、太字の小見出しと細い横線・余白だけで区切る。 */

.staff02 .nb {
  display: inline-block;
  max-width: 100%;
}
/* 親テーマの * { word-break: break-word } が全要素に付くため、文節で改行させる指定は子の要素にも当てる */
.staff02 .staff_sec,
.staff02 .staff_sec *,
.staff02 .staff_after,
.staff02 .staff_after * {
  word-break: auto-phrase;
}

/* 小見出し（既存の「受賞・認定」と同じ扱い） */
.staff02 .staff_sec_ttl {
  margin: 0 0 1.5rem;
  color: #222;
  font-size: 1rem;
  font-weight: bold;
}
.staff02 .box .box_inner .profile + .item {
  margin-top: 3.5rem;
}

/* 専門分野と診療方針：診療方針の1文を主役にする */
.staff02 .staff_points {
  margin: 0;
  padding: 0;
  list-style: none;
}
.staff02 .staff_points li {
  line-height: 1.9;
}
.staff02 .staff_points li + li {
  margin-top: 0.4rem;
}
.staff02 .staff_policy {
  margin: 2.5rem 0 0;
}
.staff02 .box .box_inner .item .staff_policy_label {
  margin: 0 0 0.4rem;
  color: #6b6457;
  font-size: 0.8125rem;
  letter-spacing: 0.1em;
}
.staff02 .box .box_inner .item .staff_policy_text {
  margin: 0;
  color: #222;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.02em;
  text-indent: -0.5em;
  font-feature-settings: "palt";
}

/* 経歴：年｜事項の2列。年の列は幅を固定し、行の間だけ細い線で区切る */
.staff02 .box .box_inner .item .staff_sub {
  margin: 0 0 0.5rem;
  color: #222;
  font-size: 0.9375rem;
  font-weight: bold;
}
.staff02 .staff_history,
.staff02 .staff_abroad {
  margin: 0;
  padding: 0;
  list-style: none;
}
.staff02 .staff_history > div {
  display: grid;
  grid-template-columns: 10.5em minmax(0, 1fr);
  column-gap: 1.25rem;
  padding: 0.8rem 0;
}
.staff02 .staff_history > div + div,
.staff02 .staff_abroad li + li {
  border-top: 1px solid #ddd;
}
.staff02 .staff_history dt {
  color: #6b6457;
  font-size: 0.9375rem;
  font-weight: normal;
  line-height: 1.8;
  font-variant-numeric: tabular-nums;
}
.staff02 .staff_history dd {
  margin: 0;
  line-height: 1.8;
}
.staff02 .box .box_inner .item .staff_history + .staff_sub {
  margin-top: 2.75rem;
}

/* 海外研修歴：1行目に機関名、2行目に修了コース */
.staff02 .staff_abroad li {
  padding: 0.8rem 0;
}
.staff02 .box .box_inner .item .staff_abroad_org {
  margin: 0;
  font-weight: bold;
  line-height: 1.7;
}
.staff02 .box .box_inner .item .staff_abroad_course {
  margin: 0.15rem 0 0;
  color: #4a453c;
  font-size: 0.9375rem;
  line-height: 1.8;
}

/* 灰色の枠の後ろ（見出しは既存の h3_wrap を使う） */
.staff02 .staff_interview {
  margin: 2.5rem 0 0;
  font-size: 1.0625rem;
  line-height: 1.8;
  text-align: center;
}
.staff02 .staff_interview a,
.staff02 .staff_clinic_link a {
  display: inline;
  color: #7d6f50;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}
.staff02 .staff_interview a:hover,
.staff02 .staff_clinic_link a:hover {
  text-decoration: none;
}

/* 診療している医院：囲みは使わず、上の細い線と余白だけで2院を並べる */
.staff02 .staff_clinics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 3.5rem;
  max-width: 50.5rem;
  margin: 3rem auto 0;
}
.staff02 .staff_clinic {
  padding: 1.25rem 0 0;
  border-top: 1px solid #ccc;
  font-size: 0.9375rem;
  line-height: 1.8;
}
.staff02 .staff_clinic p {
  margin: 0;
}
.staff02 .staff_clinic p + p {
  margin-top: 0.4rem;
}
.staff02 .staff_clinic .staff_clinic_name {
  margin-bottom: 0.75rem;
  font-size: 1.0625rem;
  font-weight: bold;
  line-height: 1.6;
}
.staff02 .staff_clinic .staff_clinic_tel {
  margin-top: 0.75rem;
}
.staff02 .staff_clinic_tel_lbl {
  margin-right: 0.5em;
  color: #6b6457;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
}
.staff02 .staff_clinic_tel a {
  display: inline;
  color: #222;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.staff02 .staff_clinic_tel_sub,
.staff02 .staff_clinic_note {
  display: inline-block;
  color: #6b6457;
  font-size: 0.8125rem;
}
.staff02 .staff_clinic_tel_sub,
.staff02 .staff_clinic_note {
  margin-left: 0.4em;
}
.staff02 .staff_clinic .staff_clinic_link {
  margin-top: 0.75rem;
}

@media screen and (max-width: 767px) {
  .staff02 .box .box_inner .profile + .item {
    margin-top: 2.5rem;
  }
  .staff02 .staff_sec_ttl {
    margin-bottom: 1.25rem;
  }
  .staff02 .staff_points li,
  .staff02 .staff_history dd,
  .staff02 .box .box_inner .item .staff_abroad_org {
    font-size: 0.875rem;
  }
  .staff02 .staff_policy {
    margin-top: 2rem;
  }
  .staff02 .box .box_inner .item .staff_policy_text {
    font-size: 1.125rem;
  }
  /* スマホでは年を事項の上に置く（和暦の年は長く、横に並べると事項の列が狭くなるため） */
  .staff02 .staff_history > div {
    grid-template-columns: minmax(0, 1fr);
    padding: 0.7rem 0;
  }
  .staff02 .staff_history dd {
    margin-top: 0.1rem;
  }
  .staff02 .staff_history dt.is_empty {
    display: none;
  }
  .staff02 .staff_history dt,
  .staff02 .box .box_inner .item .staff_abroad_course {
    font-size: 0.8125rem;
  }
  .staff02 .staff_interview {
    margin-top: 2rem;
    font-size: 0.9375rem;
  }
  .staff02 .staff_clinics {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2.5rem;
    margin-top: 2rem;
  }
  .staff02 .staff_clinic {
    font-size: 0.875rem;
  }
  .staff02 .staff_clinic_tel a {
    font-size: 1.375rem;
  }
}
