/* =========================================================
   Renewal: About（会社概要 /company）page-company.php
   ========================================================= */

/* ---------- FV タイトル（Figma: 527:2773） ----------
   既存 .p-sub-fv には影響させず、About（/about）と会社概要（/company）の FV だけ上書き */
.r-sub-fv--about .p-sub-fv__title,
.r-sub-fv--about .p-sub-fv__sub-title,
.r-sub-fv--company .p-sub-fv__title,
.r-sub-fv--company .p-sub-fv__sub-title {
  font-family: var(--r-ff-base);
  font-weight: 500;
  line-height: normal;
  color: var(--r-color-white);
  text-align: center;
}
.r-sub-fv--about .p-sub-fv__title,
.r-sub-fv--company .p-sub-fv__title {
  font-size: 28px; /* Figma SP: 575:4124 */
  margin-bottom: 0;
  white-space: nowrap;
}
.r-sub-fv--about .p-sub-fv__sub-title,
.r-sub-fv--company .p-sub-fv__sub-title {
  font-size: 14px; /* Figma SP: 575:4125 */
}
/* 会社概要の FV は写真が明るく文字が読みにくいので、画像の上に暗幕を重ねる */
.r-sub-fv--company .p-sub-fv__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(34, 34, 34, 0.15) 0%, rgba(34, 34, 34, 0.4) 100%);
  pointer-events: none;
}

/* SP: 320×284 の枠で、テキストは下寄せ（Figma SP 575:4122） */
@media (max-width: 767px) {
  .r-sub-fv--about,
  .r-sub-fv--company {
    min-height: 0;
    aspect-ratio: 320 / 284;
    align-items: flex-end;
  }
  .r-sub-fv--about .p-sub-fv__text,
  .r-sub-fv--company .p-sub-fv__text {
    padding-bottom: 44px; /* サブタイトル下端 → 枠下端 */
  }
}
@media (min-width: 768px) {
  .r-sub-fv--about .p-sub-fv__title,
  .r-sub-fv--company .p-sub-fv__title {
    font-size: 70px;
  }
  .r-sub-fv--about .p-sub-fv__sub-title,
  .r-sub-fv--company .p-sub-fv__sub-title {
    font-size: 30px;
  }
}

/* ---------- 代表メッセージ（Figma: 515:2925） ----------
   PC: 左 653 / gap 39 / 右 420、上 93、右カラムは上から 169 下げ */
.r-message {
  padding-block: 51px 60px; /* Figma SP: Message 上 51 */
  background: var(--r-color-white);
  color: #222;
  font-family: var(--r-ff-base);
}
@media (min-width: 768px) {
  .r-message {
    padding-block: 93px 100px;
  }
}

