/* ==========================================================
   keiba-navi-kuchikomi : コンテンツ表示
   当初装飾 (post 29983 _custom_css 157行) を .kn-* セレクタへ移植
   - 原本 .rv-* / .rvw-* / .mybest-* / .re-* → .kn-* マッピング
   - 共通の星 (.kn-score-stars) ・スコア数値 (.kn-score-num) は
     common.css の規則を本ファイルで詳細度の高い `.kn-kuchikomi` 配下で上書き
   - 金額分布は原本 HTML のインラインスタイルを CSS 化
   - ヒントバナー・分布注記 (※…) は DOM 不在のため未対応（諦め項目）
   ========================================================== */

.kn-content-wrapper,
.kn-reviews-wrapper {
    max-width: 850px;
    margin: 20px auto;
    padding: 0;
    box-sizing: border-box;
}

/* ──────────────────────────────────────────────
   共通: 星評価 (.rv-score-stars 移植)
   ────────────────────────────────────────────── */
.kn-kuchikomi .kn-score-stars {
    position: relative;
    display: inline-block;
    color: #eeeeee;
    font-size: 20px;
    letter-spacing: 1px;
    margin-right: 10px;
}
.kn-kuchikomi .kn-score-stars::before {
    content: '★★★★★' !important;
    display: inline-block !important;
    position: absolute;
    top: 0;
    left: 0;
    color: #ff9800;
    width: calc(var(--score, 5) * 20%);
    overflow: hidden;
    white-space: nowrap;
}

/* 共通: スコア数値 (.rv-score-num 移植) */
.kn-kuchikomi .kn-score-num {
    font-weight: bold;
    color: #e04c00;
    font-size: 22px;
    margin: 0;
}

/* ──────────────────────────────────────────────
   ① 総合評価ブロック (.rv-wrap + .rv-flex + .rv-box)
   ────────────────────────────────────────────── */
.kn-score-summary {
    max-width: 850px;
    margin: 20px auto;
    padding: 20px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    box-sizing: border-box;
}
.kn-score-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
}
.kn-radar-wrap {
    flex: 1.5;
    min-width: 300px;
    width: 100%;
    box-sizing: border-box;
}
.kn-radar-chart {
    width: 100% !important;
    height: 380px !important;
}
.kn-score-right {
    flex: 1;
    min-width: 300px;
    width: 100%;
    font-family: sans-serif;
    box-sizing: border-box;
}

/* 内側グレーボックス (.rv-box) */
.kn-score-box {
    background: #f9f9f9;
    padding: 15px 20px 6px 20px;
    border-radius: 6px;
    margin-bottom: 0;
    box-sizing: border-box;
    height: fit-content;
    align-self: flex-start;
    border: 0;
}
.kn-score-box-title {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    margin: 0 !important;
    text-align: center;
    border-bottom: 1px solid #ddd;
    padding-bottom: 8px;
    padding-top: 0;
    border-top: 0;
    border-left: 0;
    border-right: 0;
}
.kn-score-box-title .kn-score-num {
    font-size: 22px;
    color: #e04c00;
    font-weight: bold;
    margin: 0;
}
.kn-score-box-max {
    font-size: 13px;
    color: inherit;
    font-weight: normal;
    margin-left: 4px;
}

/* 5項目リスト */
.kn-avg-list {
    display: flex;
    flex-direction: column;
    margin-top: 0 !important;
}
.kn-avg-item {
    display: grid;
    grid-template-columns: max-content 1fr;
    padding: 8px 0 4px 0 !important;
    border-bottom: 1px dashed #ddd;
}
.kn-avg-item:first-child { padding-top: 4px !important; }
.kn-avg-item:last-child {
    border-bottom: none;
    padding-bottom: 0 !important;
}
.kn-avg-row1 {
    grid-column: 1;
    display: flex;
    align-items: baseline;
    width: 100%;
    margin-bottom: 4px !important;
    gap: 0;
}
.kn-avg-row2 {
    grid-column: 1;
    width: 100%;
    text-align: right;
    line-height: 1 !important;
    margin: 0 !important;
    padding-bottom: 4px !important;
}
.kn-avg-label {
    font-size: 16px;
    color: #333;
    font-weight: bold;
    white-space: nowrap;
    margin-right: 30px;
    width: 110px;
    flex-shrink: 0;
}
.kn-avg-row1 .kn-score-stars {
    font-size: 20px;
    margin-right: 10px;
}
.kn-avg-row1 .kn-score-num {
    font-size: 22px;
    color: #e04c00;
    font-weight: bold;
    margin: 0;
}
.kn-score-rank {
    font-size: 12px;
    color: #666;
    font-weight: bold;
    line-height: 1 !important;
}

