/* 買取価格表 */
.emp { --emp-navy: var(--em-navy, #183B60); --emp-line: var(--em-line, #d9dce2); --emp-muted: var(--em-muted, #5f6672); margin: 20px 0 8px; }
.emp-table-wrap { background: #fff; border: 1px solid var(--emp-line); border-radius: 10px; overflow: hidden; }
.emp-table { width: 100%; border-collapse: collapse; margin: 0 !important; font-size: 15px; line-height: 1.5; }
.emp-table th, .emp-table td { border: 0 !important; border-bottom: 1px solid #eceef2 !important; padding: 11px 14px !important; vertical-align: middle; }
.emp-table thead th { background: var(--emp-navy); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-align: center; white-space: nowrap; }
.emp-table thead th span { font-weight: 400; font-size: 12px; }
.emp-table thead th.emp-c-model, .emp-table thead th.emp-c-maker { text-align: left; }
.emp-table tbody tr:nth-child(even) { background: #f7f8fa; }
.emp-table tbody tr:hover { background: #eef3f9; }
.emp-table tbody tr:last-child > * { border-bottom: 0 !important; }
.emp-table tbody th.emp-c-model { font-weight: 700; text-align: left; color: var(--em-ink, #23272e); word-break: break-word; }
.emp-table tbody th.emp-c-model a { color: var(--emp-navy); }
.emp-note { display: block; font-weight: 400; font-size: 12px; color: var(--emp-muted); margin-top: 2px; }
.emp-table td.emp-c-p { text-align: right; white-space: nowrap; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--emp-navy); font-size: 16px; }
.emp-table td.emp-c-p small { font-size: 12px; margin-left: 1px; font-weight: 700; }
.emp-table--1 td.emp-c-p { width: 32%; }
.emp-table--3 td.emp-c-p { width: 17%; }
.emp-table td.emp-c-maker { font-size: 13px; color: var(--emp-muted); white-space: nowrap; }
.emp-table td.emp-c-page { font-size: 13px; white-space: nowrap; text-align: center; }

/* 絞り込み・もっと見る */
.emp-filter { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.emp-filter input { flex: 1; max-width: 420px; padding: 10px 14px; font-size: 16px; border: 1px solid var(--emp-line); border-radius: 8px; background: #fff; }
.emp-filter input:focus { outline: 2px solid var(--emp-navy); outline-offset: 0; border-color: var(--emp-navy); }
.emp-count { font-size: 13px; color: var(--emp-muted); white-space: nowrap; }
.emp.is-collapsed .emp-table tbody tr:nth-child(n+11) { display: none; }
.emp tr.is-hidden { display: none !important; }
.emp-more { display: block; margin: 14px auto 0; padding: 11px 28px; border: 1px solid var(--emp-navy); border-radius: 999px; background: #fff; color: var(--emp-navy); font-weight: 700; font-size: 14px; cursor: pointer; }
.emp-more:hover { background: var(--emp-navy); color: #fff; }
.emp:not(.is-collapsed) .emp-more { display: none; }
.emp-nohit { margin: 14px 0; padding: 14px 16px; background: #fff; border: 1px dashed var(--emp-line); border-radius: 8px; font-size: 14px; }
.emp-foot { margin-top: 10px; font-size: 12px; color: var(--emp-muted); line-height: 1.7; }
.emp-foot p { margin: 0 !important; }
.emp-foot .emp-updated { font-size: 13px; font-weight: 700; color: var(--em-ink, #23272e); margin-bottom: 2px !important; }

/* 検索ページ */
.emp-form { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; align-items: end; padding: 20px; background: #fff; border: 1px solid var(--emp-line); border-radius: 12px; margin-bottom: 18px; }
.emp-form label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; color: var(--emp-navy); }
.emp-form input, .emp-form select { width: 100%; height: 46px; padding: 0 12px; font-size: 16px; border: 1px solid var(--emp-line); border-radius: 8px; background: #fff; }
.emp-form button { height: 46px; padding: 0 28px; border: 0; border-radius: 8px; background: var(--emp-navy); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; white-space: nowrap; }
.emp-form button:hover { filter: brightness(1.15); }
.emp-result { font-size: 15px; margin: 0 0 10px !important; }
.emp-sub { font-size: 17px !important; margin: 8px 0 10px !important; border: 0 !important; padding: 0 !important; }
.emp-pager { display: flex; justify-content: center; gap: 6px; margin: 18px 0; flex-wrap: wrap; }
.emp-pager a, .emp-pager span { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--emp-line); border-radius: 8px; background: #fff; text-decoration: none !important; color: var(--emp-navy); font-weight: 700; }
.emp-pager span[aria-current] { background: var(--emp-navy); color: #fff; border-color: var(--emp-navy); }

@media (max-width: 767px) {
	.emp-table { font-size: 14px; }
	.emp-table th, .emp-table td { padding: 10px 8px !important; }
	.emp-table thead th { font-size: 11px; letter-spacing: 0; white-space: normal; }
	.emp-table td.emp-c-p { font-size: 14px; }
	.emp-table td.emp-c-p small { font-size: 10px; }
	.emp-table--3 td.emp-c-p { width: 21%; }
	.emp-form { grid-template-columns: 1fr 1fr; padding: 14px; }
	.emp-form__q, .emp-form__btn { grid-column: 1 / -1; }
	.emp-form button { width: 100%; }
	/* 検索結果はスマホではカード状に */
	.emp-search .emp-table thead { display: none; }
	.emp-search .emp-table, .emp-search .emp-table tbody { display: block; }
	.emp-search .emp-table tbody tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 8px; padding: 12px; border-bottom: 1px solid #eceef2; }
	.emp-search .emp-table tbody tr > * { border: 0 !important; padding: 0 !important; width: auto !important; }
	.emp-search .emp-table td.emp-c-maker { grid-column: 1 / -1; font-size: 12px; }
	.emp-search .emp-table th.emp-c-model { grid-column: 1 / -1; font-size: 15px; margin-bottom: 4px; }
	.emp-search .emp-table td.emp-c-p { text-align: left; font-size: 15px; }
	.emp-search .emp-table td.emp-c-p::before { content: attr(data-label); display: block; font-size: 11px; font-weight: 400; color: var(--emp-muted); }
	.emp-search .emp-table--1 td.emp-c-p { grid-column: 1 / 3; }
	.emp-search .emp-table td.emp-c-page { grid-column: 1 / -1; text-align: right; margin-top: 4px; }
}
.emp-ask { font-size: 14px; }
/* 価格表の目次 */
.emp-index { margin-top: 36px; }
.emp-index__group { margin-top: 18px; }
.emp-index__group h4 { font-size: 15px !important; margin: 0 0 8px !important; padding: 0 0 6px !important; border: 0 !important; border-bottom: 2px solid var(--emp-navy) !important; color: var(--emp-navy); }
.emp-index__group ul { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.emp-index__group li { margin: 0 !important; padding: 0 !important; }
.emp-index__group li::before { content: none !important; }
.emp-index__group a { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 10px 14px; background: #fff; border: 1px solid var(--emp-line); border-radius: 8px; text-decoration: none !important; color: var(--em-ink, #23272e) !important; font-weight: 700; font-size: 14px; }
.emp-index__group a span { font-size: 12px; font-weight: 400; color: var(--emp-muted); white-space: nowrap; }
.emp-index__group a:hover { border-color: var(--emp-navy); }
/* 入口の検索窓 */
.emp-box { display: flex; gap: 8px; max-width: 640px; margin: 0 auto; }
.emp-box input { flex: 1; min-width: 0; height: 52px; padding: 0 16px; font-size: 16px; border: 1px solid var(--emp-line, #d9dce2); border-radius: 10px; background: #fff; }
.emp-box button { height: 52px; padding: 0 22px; border: 0; border-radius: 10px; background: var(--emp-navy, #183B60); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; white-space: nowrap; }
@media (max-width: 640px) { .emp-box { flex-direction: column; } .emp-box button { width: 100%; } }
/* 価格が1つだけの表は、横に間延びしないよう幅を抑えて中央に */
.emp[data-collapse]:has(.emp-table--1) { max-width: 760px; margin-left: auto; margin-right: auto; }
/* 1.1.1 検索結果：ジャンルを表示（同じシリーズ名のギターとベースを見分けやすく） */
.emp-cat { display: inline-block; margin-top: 3px; padding: 1px 8px; border-radius: 999px; background: #e8eef6; color: var(--emp-navy); font-size: 11px; font-weight: 700; white-space: nowrap; }
.emp-table td.emp-c-maker { line-height: 1.4; }
.emp-table td.emp-c-maker .emp-cat { display: table; }
@media (max-width: 767px) {
	.emp-search .emp-table td.emp-c-maker { display: flex; align-items: center; gap: 8px; }
	.emp-search .emp-table td.emp-c-maker .emp-cat { display: inline-block; margin-top: 0; }
}
/* 検索フォームの高さ・位置をそろえる */
.emp-form label { margin: 0 0 6px !important; line-height: 1.4 !important; }
.emp-form input, .emp-form select, .emp-form button { box-sizing: border-box !important; height: 46px !important; margin: 0 !important; line-height: normal !important; }
.emp-form input[type=search] { padding: 0 12px !important; -webkit-appearance: none; appearance: none; }
.emp-form > div { display: flex; flex-direction: column; justify-content: flex-end; }
.emp-form p.emp-form__hint { grid-column: 1 / -1; margin: 2px 0 0 !important; font-size: 12px; color: var(--emp-muted); line-height: 1.6; }
/* 1.1.3 スマホで入口の検索窓がつぶれないように */
.emp-box input, .emp-box button { box-sizing: border-box !important; margin: 0 !important; }
@media (max-width: 640px) {
	.emp-box input { flex: none !important; width: 100%; height: 52px !important; }
}
/* 1.1.8 検索結果の上の「店頭買取の目安」案内 */
.emp-shop-note { margin: 0 0 12px !important; padding: 12px 16px; background: #eef3f9; border-radius: 8px; font-size: 14px; line-height: 1.7; }
.emp-shop-note strong { color: var(--emp-navy); }
/* 1.1.11 検索結果：機種名がリンク（掲載ページへ） */
.emp-search .emp-table tbody th.emp-c-model a { color: var(--emp-navy); text-decoration: underline; text-decoration-color: rgba(24, 59, 96, .35); text-underline-offset: 3px; }
.emp-search .emp-table tbody th.emp-c-model a:hover { text-decoration-color: currentColor; }
/* 1.1.13 価格表の前のシリーズ名などの見出し */
h3.emp-series { margin: 44px 0 12px !important; padding: 0 0 0 12px !important; border: 0 !important; border-left: 4px solid var(--em-navy, #183B60) !important; font-size: 19px !important; line-height: 1.4 !important; color: var(--em-ink, #23272e); background: none !important; }
p.em-en + h3.emp-series { margin-top: 20px !important; }
h3.emp-series + .wp-block-shortcode .emp, h3.emp-series + .emp { margin-top: 8px; }
/* 1.1.14 ページ全体の絞り込み */
.emp-pf { margin: 8px 0 28px; padding: 18px 20px; background: #f3f6fa; border: 1px solid #d9e1ea; border-radius: 12px; }
.emp-pf__label { display: block; margin: 0 0 10px; font-weight: 700; font-size: 15px; color: var(--emp-navy, #183B60); }
.emp-pf__row { display: flex; align-items: center; gap: 14px; }
.emp-pf input { flex: 1; min-width: 0; max-width: 520px; height: 50px; padding: 0 16px; font-size: 16px; border: 1px solid #c3cdd8; border-radius: 8px; background: #fff; box-sizing: border-box; }
.emp-pf input:focus { outline: 2px solid var(--emp-navy, #183B60); outline-offset: 0; border-color: var(--emp-navy, #183B60); }
.emp-pf__count { font-size: 14px; color: #555; white-space: nowrap; }
.emp-pf.is-active .emp-pf__count { color: var(--emp-navy, #183B60); font-weight: 700; }
.emp-pf__nohit { margin: 12px 0 0; padding: 12px 14px; background: #fff; border: 1px dashed #c3cdd8; border-radius: 8px; font-size: 14px; }
.emp[hidden], h3.emp-series[hidden] { display: none !important; }
@media (max-width: 600px) {
	.emp-pf { padding: 14px; margin-left: 0; margin-right: 0; }
	.emp-pf__row { flex-wrap: wrap; gap: 6px; }
	.emp-pf input { flex-basis: 100%; max-width: none; height: 52px; }
	.emp-pf__count { font-size: 13px; }
}
/* 1.1.15 見出しと表の間隔（テーマ側の指定より強く） */
.entry-body h3.wp-block-heading.emp-series, .em-sec h3.wp-block-heading.emp-series { margin: 56px 0 14px !important; padding: 2px 0 2px 14px !important; border-left: 5px solid var(--emp-navy, #183B60) !important; font-size: 20px !important; line-height: 1.4 !important; }
.entry-body .emp-pf + h3.wp-block-heading.emp-series, .em-sec .emp-pf + h3.wp-block-heading.emp-series, .entry-body p.em-en + h3.wp-block-heading.emp-series, .em-sec p.em-en + h3.wp-block-heading.emp-series { margin-top: 24px !important; }
.entry-body h4.wp-block-heading.emp-subseries, .em-sec h4.wp-block-heading.emp-subseries { margin: 26px 0 10px !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 15px !important; font-weight: 700; color: #555 !important; }
.entry-body h4.wp-block-heading.emp-subseries::before, .em-sec h4.wp-block-heading.emp-subseries::before { content: ""; display: inline-block; width: 10px; height: 2px; margin: 0 8px 0 0; vertical-align: middle; background: #8a97a6; }
.entry-body h3.emp-series + h4.emp-subseries, .em-sec h3.emp-series + h4.emp-subseries { margin-top: 6px !important; }
body .entry-body .emp[data-collapse], body .em-sec .emp[data-collapse] { margin-top: 12px !important; margin-bottom: 0 !important; }
body .entry-body .emp[data-collapse] + .emp[data-collapse], body .em-sec .emp[data-collapse] + .emp[data-collapse] { margin-top: 40px !important; }
.entry-body h3.emp-series + p, .em-sec h3.emp-series + p { margin-top: 0 !important; font-size: 14px; color: #555; }
.emp-subseries[hidden], .emp-series[hidden] { display: none !important; }
/* 1.1.16 買取価格検索ページのジャンル見出し：背景なし・下線は途中で色が変わる直線 */
.entry-body .emp-index .emp-index__group h4, .emp-index .emp-index__group h4 { margin: 0 0 12px !important; padding: 0 0 8px !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; outline: 0 !important; font-size: 16px !important; color: var(--emp-navy, #183B60) !important; background: linear-gradient(to right, var(--emp-navy, #183B60) 0, var(--emp-navy, #183B60) 72px, #d5dbe3 72px, #d5dbe3 100%) left bottom / 100% 3px no-repeat !important; }
.emp-index .emp-index__group h4::before, .emp-index .emp-index__group h4::after { content: none !important; display: none !important; }
.emp-index__group + .emp-index__group { margin-top: 28px; }
/* 1.2.0 ページ上での価格表の編集（ログイン中のスタッフだけに表示） */
.empe-bar { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin: 0 0 8px; }
.empe-btn { min-height: 38px; padding: 6px 16px; border: 1px solid var(--emp-navy, #183B60); border-radius: 8px; background: #fff; color: var(--emp-navy, #183B60); font-size: 13px; font-weight: 700; cursor: pointer; line-height: 1.4; }
.empe-btn--main { background: var(--emp-navy, #183B60); color: #fff; }
.empe-btn[disabled] { opacity: .6; cursor: default; }
.emp.is-editing > *:not(.empe-bar):not(.empe):not(.empe-new) { display: none !important; }
.emp.is-editing .empe-bar { display: none; }
.empe, .empe-new { margin: 0 0 12px; padding: 16px; background: #fff8e6; border: 2px solid #e8b100; border-radius: 12px; }
.empe-new label { display: block; font-weight: 700; font-size: 14px; }
.empe-new input { display: block; width: 100%; max-width: 480px; height: 44px; margin-top: 6px; padding: 0 12px; font-size: 16px; border: 1px solid #c3cdd8; border-radius: 8px; box-sizing: border-box; }
.empe-check { display: block; margin: 0 0 10px; font-size: 14px; font-weight: 700; }
.empe-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.empe-table { width: 100%; min-width: 680px; border-collapse: collapse; background: #fff; }
.empe-table th { padding: 8px 6px; font-size: 12px; text-align: left; background: var(--emp-navy, #183B60); color: #fff; white-space: nowrap; }
.empe-table td { padding: 4px; border-bottom: 1px solid #eee; vertical-align: middle; }
.empe-table input { width: 100%; height: 40px; padding: 0 8px; font-size: 15px; border: 1px solid #c3cdd8; border-radius: 6px; box-sizing: border-box; background: #fff; }
.empe-table input:focus { outline: 2px solid var(--emp-navy, #183B60); outline-offset: 0; border-color: var(--emp-navy, #183B60); }
.empe-table .c-model { width: 36%; }
.empe-table .c-p { width: 13%; }
.empe-table .c-p input { text-align: right; }
.empe-table .c-note { width: 16%; }
.empe-table .c-ops { width: 104px; white-space: nowrap; text-align: center; }
.empe-table th .one { display: none; }
.empe.is-one .c-3 { display: none; }
.empe.is-one th .one { display: inline; }
.empe-ico { width: 30px; height: 32px; margin: 0 1px; border: 1px solid #c3cdd8; border-radius: 6px; background: #fff; cursor: pointer; font-size: 13px; }
.empe-del { color: #b32d2e; border-color: #e0b4b4; }
.empe-help { margin: 8px 0 0 !important; font-size: 12px; color: #555; }
.empe-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; }
.empe-sp { flex: 1; }
.empe-msg { margin: 10px 0 0 !important; color: #b32d2e; font-weight: 700; }
.empe-loading { margin: 0 !important; }
@media (max-width: 600px) { .empe-bar { justify-content: stretch; } .empe-bar .empe-btn { flex: 1 1 100%; } .empe-actions .empe-btn { flex: 1 1 auto; } .empe-sp { display: none; } }
.empe-head { display: block; margin: 0 0 12px; font-weight: 700; font-size: 14px; }
.empe-head input { display: block; width: 100%; max-width: 480px; height: 42px; margin-top: 6px; padding: 0 12px; font-size: 16px; border: 1px solid #c3cdd8; border-radius: 8px; box-sizing: border-box; background: #fff; }
.empe-head-note { margin: 0 0 12px !important; font-size: 13px; color: #555; }
.empe-dellist { border-color: #d6a3a3; color: #b32d2e; }