.r-message__inner {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* SP: 見出し → 写真 → キャッチ → 肩書・氏名 → 本文（Figma SP 600:3323） */
@media (max-width: 767px) {
  /* 後方の .r-message__side { display:flex } より優先させるため詳細度を上げる */
  .r-message__inner .r-message__main,
  .r-message__inner .r-message__side {
    display: contents;
  }
  .r-message__main .r-sec-head {
    order: 1;
  }
  .r-message__photo {
    order: 2;
    margin-top: 17px; /* ラベル下端 414 → 写真 431 */
  }
  .r-message__catch {
    order: 3;
  }
  .r-message__profile {
    order: 4;
  }
  .r-message__body {
    order: 5;
  }
}
@media (min-width: 768px) {
  .r-message__inner {
    max-width: calc(1120px + var(--r-side-pad) * 2); /* 1440幅で左端 160px */
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    column-gap: 47px;
    align-items: start;
  }
}

.r-message__catch {
  margin-top: 15px; /* Figma SP: 写真下端 618 → キャッチ 633 */
  font-size: 25px;
  font-weight: 700;
  line-height: 36px;
}
@media (min-width: 768px) {
  .r-message__catch {
    margin-top: 24px; /* Figma: キャッチ上端 248 */
    font-size: 39px;
    line-height: 56px;
  }
}

.r-message__body {
  margin-top: 10px; /* Figma SP: 氏名下端 785 → 本文 795 */
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
}
.r-message__body p + p {
  margin-top: 24px; /* Figma: 空行 1行分 */
}
@media (min-width: 768px) {
  .r-message__body {
    margin-top: 53px;
    font-size: 18px;
    line-height: 36px;
  }
  .r-message__body p + p {
    margin-top: 36px;
  }
}

.r-message__side {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (max-width: 767px) {
  .r-message__catch br {
    display: inline; /* SP も Figma どおり 2 行 */
  }
}
@media (min-width: 768px) {
  .r-message__side {
    padding-top: 169px;
  }
}
.r-message__photo {
  margin: 0;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}
.r-message__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.r-message__profile {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 8px; /* Figma SP: キャッチ下端 ≒705 → 肩書 707 */
  font-weight: 700;
}
.r-message__position {
  font-size: 12px;
  line-height: 20px;
}
.r-message__name {
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 30px;
}
@media (min-width: 768px) {
  .r-message__profile {
    gap: 14px;
    margin-top: 0;
  }
  .r-message__position {
    font-size: 20px;
    line-height: 20px;
  }
  .r-message__name {
    font-size: 30px;
    letter-spacing: normal;
  }
}

/* ---------- ミッション・ビジョン（Figma: 511:2811 / 528:2801） ----------
   PC: 上 110 / 見出し→本文 110 / ブロック間 156 / 引用まで 77 / 下 120
   写真 420×420、本文 20px bold lh35 */
.r-mv {
  padding-block: 46px 50px; /* Figma SP: 見出し 上 46、締めの文 下 50 */
  /* Figma 769:4754: 上下がベージュ、中ほど（75.96%）が白 */
  background: linear-gradient(
      180deg,
      rgba(239, 237, 231, 0.44) 0%,
      rgba(255, 255, 255, 0.44) 75.962%,
      rgba(239, 237, 231, 0.44) 100%
    )
    var(--r-color-white);
  color: #222;
  font-family: var(--r-ff-base);
}
@media (min-width: 768px) {
  .r-mv {
    padding-block: 110px 120px;
  }
  .r-mv__inner {
    max-width: calc(1120px + var(--r-side-pad) * 2); /* 1440幅で左端 160px */
  }
}

.r-mv__list {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin-top: 52px; /* Figma SP: ラベル下端 1589 → 写真 1641 */
}
@media (min-width: 768px) {
  .r-mv__list {
    gap: 156px;
    margin-top: 95px; /* Figma: 見出し上端 110 → 本文上端 336 */
    padding-left: 6px; /* Figma: 本文フレームは x=166（見出し 160 より 6px 内側） */
  }
}

/* 各ブロック */
.r-mv-item {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* SP: 写真 → ラベル → キャッチ → 本文（Figma SP 600:3330） */
@media (max-width: 767px) {
  .r-mv-item .r-mv-item__text {
    display: contents;
  }
  .r-mv-item__photo {
    order: 1;
  }
  .r-mv-item__label {
    order: 2;
    margin-top: 16px; /* 写真下端 1921 → ラベル 1937 */
  }
  .r-mv-item__title {
    order: 3;
  }
  .r-mv-item__body {
    order: 4;
  }
}
@media (min-width: 768px) {
  .r-mv-item {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
  }
  .r-mv-item__text {
    flex: 1 1 auto;
    min-width: 0;
  }
}
/* 写真なしのブロック（ビジョン）は SP でも display:contents を解除してそのまま積む */
@media (max-width: 767px) {
  .r-mv-item--no-photo .r-mv-item__text {
    display: block;
  }
}

.r-mv-item__label {
  position: relative;
  padding-left: 15px; /* Figma SP: 縦線 x=20 → テキスト 35 */
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
}
.r-mv-item__label::before {
  /* 赤い縦線（SP 5×30 / PC 5×41。Figma: Line 8） */
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  height: 30px;
  background: #800000;
  transform: translateY(-50%);
}
@media (min-width: 768px) {
  .r-mv-item__label::before {
    height: 41px;
  }
}
@media (min-width: 768px) {
  .r-mv-item__label {
    padding-left: 22px; /* 線 5 + 17 */
    font-size: 30px;
  }
}

.r-mv-item__title {
  margin-top: 19px; /* Figma SP: ラベル 1937 → キャッチ 1986（ラベル高 ≒30） */
  font-size: 25px;
  font-weight: 700;
  line-height: 36px;
}
@media (min-width: 768px) {
  .r-mv-item__title {
    margin-top: 69px;
    font-size: 40px;
    line-height: 60px;
  }
}

.r-mv-item__body {
  margin-top: 16px; /* Figma SP: キャッチ下端 → 本文 */
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: #000;
}
.r-mv-item__body p + p {
  margin-top: 24px; /* Figma: 空行 1行分 */
}
@media (min-width: 768px) {
  .r-mv-item__body {
    margin-top: 48px;
    font-size: 20px;
    font-weight: 700;
    line-height: 35px;
    color: #222;
  }
  .r-mv-item__body p + p {
    margin-top: 35px;
  }
}
/* 1200px 以上では Figma の改行位置どおりに固定 */
@media (min-width: 1200px) {
  .r-mv-item__title {
    white-space: nowrap;
  }
}
/* SP では本文の改行位置を解除して自動折返し（見出しは Figma どおり改行） */
@media (max-width: 767px) {
  .r-mv-item__body br {
    display: none;
  }
}

.r-mv-item__photo {
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 560 / 380; /* SP 専用画像 sp_mission01〜03.webp に合わせる */
  margin: 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .r-mv-item__photo {
    max-width: 420px;
    aspect-ratio: 420 / 280;
  }
}
.r-mv-item__photo picture {
  display: block;
  width: 100%;
  height: 100%;
}
.r-mv-item__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* スタンス: 写真を右上（上から 84px）に浮かせ、本文を回り込ませる */
@media (min-width: 768px) {
  .r-mv-item--stance {
    display: block;
  }
  .r-mv-item--stance .r-mv-item__photo {
    float: right;
    width: 420px;
    margin: 84px 0 24px 10px; /* Figma: 本文 x=0〜686 / 写真 x=686〜 で余白ほぼなし */
  }
  .r-mv-item--stance::after {
    content: "";
    display: block;
    clear: both;
  }
}

/* 引用 */
.r-mv__quote {
  margin-top: 60px;
  font-weight: 700;
}
.r-mv__quote-main {
  margin-left: -9px; /* Figma SP: 「 の字面分だけ左に出す（x=11） */
  font-size: 19px;
  line-height: 30px;
  color: var(--r-color-sub);
}
.r-mv__quote-sub {
  margin-top: 24px; /* Figma SP: 引用下端 4264 → 4302 */
  font-size: 14px;
  line-height: 24px;
}
@media (min-width: 768px) {
  .r-mv__quote {
    margin-top: 77px;
    margin-left: -15px; /* Figma: x=145（「 の字面分だけ左に出す） */
  }
  .r-mv__quote-main {
    font-size: 37px;
    line-height: 35px;
  }
  .r-mv__quote-sub {
    margin-top: 40px;
    margin-left: 23px; /* Figma: x=168 */
    font-size: 20px;
    line-height: 35px;
  }
}

/* ---------- 写真スライダー（Figma: 515:3096） ----------
   高さ 647、写真 横 500×336 / 縦 336×500、gap 30、上下中央、中央にロゴ 321×306 */
.r-about-slider {
  position: relative;
  height: 400px;
  overflow: hidden;
  background: #5a0000 url("../img/about-slider-bg.webp") center / cover no-repeat;
}
@media (min-width: 768px) {
  .r-about-slider {
    height: 647px;
  }
}

.r-about-slider__track {
  --_gap: 18px;
  position: absolute;
  z-index: 1; /* ロゴより前面（ロゴは写真の背面に置く） */
  top: 50%;
  left: 0;
  display: flex;
  width: max-content;
  transform: translateY(-50%);
  animation: r-about-slider-marquee 40s linear infinite;
}
@media (min-width: 768px) {
  .r-about-slider__track {
    --_gap: 30px;
  }
}
.r-about-slider__set {
  display: flex;
  align-items: center;
  gap: var(--_gap);
  margin: 0;
  padding: 0 0 0 var(--_gap); /* セット間の gap */
  list-style: none;
}
.r-about-slider__item {
  flex-shrink: 0;
  overflow: hidden;
}
.r-about-slider__item--landscape {
  width: 300px;
  height: 202px;
}
.r-about-slider__item--portrait {
  width: 202px;
  height: 300px;
}
@media (min-width: 768px) {
  .r-about-slider__item--landscape {
    width: 500px;
    height: 336px;
  }
  .r-about-slider__item--portrait {
    width: 336px;
    height: 500px;
  }
}
.r-about-slider__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 2セット並べて半分（1セット分）動かすと継ぎ目なくループする */
@keyframes r-about-slider-marquee {
  from { transform: translate(0, -50%); }
  to   { transform: translate(-50%, -50%); }
}
@media (prefers-reduced-motion: reduce) {
  .r-about-slider__track {
    animation: none;
  }
}

.r-about-slider__logo {
  position: absolute;
  z-index: 0; /* 写真の背景に敷く */
  top: 50%;
  left: 50%;
  width: 200px;
  height: auto;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
@media (min-width: 768px) {
  .r-about-slider__logo {
    top: 153px;
    width: 321px;
    transform: translateX(-50%);
  }
}

/* ---------- Brand Story（Figma: 515:2882） ----------
   上 160 / 見出し→本文 120 / ブロック間 ≒50 / 本文 16px lh25 / 写真 420×280
   末尾キャッチ 80px、下部に赤いテクスチャ背景（1440幅で 1213px）＋ 余白 ≒650 */
.r-story {
  position: relative;
  padding-block: 60px 190px; /* Figma SP: Brand Story 上 60、キャッチ下に背景 252 */
  background:
    url("../img/brand-story-bg.webp") center bottom / 100% auto no-repeat,
    linear-gradient(180deg, rgba(239, 237, 231, 0.44) 0%, rgba(255, 255, 255, 0.44) 100%) var(--r-color-white);
  color: #222;
  font-family: var(--r-ff-base);
}
@media (min-width: 768px) {
  .r-story {
    padding-block: 160px 640px;
  }
  .r-story__inner {
    max-width: calc(1120px + var(--r-side-pad) * 2); /* 1440幅で左端 160px */
  }
}

.r-story__list {
  display: flex;
  flex-direction: column;
  gap: 60px; /* Figma SP: ブロック間 */
  margin-top: 45px; /* Figma SP: ラベル下端 124 → 写真 169 */
}
@media (min-width: 768px) {
  .r-story__list {
    gap: 50px;
    margin-top: 103px; /* Figma: ブロック1見出し上端 394 */
  }
}

.r-story-item {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* SP: 写真 → 見出し → 本文（Figma SP 600:3333） */
@media (max-width: 767px) {
  .r-story-item .r-story-item__text {
    display: contents;
  }
  .r-story-item__photo {
    order: 1;
  }
  .r-story-item__title {
    order: 2;
    margin-top: 21px; /* 写真下端 → 見出し */
  }
  .r-story-item__body {
    order: 3;
  }
}
@media (min-width: 768px) {
  .r-story-item {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
  }
  .r-story-item__text {
    flex: 1 1 auto;
    min-width: 0;
  }
}
/* 写真なしのブロックは SP でも display:contents を解除してそのまま積む */
@media (max-width: 767px) {
  .r-story-item--no-photo .r-story-item__text {
    display: block;
  }
}

.r-story-item__title {
  font-size: 22px;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.02em; /* Figma SP: -0.44px */
}
@media (min-width: 768px) {
  .r-story-item__title {
    font-size: 30px;
    line-height: 43px;
  }
}

.r-story-item__body {
  margin-top: 16px; /* Figma SP: 見出し下端 → 本文 */
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
}
.r-story-item__body p + p {
  margin-top: 24px; /* Figma: 空行 1行分 */
}
.r-story-item__body strong {
  font-weight: 700;
  color: var(--r-color-sub);
}
@media (min-width: 768px) {
  .r-story-item__body {
    font-size: 16px;
    line-height: 25px;
  }
  .r-story-item__body p + p {
    margin-top: 25px;
  }
}
@media (max-width: 767px) {
  .r-story-item__body br {
    display: none; /* SP は本文の改行位置をブラウザに任せる */
  }
}

.r-story-item__photo {
  flex-shrink: 0;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 3 / 2; /* Figma SP: 280×186.7 も同比率 */
  margin: 0;
  overflow: hidden;
}
.r-story-item__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 末尾キャッチ */
.r-story__catch {
  margin-top: 60px; /* Figma SP: 本文下端 → キャッチ */
  font-size: 30px;
  font-weight: 700;
  line-height: 43px;
  color: var(--r-color-sub);
  text-shadow: 0 0 7px rgba(255, 255, 255, 0.25);
}
@media (min-width: 768px) {
  .r-story__catch {
    margin-top: 36px;
    margin-left: -3px; /* Figma: x=157 */
    font-size: 74px;
    line-height: 1.2;
  }
}

/* ---------- Company（Figma: 501:4244） ----------
   bg #F4F4F4、上 115 / 下 120、見出し→表 ≒100、表 幅614（th 177）、写真 420×420（上 190） */
.r-company {
  padding-block: 56px;
  background: #f4f4f4;
  color: #292929;
  font-family: var(--r-ff-base);
}
@media (min-width: 768px) {
  .r-company {
    padding-block: 115px 120px;
  }
  .r-company__inner {
    max-width: calc(1120px + var(--r-side-pad) * 2); /* 1440幅で左端 160px */
  }
}

.r-company__grid {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 40px;
}
/* SP: 写真を先に表示 */
@media (max-width: 767px) {
  .r-company__photo {
    order: -1;
  }
}
@media (min-width: 768px) {
  .r-company__grid {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    margin-top: 98px; /* Figma: 1行目テキスト上端 = セクション上端から 344 */
  }
}

.r-company__table {
  --_line: #d9d9d9; /* 罫線色は Figma から取得不可のため仮 */
  margin: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .r-company__table {
    width: 614px;
    margin-left: 6px; /* Figma: 罫線 x=166 */
    margin-top: -16px; /* 1行目のテキスト上端を見出しから 100 に */
  }
}
.r-company__row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 0 16px 21px;
  border-bottom: 1px solid var(--_line);
  font-size: 15px;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .r-company__row {
    flex-direction: row;
    gap: 0;
    font-size: 16px;
    line-height: 30px;
  }
}
.r-company__th {
  flex-shrink: 0;
  font-weight: 700;
}
@media (min-width: 768px) {
  .r-company__th {
    width: 156px; /* 187→343 */
    font-weight: 400;
  }
}
.r-company__td {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}

.r-company__photo {
  flex-shrink: 0;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 1 / 1;
  margin: 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .r-company__photo {
    margin-top: -154px; /* Figma: 写真上端 190（表の1行目テキスト上端 344 より上） */
  }
}
.r-company__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* ---------- About のみフッター上マージンを消す（既存 style.css の .p-footer { margin-top } を打ち消す） ---------- */
.r-about + .p-footer,
.r-about ~ .p-footer {
  margin-top: 0;
}


/* ---------- Members ----------
   PC(≥1024): Figma 654:5621 / 660:9241 / 654:5495 / 654:5558（1440×740）
     サムネ列 x=150（active 125＋暗幕＋白文字 / 他 93、縦並び gap 16、上 163）、右向き三角 x=281
     英字名 Oswald 100px #D9D9D9 (354, 60)、氏名 30px bold (360, 309)、肩書 20px bold (360, 349)
     紹介文 16px Medium lh25 幅 424 (360, 424)、SNS (362, 595)
     写真 高さ 527（x=845、下端揃え）＋ {slug}-shadow.webp 561×740 (1015, 0)
   SP(<1024): Figma 575:4217（320 幅基準）*/
.r-memb {
  overflow: hidden;
  background: var(--r-color-white);
  font-family: var(--r-ff-base);
  color: #222;
}

.r-memb__head {
  padding-top: 52px;
}
@media (min-width: 1024px) {
  .r-memb__head {
    padding-top: 139px;
  }
  .r-memb__head .r-inner {
    max-width: calc(1108px + var(--r-side-pad) * 2); /* 1440幅で左端 166px */
  }
}

/* ステージ */
.r-memb__stage {
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin: 16px auto 0;
  padding-inline: var(--r-side-pad);
}
@media (min-width: 1024px) {
  .r-memb__stage {
    /* Figma の左基準 150px。1440px より狭い画面では 40px まで詰める */
    --_x: max(var(--r-side-pad), calc(50% - 570px));
    height: 740px;
    margin-top: 95px; /* Figma: ステージ上端 = セクション上端 + 317 */
    padding-inline: 0;
  }
}

/* ===== サムネ（タブ） ===== */
.r-memb__tabs {
  --_gap: 10px;
  display: flex;
  align-items: flex-start;
  gap: var(--_gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
/* SP: 4 等分（アクティブは 4 等分 + 10px、残りはその分だけ縮む） */
.r-memb__tab {
  flex: 1 1 0;
  min-width: 0;
}
.r-memb__tab.is-active {
  flex: 0 0 calc((100% - var(--_gap) * 3) / 4 + 10px);
}
@media (min-width: 1024px) {
  .r-memb__tabs {
    position: absolute;
    left: var(--_x);
    top: 163px;
    z-index: 3; /* Swiper（z-index:1）より前面 */
    flex-direction: column;
    align-items: center;
    gap: 16px;
    width: 125px;
    margin: 0;
  }
}

.r-memb__tab-btn {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  width: 100%; /* SP: li（4 等分）いっぱい */
  padding: 0;
  border: 0;
  background: none;
  color: #222;
  font: inherit;
  cursor: pointer;
}
.r-memb__tab-photo {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1;
  border: 1px solid var(--r-color-sub);
  overflow: hidden;
  transition: width 0.3s;
}
.r-memb__tab-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.r-memb__tab-label {
  font-size: 10px;
  font-weight: 700;
  line-height: 13px;
  text-align: center;
}
/* SP: active の下に赤い三角 */
.r-memb__tab.is-active .r-memb__tab-btn::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -18px;
  width: 16px;
  height: 10px;
  background: var(--r-color-sub);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}
@media (min-width: 1024px) {
  .r-memb__tab,
  .r-memb__tab.is-active {
    flex: none; /* PC は縦並び。幅はボタン側で指定 */
  }
  .r-memb__tab-btn {
    width: 93px;
    transition: width 0.3s;
  }
  /* PC: 非アクティブはラベル非表示、アクティブは写真上に白文字で重ねる */
  .r-memb__tab-label {
    display: none;
  }
  .r-memb__tab.is-active .r-memb__tab-btn {
    width: 125px;
  }
  /* アクティブ、およびホバー／フォーカス時は暗幕＋白文字の役職名を重ねる
     （修正依頼 A-06: カーソルを合わせると役職名が表示される挙動） */
  .r-memb__tab.is-active .r-memb__tab-photo::after,
  .r-memb__tab-btn:hover .r-memb__tab-photo::after,
  .r-memb__tab-btn:focus-visible .r-memb__tab-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(34, 34, 34, 0.85);
  }
  .r-memb__tab.is-active .r-memb__tab-label,
  .r-memb__tab-btn:hover .r-memb__tab-label,
  .r-memb__tab-btn:focus-visible .r-memb__tab-label {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 4px;
    color: var(--r-color-white);
    font-size: 16px;
    line-height: 25px;
    text-align: center;
  }
  /* 非アクティブのサムネは 93px と狭いので文字を少し詰める */
  .r-memb__tab:not(.is-active) .r-memb__tab-btn:hover .r-memb__tab-label,
  .r-memb__tab:not(.is-active) .r-memb__tab-btn:focus-visible .r-memb__tab-label {
    font-size: 13px;
    line-height: 19px;
  }
  .r-memb__tab.is-active .r-memb__tab-btn::after {
    /* 右向き三角 18×29（Figma: x=281、サムネ右端 275 + 6） */
    left: auto;
    right: -24px;
    top: 50%;
    bottom: auto;
    width: 18px;
    height: 29px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    transform: translateY(-50%);
  }
}

/* ===== メイン ===== */
.r-memb__swiper {
  margin-top: 28px;
}
@media (min-width: 1024px) {
  .r-memb__swiper {
    position: static;
    height: 100%;
    margin: 0;
  }
  .r-memb__slides {
    height: 100%;
  }
}
.r-memb__slides {
  margin: 0;
  padding: 0;
  list-style: none;
}
.r-memb-item {
  position: relative;
  height: auto;
  background: var(--r-color-white);
}
@media (min-width: 1024px) {
  .r-memb__swiper .r-memb-item {
    height: 740px; /* .swiper-autoheight .swiper-slide { height:auto } より優先 */
  }
}

/* 背面の大きなシャドー画像（Figma: 561×740、左 1015 / 上 0）。PC のみ */
.r-memb-item__shadow {
  display: none;
}
@media (min-width: 1024px) {
  .r-memb-item__shadow {
    position: absolute;
    left: calc(var(--_x) + 865px);
    top: 0;
    display: block;
    width: 561px;
    height: 740px;
    object-fit: contain;
    object-position: top left;
    pointer-events: none;
  }
}

/* 英字名 */
.r-memb-item__en {
  margin: 0;
  font-family: var(--r-ff-en);
  font-size: 51px;
  font-weight: 400;
  line-height: 57px;
  color: #d9d9d9;
  white-space: nowrap;
}
@media (min-width: 1024px) {
  .r-memb-item__en {
    position: absolute;
    left: calc(var(--_x) + 204px);
    top: 60px;
    font-size: clamp(64px, 6.95vw, 100px);
    line-height: 1.1;
  }
}

/* 写真 */
.r-memb-item__photo {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
  margin: -60px 0 0; /* Figma SP: 英字名 239〜 / 写真 299〜（2 行目に重なる） */
  padding-right: 4px;
  pointer-events: none;
}
.r-memb-item__photo img {
  display: block;
  width: 191px;
  height: auto;
}
@media (min-width: 1024px) {
  .r-memb-item__photo {
    position: absolute;
    left: calc(var(--_x) + 695px); /* Figma: x=845 */
    bottom: 0;
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
  }
  /* Figma の写真枠は 409×527。支給画像は縦横比が異なるので高さ基準で合わせる */
  .r-memb-item__photo img {
    width: auto;
    height: clamp(420px, 36.6vw, 527px);
  }
}
/* 狭い PC では写真が画面右端からはみ出すので、右寄せに切り替える */
@media (min-width: 1024px) and (max-width: 1319px) {
  .r-memb-item__photo {
    left: auto;
    right: var(--r-side-pad);
  }
}

/* テキスト */
.r-memb-item__body {
  position: relative;
  z-index: 1;
  margin-top: -87px; /* SP: 写真の下に氏名を食い込ませる */
}
@media (min-width: 1024px) {
  .r-memb-item__body {
    position: absolute;
    left: calc(var(--_x) + 210px);
    top: 309px;
    width: min(424px, 38vw);
    margin: 0;
  }
}
.r-memb-item__name {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  line-height: 32px;
}
.r-memb-item__position {
  margin: 0;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 32px;
}
@media (min-width: 1024px) {
  .r-memb-item__name {
    font-size: 30px;
    line-height: 56px;
    white-space: nowrap;
  }
  .r-memb-item__position {
    margin-top: -16px; /* Figma: 氏名 309 → 肩書 349 */
    font-size: 20px;
    line-height: 56px;
  }
}

/* 紹介文（SP はグラデーション帯。PC は地のまま） */
.r-memb-item__bio {
  margin: 24px 0 0; /* SP: Figma 320 幅中 280、左右 20 内側 */
  padding: 8px 15px;
  background: linear-gradient(180deg, rgba(239, 237, 231, 0.44) 0%, rgba(255, 255, 255, 0.44) 100%);
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
}
@media (min-width: 1024px) {
  .r-memb-item__bio {
    margin: 19px 0 0; /* Figma: 肩書下端 405 → 紹介文 424 */
    padding: 0;
    background: none;
    font-size: 16px;
    line-height: 25px;
  }
}

