/* 美顔器の教科書の記事本文。ランキングや会話ボックスなどの独自記法（bk-mc-* / st-kaiwa-* …）は
   本番のページに <style> で書かれていたので、記事で実際に使われているルールだけを取り出し、
   .bk-article .entry-content の中に閉じ込めたもの（2026-09-19）。 */
.bk-article .entry-content .serc-waku { padding:20px;background:#f1f1f1;border-radius:10px;margin-bottom:50px; }
.bk-article .entry-content .serc-waku-naka { padding:20px;background:#fff;border-radius:10px 10px 0 0; }
.bk-article .entry-content .serc-waku-naka label { display:inline-block;width:22%;font-size:0.75em;padding:4px 8px 5px;margin:5px 2px;background:#f1f1f1;border-radius:5px; }
.bk-article .entry-content .serc-waku-naka label span { padding-left:5px; }
.bk-article .entry-content .serc-waku-naka input[type="checkbox"]:checked + .checkbox { background:red; }
.bk-article .entry-content .serc-t { font-weight:bold;border-bottom:solid #f1f1f1; }
@media only screen and (max-width: 750px) {
  .bk-article .entry-content .serc-waku { padding:3px;border-radius:5px;margin-bottom:30px; }
  .bk-article .entry-content .serc-waku-naka { padding:5px;border-radius:5px; }
  .bk-article .entry-content .serc-waku-naka label { width:44%;font-size:0.5em;padding:3px 6px;margin:2px 1px;border-radius:2px; }
  .bk-article .entry-content .serc-waku-naka label span { padding-left:3px; }
  .bk-article .entry-content .serc-t { font-size:14px; }
}
.bk-article .entry-content .bk-faq-qlabel { flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#b52159;color:#fff;font-size:1rem;font-weight:900;font-style:italic;line-height:1; }
.bk-article .entry-content .bk-faq-q[aria-expanded="true"] .bk-faq-qlabel { background:#8e1948; }
.bk-article .entry-content .bk-faq-qtext { flex:1; }
.bk-article .entry-content .bk-faq-alabel { flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#fce4ec;color:#b52159;font-size:1rem;font-weight:900;font-style:italic;line-height:1;margin-top:2px; }
.bk-article .entry-content .bk-faq-atext { flex:1;font-size:0.91rem;color:#444; }
.bk-article .entry-content .bk-faq-atext p { margin:0 0 10px; }
.bk-article .entry-content .bk-faq-atext p:last-child { margin-bottom:0; }
.bk-article .entry-content .bk-faq-atext ul { margin:6px 0 10px;padding-left:20px; }
.bk-article .entry-content .bk-faq-atext li { margin-bottom:5px;line-height:1.65; }
.bk-article .entry-content .bk-faq-atext strong { color:#b52159; }
.bk-article .entry-content .bk-faq-atext a { color:#b52159;text-decoration:underline; }
.bk-article .entry-content .bk-faq-atext a:hover { color:#8e1948; }
@media(max-width:480px) {
  .bk-article .entry-content .bk-faq-qlabel, .bk-article .entry-content .bk-faq-alabel { width:28px;height:28px;font-size:0.9rem;border-radius:6px; }
  .bk-article .entry-content .bk-faq-atext { font-size:0.88rem; }
}
.bk-article .entry-content .bk-mc-h2 { font-size:clamp(1.15rem, 2.8vw, 1.45rem);font-weight:700;color:#1a1a1a;border-left:5px solid #b52159;padding:6px 0 6px 14px;margin:0 0 20px;line-height:1.4; }
.bk-article .entry-content .bk-mc-h3 { font-size:clamp(0.97rem, 2.2vw, 1.12rem);font-weight:700;color:#222;border-bottom:2px solid #f0ccd8;padding-bottom:7px;margin:28px 0 14px; }
.bk-article .entry-content .bk-mc-lead-text strong, .bk-article .entry-content .bk-mc-check-list strong, .bk-article .entry-content .bk-mc-summary-list strong, .bk-article .entry-content .bk-mc-summary-box > p strong, .bk-article .entry-content .bk-mc-faq-atext strong, .bk-article .entry-content .bk-mc-callout-pink strong { color:#b52159; }
.bk-article .entry-content .bk-mc-check-list { background:#fff;border-radius:10px;padding:14px 18px;border:1px solid #f0ccd8;margin-top:14px; }
.bk-article .entry-content .bk-mc-check-title { font-weight:700;font-size:0.9rem;margin:0 0 8px;color:#b52159; }
.bk-article .entry-content .bk-mc-check-list ul, .bk-article .entry-content .bk-mc-summary-list, .bk-article .entry-content .bk-mc-internal-nav ul { margin:0;padding-left:20px; }
.bk-article .entry-content .bk-mc-check-list li, .bk-article .entry-content .bk-mc-summary-list li, .bk-article .entry-content .bk-mc-internal-nav li { margin-bottom:5px;line-height:1.65; }
.bk-article .entry-content .bk-mc-steps, .bk-article .entry-content .bk-mc-howto-list, .bk-article .entry-content .bk-mc-rank-list, .bk-article .entry-content .bk-mc-faq-list { display:flex;flex-direction:column; }
.bk-article .entry-content .bk-mc-steps, .bk-article .entry-content .bk-mc-howto-list { gap:12px;margin:14px 0; }
.bk-article .entry-content .bk-mc-step, .bk-article .entry-content .bk-mc-howto-item { display:flex;gap:14px;align-items:flex-start;background:#fff;border:1.5px solid #f0ccd8;border-radius:12px;padding:14px 16px; }
.bk-article .entry-content .bk-mc-step-num { flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#b52159;color:#fff;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center; }
.bk-article .entry-content .bk-mc-howto-num { flex-shrink:0;background:#b52159;color:#fff;font-size:0.7rem;font-weight:700;border-radius:6px;padding:4px 8px;white-space:nowrap;margin-top:2px; }
.bk-article .entry-content .bk-mc-step-body, .bk-article .entry-content .bk-mc-howto-body { flex:1;font-size:0.9rem; }
.bk-article .entry-content .bk-mc-step-body strong, .bk-article .entry-content .bk-mc-howto-body strong { display:block;font-size:0.93rem;margin-bottom:4px;color:#222; }
.bk-article .entry-content .bk-mc-step-body p, .bk-article .entry-content .bk-mc-howto-body p { margin:0;color:#555;font-size:0.88rem; }
.bk-article .entry-content .bk-mc-step-title, .bk-article .entry-content .bk-mc-tl-title { font-weight:700;font-size:1rem;color:#c0446a;margin:0 0 6px; }
.bk-article .entry-content .bk-mc-info-box { display:flex;gap:12px;align-items:flex-start;background:#e8f4fd;border-left:4px solid #2980b9;border-radius:0 10px 10px 0;padding:14px 16px;margin:18px 0; }
.bk-article .entry-content .bk-mc-info-icon { font-size:1.4rem;flex-shrink:0; }
.bk-article .entry-content .bk-mc-info-box p, .bk-article .entry-content .bk-mc-callout-blue strong { color:#1a4a6e; }
.bk-article .entry-content .bk-mc-info-box p { margin:0;font-size:0.9rem; }
.bk-article .entry-content .bk-mc-callout { border-radius:10px;padding:14px 18px;margin:18px 0;font-size:0.91rem;line-height:1.75; }
.bk-article .entry-content .bk-mc-callout-pink { background:#fff0f5;border-left:4px solid #b52159; }
.bk-article .entry-content .bk-mc-callout ul { margin:8px 0 0;padding-left:20px; }
.bk-article .entry-content .bk-mc-callout li { margin-bottom:5px; }
.bk-article .entry-content .bk-mc-table-scroll { overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0 24px;border-radius:10px;border:1.5px solid #f0ccd8; }
.bk-article .entry-content .bk-mc-compare-table { width:100%;border-collapse:collapse;min-width:500px;font-size:0.87rem; }
.bk-article .entry-content .bk-mc-compare-table thead { background:#fdf2f6; }
.bk-article .entry-content .bk-mc-compare-table th { padding:11px 13px;text-align:center;font-weight:700;color:#b52159;border-bottom:2px solid #f0ccd8;white-space:nowrap; }
.bk-article .entry-content .bk-mc-compare-table td { padding:10px 13px;border-bottom:1px solid #f5e6ed;text-align:center;vertical-align:middle; }
.bk-article .entry-content .bk-mc-th-cell { text-align:left !important;font-weight:600;background:#fdf2f6;color:#b52159; }
.bk-article .entry-content .bk-mc-compare-table tbody tr:last-child td { border-bottom:none; }
.bk-article .entry-content .bk-mc-compare-table tbody tr:hover { background:#fff5f8; }
.bk-article .entry-content .bk-mc-yes { color:#27ae60;font-weight:700; }
.bk-article .entry-content .bk-mc-no { color:#c0c0c0; }
.bk-article .entry-content .bk-mc-effect-note, .bk-article .entry-content .bk-mc-worry-note { font-size:0.78rem !important;color:#aaa !important; }
.bk-article .entry-content .bk-mc-timeline { position:relative;padding-left:24px;margin:14px 0 28px; }
.bk-article .entry-content .bk-mc-timeline::before { content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;background:#f0ccd8; }
.bk-article .entry-content .bk-mc-tl-item { display:flex;gap:16px;align-items:flex-start;margin-bottom:20px;position:relative; }
.bk-article .entry-content .bk-mc-tl-item::before { content:"";position:absolute;left:-16px;top:13px;width:10px;height:10px;border-radius:50%;background:#b52159;border:2px solid #fff;box-shadow:0 0 0 2px #b52159; }
.bk-article .entry-content .bk-mc-tl-period { flex-shrink:0;width:72px;font-size:0.78rem;font-weight:700;color:#b52159;text-align:center;background:#fce4ec;border-radius:8px;padding:7px 4px;line-height:1.4; }
.bk-article .entry-content .bk-mc-tl-body { flex:1;background:#fff;border:1px solid #f0ccd8;border-radius:10px;padding:12px 14px; }
.bk-article .entry-content .bk-mc-tl-body strong { display:block;font-size:0.93rem;margin-bottom:5px;color:#222; }
.bk-article .entry-content .bk-mc-tl-body p { font-size:0.87rem;margin:0;color:#555; }
.bk-article .entry-content .bk-mc-rank-list { gap:20px;margin:16px 0 32px; }
.bk-article .entry-content .bk-mc-rank-item { display:flex;gap:16px;border:1.5px solid #f0ccd8;border-radius:14px;padding:18px;background:#fff;box-shadow:0 2px 10px rgba(0, 0, 0, 0.06);transition:box-shadow 0.18s; }
.bk-article .entry-content .bk-mc-rank-item:hover { box-shadow:0 5px 18px rgba(0, 0, 0, 0.1); }
.bk-article .entry-content .bk-mc-rank-1 { border-color:#d4a017;background:linear-gradient(135deg, #fffbf0 0%, #fff 100%); }
.bk-article .entry-content .bk-mc-rank-2 { border-color:#9e9e9e;background:linear-gradient(135deg, #f8f8f8 0%, #fff 100%); }
.bk-article .entry-content .bk-mc-rank-3 { border-color:#c47d50;background:linear-gradient(135deg, #fdf6f0 0%, #fff 100%); }
.bk-article .entry-content .bk-mc-rank-other { background:#fff;color:#555; }
.bk-article .entry-content .bk-mc-rank-badge { flex-shrink:0;width:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px; }
.bk-article .entry-content .bk-mc-rno { font-size:1.7rem;font-weight:900;line-height:1;color:#b52159; }
.bk-article .entry-content .bk-mc-rank-1 .bk-mc-rno { color:#c8972b; }
.bk-article .entry-content .bk-mc-rank-2 .bk-mc-rno { color:#757575; }
.bk-article .entry-content .bk-mc-rank-3 .bk-mc-rno { color:#a0522d; }
.bk-article .entry-content .bk-mc-rlbl { font-size:0.72rem;color:#aaa;font-weight:600; }
.bk-article .entry-content .bk-mc-rank-body { flex:1;min-width:0; }
.bk-article .entry-content .bk-mc-rank-header { display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px; }
.bk-article .entry-content .bk-mc-prod-name { font-size:1rem;font-weight:700;color:#1a1a1a;margin:0 0 3px;line-height:1.35; }
.bk-article .entry-content .bk-mc-prod-sub { font-size:0.79rem;color:#888;margin:0; }
.bk-article .entry-content .bk-mc-rec-badge { flex-shrink:0;font-size:0.7rem;font-weight:700;background:#b52159;color:#fff;border-radius:20px;padding:3px 10px;white-space:nowrap;align-self:flex-start; }
.bk-article .entry-content .bk-mc-rec-multi { background:#6c3483; }
.bk-article .entry-content .bk-mc-rec-cost { background:#c47d50; }
.bk-article .entry-content .bk-mc-rec-young { background:#1a5276; }
.bk-article .entry-content .bk-mc-rec-premium { background:#1b5e20; }
.bk-article .entry-content .bk-mc-rank-tags { display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px; }
.bk-article .entry-content .bk-mc-tag { font-size:0.73rem;background:#fce4ec;color:#b52159;border:1px solid #f0ccd8;border-radius:20px;padding:2px 10px; }
.bk-article .entry-content .bk-mc-tag-green { background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7; }
.bk-article .entry-content .bk-mc-tag-gold { background:#fff8e1;color:#b8860b;border-color:#ffe082; }
.bk-article .entry-content .bk-mc-tag-blue { background:#e3f2fd;color:#1565c0;border-color:#90caf9; }
.bk-article .entry-content .bk-mc-rank-desc { font-size:0.9rem;color:#444;margin:0 0 12px;line-height:1.75; }
.bk-article .entry-content .bk-mc-rank-pros-cons { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px; }
.bk-article .entry-content .bk-mc-pros, .bk-article .entry-content .bk-mc-cons { background:#fafafa;border-radius:8px;padding:10px 12px;font-size:0.82rem; }
.bk-article .entry-content .bk-mc-pros { border-left:3px solid #27ae60; }
.bk-article .entry-content .bk-mc-cons { border-left:3px solid #e74c3c; }
.bk-article .entry-content .bk-mc-pros p, .bk-article .entry-content .bk-mc-cons p { font-weight:700;margin:0 0 6px;font-size:0.82rem; }
.bk-article .entry-content .bk-mc-pros ul, .bk-article .entry-content .bk-mc-cons ul { margin:0;padding-left:16px; }
.bk-article .entry-content .bk-mc-pros li, .bk-article .entry-content .bk-mc-cons li { margin-bottom:3px;line-height:1.5; }
.bk-article .entry-content .bk-mc-rank-btns { display:flex;gap:8px;flex-wrap:wrap; }
.bk-article .entry-content .bk-mc-btn-buy { display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:7px;background:#b52159;color:#fff !important;font-size:0.85rem;font-weight:700;text-decoration:none !important;transition:background 0.18s, transform 0.1s;flex:1;min-width:120px;text-align:center; }
.bk-article .entry-content .bk-mc-btn-buy:hover { background:#8e1948;transform:translateY(-1px); }
.bk-article .entry-content .bk-mc-btn-rakuten { background:#bf0000; }
.bk-article .entry-content .bk-mc-btn-rakuten:hover { background:#8b0000; }
.bk-article .entry-content .bk-mc-btn-detail { background:transparent !important;color:#b52159 !important;border:1.5px solid #b52159 !important;box-shadow:none; }
.bk-article .entry-content .bk-mc-btn-detail:hover { background:#fff0f5 !important;transform:translateY(-1px); }
.bk-article .entry-content .bk-mc-rank-divider { text-align:center;font-weight:700;color:#b52159;font-size:0.88rem;letter-spacing:0.05em;padding:6px 0;border-top:2px solid #f0ccd8;border-bottom:2px solid #f0ccd8;margin:4px 0;background:#fff0f5;border-radius:8px; }
.bk-article .entry-content .bk-mc-rank-spec-row { display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px; }
.bk-article .entry-content .bk-mc-rank-spec-row span { font-size:0.8rem;color:#555;background:#fdf2f6;border:1px solid #f0ccd8;border-radius:6px;padding:3px 10px;line-height:1.5; }
.bk-article .entry-content .bk-mc-update-badge { display:inline-block;background:#fff8e1;border:1px solid #ffe0b2;color:#e65100;font-size:0.75rem;font-weight:700;padding:4px 14px;border-radius:20px;margin-bottom:16px; }
.bk-article .entry-content .bk-mc-caution-card { border-radius:12px;padding:16px 18px;font-size:0.88rem; }
.bk-article .entry-content .bk-mc-caution-ng { background:#fdecea;border:1.5px solid #e57373; }
.bk-article .entry-content .bk-mc-caution-warn { background:#fff8e1;border:1.5px solid #ffd54f; }
.bk-article .entry-content .bk-mc-caution-card h3 { font-size:0.93rem;font-weight:700;margin:0 0 10px; }
.bk-article .entry-content .bk-mc-caution-ng h3 { color:#c62828; }
.bk-article .entry-content .bk-mc-caution-warn h3 { color:#e65100; }
.bk-article .entry-content .bk-mc-caution-card ul { margin:0;padding-left:18px; }
.bk-article .entry-content .bk-mc-caution-card li { margin-bottom:5px;line-height:1.6; }
.bk-article .entry-content .bk-mc-faq-list { gap:16px; }
.bk-article .entry-content .bk-mc-faq-item { border-radius:12px;border:1.5px solid #f0ccd8;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(0, 0, 0, 0.04); }
.bk-article .entry-content .bk-mc-faq-q { display:flex;align-items:center;gap:12px;padding:14px 18px;background:#fff0f5;border-bottom:1px solid #f0ccd8; }
.bk-article .entry-content .bk-mc-faq-qlabel, .bk-article .entry-content .bk-mc-faq-alabel { flex-shrink:0;width:30px;height:30px;border-radius:8px;font-size:0.95rem;font-weight:900;font-style:italic;display:flex;align-items:center;justify-content:center; }
.bk-article .entry-content .bk-mc-faq-qlabel { background:#b52159;color:#fff; }
.bk-article .entry-content .bk-mc-faq-qtext { flex:1;font-size:0.95rem;font-weight:700;color:#1a1a1a;line-height:1.45; }
.bk-article .entry-content .bk-mc-faq-a { display:flex;align-items:flex-start;gap:12px;padding:14px 18px;background:#fff; }
.bk-article .entry-content .bk-mc-faq-alabel { background:#fce4ec;color:#b52159;margin-top:1px; }
.bk-article .entry-content .bk-mc-faq-atext { flex:1;font-size:0.9rem;color:#444;line-height:1.75; }
.bk-article .entry-content .bk-mc-faq-atext p { margin:0 0 8px; }
.bk-article .entry-content .bk-mc-faq-atext p:last-child { margin-bottom:0; }
.bk-article .entry-content .bk-mc-faq-atext ul { margin:6px 0 10px;padding-left:18px; }
.bk-article .entry-content .bk-mc-faq-atext li { margin-bottom:5px;line-height:1.65; }
.bk-article .entry-content .bk-mc-faq-atext a { color:#b52159;text-decoration:underline; }
.bk-article .entry-content .bk-mc-summary-box { background:#fff5f8;border:1.5px solid #f0ccd8;border-radius:14px;padding:22px 24px; }
.bk-article .entry-content .bk-mc-summary-box h3 { font-size:1rem;font-weight:700;margin:0 0 14px;color:#b52159; }
.bk-article .entry-content .bk-mc-summary-list li { font-size:0.92rem;line-height:1.7; }
.bk-article .entry-content .bk-mc-summary-box > p { font-size:0.92rem;margin:0 0 8px; }
.bk-article .entry-content .bk-mc-wt-tag { display:inline-block;font-size:0.77rem;font-weight:700;border-radius:20px;padding:2px 10px;white-space:nowrap; }
.bk-article .entry-content .bk-mc-wt-red { background:#fce4ec;color:#b52159; }
.bk-article .entry-content .bk-mc-wt-pink { background:#fce4ec;color:#c0306a; }
.bk-article .entry-content .bk-mc-wt-purple { background:#f3e5f5;color:#6c3483; }
.bk-article .entry-content .bk-mc-wt-yellow { background:#fff8e1;color:#b8860b; }
.bk-article .entry-content .bk-mc-wt-blue { background:#e3f2fd;color:#1565c0; }
.bk-article .entry-content .bk-mc-wt-teal { background:#e0f2f1;color:#00695c; }
.bk-article .entry-content .bk-mc-worry-grid { display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:20px;margin:20px 0; }
.bk-article .entry-content .bk-mc-worry-card { border:1.5px solid #f0ccd8;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 2px 10px rgba(0, 0, 0, 0.06);display:flex;flex-direction:column; }
.bk-article .entry-content .bk-mc-worry-head { display:flex;align-items:center;gap:10px;padding:14px 16px; }
.bk-article .entry-content .bk-mc-worry-head-red { background:linear-gradient(90deg, #b52159, #b52159);color:#fff; }
.bk-article .entry-content .bk-mc-worry-head-pink { background:linear-gradient(90deg, #ff69b4, #ff69b4);color:#fff; }
.bk-article .entry-content .bk-mc-worry-head-purple { background:linear-gradient(90deg, #9b59b6, #9b59b6);color:#fff; }
.bk-article .entry-content .bk-mc-worry-head-yellow { background:linear-gradient(90deg, #f3c55a, #f3c55a);color:#fff; }
.bk-article .entry-content .bk-mc-worry-head-blue { background:linear-gradient(90deg, #42a5f5, #42a5f5);color:#fff; }
.bk-article .entry-content .bk-mc-worry-head-teal { background:linear-gradient(90deg, #26a69a, #26a69a);color:#fff; }
.bk-article .entry-content .bk-mc-worry-icon { font-size:1.4rem;flex-shrink:0; }
.bk-article .entry-content .bk-mc-worry-body { padding:14px 16px;display:flex;flex-direction:column;flex:1; }
.bk-article .entry-content .bk-mc-worry-desc { font-size:0.87rem;color:#444;line-height:1.75;margin:0 0 10px; }
.bk-article .entry-content .bk-mc-worry-badge { display:inline-block;background:#fff0f5;color:#b52159;font-size:0.76rem;font-weight:700;border:1px solid #f0ccd8;border-radius:20px;padding:3px 12px;margin-bottom:12px;align-self:flex-start; }
.bk-article .entry-content .bk-mc-worry-picks { background:#fdf8fb;border-radius:10px;padding:10px 12px;margin-bottom:12px;flex:1; }
.bk-article .entry-content .bk-mc-picks-label { font-size:0.76rem;font-weight:700;color:#999;margin:0 0 8px; }
.bk-article .entry-content .bk-mc-picks-list { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px; }
.bk-article .entry-content .bk-mc-picks-list li { display:flex;gap:8px;align-items:flex-start; }
.bk-article .entry-content .bk-mc-picks-rank { flex-shrink:0;background:#b52159;color:#fff;font-size:0.68rem;font-weight:700;border-radius:12px;padding:2px 7px;margin-top:2px;white-space:nowrap; }
.bk-article .entry-content .bk-mc-picks-info { font-size:0.84rem; }
.bk-article .entry-content .bk-mc-picks-info strong { display:block;color:#222;margin-bottom:2px;line-height:1.4; }
.bk-article .entry-content .bk-mc-picks-info span { color:#666;font-size:0.79rem; }
.bk-article .entry-content .bk-mc-worry-cta { display:block;text-align:center;background:#b52159;color:#fff !important;font-size:0.84rem;font-weight:700;border-radius:7px;padding:10px 16px;text-decoration:none !important;transition:background 0.18s;margin-top:auto; }
.bk-article .entry-content .bk-mc-worry-cta:hover { background:#8e1948; }
.bk-article .entry-content .bk-mc-worry-table-wrap { margin:28px 0 8px; }
.bk-article .entry-content .bk-mc-worry-table-title { font-size:0.97rem;font-weight:700;color:#b52159;margin:0 0 12px; }
.bk-article .entry-content .bk-mc-worry-table-scroll { overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px;border:1.5px solid #f0ccd8; }
.bk-article .entry-content .bk-mc-worry-table { width:100%;border-collapse:collapse;min-width:460px;font-size:0.86rem; }
.bk-article .entry-content .bk-mc-worry-table thead { background:#fdf2f6; }
.bk-article .entry-content .bk-mc-worry-table th { padding:10px 12px;font-weight:700;color:#b52159;border-bottom:2px solid #f0ccd8;white-space:nowrap;text-align:left; }
.bk-article .entry-content .bk-mc-worry-table td { padding:9px 12px;border-bottom:1px solid #f5e6ed;vertical-align:middle; }
.bk-article .entry-content .bk-mc-worry-table tbody tr:last-child td { border-bottom:none; }
.bk-article .entry-content .bk-mc-worry-table tbody tr:hover { background:#fff5f8; }
@media(max-width:680px) {
  .bk-article .entry-content .bk-mc-effects-grid, .bk-article .entry-content .bk-mc-rank-pros-cons, .bk-article .entry-content .bk-mc-caution-grid { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .bk-article .entry-content .bk-mc-rank-item { flex-direction:column;gap:10px;padding:14px; }
  .bk-article .entry-content .bk-mc-rank-badge { flex-direction:row;width:auto;gap:4px; }
  .bk-article .entry-content .bk-mc-rno { font-size:1.4rem; }
  .bk-article .entry-content .bk-mc-rank-header { flex-direction:column;gap:6px; }
  .bk-article .entry-content .bk-mc-rank-btns { flex-direction:column; }
  .bk-article .entry-content .bk-mc-btn-buy { min-width:unset; }
  .bk-article .entry-content .bk-mc-tl-item, .bk-article .entry-content .bk-mc-step, .bk-article .entry-content .bk-mc-howto-item { flex-direction:column;gap:8px; }
  .bk-article .entry-content .bk-mc-tl-period { width:100%;text-align:left; }
  .bk-article .entry-content .bk-mc-faq-q, .bk-article .entry-content .bk-mc-faq-a { padding:12px 14px; }
  .bk-article .entry-content .bk-mc-faq-qlabel, .bk-article .entry-content .bk-mc-faq-alabel { width:26px;height:26px;font-size:0.88rem;border-radius:6px; }
  .bk-article .entry-content .bk-mc-faq-qtext { font-size:0.9rem; }
  .bk-article .entry-content .bk-mc-faq-atext { font-size:0.87rem; }
}
.bk-article .entry-content .bk-mc-worry-grid { display:grid !important;grid-template-columns:repeat(2, 1fr) !important;width:100% !important;float:none !important; }

/* ---- 本番のページの <style> に無かった記法（テーマ側の CSS に入っていた分）を書き足す --------
   会話の吹き出し（st-kaiwa-*）／機能カード（waku-na・t-na・setu-na）／強調（huto・hutoaka）／
   星（fa-star。Font Awesome は読み込んでいないので CSS で描く） */
.bk-article .entry-content .st-kaiwa-box { display: grid; grid-template-columns: 68px 1fr; gap: 16px; align-items: start; margin: 1.8rem 0; }
.bk-article .entry-content .st-kaiwa-box.st-kaiwa-r { grid-template-columns: 1fr 68px; }
.bk-article .entry-content .st-kaiwa-face { margin: 0; text-align: center; }
.bk-article .entry-content .st-kaiwa-box.st-kaiwa-r .st-kaiwa-face { order: 2; }
.bk-article .entry-content .st-kaiwa-face img { width: 64px; height: 64px; margin: 0 auto; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--bk-line), 0 6px 14px rgba(179, 74, 104, .12); object-fit: cover; }
.bk-article .entry-content .st-kaiwa-face-name { margin-top: 6px; color: var(--bk-muted); font-size: .68rem; font-weight: 700; line-height: 1.3; }
.bk-article .entry-content .st-kaiwa-area { min-width: 0; }
.bk-article .entry-content .st-kaiwa-hukidashi { position: relative; padding: .9rem 1.2rem; background: #fff; border: 1px solid var(--bk-line); border-radius: 14px; font-size: .95rem; line-height: 1.9; }
.bk-article .entry-content .st-kaiwa-hukidashi::before,
.bk-article .entry-content .st-kaiwa-hukidashi::after { content: ""; position: absolute; top: 22px; border: 9px solid transparent; }
.bk-article .entry-content .st-kaiwa-hukidashi::before { left: -18px; border-right-color: var(--bk-line); }
.bk-article .entry-content .st-kaiwa-hukidashi::after { left: -16px; border-right-color: #fff; }
.bk-article .entry-content .st-kaiwa-box.st-kaiwa-r .st-kaiwa-hukidashi::before { left: auto; right: -18px; border-right-color: transparent; border-left-color: var(--bk-line); }
.bk-article .entry-content .st-kaiwa-box.st-kaiwa-r .st-kaiwa-hukidashi::after { left: auto; right: -16px; border-right-color: transparent; border-left-color: #fff; }
/* 石井美奈（編集者）の発言は淡いピンクの吹き出しに */
.bk-article .entry-content .st-kaiwa-jyo-02 .st-kaiwa-hukidashi { background: var(--bk-blush); border-color: #eccdd7; }
.bk-article .entry-content .st-kaiwa-jyo-02 .st-kaiwa-hukidashi::after { border-right-color: var(--bk-blush); }
.bk-article .entry-content .st-kaiwa-jyo-02.st-kaiwa-r .st-kaiwa-hukidashi::after { border-right-color: transparent; border-left-color: var(--bk-blush); }
/* 機能カード（画像＋機能名＋説明） */
.bk-article .entry-content .waku-na { margin: 0 0 18px; padding: 0 0 16px; overflow: hidden; background: #fff; border: 1px solid var(--bk-line); border-radius: 10px; }
.bk-article .entry-content .waku-na img { display: block; width: 100%; margin: 0 0 14px; border-radius: 0; }
.bk-article .entry-content .t-na { margin: 0 18px; font-family: var(--bk-serif); font-size: 1.08rem; font-weight: 700; color: var(--bk-rose-deep); }
.bk-article .entry-content .setu-na { margin: 8px 18px 0; color: #4b3a3f; font-size: .86rem; line-height: 1.9; }
/* 強調 */
.bk-article .entry-content .huto { font-weight: 700; }
.bk-article .entry-content .hutoaka { font-weight: 700; color: var(--bk-rose); }
/* 星（Font Awesome の代わり） */
.bk-article .entry-content .fa-star { font-style: normal; color: var(--bk-gold); }
.bk-article .entry-content .fa-star::before { content: "★"; }
.bk-article .entry-content .fa-star-o { font-style: normal; color: #d8c8cd; }
.bk-article .entry-content .fa-star-o::before { content: "☆"; }
.bk-article .entry-content .fa-star-half-o, .bk-article .entry-content .fa-star-half-full { font-style: normal; color: var(--bk-gold); }
.bk-article .entry-content .fa-star-half-o::before, .bk-article .entry-content .fa-star-half-full::before { content: "★"; opacity: .55; }
@media (max-width: 600px) {
  .bk-article .entry-content .st-kaiwa-box, .bk-article .entry-content .st-kaiwa-box.st-kaiwa-r { grid-template-columns: 56px 1fr; gap: 12px; }
  .bk-article .entry-content .st-kaiwa-face img { width: 52px; height: 52px; }
  .bk-article .entry-content .st-kaiwa-hukidashi { font-size: .9rem; }
}

/* 解説図など本文の画像。背景が白い図が多く、生成りの地に溶けてしまうので細い枠を付ける。
   すでに枠やカードの中に入っている画像（機能カード・会話のアイコン・ランキング・著者紹介など）は対象外 */
.bk-article .entry-content p > img,
.bk-article .entry-content > img {
  /* 本文より小さい図は中央に。幅の指定があっても本文からはみ出さない */
  display: block; max-width: 100%; height: auto; margin-inline: auto;
  background: #fff;
  padding: clamp(12px, 2vw, 20px);   /* 枠と図の間の余白。図の白地ごと枠で囲む */
  border: 1px solid var(--bk-line);
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(179, 74, 104, .07);
}
/* マンガのコマは絵そのものを見せたいので、内余白は付けない */
.bk-manga .entry-content p > img { padding: 0; }
/* マンガのトップの見出しイラストは、絵のまま見せる（2026-09-19 本人指示） */
.bk-manga-top .entry-content > p:first-child > img {
  padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none;
}
.bk-article .entry-content .waku-na p > img,
.bk-article .entry-content .st-kaiwa-box p > img,
.bk-article .entry-content .bk-mc-rank-item p > img { padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none; }
/* 「解説図」の見出し（インラインの影付き文字）は、この配色の小さな見出しに */
.bk-article .entry-content .st-in-mybox { margin: 0 0 1.6rem; }

/* 「解説図」などのラベル付きの箱（st-mybox）。ラベルと図をまとめて1つの枠に入れる。
   インラインの指定（黄土色の枠・影付き文字）が付いているので !important で打ち消す */
.bk-article .entry-content .st-mybox {
  margin: 1.8rem 0 !important; padding: 16px 18px 18px !important; background: #fff !important;
  border: 1px solid var(--bk-line) !important; border-radius: 10px !important;
  box-shadow: 0 6px 16px rgba(179, 74, 104, .07);
}
.bk-article .entry-content .st-mybox-title {
  margin: 0 0 12px !important; padding: 0 !important; color: var(--bk-rose) !important;
  font-family: var(--bk-serif); font-size: .82rem !important; font-weight: 700 !important;
  letter-spacing: .1em; text-shadow: none !important; background: none !important; border: 0 !important;
}
.bk-article .entry-content .st-mybox-title::before { content: "―― "; color: var(--bk-gold); }
.bk-article .entry-content .st-in-mybox { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
.bk-article .entry-content .st-in-mybox p { margin: 0 !important; }
/* 箱の中の画像は、箱が枠の役目をするので自前の枠を外す */
.bk-article .entry-content .st-mybox p > img { padding: 0; border: 0; border-radius: 6px; box-shadow: none; }

/* 箇条書きの箱。.maruck（18か所）と .yellowbox は CSS が無く、ただの黒点リストになっていた。
   枠に入れて、印をばら色の丸に */
.bk-article .entry-content .maruck,
.bk-article .entry-content .yellowbox {
  margin: 1.6rem 0; padding: 20px 24px; background: #fff;
  border: 1px solid var(--bk-line); border-radius: 10px; box-shadow: 0 6px 16px rgba(179, 74, 104, .06);
}
.bk-article .entry-content .yellowbox { background: #fffdf3; border-color: #e8dcb6; }
.bk-article .entry-content .maruck ul,
.bk-article .entry-content .yellowbox ul { margin: 0; padding: 0; list-style: none; }
.bk-article .entry-content .maruck li,
.bk-article .entry-content .yellowbox li {
  position: relative; margin: 0; padding: 10px 0 10px 26px; border-bottom: 1px dashed var(--bk-line);
  font-size: .95rem; font-weight: 700; line-height: 1.8;
}
.bk-article .entry-content .maruck li:last-child,
.bk-article .entry-content .yellowbox li:last-child { border-bottom: 0; }
.bk-article .entry-content .maruck li::before,
.bk-article .entry-content .yellowbox li::before {
  content: ""; position: absolute; left: 4px; top: 1.08em; width: 9px; height: 9px;
  border-radius: 50%; background: var(--bk-rose);
}
.bk-article .entry-content .yellowbox li::before { background: var(--bk-gold); }
@media (max-width: 600px) {
  .bk-article .entry-content .maruck, .bk-article .entry-content .yellowbox { padding: 16px 18px; }
  .bk-article .entry-content .maruck li, .bk-article .entry-content .yellowbox li { font-size: .9rem; }
}

/* よくある質問。通常の h3 と同じ見た目だと Q&A に見えないので、Q・A の札を付けたカードにする */
.bk-article .entry-content .bk-faq { margin: 1.6rem 0 0; }
.bk-article .entry-content .bk-faq__item { margin: 0 0 14px; padding: 20px 24px; background: #fff; border: 1px solid var(--bk-line); border-radius: 10px; box-shadow: 0 6px 16px rgba(179, 74, 104, .06); }
.bk-article .entry-content .bk-faq__q {
  position: relative; margin: 0 !important; padding: 2px 0 0 44px !important; border: 0 !important;
  color: var(--bk-ink); font-family: var(--bk-serif); font-size: 1.06rem; font-weight: 700; line-height: 1.7;
}
.bk-article .entry-content .bk-faq__q::before {
  content: "Q"; position: absolute; left: 0; top: 0; display: grid; place-items: center;
  width: 30px; height: 30px; border-radius: 50%; background: var(--bk-rose); color: #fff;
  font-family: var(--bk-en); font-size: .95rem; font-weight: 600; line-height: 1;
}
.bk-article .entry-content .bk-faq__a { position: relative; margin: 14px 0 0; padding: 14px 0 0 44px; border-top: 1px dashed var(--bk-line); }
.bk-article .entry-content .bk-faq__a::before {
  content: "A"; position: absolute; left: 0; top: 14px; display: grid; place-items: center;
  width: 30px; height: 30px; border-radius: 50%; background: var(--bk-blush); color: var(--bk-rose-deep);
  font-family: var(--bk-en); font-size: .95rem; font-weight: 600; line-height: 1;
}
.bk-article .entry-content .bk-faq__a p { margin: 0; font-size: .94rem; line-height: 1.95; color: #4b3a3f; }
@media (max-width: 600px) {
  .bk-article .entry-content .bk-faq__item { padding: 16px 18px; }
  .bk-article .entry-content .bk-faq__q { padding-left: 38px !important; font-size: 1rem; }
  .bk-article .entry-content .bk-faq__q::before, .bk-article .entry-content .bk-faq__a::before { width: 26px; height: 26px; font-size: .85rem; }
  .bk-article .entry-content .bk-faq__a { padding-left: 38px; }
}

/* 手順の番号付きリスト（使い方の順番）。丸の中に番号を入れて、縦線でつなぐ */
.bk-article .entry-content ol.bk-steps {
  counter-reset: bkstep; margin: 1.6rem 0; padding: 24px 26px; list-style: none;
  background: #fff; border: 1px solid var(--bk-line); border-radius: 10px;
  box-shadow: 0 6px 16px rgba(179, 74, 104, .06);
}
.bk-article .entry-content ol.bk-steps > li {
  counter-increment: bkstep; position: relative; margin: 0; padding: 0 0 20px 52px;
}
.bk-article .entry-content ol.bk-steps > li:last-child { padding-bottom: 0; }
.bk-article .entry-content ol.bk-steps > li::before {
  content: counter(bkstep); position: absolute; left: 0; top: 0; z-index: 1;
  display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
  background: var(--bk-rose); color: #fff; font-family: var(--bk-en); font-size: 1rem; font-weight: 600; line-height: 1;
}
.bk-article .entry-content ol.bk-steps > li:not(:last-child)::after {
  content: ""; position: absolute; left: 16px; top: 34px; bottom: 6px; width: 1px; background: var(--bk-line);
}
.bk-article .entry-content .bk-steps__name { display: block; padding-top: 4px; font-family: var(--bk-serif); font-size: 1.04rem; font-weight: 700; color: var(--bk-rose-deep); }
.bk-article .entry-content .bk-steps__desc { display: block; margin-top: 4px; font-size: .92rem; line-height: 1.9; color: #4b3a3f; }
@media (max-width: 600px) {
  .bk-article .entry-content ol.bk-steps { padding: 18px 18px; }
  .bk-article .entry-content ol.bk-steps > li { padding-left: 44px; }
  .bk-article .entry-content ol.bk-steps > li::before { width: 28px; height: 28px; font-size: .9rem; }
  .bk-article .entry-content ol.bk-steps > li:not(:last-child)::after { left: 13px; top: 28px; }
}

/* 黄色いマーカー（.ymarker）。本文中の要点の強調。CSS が無く、ただの地の文になっていた */
.bk-article .entry-content .ymarker {
  background: linear-gradient(transparent 62%, #fdeba6 62%, #fdeba6 94%, transparent 94%);
  font-weight: 700;
}

/* 図や本文のあとに置く小さな注記・関連リンク */
.bk-article .entry-content .bk-caption { margin: .6rem 0 0; color: var(--bk-muted); font-size: .84rem; line-height: 1.9; }
.bk-article .entry-content .bk-caption a { color: var(--bk-rose-deep); }

/* ─── 広告表記（PR）。記事の先頭に置く。目立ちすぎず、見落とされない程度に ─── */
.bk-article .entry-content .bk-pr {
  display: flex; gap: 12px; align-items: flex-start; margin: 0 0 1.8rem; padding: 12px 16px;
  background: #fff; border: 1px solid var(--bk-line); border-radius: 8px;
}
.bk-article .entry-content .bk-pr__tag {
  flex: 0 0 auto; margin-top: 1px; padding: 3px 9px; border-radius: 4px;
  background: var(--bk-blush); color: var(--bk-rose-deep);
  font-family: var(--bk-en); font-size: .78rem; font-weight: 600; letter-spacing: .1em; line-height: 1.5;
}
.bk-article .entry-content .bk-pr p { margin: 0; color: var(--bk-muted); font-size: .8rem; line-height: 1.85; }

/* 編集部からの断り書き（取材時期・価格の時点など） */
.bk-article .entry-content .bk-note {
  margin: 1.8rem 0; padding: 18px 22px; background: #fffdf7;
  border: 1px solid #e8dcb6; border-left: 4px solid var(--bk-gold); border-radius: 8px;
}
.bk-article .entry-content .bk-note p { margin: 0; font-size: .87rem; line-height: 1.95; color: #4b3a3f; }
.bk-article .entry-content .bk-note p + p { margin-top: .6rem; }
.bk-article .entry-content .bk-note__title { font-family: var(--bk-serif); font-weight: 700; color: var(--bk-gold); }
.bk-article .entry-content .bk-note a { color: var(--bk-rose-deep); }

/* ─── 話し手のプロフィール（旧 .responbox30 / .lbox / .rbox。CSS が無く縦積みで崩れていた） ─── */
.bk-article .entry-content .bk-person {
  display: grid; grid-template-columns: 132px 1fr; gap: 22px; align-items: center;
  margin: 2rem 0; padding: 22px 26px; background: #fff;
  border: 1px solid var(--bk-line); border-radius: 12px; box-shadow: 0 6px 16px rgba(179, 74, 104, .06);
}
.bk-article .entry-content .bk-person__photo { margin: 0; }
.bk-article .entry-content .bk-person__photo img {
  display: block; width: 132px; height: 132px; padding: 0; border-radius: 50%;
  border: 2px solid var(--bk-blush); object-fit: cover; box-shadow: none; background: #fff;
}
.bk-article .entry-content .bk-person__name {
  margin: 0 0 8px; font-family: var(--bk-serif); font-size: 1.12rem; font-weight: 700; color: var(--bk-rose-deep);
}
.bk-article .entry-content .bk-person__body p { margin: 0; font-size: .87rem; line-height: 1.95; color: #4b3a3f; }
@media (max-width: 600px) {
  .bk-article .entry-content .bk-person { grid-template-columns: 1fr; justify-items: center; gap: 14px; padding: 20px 18px; text-align: center; }
  .bk-article .entry-content .bk-person__photo img { width: 104px; height: 104px; }
}

/* ─── インタビュー（旧 .inta-b / .inta-bu / .inta-a。CSS が無く、誰の発言か分からなかった） ─── */
.bk-article .entry-content .bk-int__q {
  position: relative; margin: 2.4rem 0 1.6rem; padding: 18px 22px 18px 24px;
  background: var(--bk-blush); border-radius: 12px 12px 12px 2px;
  font-size: .95rem; font-weight: 700; line-height: 1.95; color: var(--bk-rose-deep);
}
.bk-article .entry-content .bk-int__q::before {
  content: "インタビュアー"; display: block; margin-bottom: 6px;
  font-family: var(--bk-serif); font-size: .74rem; font-weight: 700; letter-spacing: .12em; color: var(--bk-muted);
}
.bk-article .entry-content .bk-int__who {
  display: flex; align-items: center; gap: 10px; margin: 1.6rem 0 .5rem;
  font-family: var(--bk-serif); font-size: .98rem; font-weight: 700; color: var(--bk-rose);
}
.bk-article .entry-content .bk-int__who::before {
  content: ""; width: 22px; height: 2px; background: var(--bk-rose); border-radius: 2px;
}
.bk-article .entry-content .bk-int__who + p { margin-top: 0; }

/* ─── ケアの手順の図。元は1枚絵＋テーマ依存のタイムライン。4コマに切って並べ直した ─── */
.bk-article .entry-content .bk-care {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 1.8rem 0;
}
.bk-article .entry-content .bk-care__item {
  margin: 0; padding: 16px 18px 18px; background: #fff;
  border: 1px solid var(--bk-line); border-radius: 12px; box-shadow: 0 6px 16px rgba(179, 74, 104, .06);
}
.bk-article .entry-content .bk-care__item img {
  display: block; width: 100%; max-width: 240px; height: auto; margin: 0 auto;
  padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none;
}
.bk-article .entry-content .bk-care__item figcaption {
  margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--bk-line);
  font-size: .85rem; line-height: 1.9; color: #4b3a3f; text-align: left;
}
@media (max-width: 600px) {
  .bk-article .entry-content .bk-care { grid-template-columns: 1fr; gap: 12px; }
}

/* ─── 編集部が選んだ製品のカード（旧 .jyan-betu1 / .tyumoku / .rankst-*。CSS が無かった） ─── */
.bk-article .entry-content .bk-pick { margin: 1.8rem 0; }
.bk-article .entry-content .bk-pick__item {
  position: relative; margin: 0 0 20px; padding: 26px 26px 22px; background: #fff;
  border: 1px solid var(--bk-line); border-radius: 12px; box-shadow: 0 8px 20px rgba(179, 74, 104, .07);
}
.bk-article .entry-content .bk-pick__rank {
  position: absolute; top: -14px; left: 22px; margin: 0;
  display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%;
  background: var(--bk-rose); color: #fff; font-family: var(--bk-en); font-size: 1.15rem; font-weight: 600; line-height: 1;
  box-shadow: 0 4px 10px rgba(179, 74, 104, .25);
}
.bk-article .entry-content h3.bk-pick__name {
  margin: 14px 0 4px; padding: 0; border: 0; font-size: 1.16rem; line-height: 1.6;
}
.bk-article .entry-content h3.bk-pick__name::before { content: none; }
.bk-article .entry-content .bk-pick__sub { margin: 0 0 14px; color: var(--bk-muted); font-size: .82rem; line-height: 1.8; }
.bk-article .entry-content ul.bk-pick__tags { margin: 0 0 14px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 7px; }
.bk-article .entry-content ul.bk-pick__tags li {
  margin: 0; padding: 4px 11px; border: 1px solid var(--bk-line); border-radius: 999px;
  background: var(--bk-cream); font-size: .77rem; line-height: 1.7; color: var(--bk-rose-deep); white-space: nowrap;
}
.bk-article .entry-content .bk-pick__item > p { font-size: .92rem; line-height: 1.95; }
.bk-article .entry-content table.bk-pick__spec { margin: 16px 0 0; width: 100%; border-collapse: collapse; font-size: .86rem; }
.bk-article .entry-content table.bk-pick__spec th,
.bk-article .entry-content table.bk-pick__spec td { padding: 9px 12px; border: 0; border-bottom: 1px dashed var(--bk-line); text-align: left; line-height: 1.8; }
.bk-article .entry-content table.bk-pick__spec tr:last-child th,
.bk-article .entry-content table.bk-pick__spec tr:last-child td { border-bottom: 0; }
.bk-article .entry-content table.bk-pick__spec th { width: 7.5em; background: var(--bk-cream); color: var(--bk-rose-deep); font-weight: 700; white-space: nowrap; }
@media (max-width: 600px) {
  .bk-article .entry-content .bk-pick__item { padding: 24px 18px 18px; }
  .bk-article .entry-content table.bk-pick__spec th { width: 6em; padding: 8px 9px; }
  .bk-article .entry-content table.bk-pick__spec td { padding: 8px 9px; }
}

/* 購入リンク（楽天市場 / Amazon）。build_import_all.py の {{aff:…}} が吐く */
.bk-article .entry-content .bk-buy { margin: 18px 0 0; }
.bk-article .entry-content .bk-buy__btns { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
/* 楽天の商品写真（content/rakuten-items.json があるときだけ出る）。写真から商品ページへ直行する */
.bk-article .entry-content .bk-buy__photo {
  display: flex; align-items: center; gap: 18px; margin: 0 0 14px; padding: 14px 18px;
  background: var(--bk-cream); border: 1px solid var(--bk-line); border-radius: 10px;
  text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease;
}
.bk-article .entry-content .bk-buy__photo:hover { border-color: var(--bk-rose); box-shadow: 0 6px 16px rgba(179, 74, 104, .1); }
.bk-article .entry-content .bk-buy__photo img {
  flex: 0 0 auto; width: 132px; height: 132px; margin: 0; padding: 0;
  background: #fff; border: 1px solid var(--bk-line); border-radius: 8px;
  object-fit: contain; box-shadow: none;
}
.bk-article .entry-content .bk-buy__price {
  font-family: var(--bk-serif); font-size: 1.12rem; font-weight: 700; color: var(--bk-rose-deep); line-height: 1.6;
}
.bk-article .entry-content .bk-buy__price small { display: block; margin-top: 3px; color: var(--bk-muted); font-family: inherit; font-size: .74rem; font-weight: 400; }
@media (max-width: 600px) {
  .bk-article .entry-content .bk-buy__photo { gap: 14px; padding: 12px 14px; }
  .bk-article .entry-content .bk-buy__photo img { width: 96px; height: 96px; }
}
.bk-article .entry-content .bk-buy__btn {
  flex: 1 1 180px; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 13px 18px; border-radius: 8px; border: 1px solid transparent;
  color: #fff; font-size: .93rem; font-weight: 700; line-height: 1.4; text-align: center; text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.bk-article .entry-content .bk-buy__btn::after { content: "›"; font-size: 1.1em; line-height: 1; }
.bk-article .entry-content .bk-buy__btn:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(0, 0, 0, .14); opacity: .94; }
.bk-article .entry-content .bk-buy__btn--rakuten { background: #bf0000; }
.bk-article .entry-content .bk-buy__btn--amazon { background: #ff9900; color: #1b1b1b; }
@media (max-width: 600px) {
  .bk-article .entry-content .bk-buy__btn { flex-basis: 100%; padding: 12px 16px; }
}

/* ─── おすすめランキング（build_import_all.py の {{ranking}} が吐く） ─── */
.bk-article .entry-content .bk-rank { margin: 1.8rem 0; }
.bk-article .entry-content .bk-rank__item {
  position: relative; margin: 0 0 26px; padding: 28px 26px 22px; background: #fff;
  border: 1px solid var(--bk-line); border-radius: 12px; box-shadow: 0 8px 20px rgba(179, 74, 104, .07);
}
.bk-article .entry-content .bk-rank__no {
  position: absolute; top: -15px; left: 20px; margin: 0;
  display: inline-flex; align-items: baseline; gap: 2px; padding: 6px 15px; border-radius: 999px;
  background: var(--bk-rose); color: #fff; font-family: var(--bk-serif); font-size: .82rem; line-height: 1;
  box-shadow: 0 4px 10px rgba(179, 74, 104, .25);
}
.bk-article .entry-content .bk-rank__no span { font-family: var(--bk-en); font-size: 1.25rem; font-weight: 600; }
.bk-article .entry-content .bk-rank__item:nth-child(1) .bk-rank__no { background: linear-gradient(135deg, #cbab6a, #a8842f); }
.bk-article .entry-content .bk-rank__item:nth-child(2) .bk-rank__no { background: linear-gradient(135deg, #b9bcc2, #8b9099); }
.bk-article .entry-content .bk-rank__item:nth-child(3) .bk-rank__no { background: linear-gradient(135deg, #cc9b7a, #a3714f); }
.bk-article .entry-content .bk-rank__head {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: 12px;
}
.bk-article .entry-content h3.bk-rank__name { margin: 0; padding: 0; border: 0; font-size: 1.12rem; line-height: 1.6; }
.bk-article .entry-content h3.bk-rank__name::before { content: none; }
.bk-article .entry-content .bk-rank__score { margin: 0; color: var(--bk-muted); font-size: .8rem; white-space: nowrap; }
.bk-article .entry-content .bk-rank__score strong { font-family: var(--bk-en); font-size: 1.5rem; color: var(--bk-rose-deep); }
.bk-article .entry-content .bk-rank__cols { display: grid; grid-template-columns: 148px 1fr; gap: 20px; margin-top: 16px; align-items: start; }
.bk-article .entry-content .bk-rank__thumb { display: block; }
.bk-article .entry-content .bk-rank__thumb img {
  display: block; width: 100%; height: auto; margin: 0; padding: 0;
  background: #fff; border: 1px solid var(--bk-line); border-radius: 8px; box-shadow: none; object-fit: contain;
}
.bk-article .entry-content table.bk-rank__spec { margin: 0; width: 100%; border-collapse: collapse; font-size: .85rem; }
.bk-article .entry-content table.bk-rank__spec th,
.bk-article .entry-content table.bk-rank__spec td { padding: 8px 12px; border: 0; border-bottom: 1px dashed var(--bk-line); text-align: left; line-height: 1.75; vertical-align: top; }
.bk-article .entry-content table.bk-rank__spec th { width: 6.5em; background: var(--bk-cream); color: var(--bk-rose-deep); font-weight: 700; white-space: nowrap; }
.bk-article .entry-content table.bk-rank__spec small { display: block; margin-top: 2px; color: var(--bk-muted); font-size: .75rem; }
.bk-article .entry-content ul.bk-rank__feats { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.bk-article .entry-content ul.bk-rank__feats li {
  margin: 0; padding: 3px 10px; border: 1px solid var(--bk-line); border-radius: 999px;
  background: #fff; font-size: .74rem; line-height: 1.7; color: var(--bk-rose-deep);
}
/* 採点の内訳。棒の長さは配点に対する割合 */
.bk-article .entry-content ul.bk-rank__bars { margin: 14px 0 0; padding: 0; list-style: none; }
.bk-article .entry-content ul.bk-rank__bars li { display: grid; grid-template-columns: 7.2em 1fr 4.4em; align-items: center; gap: 8px; margin: 0 0 5px; padding: 0; font-size: .74rem; }
.bk-article .entry-content .bk-rank__axis { color: var(--bk-muted); letter-spacing: .02em; }
.bk-article .entry-content .bk-rank__bar { display: block; height: 7px; border-radius: 999px; background: var(--bk-blush); overflow: hidden; }
.bk-article .entry-content .bk-rank__bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--bk-rose), var(--bk-gold)); }
.bk-article .entry-content .bk-rank__pt { text-align: right; color: var(--bk-ink); font-weight: 700; }
.bk-article .entry-content .bk-rank__pt small { color: var(--bk-muted); font-weight: 400; }
.bk-article .entry-content .bk-rank__item .bk-buy__btns { margin-top: 16px; }
@media (max-width: 600px) {
  .bk-article .entry-content .bk-rank__item { padding: 26px 18px 18px; }
  .bk-article .entry-content .bk-rank__cols { grid-template-columns: 1fr; gap: 14px; }
  .bk-article .entry-content .bk-rank__thumb img { max-width: 180px; margin: 0 auto; }
  .bk-article .entry-content ul.bk-rank__bars li { grid-template-columns: 6.4em 1fr 4.2em; font-size: .7rem; }
}

/* 順位の一覧表。テーマの汎用テーブル（全セル中央寄せ）だと数字が折り返して読めないので、
   ランキング専用に組む。狭い画面では横スクロールさせる */
.bk-article .entry-content .bk-rank__tablewrap {
  margin: 1.4rem 0 1.8rem; overflow-x: auto; -webkit-overflow-scrolling: touch;
  background: #fff; border: 1px solid var(--bk-line); border-radius: 10px;
  box-shadow: 0 6px 16px rgba(179, 74, 104, .06);
}
.bk-article .entry-content table.bk-rank__table {
  width: 100%; min-width: 660px; margin: 0; border-collapse: collapse; font-size: .84rem;
}
.bk-article .entry-content table.bk-rank__table th,
.bk-article .entry-content table.bk-rank__table td {
  padding: 10px 12px; border: 0; border-bottom: 1px solid var(--bk-line);
  text-align: left; line-height: 1.6; vertical-align: middle;
}
.bk-article .entry-content table.bk-rank__table thead th {
  background: var(--bk-blush);
  color: var(--bk-rose-deep); font-size: .78rem; font-weight: 700; white-space: nowrap;
}
.bk-article .entry-content table.bk-rank__table tbody tr:last-child td { border-bottom: 0; }
.bk-article .entry-content table.bk-rank__table tbody tr:nth-child(even) { background: #fdfafb; }
.bk-article .entry-content table.bk-rank__table .is-rank {
  width: 3.2em; text-align: center; font-family: var(--bk-en); font-size: 1.1rem;
  font-weight: 600; color: var(--bk-rose-deep);
}
.bk-article .entry-content table.bk-rank__table .is-name { min-width: 13em; font-weight: 700; }
.bk-article .entry-content table.bk-rank__table .is-score {
  width: 3.6em; text-align: right; font-family: var(--bk-en); font-size: 1.05rem;
  font-weight: 600; color: var(--bk-rose-deep);
}
/* 数字は折り返さない。ここが折り返すと行の高さが倍になって読みにくい */
.bk-article .entry-content table.bk-rank__table .is-num { text-align: right; white-space: nowrap; }
.bk-article .entry-content table.bk-rank__table .is-num small {
  display: block; margin-top: 1px; color: var(--bk-muted); font-size: .74rem;
}
.bk-article .entry-content table.bk-rank__table .is-feats { width: 15em; }
.bk-article .entry-content table.bk-rank__table .is-feats ul {
  display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none;
}
.bk-article .entry-content table.bk-rank__table .is-feats li {
  margin: 0; padding: 2px 8px; border: 1px solid var(--bk-line); border-radius: 999px;
  background: var(--bk-cream); font-size: .71rem; line-height: 1.6; color: var(--bk-rose-deep); white-space: nowrap;
}

/* 機種ごとの紹介文（content/bigankinokyoukasyo/ranking-notes.json）。
   JSON の改行が段落の区切り。ひと息で読める長さで切れるようにしている */
.bk-article .entry-content .bk-rank__note {
  margin: 16px 0 0; padding-top: 14px; border-top: 1px dashed var(--bk-line);
}
.bk-article .entry-content .bk-rank__note p {
  margin: 0 0 .85em; font-size: .92rem; line-height: 2; color: #4b3a3f;
}
.bk-article .entry-content .bk-rank__note p:last-child { margin-bottom: 0; }

/* 星の分布（楽天のレビューページから取得）。平均★だけでは見えない不満の割合を見せる */
.bk-article .entry-content .bk-rank__star { display: grid; grid-template-columns: 2.6em 1fr 3.4em; align-items: center; gap: 7px; margin-bottom: 2px; }
.bk-article .entry-content .bk-rank__star i { font-style: normal; font-size: .74rem; color: var(--bk-gold); }
/* 棒は「幅＝その星の割合」。地の色はグリッドの背景で見せる */
.bk-article .entry-content .bk-rank__star { background: linear-gradient(var(--bk-cream), var(--bk-cream)) 2.6em 50% / calc(100% - 6.7em) 6px no-repeat; }
.bk-article .entry-content .bk-rank__star b { display: block; height: 6px; min-width: 2px; border-radius: 999px; background: var(--bk-rose); }
.bk-article .entry-content .bk-rank__star em { font-style: normal; text-align: right; font-size: .72rem; color: var(--bk-muted); }
.bk-article .entry-content table.bk-rank__spec td > small { display: block; margin-top: 5px; color: var(--bk-rose-deep); font-size: .74rem; font-weight: 700; }

/* レビュー最新100件から拾った良い点・不満点（content/bigankinokyoukasyo/ranking-reviews.json） */
.bk-article .entry-content .bk-rank__voices { margin: 16px 0 0; padding-top: 14px; border-top: 1px dashed var(--bk-line); }
.bk-article .entry-content .bk-rank__voices-lead { margin: 0 0 12px; color: var(--bk-muted); font-size: .78rem; line-height: 1.8; }
.bk-article .entry-content .bk-rank__voice-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bk-article .entry-content .bk-rank__voice { padding: 14px 16px; border-radius: 10px; border: 1px solid var(--bk-line); }
.bk-article .entry-content .bk-rank__voice--good { background: #fdf7f8; border-color: var(--bk-line); }
.bk-article .entry-content .bk-rank__voice--bad { background: #fffdf5; border-color: #e8dcb6; }
.bk-article .entry-content .bk-rank__voice-head { margin: 0 0 8px; font-family: var(--bk-serif); font-size: .88rem; font-weight: 700; }
.bk-article .entry-content .bk-rank__voice--good .bk-rank__voice-head { color: var(--bk-rose-deep); }
.bk-article .entry-content .bk-rank__voice--bad .bk-rank__voice-head { color: #9a7b2e; }
.bk-article .entry-content .bk-rank__voice ul { margin: 0; padding: 0; list-style: none; }
.bk-article .entry-content .bk-rank__voice li { position: relative; margin: 0 0 7px; padding-left: 15px; font-size: .84rem; line-height: 1.85; color: #4b3a3f; }
.bk-article .entry-content .bk-rank__voice li:last-child { margin-bottom: 0; }
.bk-article .entry-content .bk-rank__voice li::before { content: ""; position: absolute; left: 2px; top: .78em; width: 6px; height: 6px; border-radius: 50%; background: var(--bk-rose); }
.bk-article .entry-content .bk-rank__voice--bad li::before { background: var(--bk-gold); }
@media (max-width: 600px) {
  .bk-article .entry-content .bk-rank__voice-cols { grid-template-columns: 1fr; }
}

/* 根拠の配点表。指標名と配点が折り返すと読みにくいので、この2列は1行に収める */
.bk-article .entry-content table.bk-kijun-table .is-axis,
.bk-article .entry-content table.bk-kijun-table .is-pt { white-space: nowrap; }
.bk-article .entry-content table.bk-kijun-table .is-pt { text-align: right; }