/* ──────────────────────────────────────────────
   ② 監修者ブロック (.mybest-reviewer-*)
   ────────────────────────────────────────────── */
.kn-supervisor-box {
    max-width: 850px;
    margin: 16px auto;
    padding: 24px;
    background: #fdfdfd;
    border: 1px solid #eef2f6;
    border-radius: 12px;
    font-family: sans-serif;
    box-sizing: border-box;
    width: 100%;
    position: relative;
    z-index: 10;
}
.kn-supervisor-profile {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 20px;
}
.kn-supervisor-img-wrap {
    position: relative;
    display: inline-block;
    width: 88px;
    height: 88px;
    flex: 0 0 88px;
    text-align: center;
}
.kn-supervisor-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    border: 0;
}
.kn-supervisor-role {
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 11px;
    font-weight: bold;
    color: #ffffff;
    background: #23ac38;
    padding: 2px 10px;
    border-radius: 12px;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin: 0;
    display: inline-block;
}
.kn-supervisor-info {
    flex: 1;
    display: block;
}
.kn-supervisor-title {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 4px;
}
.kn-supervisor-name {
    font-size: 20px;
    font-weight: bold;
    color: #0f172a;
}
.kn-supervisor-name-en {
    font-size: 14px;
    color: #94a3b8;
    margin-left: 6px;
    font-weight: normal;
    display: inline;
}
.kn-supervisor-comment {
    font-size: 15px;
    color: #334155;
    line-height: 1.7;
    background: #f8fafc;
    padding: 16px 20px;
    border-radius: 8px;
    border-left: 4px solid #23ac38;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    margin: 0;
}

/* ──────────────────────────────────────────────
   ③ 経験別タブ + テーブル (.rv-exp-*)
   ────────────────────────────────────────────── */
.kn-exp-tabs-wrap {
    max-width: 850px;
    margin: 0 auto 40px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    overflow: hidden;
    font-family: sans-serif;
    box-sizing: border-box;
}
.kn-exp-tabs {
    display: flex;
    background: #f1f1f1;
    border-bottom: 1px solid #ddd;
    border-left: 0;
    border-right: 0;
    border-top: 0;
}
.kn-exp-tab {
    flex: 1;
    text-align: center;
    padding: 12px 5px;
    font-size: 18px !important;
    font-weight: bold;
    color: #555;
    cursor: pointer;
    border: 0;
    border-right: 1px solid #ddd;
    transition: 0.2s;
    line-height: 1.4;
    background: transparent;
    font-family: inherit;
}
.kn-exp-tab:last-child { border-right: none; }
.kn-exp-tab:hover {
    background: rgba(0,0,0,0.02);
}
.kn-exp-tab-sub {
    display: block;
    font-size: 0.78em;
    font-weight: normal;
    margin-top: 2px;
    opacity: 1;
}

.kn-exp-tab[data-target*="lt1y"].is-active {
    background: #e8f5e9 !important;
    color: #2e7d32 !important;
    border-bottom: 3px solid #2e7d32 !important;
}
.kn-exp-tab[data-target*="1to2y"].is-active {
    background: #fffde7 !important;
    color: #f57f17 !important;
    border-bottom: 3px solid #f57f17 !important;
}
.kn-exp-tab[data-target*="gte3y"].is-active {
    background: #ffebee !important;
    color: #d32f2f !important;
    border-bottom: 3px solid #d32f2f !important;
}

/* 経験別 content: テンプレは hidden 属性で制御 (kn-content.js) */
.kn-exp-content {
    padding: 20px 15px 15px;
    display: block;
}
.kn-exp-content[hidden] { display: none !important; }

