/* =========================================================
 * ちゅぱ音的声優ティアリスト
 * shortcode: [voice_tierlist]
 * ========================================================= */

:root {
    --voice-tier-main: #5c6f94;
    --voice-tier-main-soft: #edf1f8;
    --voice-tier-text: #2f3542;
    --voice-tier-muted: #7a8290;
    --voice-tier-border: #e6eaf1;
    --voice-tier-bg: #f7f8fb;
    --voice-tier-card: #ffffff;
    --voice-tier-accent: #7d6470;
}

/* 全体 */
.voice-tierlist {
    max-width: 980px;
    margin: 0 auto 48px;
    color: var(--voice-tier-text);
    font-size: 15px;
    line-height: 1.8;
}

/* 冒頭説明：通常はPHP側で出さないが、show_intro=true用に残す */
.voice-tierlist-lead {
    margin: 0 0 28px;
    padding: 18px 20px;
    border: 1px solid var(--voice-tier-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(72, 85, 112, 0.06);
}

.voice-tierlist-lead p {
    margin: 0 0 8px;
    color: #4c5565;
    font-size: 14px;
    line-height: 1.9;
}

.voice-tierlist-lead p:last-child {
    margin-bottom: 0;
}

/* 検索・ランク移動。同人声優への導線も同じ操作帯にまとめる。 */
.voice-tier-tools {
    display: grid;
    grid-template-columns: max-content minmax(150px, 1fr) max-content;
    grid-template-areas: "rank search count";
    gap: 16px;
    align-items: center;
    margin: 0 0 20px;
    padding: 7px 0;
    border: 0;
    border-bottom: 1px solid rgba(218, 229, 240, 0.86);
}

.voice-tier-rank-jump {
    grid-area: rank;
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding-right: 16px;
    border-right: 1px solid rgba(205, 219, 232, 0.78);
}

.voice-tier-tools-icon {
    display: block;
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
    color: #7890a8;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.voice-tier-rank-jump-label {
    color: rgba(102, 127, 151, 0.48);
    font-size: 10.5px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.025em;
    white-space: nowrap;
}

.voice-tier-rank-jump-buttons {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 1px;
}

html body .voice-tierlist button.voice-tier-rank-jump-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 27px;
    min-height: 32px;
    margin: 0;
    padding: 4px 5px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #5b7793;
    font-size: 10.5px;
    line-height: 1;
    font-weight: 800;
    cursor: pointer;
    box-shadow: none;
    transition: color 0.18s ease, background-color 0.18s ease;
}

html body .voice-tierlist button.voice-tier-rank-jump-button:disabled {
    opacity: 0.3;
    cursor: default;
}

.voice-tier-category-jump {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    margin: 0;
    padding: 4px 6px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #5b7793 !important;
    font-size: 10.5px;
    line-height: 1;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
    transition: color 0.18s ease, background-color 0.18s ease;
}

.voice-tier-category-jump.is-disabled {
    opacity: 0.32;
    pointer-events: none;
}

.voice-tier-search {
    grid-area: search;
    min-width: 0;
}

.voice-tier-search-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.voice-tier-search-field {
    position: relative;
    min-width: 0;
}

.voice-tier-search-icon {
    position: absolute;
    top: 50%;
    left: 8px;
    z-index: 1;
    pointer-events: none;
    transform: translateY(-50%);
}

html body .voice-tierlist .voice-tier-search-input[type="search"] {
    display: block;
    width: 100%;
    height: 32px;
    margin: 0;
    padding: 0 42px 0 30px;
    border: 0;
    border-radius: 8px;
    outline: 0;
    background: transparent;
    color: #405873;
    font-size: 10.5px;
    line-height: 1;
    box-shadow: none;
    appearance: none;
}

html body .voice-tierlist .voice-tier-search-input[type="search"]::placeholder {
    color: rgba(102, 127, 151, 0.48);
    opacity: 1;
}

html body .voice-tierlist .voice-tier-search-input[type="search"]::-webkit-search-cancel-button {
    display: none;
}

html body .voice-tierlist .voice-tier-search-input[type="search"]:focus {
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(124, 154, 181, 0.22);
}

