*{box-sizing:border-box}
html{background:#f6f7f8}
body{margin:0;color:#111;background:#f6f7f8;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
a{color:inherit}.site-header{height:76px;background:#fff;border-bottom:1px solid #eee}
.header-inner{max-width:1150px;margin:auto;padding:22px 24px;font-size:23px;font-weight:700}.header-inner a{text-decoration:none}
.layout{max-width:1150px;margin:26px auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;padding:0 16px}
.main,.side-column{background:#fff}.main{padding:34px}.side-column{align-self:start;padding:28px 24px}
h1{font-size:36px;font-weight:400;margin:0 0 28px;line-height:1.35}
.ranking-head h2{font-size:22px;margin:0;padding-bottom:10px;border-bottom:3px solid #bf0000}
.ranking-head p{font-size:12px;color:#777;margin:10px 0 18px}
.api-error{padding:16px;margin:16px 0;background:#fff1f1;border:1px solid #efb8b8;border-left:5px solid #bf0000;border-radius:5px;line-height:1.7}
.api-error code{background:#fff;padding:2px 6px}.ranking-list{display:flex;flex-direction:column;gap:10px}
.product-card{min-height:112px;border:1px solid #ddd;border-left:4px solid #aaa;border-radius:8px;display:grid;grid-template-columns:60px 100px minmax(0,1fr) 125px;align-items:center;padding:10px;background:#fff}
.product-card.rank-1{border-left-color:#d9a400}.product-card.rank-2{border-left-color:#999}.product-card.rank-3{border-left-color:#b26a23}
.rank{text-align:center;font-weight:800;color:#555}.rank span{font-size:24px}.rank small{font-size:11px;margin-left:2px}.rank-1 .rank{color:#c79500}
.thumb img{display:block;width:86px;height:86px;object-fit:contain;background:#fafafa}
.product-info h3{font-size:14px;line-height:1.45;margin:0 0 5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.shop{font-size:10px;color:#888;margin-bottom:6px}.meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rating{color:#e99000;font-size:12px}.reviews{font-size:10px;color:#888}.price{font-size:20px;color:#c40000}.price small{font-size:12px}
.shipping{font-size:9px;color:#c40000;border:1px solid #d70000;border-radius:3px;padding:2px 4px}.points{font-size:9px;background:#fff5d9;color:#9a6a00;border-radius:3px;padding:3px 5px}
.action a{display:block;background:#bf0000;color:#fff;text-align:center;text-decoration:none;font-weight:700;font-size:12px;border-radius:5px;padding:11px 8px}
.updated{font-size:11px;color:#888;text-align:right;margin-top:12px}
.sidebar{border:1px solid #ddd;border-radius:8px;overflow:hidden;box-shadow:0 2px 7px rgba(0,0,0,.06)}
.sidebar-title{background:#bf0000;color:#fff;padding:14px 15px;font-weight:800}
.theme{border-bottom:1px solid #cfd1d3}.theme:last-child{border-bottom:0}.theme-btn{width:100%;border:0;text-align:left;cursor:pointer;display:flex;align-items:center;gap:7px;background:#d7dadd;border-left:5px solid #555;padding:12px 10px;font-size:14px;color:#111}
.theme-btn:hover{background:#c9cdd1;color:#111}.theme-body{display:none;padding:4px 5px;background:#f8f9fa}.theme.open>.theme-body{display:block}.theme.open>.theme-btn .arrow{transform:rotate(90deg)}
.arrow{color:#bf0000;display:inline-block;width:14px;font-size:18px;transition:.15s}
.genre-node{margin:2px 0}.genre-children{display:none;padding-left:8px}.genre-node.open>.genre-children{display:block}
.genre-row{display:grid;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;min-height:38px;background:#fff;border-left:2px solid #b8d1e5;border-radius:3px}
.depth-1>.genre-row{background:#e5f0fa;border-left:4px solid #3f72a3;color:#183d60;font-weight:800}
.depth-2>.genre-row{background:#f0f6fb;border-left:3px solid #79a7cc;color:#244b6c;font-weight:700}
.genre-row.current{background:#ffe8e8!important;color:#bf0000!important;border-left:4px solid #bf0000!important;font-weight:800}
.genre-toggle{height:100%;min-height:38px;border:0;background:transparent;cursor:pointer;color:#bf0000;font-size:18px;font-weight:800;padding:0}
.genre-node.open>.genre-row>.genre-toggle{transform:rotate(90deg)}.genre-toggle.no-children{transform:none!important;cursor:default}
.genre-link{display:block;padding:9px 6px;text-decoration:none;font-size:14px;line-height:1.45}.genre-link:hover{color:#bf0000}
.genre-loading{font-size:12px;color:#888}.site-footer{max-width:1150px;margin:0 auto;padding:28px 16px 50px;color:#777;font-size:12px}
@media(max-width:900px){.layout{grid-template-columns:1fr}.side-column{order:-1}.main{padding:24px}h1{font-size:28px}}
@media(max-width:650px){.product-card{grid-template-columns:42px 76px minmax(0,1fr);padding:8px}.thumb img{width:68px;height:68px}.action{grid-column:2/4;margin-top:8px}.product-info h3{font-size:13px}.price{font-size:17px}}

.product-image-link{display:block;text-decoration:none}
.product-title-link{color:#111;text-decoration:none}
.product-title-link:hover{color:#bf0000;text-decoration:underline}


/* ============================================================
   v4.3 FINAL - 商品タイトルリンク
============================================================ */

.main .product-info h3 a.product-title-link,
.main .product-info h3 a.product-title-link:link,
.main .product-info h3 a.product-title-link:visited {
    color:#111 !important;
    text-decoration:none !important;
    border-bottom:none !important;
    box-shadow:none !important;
    background-image:none !important;
}

.main .product-info h3 a.product-title-link:hover,
.main .product-info h3 a.product-title-link:focus {
    color:#c90000 !important;
    text-decoration:none !important;
    border-bottom:none !important;
    box-shadow:none !important;
}

.main .product-info h3,
.main .product-info h3 a,
.main .product-info h3 a:hover,
.main .product-info h3 a:focus {
    text-decoration:none !important;
}

.main .product-image-link,
.main .product-image-link:link,
.main .product-image-link:visited,
.main .product-image-link:hover {
    text-decoration:none !important;
    border-bottom:none !important;
    box-shadow:none !important;
}

.main .product-image-link img {
    transition:opacity .15s ease;
}

.main .product-image-link:hover img {
    opacity:.88;
}


/* ============================================================
   v4.3 FINAL - サイドバー
============================================================ */

.side-column .sidebar {
    overflow:hidden;
    width:100%;
    border:1px solid #ddd;
    border-radius:8px;
    background:#fff;
    box-shadow:0 2px 7px rgba(0,0,0,.06);
}

.side-column .sidebar-title {
    display:flex;
    align-items:center;
    gap:7px;
    padding:14px 15px;
    background:#bf0000;
    color:#fff !important;
    font-size:15px;
    font-weight:800;
}

.side-column .sidebar-title * {
    color:#fff !important;
}

.side-column .theme {
    border-bottom:1px solid #c8ccd0;
}

.side-column .theme:last-child {
    border-bottom:0;
}

.side-column .theme > .theme-btn {
    display:flex;
    align-items:center;
    width:100%;
    padding:12px 10px;
    border:0;
    border-left:5px solid #555b60;
    background:#d7dadd !important;
    color:#111 !important;
    text-align:left;
    cursor:pointer;
    font-size:14px;
    font-weight:800;
    box-shadow:none !important;
}

.side-column .theme > .theme-btn:hover,
.side-column .theme > .theme-btn:focus {
    background:#c9cdd1 !important;
    color:#111 !important;
}

.side-column .theme-arrow {
    width:17px;
    flex:0 0 17px;
    color:#bf0000 !important;
    font-size:18px;
    line-height:1;
    transition:transform .15s ease;
}

.side-column .theme.open > .theme-btn > .theme-arrow {
    transform:rotate(90deg);
}

.side-column .theme > .theme-body {
    display:none !important;
    padding:5px;
    background:#f7f8f9;
}

.side-column .theme.open > .theme-body {
    display:block !important;
}


/* ============================================================
   Genre階層 共通
============================================================ */

.side-column .genre-node {
    margin:2px 0;
}

.side-column .genre-node > .genre-children {
    display:none !important;
    padding-left:7px;
}

.side-column .genre-node.open > .genre-children {
    display:block !important;
}

.side-column .genre-row {
    display:grid;
    grid-template-columns:24px minmax(0,1fr) 18px;
    align-items:center;
    min-height:38px;
    border-bottom:1px solid #e7e7e7;
    border-radius:3px;
    transition:background-color .12s ease;
}

.side-column .genre-row:hover {
    background:#fff3f3 !important;
}

.side-column .genre-toggle {
    width:24px;
    min-width:24px;
    height:34px;
    padding:0;
    border:0 !important;
    background:transparent !important;
    color:#bf0000 !important;
    cursor:pointer;
    font-size:18px;
    font-weight:900;
    line-height:34px;
    box-shadow:none !important;
    text-decoration:none !important;
}

.side-column .genre-node.open > .genre-row > .genre-toggle {
    transform:rotate(90deg);
}

.side-column .genre-toggle.no-children {
    transform:none !important;
    cursor:default;
}

.side-column .genre-link,
.side-column .genre-link:link,
.side-column .genre-link:visited {
    display:block;
    min-width:0;
    padding:9px 6px;
    color:#222 !important;
    text-decoration:none !important;
    border-bottom:none !important;
    box-shadow:none !important;
    font-size:14px;
    line-height:1.4;
}

.side-column .genre-link:hover,
.side-column .genre-link:focus {
    color:#bf0000 !important;
    text-decoration:none !important;
}

.side-column .genre-loading {
    padding-right:5px;
    color:#888;
    font-size:11px;
}


/* ============================================================
   第1階層
============================================================ */

.side-column .genre-node.depth-1 > .genre-row {
    margin-top:3px;
    border-left:5px solid #4c91c6 !important;
    background:#e5f0fa !important;
}

.side-column .genre-node.depth-1 > .genre-row > .genre-link {
    padding-left:7px;
    color:#183d60 !important;
    font-weight:800;
}


/* ============================================================
   第2階層
============================================================ */

.side-column .genre-node.depth-2 > .genre-row {
    border-left:4px solid #76abd2 !important;
    background:#eef6fc !important;
}

.side-column .genre-node.depth-2 > .genre-row > .genre-link {
    padding-left:14px;
    color:#244b6c !important;
    font-weight:700;
}


/* ============================================================
   第3階層
============================================================ */

.side-column .genre-node.depth-3 > .genre-row {
    border-left:3px solid #a6cce7 !important;
    background:#f8fbfe !important;
}

.side-column .genre-node.depth-3 > .genre-row > .genre-link {
    padding-left:22px;
    color:#333 !important;
    font-weight:600;
}


/* ============================================================
   第4階層以降
============================================================ */

.side-column .genre-node.depth-4 > .genre-row {
    border-left:2px solid #c0daed !important;
    background:#fff !important;
}
.side-column .genre-node.depth-4 > .genre-row > .genre-link { padding-left:30px; }
.side-column .genre-node.depth-5 > .genre-row > .genre-link { padding-left:38px; }
.side-column .genre-node.depth-6 > .genre-row > .genre-link { padding-left:46px; }
.side-column .genre-node.depth-7 > .genre-row > .genre-link { padding-left:54px; }
.side-column .genre-node.depth-8 > .genre-row > .genre-link { padding-left:62px; }


/* ============================================================
   現在地・現在の経路
============================================================ */

.side-column .genre-node.in-current-path:not(.is-current) > .genre-row {
    box-shadow:inset 2px 0 0 rgba(47,127,185,.18);
}

.side-column .genre-node.is-current > .genre-row,
.side-column .genre-row.current {
    border-left:5px solid #bf0000 !important;
    background:#ffe9e9 !important;
}

.side-column .genre-node.is-current > .genre-row > .genre-link,
.side-column .genre-row.current > .genre-link {
    color:#bf0000 !important;
    font-weight:800 !important;
}


/* ============================================================
   モバイル
============================================================ */

@media screen and (max-width:768px) {
    .side-column .theme > .theme-btn { font-size:15px; }
    .side-column .genre-link { font-size:14px !important; }
}


/* ============================================================
   v4.4 FINAL
   子カテゴリあり＝赤い「›」
   末端カテゴリ＝黒い「・」
   現在選択中の末端＝赤い「・」
============================================================ */

/* 通常の開閉矢印 */
.side-column .genre-toggle:not(.no-children) {
    color:#bf0000 !important;
    font-size:18px !important;
    font-weight:900 !important;
}

/* 末端カテゴリの黒い点 */
.side-column .genre-toggle.no-children,
.side-column .genre-node.terminal > .genre-row > .genre-toggle {
    color:#333 !important;
    font-size:16px !important;
    font-weight:900 !important;
    transform:none !important;
    cursor:default !important;
    opacity:1 !important;
}

/* 現在表示中の末端カテゴリは赤い点 */
.side-column .genre-node.is-current > .genre-row > .genre-toggle.no-children,
.side-column .genre-row.current > .genre-toggle.no-children,
.side-column .genre-node.is-current.terminal > .genre-row > .genre-toggle {
    color:#bf0000 !important;
}

/* disabledボタンでも薄くならない */
.side-column .genre-toggle:disabled {
    opacity:1 !important;
}

/* 現在のカテゴリをより判別しやすく */
.side-column .genre-node.is-current > .genre-row,
.side-column .genre-row.current {
    background:#ffe8e8 !important;
    border-left:5px solid #bf0000 !important;
}

.side-column .genre-node.is-current > .genre-row > .genre-link,
.side-column .genre-row.current > .genre-link {
    color:#bf0000 !important;
    font-weight:800 !important;
}

/* 現在の経路上の親カテゴリは青系を維持 */
.side-column .genre-node.in-current-path:not(.is-current) > .genre-row {
    box-shadow:inset 2px 0 0 rgba(47,127,185,.18) !important;
}

/* 商品タイトル／説明は常に下線なし */
.main .product-info h3 a.product-title-link,
.main .product-info h3 a.product-title-link:link,
.main .product-info h3 a.product-title-link:visited,
.main .product-info h3 a.product-title-link:hover,
.main .product-info h3 a.product-title-link:focus {
    text-decoration:none !important;
    border-bottom:none !important;
    box-shadow:none !important;
    background-image:none !important;
}

/* hoverは色だけ変える */
.main .product-info h3 a.product-title-link:hover,
.main .product-info h3 a.product-title-link:focus {
    color:#c90000 !important;
}


/* ============================================================
   v4.5 FINAL - Minimal Modern UI
   装飾しすぎず、余白・文字・境界線を整理
============================================================ */

:root {
    --rk-red:#bf0000;
    --rk-red-hover:#a90000;
    --rk-ink:#202124;
    --rk-muted:#74787d;
    --rk-line:#e4e6e8;
    --rk-bg:#f5f6f7;
    --rk-panel:#ffffff;
    --rk-blue-1:#edf5fb;
    --rk-blue-2:#f5f9fc;
    --rk-current:#fff0f0;
}

html {
    background:var(--rk-bg) !important;
}

body {
    color:var(--rk-ink) !important;
    background:var(--rk-bg) !important;
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        "Hiragino Kaku Gothic ProN",
        "Yu Gothic",
        Meiryo,
        sans-serif !important;
    letter-spacing:.01em;
}


/* ---------- ヘッダー ---------- */

.site-header {
    height:auto !important;
    background:#fff !important;
    border-bottom:1px solid var(--rk-line) !important;
}

.header-inner {
    max-width:1180px !important;
    padding:22px 24px !important;
    font-size:22px !important;
    font-weight:700 !important;
}

.header-inner a {
    color:#161719 !important;
    text-decoration:none !important;
}


/* ---------- 2カラム全体 ---------- */

.layout {
    max-width:1180px !important;
    margin:28px auto 42px !important;
    grid-template-columns:minmax(0,1fr) 300px !important;
    gap:24px !important;
    padding:0 18px !important;
}

.main {
    padding:34px 36px 38px !important;
    background:#fff !important;
    border:1px solid #eceeef !important;
    border-radius:10px !important;
    box-shadow:0 2px 10px rgba(20,24,28,.035) !important;
}

.side-column {
    padding:0 !important;
    background:transparent !important;
    align-self:start !important;
}


/* ---------- ページタイトル ---------- */

.main h1 {
    margin:0 0 26px !important;
    color:#18191b !important;
    font-size:32px !important;
    line-height:1.45 !important;
    font-weight:500 !important;
    letter-spacing:.025em !important;
}

.ranking-head h2 {
    margin:0 !important;
    padding:0 0 10px !important;
    color:#202124 !important;
    border-bottom:2px solid var(--rk-red) !important;
    font-size:20px !important;
    font-weight:700 !important;
}

.ranking-head p {
    margin:9px 0 18px !important;
    color:#85898e !important;
    font-size:12px !important;
}


/* ---------- 商品カード ---------- */

.ranking-list {
    gap:10px !important;
}

.product-card {
    min-height:108px !important;
    grid-template-columns:54px 94px minmax(0,1fr) 118px !important;
    padding:10px 10px !important;
    border:1px solid #dedfe1 !important;
    border-left:3px solid #a8aaad !important;
    border-radius:7px !important;
    background:#fff !important;
    box-shadow:none !important;
    transition:
        border-color .15s ease,
        box-shadow .15s ease !important;
}

.product-card:hover {
    border-color:#cfd1d3 !important;
    box-shadow:0 3px 10px rgba(0,0,0,.04) !important;
}

.product-card.rank-1 {
    border-left-color:#d7a600 !important;
}

.product-card.rank-2 {
    border-left-color:#96999c !important;
}

.product-card.rank-3 {
    border-left-color:#b86a27 !important;
}

.rank span {
    font-size:22px !important;
}

.thumb img {
    width:82px !important;
    height:82px !important;
    border-radius:3px !important;
}

.product-info h3 {
    margin:0 0 5px !important;
    color:#18191b !important;
    font-size:14px !important;
    line-height:1.5 !important;
    font-weight:650 !important;
}

.main .product-info h3 a.product-title-link,
.main .product-info h3 a.product-title-link:link,
.main .product-info h3 a.product-title-link:visited {
    color:#18191b !important;
    text-decoration:none !important;
    border-bottom:none !important;
    box-shadow:none !important;
    background-image:none !important;
}

.main .product-info h3 a.product-title-link:hover,
.main .product-info h3 a.product-title-link:focus {
    color:var(--rk-red) !important;
    text-decoration:none !important;
}

.shop {
    color:#8a8e92 !important;
}

.rating {
    color:#d78600 !important;
}

.price {
    color:#c60000 !important;
    font-size:19px !important;
}

.action a {
    background:var(--rk-red) !important;
    border-radius:5px !important;
    padding:10px 7px !important;
    font-size:12px !important;
    box-shadow:none !important;
    transition:background-color .15s ease !important;
}

.action a:hover {
    background:var(--rk-red-hover) !important;
}


/* ---------- サイドバー ---------- */

.side-column .sidebar {
    border:1px solid #dfe1e3 !important;
    border-radius:9px !important;
    background:#fff !important;
    box-shadow:0 2px 9px rgba(20,24,28,.045) !important;
}

.side-column .sidebar-title {
    padding:13px 14px !important;
    background:var(--rk-red) !important;
    font-size:14px !important;
    letter-spacing:.02em !important;
}

.side-column .theme > .theme-btn {
    min-height:42px !important;
    padding:10px 10px !important;
    border-left:3px solid #64686c !important;
    background:#e2e4e6 !important;
    font-size:14px !important;
}

.side-column .theme > .theme-btn:hover,
.side-column .theme > .theme-btn:focus {
    background:#d9dcde !important;
}

.side-column .theme > .theme-body {
    padding:5px !important;
    background:#fafbfb !important;
}


/* ---------- カテゴリ階層 ---------- */

.side-column .genre-row {
    min-height:37px !important;
    border-bottom:1px solid #eaebec !important;
    border-radius:2px !important;
}

.side-column .genre-node.depth-1 > .genre-row {
    border-left:4px solid #5797c8 !important;
    background:var(--rk-blue-1) !important;
}

.side-column .genre-node.depth-2 > .genre-row {
    border-left:3px solid #82afd0 !important;
    background:var(--rk-blue-2) !important;
}

.side-column .genre-node.depth-3 > .genre-row {
    border-left:2px solid #bfd7e7 !important;
    background:#fff !important;
}

.side-column .genre-node.depth-4 > .genre-row,
.side-column .genre-node.depth-5 > .genre-row,
.side-column .genre-node.depth-6 > .genre-row,
.side-column .genre-node.depth-7 > .genre-row,
.side-column .genre-node.depth-8 > .genre-row {
    background:#fff !important;
}

.side-column .genre-link {
    font-size:14px !important;
}

.side-column .genre-node.depth-1 > .genre-row > .genre-link {
    padding-left:6px !important;
}

.side-column .genre-node.depth-2 > .genre-row > .genre-link {
    padding-left:11px !important;
}

.side-column .genre-node.depth-3 > .genre-row > .genre-link {
    padding-left:18px !important;
}

.side-column .genre-node.depth-4 > .genre-row > .genre-link {
    padding-left:25px !important;
}

.side-column .genre-node.depth-5 > .genre-row > .genre-link {
    padding-left:32px !important;
}

.side-column .genre-node.is-current > .genre-row,
.side-column .genre-row.current {
    background:var(--rk-current) !important;
    border-left:4px solid var(--rk-red) !important;
}

.side-column .genre-node.is-current > .genre-row > .genre-link,
.side-column .genre-row.current > .genre-link {
    color:var(--rk-red) !important;
    font-weight:800 !important;
}


/* ---------- 記号 ---------- */

/* 子あり */
.side-column .genre-toggle:not(.no-children) {
    color:var(--rk-red) !important;
    font-size:17px !important;
}

/* 末端 */
.side-column .genre-toggle.no-children,
.side-column .genre-node.terminal > .genre-row > .genre-toggle {
    color:#3f4245 !important;
    font-size:15px !important;
    opacity:1 !important;
}

/* 現在地の末端 */
.side-column .genre-node.is-current > .genre-row > .genre-toggle.no-children,
.side-column .genre-node.is-current.terminal > .genre-row > .genre-toggle {
    color:var(--rk-red) !important;
}


/* ---------- フッター ---------- */

.site-footer {
    max-width:1180px !important;
    padding:24px 18px 42px !important;
    color:#909397 !important;
}


/* ---------- レスポンシブ ---------- */

@media screen and (max-width:900px) {

    .layout {
        grid-template-columns:1fr !important;
    }

    .main {
        padding:26px 24px !important;
    }

    .main h1 {
        font-size:27px !important;
    }

    .side-column {
        order:-1;
    }
}

@media screen and (max-width:650px) {

    .layout {
        padding:0 10px !important;
        margin-top:14px !important;
    }

    .main {
        padding:22px 16px !important;
        border-radius:7px !important;
    }

    .main h1 {
        font-size:24px !important;
    }

    .product-card {
        grid-template-columns:40px 74px minmax(0,1fr) !important;
    }

    .thumb img {
        width:66px !important;
        height:66px !important;
    }
}


/* ============================================================
   v4.7 - 独自付加価値コンテンツ
   余白を活かしたシンプルな構成
============================================================ */

.value-section {
    margin:28px 0 0;
    padding:0;
}

.section-kicker {
    margin:0 0 12px;
    padding:0 0 9px;
    border-bottom:1px solid #e1e3e5;
    color:#202124;
    font-size:18px;
    line-height:1.4;
    font-weight:750;
}


/* ---------- 今日の注目 ---------- */

.featured-card {
    display:grid;
    grid-template-columns:58px 92px minmax(0,1fr);
    gap:13px;
    align-items:center;
    padding:14px;
    border:1px solid #e0e2e4;
    border-radius:8px;
    background:#fff;
}

.featured-rank {
    color:#bf0000;
    text-align:center;
    font-weight:800;
}

.featured-rank span {
    font-size:27px;
}

.featured-rank small {
    margin-left:2px;
    font-size:11px;
}

.featured-image {
    display:block;
}

.featured-image img {
    display:block;
    width:82px;
    height:82px;
    object-fit:contain;
}

.featured-title {
    display:-webkit-box;
    overflow:hidden;
    color:#202124 !important;
    text-decoration:none !important;
    font-size:14px;
    line-height:1.5;
    font-weight:700;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

.featured-title:hover {
    color:#bf0000 !important;
}

.featured-movement {
    margin-top:6px;
    color:#bf0000;
    font-size:13px;
    font-weight:700;
}

.featured-meta {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    margin-top:6px;
    color:#707479;
    font-size:12px;
}

.featured-meta strong {
    color:#c40000;
    font-size:18px;
}


/* ---------- TOP3比較 ---------- */

.comparison-scroll {
    overflow-x:auto;
    border:1px solid #e1e3e5;
    border-radius:7px;
}

.comparison-table {
    width:100%;
    min-width:620px;
    border-collapse:collapse;
    background:#fff;
    table-layout:fixed;
}

.comparison-table th,
.comparison-table td {
    padding:11px 10px;
    border-right:1px solid #eceeef;
    border-bottom:1px solid #eceeef;
    text-align:center;
    vertical-align:middle;
    font-size:12px;
}

.comparison-table tr:last-child th,
.comparison-table tr:last-child td {
    border-bottom:0;
}

.comparison-table th:last-child,
.comparison-table td:last-child {
    border-right:0;
}

.comparison-table thead th {
    background:#f6f7f8;
    color:#333;
    font-size:13px;
}

.comparison-table th:first-child {
    width:88px;
    background:#fafafa;
    color:#666;
    font-weight:700;
}

.compare-product {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    color:#222 !important;
    text-decoration:none !important;
}

.compare-product:hover {
    color:#bf0000 !important;
}

.compare-product img {
    width:62px;
    height:62px;
    object-fit:contain;
}

.compare-product span {
    display:-webkit-box;
    overflow:hidden;
    line-height:1.4;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

.compare-price {
    color:#c40000;
    font-size:14px !important;
    font-weight:800;
}


/* ---------- 楽天ランキング ---------- */

.ranking-section .ranking-list {
    margin-top:0;
}


/* ---------- 急上昇 ---------- */

.rising-list {
    border:1px solid #e1e3e5;
    border-radius:7px;
    overflow:hidden;
    background:#fff;
}

.rising-item {
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:12px;
    align-items:center;
    padding:11px 13px;
    border-bottom:1px solid #eceeef;
    color:#222 !important;
    text-decoration:none !important;
}

.rising-item:last-child {
    border-bottom:0;
}

.rising-item:hover {
    background:#fafafa;
}

.rising-change {
    color:#bf0000;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}

.rising-change b {
    padding:0 4px;
}

.rising-name {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
}

.history-empty {
    margin:0;
    padding:13px 14px;
    border:1px solid #e4e6e8;
    border-radius:7px;
    background:#fafafa;
    color:#777;
    font-size:12px;
    line-height:1.7;
}


/* ---------- 関連カテゴリー ---------- */

.related-grid {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.related-link {
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 12px;
    border:1px solid #dde0e2;
    border-radius:5px;
    background:#fff;
    color:#303235 !important;
    text-decoration:none !important;
    font-size:13px;
    transition:
        border-color .12s ease,
        color .12s ease,
        background .12s ease;
}

.related-link:hover {
    border-color:#cfb2b2;
    background:#fff8f8;
    color:#bf0000 !important;
}


/* ---------- モバイル ---------- */

@media screen and (max-width:650px) {

    .value-section {
        margin-top:23px;
    }

    .section-kicker {
        font-size:17px;
    }

    .featured-card {
        grid-template-columns:44px 74px minmax(0,1fr);
        gap:9px;
        padding:10px;
    }

    .featured-image img {
        width:66px;
        height:66px;
    }

    .featured-rank span {
        font-size:22px;
    }

    .rising-item {
        grid-template-columns:100px minmax(0,1fr);
        gap:8px;
        padding:10px;
    }
}


/* ============================================================
   v4.8 FINAL
   サイドバーの赤い「商品カテゴリー」見出しを削除
   上部余白を詰めて自然につなぐ
============================================================ */

/* 見出しはPHP側で削除済み。念のためCSSでも非表示 */
.side-column .sidebar-title {
    display:none !important;
}

/* サイドバー本体 */
.side-column .sidebar.sidebar-no-title {
    padding-top:0 !important;
    border-top:1px solid #dfe1e3 !important;
    border-radius:8px !important;
    overflow:hidden !important;
    background:#fff !important;
}

/* 最初のテーマをサイドバー上端に自然につなぐ */
.side-column .sidebar.sidebar-no-title > .theme:first-child > .theme-btn {
    border-top-left-radius:7px !important;
    border-top-right-radius:7px !important;
}

/* 最後のテーマも下端を自然に */
.side-column .sidebar.sidebar-no-title > .theme:last-child > .theme-btn {
    border-bottom-left-radius:0 !important;
    border-bottom-right-radius:0 !important;
}

/* サイドバー上部の不要な余白を削除 */
.side-column {
    padding-top:0 !important;
}

.side-column .sidebar {
    margin-top:0 !important;
}

/* テーマボタンの上下を少し詰める */
.side-column .theme > .theme-btn {
    min-height:40px !important;
    padding-top:9px !important;
    padding-bottom:9px !important;
}

/* 開いている最初のテーマも上端にぴったり */
.side-column .theme:first-child {
    margin-top:0 !important;
}

/* モバイルでも上部を詰める */
@media screen and (max-width:900px) {
    .side-column {
        margin-top:0 !important;
        padding-top:0 !important;
    }
}


/* ============================================================
   v4.9 HOME
============================================================ */

.home-hero {
    padding:4px 0 26px;
}

.home-eyebrow {
    margin-bottom:9px;
    color:#bf0000;
    font-size:13px;
    font-weight:800;
    letter-spacing:.04em;
}

.main .home-hero h1 {
    margin:0 0 13px !important;
    font-size:34px !important;
    line-height:1.45 !important;
    font-weight:550 !important;
}

.home-hero p {
    max-width:680px;
    margin:0;
    color:#686c70;
    font-size:14px;
    line-height:1.8;
}

.mobile-break {
    display:none;
}

.home-ranking-head {
    margin-top:0;
}

.section-note {
    margin:-3px 0 13px;
    color:#7c8084;
    font-size:12px;
    line-height:1.7;
}


/* ---------- カテゴリー別No.1 ---------- */

.category-no1-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:10px;
}

.category-no1-card {
    min-width:0;
    padding:13px;
    border:1px solid #e1e3e5;
    border-radius:7px;
    background:#fff;
}

.category-no1-theme {
    display:block;
    margin-bottom:10px;
    color:#222 !important;
    text-decoration:none !important;
    font-size:14px;
    font-weight:800;
}

.category-no1-theme:hover {
    color:#bf0000 !important;
}

.category-no1-product {
    display:grid;
    grid-template-columns:70px minmax(0,1fr);
    gap:10px;
    align-items:center;
    color:#222 !important;
    text-decoration:none !important;
}

.category-no1-product:hover {
    color:#bf0000 !important;
}

.category-no1-product img {
    width:68px;
    height:68px;
    object-fit:contain;
}

.category-no1-product span {
    display:-webkit-box;
    overflow:hidden;
    font-size:12px;
    line-height:1.45;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
}

.category-no1-meta {
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:9px;
    color:#777;
    font-size:11px;
}

.category-no1-meta strong {
    color:#c40000;
    font-size:15px;
}

.category-ranking-link {
    display:inline-block;
    margin-top:9px;
    color:#555 !important;
    text-decoration:none !important;
    font-size:11px;
}

.category-ranking-link:hover {
    color:#bf0000 !important;
}


/* ---------- カテゴリー入口 ---------- */

.home-theme-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
}

.home-theme-link {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:48px;
    padding:10px 13px;
    border:1px solid #e0e2e4;
    border-radius:6px;
    background:#fff;
    color:#222 !important;
    text-decoration:none !important;
}

.home-theme-link:hover {
    border-color:#d7bcbc;
    background:#fffafa;
}

.home-theme-link strong {
    font-size:13px;
}

.home-theme-link span {
    flex:0 0 auto;
    color:#8a8d91;
    font-size:10px;
}


/* ---------- TOPページではサイドバーを少し静かに ---------- */

body:has(.home-hero) .side-column .sidebar {
    box-shadow:none !important;
}


/* ---------- レスポンシブ ---------- */

@media screen and (max-width:700px) {

    .main .home-hero h1 {
        font-size:27px !important;
    }

    .mobile-break {
        display:block;
    }

    .category-no1-grid,
    .home-theme-grid {
        grid-template-columns:1fr;
    }
}


/* ============================================================
   v5.0 FINAL
   シンプルなサイト情報フッター
============================================================ */

.site-footer {
    max-width:none !important;
    margin:42px 0 0 !important;
    padding:0 !important;
    border-top:1px solid #e2e4e6;
    background:#fff;
    color:#676b70 !important;
}

.footer-inner {
    max-width:1180px;
    margin:0 auto;
    padding:30px 18px 34px;
}

.footer-brand {
    margin-bottom:18px;
    color:#25272a;
    font-size:15px;
    font-weight:750;
}

.footer-info-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:28px;
    padding:0 0 22px;
    border-bottom:1px solid #eceeef;
}

.footer-info h2 {
    margin:0 0 8px;
    color:#34373a;
    font-size:13px;
    line-height:1.5;
    font-weight:750;
}

.footer-info p {
    margin:0;
    color:#74787d;
    font-size:11px;
    line-height:1.9;
}

.footer-credit {
    margin-top:18px;
    font-size:11px;
}

.footer-credit a,
.footer-credit a:link,
.footer-credit a:visited {
    color:#606469;
    text-decoration:none;
}

.footer-credit a:hover,
.footer-credit a:focus {
    color:#bf0000;
    text-decoration:none;
}

.footer-copy {
    margin-top:9px;
    color:#9a9da1;
    font-size:10px;
}


/* モバイル */
@media screen and (max-width:700px) {

    .site-footer {
        margin-top:30px !important;
    }

    .footer-inner {
        padding:25px 16px 28px;
    }

    .footer-info-grid {
        grid-template-columns:1fr;
        gap:20px;
    }
}


/* ============================================================
   v5.1 COMPACT FOOTER
============================================================ */

.site-footer.compact-footer {
    margin-top:28px !important;
    border-top:1px solid #e4e6e8 !important;
    background:#fff !important;
}

.compact-footer .footer-inner {
    max-width:1180px;
    margin:0 auto;
    padding:16px 18px 18px !important;
}

.compact-footer .footer-brand {
    margin:0 0 6px !important;
    color:#2c2f33 !important;
    font-size:13px !important;
    font-weight:750 !important;
}

.compact-footer .footer-summary {
    margin:0 !important;
    max-width:100% !important;
    color:#777b80 !important;
    font-size:10.5px !important;
    line-height:1.7 !important;
}

.compact-footer .footer-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:9px;
    padding-top:8px;
    border-top:1px solid #eef0f1;
}

.compact-footer .footer-credit,
.compact-footer .footer-copy {
    margin:0 !important;
    color:#9a9da1 !important;
    font-size:9.5px !important;
}

.compact-footer .footer-credit a,
.compact-footer .footer-credit a:link,
.compact-footer .footer-credit a:visited {
    color:#777b80 !important;
    text-decoration:none !important;
}

.compact-footer .footer-credit a:hover,
.compact-footer .footer-credit a:focus {
    color:#bf0000 !important;
    text-decoration:none !important;
}

@media screen and (max-width:700px) {
    .compact-footer .footer-inner {
        padding:14px 14px 16px !important;
    }

    .compact-footer .footer-bottom {
        display:block;
    }

    .compact-footer .footer-copy {
        margin-top:5px !important;
    }
}

/* ============================================================
   v5.7 PRODUCT CARD REFINEMENT
   - 商品画像をさらに大きく表示
   - 商品説明（既存の catchcopy + 商品名）を最大4行まで表示
   - 「楽天市場で見る」をカード右下へ配置
   - ボタン専用の右列をなくし、説明文を横に広く使う
   ※ PHP / クリック計測処理には影響しません
============================================================ */

@media screen and (min-width:651px) {
    .product-card {
        min-height:158px !important;
        grid-template-columns:54px 144px minmax(0, 1fr) !important;
        grid-template-rows:minmax(0, 1fr) auto !important;
        align-items:stretch !important;
        column-gap:12px !important;
        row-gap:8px !important;
        padding:12px 12px 11px !important;
    }

    .product-card > .rank {
        grid-column:1 !important;
        grid-row:1 / 3 !important;
        align-self:center !important;
    }

    .product-card > .thumb {
        grid-column:2 !important;
        grid-row:1 / 3 !important;
        align-self:center !important;
        justify-self:center !important;
    }

    .product-card .thumb img {
        width:128px !important;
        height:128px !important;
        object-fit:contain !important;
    }

    .product-card > .product-info {
        grid-column:3 !important;
        grid-row:1 !important;
        min-width:0 !important;
        align-self:start !important;
        padding-top:1px !important;
    }

    .product-card .product-info h3 {
        margin:0 0 7px !important;
        font-size:14px !important;
        line-height:1.55 !important;
        display:-webkit-box !important;
        -webkit-box-orient:vertical !important;
        -webkit-line-clamp:4 !important;
        overflow:hidden !important;
    }

    .product-card .shop {
        margin-bottom:7px !important;
    }

    .product-card > .action {
        grid-column:3 !important;
        grid-row:2 !important;
        align-self:end !important;
        justify-self:end !important;
        margin:0 !important;
        padding:0 !important;
        width:auto !important;
    }

    .product-card > .action a {
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-width:126px !important;
        min-height:38px !important;
        padding:9px 14px !important;
        white-space:nowrap !important;
    }
}

@media screen and (max-width:650px) {
    .product-card {
        min-height:124px !important;
        grid-template-columns:40px 90px minmax(0, 1fr) !important;
        grid-template-rows:auto auto !important;
        column-gap:9px !important;
        row-gap:8px !important;
        padding:9px !important;
    }

    .product-card > .rank {
        grid-column:1 !important;
        grid-row:1 / 3 !important;
        align-self:center !important;
    }

    .product-card > .thumb {
        grid-column:2 !important;
        grid-row:1 / 3 !important;
        align-self:start !important;
        justify-self:center !important;
    }

    .product-card .thumb img {
        width:84px !important;
        height:84px !important;
        object-fit:contain !important;
    }

    .product-card > .product-info {
        grid-column:3 !important;
        grid-row:1 !important;
        min-width:0 !important;
    }

    .product-card .product-info h3 {
        display:-webkit-box !important;
        -webkit-box-orient:vertical !important;
        -webkit-line-clamp:4 !important;
        overflow:hidden !important;
        line-height:1.5 !important;
    }

    .product-card > .action {
        grid-column:3 !important;
        grid-row:2 !important;
        justify-self:end !important;
        margin:0 !important;
        padding:0 !important;
        width:auto !important;
    }

    .product-card > .action a {
        min-width:118px !important;
        padding:9px 11px !important;
    }
}


/* ============================================================
   v5.8 COMPACT OVERRIDE
   v5.7を基準に、画像の見やすさを保ちながら縦幅・空白を圧縮
   PHP / クリック計測処理には影響しません
============================================================ */

@media screen and (min-width:651px) {
    .product-card {
        min-height:136px !important;
        grid-template-columns:50px 132px minmax(0, 1fr) !important;
        grid-template-rows:minmax(0, 1fr) auto !important;
        column-gap:9px !important;
        row-gap:2px !important;
        padding:6px 10px !important;
    }

    .product-card > .rank {
        align-self:center !important;
    }

    .product-card > .thumb {
        align-self:center !important;
    }

    .product-card .thumb img {
        width:120px !important;
        height:120px !important;
        object-fit:contain !important;
    }

    .product-card > .product-info {
        padding-top:0 !important;
        align-self:start !important;
    }

    .product-card .product-info h3 {
        margin:0 0 2px !important;
        font-size:14px !important;
        line-height:1.38 !important;
        -webkit-line-clamp:4 !important;
    }

    .product-card .shop {
        margin-top:0 !important;
        margin-bottom:2px !important;
        line-height:1.25 !important;
    }

    .product-card .meta,
    .product-card .rating,
    .product-card .price {
        margin-top:0 !important;
        margin-bottom:0 !important;
        line-height:1.25 !important;
    }

    .product-card > .action {
        align-self:end !important;
        justify-self:end !important;
        margin:0 !important;
        padding:0 !important;
    }

    .product-card > .action a {
        min-width:120px !important;
        min-height:32px !important;
        padding:6px 12px !important;
        line-height:1.2 !important;
    }
}

@media screen and (max-width:650px) {
    .product-card {
        padding:6px !important;
        row-gap:4px !important;
    }

    .product-card .product-info h3 {
        margin-bottom:2px !important;
        line-height:1.35 !important;
    }

    .product-card > .action {
        margin-top:3px !important;
    }
}

/* ============================================================
   v5.9 COMPACT + BUTTON POSITION REFINEMENT
   - v5.8を基準に、商品カードをもう少しだけコンパクト化
   - 「楽天市場で見る」を右端・下端から少し内側へ移動
   - 商品説明は4行表示を維持
   - PHP / クリック計測処理には影響しません
============================================================ */

@media screen and (min-width:651px) {
    .product-card {
        min-height:128px !important;
        grid-template-columns:48px 126px minmax(0, 1fr) !important;
        grid-template-rows:minmax(0, 1fr) auto !important;
        column-gap:8px !important;
        row-gap:1px !important;
        padding:5px 12px 6px 9px !important;
    }

    .product-card > .rank {
        align-self:center !important;
    }

    .product-card > .thumb {
        align-self:center !important;
        justify-self:center !important;
    }

    .product-card .thumb img {
        width:116px !important;
        height:116px !important;
        object-fit:contain !important;
    }

    .product-card > .product-info {
        align-self:start !important;
        padding-top:0 !important;
        padding-right:2px !important;
    }

    .product-card .product-info h3 {
        margin:0 0 1px !important;
        font-size:14px !important;
        line-height:1.34 !important;
        -webkit-line-clamp:4 !important;
    }

    .product-card .shop {
        margin:0 0 1px !important;
        line-height:1.2 !important;
    }

    .product-card .meta {
        gap:5px !important;
        margin:0 !important;
        line-height:1.2 !important;
    }

    .product-card .rating,
    .product-card .reviews,
    .product-card .price {
        margin-top:0 !important;
        margin-bottom:0 !important;
        line-height:1.2 !important;
    }

    .product-card > .action {
        align-self:end !important;
        justify-self:end !important;
        margin:0 7px 3px 0 !important;
        padding:0 !important;
        width:auto !important;
    }

    .product-card > .action a {
        min-width:116px !important;
        min-height:30px !important;
        padding:6px 11px !important;
        border-radius:5px !important;
        line-height:1.15 !important;
    }
}

@media screen and (max-width:650px) {
    .product-card {
        min-height:116px !important;
        padding:6px 8px !important;
        row-gap:3px !important;
    }

    .product-card .thumb img {
        width:80px !important;
        height:80px !important;
    }

    .product-card .product-info h3 {
        margin-bottom:1px !important;
        line-height:1.32 !important;
    }

    .product-card > .action {
        margin:2px 4px 2px 0 !important;
    }

    .product-card > .action a {
        min-width:112px !important;
        padding:7px 10px !important;
    }
}

/* ============================================================
   v6.0 BALANCE REFINEMENT
   - 「楽天市場で見る」を少し上へ移動し、説明文との空白を縮小
   - 今日の注目商品の画像を拡大
   - 人気TOP3比較の画像を拡大
   - 全体の余白・比率を崩さず調整
   - PHP / クリック計測処理には影響しません
============================================================ */

@media screen and (min-width:651px) {

    /* ---------- 楽天ランキング ---------- */

    .product-card {
        min-height:126px !important;
        padding-top:5px !important;
        padding-bottom:5px !important;
    }

    .product-card > .product-info {
        padding-bottom:0 !important;
    }

    .product-card > .action {
        margin:0 7px 0 0 !important;
        transform:translateY(-7px) !important;
    }

    .product-card > .action a {
        min-height:30px !important;
        padding:6px 11px !important;
    }

    /* ---------- 今日の注目商品 ---------- */

    .featured-card {
        grid-template-columns:58px 114px minmax(0,1fr) !important;
        gap:12px !important;
        padding:12px 14px !important;
        min-height:128px !important;
    }

    .featured-image {
        justify-self:center !important;
    }

    .featured-image img {
        width:104px !important;
        height:104px !important;
        object-fit:contain !important;
    }

    .featured-title {
        line-height:1.45 !important;
        -webkit-line-clamp:3 !important;
    }

    .featured-movement {
        margin-top:4px !important;
    }

    .featured-meta {
        margin-top:4px !important;
        gap:10px !important;
    }

    /* ---------- 人気TOP3を比較 ---------- */

    .comparison-table th,
    .comparison-table td {
        padding-top:9px !important;
        padding-bottom:9px !important;
    }

    .compare-product {
        gap:5px !important;
    }

    .compare-product img {
        width:80px !important;
        height:80px !important;
        object-fit:contain !important;
    }

    .compare-product span {
        line-height:1.35 !important;
        -webkit-line-clamp:2 !important;
    }
}

@media screen and (max-width:650px) {

    /* ランキングボタン */
    .product-card > .action {
        margin:0 4px 0 0 !important;
        transform:translateY(-4px) !important;
    }

    /* 今日の注目商品 */
    .featured-card {
        grid-template-columns:44px 88px minmax(0,1fr) !important;
        gap:8px !important;
        padding:9px !important;
    }

    .featured-image img {
        width:80px !important;
        height:80px !important;
    }

    .featured-title {
        -webkit-line-clamp:3 !important;
        line-height:1.4 !important;
    }

    /* 人気TOP3比較 */
    .compare-product img {
        width:70px !important;
        height:70px !important;
    }
}

/* ============================================================
   v6.1 FEATURED-SIZE RANKING CARD
   「今日の注目商品」の見やすいサイズ感を楽天ランキング商品へ適用
   - 縦幅
   - 文字数
   - 文字と枠の距離
   - 写真サイズ
   - 「楽天市場で見る」の位置
   PHP / クリック計測処理には影響しません
============================================================ */

@media screen and (min-width:651px) {

    /* ---------- ランキング商品を「今日の注目商品」に近い比率へ ---------- */

    .ranking-section .product-card,
    .ranking-list .product-card {
        min-height:144px !important;
        grid-template-columns:58px 114px minmax(0,1fr) !important;
        grid-template-rows:minmax(0,1fr) auto !important;
        column-gap:12px !important;
        row-gap:4px !important;
        align-items:center !important;
        padding:12px 14px !important;
    }

    .ranking-section .product-card > .rank,
    .ranking-list .product-card > .rank {
        grid-column:1 !important;
        grid-row:1 / 3 !important;
        align-self:center !important;
        justify-self:center !important;
    }

    .ranking-section .product-card > .thumb,
    .ranking-list .product-card > .thumb {
        grid-column:2 !important;
        grid-row:1 / 3 !important;
        align-self:center !important;
        justify-self:center !important;
    }

    .ranking-section .product-card .thumb img,
    .ranking-list .product-card .thumb img {
        width:104px !important;
        height:104px !important;
        object-fit:contain !important;
        background:#fafafa !important;
    }

    .ranking-section .product-card > .product-info,
    .ranking-list .product-card > .product-info {
        grid-column:3 !important;
        grid-row:1 !important;
        min-width:0 !important;
        align-self:start !important;
        padding:0 !important;
    }

    .ranking-section .product-card .product-info h3,
    .ranking-list .product-card .product-info h3 {
        margin:0 0 4px !important;
        font-size:14px !important;
        line-height:1.45 !important;
        font-weight:700 !important;
        display:-webkit-box !important;
        -webkit-box-orient:vertical !important;
        -webkit-line-clamp:3 !important;
        overflow:hidden !important;
    }

    .ranking-section .product-card .shop,
    .ranking-list .product-card .shop {
        margin:0 0 4px !important;
        line-height:1.25 !important;
    }

    .ranking-section .product-card .meta,
    .ranking-list .product-card .meta {
        gap:7px !important;
        margin:0 !important;
        line-height:1.25 !important;
    }

    .ranking-section .product-card > .action,
    .ranking-list .product-card > .action {
        grid-column:3 !important;
        grid-row:2 !important;
        align-self:start !important;
        justify-self:end !important;
        margin:0 2px 0 0 !important;
        padding:0 !important;
        width:auto !important;
        transform:none !important;
    }

    .ranking-section .product-card > .action a,
    .ranking-list .product-card > .action a {
        min-width:118px !important;
        min-height:31px !important;
        padding:6px 11px !important;
        line-height:1.2 !important;
        border-radius:5px !important;
    }
}

@media screen and (max-width:650px) {

    .ranking-section .product-card,
    .ranking-list .product-card {
        min-height:122px !important;
        grid-template-columns:42px 88px minmax(0,1fr) !important;
        grid-template-rows:minmax(0,1fr) auto !important;
        column-gap:8px !important;
        row-gap:3px !important;
        padding:9px !important;
    }

    .ranking-section .product-card > .rank,
    .ranking-list .product-card > .rank {
        grid-column:1 !important;
        grid-row:1 / 3 !important;
        align-self:center !important;
    }

    .ranking-section .product-card > .thumb,
    .ranking-list .product-card > .thumb {
        grid-column:2 !important;
        grid-row:1 / 3 !important;
        align-self:center !important;
    }

    .ranking-section .product-card .thumb img,
    .ranking-list .product-card .thumb img {
        width:80px !important;
        height:80px !important;
    }

    .ranking-section .product-card > .product-info,
    .ranking-list .product-card > .product-info {
        grid-column:3 !important;
        grid-row:1 !important;
    }

    .ranking-section .product-card .product-info h3,
    .ranking-list .product-card .product-info h3 {
        margin:0 0 3px !important;
        font-size:13px !important;
        line-height:1.4 !important;
        -webkit-line-clamp:3 !important;
    }

    .ranking-section .product-card > .action,
    .ranking-list .product-card > .action {
        grid-column:3 !important;
        grid-row:2 !important;
        justify-self:end !important;
        margin:0 2px 0 0 !important;
        transform:none !important;
    }

    .ranking-section .product-card > .action a,
    .ranking-list .product-card > .action a {
        min-width:112px !important;
        padding:6px 10px !important;
    }
}

/* ============================================================
   v6.2 RANKING IMAGE + TOP ALIGNMENT
   - ランキング写真を少し大きく
   - 写真の上辺と商品文字の上辺を一直線に
   - 既存PHP / クリック計測には影響しません
============================================================ */

@media screen and (min-width:651px) {

    .ranking-section .product-card,
    .ranking-list .product-card {
        min-height:150px !important;
        grid-template-columns:58px 126px minmax(0,1fr) !important;
        grid-template-rows:minmax(0,1fr) auto !important;
        column-gap:12px !important;
        row-gap:4px !important;
        align-items:start !important;
        padding:12px 14px !important;
    }

    .ranking-section .product-card > .rank,
    .ranking-list .product-card > .rank {
        grid-column:1 !important;
        grid-row:1 / 3 !important;
        align-self:center !important;
        justify-self:center !important;
    }

    .ranking-section .product-card > .thumb,
    .ranking-list .product-card > .thumb {
        grid-column:2 !important;
        grid-row:1 / 3 !important;
        align-self:start !important;
        justify-self:center !important;
        margin:0 !important;
        padding:0 !important;
    }

    .ranking-section .product-card .thumb img,
    .ranking-list .product-card .thumb img {
        display:block !important;
        width:118px !important;
        height:118px !important;
        margin:0 !important;
        object-fit:contain !important;
        background:#fafafa !important;
    }

    .ranking-section .product-card > .product-info,
    .ranking-list .product-card > .product-info {
        grid-column:3 !important;
        grid-row:1 !important;
        min-width:0 !important;
        align-self:start !important;
        margin:0 !important;
        padding:0 !important;
    }

    .ranking-section .product-card .product-info h3,
    .ranking-list .product-card .product-info h3 {
        margin-top:0 !important;
        padding-top:0 !important;
    }
}

@media screen and (max-width:650px) {

    .ranking-section .product-card,
    .ranking-list .product-card {
        min-height:128px !important;
        grid-template-columns:42px 96px minmax(0,1fr) !important;
        align-items:start !important;
    }

    .ranking-section .product-card > .thumb,
    .ranking-list .product-card > .thumb {
        align-self:start !important;
        margin:0 !important;
        padding:0 !important;
    }

    .ranking-section .product-card .thumb img,
    .ranking-list .product-card .thumb img {
        display:block !important;
        width:90px !important;
        height:90px !important;
        margin:0 !important;
        object-fit:contain !important;
    }

    .ranking-section .product-card > .product-info,
    .ranking-list .product-card > .product-info {
        align-self:start !important;
        margin:0 !important;
        padding:0 !important;
    }

    .ranking-section .product-card .product-info h3,
    .ranking-list .product-card .product-info h3 {
        margin-top:0 !important;
        padding-top:0 !important;
    }
}

/* ============================================================
   v6.3 RANKING COMPACT
   - v6.2の画像サイズと上辺揃えを維持
   - カードの縦幅と上下の空白を圧縮
   - ボタンを少し小さくして右下へ
============================================================ */

@media screen and (min-width:651px) {

    .ranking-section .product-card,
    .ranking-list .product-card {
        min-height:132px !important;
        grid-template-columns:54px 124px minmax(0,1fr) !important;
        grid-template-rows:minmax(0,1fr) auto !important;
        column-gap:10px !important;
        row-gap:0 !important;
        align-items:start !important;
        padding:6px 10px !important;
    }

    .ranking-section .product-card > .rank,
    .ranking-list .product-card > .rank {
        grid-column:1 !important;
        grid-row:1 / 3 !important;
        align-self:center !important;
        justify-self:center !important;
    }

    .ranking-section .product-card > .thumb,
    .ranking-list .product-card > .thumb {
        grid-column:2 !important;
        grid-row:1 / 3 !important;
        align-self:start !important;
        justify-self:center !important;
        margin:0 !important;
        padding:0 !important;
    }

    .ranking-section .product-card .thumb img,
    .ranking-list .product-card .thumb img {
        width:118px !important;
        height:118px !important;
        margin:0 !important;
        object-fit:contain !important;
    }

    .ranking-section .product-card > .product-info,
    .ranking-list .product-card > .product-info {
        grid-column:3 !important;
        grid-row:1 !important;
        align-self:start !important;
        margin:0 !important;
        padding:0 !important;
    }

    .ranking-section .product-card .product-info h3,
    .ranking-list .product-card .product-info h3 {
        margin:0 0 2px !important;
        padding:0 !important;
        line-height:1.35 !important;
    }

    .ranking-section .product-card .shop,
    .ranking-list .product-card .shop {
        margin:0 0 2px !important;
        line-height:1.15 !important;
    }

    .ranking-section .product-card .meta,
    .ranking-list .product-card .meta {
        margin:0 !important;
        line-height:1.15 !important;
    }

    .ranking-section .product-card > .action,
    .ranking-list .product-card > .action {
        grid-column:3 !important;
        grid-row:2 !important;
        align-self:end !important;
        justify-self:end !important;
        margin:0 0 1px 0 !important;
        padding:0 !important;
    }

    .ranking-section .product-card > .action a,
    .ranking-list .product-card > .action a {
        min-width:116px !important;
        min-height:30px !important;
        padding:5px 10px !important;
        line-height:1.15 !important;
    }
}

@media screen and (max-width:650px) {

    .ranking-section .product-card,
    .ranking-list .product-card {
        min-height:108px !important;
        grid-template-columns:40px 94px minmax(0,1fr) !important;
        grid-template-rows:minmax(0,1fr) auto !important;
        column-gap:7px !important;
        row-gap:1px !important;
        padding:5px 7px !important;
    }

    .ranking-section .product-card .thumb img,
    .ranking-list .product-card .thumb img {
        width:90px !important;
        height:90px !important;
    }

    .ranking-section .product-card .product-info h3,
    .ranking-list .product-card .product-info h3 {
        margin:0 0 2px !important;
        line-height:1.32 !important;
    }

    .ranking-section .product-card > .action,
    .ranking-list .product-card > .action {
        margin:0 !important;
    }

    .ranking-section .product-card > .action a,
    .ranking-list .product-card > .action a {
        min-width:108px !important;
        min-height:29px !important;
        padding:5px 9px !important;
    }
}

/* ============================================================
   v6.7 BALANCED CARD SPACING
   上下の基準余白をすべて 12px に統一
   ・写真上辺 → 枠：12px
   ・写真下辺 → 枠：12px
   ・文字上辺 → 枠：12px
   ・「楽天市場で見る」下辺 → 枠：12px
============================================================ */

@media screen and (min-width:651px) {

    .ranking-section .product-card,
    .ranking-list .product-card {
        box-sizing:border-box !important;
        min-height:142px !important;
        padding:12px 10px !important;
        grid-template-columns:54px 124px minmax(0,1fr) !important;
        grid-template-rows:minmax(0,1fr) auto !important;
        column-gap:10px !important;
        row-gap:0 !important;
        align-items:stretch !important;
    }

    .ranking-section .product-card > .thumb,
    .ranking-list .product-card > .thumb {
        grid-column:2 !important;
        grid-row:1 / 3 !important;
        align-self:start !important;
        justify-self:center !important;
        margin:0 !important;
        padding:0 !important;
    }

    .ranking-section .product-card .thumb img,
    .ranking-list .product-card .thumb img {
        display:block !important;
        width:118px !important;
        height:118px !important;
        margin:0 !important;
        padding:0 !important;
        object-fit:contain !important;
    }

    .ranking-section .product-card > .product-info,
    .ranking-list .product-card > .product-info {
        grid-column:3 !important;
        grid-row:1 !important;
        align-self:start !important;
        margin:0 !important;
        padding:0 !important;
    }

    .ranking-section .product-card .product-info h3,
    .ranking-list .product-card .product-info h3 {
        margin:0 0 2px !important;
        padding:0 !important;
        line-height:1.35 !important;
    }

    .ranking-section .product-card > .action,
    .ranking-list .product-card > .action {
        grid-column:3 !important;
        grid-row:2 !important;
        align-self:end !important;
        justify-self:end !important;
        margin:0 !important;
        padding:0 !important;
    }

    .ranking-section .product-card > .action a,
    .ranking-list .product-card > .action a {
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-width:116px !important;
        min-height:30px !important;
        margin:0 !important;
        padding:5px 10px !important;
        line-height:1.15 !important;
    }
}

@media screen and (max-width:650px) {

    .ranking-section .product-card,
    .ranking-list .product-card {
        box-sizing:border-box !important;
        padding:12px 7px !important;
        grid-template-columns:40px 94px minmax(0,1fr) !important;
        grid-template-rows:minmax(0,1fr) auto !important;
        row-gap:0 !important;
        align-items:stretch !important;
    }

    .ranking-section .product-card > .thumb,
    .ranking-list .product-card > .thumb,
    .ranking-section .product-card > .product-info,
    .ranking-list .product-card > .product-info,
    .ranking-section .product-card > .action,
    .ranking-list .product-card > .action {
        margin:0 !important;
        padding:0 !important;
    }

    .ranking-section .product-card > .action,
    .ranking-list .product-card > .action {
        align-self:end !important;
        justify-self:end !important;
    }
}

/* ============================================================
   FINAL SIDEBAR OVERRIDE
   白基調・線と段差で階層を表現・全階層フォントサイズ統一

   【重要】
   ・幅、高さ、padding、margin、段差、行高、ボタンサイズ等は変更しない
   ・背景色と線の色のみ白基調へ変更
   ・カテゴリー名のフォントサイズだけ第1階層と同じ14pxに統一
============================================================ */

/* ---------- サイドバー本体：白基調 ---------- */
.side-column .sidebar,
.side-column .sidebar.sidebar-no-title {
    background:#fff !important;
    border-color:#dfe1e3 !important;
}

/* ---------- 大分類：背景をほぼ使わず、左線で区別 ---------- */
.side-column .theme > .theme-btn {
    background:#fff !important;
    color:#202124 !important;
    border-left-color:#70757a !important;
}

.side-column .theme > .theme-btn:hover,
.side-column .theme > .theme-btn:focus {
    background:#fffafa !important;
    color:#202124 !important;
}

.side-column .theme > .theme-body {
    background:#fff !important;
}

.side-column .theme {
    border-bottom-color:#e3e5e7 !important;
}

/* ---------- カテゴリー行：基本はすべて白 ---------- */
.side-column .genre-row,
.side-column .genre-node.depth-1 > .genre-row,
.side-column .genre-node.depth-2 > .genre-row,
.side-column .genre-node.depth-3 > .genre-row,
.side-column .genre-node.depth-4 > .genre-row,
.side-column .genre-node.depth-5 > .genre-row,
.side-column .genre-node.depth-6 > .genre-row,
.side-column .genre-node.depth-7 > .genre-row,
.side-column .genre-node.depth-8 > .genre-row {
    background:#fff !important;
    border-bottom-color:#eceeef !important;
}

/* ---------- 階層は既存の段差＋左線の濃淡で表現 ---------- */
.side-column .genre-node.depth-1 > .genre-row {
    border-left-color:#7b8186 !important;
}

.side-column .genre-node.depth-2 > .genre-row {
    border-left-color:#a7adb2 !important;
}

.side-column .genre-node.depth-3 > .genre-row {
    border-left-color:#c8cdd1 !important;
}

.side-column .genre-node.depth-4 > .genre-row,
.side-column .genre-node.depth-5 > .genre-row,
.side-column .genre-node.depth-6 > .genre-row,
.side-column .genre-node.depth-7 > .genre-row,
.side-column .genre-node.depth-8 > .genre-row {
    border-left-color:#e0e3e5 !important;
}

/* ---------- 通常文字色を落ち着いた黒系に統一 ---------- */
.side-column .genre-node.depth-1 > .genre-row > .genre-link,
.side-column .genre-node.depth-2 > .genre-row > .genre-link,
.side-column .genre-node.depth-3 > .genre-row > .genre-link,
.side-column .genre-node.depth-4 > .genre-row > .genre-link,
.side-column .genre-node.depth-5 > .genre-row > .genre-link,
.side-column .genre-node.depth-6 > .genre-row > .genre-link,
.side-column .genre-node.depth-7 > .genre-row > .genre-link,
.side-column .genre-node.depth-8 > .genre-row > .genre-link {
    color:#222 !important;
}

/* ---------- 開いている経路：背景ではなく淡い線で示す ---------- */
.side-column .genre-node.in-current-path:not(.is-current) > .genre-row {
    background:#fff !important;
    box-shadow:inset 2px 0 0 rgba(110,117,123,.16) !important;
}

/* ---------- hoverだけ、ごく淡い赤 ---------- */
.side-column .genre-row:hover {
    background:#fffafa !important;
}

/* ---------- 現在地だけ淡い赤を使用 ---------- */
.side-column .genre-node.is-current > .genre-row,
.side-column .genre-row.current {
    background:#fff3f3 !important;
    border-left-color:#bf0000 !important;
}

.side-column .genre-node.is-current > .genre-row > .genre-link,
.side-column .genre-row.current > .genre-link {
    color:#bf0000 !important;
}

/* ============================================================
   フォントサイズ
   下位階層も第1階層と同じ14px
   ※ padding・段差・行高などは一切変更しない
============================================================ */
.side-column .genre-link,
.side-column .genre-link:link,
.side-column .genre-link:visited,
.side-column .genre-node.depth-1 > .genre-row > .genre-link,
.side-column .genre-node.depth-2 > .genre-row > .genre-link,
.side-column .genre-node.depth-3 > .genre-row > .genre-link,
.side-column .genre-node.depth-4 > .genre-row > .genre-link,
.side-column .genre-node.depth-5 > .genre-row > .genre-link,
.side-column .genre-node.depth-6 > .genre-row > .genre-link,
.side-column .genre-node.depth-7 > .genre-row > .genre-link,
.side-column .genre-node.depth-8 > .genre-row > .genre-link {
    font-size:14px !important;
}

@media screen and (max-width:768px) {
    .side-column .genre-link,
    .side-column .genre-link:link,
    .side-column .genre-link:visited {
        font-size:14px !important;
    }
}



/* ============================================================
   v6.1 - Ranking Simple UI
   TOP3比較 / 客観データの強調 / コンパクト商品カード
============================================================ */

.ranking-method-note {
    margin:-7px 0 18px;
    padding:9px 11px;
    border-left:3px solid #d7dadd;
    background:#f8f9fa;
    color:#6f7478;
    font-size:11px;
    line-height:1.65;
}

.home-compare-section { margin-top:22px; }
.enhanced-comparison-table { table-layout:fixed; }
.enhanced-comparison-table th:first-child { width:92px; }
.enhanced-comparison-table .compare-rank { font-size:15px; font-weight:800; }
.enhanced-comparison-table .compare-rank-1 { color:#b98300; }
.enhanced-comparison-table .compare-rank-2 { color:#6f7478; }
.enhanced-comparison-table .compare-rank-3 { color:#a65e24; }
.enhanced-comparison-table td { vertical-align:middle; }
.compare-rating { color:#d78600; font-weight:750; }
.compare-good { color:#b00000; font-weight:750; }
.compare-action-row td { padding:9px !important; }
.compare-cta {
    display:block;
    padding:8px 7px;
    border-radius:5px;
    background:#bf0000;
    color:#fff !important;
    text-decoration:none !important;
    text-align:center;
    font-size:11px;
    line-height:1.35;
    font-weight:750;
}
.compare-cta:hover { background:#a90000; }

.product-card {
    position:relative;
    grid-template-columns:54px 104px minmax(0,1fr) !important;
    min-height:126px !important;
    padding:11px !important;
    align-items:center !important;
}
.product-card.rank-1,
.product-card.rank-2,
.product-card.rank-3 { background:#fffdf9 !important; }
.product-card.rank-2 { background:#fdfdfd !important; }
.product-card.rank-3 { background:#fffdfa !important; }

.rank { position:relative; }
.rank-crown {
    display:block;
    height:14px;
    margin-bottom:1px;
    color:#c79500;
    font-size:11px !important;
    line-height:14px;
}
.rank-2 .rank-crown { color:#8b8f93; }
.rank-3 .rank-crown { color:#aa6529; }
.rank-move {
    display:block;
    margin-top:3px;
    font-style:normal;
    font-size:10px;
    line-height:1.2;
    font-weight:800;
}
.rank-move.up,.rank-move.new { color:#bf0000; }
.rank-move.down { color:#4c77a7; }

.thumb img {
    width:92px !important;
    height:92px !important;
    background:#fff !important;
}

.product-badges {
    display:flex;
    gap:4px;
    flex-wrap:wrap;
    min-height:0;
    margin:0 0 4px;
}
.product-badge {
    display:inline-block;
    padding:2px 5px;
    border:1px solid #e1d6bc;
    border-radius:3px;
    background:#fffaf0;
    color:#795d1a;
    font-size:9px;
    line-height:1.3;
    font-weight:750;
}
.product-badge.best {
    border-color:#e8c36d;
    background:#fff4d7;
    color:#8b6100;
}

.product-info h3 {
    display:-webkit-box;
    overflow:hidden;
    margin-bottom:4px !important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.shop { margin-bottom:4px !important; }
.primary-meta { gap:6px !important; }
.reviews { color:#6f7478; font-size:10px; }
.price { margin-left:2px; }
.price small { margin-left:2px; font-size:10px; }

.product-facts {
    display:flex;
    gap:4px;
    flex-wrap:wrap;
    margin-top:5px;
}
.product-facts .fact {
    display:inline-block;
    padding:2px 5px;
    border-radius:3px;
    font-size:9px;
    line-height:1.35;
    white-space:nowrap;
}
.product-facts .shipping {
    border:1px solid #e2b4b4;
    background:#fffafa;
    color:#b00000;
}
.product-facts .points {
    background:#fff5d9;
    color:#8a6200;
}
.product-facts .movement-fact {
    background:#f0f5f9;
    color:#52697c;
}


@media screen and (max-width:650px) {
    .product-card {
        grid-template-columns:38px 78px minmax(0,1fr) !important;
        gap:5px !important;
        min-height:118px !important;
        padding:9px 7px !important;
    }
    .thumb img { width:72px !important; height:72px !important; }
    .rank span { font-size:19px !important; }
    .rank-crown { font-size:9px !important; }
    .product-info h3 { font-size:12px !important; line-height:1.45 !important; }
    .product-badge { font-size:8px; }
    .price { font-size:16px !important; }
    .product-facts .fact { font-size:8px; }
    .enhanced-comparison-table { min-width:690px; }
    .enhanced-comparison-table th:first-child { width:80px; }
}


/* ============================================================
   v6.2 TOP3 COMPARISON
   - 商品画像を約140pxへ拡大
   - CTAボタン削除後の余白を整理
   - 商品画像・商品名リンクはそのまま維持
   ============================================================ */

.enhanced-comparison-table .compare-product {
    gap:8px !important;
}

.enhanced-comparison-table .compare-product img {
    width:140px !important;
    height:140px !important;
    max-width:100% !important;
    object-fit:contain !important;
}

.enhanced-comparison-table .compare-product span {
    line-height:1.4 !important;
    -webkit-line-clamp:2 !important;
}

/* v6.2ではHTML側から削除済み。旧キャッシュ対策としても非表示 */
.compare-action-row,
.compare-cta {
    display:none !important;
}

@media screen and (max-width:650px) {
    .enhanced-comparison-table .compare-product img {
        width:110px !important;
        height:110px !important;
    }
}

/* ============================================================
   v6.3 TOP3 FINAL OVERRIDE
   ============================================================ */
.comparison-table.enhanced-comparison-table .compare-product img {
    width: 140px !important;
    height: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto 8px !important;
}
.comparison-table.enhanced-comparison-table .compare-product {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}
.comparison-table.enhanced-comparison-table .compare-action-row,
.comparison-table.enhanced-comparison-table .compare-cta,
.compare-action-row,
.compare-cta {
    display: none !important;
}
@media screen and (max-width:650px) {
    .comparison-table.enhanced-comparison-table .compare-product img {
        width: 110px !important;
        height: 110px !important;
        min-width: 110px !important;
        max-width: 110px !important;
    }
}


/* ============================================================
   v6.4 FEATURED IMAGE FINAL OVERRIDE
   「今日の注目商品」だけ画像を約150pxへ拡大
   TOP3比較・1〜10位ランキング・サイドバーには影響させない
   ============================================================ */
@media screen and (min-width:651px) {
    .featured-card {
        grid-template-columns:58px 162px minmax(0,1fr) !important;
        gap:14px !important;
        min-height:174px !important;
        padding:12px 14px !important;
    }

    .featured-image {
        width:150px !important;
        height:150px !important;
        justify-self:center !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .featured-image img {
        width:150px !important;
        height:150px !important;
        min-width:150px !important;
        max-width:150px !important;
        object-fit:contain !important;
        display:block !important;
    }

    .featured-info {
        min-width:0 !important;
        align-self:center !important;
    }
}


/* ============================================================
   WordPress連携「おすすめ記事」サイドバー
   既存カテゴリサイドバーの下に表示
   ============================================================ */
.side-column .recommended-sidebar,
.side-column .recommended-sidebar * {
    box-sizing:border-box;
}

.side-column .recommended-sidebar {
    width:100%;
    margin:22px 0 0 !important;
    padding:0 !important;
    overflow:hidden;
    background:#fff;
    border:1px solid #dfe3e6;
    border-radius:6px;
    color:#222;
    box-shadow:0 1px 4px rgba(0,0,0,.025);
}

.side-column .recommended-sidebar-title {
    display:flex;
    align-items:center;
    min-height:44px;
    padding:10px 13px 10px 15px;
    background:#fff;
    border-bottom:1px solid #e4e6e8;
    color:#222;
    font-size:14px;
    line-height:1.5;
    font-weight:700;
}

.side-column .recommended-sidebar-title-mark {
    width:3px;
    height:20px;
    margin-right:10px;
    flex:0 0 3px;
    background:#bf0000;
    border-radius:2px;
}

.side-column .recommended-sidebar-list {
    margin:0;
    padding:0;
    background:#fff;
}

.side-column .recommended-sidebar-item,
.side-column .recommended-sidebar-item:link,
.side-column .recommended-sidebar-item:visited {
    display:flex;
    align-items:center;
    width:100%;
    min-height:42px;
    margin:0;
    padding:9px 12px;
    background:#fff;
    border-bottom:1px solid #eceeef;
    color:#282b2e !important;
    text-decoration:none !important;
    box-shadow:none !important;
    transition:background .15s ease,color .15s ease;
}

.side-column .recommended-sidebar-item:last-child {
    border-bottom:0;
}

.side-column .recommended-sidebar-arrow {
    flex:0 0 19px;
    width:19px;
    margin:0 7px 0 0;
    color:#bf0000;
    font-size:18px;
    line-height:1;
    font-weight:700;
    text-align:center;
}

.side-column .recommended-sidebar-label {
    display:block;
    min-width:0;
    color:inherit;
    font-size:13px;
    line-height:1.5;
    font-weight:600;
}

.side-column .recommended-sidebar-item:hover,
.side-column .recommended-sidebar-item:focus {
    background:#fffafa;
    color:#bf0000 !important;
}

@media screen and (max-width:700px) {
    .side-column .recommended-sidebar-title {
        min-height:42px;
        font-size:14px;
    }

    .side-column .recommended-sidebar-item {
        min-height:41px;
    }

    .side-column .recommended-sidebar-label {
        font-size:13px;
    }
}


/* ============================================================
   v6.6 商品検索
   サイドバー検索 + 検索結果
============================================================ */

.side-column .product-search-sidebar {
    width:100%;
    margin:0 0 20px;
    overflow:hidden;
    background:#fff;
    border:1px solid #dfe3e6;
    border-radius:6px;
    box-shadow:0 1px 4px rgba(0,0,0,.025);
}

.side-column .product-search-title {
    display:flex;
    align-items:center;
    min-height:44px;
    padding:10px 13px 10px 15px;
    border-bottom:1px solid #e4e6e8;
    color:#222;
    font-size:14px;
    line-height:1.5;
    font-weight:700;
}

.side-column .product-search-title-mark {
    width:3px;
    height:20px;
    margin-right:10px;
    flex:0 0 3px;
    background:#bf0000;
    border-radius:2px;
}

.side-column .product-search-form { padding:13px 12px 14px; }
.side-column .product-search-label {
    display:block;
    margin:0 0 7px;
    color:#777;
    font-size:11px;
    line-height:1.5;
}
.side-column .product-search-row { display:flex; gap:6px; }
.side-column .product-search-input {
    min-width:0;
    width:100%;
    height:38px;
    padding:7px 9px;
    border:1px solid #cfd3d6;
    border-radius:5px;
    background:#fff;
    color:#222;
    font:inherit;
    font-size:13px;
    outline:none;
}
.side-column .product-search-input:focus {
    border-color:#bf0000;
    box-shadow:0 0 0 2px rgba(191,0,0,.08);
}
.side-column .product-search-button {
    flex:0 0 auto;
    height:38px;
    padding:0 13px;
    border:0;
    border-radius:5px;
    background:#bf0000;
    color:#fff;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}
.side-column .product-search-button:hover { background:#a90000; }

.search-result-head { margin:0 0 20px; }
.search-result-summary {
    padding:13px 15px;
    background:#fff7f7;
    border-left:4px solid #bf0000;
    color:#333;
    font-size:14px;
}
.search-result-head p { margin:8px 0 0; color:#85898e; font-size:12px; }

.search-sort {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 18px;
}
.search-sort-link,
.search-sort-link:link,
.search-sort-link:visited {
    display:inline-block;
    padding:8px 12px;
    border:1px solid #dfe1e3;
    border-radius:999px;
    background:#fff;
    color:#444 !important;
    font-size:12px;
    font-weight:600;
    text-decoration:none !important;
}
.search-sort-link:hover { border-color:#e7b8b8; background:#fff7f7; color:#bf0000 !important; }
.search-sort-link.is-active { border-color:#bf0000; background:#bf0000; color:#fff !important; }

.search-results-list { display:flex; flex-direction:column; gap:10px; }
.search-result-card {
    display:grid;
    grid-template-columns:132px minmax(0,1fr);
    gap:15px;
    min-height:150px;
    padding:12px;
    border:1px solid #dedfe1;
    border-left:3px solid #bf0000;
    border-radius:7px;
    background:#fff;
}
.search-result-thumb { display:flex; align-items:center; justify-content:center; }
.search-result-thumb a { display:block; text-decoration:none !important; }
.search-result-thumb img {
    display:block;
    width:128px;
    height:128px;
    object-fit:contain;
    background:#fafafa;
    border-radius:3px;
}
.search-result-info { min-width:0; align-self:center; }
.search-result-title { margin:0 0 5px !important; padding:0 !important; border:0 !important; font-size:14px !important; line-height:1.5 !important; font-weight:650 !important; }
.search-result-title a,
.search-result-title a:link,
.search-result-title a:visited { color:#18191b !important; text-decoration:none !important; }
.search-result-title a:hover { color:#bf0000 !important; }
.search-result-shop { margin-bottom:7px; color:#8a8e92; font-size:10px; }
.search-result-meta { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.search-result-facts { margin-top:7px; }
.search-review-badge { color:#8a5f00; background:#fff7df; border-color:#efdca6; }

.search-pagination {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px;
    margin:24px 0 0;
}
.search-pagination > a {
    display:inline-block;
    padding:9px 12px;
    border:1px solid #dfe1e3;
    border-radius:5px;
    background:#fff;
    color:#333 !important;
    font-size:12px;
    font-weight:700;
    text-decoration:none !important;
}
.search-pagination > a:last-child { justify-self:end; }
.search-pagination > a:hover { background:#fff7f7; color:#bf0000 !important; border-color:#e7b8b8; }
.search-page-status { color:#777; font-size:11px; white-space:nowrap; }
.search-no-results { padding:20px; border:1px solid #e3e5e7; border-radius:7px; background:#fafafa; color:#666; line-height:1.7; }

@media screen and (max-width:700px) {
    .side-column .product-search-title { min-height:42px; }
    .search-result-card { grid-template-columns:92px minmax(0,1fr); gap:10px; min-height:112px; padding:9px; }
    .search-result-thumb img { width:88px; height:88px; }
    .search-result-title { font-size:13px !important; -webkit-line-clamp:3; display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; }
    .search-pagination { grid-template-columns:1fr 1fr; }
    .search-page-status { grid-column:1 / -1; grid-row:1; text-align:center; }
    .search-pagination > a { grid-row:2; }
}


/* ============================================================
   v6.8 - WordPress「選び方記事」専用タグ連携ボックス
   ranking-guide-○○ タグ付き記事が見つかった個別Genreページだけ表示
============================================================ */

.wordpress-guide-box {
    margin:18px 0 22px;
    padding:16px 18px 17px;
    border:1px solid #eadada;
    border-left:4px solid #bf0000;
    border-radius:7px;
    background:#fff8f8;
}

.wordpress-guide-eyebrow {
    margin:0 0 5px;
    color:#bf0000;
    font-size:12px;
    line-height:1.5;
    font-weight:800;
}

.wordpress-guide-body {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.wordpress-guide-copy {
    min-width:0;
    flex:1 1 auto;
}

.wordpress-guide-title {
    margin:0 0 5px;
    color:#202124;
    font-size:17px;
    line-height:1.5;
    font-weight:750;
}

.wordpress-guide-copy p {
    margin:0;
    color:#6f7478;
    font-size:12px;
    line-height:1.7;
}

.wordpress-guide-link,
.wordpress-guide-link:link,
.wordpress-guide-link:visited {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-height:38px;
    padding:9px 14px;
    border-radius:5px;
    background:#bf0000;
    color:#fff !important;
    font-size:12px;
    line-height:1.4;
    font-weight:800;
    text-decoration:none !important;
    box-shadow:none !important;
    white-space:nowrap;
    transition:background-color .15s ease;
}

.wordpress-guide-link:hover,
.wordpress-guide-link:focus {
    background:#a90000;
    color:#fff !important;
    text-decoration:none !important;
}

.wordpress-guide-link span {
    margin-left:6px;
    font-size:14px;
}

@media screen and (max-width:700px) {
    .wordpress-guide-box {
        margin:15px 0 19px;
        padding:14px;
    }

    .wordpress-guide-body {
        display:block;
    }

    .wordpress-guide-title {
        font-size:16px;
    }

    .wordpress-guide-link {
        width:100%;
        margin-top:11px;
    }
}

/* ============================================================
   v6.9 - WordPress「選び方記事」読みやすさ改善 完成版
   PC・スマホとも文字サイズを拡大
============================================================ */
.wordpress-guide-eyebrow {
    font-size:15px !important;
    line-height:1.6 !important;
}

.wordpress-guide-title {
    font-size:20px !important;
    line-height:1.5 !important;
    font-weight:750 !important;
}

.wordpress-guide-copy p {
    font-size:15px !important;
    line-height:1.8 !important;
}

.wordpress-guide-link,
.wordpress-guide-link:link,
.wordpress-guide-link:visited {
    min-height:44px !important;
    padding:11px 18px !important;
    font-size:15px !important;
    line-height:1.5 !important;
}

.wordpress-guide-link span {
    font-size:16px !important;
}

@media screen and (max-width:700px) {
    .wordpress-guide-eyebrow {
        font-size:14px !important;
    }

    .wordpress-guide-title {
        font-size:19px !important;
    }

    .wordpress-guide-copy p {
        font-size:14px !important;
    }

    .wordpress-guide-link,
    .wordpress-guide-link:link,
    .wordpress-guide-link:visited {
        font-size:15px !important;
    }
}

/* ============================================================
   v7.0 - WordPress 関連記事（ranking-subguide-○○）
============================================================ */
.wordpress-subguide-box {
    margin: -6px 0 24px;
    padding: 18px 20px;
    border: 1px solid #e2e4e7;
    border-radius: 7px;
    background: #fff;
}

.wordpress-subguide-heading {
    margin: 0 0 10px;
    padding: 0 0 9px;
    border-bottom: 2px solid #bf0000;
    color: #222;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 800;
}

.wordpress-subguide-list {
    display: grid;
    gap: 0;
}

.wordpress-subguide-item,
.wordpress-subguide-item:link,
.wordpress-subguide-item:visited {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px 4px;
    border-bottom: 1px solid #eceff1;
    color: #333 !important;
    font-size: 15px;
    line-height: 1.65;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: none !important;
}

.wordpress-subguide-item:last-child {
    border-bottom: 0;
}

.wordpress-subguide-item:hover,
.wordpress-subguide-item:focus {
    color: #bf0000 !important;
    background: #fffafa;
}

.wordpress-subguide-arrow {
    flex: 0 0 auto;
    color: #bf0000;
    font-size: 22px;
    line-height: 1.15;
    font-weight: 800;
}

@media screen and (max-width:700px) {
    .wordpress-subguide-box {
        margin: -4px 0 20px;
        padding: 15px;
    }

    .wordpress-subguide-heading {
        font-size: 17px;
    }

    .wordpress-subguide-item,
    .wordpress-subguide-item:link,
    .wordpress-subguide-item:visited {
        padding: 10px 3px;
        font-size: 14px;
    }
}


/* ============================================================
   v7.1 - メイン選び方ガイドを関連記事と同じシンプルUIに統一
   ranking-guide-○○ / ranking-subguide-○○
============================================================ */

/* メインガイドも関連記事と同じ白背景・赤下線・リンク1行の構成 */
.wordpress-main-guide-box {
    margin: 18px 0 14px !important;
}

/* 関連記事はメインガイドの直下に自然な間隔で表示 */
.wordpress-main-guide-box + .wordpress-subguide-box {
    margin-top: 0 !important;
}

@media screen and (max-width:700px) {
    .wordpress-main-guide-box {
        margin: 15px 0 12px !important;
    }

    .wordpress-main-guide-box + .wordpress-subguide-box {
        margin-top: 0 !important;
    }
}

/* ============================================================
   v7.2 - WordPressガイドを1つの外枠に統合
   メインガイド + 関連記事を同一ボックス内に表示
============================================================ */

.wordpress-guide-hub {
    margin: 18px 0 24px;
    padding: 18px 20px;
    border: 1px solid #e2e4e7;
    border-radius: 7px;
    background: #fff;
}

.wordpress-guide-hub-section {
    margin: 0;
    padding: 0;
}

/* 2つ目のセクションだけ、上に余白を設ける */
.wordpress-guide-hub-section + .wordpress-guide-hub-section {
    margin-top: 22px;
    padding-top: 0;
}

/* 統合ボックス内では見出し・記事リンクを既存デザインのまま利用 */
.wordpress-guide-hub .wordpress-subguide-heading {
    margin-bottom: 10px;
}

.wordpress-guide-hub .wordpress-subguide-list {
    margin: 0;
}

/* 旧2ボックス用クラスが残っていても、統合表示には影響させない */
.wordpress-guide-hub .wordpress-main-guide-box,
.wordpress-guide-hub .wordpress-subguide-box {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

@media screen and (max-width:700px) {
    .wordpress-guide-hub {
        margin: 15px 0 20px;
        padding: 15px;
    }

    .wordpress-guide-hub-section + .wordpress-guide-hub-section {
        margin-top: 19px;
    }
}

/* ============================================================
   v8.0 UNIFIED DESIGN
   WordPress GeneratePress子テーマと外観を統一
   ランキング/API/クリック計測ロジックには影響しない
============================================================ */
:root{--sn-red:#d70000;--sn-red-dark:#b80000;--sn-ink:#151820;--sn-muted:#667085;--sn-line:#e6e9ee;--sn-bg:#f5f7f9;--sn-panel:#fff;--sn-radius:12px;--sn-shadow:0 8px 28px rgba(24,32,45,.065)}
html,body{background:var(--sn-bg)!important;color:var(--sn-ink)!important}
.site-header.unified-header{height:auto!important;background:#fff!important;border:0!important;overflow:hidden!important}
.unified-header .header-inner{max-width:1180px!important;margin:0 auto!important;padding:24px 24px 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:32px!important;font-size:inherit!important;font-weight:inherit!important}
.header-brand{position:relative;padding-left:18px;flex:1 1 auto}.header-brand:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;background:var(--sn-red);border-radius:4px}
.header-title{display:block;color:#11151b!important;font-size:26px!important;line-height:1.25!important;font-weight:750!important;letter-spacing:.03em;text-decoration:none!important}
.header-tagline{margin-top:4px;color:#697386;font-size:13px;line-height:1.5;letter-spacing:.08em;font-weight:400}
.header-nav{display:flex;align-items:center;gap:4px;flex:0 0 auto}.header-nav a{position:relative;display:flex;align-items:center;gap:6px;height:44px;padding:0 14px;color:#202532;text-decoration:none;font-size:16px;font-weight:700;white-space:nowrap}.header-nav a:hover,.header-nav a.is-current{color:var(--sn-red)}.header-nav a.is-current:after{content:"";position:absolute;left:13px;right:13px;bottom:0;height:2px;background:var(--sn-red);border-radius:2px}
.header-wave{height:76px;background:radial-gradient(120% 105px at 8% 0,rgba(255,214,226,.55) 0 42%,transparent 43%),radial-gradient(105% 100px at 78% 100%,rgba(255,221,226,.62) 0 42%,transparent 43%),linear-gradient(175deg,transparent 0 46%,rgba(255,227,234,.72) 47% 62%,transparent 63%);border-bottom:1px solid rgba(230,233,238,.8)}
.layout{max-width:1180px!important;margin:28px auto 46px!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:24px!important;padding:0 18px!important;align-items:start!important}
.main{margin:0!important;padding:34px 36px 38px!important;background:#fff!important;border:1px solid #eceff3!important;border-radius:var(--sn-radius)!important;box-shadow:var(--sn-shadow)!important;align-self:start!important}
.side-column{margin:0!important;padding:0!important;background:transparent!important;align-self:start!important}
.side-column>.product-search-sidebar,.side-column>.sidebar,.side-column>.recommended-sidebar{background:#fff!important;border:1px solid #e4e7eb!important;border-radius:10px!important;box-shadow:0 5px 18px rgba(24,32,45,.05)!important;overflow:hidden!important}
.side-column>.product-search-sidebar,.side-column>.sidebar{margin-bottom:18px!important}
h1{color:#171a20!important;font-size:32px!important;line-height:1.45!important;font-weight:550!important;letter-spacing:.025em!important}
@media(max-width:900px){.unified-header .header-inner{display:block!important;padding:18px 18px 12px!important}.header-brand{margin-bottom:8px}.header-wave{height:42px}.header-nav{flex-wrap:wrap}.layout{grid-template-columns:1fr!important;margin-top:20px!important}.side-column{order:0!important;margin-top:20px!important}.main{padding:26px 24px!important}.header-title{font-size:23px!important}}
@media(max-width:650px){.unified-header .header-inner{padding:16px 14px 10px!important}.header-brand{padding-left:13px}.header-title{font-size:20px!important}.header-tagline{font-size:11px;letter-spacing:.04em}.header-nav a{font-size:12px;padding:0 9px;height:38px}.header-wave{height:30px}.layout{margin-top:14px!important;padding:0 10px!important}.main{padding:22px 16px!important;border-radius:8px!important}h1{font-size:24px!important}}

/* ============================================================
   v8.1 HEADER + SEARCH CARD
   WordPress子テーマ v1.1 と共通デザイン
============================================================ */
:root{--sn-red:#d90012;--sn-red-dark:#b9000d;--sn-ink:#151820;--sn-muted:#667085;--sn-line:#e5e8ee;--sn-bg:#f4f6f8;--sn-panel:#fff;--sn-radius:12px;--sn-shadow:0 8px 28px rgba(24,32,45,.065)}

/* 旧ヘッダー定義を上書き */
.site-header,.unified-header{display:none!important}
.sn-site-header{display:block!important;position:relative;z-index:10;background:#fff;border:0;box-shadow:none}
.sn-header-main{height:112px;background:#fff}
.sn-header-inner{width:100%;max-width:1180px;height:112px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:42px}
.sn-brand{position:relative;display:flex;align-items:center;min-width:0;padding-left:22px;color:inherit;text-decoration:none}
.sn-brand-line{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--sn-red);border-radius:3px}
.sn-brand-copy{display:block;min-width:0}
.sn-brand-title{display:block;color:#11151b;font-size:27px;line-height:1.2;font-weight:750;letter-spacing:.025em;white-space:nowrap}
.sn-brand-tagline{display:block;margin-top:7px;color:#6c7584;font-size:13px;line-height:1.45;letter-spacing:.06em;white-space:nowrap}
.sn-header-nav{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 0 auto}
.sn-nav-link{position:relative;display:flex;align-items:center;gap:7px;height:48px;padding:0 12px;color:#1d2330;text-decoration:none;font-size:16px!important;font-weight:700;white-space:nowrap}
.sn-nav-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px}
.sn-nav-link:first-child svg{fill:currentColor;stroke:none}
.sn-nav-link:hover,.sn-nav-link:focus,.sn-nav-link.is-current{color:var(--sn-red)}
.sn-nav-link.is-current:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:var(--sn-red);border-radius:3px}
.sn-header-wave{position:relative;height:82px;overflow:hidden;background:#fff;border-bottom:1px solid rgba(227,231,236,.85)}
.sn-wave{position:absolute;left:-5%;width:110%;height:115px;border-radius:50%;pointer-events:none}
.sn-wave-one{top:15px;background:rgba(255,225,232,.72);transform:rotate(-2.1deg)}
.sn-wave-two{top:34px;background:rgba(255,241,236,.84);transform:rotate(2.3deg);mix-blend-mode:multiply}
.sn-header-wave:after{content:"";position:absolute;left:-8%;right:-8%;top:47px;height:70px;background:#fff;border-radius:50% 50% 0 0/32% 32% 0 0;transform:rotate(-1deg)}

/* 本文・サイドバーの上辺を完全に統一 */
.layout{max-width:1180px!important;margin:28px auto 46px!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:24px!important;padding:0 18px!important;align-items:start!important}
.main{margin:0!important;padding:34px 36px 38px!important;border:1px solid #eceff3!important;border-radius:12px!important;box-shadow:var(--sn-shadow)!important;background:#fff!important}
.side-column{align-self:start!important;margin:0!important;padding:0!important;background:transparent!important}

/* 商品検索カード */
.product-search-sidebar{margin:0 0 18px!important;padding:0 14px 15px!important;background:#fff!important;border:1px solid #dde2e8!important;border-radius:10px!important;box-shadow:0 4px 16px rgba(25,33,45,.045)!important;overflow:hidden!important}
.product-search-title{display:flex!important;align-items:center!important;min-height:50px!important;margin:0 -14px 11px!important;padding:0 14px!important;border-bottom:1px solid #e7eaf0!important;color:#171a20!important;font-size:14px!important;font-weight:800!important}
.product-search-title-mark{width:3px!important;height:24px!important;margin-right:11px!important;background:var(--sn-red)!important;border-radius:3px!important;flex:0 0 3px!important}
.product-search-form{margin:0!important;padding:0!important}
.product-search-label{display:block!important;margin:0 0 9px!important;color:#77808f!important;font-size:12px!important;line-height:1.5!important}
.product-search-row{display:flex!important;gap:8px!important;align-items:stretch!important}
.product-search-input{width:100%!important;min-width:0!important;height:42px!important;margin:0!important;padding:0 12px!important;background:#fff!important;border:1px solid #d9dee6!important;border-radius:6px!important;color:#252a33!important;font-size:13px!important;box-shadow:none!important}
.product-search-button{min-width:68px!important;height:42px!important;margin:0!important;padding:0 14px!important;background:var(--sn-red)!important;border:0!important;border-radius:6px!important;color:#fff!important;font-size:13px!important;font-weight:800!important;box-shadow:none!important;cursor:pointer!important}
.product-search-button:hover{background:var(--sn-red-dark)!important}

@media(max-width:1000px){.sn-header-inner{gap:20px}.sn-brand-title{font-size:23px}.sn-brand-tagline{font-size:11px}.sn-header-nav{gap:2px}.sn-nav-link{padding:0 8px;font-size:16px!important}}
@media(max-width:900px){.sn-header-main{height:auto}.sn-header-inner{height:auto;min-height:98px;padding:18px;display:block}.sn-brand{display:inline-flex}.sn-header-nav{margin-top:12px;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.sn-header-wave{height:48px}.sn-wave{height:80px}.sn-wave-one{top:11px}.sn-wave-two{top:25px}.sn-header-wave:after{top:33px;height:50px}.layout{grid-template-columns:1fr!important}.side-column{order:0!important}.main{padding:26px 24px!important}}
@media(max-width:650px){.sn-header-inner{padding:15px 13px}.sn-brand{padding-left:15px}.sn-brand-title{font-size:20px}.sn-brand-tagline{font-size:10.5px;white-space:normal}.sn-header-nav{gap:0}.sn-nav-link{height:40px;padding:0 8px;font-size:14px!important}.sn-nav-link svg{width:15px;height:15px}.sn-header-wave{height:35px}.layout{margin-top:14px!important;padding:0 10px!important}.main{padding:22px 16px!important}}

/* ============================================================
   v8.2 HEADER SPACING SYNC
   WordPress子テーマ v1.2 とヘッダー上下余白を完全統一
   - サイト名上側に余白を追加
   - キャッチコピー下の空白を圧縮
   - 波形エリアを82px -> 58pxへ圧縮
   PHP機能・ランキング・検索・クリック計測には影響しない
============================================================ */
@media screen and (min-width:901px) {
    .sn-header-main {
        height:104px !important;
    }

    .sn-header-inner {
        height:104px !important;
        padding:12px 20px 2px !important;
    }

    .sn-header-wave {
        height:58px !important;
    }

    .sn-wave {
        height:115px !important;
    }

    .sn-wave-one {
        top:5px !important;
    }

    .sn-wave-two {
        top:22px !important;
    }

    .sn-header-wave::after {
        top:35px !important;
        height:70px !important;
    }
}


/* ============================================================
   v8.3 CLEAN HEADER SYNC
   WordPress 子テーマ v1.3 と共通
   - サイト名の上に余白を確保
   - ピンクの波形・模様を完全削除
   - 白背景 + 薄い下線のシンプルなヘッダー
   ランキング / 検索 / クリック計測には影響しません
============================================================ */
.sn-site-header{
    background:#fff!important;
    border-bottom:1px solid #e7eaf0!important;
    box-shadow:none!important;
}
.sn-header-main{
    height:auto!important;
    background:#fff!important;
}
.sn-header-inner{
    height:auto!important;
    min-height:112px!important;
    padding:24px 20px 16px!important;
    align-items:center!important;
}
.sn-header-wave,
.sn-wave,
.sn-wave-one,
.sn-wave-two{
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:none!important;
}
.sn-header-wave::after{
    display:none!important;
    content:none!important;
}

@media screen and (max-width:900px){
    .sn-header-inner{
        min-height:0!important;
        padding:22px 18px 16px!important;
    }
}
@media screen and (max-width:650px){
    .sn-header-inner{
        padding:20px 13px 14px!important;
    }
}


/* ============================================================
   v1.5 カード表示方針
   多重検索＋楽天ランキング補完。表示はシンプルに維持。
============================================================ */
.select-card .ranking-source-note,
.select-card .candidate-source-note,
.select-card .select-match,
.select-card .select-trust,
.select-card .select-identity,
.select-card .select-profile-grid,
.select-card .select-evidence,
.select-card .select-identity-note,
.select-card .select-match-summary,
.select-card .select-reasons,
.select-card .select-reason-text{
    display:none !important;
}

/* =========================================================
   v2.4.3 WordPress側と条件選択UIを完全統一
   WordPress基準:
   font-size:13px / padding:7px 13px / radius:4px / line-height:1.25
========================================================= */
.selector-options label span,
.selector-form label span,
.ps-v2-options label span,
.select-options label span {
    display: inline-block !important;
    padding: 7px 13px !important;
    border: 1px solid #d8dde2 !important;
    border-radius: 4px !important;
    background: #fff !important;
    line-height: 1.25 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}

.selector-options input[type="radio"]:checked + span,
.selector-form input[type="radio"]:checked + span,
.ps-v2-options input[type="radio"]:checked + span,
.select-options input[type="radio"]:checked + span {
    border-color: #d52b2b !important;
    background: #fff6f6 !important;
    color: #b60000 !important;
    font-weight: 700 !important;
}

@media (max-width: 640px) {
    .selector-options label span,
    .selector-form label span,
    .ps-v2-options label span,
    .select-options label span {
        padding: 7px 13px !important;
        font-size: 13px !important;
    }
}