/* 経験別スコアテーブル */
.kn-kuchikomi .kn-exp-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    margin-bottom: 0 !important;
    border: 0;
}
.kn-kuchikomi .kn-exp-table th {
    background: #e4ffd7; /* サイトテーマの緑（淡色） */
    padding: 12px 10px;
    border: 1px solid #ddd;
    font-size: 18px !important;
    color: #333;
    width: 50%;
    font-weight: bold;
    text-align: center;
}
.kn-kuchikomi .kn-exp-table td {
    padding: 12px 10px;
    border: 1px solid #ddd;
    font-size: 20px !important;
    font-weight: bold;
    color: #e04c00;
    width: 50%;
    text-align: center;
    background: transparent;
}
.kn-kuchikomi .kn-exp-table .kn-score-stars {
    font-size: 20px !important;
    margin-right: 0;
}
.kn-kuchikomi .kn-exp-table .kn-score-num {
    font-size: 20px !important;
}
.kn-score-box-center {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    white-space: nowrap;
    gap: 4px;
}

/* ──────────────────────────────────────────────
   ④ 金額分布: 原本はインラインスタイル → CSS 化
   ────────────────────────────────────────────── */
.kn-dist-flex {
    margin-top: 25px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: stretch;
    font-family: sans-serif;
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}
.kn-kuchikomi .kn-dist {
    flex: 1 1 300px;
    min-width: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
}
.kn-kuchikomi .kn-dist-title {
    background-color: aqua;
    color: #333;
    padding: 8px 10px;
    margin: 0 0 10px;
    border-left: 5px solid #0066cc;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    font-size: 1em;
    font-weight: bold;
    cursor: default;
}
/* ▼ アイコンは PC 非表示（アコーディオン無効）、モバイルのみ表示 */
.kn-kuchikomi .kn-dist-title::after {
    content: " ▼";
    font-weight: normal;
    display: none;
    transition: transform 0.2s ease;
}
.kn-kuchikomi .kn-dist-paid .kn-dist-title {
    background-color: pink;
    border-left-color: #cc0066;
}

/* PC 既定: 分布は常時両方表示、アコーディオン無効 */
.kn-kuchikomi .kn-dist .kn-dist-table {
    display: table;
}
.kn-kuchikomi .kn-dist .kn-dist-empty {
    display: block;
}

/* モバイル (≤600px) のみアコーディオン化
   テンプレ側で free にだけ .is-open を付与済（free=既定開, paid=既定閉） */
@media (max-width: 600px) {
    .kn-kuchikomi .kn-dist-title {
        cursor: pointer;
    }
    .kn-kuchikomi .kn-dist-title::after {
        display: inline-block;
    }
    .kn-kuchikomi .kn-dist .kn-dist-table,
    .kn-kuchikomi .kn-dist .kn-dist-empty {
        display: none;
    }
    .kn-kuchikomi .kn-dist.is-open .kn-dist-table {
        display: table;
    }
    .kn-kuchikomi .kn-dist.is-open .kn-dist-empty {
        display: block;
    }
    .kn-kuchikomi .kn-dist.is-open .kn-dist-title::after {
        transform: rotate(180deg);
    }
    .kn-kuchikomi .kn-dist-free .kn-dist-title:focus-visible {
        outline: 2px solid #0066cc;
        outline-offset: 2px;
    }
    .kn-kuchikomi .kn-dist-paid .kn-dist-title:focus-visible {
        outline: 2px solid #cc0066;
        outline-offset: 2px;
    }
    /* column flex 配置時に flex-basis: 300px が縦方向余白を生むため、basis を auto に */
    .kn-kuchikomi .kn-dist {
        flex: 0 0 auto;
    }
}
.kn-kuchikomi .kn-dist-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78em;
}
.kn-kuchikomi .kn-dist-table th {
    border: 1px solid #ddd;
    padding: 6px 2px;
    text-align: center;
    background: #e4ffd7; /* サイトテーマの緑（淡色） */
    font-weight: bold;
    font-size: inherit !important;
    color: #333;
}
.kn-kuchikomi .kn-dist-table td {
    border: 1px solid #ddd;
    padding: 8px 2px;
    background: transparent;
    font-size: inherit !important;
    color: #333;
    font-weight: normal;
}
.kn-kuchikomi .kn-dist-amount {
    text-align: center;
    white-space: nowrap;
}
.kn-kuchikomi .kn-dist-bar-cell {
    width: auto;
    padding: 8px 2px;
}
.kn-kuchikomi .kn-dist-bar {
    background-color: #4caf50;
    background-image: none;
    height: 10px;
    border-radius: 0;
    min-width: 0;
}
.kn-kuchikomi .kn-dist-paid .kn-dist-bar {
    background-color: #e6b422;
    background-image: none;
}
/* 不的中/他 行は SQL の ORDER BY FIELD で常に先頭 → グレー */
.kn-kuchikomi .kn-dist-table tbody tr:first-child .kn-dist-bar {
    background-color: #999;
    background-image: none;
}
.kn-kuchikomi .kn-dist-cnt {
    text-align: right;
    font-weight: bold;
    width: auto;
}
.kn-dist-empty {
    padding: 12px;
    color: #666;
    text-align: center;
    font-size: 13px;
}

