/* ============================================================
   Diary 求人サイト v2 — スタッフ紹介セクション
   - Swiper で横スクロール（PC: 3枚 / タブレット: 2.2 / モバイル: 1.15）
   - PC: slidesPerGroup 3 で「1ドット = 3枚分」のページネーション
   - 画像 3:4 縦長、雑誌風の上品なカード
   - 共通: .rc-h2-section-header / .rc-h2-concept-link を流用
   ============================================================ */

.rc-h2-staff {
    background: var(--rch2-bg-base);  /* #FAF7F2 — 交互パターン一貫性 */
    padding: 120px 4rem;
}
.rc-h2-staff-inner {
    max-width: 1280px;
    margin: 0 auto;
}

/* ============================================================
   Swiper 本体
   ============================================================ */
.rc-h2-staff-swiper {
    position: relative;
    padding: 4px 8px 64px;  /* 下は pagination 分余白 */
    overflow: hidden;
}
.rc-h2-staff-swiper .swiper-wrapper {
    align-items: stretch;
}
.rc-h2-staff-swiper .swiper-slide {
    height: auto;
    display: flex;
}
.rc-h2-staff-card {
    width: 100%;
}
.rc-h2-staff-link {
    display: block;
    text-decoration: none;
    color: var(--rch2-text-main);
}

/* 画像エリア（3:4 縦長） */
.rc-h2-staff-image {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: var(--rch2-bg-card);
    margin-bottom: 20px;
    border-radius: 3px;
}
.rc-h2-staff-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.rc-h2-staff-link:hover .rc-h2-staff-image img {
    transform: scale(1.03);
}
.rc-h2-staff-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rch2-text-light);
    font-size: 56px;
    background: var(--rch2-bg-card);
}

/* テキスト */
.rc-h2-staff-content {
    padding: 0 4px;
}
.rc-h2-staff-name {
    font-family: var(--rch2-font-serif);
    font-size: 20px;
    color: var(--rch2-text-main);
    letter-spacing: 0.12em;
    line-height: 1.4;
    font-weight: 500;
    margin: 0 0 6px;
    transition: color 0.25s ease;
}
.rc-h2-staff-link:hover .rc-h2-staff-name {
    color: var(--rch2-accent);
}
.rc-h2-staff-role {
    font-family: var(--rch2-font-en);
    font-style: italic;
    font-size: 12.5px;
    color: var(--rch2-text-light);
    letter-spacing: 0.18em;
    margin: 0 0 14px;
}
.rc-h2-staff-quote {
    font-family: var(--rch2-font-serif);
    font-size: 13px;
    color: var(--rch2-text-sub);
    letter-spacing: 0.05em;
    line-height: 1.75;
    margin: 0;
    /* 2行で省略 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-all;
}

/* ============================================================
   ナビゲーションボタン（丸ボタン、voice と同じ作り）
   ============================================================ */
.rc-h2-staff-nav {
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid var(--rch2-line);
    border-radius: 50%;
    color: var(--rch2-accent);
    transition: background-color 0.2s ease, color 0.2s ease;
    margin-top: -32px;  /* pagination 分のオフセット */
}
.rc-h2-staff-nav::after {
    font-size: 14px;
    font-weight: 700;
}
.rc-h2-staff-nav:hover {
    background: var(--rch2-accent);
    color: #fff;
}
.rc-h2-staff-nav.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* ============================================================
   ページネーション
   ============================================================ */
.rc-h2-staff-pagination {
    bottom: 0 !important;
}
.rc-h2-staff-pagination .swiper-pagination-bullet {
    background: var(--rch2-text-mute);
    opacity: 0.4;
    width: 8px;
    height: 8px;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}
.rc-h2-staff-pagination .swiper-pagination-bullet-active {
    background: var(--rch2-accent);
    opacity: 1;
}

/* ============================================================
   「すべてのスタッフを見る」リンク
   ============================================================ */
.rc-h2-staff-more-wrap {
    margin-top: 56px;
    text-align: center;
}
.rc-h2-staff-more-wrap .rc-h2-concept-link {
    margin-top: 0;
}

/* 空状態 */
.rc-h2-staff-empty {
    text-align: center;
    color: var(--rch2-text-mute);
    padding: 40px 0;
    font-family: var(--rch2-font-serif);
}

/* ============================================================
   レスポンシブ
   ============================================================ */
@media (max-width: 1024px) {
    .rc-h2-staff { padding: 100px 2.5rem; }
}
@media (max-width: 768px) {
    .rc-h2-staff { padding: 88px 1rem; }
    .rc-h2-staff-swiper { padding: 4px 4px 48px; }
    .rc-h2-staff-name { font-size: 18px; }
    .rc-h2-staff-nav { display: none; }  /* スマホはスワイプのみ */
}
@media (max-width: 380px) {
    .rc-h2-staff { padding: 72px 1rem; }
}