.voice-tier-search-clear {
    position: absolute;
    top: 50%;
    right: 5px;
    min-height: 22px;
    margin: 0;
    padding: 2px 6px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #7890a8;
    font-size: 9px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

.voice-tier-search-clear[hidden] {
    display: none !important;
}

.voice-tier-search-count {
    grid-area: count;
    color: #8094aa;
    font-size: 10.5px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
}

.voice-tier-search-empty {
    margin: 0 0 24px;
    padding: 18px;
    border: 1px solid var(--voice-tier-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.66);
    color: #647891;
    font-size: 13px;
    text-align: center;
}

.voice-tier-search-empty[hidden],
.voice-tier-person.is-filter-hidden,
.voice-tier-block.is-filter-hidden,
.voice-tier-category.is-filter-hidden {
    display: none !important;
}

@media (hover: hover) and (pointer: fine) {
    html body .voice-tierlist button.voice-tier-rank-jump-button:not(:disabled):hover {
        background: rgba(229, 237, 245, 0.72);
        color: #3f5f80;
    }

    .voice-tier-category-jump:hover {
        background: rgba(229, 237, 245, 0.72);
        color: #3f5f80 !important;
    }
}

.voice-tier-rank-jump-button:focus-visible,
.voice-tier-category-jump:focus-visible,
.voice-tier-search-clear:focus-visible {
    outline: 2px solid rgba(92, 111, 148, 0.38);
    outline-offset: 2px;
}

@media screen and (max-width: 768px) {
    .voice-tier-tools {
        grid-template-columns: minmax(0, 1.45fr) minmax(92px, 0.72fr);
        grid-template-areas: "rank search";
        gap: 8px;
        padding: 6px 0;
    }

    .voice-tier-rank-jump {
        gap: 4px;
        min-width: 0;
        padding-right: 8px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .voice-tier-rank-jump::-webkit-scrollbar {
        display: none;
    }

    .voice-tier-rank-jump-label {
        font-size: 9.5px;
    }

    .voice-tier-tools-icon {
        width: 11px;
        height: 11px;
    }

    html body .voice-tierlist button.voice-tier-rank-jump-button {
        min-width: 22px;
        min-height: 32px;
        padding: 3px;
        font-size: 10px;
    }

    .voice-tier-category-jump {
        min-height: 32px;
        padding: 3px;
        font-size: 10px;
    }

    .voice-tier-search-count {
        display: none;
    }

    .voice-tier-search-icon {
        left: 7px;
    }

    html body .voice-tierlist .voice-tier-search-input[type="search"] {
        padding-right: 30px;
        padding-left: 27px;
        font-size: 9.5px;
    }
}

@media screen and (max-width: 480px) {
    .voice-tier-rank-jump-label {
        display: none;
    }

}

/* =========================================================
 * カテゴリ見出し
 * テーマ側 h2 風装飾を避けるため、専用デザイン
 * ========================================================= */

.voice-tier-category {
    margin: 0 0 44px;
    scroll-margin-top: 24px;
}

.voice-tier-category-title,
.article .voice-tier-category-title,
.entry-content .voice-tier-category-title {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px !important;
    padding: 0 0 10px !important;
    border: none !important;
    border-bottom: 1px solid var(--voice-tier-border) !important;
    background: transparent !important;
    color: var(--voice-tier-text) !important;
    font-size: 21px !important;
    line-height: 1.45 !important;
    font-weight: 900 !important;
    letter-spacing: 0.03em;
    box-shadow: none !important;
}

.voice-tier-category-title::before,
.article .voice-tier-category-title::before,
.entry-content .voice-tier-category-title::before {
    content: "";
    display: block;
    width: 7px;
    height: 22px;
    border-radius: 999px;
    background: var(--voice-tier-main);
}

.voice-tier-category-title::after,
.article .voice-tier-category-title::after,
.entry-content .voice-tier-category-title::after {
    display: none !important;
}

.voice-tier-empty {
    margin: 0;
    padding: 16px 18px;
    border: 1px solid var(--voice-tier-border);
    border-radius: 16px;
    background: #fff;
    color: var(--voice-tier-muted);
    font-size: 14px;
}

/* =========================================================
 * ティアブロック
 * ========================================================= */

.voice-tier-block {
    margin: 0 0 18px;
    border: 1px solid var(--voice-tier-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(72, 85, 112, 0.045);
    overflow: hidden;
}

/* ティア見出し */
.voice-tier-heading {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--voice-tier-border);
    background: #f7f8fc;
}

/* ティアごとの色 */
.voice-tier-block-ss {
    border-color: #ead99c;
    background: #fffaf0;
}

.voice-tier-block-ss .voice-tier-heading {
    border-bottom-color: #ead99c;
    background: linear-gradient(90deg, #fff2bf 0%, #fffaf0 100%);
}

.voice-tier-block-ss .voice-tier-rank {
    color: #b8913a;
}

.voice-tier-block-splus,
.voice-tier-block-s {
    border-color: #e8d6a1;
    background: #fffaf2;
}

.voice-tier-block-splus .voice-tier-heading,
.voice-tier-block-s .voice-tier-heading {
    border-bottom-color: #e8d6a1;
    background: linear-gradient(90deg, #fff4cf 0%, #fffaf2 100%);
}

.voice-tier-block-splus .voice-tier-rank,
.voice-tier-block-s .voice-tier-rank {
    color: #b8913a;
}

.voice-tier-block-aplus,
.voice-tier-block-a {
    border-color: #ead8dc;
    background: #fff8fa;
}

.voice-tier-block-aplus .voice-tier-heading,
.voice-tier-block-a .voice-tier-heading {
    border-bottom-color: #ead8dc;
    background: linear-gradient(90deg, #f9e7eb 0%, #fff8fa 100%);
}

.voice-tier-block-aplus .voice-tier-rank,
.voice-tier-block-a .voice-tier-rank {
    color: #b46b6b;
}

.voice-tier-block-bplus,
.voice-tier-block-b {
    border-color: #d9e1ed;
    background: #f8fbff;
}

.voice-tier-block-bplus .voice-tier-heading,
.voice-tier-block-b .voice-tier-heading {
    border-bottom-color: #d9e1ed;
    background: linear-gradient(90deg, #eaf0f8 0%, #f8fbff 100%);
}

.voice-tier-block-bplus .voice-tier-rank,
.voice-tier-block-b .voice-tier-rank {
    color: #5c6f94;
}

.voice-tier-block-cplus,
.voice-tier-block-c {
    border-color: #dce8dc;
    background: #f8fcf8;
}

.voice-tier-block-cplus .voice-tier-heading,
.voice-tier-block-c .voice-tier-heading {
    border-bottom-color: #dce8dc;
    background: linear-gradient(90deg, #edf6ed 0%, #f8fcf8 100%);
}

.voice-tier-block-cplus .voice-tier-rank,
.voice-tier-block-c .voice-tier-rank {
    color: #6f8a70;
}

.voice-tier-block-dplus,
.voice-tier-block-d,
.voice-tier-block-eplus,
.voice-tier-block-e {
    border-color: #e2e4e9;
    background: #fbfbfd;
}

.voice-tier-block-dplus .voice-tier-heading,
.voice-tier-block-d .voice-tier-heading,
.voice-tier-block-eplus .voice-tier-heading,
.voice-tier-block-e .voice-tier-heading {
    border-bottom-color: #e2e4e9;
    background: linear-gradient(90deg, #f0f1f5 0%, #fbfbfd 100%);
}

.voice-tier-block-dplus .voice-tier-rank,
.voice-tier-block-d .voice-tier-rank,
.voice-tier-block-eplus .voice-tier-rank,
.voice-tier-block-e .voice-tier-rank {
    color: #808691;
}

/* 声優リスト */
.voice-tier-people {
    display: grid;
    gap: 8px;
    padding: 12px;
    min-width: 0;
}

/* 1人分 */
.voice-tier-person {
    border: 1px solid var(--voice-tier-border);
    border-radius: 16px;
    background: var(--voice-tier-card);
    box-shadow: 0 6px 14px rgba(72, 85, 112, 0.035);
    overflow: hidden;
}

.voice-tier-person.has-detail .voice-tier-person-main {
    cursor: pointer;
}

.voice-tier-person-main {
    display: flex;
    gap: 12px;
    align-items: center;
    min-height: 62px;
    padding: 10px 14px;
    background: #fff;
    transition:
        background-color 0.18s ease,
        box-shadow 0.18s ease;
}

.voice-tier-person.has-detail .voice-tier-person-main:hover {
    background: #fbfcff;
}

.voice-tier-person.is-open .voice-tier-person-main {
    background: #fbfcff;
}

/* 画像 */
.voice-tier-person-thumb {
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #eef1f5;
    background: #f7f8fc;
}

.voice-tier-person-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 本文 */
.voice-tier-person-body {
    flex: 1 1 auto;
    min-width: 0;
}

.voice-tier-person-head {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.voice-tier-name {
    min-width: 0;
    color: var(--voice-tier-text);
    font-size: 16px;
    line-height: 1.45;
    font-weight: 900;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.voice-tier-short-comment {
    margin-top: 3px;
    color: #4f5868;
    font-size: 13.5px;
    line-height: 1.55;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.voice-tier-sub-comment {
    margin-top: 3px;
    color: var(--voice-tier-muted);
    font-size: 12.5px;
    line-height: 1.55;
    word-break: break-word;
    overflow-wrap: anywhere;
}

/* 開閉ボタン */
.voice-tier-person-toggle {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-left: auto;
    border: 1px solid #d8deea;
    border-radius: 999px;
    background: #fff;
    color: var(--voice-tier-main);
    font-size: 14px;
    line-height: 1;
    font-weight: 900;
    cursor: pointer;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        border-color 0.18s ease;
}

.voice-tier-person-toggle:hover {
    background: var(--voice-tier-main);
    border-color: var(--voice-tier-main);
    color: #fff;
}

.voice-tier-person.is-open .voice-tier-person-toggle {
    background: var(--voice-tier-main);
    border-color: var(--voice-tier-main);
    color: #fff;
    font-size: 0;
}

.voice-tier-person.is-open .voice-tier-person-toggle::before {
    content: "－";
    font-size: 14px;
    line-height: 1;
}

/* 詳細 */
.voice-tier-person-detail {
    border-top: 1px solid var(--voice-tier-border);
    background: #fbfcff;
}

.voice-tier-detail-inner {
    padding: 16px 18px 18px;
}

/* 詳細内評価 */
.voice-tier-detail-ratings {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}

.voice-tier-rating-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid #e5e9f1;
    border-radius: 999px;
    background: #fff;
}

.voice-tier-rating-label {
    color: var(--voice-tier-muted);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 800;
}

.voice-tier-rating-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
}

/* 詳細内バッジ色 */
.voice-tier-rating-badge.e-badge-ss,
.voice-tier-rating-badge.e-badge-s-plus,
.voice-tier-rating-badge.e-badge-s {
    background: #b8913a;
}

.voice-tier-rating-badge.e-badge-a-plus,
.voice-tier-rating-badge.e-badge-a {
    background: #b46b6b;
}

.voice-tier-rating-badge.e-badge-b-plus,
.voice-tier-rating-badge.e-badge-b {
    background: #5c6f94;
}

.voice-tier-rating-badge.e-badge-c-plus,
.voice-tier-rating-badge.e-badge-c {
    background: #6f8a70;
}

.voice-tier-rating-badge.e-badge-d-plus,
.voice-tier-rating-badge.e-badge-d,
.voice-tier-rating-badge.e-badge-e-plus,
.voice-tier-rating-badge.e-badge-e {
    background: #8a8f9b;
}

/* メタ */
.voice-tier-detail-meta {
    display: grid;
    gap: 9px;
    margin: 0 0 16px;
    padding: 14px 15px;
    border: 1px solid #e7ebf2;
    border-radius: 16px;
    background: #fff;
}

.voice-tier-meta-row {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.voice-tier-meta-label {
    color: var(--voice-tier-muted);
    font-size: 12px;
    line-height: 1.6;
    font-weight: 900;
}

.voice-tier-meta-value {
    color: #3e4654;
    font-size: 13.5px;
    line-height: 1.7;
}

/* 本文セクション */
.voice-tier-detail-section {
    margin: 0 0 20px;
}

.voice-tier-detail-section:last-child {
    margin-bottom: 0;
}

.voice-tier-section-label,
.voice-tier-section-group-label {
    display: inline-flex;
    align-items: center;
    margin: 0 0 9px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--voice-tier-main-soft);
    color: var(--voice-tier-main);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 900;
    letter-spacing: 0.04em;
}

.voice-tier-section-group-label {
    margin-top: 4px;
    margin-bottom: 12px;
}

.voice-tier-section-title {
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    color: var(--voice-tier-text) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 900 !important;
}

.voice-tier-section-title::before,
.voice-tier-section-title::after {
    display: none !important;
}

.voice-tier-section-body {
    color: #3f4858;
    font-size: 14px;
    line-height: 1.95;
}

.voice-tier-section-body p {
    margin: 0 0 0.9em;
}

.voice-tier-section-body p:last-child {
    margin-bottom: 0;
}

/* =========================================================
 * スマホ
 * ========================================================= */

@media screen and (max-width: 768px) {
    .voice-tierlist {
        margin-bottom: 38px;
        font-size: 14px;
    }

    .voice-tierlist-lead {
        margin-bottom: 24px;
        padding: 15px 16px;
        border-radius: 16px;
    }

    .voice-tierlist-lead p {
        font-size: 13.5px;
    }

    .voice-tier-category {
        margin-bottom: 36px;
    }

    .voice-tier-category-title,
    .article .voice-tier-category-title,
    .entry-content .voice-tier-category-title {
        margin-bottom: 14px !important;
        font-size: 19px !important;
    }

    .voice-tier-category-title::before,
    .article .voice-tier-category-title::before,
    .entry-content .voice-tier-category-title::before {
        width: 6px;
        height: 20px;
    }

    .voice-tier-block {
        margin-bottom: 16px;
        border-radius: 18px;
    }

    .voice-tier-heading {
        min-height: 48px;
        padding: 10px 14px;
    }

    .voice-tier-rank {
        min-width: 44px;
        font-size: 22px;
    }

    .voice-tier-rank-label {
        font-size: 12.5px;
    }

    .voice-tier-people {
        gap: 8px;
        padding: 10px;
    }

    .voice-tier-person {
        border-radius: 15px;
    }

    .voice-tier-person-main {
        gap: 10px;
        min-height: 58px;
        padding: 9px 11px;
    }

    .voice-tier-person-thumb {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        border-radius: 13px;
    }

    .voice-tier-person-head {
        gap: 6px;
    }

    .voice-tier-name {
        font-size: 15px;
    }

    .voice-tier-short-comment {
        font-size: 13px;
        line-height: 1.55;
    }

    .voice-tier-sub-comment {
        font-size: 12px;
    }

    .voice-tier-person-toggle {
        width: 23px;
        height: 23px;
    }

    .voice-tier-detail-inner {
        padding: 14px 13px 16px;
    }

    .voice-tier-detail-ratings {
        gap: 6px;
    }

    .voice-tier-rating-item {
        padding: 4px 7px;
    }

    .voice-tier-detail-meta {
        padding: 12px 13px;
        border-radius: 14px;
    }

    .voice-tier-meta-row {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .voice-tier-meta-label {
        font-size: 11.5px;
    }

    .voice-tier-meta-value {
        font-size: 13px;
    }

    .voice-tier-section-title {
        font-size: 15px !important;
    }

    .voice-tier-section-body {
        font-size: 13.5px;
        line-height: 1.9;
    }
}

@media screen and (max-width: 460px) {
    .voice-tier-heading {
        padding: 9px 12px;
    }

    .voice-tier-rank {
        min-width: 40px;
        font-size: 20px;
    }

    .voice-tier-rank-label {
        font-size: 12px;
    }

    .voice-tier-people {
        padding: 9px;
    }

    .voice-tier-person-main {
        align-items: flex-start;
    }

    .voice-tier-person-thumb {
        flex-basis: 46px;
        width: 46px;
        height: 46px;
        border-radius: 12px;
    }

    .voice-tier-person-head {
        align-items: flex-start;
    }

    .voice-tier-name {
        font-size: 14.5px;
        line-height: 1.45;
    }

    .voice-tier-short-comment {
        font-size: 12.8px;
    }

    .voice-tier-person-toggle {
        margin-top: 0;
    }
}

/* =========================================================
 * ティアリスト最終調整
 * 方針：見出しは横並びのまま、色・余白・カード一体感を整理
 * ========================================================= */

/* 旧2カラムCSSを強制解除し、ティア全体を1ブロック化 */
.voice-tierlist .voice-tier-block {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    margin: 0 0 20px !important;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(72, 85, 112, 0.055) !important;
}

/* ティア見出し：縦積みにせず、薄く・低く・情報量を確保 */
.voice-tierlist .voice-tier-heading {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 11px 18px !important;
    border-radius: 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(120, 130, 150, 0.13) !important;
    box-shadow: none !important;
}

html body .voice-tierlist h3.voice-tier-heading-main {
    display: block !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body .voice-tierlist h3.voice-tier-heading-main .voice-tier-heading-line {
    display: inline-flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: 100%;
    gap: 12px;
    white-space: nowrap !important;
}

.voice-tierlist .voice-tier-rank {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto !important;
    min-width: 28px !important;
    color: inherit;
    font-size: 24px;
    line-height: 1.12;
    font-weight: 900;
    letter-spacing: 0.03em;
}

.voice-tierlist .voice-tier-rank-label {
    display: inline-block !important;
    flex: 0 0 auto;
    width: auto !important;
    margin: 0 !important;
    color: inherit;
    opacity: 0.78;
    font-size: 12.5px;
    line-height: 1.45;
    font-weight: 900;
    letter-spacing: 0.02em;
}

/* 声優カード一覧：ブロック内のまとまりを優先 */
.voice-tierlist .voice-tier-people {
    display: grid !important;
    gap: 8px;
    padding: 12px !important;
    min-width: 0;
}

.voice-tierlist .voice-tier-person {
    border-radius: 16px;
    box-shadow: none !important;
    overflow: hidden;
    backdrop-filter: blur(2px);
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.voice-tierlist .voice-tier-person-main {
    min-height: 62px;
    background: transparent !important;
}

.voice-tierlist .voice-tier-person.has-detail .voice-tier-person-main:hover,
.voice-tierlist .voice-tier-person.is-open .voice-tier-person-main {
    background: rgba(255, 255, 255, 0.46) !important;
}

@media (hover: hover) and (pointer: fine) {
    .voice-tierlist .voice-tier-block .voice-tier-person:hover {
        border-color: rgba(116, 121, 184, 0.25) !important;
        box-shadow:
            0 0 0 1px rgba(132, 135, 199, 0.06),
            0 0 15px rgba(111, 117, 188, 0.12) !important;
    }
}

.voice-tierlist .voice-tier-name {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #243043;
    letter-spacing: 0.01em;
    box-shadow: none !important;
}

.voice-tierlist .voice-tier-heading-main::before,
.voice-tierlist .voice-tier-heading-main::after,
.voice-tierlist .voice-tier-name::before,
.voice-tierlist .voice-tier-name::after,
.voice-tierlist .voice-tier-section-label::before,
.voice-tierlist .voice-tier-section-label::after,
.voice-tierlist .voice-tier-section-group-label::before,
.voice-tierlist .voice-tier-section-group-label::after {
    display: none !important;
    content: none !important;
}

.voice-tierlist .voice-tier-short-comment,
.voice-tierlist .voice-tier-sub-comment {
    color: #4f5868;
}

/* 開閉ボタン：主張を少し落としてカードに馴染ませる */
.voice-tierlist .voice-tier-person-toggle {
    width: 25px;
    height: 25px;
    border-color: rgba(92, 111, 148, 0.24);
    background: rgba(255, 255, 255, 0.66);
    color: var(--voice-tier-main);
    box-shadow: none !important;
}

.voice-tierlist .voice-tier-person-toggle:hover,
.voice-tierlist .voice-tier-person.is-open .voice-tier-person-toggle {
    background: var(--voice-tier-main);
    border-color: var(--voice-tier-main);
    color: #fff;
}

/* 詳細：データカード感を弱め、レビュー本文を読みやすく */
.voice-tierlist .voice-tier-person-detail {
    border-top: 1px solid rgba(120, 130, 150, 0.14);
    background: rgba(248, 250, 253, 0.58) !important;
}

.voice-tierlist .voice-tier-detail-inner {
    padding: 15px 17px 18px;
}

.voice-tierlist .voice-tier-detail-ratings {
    gap: 6px;
    margin: 0 0 13px;
}

.voice-tierlist .voice-tier-rating-item {
    gap: 5px;
    padding: 4px 7px;
    border-color: rgba(120, 130, 150, 0.14);
    background: rgba(255, 255, 255, 0.68);
}

.voice-tierlist .voice-tier-rating-label {
    font-size: 10.8px;
}

.voice-tierlist .voice-tier-rating-badge {
    min-width: 31px;
    height: 20px;
    padding: 0 7px;
    font-size: 11px;
}

.voice-tierlist .voice-tier-detail-meta {
    gap: 7px;
    margin: 0 0 15px;
    padding: 12px 14px;
    border-color: rgba(120, 130, 150, 0.14);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.58);
}

.voice-tierlist .voice-tier-meta-row {
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 9px;
}

.voice-tierlist .voice-tier-meta-label {
    color: #687183;
    font-size: 11.5px;
}

.voice-tierlist .voice-tier-meta-value {
    color: #364052;
    font-size: 13.2px;
}

.voice-tierlist .voice-tier-detail-section {
    margin: 0 0 18px;
}

.voice-tierlist .voice-tier-section-label,
.voice-tierlist .voice-tier-section-group-label {
    margin: 0 0 9px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(237, 241, 248, 0.82);
    color: var(--voice-tier-main);
    font-size: 11.5px;
    line-height: 1.35;
    font-weight: 900;
    letter-spacing: 0.03em;
}

.voice-tierlist .voice-tier-section-group-label {
    margin-top: 2px;
    margin-bottom: 10px;
}

.voice-tierlist .voice-tier-section-title {
    position: relative;
    margin: 0 0 8px !important;
    padding: 0 0 0 15px !important;
    border: none !important;
    background: transparent !important;
    color: #263145 !important;
    font-size: 15.5px !important;
    line-height: 1.55 !important;
    font-weight: 900 !important;
    letter-spacing: 0.01em;
}

.voice-tierlist .voice-tier-section-title::before {
    content: "" !important;
    display: block !important;
    position: absolute;
    left: 0;
    top: 0.68em;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--voice-tier-main);
    box-shadow: 0 0 0 4px rgba(92, 111, 148, 0.10);
}

.voice-tierlist .voice-tier-section-title::after {
    display: none !important;
}

.voice-tierlist .voice-tier-section-body {
    color: #374153;
    font-size: 14px;
    line-height: 1.95;
}

.voice-tierlist .voice-tier-section-body p {
    margin: 0 0 0.85em !important;
}

.voice-tierlist .voice-tier-section-body p:last-child {
    margin-bottom: 0 !important;
}

/* =========================================================
 * ティア別カラー：面の色を薄くし、SSとS帯の差を出す
 * + / 無印どちらの運用にも対応
 * ========================================================= */

/* SS：特別感は残しつつ、黄色の面積を軽くする */
.voice-tierlist .voice-tier-block-ss {
    border: 1px solid #ead99c !important;
    background: #fffdf6 !important;
}

.voice-tierlist .voice-tier-block-ss .voice-tier-heading {
    background: linear-gradient(90deg, #fff3bd 0%, #fff8dd 54%, #fffdf6 100%) !important;
    color: #9b7324 !important;
    border-bottom-color: rgba(184, 145, 58, 0.20) !important;
}

.voice-tierlist .voice-tier-block-ss .voice-tier-person {
    border-color: rgba(234, 217, 156, 0.78) !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

/* S+ / S：SSより少し落ち着いたアンバー */
.voice-tierlist .voice-tier-block-splus,
.voice-tierlist .voice-tier-block-s {
    border: 1px solid #eadfba !important;
    background: #fffdf8 !important;
}

.voice-tierlist .voice-tier-block-splus .voice-tier-heading,
.voice-tierlist .voice-tier-block-s .voice-tier-heading {
    background: linear-gradient(90deg, #f5edcf 0%, #fbf6e8 58%, #fffdf8 100%) !important;
    color: #8f7334 !important;
    border-bottom-color: rgba(154, 122, 50, 0.16) !important;
}

.voice-tierlist .voice-tier-block-splus .voice-tier-person,
.voice-tierlist .voice-tier-block-s .voice-tier-person {
    border-color: rgba(234, 223, 186, 0.80) !important;
    background: rgba(255, 255, 255, 0.74) !important;
}

/* A+ / A：ローズは淡く、エロゲー感を少し出す */
.voice-tierlist .voice-tier-block-aplus,
.voice-tierlist .voice-tier-block-a {
    border: 1px solid #ead8dc !important;
    background: #fffafd !important;
}

.voice-tierlist .voice-tier-block-aplus .voice-tier-heading,
.voice-tierlist .voice-tier-block-a .voice-tier-heading {
    background: linear-gradient(90deg, #f8e7eb 0%, #fcf3f5 58%, #fffafd 100%) !important;
    color: #9d5f68 !important;
    border-bottom-color: rgba(180, 107, 107, 0.16) !important;
}

.voice-tierlist .voice-tier-block-aplus .voice-tier-person,
.voice-tierlist .voice-tier-block-a .voice-tier-person {
    border-color: rgba(234, 216, 220, 0.84) !important;
    background: rgba(255, 255, 255, 0.74) !important;
}

/* B+ / B：サイトメインカラー寄り */
.voice-tierlist .voice-tier-block-bplus,
.voice-tierlist .voice-tier-block-b {
    border: 1px solid #d9e1ed !important;
    background: #f9fbff !important;
}

.voice-tierlist .voice-tier-block-bplus .voice-tier-heading,
.voice-tierlist .voice-tier-block-b .voice-tier-heading {
    background: linear-gradient(90deg, #e9eff8 0%, #f4f7fc 58%, #f9fbff 100%) !important;
    color: #536684 !important;
    border-bottom-color: rgba(92, 111, 148, 0.16) !important;
}

.voice-tierlist .voice-tier-block-bplus .voice-tier-person,
.voice-tierlist .voice-tier-block-b .voice-tier-person {
    border-color: rgba(217, 225, 237, 0.90) !important;
    background: rgba(255, 255, 255, 0.74) !important;
}

/* C+ / C：緑はくすませて落ち着かせる */
.voice-tierlist .voice-tier-block-cplus,
.voice-tierlist .voice-tier-block-c {
    border: 1px solid #dce8dc !important;
    background: #fbfdfb !important;
}

.voice-tierlist .voice-tier-block-cplus .voice-tier-heading,
.voice-tierlist .voice-tier-block-c .voice-tier-heading {
    background: linear-gradient(90deg, #edf6ed 0%, #f6fbf6 58%, #fbfdfb 100%) !important;
    color: #657f66 !important;
    border-bottom-color: rgba(111, 138, 112, 0.15) !important;
}

.voice-tierlist .voice-tier-block-cplus .voice-tier-person,
.voice-tierlist .voice-tier-block-c .voice-tier-person {
    border-color: rgba(220, 232, 220, 0.92) !important;
    background: rgba(255, 255, 255, 0.74) !important;
}

/* D以下：色を抑えて下位帯感を作る */
.voice-tierlist .voice-tier-block-dplus,
.voice-tierlist .voice-tier-block-d,
.voice-tierlist .voice-tier-block-eplus,
.voice-tierlist .voice-tier-block-e {
    border: 1px solid #e1e4ea !important;
    background: #fbfcfe !important;
}

.voice-tierlist .voice-tier-block-dplus .voice-tier-heading,
.voice-tierlist .voice-tier-block-d .voice-tier-heading,
.voice-tierlist .voice-tier-block-eplus .voice-tier-heading,
.voice-tierlist .voice-tier-block-e .voice-tier-heading {
    background: linear-gradient(90deg, #f0f1f5 0%, #f7f8fb 58%, #fbfcfe 100%) !important;
    color: #777f8d !important;
    border-bottom-color: rgba(128, 134, 145, 0.15) !important;
}

.voice-tierlist .voice-tier-block-dplus .voice-tier-person,
.voice-tierlist .voice-tier-block-d .voice-tier-person,
.voice-tierlist .voice-tier-block-eplus .voice-tier-person,
.voice-tierlist .voice-tier-block-e .voice-tier-person {
    border-color: rgba(225, 228, 234, 0.95) !important;
    background: rgba(255, 255, 255, 0.76) !important;
}

/* 詳細内バッジ色：エロゲーランキング側より少しフラットに */
.voice-tierlist .voice-tier-rating-badge.e-badge-ss,
.voice-tierlist .voice-tier-rating-badge.e-badge-s-plus,
.voice-tierlist .voice-tier-rating-badge.e-badge-s {
    background: #b8913a;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-a-plus,
.voice-tierlist .voice-tier-rating-badge.e-badge-a {
    background: #b46b6b;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-b-plus,
.voice-tierlist .voice-tier-rating-badge.e-badge-b {
    background: #5c6f94;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-c-plus,
.voice-tierlist .voice-tier-rating-badge.e-badge-c {
    background: #6f8a70;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-d-plus,
.voice-tierlist .voice-tier-rating-badge.e-badge-d,
.voice-tierlist .voice-tier-rating-badge.e-badge-e-plus,
.voice-tierlist .voice-tier-rating-badge.e-badge-e {
    background: #8a8f9b;
}

/* =========================================================
 * スマホ調整：情報量を減らさず、厚みだけ抑える
 * ========================================================= */

@media screen and (max-width: 768px) {
    .voice-tierlist .voice-tier-category {
        margin-bottom: 34px;
    }

    .voice-tierlist .voice-tier-category-title,
    .article .voice-tier-category-title,
    .entry-content .voice-tier-category-title {
        margin-bottom: 14px !important;
        padding-bottom: 9px !important;
        font-size: 19px !important;
    }

    .voice-tierlist .voice-tier-block {
        margin-bottom: 17px !important;
        border-radius: 19px;
    }

    .voice-tierlist .voice-tier-heading {
        padding: 9px 14px !important;
    }

    .voice-tierlist .voice-tier-rank {
        font-size: 21px;
    }

    .voice-tierlist .voice-tier-rank-label {
        font-size: 12px;
    }

    .voice-tierlist .voice-tier-people {
        gap: 8px;
        padding: 10px !important;
    }

    .voice-tierlist .voice-tier-person-main {
        gap: 10px;
        min-height: 58px;
        padding: 9px 11px;
    }

    .voice-tierlist .voice-tier-person-thumb {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        border-radius: 13px;
    }

    .voice-tierlist .voice-tier-name {
        font-size: 15px;
    }

    .voice-tierlist .voice-tier-short-comment {
        font-size: 13px;
        line-height: 1.55;
    }

    .voice-tierlist .voice-tier-sub-comment {
        font-size: 12px;
    }

    .voice-tierlist .voice-tier-detail-inner {
        padding: 13px 12px 15px;
    }

    .voice-tierlist .voice-tier-detail-meta {
        padding: 11px 12px;
        border-radius: 14px;
    }

    .voice-tierlist .voice-tier-meta-row {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .voice-tierlist .voice-tier-meta-label {
        font-size: 11.2px;
    }

    .voice-tierlist .voice-tier-meta-value {
        font-size: 13px;
    }

    .voice-tierlist .voice-tier-section-title {
        font-size: 15px !important;
    }

    .voice-tierlist .voice-tier-section-body {
        font-size: 13.5px;
        line-height: 1.9;
    }
}

@media screen and (max-width: 460px) {
    .voice-tierlist .voice-tier-heading {
        padding: 8px 12px !important;
    }

    .voice-tierlist .voice-tier-rank {
        font-size: 20px;
    }

    .voice-tierlist .voice-tier-rank-label {
        font-size: 11.5px;
    }

    .voice-tierlist .voice-tier-people {
        padding: 9px !important;
    }

    .voice-tierlist .voice-tier-person-main {
        align-items: flex-start;
        padding: 9px 10px;
    }

    .voice-tierlist .voice-tier-person-thumb {
        flex-basis: 46px;
        width: 46px;
        height: 46px;
        border-radius: 12px;
    }

    .voice-tierlist .voice-tier-person-head {
        align-items: flex-start;
        gap: 6px;
    }

    .voice-tierlist .voice-tier-name {
        font-size: 14.5px;
        line-height: 1.45;
    }

    .voice-tierlist .voice-tier-short-comment {
        font-size: 12.8px;
    }

    .voice-tierlist .voice-tier-person-toggle {
        width: 24px;
        height: 24px;
        margin-top: 0;
    }
}


/* =========================================================
 * ティアリスト追加調整 v2
 * 方針：ティア間余白は維持し、C以下の低評価感・詳細エリア・見出し文言の見え方を調整
 * ========================================================= */

.voice-tierlist .voice-tier-rank-divider {
    display: block !important;
    flex: 0 0 1px;
    align-self: center;
    width: 1px !important;
    height: 20px;
    margin: 0;
    overflow: hidden;
    border-radius: 999px;
    color: inherit !important;
    background: currentColor !important;
    font-size: 0;
    line-height: 0;
    opacity: 0.34;
}

/* 詳細エリア：データベース感を弱め、本文側を読みやすくする */
.voice-tierlist .voice-tier-person-detail {
    border-top-color: rgba(120, 130, 150, 0.12) !important;
    background: rgba(248, 250, 253, 0.46) !important;
}

.voice-tierlist .voice-tier-detail-inner {
    padding: 15px 17px 17px;
}

.voice-tierlist .voice-tier-detail-ratings {
    gap: 6px;
    margin: 0 0 12px;
}

.voice-tierlist .voice-tier-rating-item {
    padding: 3px 7px;
    border-color: rgba(120, 130, 150, 0.12) !important;
    background: rgba(255, 255, 255, 0.52) !important;
}

.voice-tierlist .voice-tier-rating-label {
    color: #768093;
    font-size: 10.6px;
}

.voice-tierlist .voice-tier-rating-badge {
    min-width: 29px;
    height: 19px;
    padding: 0 7px;
    font-size: 10.8px;
    box-shadow: none !important;
}

.voice-tierlist .voice-tier-detail-meta {
    gap: 6px;
    margin: 0 0 14px;
    padding: 11px 13px;
    border-color: rgba(120, 130, 150, 0.11) !important;
    background: rgba(255, 255, 255, 0.48) !important;
    box-shadow: none !important;
}

.voice-tierlist .voice-tier-meta-label {
    color: #6f7889;
    font-size: 11.3px;
}

.voice-tierlist .voice-tier-meta-value {
    color: #354052;
    font-size: 13px;
}

/* 「こんな声優さん」は本文寄り、「語りたいところ」はレビュー見出し寄りに分離 */
.voice-tierlist .voice-tier-section-label {
    margin: 0 0 8px !important;
    padding: 3px 9px !important;
    border: 0 !important;
    background: rgba(237, 241, 248, 0.72) !important;
    color: #5e7194;
    font-size: 11px;
    box-shadow: none !important;
}

.voice-tierlist .voice-tier-section-group-label {
    margin: 4px 0 10px !important;
    padding: 4px 11px !important;
    border: 0 !important;
    background: rgba(92, 111, 148, 0.11) !important;
    color: #4f6386;
    font-size: 11.5px;
    letter-spacing: 0.04em;
    box-shadow: none !important;
}

.voice-tierlist .voice-tier-section-body {
    color: #354052;
    font-size: 14px;
    line-height: 1.95;
}

.voice-tierlist .voice-tier-section-title {
    color: #253047 !important;
    font-size: 15.5px !important;
}

/* =========================================================
 * C以下の色調整
 * Cは緑をやめ、低評価寄りのくすみベージュグレーへ
 * D/Eは彩度を落として、文言の辛口さと整合させる
 * ========================================================= */

/* C+ / C：低評価入口。緑ではなく、くすみベージュグレー */
.voice-tierlist .voice-tier-block-cplus,
.voice-tierlist .voice-tier-block-c {
    border-color: #ded9cf !important;
    background: #fcfbf8 !important;
}

.voice-tierlist .voice-tier-block-cplus .voice-tier-heading,
.voice-tierlist .voice-tier-block-c .voice-tier-heading {
    background: linear-gradient(90deg, #eee9df 0%, #f7f4ee 58%, #fcfbf8 100%) !important;
    color: #746c5f !important;
    border-bottom-color: rgba(116, 108, 95, 0.15) !important;
}

.voice-tierlist .voice-tier-block-cplus .voice-tier-person,
.voice-tierlist .voice-tier-block-c .voice-tier-person {
    border-color: rgba(222, 217, 207, 0.92) !important;
    background: rgba(255, 255, 255, 0.75) !important;
}

.voice-tierlist .voice-tier-block-cplus .voice-tier-person-detail,
.voice-tierlist .voice-tier-block-c .voice-tier-person-detail {
    background: rgba(250, 248, 244, 0.58) !important;
}

/* D+ / D：技量不足帯。冷たいグレーで明確に下位感を出す */
.voice-tierlist .voice-tier-block-dplus,
.voice-tierlist .voice-tier-block-d {
    border-color: #dfe3e9 !important;
    background: #fafbfc !important;
}

.voice-tierlist .voice-tier-block-dplus .voice-tier-heading,
.voice-tierlist .voice-tier-block-d .voice-tier-heading {
    background: linear-gradient(90deg, #eceff4 0%, #f5f7fa 58%, #fafbfc 100%) !important;
    color: #6a7280 !important;
    border-bottom-color: rgba(106, 114, 128, 0.15) !important;
}

.voice-tierlist .voice-tier-block-dplus .voice-tier-person,
.voice-tierlist .voice-tier-block-d .voice-tier-person {
    border-color: rgba(223, 227, 233, 0.95) !important;
    background: rgba(255, 255, 255, 0.76) !important;
}

.voice-tierlist .voice-tier-block-dplus .voice-tier-person-detail,
.voice-tierlist .voice-tier-block-d .voice-tier-person-detail {
    background: rgba(247, 248, 250, 0.62) !important;
}

/* E+ / E：最下位帯。さらに無機質で冷たいグレーへ */
.voice-tierlist .voice-tier-block-eplus,
.voice-tierlist .voice-tier-block-e {
    border-color: #d8dce3 !important;
    background: #f7f8fa !important;
}

.voice-tierlist .voice-tier-block-eplus .voice-tier-heading,
.voice-tierlist .voice-tier-block-e .voice-tier-heading {
    background: linear-gradient(90deg, #e5e8ee 0%, #f0f2f6 58%, #f7f8fa 100%) !important;
    color: #626b78 !important;
    border-bottom-color: rgba(98, 107, 120, 0.17) !important;
}

.voice-tierlist .voice-tier-block-eplus .voice-tier-person,
.voice-tierlist .voice-tier-block-e .voice-tier-person {
    border-color: rgba(216, 220, 227, 0.98) !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

.voice-tierlist .voice-tier-block-eplus .voice-tier-person-detail,
.voice-tierlist .voice-tier-block-e .voice-tier-person-detail {
    background: rgba(244, 245, 248, 0.66) !important;
}

/* 詳細内バッジ：C以下も低評価側の色味に合わせる */
.voice-tierlist .voice-tier-rating-badge.e-badge-c-plus,
.voice-tierlist .voice-tier-rating-badge.e-badge-c {
    background: #82796b !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-d-plus,
.voice-tierlist .voice-tier-rating-badge.e-badge-d {
    background: #737b88 !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-e-plus,
.voice-tierlist .voice-tier-rating-badge.e-badge-e {
    background: #626b78 !important;
}

/* スマホ：見出しの厚みは増やさず、長い説明文だけ自然に収める */
@media screen and (max-width: 768px) {
    html body .voice-tierlist h3.voice-tier-heading-main .voice-tier-heading-line {
        gap: 11px !important;
    }

    .voice-tierlist .voice-tier-rank {
        min-width: 25px !important;
        font-size: 21px;
    }

    .voice-tierlist .voice-tier-rank-label {
        font-size: 11.8px;
        line-height: 1.45;
    }

    .voice-tierlist .voice-tier-rank-divider {
        height: 18px;
    }

    .voice-tierlist .voice-tier-detail-inner {
        padding: 13px 12px 15px;
    }

    .voice-tierlist .voice-tier-detail-meta {
        padding: 10px 11px;
    }
}

@media screen and (max-width: 460px) {
    html body .voice-tierlist h3.voice-tier-heading-main .voice-tier-heading-line {
        gap: 10px !important;
    }

    .voice-tierlist .voice-tier-rank {
        min-width: 23px !important;
        font-size: 20px;
    }

    .voice-tierlist .voice-tier-rank-label {
        font-size: 11.2px;
    }

    .voice-tierlist .voice-tier-rank-divider {
        height: 17px;
    }
}


/* =========================================================
 * ティアリスト追加調整 v4
 * 方針：評価はチップ型に戻し、ランク部分だけ強調。
 *       代表作は通常メタ行に戻し、縦軸だけ整える。
 * ========================================================= */

/* 評価バッジ：4列カード型ではなく、レビュー本文に馴染むチップ型 */
.voice-tierlist .voice-tier-detail-ratings {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 0 13px !important;
}

.voice-tierlist .voice-tier-rating-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    min-height: 0 !important;
    gap: 6px !important;
    padding: 4px 7px 4px 8px !important;
    border: 1px solid rgba(120, 130, 150, 0.16) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.68) !important;
    box-shadow: none !important;
}

.voice-tierlist .voice-tier-rating-label {
    flex: 0 0 auto !important;
    color: #6c7588 !important;
    font-size: 11.2px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.voice-tierlist .voice-tier-rating-badge {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 23px !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 11.4px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.01em;
    text-align: center;
}

/* 評価バッジ色：エロゲーランキングの視認性だけ取り入れる */
.voice-tierlist .voice-tier-rating-badge.e-badge-ss {
    background: linear-gradient(135deg, #f7d66b 0%, #d99a1f 52%, #b77a12 100%) !important;
    color: #3d2a00 !important;
    box-shadow: 0 0 0 3px rgba(217, 154, 31, 0.14), 0 3px 8px rgba(183, 122, 18, 0.13) !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-s-plus {
    background: linear-gradient(135deg, #ffe08a 0%, #e3ae35 55%, #c4891e 100%) !important;
    color: #3d2a00 !important;
    box-shadow: 0 0 0 3px rgba(227, 174, 53, 0.12) !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-s {
    background: linear-gradient(135deg, #f4cf72 0%, #d6a03d 55%, #b98125 100%) !important;
    color: #3d2a00 !important;
    box-shadow: 0 0 0 3px rgba(214, 160, 61, 0.11) !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-s-minus {
    background: linear-gradient(135deg, #ead089 0%, #caa152 55%, #a98235 100%) !important;
    color: #3d2a00 !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-a-plus {
    background: linear-gradient(135deg, #e86b77 0%, #cf4f61 55%, #b84255 100%) !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px rgba(207, 79, 97, 0.10) !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-a {
    background: linear-gradient(135deg, #df7a80 0%, #c95f6b 55%, #ad4e5c 100%) !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px rgba(201, 95, 107, 0.10) !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-a-minus {
    background: linear-gradient(135deg, #d8898d 0%, #bc6871 55%, #9f5662 100%) !important;
    color: #fff !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-b-plus {
    background: linear-gradient(135deg, #6f93c5 0%, #577caf 55%, #466896 100%) !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px rgba(87, 124, 175, 0.10) !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-b {
    background: linear-gradient(135deg, #7f9dbf 0%, #6685a8 55%, #536f91 100%) !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px rgba(102, 133, 168, 0.10) !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-b-minus {
    background: linear-gradient(135deg, #91a7c0 0%, #748aa5 55%, #5f748d 100%) !important;
    color: #fff !important;
}

/* C以下は低評価側として、緑ではなくくすみ色にする */
.voice-tierlist .voice-tier-rating-badge.e-badge-c-plus {
    background: linear-gradient(135deg, #a59a88 0%, #897d69 55%, #6f6658 100%) !important;
    color: #fff !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-c {
    background: linear-gradient(135deg, #978c7a 0%, #82796b 55%, #696255 100%) !important;
    color: #fff !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-c-minus {
    background: linear-gradient(135deg, #8d8374 0%, #756d61 55%, #625b51 100%) !important;
    color: #fff !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-d-plus {
    background: linear-gradient(135deg, #8f98a6 0%, #737b88 55%, #5f6875 100%) !important;
    color: #fff !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-d {
    background: linear-gradient(135deg, #828b99 0%, #6a7280 55%, #58606d 100%) !important;
    color: #fff !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-e-plus {
    background: linear-gradient(135deg, #7c8490 0%, #68717e 55%, #56606d 100%) !important;
    color: #fff !important;
}

.voice-tierlist .voice-tier-rating-badge.e-badge-e,
.voice-tierlist .voice-tier-rating-badge.e-badge-e-minus {
    background: linear-gradient(135deg, #707986 0%, #5f6874 55%, #4f5864 100%) !important;
    color: #fff !important;
}

/* メタ情報：ラベル列の縦軸を揃える */
.voice-tierlist .voice-tier-detail-meta {
    gap: 7px !important;
}

.voice-tierlist .voice-tier-meta-row {
    display: grid !important;
    grid-template-columns: 124px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    grid-column: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: none !important;
}

.voice-tierlist .voice-tier-meta-label {
    padding-top: 2px;
    line-height: 1.65 !important;
}

.voice-tierlist .voice-tier-meta-value {
    display: block !important;
    width: auto !important;
    min-width: 0;
}

@media screen and (max-width: 768px) {
    .voice-tierlist .voice-tier-detail-ratings {
        display: flex !important;
        gap: 6px !important;
        margin-bottom: 12px !important;
    }

    .voice-tierlist .voice-tier-rating-item {
        padding: 4px 7px !important;
    }

    .voice-tierlist .voice-tier-rating-label {
        font-size: 10.8px !important;
    }

    .voice-tierlist .voice-tier-rating-badge {
        min-width: 34px !important;
        height: 22px !important;
        padding: 0 8px !important;
        font-size: 11px !important;
    }

    .voice-tierlist .voice-tier-meta-row {
        grid-template-columns: 104px minmax(0, 1fr) !important;
        gap: 8px !important;
    }
}

@media screen and (max-width: 460px) {
    .voice-tierlist .voice-tier-meta-row {
        grid-template-columns: 1fr !important;
        gap: 3px !important;
    }

    .voice-tierlist .voice-tier-meta-label {
        padding-top: 0 !important;
    }
}

/* =========================================================
 * v5調整：評価傾向のタグ化 / 代表作リンクブロック化
 * - 評価傾向は「声・演技の傾向」として薄いタグ表示
 * - 出演作・代表作はメタ情報から外し、本文導線として表示
 * - ティア間余白は変更しない
 * ========================================================= */

/* メタ情報：プロフィール情報だけに絞る */
.voice-tierlist .voice-tier-detail-meta {
    gap: 8px !important;
    margin-bottom: 17px !important;
}

.voice-tierlist .voice-tier-meta-row {
    grid-template-columns: 124px minmax(0, 1fr) !important;
    align-items: start !important;
}

.voice-tierlist .voice-tier-meta-label {
    padding-top: 2px !important;
    color: #6f7889 !important;
    font-size: 11.5px !important;
    line-height: 1.65 !important;
    font-weight: 900 !important;
}

/* 代表作・印象に残った作品：タグではなくリンク導線として独立表示 */
.voice-tierlist .voice-tier-related-works {
    margin: 3px 0 22px !important;
}

.voice-tierlist .voice-tier-related-works-label {
    margin-bottom: 8px !important;
}

.voice-tierlist .voice-tier-related-work-list {
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.voice-tierlist .voice-tier-related-work-item {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.voice-tierlist .voice-tier-related-work-item::before {
    display: none !important;
    content: none !important;
}

.voice-tierlist .voice-tier-related-work-link,
.voice-tierlist .voice-tier-related-work-text {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 8px 12px;
    border: 1px solid rgba(92, 111, 148, 0.13);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.48);
    color: #344057;
    font-size: 13px;
    line-height: 1.55;
    text-decoration: none !important;
    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

.voice-tierlist .voice-tier-related-work-link:hover {
    border-color: rgba(92, 111, 148, 0.26);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 5px 14px rgba(72, 85, 112, 0.045);
    transform: translateY(-1px);
    color: var(--voice-tier-main) !important;
}

.voice-tierlist .voice-tier-related-work-title {
    min-width: 0;
    color: inherit;
    font-weight: 800;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.voice-tierlist .voice-tier-related-work-arrow {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--voice-tier-main);
    font-size: 11.5px;
    line-height: 1.3;
    font-weight: 900;
    white-space: nowrap;
    opacity: 0.82;
}

.voice-tierlist .voice-tier-related-work-arrow::after {
    content: "→";
    display: inline-block;
    transform: translateY(-0.02em);
}

@media screen and (max-width: 768px) {
    .voice-tierlist .voice-tier-meta-row {
        grid-template-columns: 112px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    .voice-tierlist .voice-tier-related-work-link,
    .voice-tierlist .voice-tier-related-work-text {
        padding: 8px 10px;
        font-size: 12.8px;
    }
}

@media screen and (max-width: 460px) {
    .voice-tierlist .voice-tier-meta-row {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }

    .voice-tierlist .voice-tier-related-work-link,
    .voice-tierlist .voice-tier-related-work-text {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .voice-tierlist .voice-tier-related-work-arrow {
        white-space: normal;
    }
}


/* =========================================================
 * v6調整：代表作リンクを詳細の一番下へ移動
 * - PHP側で代表作ブロックを詳細末尾に移動
 * - PCで作品名と「作品レビューへ」の間が開きすぎないよう、横幅を内容寄せにする
 * - ティア間余白は変更しない
 * ========================================================= */

.voice-tierlist .voice-tier-related-works {
    margin: 24px 0 0 !important;
    padding-top: 14px;
    border-top: 1px solid rgba(230, 234, 241, 0.92);
}

.voice-tierlist .voice-tier-related-works-label {
    margin-bottom: 9px !important;
}

.voice-tierlist .voice-tier-related-work-list {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.voice-tierlist .voice-tier-related-work-item {
    display: block;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.voice-tierlist .voice-tier-related-work-link,
.voice-tierlist .voice-tier-related-work-text {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: 100%;
    gap: 10px;
    padding: 7px 11px;
    border: 1px solid rgba(92, 111, 148, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.54);
    color: #344057;
    font-size: 12.8px;
    line-height: 1.55;
    text-decoration: none !important;
}

.voice-tierlist .voice-tier-related-work-title {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    color: inherit;
    font-weight: 800;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.voice-tierlist .voice-tier-related-work-arrow {
    flex: 0 0 auto;
    margin-left: 2px;
    padding-left: 10px;
    border-left: 1px solid rgba(92, 111, 148, 0.16);
    color: var(--voice-tier-main);
    font-size: 11.2px;
    line-height: 1.35;
    font-weight: 900;
    white-space: nowrap;
    opacity: 0.78;
}

.voice-tierlist .voice-tier-related-work-arrow::after {
    content: "→";
    display: inline-block;
    margin-left: 4px;
    transform: translateY(-0.02em);
}

@media screen and (max-width: 768px) {
    .voice-tierlist .voice-tier-related-works {
        margin-top: 22px !important;
        padding-top: 13px;
    }

    .voice-tierlist .voice-tier-related-work-link,
    .voice-tierlist .voice-tier-related-work-text {
        padding: 7px 10px;
        font-size: 12.6px;
    }
}

@media screen and (max-width: 460px) {
    .voice-tierlist .voice-tier-related-work-list {
        align-items: stretch;
    }

    .voice-tierlist .voice-tier-related-work-item {
        width: 100%;
    }

    .voice-tierlist .voice-tier-related-work-link,
    .voice-tierlist .voice-tier-related-work-text {
        display: flex !important;
        width: 100% !important;
        align-items: center;
        justify-content: space-between !important;
        gap: 8px;
        border-radius: 13px;
    }

    .voice-tierlist .voice-tier-related-work-arrow {
        margin-left: 0;
        padding-left: 8px;
        white-space: nowrap;
    }
}


/* 声・演技の傾向を「タイプ」として通常テキスト表示 */

.voice-tierlist .voice-tier-meta-row-tendency .voice-tier-meta-label {
    color: #6f7889 !important;
}

.voice-tierlist .voice-tier-meta-value-tendency {
    color: #3e4654 !important;
    font-size: 13.5px !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
    word-break: break-word;
    overflow-wrap: anywhere;
}

@media screen and (max-width: 768px) {
    .voice-tierlist .voice-tier-meta-value-tendency {
        font-size: 13px !important;
    }
}


/* =========================================================
 * v8調整：評価バッジを「音声評価」としてメタ情報内へ統合
 * - ちゅぱ音 / 声質 / 水感 / 強さを、別名義・タイプと同じ情報枠に入れる
 * - 見た目はチップ型を維持し、セクションラベル化しない
 * - 代表作リンクはv6/v7同様、詳細末尾の回遊導線として維持
 * ========================================================= */

.voice-tierlist .voice-tier-meta-row-ratings {
    align-items: center !important;
}

.voice-tierlist .voice-tier-meta-value-ratings {
    display: block !important;
    width: 100% !important;
    min-width: 0;
}

.voice-tierlist .voice-tier-meta-row-ratings .voice-tier-detail-ratings,
.voice-tierlist .voice-tier-detail-ratings-inline {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.voice-tierlist .voice-tier-meta-row-ratings .voice-tier-rating-item {
    margin: 0 !important;
}

.voice-tierlist .voice-tier-meta-row-ratings .voice-tier-meta-label {
    padding-top: 3px !important;
}

/* メタ枠に入った時だけ少しだけコンパクトにする */
.voice-tierlist .voice-tier-meta-row-ratings .voice-tier-rating-item {
    padding: 3px 6px 3px 8px !important;
    background: rgba(255, 255, 255, 0.66) !important;
}

.voice-tierlist .voice-tier-meta-row-ratings .voice-tier-rating-label {
    font-size: 11px !important;
}

.voice-tierlist .voice-tier-meta-row-ratings .voice-tier-rating-badge {
    min-width: 34px !important;
    height: 22px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
}

@media screen and (max-width: 768px) {
    .voice-tierlist .voice-tier-meta-row-ratings .voice-tier-detail-ratings,
    .voice-tierlist .voice-tier-detail-ratings-inline {
        gap: 6px !important;
    }

    .voice-tierlist .voice-tier-meta-row-ratings .voice-tier-rating-item {
        padding: 3px 6px !important;
    }
}

@media screen and (max-width: 460px) {
    .voice-tierlist .voice-tier-meta-row-ratings {
        align-items: start !important;
    }

    .voice-tierlist .voice-tier-meta-row-ratings .voice-tier-meta-label {
        padding-top: 0 !important;
    }
}


/* =========================================================
 * v28調整：背景なし運用に合わせた幅・余白の再調整
 * - ランキング本体を記事カラム幅に揃える
 * - ティアブロックの内側余白を少し抑える
 * - 声優カードが横に間延びしすぎないよう密度を上げる
 * ========================================================= */

.voice-tierlist {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 48px !important;
}

.voice-tierlist .voice-tier-category {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.voice-tierlist .voice-tier-category-title,
.article .voice-tier-category-title,
.entry-content .voice-tier-category-title {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.voice-tierlist .voice-tier-block {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.voice-tierlist .voice-tier-heading {
    padding-left: 18px !important;
    padding-right: 18px !important;
}

.voice-tierlist .voice-tier-people {
    padding: 12px !important;
    gap: 8px !important;
}

.voice-tierlist .voice-tier-person-main {
    padding: 10px 13px !important;
    gap: 12px !important;
}

.voice-tierlist .voice-tier-person-body {
    max-width: 760px;
}

.voice-tierlist .voice-tier-person-toggle {
    margin-left: auto !important;
}

@media screen and (max-width: 768px) {
    .voice-tierlist {
        margin-bottom: 38px !important;
    }

    .voice-tierlist .voice-tier-heading {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .voice-tierlist .voice-tier-people {
        padding: 10px !important;
    }

    .voice-tierlist .voice-tier-person-main {
        padding: 9px 11px !important;
        gap: 10px !important;
    }

    .voice-tierlist .voice-tier-person-body {
        max-width: none;
    }
}

@media screen and (max-width: 460px) {
    .voice-tierlist .voice-tier-heading {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .voice-tierlist .voice-tier-people {
        padding: 9px !important;
    }

    .voice-tierlist .voice-tier-person-main {
        padding: 9px 10px !important;
    }
}


/* =========================================================
 * v29調整：開閉ボタンの視認性改善 / レビュー本文の左右余白強化
 * - プラス単体ではなく「詳細 +」のピル型に変更
 * - 開いた状態は「閉じる −」
 * - 本文テキストだけ左右paddingを追加し、広いカラムでも読みやすくする
 * ========================================================= */

/* 声優カード行：ボタン位置を安定させる */
.voice-tierlist .voice-tier-person-main {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

/* v28で本文カラムを絞った影響でボタンが中途半端に見えないよう調整 */
.voice-tierlist .voice-tier-person-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* 開閉ボタン：プラス単体から、意味が伝わるピル型へ */
.voice-tierlist .voice-tier-person-toggle {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: auto !important;
    min-width: 64px !important;
    height: 30px !important;
    margin-left: 18px !important;
    padding: 4px 10px !important;
    border: 1px solid rgba(92, 111, 148, 0.22) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    color: var(--voice-tier-main) !important;
    font-size: 0 !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    box-shadow: none !important;
}

.voice-tierlist .voice-tier-person-toggle::before {
    content: "詳細" !important;
    display: inline-block !important;
    color: inherit !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.02em;
}

.voice-tierlist .voice-tier-person-toggle::after {
    content: "＋" !important;
    display: inline-block !important;
    width: 1em;
    color: inherit !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-align: center;
}

.voice-tierlist .voice-tier-person-toggle:hover {
    border-color: var(--voice-tier-main) !important;
    background: var(--voice-tier-main) !important;
    color: #fff !important;
}

.voice-tierlist .voice-tier-person.is-open .voice-tier-person-toggle {
    min-width: 72px !important;
    border-color: var(--voice-tier-main) !important;
    background: var(--voice-tier-main) !important;
    color: #fff !important;
    font-size: 0 !important;
}

.voice-tierlist .voice-tier-person.is-open .voice-tier-person-toggle::before {
    content: "閉じる" !important;
    display: inline-block !important;
    color: inherit !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.voice-tierlist .voice-tier-person.is-open .voice-tier-person-toggle::after {
    content: "－" !important;
    display: inline-block !important;
    width: 1em;
    color: inherit !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-align: center;
}

/* 旧指定の「開いた時にbeforeで－だけ出す」指定を無効化 */
.voice-tierlist .voice-tier-person.is-open .voice-tier-person-toggle > * {
    font-size: 0 !important;
}

/* レビュー本文だけ左右余白を強める。ラベル・見出し位置は動かさない */
.voice-tierlist .voice-tier-section-body {
    padding-left: 18px !important;
    padding-right: 18px !important;
}

@media screen and (max-width: 768px) {
    .voice-tierlist .voice-tier-person-toggle {
        min-width: 58px !important;
        height: 28px !important;
        margin-left: 12px !important;
        padding: 4px 9px !important;
    }

    .voice-tierlist .voice-tier-person-toggle::before,
    .voice-tierlist .voice-tier-person.is-open .voice-tier-person-toggle::before {
        font-size: 11.5px !important;
    }

    .voice-tierlist .voice-tier-person-toggle::after,
    .voice-tierlist .voice-tier-person.is-open .voice-tier-person-toggle::after {
        font-size: 12.5px !important;
    }

    .voice-tierlist .voice-tier-person.is-open .voice-tier-person-toggle {
        min-width: 66px !important;
    }

    .voice-tierlist .voice-tier-section-body {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

@media screen and (max-width: 460px) {
    .voice-tierlist .voice-tier-person-main {
        align-items: flex-start !important;
    }

    .voice-tierlist .voice-tier-person-toggle {
        min-width: 54px !important;
        height: 27px !important;
        margin-left: 8px !important;
        padding: 4px 8px !important;
    }

    .voice-tierlist .voice-tier-person.is-open .voice-tier-person-toggle {
        min-width: 62px !important;
    }

    .voice-tierlist .voice-tier-section-body {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}


/* =========================================================
 * v30調整：詳細ボタン位置の安定化 / PC本文余白の再調整
 * - 詳細ボタンを右端に寄せつつ縦中央へ
 * - PC本文は左paddingを少し減らし、右paddingを強めて行幅を短くする
 * ========================================================= */

/* 詳細ボタン：カード右端に安定配置し、縦中央に揃える */
.voice-tierlist .voice-tier-person-main {
    align-items: center !important;
}

.voice-tierlist .voice-tier-person-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

.voice-tierlist .voice-tier-person-toggle {
    margin-left: auto !important;
    align-self: center !important;
}

/* 詳細展開中も同じ位置・縦中央を維持 */
.voice-tierlist .voice-tier-person.is-open .voice-tier-person-toggle {
    margin-left: auto !important;
    align-self: center !important;
}

/* エロゲーランキングからの直接導線。固定ヘッダー下へ安全に着地させる。 */
.voice-tierlist .voice-tier-person[id^="voice-actor-"] {
    scroll-margin-top: 96px;
}

.voice-tierlist .voice-tier-person[id^="voice-actor-"]:target .voice-tier-person-main {
    box-shadow: 0 0 0 2px rgba(174, 126, 75, 0.24), 0 10px 26px rgba(78, 52, 37, 0.10) !important;
}

/* PC版：本文だけ左を少し減らし、右を強める */
.voice-tierlist .voice-tier-section-body {
    padding-left: 16px !important;
    padding-right: 30px !important;
}

/* スマホではv29の読みやすさを維持しつつ、ボタンだけ中央揃えに戻す */
@media screen and (max-width: 768px) {
    .voice-tierlist .voice-tier-person-main {
        align-items: center !important;
    }

    .voice-tierlist .voice-tier-person-toggle {
        margin-left: auto !important;
        align-self: center !important;
    }
}

@media screen and (max-width: 460px) {
    .voice-tierlist .voice-tier-person-main {
        align-items: center !important;
    }

    .voice-tierlist .voice-tier-person-toggle {
        margin-left: auto !important;
        align-self: center !important;
    }
}


/* =========================================================
 * ページ冒頭：ランキング説明と連動案内
 * エロゲーランキングと同じクラス・見出し設計を使用する
 * ========================================================= */
.eroge-guide-overview .eroge-guide-main {
    margin-bottom: 0;
}

.eroge-guide-voice {
    display: block;
    margin-top: 18px;
    padding: 18px 0 0;
    border: 0;
    border-top: 1px solid #dfe8f2;
    border-radius: 0;
    background: transparent;
}

.eroge-guide-voice-copy {
    min-width: 0;
}

.eroge-guide-overview .eroge-guide-kicker,
.eroge-guide-voice-kicker {
    display: block;
    margin: 0 0 5px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #7890aa;
    font-size: 9px;
    line-height: 1;
    font-weight: 850;
    letter-spacing: 0.13em;
}

.eroge-guide-overview h2.eroge-guide-title,
h3.eroge-guide-voice-title {
    margin: 0 0 7px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #31445e !important;
    box-shadow: none !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 900 !important;
    letter-spacing: 0.01em !important;
}

.eroge-guide-overview h2.eroge-guide-title::before,
.eroge-guide-overview h2.eroge-guide-title::after,
h3.eroge-guide-voice-title::before,
h3.eroge-guide-voice-title::after {
    display: none !important;
    content: none !important;
}

.eroge-guide-voice-body {
    margin: 0;
    color: #526176;
    font-size: 12.5px;
    line-height: 1.75;
}

.eroge-guide-voice-body strong {
    color: #354a66;
    font-weight: 850;
}

.eroge-guide-voice-link {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    margin-top: 12px;
    padding: 6px 1px 5px;
    color: #496988;
    border-bottom: 1px solid rgba(73, 105, 136, 0.34);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 850;
    text-decoration: none !important;
    white-space: nowrap;
    transition: color 0.18s ease, border-color 0.18s ease;
}

.eroge-guide-voice-link-mark {
    color: #7890aa;
    transition: transform 0.18s ease;
}

@media (hover: hover) and (pointer: fine) {
    .eroge-guide-voice-link:hover {
        color: #2f5274;
        border-bottom-color: rgba(47, 82, 116, 0.72);
    }

    .eroge-guide-voice-link:hover .eroge-guide-voice-link-mark {
        transform: translateX(3px);
    }
}

.eroge-guide-voice-link:focus-visible {
    outline: 2px solid rgba(91, 126, 160, 0.36);
    outline-offset: 4px;
}

@media screen and (max-width: 768px) {
    .eroge-guide-voice {
        margin-top: 15px;
        padding: 15px 0 0;
    }

    .eroge-guide-overview h2.eroge-guide-title,
    h3.eroge-guide-voice-title {
        font-size: 14.5px !important;
    }

    .eroge-guide-voice-body {
        font-size: 12.5px;
        line-height: 1.72;
    }

    .eroge-guide-voice-link {
        justify-self: start;
        white-space: normal;
    }
}