/* ──────────────────────────────────────────────
   ⑤ 「ユーザーの口コミ投稿一覧」見出し (h3.toukou)
   ────────────────────────────────────────────── */
.kn-kuchikomi .kn-section-title {
    display: block;
    background: transparent;
    border: 0;
    border-bottom: 5px solid #71cb29;
    border-radius: 0;
    color: #007130;
    font-size: 18px;
    font-weight: bold;
    padding: 0 6px 6px;
    margin: 24px auto 12px;
    text-align: center;
    max-width: 850px;
}

/* ──────────────────────────────────────────────
   ⑥ 口コミセクション (.rvw-*)
   ────────────────────────────────────────────── */
.kn-reviews,
.kn-reviews-wrapper {
    width: 100%;
    box-sizing: border-box;
    max-width: 850px;
    margin: 0 auto;
}

/* ヒントバナー (原本 .rvw-container 直下のインライン div を移植) */
.kn-hint-banner {
    background-color: #fff8e1;
    border: 1px dashed #fbc02d;
    padding: 10px;
    border-radius: 6px;
    margin: 0 0 15px;
    font-size: 13px;
    color: #f57f17;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
}
.kn-hint-banner strong {
    color: inherit;
    font-weight: bold;
}

/* 絞り込みタブ (.rvw-tab-btn) */
.kn-review-filter {
    display: flex;
    gap: 8px;
    margin: 0 0 20px;
    flex-wrap: wrap;
    border: 0;
    padding: 0;
}
/* 2段フィルタ（評価 / 競馬歴）レイアウト */
.kn-review-filters {
    margin: 0 0 20px;
}
.kn-filter-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 10px;
}
.kn-filter-row:last-child {
    margin-bottom: 0;
}
.kn-filter-label {
    flex: 0 0 auto;
    min-width: 3.5em;
    font-size: 13px;
    font-weight: bold;
    color: #888888;
}
.kn-review-filters .kn-review-filter {
    margin: 0;
    flex: 1 1 auto;
}
.kn-review-filter-tab {
    padding: 10px 16px;
    background: #fff5e6;
    border: 1px solid #ffcc80;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    color: #e67e00;
    transition: all 0.2s ease-in-out;
    font-family: inherit;
}
.kn-review-filter-tab:hover {
    background: #ffebcc;
}
.kn-review-filter-tab.is-active {
    background: #ff9800 !important;
    color: #ffffff !important;
    border-color: #f57c00 !important;
    box-shadow: 0 2px 4px rgba(255, 152, 0, 0.4);
}
/* 経験別の独自色は原本になかったため、共通の橙にまとめる */
.kn-review-filter-tab[data-kn-filter="lt1y"].is-active,
.kn-review-filter-tab[data-kn-filter="1to2y"].is-active,
.kn-review-filter-tab[data-kn-filter="gte3y"].is-active {
    background: #ff9800 !important;
}

/* 口コミカード (.rvw-card) */
.kn-kuchikomi .kn-review-list {
    display: block;
    flex-direction: initial;
    gap: 0;
}
.kn-kuchikomi .kn-review-card {
    background: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 18px 18px 8px 18px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    text-align: left;
    position: relative;
    margin: 0 0 15px;
}
.kn-kuchikomi .kn-review-card:last-child {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 15px;
}
.kn-review-list .kn-review-card[hidden],
.kn-review-list .kn-no-reviews[hidden] {
    display: none !important;
}

