body {
  margin: 0;
  line-height: normal;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

:root {
  /* Common Style Variables */

  /* Color */
  --color-beige: #fbfbe3;
  --color-black: #000;
  --color-blue: #0000ff;
  --color-darkcyan: #169179;
  --color-darkgray: #96999c;
  --color-darkseagreen: #90d090;
  --color-darkslategray-100: #34495e;
  --color-darkslategray-200: #333;
  --color-dimgray: #666;
  --color-firebrick: #ba372a;
  --color-forestgreen: #3c9318;
  --color-gainsboro: #e3e3e3;
  --color-gray: rgba(255, 255, 255, 0);
  --color-honeydew: #ebf4e7;
  --color-ivory: #fdfbe8;
  --color-lemonchiffon: #ffffcc;
  --color-lightblue-100: #c2e0f4;
  --color-lightblue-200: #b0cfd2;
  --color-lightyellow: #ffffe1;
  --color-limegreen: #3db63d;
  --color-mediumseagreen: #2dc26b;
  --color-moccasin: #ffe6b2;
  --color-saddlebrown: #8e3900;
  --color-seashell: #f8f5f0;
  --color-tomato: #e03e2d;
  --color-white: #fff;
  --color-whitesmoke: #f6f6f6;

  /* Gap */
  --gap-1: 1px;
  --gap-3: 3px;
  --gap-20: 20px;
  --gap-28: 28px;

  /* Padding */
  --padding-0: 0px;
  --padding-1: 1px;
  --padding-2: 2px;
  --padding-3: 3px;
  --padding-4: 4px;
  --padding-5: 5px;
  --padding-6: 6px;
  --padding-7: 7px;
  --padding-8: 8px;
  --padding-10: 10px;
  --padding-15: 15px;
  --padding-16: 16px;
  --padding-19: 19px;
  --padding-20: 20px;
  --padding-21: 21px;
  --padding-24: 24px;
  --padding-26: 26px;
  --padding-27: 27px;
  --padding-30: 30px;
  --padding-32: 32px;
  --padding-48: 48px;
  --padding-72: 72px;
  --padding-2_5: 2.5px;
  --padding-28_7: 28.7px;
  --padding-45_6: 45.6px;
  --padding-5_5: 5.5px;

  /* BorderRadius */
  --br-3: 3px;
  --br-5: 5px;

  /* Font */
  --font-inter: "Noto Sans JP", "Inter", sans-serif;

  /* FontSize */
  --fs-14: 14px;
  --fs-16: 16px;
  --fs-19: 19px;
  --fs-22: 22px;
  --fs-24: 24px;
  --fs-36: 36px;
  --fs-13_3: 13.3px;
  --fs-18_7: 18.7px;

  /* Borders */
  --border-1: 1px solid var(--color-gainsboro);
  --border-2: 1px dashed var(--color-darkseagreen);
  --border-3: 3px solid var(--color-lightblue-200);
  --border-11: 1px dashed var(--color-darkseagreen);
  --border-12: 3px solid var(--color-limegreen);
  --border-13: 1px dashed var(--color-darkseagreen);

  /* Shadows */
  --shadow-drop: 0px 5px 15px -5px rgba(0, 0, 0, 0.8);
  --shadow-drop-1: 0px 0px 3px 3px #dadada;
  --text-shadow-1: 0.6px 0.6px 0px var(--color-white),
    -0.6px 0.6px 0px var(--color-white), 0.6px -0.6px 0px var(--color-white),
    -0.6px -0.6px 0px var(--color-white), 1.3px 1.3px 0px var(--color-white),
    1.6px 1.6px 0px #316585, 1.9px 1.9px 0.6px rgba(0, 0, 0, 0.3);
  --text-shadow-2: 2px 2px 3px #a9a9a9;

  /* Gradients */
  --gradient-1: linear-gradient(0deg, #ddd 5%, rgba(221, 221, 221, 0) 5%);

  /* WidthHeights */
  --height-3: 3px;
  --height-19: 19px;
  --height-24: 24px;
  --height-25: 25px;
  --height-32: 32px;
  --height-36: 36px;
  --width-25: 25px;
  --width-48: 48px;
  --width-881: 881px;
  --width-885: 885px;
  --width-34_8: 34.8px;
  --width-42_3: 42.3px;

  /* LineHeights */
  --lh-24: 24px;
  --lh-32: 32px;

  /* LetterSpacings */
  --ls-0_84: 0.84px;

  /* Opacities */
  --opacity-0: 0;

  --left-0: 0px;
  --top-0: 0px;
}

/* --- プロフィール詳細（学位・所属・経歴） --- */

/* 各セクションの余白と中央揃え */
.profile-section {
  margin-bottom: 40px;
  text-align: center;
}

/* 各セクションのタイトル（〇学位：など） */
.profile-section-title {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
}

/* 経歴タイトル専用（受講セミナー他 のテキスト調整） */
.profile-section-title.career-title {
  margin-bottom: 15px;
  line-height: 1.4;
}
.profile-section-title .sub-text {
  font-size: 13px;
  font-weight: normal;
}

/* 各セクションの本文テキスト */
.profile-section-text {
  font-weight: bold;
  font-size: 15px;
  line-height: 1.8;
  word-break: keep-all;
}

/* リンクテキスト（所属団体） */
.profile-section-text a {
  color: blue;
  text-decoration: underline;
  display: inline-block;
  margin-bottom: 4px;
}

/* 変な位置での改行を防ぐ（単語のまとまり） */
.text-keep {
  display: inline-block;
}

/* --- 経歴リスト専用スタイル --- */
.career-list {
  max-width: 550px;
  margin: 0 auto;
  text-align: left;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.8;
}

.career-item {
  display: flex;
  margin-bottom: 12px;
}

.career-year {
  width: 85px;
  flex-shrink: 0;
  text-align: right;
  padding-right: 15px;
}

.career-desc {
  flex: 1;
}

/* 最後の項目（講師）の微調整 */
.career-item.last-item {
  margin-bottom: 0;
}
.career-item.last-item .career-year {
  line-height: 1.4;
}
.career-item.last-item .career-desc {
  padding-top: 2px;
}