/************************************************************
 * MEMBER（メンバー詳細） / member-single.css
 * PC：従来どおり（写真左／右カラムに肩書き＋氏名＋bio）
 * Tablet&SP：写真左／右に肩書き＋氏名、その下に bio を全幅で表示
 ************************************************************/

/* ===== ベースレイアウト ===== */
.single-member .member-single {
  max-width: 1180px;
  width: min(92%, 1180px);
  margin: 0 auto 120px;
  color: #5f5c5d;
}

/* 見出し（一覧と同テイスト） */
.single-member .member__title-wrapper {
  text-align: center;
  padding-top: 50px;
}
.single-member .member__title-wrapper .sec-title__en {
  display: inline-block;
}
.single-member .member__title-wrapper .sec-title__en::after {
	width: 29rem;
    background-image: url(../images/pc/page-member-line.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.single-member .member__title-wrapper .sec-title__ja {
  color: #B6AA96;
}

/* ===== チーム見出しストリップ ===== */
.single-member .member-single__strip {
  margin: 50px 0 56px;
  padding: 16px 0;
  border-top: 1px solid #e3dfd5;
  border-bottom: 1px solid #e3dfd5;
  display: flex;
  align-items: center;
  gap: 24px;
}
.single-member .member-single__strip .strip-ja {
  font-size: 20px;
  letter-spacing: 0.08em;
  color: #b6aa96;
}
.single-member .member-single__strip .strip-en {
  font-size: 18px;
  letter-spacing: 0.08em;
  color: #b6aa96;
}

/* ===== 本文 グリッド ===== */
.single-member .member-single__profile {
  display: grid;
  grid-template-columns: minmax(280px, 340px) 1fr;
  column-gap: 64px; /* ← 従来の左右ギャップを維持 */
  row-gap: 14px; /* ← Bio を行下に出すため行間は小さめにしてPC見た目維持 */
  align-items: start;
}

/* 写真 */
.single-member .member-single__photo {
  aspect-ratio: 3 / 4;
  background: #f2f1ee;
  overflow: hidden;
}
.single-member .member-single__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

/* 右側ヘッダ（肩書き・氏名）—— 右カラム固定 */
.single-member .member-single__text {
  display: flex;           /* ← grid から flex に */
  flex-direction: column;
  gap: 14px;               /* 既存の段落間スペースを維持 */
  align-self: stretch;     /* 念のためグリッド行の高さにストレッチ */
  min-height: 100%;
}

/* 肩書き */
.single-member .member-single__role {
  font-size: 13px;
  letter-spacing: 0.08em;
  color: #8b877f;
	margin-top: 24px;
}

/* 氏名：JA + EN */
.single-member .member-single__name {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin-bottom: 8px;
}
.single-member .member-single__name-ja {
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: #5f5c5d;
  font-weight: 500;
}
.single-member .member-single__name-en {
  font-size: 13px;
  letter-spacing: 0.08em;
  color: #b6a996;
  white-space: nowrap;
}

/* Bio（プロフィール・経歴）—— PC は右カラムに積む */
.single-member .member-single__bio {
  grid-column: 2; /* ★ PC：右カラムに表示（従来どおりの見え方） */
  display: grid;
  gap: 10px;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #5f5c5d;
  margin-top: 16px;
}
.single-member .member-single__bio-tab-sp {
  display: none;
}

.single-member .member-single__usercompanyname {
	order: 5;
	margin-top: auto;
	color: #b6aa96;
	font-size: 14px;
}

.single-member .member-single__usercompanyname-tab-sp {
	display: none;
}


/* ===== Tablet：写真左／右にヘッダ、その下に Bio を全幅で表示 ===== */
@media (max-width: 1024px) {
  .single-member .member__title-wrapper {
    padding-top: 10rem;
  }
  .single-member .member-single {
    margin-bottom: 90px;
  }
  .single-member .member-single__profile {
    grid-template-columns: minmax(240px, 300px) 1fr;
    column-gap: 44px;
    row-gap: 16px;
    align-items: end;
  }
  .single-member .member-single__name {
    flex-direction: column;
    gap: 8px;
  }
  .single-member .member-single__name-ja {
    font-size: 26px;
  }
  .single-member .member-single__role {
    font-size: 12px;
	margin-top: 24px;
  }
  .single-member .member-single__bio {
    grid-column: 1 / -1; /* ★ Tablet：bio を全幅で写真＋ヘッダの下に */
    font-size: 13px;
    line-height: 1.9;
    display: none;
  }
  .single-member .member-single__usercompanyname {
	  display: none;
  }
  .single-member .member-single__usercompanyname-tab-sp {
	  display: block;
	  font-size: 14px;
	  margin-top:  24px;
	  color: #b6aa96;
  }
  .single-member .member-single__bio-tab-sp {
    display: block;
    grid-column: 1 / -1; /* ★ Tablet：bio を全幅で写真＋ヘッダの下に */
    font-size: 16px;
    line-height: 1.9;
    margin-top: 40px;
  }
  .single-member .member-single__text {
    gap: 6px;
	justify-content: flex-end;
  }
}

/* ===== SP：Tablet のレイアウトを継承（フォントのみ縮小等） ===== */
@media (max-width: 640px) {
  .single-member .member__title-wrapper {
    padding-top: 10rem;
  }
  .single-member .member__title-wrapper .sec-title__en::after {
    width: 170px;
  }

  .single-member .member-single__strip {
    margin: 38px 0 40px;
    padding: 16px 0;
    gap: 14px;
  }
	
  .single-member .member-single__strip .strip-ja {
    font-size: 18px;
}
	
  .single-member .member-single__strip .strip-en {
    font-size: 16px;
}

  /* 2カラムは維持（Tablet継承） */
  .single-member .member-single__profile {
    grid-template-columns: minmax(160px, 42%) 1fr; /* 画像が小さすぎないよう比率調整 */
    column-gap: 16px;
    row-gap: 14px;
  }
  .single-member .member-single__photo {
    width: 100%;
    aspect-ratio: 3 / 4;
    margin: 0;
  }
  .single-member .member-single__text {
    gap: 10px;
  }
  .single-member .member-single__name {
    gap: 12px;
  }

  .single-member .member-single__name-ja {
    font-size: 24px;
  }
  .single-member .member-single__name-en {
    font-size: 12px;
  }

  .single-member .member-single__bio {
    grid-column: 1 / -1; /* ★ SP：bio も全幅で下段 */
    font-size: 14px;
    line-height: 1.8;
  }
}

@media (max-width: 320px) {
  .single-member .member-single__name-ja {
    font-size: 18px;
  }
  .single-member .member-single__role {
    font-size: 10px;
  }
}

/************************************************************
 * 主な担当実績  — member-works（変更なし）
 ************************************************************/
.single-member .member-works {
  background: #f8f7f4;
  padding: 56px 0 68px;
  margin-top: 80px;
}
.single-member .member-works__inner {
  max-width: 1180px;
  width: min(92%, 1180px);
  margin: 0 auto;
  color: #5f5c5d;
}
.single-member .member-works__title {
  font-size: 14px;
  letter-spacing: 0.08em;
  color: #b6aa96;
  margin-bottom: 28px;
}
.single-member .member-works__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 28px 36px;
  justify-items: stretch;
}
.single-member .member-works__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.single-member .member-works__logo {
  width: 100%;
  max-width: 260px;
  height: 120px;
  background: #fff;
  border: 1px solid #e3dfd5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  box-sizing: border-box;
  margin-inline: auto;
}
.single-member .member-works__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
.single-member .member-works__logo--placeholder {
  width: 100%;
  height: 100%;
  background: #f2f1ee;
  display: block;
}
.single-member .member-works__name {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #5f5c5d;
  word-break: break-word;
}

/* Tablet：3列 */
@media (max-width: 1024px) {
  .single-member .member-works {
    padding: 48px 0 60px;
    margin-top: 64px;
  }
  .single-member .member-works__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 28px;
  }
  .single-member .member-works__logo {
    height: 110px;
    max-width: 240px;
  }
}

/* SP：2列 */
@media (max-width: 640px) {
  .single-member .member-works {
    padding: 40px 0 52px;
    margin-top: 48px;
  }
  .single-member .member-works__inner {
    width: min(94%, 560px);
  }
  .single-member .member-works__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 16px;
  }
  .single-member .member-works__logo {
    height: 96px;
    max-width: 100%;
  }
  .single-member .member-works__name {
    font-size: 11px;
    line-height: 1.7;
  }
}

/* ===== PCだけ：bio（最初の1件）を name の直下に固定 ===== */
@media (min-width: 1025px) {
  /* 並び制御しやすいようにPC時のみフレックス縦積みに */
  .single-member .member-single__text {
    display: flex;
    flex-direction: column;
    gap: 14px; /* 既存の見た目を維持 */
  }

  /* 並び順を指定：役職 → 氏名 → 最初のbio → 2つ目以降のbio */
  .single-member .member-single__role {
    order: 1;
  }
  .single-member .member-single__name {
    order: 2;
  }
  .single-member .member-single__bio:first-of-type {
    order: 3;
  }
  .single-member .member-single__bio:nth-of-type(n + 2) {
    order: 4;
  }
}

.member-works__link {
	width: 100%;
}