/* row1: ユーザー名 + ★★★★★ + 数値 */
.kn-review-row1 {
    display: flex;
    align-items: center;
    margin: 0 0 8px;
    line-height: 1;
    padding: 0;
    gap: 0;
    flex-wrap: wrap;
}
.kn-review-username {
    font-weight: bold;
    font-size: 20px;
    display: block;
    margin: 0 0 5px;
}
/* 口コミカードの星 (.rvw-star-dynamic) */
.kn-review-star {
    position: relative;
    display: inline-block;
    color: #eeeeee;
    font-size: 22px;
    margin-left: 12px;
    letter-spacing: 0;
    white-space: nowrap;
}
.kn-review-star::before {
    content: '★★★★★' !important;
    display: inline-block !important;
    position: absolute;
    top: 0;
    left: 0;
    color: #ff9800;
    width: calc(var(--score, 5) * 20%);
    overflow: hidden;
    white-space: nowrap;
}
.kn-review-score {
    color: #e04c00;
    font-weight: bold;
    font-size: 22px;
    margin-left: 8px;
}

/* 競馬歴バッジ (.re-badge): 色分けピル */
.kn-review-meta {
    display: block;
    margin: 0 0 12px;
    line-height: 1.4;
    vertical-align: initial;
}
.kn-badge {
    display: inline-block;
    font-size: 13px;
    font-weight: bold;
    padding: 4px 10px;
    border-radius: 4px;
    border: 1px solid;
    line-height: 1.2;
    cursor: pointer;
    transition: opacity 0.2s ease;
    margin: 0 6px 0 0;
    background: transparent;
}
.kn-badge:hover { opacity: 0.6; }
.kn-badge-exp.kn-badge-beginner {
    background: #e8f5e9 !important;
    color: #2e7d32 !important;
    border-color: #2e7d32 !important;
}
.kn-badge-exp.kn-badge-middle {
    background: #fffde7 !important;
    color: #f57f17 !important;
    border-color: #f57f17 !important;
}
.kn-badge-exp.kn-badge-expert {
    background: #ffebee !important;
    color: #d32f2f !important;
    border-color: #d32f2f !important;
}

