.clp-exd {
--clp-exd-accent: #b03a64;
--clp-exd-accent-soft: #fbe9ef;
--clp-exd-accent-ink: #8e2a4e;
--clp-exd-ink: #444;
--clp-exd-sub: #777;
--clp-exd-line: #ead6dc;
--clp-exd-paper: #fff;
color: var(--clp-exd-ink);
font-size: 15px;
line-height: 1.85;
}
.clp-exd *, .clp-exd-order *, .clp-exd-banner * { box-sizing: border-box; } .clp-exd-hero { margin: 0 0 28px; padding: 0 0 22px; border-bottom: 1px solid var(--clp-exd-line, #ead6dc); }
.clp-exd-hero__kick { margin: 0 0 4px; font-size: 13px; letter-spacing: .12em; color: #b03a64; }
.clp-exd-hero__title { margin: 0 0 6px !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 26px !important; line-height: 1.45 !important; font-weight: 600; color: #333 !important; }
.clp-exd-hero__title::before, .clp-exd-hero__title::after { display: none !important; }
.clp-exd-hero__meta { margin: 0 0 14px; font-size: 15px; color: #555; }
.clp-exd-points { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.clp-exd-points li { margin: 0 !important; padding: 4px 12px; border: 1px solid #e3c3cd; border-radius: 4px; background: #fff; font-size: 14px; color: #8e2a4e; line-height: 1.6; }
.clp-exd-points li::before { display: none !important; }
.clp-exd-points li strong { color: #b03a64; } .clp-exd-status { margin: 0 0 18px; }
.clp-exd-status span { display: inline-block; padding: 5px 14px; border-radius: 4px; background: #fbe9ef; color: #8e2a4e; font-size: 14px; font-weight: 700; }
.clp-exd-status.is-closed span, .clp-exd-status.is-stopped span, .clp-exd-status.is-submit_closed span { background: #eee; color: #555; } .clp-exd-sec { margin: 36px 0 0; }
.clp-exd-sec__h { display: flex; align-items: baseline; gap: 10px; margin: 0 0 14px !important; padding: 0 0 8px !important; border: 0 !important; border-bottom: 1px solid #ead6dc !important; background: none !important; font-size: 19px !important; line-height: 1.5 !important; font-weight: 600; color: #333 !important; }
.clp-exd-sec__h::before, .clp-exd-sec__h::after { display: none !important; }
.clp-exd-sec__no { font-size: 13px; letter-spacing: .1em; color: #b03a64; font-weight: 600; }
.clp-exd p { margin: 0 0 12px; }
.clp-exd dl.clp-exd-facts { display: grid; grid-template-columns: 6.5em 1fr; gap: 6px 14px; margin: 0 0 12px; }
.clp-exd-facts dt { margin: 0; font-weight: 600; color: #555; }
.clp-exd-facts dd { margin: 0; } .clp-exd-table-wrap { overflow-x: auto; margin: 0 0 12px; }
.clp-exd-prices, .clp-exd-sizes { width: 100%; border-collapse: collapse; background: #fff; font-size: 14px; line-height: 1.6; }
.clp-exd-prices th, .clp-exd-prices td, .clp-exd-sizes th, .clp-exd-sizes td { padding: 10px 10px; border: 0; border-bottom: 1px solid #f0e2e6; text-align: left; vertical-align: middle; }
.clp-exd-prices thead th, .clp-exd-sizes thead th { background: #fbf3f5; color: #666; font-size: 12px; font-weight: 600; }
.clp-exd-prices tbody th, .clp-exd-sizes tbody th { font-weight: 700; color: #333; white-space: nowrap; }
.clp-exd-yen { font-weight: 700; color: #333; white-space: nowrap; text-align: right !important; } .clp-exd-deal { margin: 14px 0 0; padding: 14px 16px; border-left: 3px solid #b03a64; background: #fff; }
.clp-exd-deal__title { margin: 0 0 6px !important; font-weight: 700; color: #8e2a4e; font-size: 16px; }
.clp-exd-deal ol, .clp-exd-deal ul { margin: 6px 0 0 1.3em; padding: 0; }
.clp-exd-deal li { margin: 0 0 2px; } .clp-exd-order { margin: 6px 0 0; padding: 16px; border: 1px solid #ead6dc; background: #fff; }
.clp-exd-rows { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.clp-exd-row { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "name qty" "price qty"; gap: 0 12px; align-items: center; margin: 0 !important; padding: 12px 0 !important; border-bottom: 1px solid #f0e2e6; }
.clp-exd-row::before { display: none !important; }
.clp-exd-row__name { grid-area: name; line-height: 1.5; }
.clp-exd-row__label { display: block; font-weight: 700; color: #333; font-size: 16px; }
.clp-exd-row__meta { display: block; font-size: 12px; color: #888; }
.clp-exd-row__price { grid-area: price; font-weight: 700; color: #333; font-size: 15px; }
.clp-exd-row__qty { grid-area: qty; display: flex; align-items: center; gap: 0; }
.clp-exd-row__qty input { width: 3.2em; height: 44px; margin: 0; padding: 0; border: 1px solid #ddd; border-left: 0; border-right: 0; border-radius: 0; text-align: center; font-size: 17px; -moz-appearance: textfield; appearance: textfield; background: #fff; color: #333; }
.clp-exd-row__qty input::-webkit-outer-spin-button, .clp-exd-row__qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.clp-exd-step { width: 44px; height: 44px; margin: 0; padding: 0; border: 1px solid #ddd; background: #faf6f7; color: #8e2a4e; font-size: 20px; line-height: 1; cursor: pointer; border-radius: 4px 0 0 4px; }
.clp-exd-step[data-d="1"] { border-radius: 0 4px 4px 0; }
.clp-exd-step:focus-visible, .clp-exd-btn:focus-visible, .clp-exd-banner:focus-visible { outline: 2px solid #b03a64; outline-offset: 2px; }
.clp-exd-row.is-soldout { opacity: .55; }
.clp-exd-sum { margin: 12px 0 0 !important; padding: 0; }
.clp-exd-sum > div { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; font-size: 14px; }
.clp-exd-sum dt, .clp-exd-sum dd { margin: 0; }
.clp-exd-sum .is-discount { color: #b03a64; font-weight: 700; }
.clp-exd-sum .is-total { margin-top: 6px; padding-top: 8px; border-top: 1px solid #ead6dc; font-size: 17px; font-weight: 700; color: #333; }
.clp-exd-hint { min-height: 1.6em; margin: 8px 0 0 !important; font-size: 13px; color: #8e2a4e; }
.clp-exd-submit { margin: 14px 0 6px !important; text-align: center; }
.clp-exd-btn { display: inline-block; width: 100%; max-width: 420px; padding: 15px 24px; border: 0; border-radius: 999px; background: #b03a64; color: #fff !important; font-size: 17px; font-weight: 700; letter-spacing: .04em; line-height: 1.4; text-align: center; text-decoration: none !important; cursor: pointer; box-shadow: 0 6px 16px rgba(176, 58, 100, .25); }
.clp-exd-btn[disabled] { background: #d9b3c0; box-shadow: none; cursor: default; }
.clp-exd-small { margin: 0 !important; font-size: 12px; color: #888; text-align: center; }
.clp-exd-closed { padding: 4px 0; }
.clp-exd-closed p { margin: 0 0 6px !important; } .clp-exd-steps { counter-reset: clpexd; margin: 0 0 12px !important; padding: 0 !important; list-style: none !important; }
.clp-exd-steps > li { position: relative; margin: 0 !important; padding: 0 0 12px 2.4em !important; }
.clp-exd-steps > li::before { counter-increment: clpexd; content: counter(clpexd); position: absolute; left: 0; top: .15em; width: 1.7em; height: 1.7em; border-radius: 50%; background: #b03a64; color: #fff; font-size: 13px; font-weight: 700; line-height: 1.7em; text-align: center; }
.clp-exd-code { display: inline-block; padding: 1px 6px; background: #f6f0f2; border-radius: 3px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; color: #333; word-break: break-all; }
.clp-exd-notes { margin: 0 0 12px 1.2em !important; padding: 0 !important; }
.clp-exd-notes li { margin: 0 0 6px; }
.clp-exd-due { color: #b03a64; font-weight: 700; } .clp-exd-banner { display: grid; grid-template-columns: 1fr; gap: 2px; margin: 24px 0; padding: 16px 18px; border: 1px solid #e3c3cd; border-left: 4px solid #b03a64; background: #fff; color: #444 !important; text-decoration: none !important; line-height: 1.5; transition: background .15s; }
.clp-exd-banner:hover { background: #fdf4f7; }
.clp-exd-banner__kick { font-size: 12px; letter-spacing: .12em; color: #b03a64; font-weight: 700; }
.clp-exd-banner__lead { font-size: 17px; font-weight: 700; color: #333; }
.clp-exd-banner__cta { font-size: 14px; color: #8e2a4e; font-weight: 700; } .clp-exd-pnote { margin: 12px 0; padding: 10px 12px; background: #fbe9ef; color: #8e2a4e; font-size: 13px; line-height: 1.7; }
@media (min-width: 600px) {
.clp-exd-row { grid-template-columns: 1fr 7em auto; grid-template-areas: "name price qty"; }
.clp-exd-row__price { text-align: right; }
.clp-exd-banner { grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; }
}