@charset "utf-8";

/* ============================================
   staff.css
   staff.html専用スタイル
   共通パーツ（header/footer/page-hero/pankuzu/
   contact/btn_contact/sp-br 等）は style.css を使用。

   本ファイルは other_style.css に定義されていた
   スタッフ一覧（帯セクション）関連のスタイルを移植したものです。
   other_style.css側の該当ルールは削除していないため、
   他ページで参照している場合はそのまま動作します。
   ============================================ */

/* スタッフの肩書き文言 */
.post {
    font-size: 16px !important;
    margin-top: 7px !important;
}

/* 帯（スタッフ紹介）セクション */
.obi {
    background-color: #fff;
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
}

.obi h2 {
    text-align: center;
    color: #1a1a1a;
    margin-bottom: 30px;
    padding-bottom: 15px;
}

/* スタッフ一覧グリッド */
.staff ul {
    --staff-gap: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: var(--staff-gap);
}

.staff ul li {
    display: block;
    width: calc((100% - 4 * var(--staff-gap)) / 5);
    text-align: center;
    box-sizing: border-box;
    padding: 20px 15px;
    margin-bottom: 0;
    color: #1a1a1a;
    background: #fff;
    border: 1px solid #e5edf7;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.staff ul li p {
    font-size: 12px;
    margin: 10px;
}

.staff ul li a {
    text-decoration: none;
    color: #1a1a1a;
}

.staff ul li p strong {
    font-size: 18px;
    font-weight: normal;
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.staff ul li p .rubi {
    font-size: 10px;
    letter-spacing: 2px;
}

/* 資格バッジ（級ごとに色分け） */
.staff-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 10px 0 0 !important;
}
.staff-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
}
.staff-badge.grade-a {
    background: #0d4a8a;
    color: #fff;
}
.staff-badge.grade-b {
    background: #1E73BE;
    color: #fff;
}
.staff-badge.grade-c {
    background: #eaf2fb;
    color: #1E73BE;
}
.staff-badge.grade-d {
    background: #f0f0f0;
    color: #777;
}

.staff ul li img {
    width: 160px;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
    display: block;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5%;
    margin-top: 10px;
    overflow: hidden;
    position: relative;
    transition: 0.2s linear;
}

.staff ul li a img {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
    display: block;
}

/* 「詳細を見る」ボタン（a.btn_more は style.css に共通化済み）
   現在staff.html内ではコメントアウトされていますが、
   将来的な詳細表示機能のためにスタイルを保持しています。 */

/* ============================================
   レスポンシブ（other_style.css の該当ブレークポイントを移植）
   ============================================ */
@media screen and (max-width: 1100px) {
    .obi {
        padding-top: 10px;
        padding-bottom: 20px;
        margin-top: 10px;
        margin-bottom: 20px;
    }
    .obi h2 {
        margin-bottom: 20px;
    }
    .staff ul li {
        width: calc((100% - 3 * var(--staff-gap)) / 4);
    }
}

@media screen and (max-width: 760px) {
    .staff ul {
        --staff-gap: 14px;
    }
    .staff ul li {
        width: calc((100% - 2 * var(--staff-gap)) / 3);
    }
}

@media screen and (max-width: 560px) {
    .staff ul {
        --staff-gap: 10px;
    }
    .staff ul li {
        width: calc((100% - 1 * var(--staff-gap)) / 2);
        padding: 12px 8px;
        margin-bottom: 0;
    }
    .staff ul li img {
        width: 92%;
    }
}