/* row2: 予想種類バッジ + 的中金額 */
.kn-review-row2 {
    display: flex;
    align-items: center;
    margin: 0 0 12px;
    line-height: 1;
    flex-wrap: wrap;
    gap: 0;
    font-size: inherit;
}
.kn-badge-type.kn-badge-free {
    background: #007bff !important;
    color: #ffffff !important;
    border: 0 !important;
    font-size: 13px;
    font-weight: bold;
    padding: 3px 8px;
    border-radius: 4px;
    display: inline-block;
    margin: 0;
    cursor: default;
}
.kn-badge-type.kn-badge-paid {
    background: #e50000 !important;
    color: #ffffff !important;
    border: 0 !important;
    font-size: 13px;
    font-weight: bold;
    padding: 3px 8px;
    border-radius: 4px;
    display: inline-block;
    margin: 0;
    cursor: default;
}
.kn-badge-type.kn-badge-free:hover,
.kn-badge-type.kn-badge-paid:hover { opacity: 1; }
.kn-review-refund {
    font-weight: bold;
    color: #333;
    font-size: 16px;
    margin-left: 10px;
}
.kn-badge-hit,
.kn-badge-miss {
    display: inline-block;
    background: transparent !important;
    padding: 0;
    margin: 0 0 0 10px;
    border: 0 !important;
    font-size: 14px;
    font-weight: bold;
    cursor: default;
}
.kn-badge-hit { color: #e60012 !important; }  /* 的中 */
.kn-badge-miss { color: #888888 !important; } /* 外れ */
.kn-badge-hit:hover,
.kn-badge-miss:hover { opacity: 1; }

/* 投稿日 (.rvw-date) */
.kn-review-date {
    color: #999;
    font-size: 12px;
    margin: 10px 0 12px;
    line-height: 1;
    position: static;
    display: block;
}

/* 本文 (.rvw-txt) */
.kn-review-text {
    font-size: 15px;
    margin: 0 0 15px;
    line-height: 1.6;
    color: #444;
}

/* 画像 (.rvw-img-box) */
.kn-review-img-wrap {
    display: inline-block;
    width: 150px;
    text-align: center;
    line-height: 0;
    margin-bottom: -4px;
    margin-top: 0;
}
.kn-review-img-wrap a {
    text-decoration: none;
    display: block;
}
.kn-review-img {
    width: 150px;
    max-width: 150px;
    height: auto;
    border: 1px solid #ddd;
    border-radius: 4px;
    display: block;
}
.kn-review-img-zoom {
    display: block;
    font-size: 12px;
    color: #06c;
    line-height: 1;
    padding: 4px 0;
    font-weight: bold;
}

.kn-no-reviews {
    padding: 16px;
    text-align: center;
    color: #666;
    background: transparent;
    border-radius: 0;
}

/* ──────────────────────────────────────────────
   ⑦ ページネーション (.rvw-pagination)
   ────────────────────────────────────────────── */
.kn-review-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
    padding-bottom: 10px;
    flex-wrap: wrap;
}
.kn-page-btn {
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #ff9800;
    color: #ff9800;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    font-weight: bold;
    transition: 0.2s;
    font-family: inherit;
    line-height: 1.2;
    min-width: 0;
    text-align: center;
}
.kn-page-btn:hover:not(.is-disabled):not(.is-active) {
    background: #ff9800;
    color: #fff;
}
.kn-page-btn.is-disabled {
    border-color: #ccc;
    color: #ccc;
    cursor: not-allowed;
    background: transparent;
}
.kn-page-btn.is-active {
    background: #ff9800 !important;
    color: #fff !important;
    border-color: #ff9800;
    cursor: default;
}

/* もっと読む — 原本に該当なし、ページネボタンと同色 */
.kn-load-more-wrap {
    text-align: center;
    margin-top: 16px;
}
.kn-load-more-btn {
    padding: 10px 24px;
    background: #fff;
    border: 1px solid #ff9800;
    color: #ff9800;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    font-family: inherit;
    transition: 0.2s;
}
.kn-load-more-btn:hover:not(:disabled) {
    background: #ff9800;
    color: #fff;
}
.kn-load-more-btn:disabled {
    border-color: #ccc;
    color: #ccc;
    cursor: not-allowed;
    background: transparent;
}

/* ──────────────────────────────────────────────
   レスポンシブ
   ────────────────────────────────────────────── */
@media (max-width: 600px) {
    .kn-score-summary { padding: 15px 10px; margin: 10px 0; }
    .kn-radar-wrap { min-width: 100%; flex: 1; }
    .kn-score-flex { gap: 15px; }
    .kn-avg-item { padding: 8px 0 0 0 !important; }
    .kn-avg-item:first-child { padding-top: 6px !important; }
    .kn-avg-row1 { margin-bottom: 2px !important; }
    .kn-kuchikomi .kn-score-stars { font-size: 18px; margin-right: 8px; }
    .kn-kuchikomi .kn-score-num { font-size: 20px; }
    .kn-avg-label { font-size: 15px; width: 105px; margin-right: 16px; }

    .kn-exp-tab { font-size: 14px !important; padding: 10px 2px; }
    .kn-exp-content { padding: 15px 10px; }
    .kn-kuchikomi .kn-exp-table th { font-size: 15px !important; padding: 10px; }
    .kn-kuchikomi .kn-exp-table td { font-size: 16px !important; padding: 10px; }
    .kn-kuchikomi .kn-exp-table .kn-score-stars { font-size: 18px !important; }
    .kn-kuchikomi .kn-exp-table .kn-score-num { font-size: 18px !important; }

    .kn-supervisor-box { margin-top: 15px; padding: 16px; }
    .kn-supervisor-profile { gap: 16px; }
    .kn-supervisor-img-wrap { width: 72px; height: 72px; flex: 0 0 72px; }
    .kn-supervisor-name { font-size: 16px; }

    .kn-dist-flex { flex-direction: column; }
}
