/* generated from src.css by work/build.py — edit src.css */
@charset "UTF-8";
/* =========================================================
   買取大吉 長岡LP
   このファイルはデザイン(XD 幅400px)の実寸 px で書く。
   work/build.py で rem に変換して style.css を出力（1rem = 10px相当）。
   そのまま px で残したいときは大文字 PX を使う。
   bl(Y,S) = ベースラインY・文字サイズS から top を計算（line-height:1 前提）
   ========================================================= */

:root {
  --navy: #12005f;
  --navy2: #000e44;
  --pink: #ee0c78;
  --txt: #333333;
  --gray: #6e6e6e;
  --f-sans: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --f-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --f-heebo: "Heebo", "Noto Sans JP", sans-serif;
  --f-barlow: "Barlow Condensed", "Noto Sans JP", sans-serif;
  --f-din: "din-1451-lt-pro-engschrift", "DIN 1451 Std", "DINEngschriftStd", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --f-bask: "baskerville-urw", "Baskerville", "Libre Baskerville", serif;
  --gold-line: linear-gradient(90deg, #cbb484 0%, #a5711c 7%, #fdf9ca 49%, #e6d29e 59%, #ccc9a6 69%, #828171 100%);
}

/* ---------- base ---------- */
html { font-size: 2.5vw; -webkit-text-size-adjust: 100%; }
@media (min-width: 480px) { html { font-size: 12px; } }
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  background: #e9e7f0;
  color: var(--txt);
  font-family: var(--f-sans);
  font-size: 1.4rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; padding: 0; }
ul, ol { list-style: none; }
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; color: inherit; }
.lp {
  position: relative;
  width: 40rem;
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 0 24px rgba(0, 0, 0, .08);
}
.serif { font-family: var(--f-serif); font-weight: 700; }
.chev { width: 0.5rem; height: 0.9rem; fill: none; stroke: currentColor; stroke-width: 1px; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }

/* 斜めハイライト付きボタン（XDの左上白帯・右下暗帯） */
.btn-bevel {
  box-shadow:
    inset 0.4rem 0.4rem 0 rgba(255, 255, 255, .3),
    inset -0.4rem -0.4rem 0 rgba(1, 46, 1, .3);
}

/* ---------- header ---------- */
.hd { position: relative; height: 6.4rem; background: #fff; }
.hd-logo { position: absolute; left: -0.5rem; top: 0; width: 19.1rem; }
.hd-logo img { width: 19.1rem; }
.hd-tag {
  position: absolute; left: 1.9rem; top: 4.958rem;
  font-size: 0.9rem; font-weight: 500; line-height: 1; letter-spacing: .04em; color: var(--gray); white-space: nowrap;
}
.hd-btn {
  position: absolute; left: 20.4rem; top: 0.6rem; width: 18.1rem; height: 4.6rem;
  background: linear-gradient(90deg, #3bbf3a, #137a12);
  color: #fff;
}
.hd-btn span {
  position: absolute; left: 1.4rem; top: 1.59rem;
  font-size: 1.4rem; font-weight: 700; line-height: 1; letter-spacing: .04em; white-space: nowrap;
}
.hd-btn .chev { position: absolute; left: 16.5rem; top: 1.9rem; }

/* ---------- 地域密着 ---------- */
.area { position: relative; height: 8.9rem; background: var(--navy); color: #fff; }
.area::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 0.2rem; background: var(--gold-line); }
.area p { position: absolute; left: 2rem; line-height: 1; white-space: nowrap; }
.area-t1 { top: 1.015rem; font-family: var(--f-serif); font-weight: 700; font-size: 1.7rem; letter-spacing: .08em; }
.area-t2 { top: 3.4rem; display: flex; align-items: center; font-family: var(--f-serif); font-weight: 700; }
.area-box {
  display: flex; align-items: center; justify-content: center;
  width: 2.7rem; height: 2.7rem; margin-right: 0.1rem;
  background: #f9ff00; color: var(--navy); font-size: 1.9rem;
}
.area-no { margin-left: 0.1rem; font-size: 1.9rem; letter-spacing: .04em; }
.area-lg { font-size: 2.1rem; letter-spacing: .04em; }
.area-t3 { top: 6.664rem; font-size: 1rem; letter-spacing: .08em; }

.badge { position: absolute; left: 26.9rem; top: -1.3rem; width: 12.3rem; height: 12.3rem; z-index: 2; }
.badge img { width: 12.3rem; }
.badge p {
  position: absolute; left: 6.1rem; transform: translateX(-50%);
  line-height: 1; white-space: nowrap;
  text-shadow: 0 0 0.1rem #fff, 0 0 0.1rem #fff, 0 0 0.2rem #fff, 0 0 0.3rem #fff, 0 0 0.6rem #fff;
}
.badge-t1 { top: 3.904rem; font-size: 0.85rem; font-weight: 500; color: #452311; }
.badge-t2 { top: 4.747rem; font-family: var(--f-din); font-size: 2.3rem; letter-spacing: -.03em; color: #ac0e58; }
.badge-t3 { top: 7.304rem; font-size: 0.85rem; color: #ac0e58; }

/* ---------- MV ---------- */
.mv img { width: 40rem; }

/* ---------- 取り扱い ---------- */
.genre { position: relative; height: 5.5rem; background: linear-gradient(180deg, var(--navy), var(--navy2)); color: #fff; }
.genre li { position: absolute; left: calc(var(--x) * .1rem); top: -0.2rem; transform: translateX(-50%); }
.genre li img { width: 4rem; margin: 0 auto; }
.genre li span {
  position: absolute; left: 50%; top: 3.664rem; transform: translateX(-50%);
  font-size: 1rem; font-weight: 700; line-height: 1; white-space: nowrap;
}
.genre li small { font-size: 0.8rem; }
.genre .sep { position: absolute; left: calc(var(--x) * .1rem); top: 1.7rem; width: 0.1rem; height: 2.5rem; background: rgba(255, 255, 255, .5); }

/* ---------- 実績 ---------- */
.result { position: relative; height: 24.2rem; background: #ebebeb; }
.result-hd { font-weight: 700; }
.result-hd span { position: absolute; line-height: 1; white-space: nowrap; font-family: var(--f-serif); }
.result-hd .t1 { left: 7.7rem; top: 2.601rem; transform: translateX(-50%); font-size: 1.5rem; letter-spacing: .04em; color: var(--navy); }
.result-hd .t2 { left: 13.5rem; top: 1.496rem; font-size: 2.9rem; color: var(--pink); }
.result-hd img { position: absolute; top: 2.4rem; width: 1.4rem; }
.result-hd .sl { left: 0.7rem; }
.result-hd .sr { left: 37.9rem; }
.result-scroll {
  position: absolute; left: 0; top: 5.2rem; width: 40rem;
  overflow: hidden; touch-action: pan-y;
  cursor: grab; user-select: none; -webkit-user-select: none;
}
.result-scroll.is-dragging { cursor: grabbing; }
.result-list { display: flex; gap: 0.4rem; width: max-content; padding: 0 0 0.6rem; will-change: transform; }
.result-list li {
  position: relative; flex: none; width: 11.3rem; height: 14.5rem;
  background: #fff; box-shadow: 0 0.2rem 0.2rem rgba(0, 0, 0, .16);
}
.result-list .ph { position: absolute; left: 0.4rem; top: 0.4rem; width: 10.5rem; height: 8.5rem; background: #ebebeb; }
.result-list .ph img { width: 10.5rem; }
.result-list .ph .op8 { opacity: .8; }
.result-list .nm {
  position: absolute; left: 0; right: 0; top: 9.958rem; text-align: center;
  font-size: 0.9rem; font-weight: 700; line-height: 1; letter-spacing: .04em; white-space: nowrap; color: var(--txt);
}
.result-list .pr {
  position: absolute; left: 0; right: 0; top: 11.352rem; text-align: center;
  font-size: 1.1rem; font-weight: 700; line-height: 1; letter-spacing: .04em; color: var(--pink); white-space: nowrap;
}
.result-list .pr b { font-family: var(--f-heebo); font-size: 1.8rem; letter-spacing: 0; }
.result-ft span { position: absolute; line-height: 1; white-space: nowrap; font-family: var(--f-serif); font-weight: 700; }
.result-ft .t1 { left: 9.6rem; top: 21.994rem; transform: translateX(-50%); font-size: 1.4rem; letter-spacing: -.06em; color: var(--navy); }
.result-ft .t2 { left: 18.8rem; top: 20.596rem; font-size: 2.9rem; color: var(--pink); }

/* ---------- 注意事項 ---------- */
.notice {
  position: relative; width: 37rem; height: 4.6rem; margin: 1.4rem auto 0;
  background: rgba(238, 12, 120, .06); border: 1px solid var(--pink); border-radius: 0.5rem;
}
.notice .ic { position: absolute; left: 1rem; top: 1.1rem; width: 2.4rem; }
.notice p { position: absolute; left: 4.9rem; top: 0.59rem; width: 31.4rem; font-size: 0.9rem; line-height: 1.44rem; color: var(--gray); }
.notice a { text-decoration: underline; text-underline-offset: 2px; }

/* ---------- ご新規様キャンペーン／高価買取保証（LP_追加_修正.xd 「LP_追加」 y837〜1931） ---------- */
.ncp { position: relative; height: 109.4rem; margin-top: 1.3rem; background: #fcf2e3; overflow: hidden; }
.ncp > * { position: absolute; }
.ncp + .fixbar, .ncp + .fixbar + .fixbar-spacer { margin-top: 0; }
.ncp-ribbon { width: 15.1rem; }
.ncp-ribbon.is-l { left: 0; top: 95.9rem; }
.ncp-ribbon.is-r { left: 24.9rem; top: 91rem; }
.ncp-bg { left: 0; top: 0; width: 40rem; }
.ncp-cover { left: 0; top: 22.9rem; width: 40rem; height: 2.6rem; background: linear-gradient(rgba(252, 242, 227, 0), #fcf2e3); }
.ncp-card { left: 1.5rem; top: 3.4rem; width: 37rem; height: 30.6rem; background: rgba(255, 255, 255, .85); }
.ncp-ticket { left: 18.2rem; top: 10.9rem; width: 21.8rem; }
.ncp-label { left: 8.9rem; top: 1.8rem; width: 22.2rem; }
.ncp-limit { left: 0; top: 2.808rem; width: 40rem; text-align: center; font-size: 1.6rem; line-height: 1; letter-spacing: .1em; color: #fff; }
.ncp-limit b { position: relative; top: 0.2rem; font-size: 2.5rem; line-height: 0; letter-spacing: .04em; }
.ncp-ttl { left: 0; top: 0; width: 40rem; height: 10rem; font-weight: 700; line-height: 1; }
.ncp-ttl span { position: absolute; white-space: nowrap; }
.ncp-ttl .a { left: 2.6rem; top: 6.289rem; font-size: 2.8rem; letter-spacing: .03em; color: var(--pink); }
.ncp-ttl .b { left: 19.8rem; top: 6.196rem; font-size: 2.9rem; color: var(--navy); }
.ncp-ttl .b span { position: static; }
.ncp-ttl .k1 { letter-spacing: -.15em; }
.ncp-ttl .k2 { letter-spacing: -.07em; }
.ncp-lead { left: 0.1rem; top: 10.19rem; width: 40rem; text-align: center; font-size: 1.4rem; font-weight: 700; line-height: 1; letter-spacing: .04em; color: var(--navy); white-space: nowrap; }
.ncp-badge { left: 0.4rem; top: 13.6rem; width: 7.5rem; height: 7.5rem; border-radius: 50%; background: var(--pink); box-shadow: 0.2rem 0.2rem 0.05rem #a01a00; }
.ncp-badge span { position: absolute; left: 0; top: 2.909rem; width: 7.64rem; text-align: center; font-size: 1.7rem; font-weight: 700; line-height: 1; letter-spacing: .02em; color: #fff; transform: rotate(-7deg); }
.ncp-110 { left: 7.87rem; top: 12.921rem; width: 18.056rem; }
.ncp-spk.s1 { left: 3.303rem; top: 9.623rem; width: 10.775rem; transform: rotate(-120deg); }
.ncp-spk.s2 { left: 17.673rem; top: 16.723rem; width: 7.254rem; transform: rotate(113deg); }
.ncp-spk.s3 { left: 13.159rem; top: 18.109rem; width: 3.022rem; transform: rotate(67deg); }
.ncp-spk.s4 { left: 8.169rem; top: 14.969rem; width: 3.022rem; transform: rotate(67deg); }
.ncp-spk.s5 { left: 21.849rem; top: 16.849rem; width: 3.522rem; transform: rotate(67deg); }
.ncp-hosho { left: 2.4rem; top: 21.6rem; width: 23.8rem; } /* 縁取り文字はブラウザだとグリフの重なり線が出るため書き出しPNGから切り出し */
.ncp-target { left: 3rem; top: 29.258rem; font-size: 0.9rem; line-height: 1; color: var(--gray); white-space: nowrap; }
.ncp-ex { left: 0; top: 0; width: 40rem; height: 34rem; pointer-events: none; }
.ncp-ex > span { position: absolute; font-weight: 700; line-height: 1; white-space: nowrap; }
.ncp-ex .t1 { left: 3rem; top: 31.57rem; font-size: 1.1rem; color: var(--navy); }
.ncp-ex .t1 .ls { letter-spacing: -.299em; }
.ncp-ex .n1 { right: 22.8rem; top: 31.41rem; font-family: var(--f-heebo); font-size: 1.5rem; color: var(--navy); }
.ncp-ex .t2 { left: 17.2rem; top: 31.57rem; font-size: 1.1rem; letter-spacing: .04em; color: var(--navy); }
.ncp-ex .n2 { right: 14.1rem; top: 31.052rem; font-family: var(--f-heebo); font-size: 1.8rem; letter-spacing: -.02em; color: var(--pink); }
.ncp-ex .n2 .ls { letter-spacing: -.1em; }
.ncp-ex .t3 { left: 25.9rem; top: 31.57rem; font-size: 1.1rem; letter-spacing: .04em; color: var(--pink); }
.ncp-ex .t4 { left: 27rem; top: 31.57rem; font-size: 1.1rem; color: var(--navy); }
.ncp-ex .t4 .l { font-size: 1.3rem; }
.ncp-ex .t4 .ls2 { letter-spacing: -.2em; }

.ncp-h2 { left: 0; top: 0; width: 40rem; height: 40rem; pointer-events: none; }
.ncp-h2 .sl { position: absolute; top: 36.49rem; width: 1.99rem; }
.ncp-h2 .sl.is-l { left: 2.461rem; }
.ncp-h2 .sl.is-r { left: 35.549rem; }
.ncp-h2 span { position: absolute; font-weight: 700; white-space: nowrap; }
.ncp-h2 .a { left: -0.94rem; top: 35.508rem; width: 20rem; text-align: center; font-size: 1.6rem; line-height: 1.8rem; letter-spacing: .04em; color: var(--navy); }
.ncp-h2 .b { left: 13.36rem; top: 35.243rem; font-size: 3.6rem; line-height: 1; color: var(--pink); }
.ncp-h3 {
  left: 0; top: calc((var(--y) + 10 - .9325 * 22) * .1rem); width: 40rem; text-align: center;
  font-size: 2.2rem; line-height: 1; color: var(--navy);
}
.ncp-h3 b { font-size: 2.4rem; line-height: 0; }
.ncp-h3::before, .ncp-h3::after { content: ""; position: absolute; top: calc((.9325 * 22 - 10) * .1rem); width: 6.4rem; height: 0.2rem; }
.ncp-h3::before { left: 4.8rem; background: linear-gradient(90deg, #e0bd5e, #c38c17 48%, #8b5416); }
.ncp-h3::after { left: 28.8rem; background: linear-gradient(270deg, #e0bd5e, #c38c17 48%, #8b5416); }

/* カード：紺の見出し帯＋白地（XDの bg は180°回転の白矩形） */
.ncp-cards { left: 0; top: 0; width: 0; height: 0; }
.ncp-cards li {
  position: absolute; left: calc(var(--x) * .1rem);
  border-radius: 0.5rem; background: var(--navy);
  box-shadow: inset 0 0 0 1px #dedddb, 0 0 0.2rem rgba(0, 0, 0, .16);
}
.ncp-cards li::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; border-radius: 0 0 0.4rem 0.4rem; background: #fff; }
.ncp-cards li > * { position: absolute; }
.ncp-cards .ttl { left: 0; top: 0.733rem; width: 100%; text-align: center; font-size: 1.3rem; font-weight: 700; line-height: 1; color: #fff; white-space: nowrap; }
.ncp-cards .ttl small { position: absolute; left: 0; top: 1.67rem; width: 100%; font-size: 0.9rem; font-weight: 500; line-height: 1; }
.ncp-cards .pr { left: 0; top: 0; width: 100%; height: 0; color: var(--pink); }
.ncp-cards .pr > * { position: absolute; line-height: 1; white-space: nowrap; }
.ncp-cards .pr i { font-style: normal; height: 1.9rem; padding: 0 0.2rem; border-radius: 0.4rem; background: var(--pink); color: #fff; font-size: 1.1rem; font-weight: 400; }
.ncp-cards .pr b { font-family: var(--f-heebo); font-size: 2.2rem; font-weight: 700; }
.ncp-cards .pr > span { font-size: 1.3rem; font-weight: 700; letter-spacing: .04em; }
.ncp-cards .nt { font-size: 0.9rem; line-height: 1; color: var(--gray); white-space: nowrap; }
.kome { font-size: .75em; line-height: 0; }
.ncp-cards .im { height: auto; }
/* 1段目 */
.ncp-cards .c3 { top: 44.1rem; width: 11.8rem; height: 17.4rem; }
.ncp-cards .c3::before { top: 3.9rem; }
.ncp-cards .c3 .ttl.is-1line { top: 1.303rem; }
.ncp-cards .c3 .pr i { left: 0.6rem; top: 4.8rem; width: 2.6rem; padding-top: 0.27rem; }
.ncp-cards .c3 .pr b { right: 5.9rem; top: 4.608rem; }
.ncp-cards .c3 .pr span { left: 5.9rem; top: 5.183rem; }
.ncp-cards .c3 .nt { left: 1.5rem; top: 16.058rem; }
.ncp-cards .im-watch { left: 0.6rem; top: 7.2rem; width: 10.7rem; }
.ncp-cards .im-gold { left: 0; top: 6.7rem; width: 11.9rem; }
.ncp-cards .im-jewelry { left: 0.1rem; top: 6.8rem; width: 11.6rem; }
/* 2段目 */
.ncp-cards .c2 { top: 67rem; width: 18.1rem; height: 13.8rem; }
.ncp-cards .c2::before { top: 3.9rem; }
.ncp-cards .c2 .ttl { top: 1.283rem; }
.ncp-cards .c2 .pr b { top: 4.608rem; }
.ncp-cards .c2 .pr span { top: 5.183rem; }
.ncp-cards .c2 .pr i { top: 4.8rem; padding-top: 0.37rem; }
.ncp-cards .is-coin .pr i { left: 1rem; width: 5.2rem; padding-left: 0.4rem; }
.ncp-cards .is-coin .pr b { right: 6.4rem; }
.ncp-cards .is-coin .pr b .ls { letter-spacing: -.13em; }
.ncp-cards .is-coin .pr span { left: 11.7rem; }
.ncp-cards .im-coin { left: 0.6rem; top: 7.77rem; width: 5rem; }
.ncp-cards .im-coin-a { left: 6rem; top: 7.4rem; width: 5.65rem; }
.ncp-cards .im-coin-b { left: 11.85rem; top: 7.4rem; width: 5.65rem; }
.ncp-cards .is-bag .pr i { left: 2.4rem; width: 2.6rem; padding-left: 0.4rem; }
.ncp-cards .is-bag .pr b { right: 9.1rem; }
.ncp-cards .is-bag .pr span { left: 9rem; }
.ncp-cards .im-bag { left: 2.7rem; top: 7.2rem; width: 12.7rem; filter: drop-shadow(0 0.3rem 0.1rem rgba(0, 0, 0, .16)); }
/* 3段目 */
.ncp-cards .c3s { top: 81.4rem; width: 11.8rem; height: 9rem; }
.ncp-cards .c3s::before { top: 4.8rem; }
.ncp-cards .c3s .ttl small { top: 1.705rem; line-height: 1.04rem; }
.ncp-cards .c3s .nt { left: 0; top: 7.845rem; width: 100%; text-align: center; font-size: 0.7rem; }
.ncp-cards .is-watch .pr i { left: 1rem; top: 5.4rem; width: 2.2rem; padding: 0.37rem 0 0 0.2rem; }
.ncp-cards .is-watch .pr b { right: 4.6rem; top: 5.208rem; }
.ncp-cards .is-watch .pr span { left: 7.2rem; top: 5.783rem; }
.ncp-cards .is-neck .pr b { right: 5.1rem; top: 5.208rem; }
.ncp-cards .is-neck .pr span { left: 6.7rem; top: 5.783rem; }
.ncp-cards .is-tel::before { top: 2.8rem; }
.ncp-cards .is-tel .pr i { left: 0.2rem; height: 1.5rem; padding: 0.258rem 0 0 0.2rem; font-size: 0.9rem; }
.ncp-cards .is-tel .pr b { font-size: 1.4rem; }
.ncp-cards .is-tel .pr span { font-size: 0.9rem; }
.ncp-cards .is-tel .pr span small { font-size: 0.6rem; }
.ncp-cards .is-tel .is-50 i { top: 3.5rem; width: 4.7rem; }
.ncp-cards .is-tel .is-50 b { right: 4.3rem; top: 3.496rem; }
.ncp-cards .is-tel .is-50 span { left: 7.5rem; top: 3.758rem; }
.ncp-cards .is-tel .is-105 i { top: 5.6rem; width: 5.3rem; }
.ncp-cards .is-tel .is-105 b { right: 3.7rem; top: 5.596rem; }
.ncp-cards .is-tel .is-105 span { left: 8.1rem; top: 5.858rem; }

.ncp-one { left: 0; top: 0; width: 40rem; height: 0; color: var(--pink); font-weight: 700; }
.ncp-one > * { position: absolute; line-height: 1; white-space: nowrap; }
.ncp-one b { right: 30.5rem; top: 91.934rem; font-family: var(--f-heebo); font-size: 3.1rem; }
.ncp-one .t { left: 9.5rem; top: 92.441rem; font-size: 2.2rem; letter-spacing: .04em; }
.ncp-one .sl { top: 92.441rem; font-size: 2.2rem; font-weight: 400; }
.ncp-one .sl.is-l { left: 4.7rem; transform: scaleX(-1); }
.ncp-one .sl.is-r { left: 34.6rem; }
.ncp-msg {
  left: 1.5rem; top: 95.6rem; width: 37rem; height: 8.7rem;
  border: 0.2rem solid transparent; border-radius: 0.2rem;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(to bottom right, #e0bd5e, #fff1d5 48%, #e0bd5e) border-box;
}
.ncp-msg p { position: absolute; left: -0.9rem; width: 40rem; text-align: center; font-weight: 700; white-space: nowrap; }
.ncp-msg .a { top: 0.74rem; font-size: 1.4rem; line-height: 1.9rem; color: #0d0905; }
.ncp-msg .b { top: 5.415rem; font-size: 1.8rem; line-height: 1; color: var(--pink); }
.ncp-more { left: 4rem; top: 106.09rem; font-size: 1.4rem; line-height: 1; color: var(--txt); white-space: nowrap; }
.ncp-more a { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 下部固定ボタン ---------- */
.fixbar { position: relative; display: flex; height: 5.6rem; margin-top: 1.3rem; z-index: 50; }
.fixbar a {
  position: relative; flex: none; height: 5.6rem; color: #fff;
  box-shadow: inset 0 0 0 1px #ded7c2;
}
.fixbar img { position: absolute; }
.fixbar span { position: absolute; top: 2.602rem; font-size: 1.6rem; font-weight: 700; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.fixbar small { position: absolute; left: 0; top: -1.45rem; font-size: 1.2rem; font-weight: 400; letter-spacing: 0; }
.fb-line { width: 14.2rem; background: linear-gradient(90deg, #3bbf3a, #137a12); }
.fb-line img { left: 1.55rem; top: 1.32rem; width: 3.11rem; }
.fb-line span { left: 5.77rem; }
.fb-form { width: 13rem; margin-left: -0.1rem; background: linear-gradient(90deg, #e30015, #a01a00); }
.fb-form img { left: 1.65rem; top: 1.62rem; width: 2.36rem; }
.fb-form span { left: 5.1rem; }
.fb-tel { width: 13rem; margin-left: -0.1rem; background: linear-gradient(90deg, #12005f, #0a0034); }
.fb-tel img { left: 2.08rem; top: 1.55rem; width: 2.44rem; }
.fb-tel span { left: 5.5rem; }
.fixbar-spacer { display: none; height: 5.6rem; margin-top: 1.3rem; }
.fixbar.is-fixed {
  position: fixed; left: 50%; bottom: 0; margin: 0; width: 40rem; transform: translateX(-50%);
  animation: fbIn .3s ease;
}
.fixbar.is-fixed + .fixbar-spacer { display: block; }
@keyframes fbIn { from { transform: translate(-50%, 100%); } to { transform: translate(-50%, 0); } }

/* ---------- 共通：注釈 ---------- */
.note { position: relative; padding-left: 1rem; font-size: 0.9rem; line-height: 1.44rem; color: var(--gray); }
.note .kome { position: absolute; left: 0; top: 0.3rem; }
.kome-list li { position: relative; padding-left: 1rem; font-size: 0.9rem; line-height: 1.44rem; color: var(--gray); }
.kome-list li::before { content: "※"; position: absolute; left: 0; top: 0.3rem; }
.u { text-decoration: underline; text-underline-offset: 2px; }

/* ---------- 店舗バナー ---------- */
.shopbn { position: relative; height: 16.1rem; overflow: hidden; color: var(--navy); }
.shopbn-ph { position: absolute; left: 5.2rem; top: -0.3rem; width: 35.4rem; max-width: none; }
.shopbn-fade {
  position: absolute; left: 0; top: 0; width: 27.1rem; height: 16.1rem;
  background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .97) 70.2%, rgba(255, 255, 255, 0) 88.9%);
}
.shopbn-2 { position: absolute; left: 13.9rem; top: 1.81rem; width: 7.16rem; }
.shopbn-t1, .shopbn-t2 { position: absolute; left: 1.5rem; font-family: var(--f-serif); font-weight: 700; line-height: 1; letter-spacing: .01em; white-space: nowrap; }
.shopbn-t1 { top: 1.969rem; font-size: 2rem; }
.shopbn-t1 span { font-size: 2.5rem; }
.shopbn-t2 { top: 5.508rem; font-size: 1.6rem; }
.shopbn-btn {
  position: absolute; left: 1.5rem; top: 8.3rem; width: 20.1rem; height: 3.7rem;
  border-radius: 1.85rem; background: var(--navy); color: #fff;
}
.shopbn-btn span { position: absolute; left: 1.6rem; top: 1.09rem; font-size: 1.4rem; font-weight: 700; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.shopbn-btn .chev { position: absolute; left: 18.5rem; top: 1.4rem; }
.shopbn-note { position: absolute; left: 1.5rem; top: 12.49rem; width: 20.1rem; }

/* ---------- キャンペーン ---------- */
.cp { background: #fcf2e3; }
.cp-img { width: 40rem; }
.cp-acc { padding: 0.8rem 1.5rem; }
.acc { position: relative; background: #fff; border-radius: 0.5rem; box-shadow: inset 0 0 0 1px #dedddb; }
.acc-hd {
  position: relative; display: block; width: 100%; height: 4.2rem; padding: 0 0 0 1.2rem; margin: 0;
  border: 0; background: none; cursor: pointer; text-align: left;
  font-size: 1.2rem; font-weight: 700; line-height: 1; color: var(--navy);
}
.acc-ic {
  position: absolute; right: 1.3rem; top: 1.1rem; width: 2rem; height: 2rem;
  fill: none; stroke: var(--navy); stroke-width: 1px; stroke-linecap: round; stroke-linejoin: round;
  transition: transform .25s;
}
.acc.is-open .acc-ic { transform: rotate(45deg); }
.acc-bd { display: none; }
.acc.is-open .acc-bd { display: block; }
.cp-notes { padding: 0 1.6rem 1.41rem 1.2rem; margin-top: -0.31rem; }
.cp-notes li { padding-left: 1rem; }

/* ---------- フォーム ---------- */
.fm { position: relative; padding-bottom: 0.8rem; }
.fm-hd { position: relative; height: 17.2rem; background: var(--navy); color: #fff; }
.fm-pill {
  position: absolute; left: 1.5rem; top: 2rem; width: 14.8rem; height: 3.6rem;
  border-radius: 1.8rem; background: #fff; color: var(--navy);
  font-size: 2.2rem; font-weight: 700; line-height: 3.6rem; text-align: center; white-space: nowrap;
}
.fm-pill b { display: inline-block; margin: 0 0.5rem; font-family: var(--f-barlow); font-size: 3rem; line-height: 1; vertical-align: -0.1rem; }
.fm-ttl { position: absolute; left: 27.7rem; top: 2.373rem; transform: translateX(-50%); font-size: 2.7rem; font-weight: 700; line-height: 1; white-space: nowrap; }
.fm-lead { position: absolute; left: 1.5rem; top: 5.91rem; width: 37rem; text-align: center; font-size: 1.4rem; font-weight: 700; line-height: 2.24rem; }
.fm-card {
  position: relative; width: 37rem; min-height: 39rem; margin: -5.8rem auto 0; padding: 1.6rem;
  background: #fff; border-radius: 0.5rem;
  box-shadow: inset 0 0 0 1px #dedddb, 0 0.4rem 0.4rem rgba(0, 0, 0, .16);
}
.fm-row { position: relative; min-height: 8.4rem; padding-bottom: 1.6rem; }
.fm-row.is-ta { min-height: 10.6rem; }
.req {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 3.2rem; height: 2.2rem; border-radius: 0.4rem; background: var(--pink); color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 1;
}
.req.opt { background: var(--gray); }
.fm-lb { display: flex; align-items: center; height: 2.2rem; font-size: 1.4rem; line-height: 1; color: var(--txt); }
.fm-lb label { margin-left: 0.4rem; }
.fm-lb small { font-size: 1.2rem; color: var(--gray); }
.fm-in {
  display: block; width: 33.8rem; height: 4.2rem; margin-top: 0.4rem; padding: 0 1.6rem;
  border: 1px solid #dedddb; border-radius: 0; background: #fff;
  font-size: 1.4rem; line-height: 2.24rem; color: var(--txt); -webkit-appearance: none; appearance: none;
}
.fm-in::placeholder { color: var(--gray); opacity: 1; }
.fm-ta { height: 6.4rem; padding-top: 0.87rem; padding-bottom: 0.4rem; resize: none; }
.fm-agree { position: relative; min-height: 3.8rem; padding-bottom: 1.6rem; }
.fm-agree label { display: flex; align-items: center; cursor: pointer; }
.fm-agree input { position: absolute; opacity: 0; width: 2.2rem; height: 2.2rem; margin: 0; }
.fm-cb { position: relative; flex: none; width: 2.2rem; height: 2.2rem; border: 1px solid #dedddb; background: #fff; }
.fm-agree input:checked ~ .fm-cb::after {
  content: ""; position: absolute; left: -0.1rem; top: 0.1rem; width: 2.2rem; height: 1.7rem;
  background: url(../images/svg/check.svg) no-repeat center / contain;
}
.fm-agree input:focus-visible ~ .fm-cb { outline: 2px solid var(--navy); outline-offset: 2px; }
.fm-agree .req { margin-left: 0.8rem; }
.fm-agree-t { margin-left: 0.4rem; font-size: 1.4rem; line-height: 1; color: var(--txt); white-space: nowrap; }
.fm-btn {
  position: relative; display: block; margin: 0 auto; width: 26rem; height: 4.6rem; padding: 0; border: 0; cursor: pointer;
  background: linear-gradient(90deg, #3bbf3a, #137a12); color: #fff;
}
.fm-btn span { position: absolute; right: 3.7rem; top: 1.59rem; font-size: 1.4rem; font-weight: 700; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.fm-btn .chev { position: absolute; left: 24.4rem; top: 1.9rem; }

/* ---------- 共通：セクション見出し（キラキラ背景＋ピル＋明朝見出し） ---------- */
.sec-hd { position: relative; height: 8.8rem; background: url(../images/bg_sparkle.jpg) no-repeat center top / 40rem 8.8rem; }
.sec-pill {
  position: absolute; left: 50%; top: 2.4rem; width: calc(var(--w) * .1rem); height: 2.6rem; transform: translateX(-50%);
  border-radius: 1.3rem; background: var(--navy); color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem; text-align: center; white-space: nowrap;
}
.sec-ttl {
  position: absolute; left: 0; top: 6.248rem; width: 100%; text-align: center;
  font-family: var(--f-serif); font-size: 2.2rem; font-weight: 700; line-height: 1; color: var(--navy); white-space: nowrap;
}
.sec-ttl::before, .sec-ttl::after {
  content: ""; position: absolute; top: calc((73 - (83 - .9325 * 22)) * .1rem); width: 6.4rem; height: 0.2rem;
  background: linear-gradient(90deg, #e0bd5e, #c38c17 48%, #8b5416);
}
.sec-ttl::before { left: calc(var(--lx, 84) * .1rem); }
.sec-ttl::after { left: calc(var(--rx, 252) * .1rem); transform: scaleX(-1); }
.tmp { padding: 2rem 0; text-align: center; font-size: 1.2rem; color: var(--gray); }

/* ---------- 買取品目 ---------- */
.item-list { display: grid; grid-template-columns: repeat(2, 18.1rem); gap: 0.8rem; padding: 0.9rem 1.5rem 0; }
.item-list li {
  position: relative; height: 16.9rem; background: #fff; border-radius: 0.5rem;
  box-shadow: inset 0 0 0 1px #dedddb; text-align: center;
}
.item-list img { width: 17.9rem; margin: 0.1rem 0.1rem 0; border-radius: 0.4rem 0.4rem 0 0; }
.item-list h3 { position: absolute; left: 0; right: 0; top: 12.69rem; font-size: 1.4rem; font-weight: 700; line-height: 1; color: var(--navy); }
.item-list p { position: absolute; left: 0; right: 0; top: 14.67rem; font-size: 1.1rem; line-height: 1; color: var(--gray); white-space: nowrap; }
.item-other {
  width: 37rem; height: 8.4rem; margin: 0.8rem auto 0; padding: 1.24rem 1.6rem 0;
  background: #ebebeb; border-radius: 0.5rem; font-size: 1.1rem; line-height: 1.76rem; color: var(--gray);
}

/* ---------- 買取参考価格 ---------- */
.price { padding-bottom: 0.59rem; }
.price-upd { margin-top: 1.19rem; font-size: 1.4rem; line-height: 1; text-align: center; color: var(--txt); }
.tabs-nav {
  display: flex; gap: 0.4rem; margin-top: 1.11rem; padding: 0 1.5rem; overflow-x: auto; scrollbar-width: none;
}
.tabs-nav::-webkit-scrollbar { display: none; }
.tabs-nav button {
  flex: none; width: calc(var(--w) * .1rem); height: 2.9rem; padding: 0 0 0 1.6rem; margin: 0;
  border: 0; border-radius: 0.5rem; background: #fff; box-shadow: inset 0 0 0 1px #dedddb;
  font-size: 1.1rem; line-height: 1; text-align: left; color: var(--gray); white-space: nowrap; cursor: pointer;
}
.tabs-nav button.is-active { background: var(--navy); color: #fff; font-weight: 700; }
.tabs-panel { display: none; }
.tabs-panel.is-active { display: block; }
.price-sub { margin-top: 2.015rem; font-size: 1.8rem; font-weight: 700; line-height: 1; text-align: center; color: var(--navy); }
.price-list { padding: 0 1.5rem; margin-top: calc((205 - 191 + .936 * 18 - 18) * .1rem); }
.price-list li {
  position: relative; height: 10.4rem; margin-bottom: 0.4rem; background: #fff; border-radius: 0.5rem;
  box-shadow: inset 0 0 0 1px #dedddb;
}
.price-list img { position: absolute; left: 0.4rem; top: 0.4rem; width: 14.4rem; border-radius: 0.4rem; box-shadow: 0 0 0 1px #ebebeb inset; }
.price-list h4 { position: absolute; left: 16rem; top: 0.484rem; width: 19.4rem; font-size: 1.2rem; font-weight: 700; line-height: 1.92rem; color: var(--navy); }
.price-list .tag {
  position: absolute; left: 16rem; top: 3.7rem; width: 7.4rem; height: 2.1rem; padding-left: 0.4rem;
  border-radius: 0.5rem; background: #ebebeb; font-size: 1.1rem; line-height: 2.1rem; color: var(--txt); white-space: nowrap;
}
.price-list .yen {
  position: absolute; right: 1.6rem; top: 3.752rem;
  font-size: 1.1rem; font-weight: 700; line-height: 1; letter-spacing: .04em; color: var(--pink); white-space: nowrap;
}
.price-list .yen b { font-family: var(--f-heebo); font-size: 1.8rem; letter-spacing: 0; margin-right: 0.2rem; }
.price-more { margin: 1.6rem 1.5rem 0; }
.price-more .acc-hd { padding-left: 1.2rem; }
.price-notes { position: relative; margin: calc((3570 - 3554 - 3.12) * .1rem) 0 0 2.7rem; width: 34.2rem; }
.price-list li:nth-child(n+3) .tag { top: 3.1rem; }
.price-list li:nth-child(n+3) .yen { top: 3.152rem; }

/* ---------- CTA：かんたん無料査定 ---------- */
.cta { position: relative; height: 37.3rem; background: #0b161a url(../images/cta_bg.jpg) no-repeat center / 40rem 37.3rem; color: #fff; }
.cta p, .cta h2 { position: absolute; line-height: 1; white-space: nowrap; }
.cta-t1 { left: 0; right: 0; top: 2.677rem; text-align: center; font-size: 1.2rem; }
.cta-15 {
  left: 2.1rem; top: 5rem; width: 5.1rem; height: 3.9rem; border-radius: 0.2rem; color: #0d0905;
  background: linear-gradient(135deg, #e0bd5e, #fff1d5 48%, #e0bd5e);
}
.cta-15 small, .cta-15 b, .cta-15 span { position: absolute; line-height: 1; font-weight: 700; transform: translateX(-50%); }
.cta-15 small { left: 2.5rem; top: 0.458rem; font-size: 0.9rem; }
.cta-15 b { left: 1.7rem; top: 1.42rem; font-family: var(--f-barlow); font-size: 2.2rem; letter-spacing: .11em; text-indent: .11em; }
.cta-15 span { left: 3.7rem; top: 1.896rem; font-size: 1.5rem; }
.cta-ttl { left: 7.97rem; top: 5.68rem; }
.cta-ttl img { width: 22.67rem; }
.cta-ttl span { position: absolute; left: calc(31.3rem - 7.97rem); top: calc(6.042rem - 5.68rem); font-family: var(--f-serif); font-size: 2.1rem; font-weight: 700; letter-spacing: .01em; }
.cta-t2 { left: 19.8rem; top: 9.983rem; transform: translateX(-50%); font-size: 1.3rem; font-weight: 700; }
.cta-pill {
  left: 8.4rem; top: 12.2rem; width: 23.2rem; height: 2.6rem; border-radius: 1.3rem; background: #fff; color: var(--navy);
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem !important; text-align: center;
}
.cta-btns { position: absolute; left: 3.2rem; top: 16.4rem; width: 33.6rem; }
.cta-btns li + li { margin-top: 0.8rem; }
.cta-btns a { position: relative; display: block; height: 5.6rem; color: #fff; }
.cta-btns .ic, .cta-btns .badge-easy, .cta-btns b, .cta-btns small, .cta-btns .chev { position: absolute; }
.cta-btns b { left: 5.5rem; top: 1.202rem; font-size: 1.6rem; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.cta-btns small { left: 5.5rem; top: 3.464rem; font-size: 1rem; line-height: 1; white-space: nowrap; }
.cta-btns .chev { left: 31.4rem; top: 2.2rem; width: 0.7rem; height: 1.2rem; }
.cta-line { background: linear-gradient(90deg, #3bbf3a, #137a12); }
.cta-line .ic { left: 1.3rem; top: 1.29rem; width: 3.11rem; }
.cta-form { background: linear-gradient(90deg, #e30015, #a01a00); box-shadow: inset 0 0 0 1px #ded7c2; }
.cta-form .ic { left: 1.7rem; top: 1.62rem; width: 2.36rem; }
.cta-form .badge-easy { left: 5.2rem; top: 1.2rem; width: 3.6rem; }
.cta-form b { left: 9rem; }
.cta-tel { background: linear-gradient(90deg, #12005f, #0a0034); box-shadow: inset 0 0 0 1px #ded7c2; }
.cta-tel .ic { left: 1.335rem; top: 1.62rem; width: 3.09rem; }
.cta-tel small { left: 4.9rem; top: 3.664rem; }

/* ---------- 金相場の高騰 ---------- */
.soba { position: relative; height: 22.7rem; background: #000 url(../images/soba_bg.jpg) no-repeat center top / 40rem 22.5rem; color: #fff; }
.soba::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 0.2rem; background: var(--gold-line); }
.soba p, .soba h2, .soba span { line-height: 1; white-space: nowrap; }
.soba-ttl { position: absolute; left: 0; right: 0; top: 2.809rem; text-align: center; font-size: 1.7rem; font-weight: 700; letter-spacing: .04em; }
.soba-list li {
  position: absolute; top: 7.3rem; width: 11.6rem; height: 5.8rem; border-radius: 0.4rem;
  background: #626a81; box-shadow: inset 0 0 0 1px #ded7c2;
}
.soba-list li:nth-child(1) { left: 1.5rem; }
.soba-list li:nth-child(2) { left: 14.2rem; }
.soba-list li:nth-child(3) { left: 26.9rem; background: linear-gradient(90deg, #fdfcf8, #feefd0); color: var(--pink); }
.soba-list .y { position: absolute; left: 0; right: 0; top: 1.064rem; text-align: center; font-size: 1rem; }
.soba-list .is-now .y { color: var(--txt); }
.soba-list .v { position: absolute; left: 0; top: 0; width: 11.6rem; height: 5.8rem; }
.soba-list b { position: absolute; right: 4.7rem; top: 3.052rem; font-family: var(--f-heebo); font-size: 1.8rem; line-height: 1; }
.soba-list small, .soba-list i { position: absolute; top: 3.57rem; font-size: 1.1rem; font-weight: 700; font-style: normal; line-height: 1; letter-spacing: .04em; }
.soba-list small { left: 7.1rem; }
.soba-list .is-now b { right: 3.6rem; }
.soba-list .is-now small { left: 8.2rem; }
.soba-list .is-now i { left: 1.1rem; }
.soba-x span { position: absolute; font-family: var(--f-serif); font-weight: 700; line-height: 1; white-space: nowrap; }
.soba-x .t1 { right: calc(40rem - 21.7rem); top: 15.882rem; font-size: 2.7rem; letter-spacing: .04em; margin-right: -.04em; }
.soba-x .t2 { left: 22.3rem; top: 13.125rem; font-size: 6.3rem; letter-spacing: -.08em; color: var(--pink); }
.soba-x .t3 { left: 31rem; top: 15.889rem; font-size: 2.8rem; letter-spacing: .04em; color: var(--pink); }
.soba-note { position: absolute; left: 0; right: 0; top: 20.464rem; text-align: center; font-size: 1rem; }

/* ---------- 金・プラチナの買取相場について ---------- */
.rate { position: relative; height: 112.2rem; }
.rate > :not(.sec-hd) { position: absolute; }
.sec-pill.is-pink { background: var(--pink); }
.rate-ttl {
  left: 0; top: 6.096rem; width: 100%;
  font-family: var(--f-serif); font-size: 2.9rem; font-weight: 700; line-height: 3.5rem; text-align: center; color: var(--navy);
}
.rate-lead { left: 1.5rem; top: 13.77rem; width: 37rem; font-size: 1.4rem; line-height: 2.24rem; color: var(--txt); }
.rate-point {
  left: 1.5rem; top: 21.1rem; display: flex; align-items: center; width: 37rem; height: 4rem; padding-left: 7.5rem;
  border-radius: 0.5rem; background: #ebebeb; font-size: 1.4rem; font-weight: 700; line-height: 1; color: var(--txt);
}
.rate-point img { position: absolute; left: 4.1rem; top: 0.6rem; width: 2.8rem; }
.rate-h3 { left: 0; top: 26.602rem; width: 100%; font-size: 1.6rem; font-weight: 700; line-height: 1; text-align: center; color: var(--navy); }
.rate-h3.chart-h { top: 36.602rem; }
.rate-chips { left: 0; width: 100%; display: flex; justify-content: center; gap: 0.8rem; }
.rate-chips.r1 { top: 29.4rem; }
.rate-chips.r2 { top: 32.7rem; }
.rate-chips li {
  height: 2.5rem; padding: 0 0 0 1.2rem; border-radius: 0.5rem; background: #fff; box-shadow: inset 0 0 0 1px #dedddb;
  font-size: 1.1rem; font-weight: 700; line-height: 2.5rem; color: var(--navy); white-space: nowrap;
}
.rate-chips.r1 li { width: 4.5rem; }
.rate-chips.r2 li:nth-child(1) { width: 18.8rem; }
.rate-chips.r2 li:nth-child(2) { width: 7.9rem; }
.rate-chips.r2 li:nth-child(3) { width: 6.8rem; }
.rate-chart { left: 6.1rem; top: 38.8rem; width: 27.8rem; }
.rate .alert { left: 1.5rem; top: 63.5rem; margin: 0; }
.rate-btn { left: 3.2rem; top: 74.2rem; }
.rate-notes { left: 2.9rem; top: 81.09rem; width: 34.6rem; }
.rate-bnr { left: 1.5rem; top: 86.4rem; width: 37rem; }
.alert {
  position: relative; width: 37rem; height: 9.1rem; margin: 1.2rem auto 0;
  background: rgba(238, 12, 120, .06); border: 1px solid var(--pink); border-radius: 0.5rem;
}
.alert .ic { position: absolute; left: 1rem; top: 3.4rem; width: 2.4rem; }
.alert-t { position: absolute; left: 4.9rem; top: 0.76rem; width: 31.4rem; font-size: 1.2rem; font-weight: 700; line-height: 1.44rem; color: var(--pink); }
.alert-b { position: absolute; left: 4.9rem; top: 2.74rem; width: 31.4rem; font-size: 1.1rem; line-height: 1.76rem; color: var(--txt); }
.btn-green { position: relative; display: block; width: 33.6rem; height: 5.6rem; margin: 0 auto; background: linear-gradient(90deg, #3bbf3a, #137a12); color: #fff; }
.btn-green b, .btn-green small, .btn-green .chev { position: absolute; line-height: 1; white-space: nowrap; }
.btn-green b { left: 1.6rem; top: 1.202rem; font-size: 1.6rem; letter-spacing: .04em; }
.btn-green small { left: 1.6rem; top: 3.464rem; font-size: 1rem; }
.btn-green .chev { left: 31.4rem; top: 2.2rem; width: 0.7rem; height: 1.2rem; }

/* ---------- 不安 ---------- */
.worry { position: relative; z-index: 1; height: 36.6rem; background: linear-gradient(#fff 1.6rem, #e5e6f0 1.6rem); }
.worry > * { position: absolute; }
.worry-l { left: 0.654rem; top: 1.232rem; width: 7.413rem; }
.worry-r { left: 31.094rem; top: -0.104rem; width: 7.878rem; }
.worry-rf { left: 30.636rem; top: 6.155rem; width: 8.407rem; z-index: 2; }
.worry-ttl {
  left: 0; top: 3.38rem; width: 100%; text-align: center;
  font-family: var(--f-serif); font-size: 2.7rem; font-weight: 700; line-height: 3.5rem; color: var(--navy);
}
.worry-ttl span { font-size: 1.9rem; letter-spacing: -.299em; }
.worry-list { left: 1rem; top: 12.2rem; width: 38rem; height: 13.6rem; padding: 1.7rem 0 0 3.2rem; border-radius: 0.8rem; background: #fff; z-index: 1; }
.worry-list li {
  position: relative; height: 2.8rem; padding-left: 2.3rem;
  font-size: 1.4rem; line-height: 1; color: var(--txt); white-space: nowrap;
}
.worry-list li::before { content: ""; position: absolute; left: 0; top: 0; width: 1.9rem; height: 1.9rem; background: url(../images/svg/check_circle.svg) no-repeat center / contain; }
.worry-list li { padding-top: calc((15 - .936 * 14) * .1rem); }
.worry-sub { left: 0; top: 27.69rem; width: 100%; text-align: center; font-size: 1.4rem; font-weight: 700; line-height: 1; letter-spacing: .04em; color: var(--navy); }
.worry-sub img { position: absolute; top: calc((274 - (290 - .936 * 14)) * .1rem); width: 1.6rem; }
.worry-sub img:first-child { left: 13.5rem; }
.worry-sub img:last-child { left: 23.9rem; }
.worry-ans { left: 0; top: 29.973rem; width: 100%; text-align: center; font-size: 2.7rem; font-weight: 700; line-height: 1; letter-spacing: .04em; color: var(--pink); white-space: nowrap; }
.worry-ans small { font-size: 2.2rem; }
.worry-ans::before { content: ""; position: absolute; left: 2.2rem; top: calc((322 - (325 - .936 * 27)) * .1rem); width: 35.6rem; height: 1.2rem; background: #f9ff00; z-index: -1; }
.worry-ans { z-index: 0; isolation: isolate; }

/* ---------- 丁寧な対応 ---------- */
.teinei { position: relative; z-index: 2; height: 54rem; background: url(../images/teinei_bg.jpg) no-repeat center top / 40rem 54rem; }
.teinei > * { position: absolute; }
.teinei-woman { left: 19.3rem; top: -2.2rem; width: 19.2rem; }
.teinei-pill {
  left: 1.5rem; top: 3.2rem; width: 17.6rem; height: 2.6rem; border-radius: 1.3rem; background: var(--navy); color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem; text-align: center; white-space: nowrap;
}
.teinei-ttl { left: 1.5rem; top: 6.64rem; font-family: var(--f-serif); font-size: 2.7rem; font-weight: 700; line-height: 3.78rem; color: var(--navy); white-space: nowrap; }
.teinei-ttl em { font-style: normal; color: var(--pink); }
.teinei-list { left: 1.5rem; top: 19.7rem; width: 37rem; }
.teinei-list div + div { margin-top: 0.8rem; }
.teinei-list dt {
  height: 4.3rem; padding: calc((30 - .9325 * 19) * .1rem) 0 0 1.5rem; background: var(--navy); color: #fff;
  font-family: var(--f-serif); font-size: 1.9rem; font-weight: 700; line-height: 1; white-space: nowrap;
}
.teinei-list dd { height: 5.8rem; margin: 0; padding: 0.27rem 1.9rem 0 1.5rem; background: #fff; font-size: 1.4rem; line-height: 2.24rem; color: var(--txt); }

/* ---------- 共通パーツ ---------- */
.box-hd {
  height: 4.3rem; padding-top: calc((30 - .9325 * 19) * .1rem); background: var(--navy); color: #fff; text-align: center;
  font-family: var(--f-serif); font-size: 1.9rem; font-weight: 700; line-height: 1; white-space: nowrap;
}
.chips { display: flex; gap: 0.8rem; }
.chips li {
  flex: none; width: calc(var(--w) * .1rem); height: 2.5rem; padding-left: 1.2rem; border-radius: 0.5rem;
  background: #fff; box-shadow: inset 0 0 0 1px #dedddb;
  font-size: 1.1rem; font-weight: 700; line-height: 2.5rem; color: var(--navy); white-space: nowrap;
}
.pill-pink {
  width: calc(var(--w) * .1rem); height: 2.6rem; border-radius: 1.3rem; background: var(--pink); color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem; text-align: center; white-space: nowrap;
}

/* ---------- 強み ---------- */
.str { position: relative; height: 265.2rem; background: #fcf1dd url(../images/bg_sparkle_tall.jpg) no-repeat center top / 40rem 21.1rem; }
.str > * { position: absolute; }
.str-pill {
  left: 10.6rem; top: 2.4rem; width: 18.8rem; height: 2.6rem; border-radius: 1.3rem; background: var(--navy); color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem; text-align: center; white-space: nowrap;
}
.str-ttl { left: 0; top: 5.81rem; width: 100%; text-align: center; font-family: var(--f-serif); font-size: 2.2rem; font-weight: 700; line-height: 3.08rem; color: var(--navy); }
.str-ttl::before, .str-ttl::after { content: ""; position: absolute; top: calc((88 - 58.1) * .1rem); width: 6.4rem; height: 0.2rem; background: linear-gradient(90deg, #e0bd5e, #c38c17 48%, #8b5416); }
.str-ttl::before { left: 2.9rem; }
.str-ttl::after { left: 30.7rem; transform: scaleX(-1); }

.str-feat { left: 1.5rem; top: 12.8rem; width: 37rem; height: 66.6rem; background: #fff; }
.str-points li { position: absolute; left: 0; top: calc((var(--t) - 128) * .1rem); width: 37rem; }
.str-points .no {
  position: absolute; left: 0.9rem; top: 0; width: 4.3rem; height: 4.3rem; border-radius: 50%; background: var(--navy); color: #fff;
  font-family: var(--f-barlow); font-weight: 700; font-size: 1rem; line-height: 1; text-align: center;
}
.str-points .no { padding-top: calc((16 - .9 * 10) * .1rem); }
.str-points .no b { display: block; margin-top: calc((35 - 16 - .9 * 22 + .1 * 10) * .1rem); font-size: 2.2rem; letter-spacing: .11em; text-indent: .11em; }
.str-points p { position: absolute; left: 6.1rem; top: -0.53rem; width: 18.5rem; font-size: 1.4rem; line-height: 2.24rem; color: var(--txt); }
.str-points small { font-size: 1.2rem; color: var(--gray); }
.str-points img { position: absolute; left: 26.2rem; top: 0; width: 9.8rem; }
.str-line { position: absolute; left: 1rem; top: calc((var(--t) - 128) * .1rem); width: 35rem; height: 0.1rem; background: #dedddb; }

.str-hyg { left: 1.5rem; top: 80.6rem; width: 37rem; height: 12.7rem; background: #fff; }
.str-hyg > * { position: absolute; }
.str-hyg h3 { left: 0; top: 1.202rem; width: 100%; text-align: center; font-size: 1.6rem; font-weight: 700; line-height: 1; color: var(--navy); white-space: nowrap; }
.str-hyg .chips { left: 2.6rem; top: 4rem; }
.str-hyg p { left: 1.5rem; top: 7.17rem; width: 34rem; font-size: 1.4rem; line-height: 2.24rem; color: var(--txt); }

.str-visit { left: 1.5rem; top: 94.5rem; width: 37rem; height: 17.1rem; background: #fff; }
.str-visit > :not(.box-hd) { position: absolute; }
.str-visit img { left: 1.5rem; top: 5.9rem; width: 21.6rem; }
.str-visit .t { left: 24.7rem; top: 6.62rem; font-size: 1.6rem; font-weight: 700; line-height: 2.56rem; color: var(--navy); white-space: nowrap; }
.str-visit .pill-pink { left: 24.7rem; top: 12.1rem; }
.str-tags { left: 2.2rem; top: 112.8rem; display: flex; gap: 0.4rem; }
.str-tags li {
  width: calc(var(--w) * .1rem); height: 2.6rem; border-radius: 1.3rem; background: var(--pink); color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem; text-align: center; white-space: nowrap;
}

.str-secret {
  left: 1.5rem; top: 116.6rem; width: 37rem; height: 147rem; color: #fff;
  background: linear-gradient(180deg, #12005f 0, #040013 37rem, #ebebeb 147rem);
}
.str-secret > * { position: absolute; }
.str-secret .shd { left: 0; top: 0; width: 37rem; height: 13rem; }
.str-secret .shd::before, .str-secret .shd::after { content: ""; position: absolute; height: 0.1rem; background: #dedddb; }
.str-secret .shd::before { left: 7.5rem; top: 2.5rem; width: 22rem; height: 0.1rem; background: linear-gradient(90deg, #dedddb 4.8rem, transparent 4.8rem, transparent 17.2rem, #dedddb 17.2rem); }
.str-secret .shd::after { left: 7.5rem; top: 12.6rem; width: 22rem; }
.str-secret .shd p { position: absolute; line-height: 1; white-space: nowrap; }
.str-secret .t1 { left: 0; top: 1.87rem; width: 37rem; text-align: center; font-size: 1.1rem; }
.str-secret .t2 { left: 0; top: 4.075rem; width: 37rem; text-align: center; font-family: var(--f-serif); font-size: 2.6rem; font-weight: 700; }
.str-secret .t3 { left: 20.3rem; top: 7.156rem; transform: translateX(-50%); font-family: var(--f-serif); font-size: 3.8rem; font-weight: 700; }
.str-secret .t3 .tsu { font-size: 3.1rem; }
.str-secret .t4 { left: 9.2rem; top: calc((111 - .8 * 71) * .1rem); transform: translateX(-50%); font-family: var(--f-bask); font-size: 7.1rem; font-style: italic; font-weight: 600; }
.str-secret .lead { left: 1.5rem; top: 13.67rem; width: 34rem; font-size: 1.4rem; line-height: 2.24rem; }
.str-secret .keys { left: 1.5rem; top: 24.5rem; display: flex; gap: 1.9rem; }
.str-secret .keys li {
  position: relative; width: 7.1rem; height: 4.3rem; padding-top: calc((17 - (17.6 - 1.448 * 11) / 2 - 1.16 * 11) * .1rem);
  border-radius: 0.5rem; background: linear-gradient(180deg, #03000f, #12005f); box-shadow: inset 0 0 0 1px #caae4c;
  font-size: 1.1rem; font-weight: 700; line-height: 1.76rem; text-align: center; white-space: nowrap;
}
.str-secret .keys li.one { padding-top: calc((26 - (17.6 - 1.448 * 11) / 2 - 1.16 * 11) * .1rem); }
.str-secret .keys li + li::before { content: "＋"; position: absolute; left: -1.5rem; top: 1.77rem; font-size: 1.1rem; font-weight: 400; line-height: 1; }
.str-secret .tri { left: 15.8rem; top: 29.6rem; width: 6rem; }
.str-secret .so { left: 0; top: 32.075rem; width: 37rem; text-align: center; font-family: var(--f-serif); font-size: 2.6rem; font-weight: 700; line-height: 1; white-space: nowrap; }
.str-secret .so .c { letter-spacing: -.299em; }
.str-secret .so em { font-style: normal; font-size: 3rem; color: var(--pink); }

.str-secret .card { left: 1rem; top: calc((var(--t) - 1166) * .1rem); width: 35rem; height: calc(var(--h) * .1rem); background: #fff; color: var(--txt); }
.str-secret .card > * { position: absolute; }
.card .no {
  left: 0; top: 0.8rem; width: 3.4rem; height: 3.4rem; background: var(--navy); color: #fff; text-align: center;
  font-family: var(--f-barlow); font-size: 2.2rem; font-weight: 700; line-height: 3.4rem; letter-spacing: .11em; text-indent: .11em;
}
.card h4 { left: 3.9rem; top: 1.715rem; font-family: var(--f-serif); font-size: 1.7rem; font-weight: 700; line-height: 1; color: var(--navy); white-space: nowrap; }
.card .tx { left: 1.4rem; top: 4.87rem; font-size: 1.4rem; line-height: 2.24rem; }
.card .tx.w322 { width: 32.2rem; }
.card .tx.w211 { width: 21.1rem; }
.card img { left: 24.1rem; top: 5.4rem; width: 10.9rem; }
.card .route { left: 1.4rem; top: 21.5rem; width: 32.2rem; height: 10.8rem; background: #ebebeb; }
.route > * { position: absolute; }
.route-pill {
  left: 10.3rem; top: -1.3rem; width: 11.6rem; height: 2.6rem; border-radius: 1.3rem; background: #333; color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem; text-align: center; white-space: nowrap;
}
.route .chips { gap: 0.4rem; }
.route .chips.r1 { left: 1.1rem; top: 2.1rem; }
.route .chips.r2 { left: 4.5rem; top: 5rem; }
.route-t { left: 1.3rem; top: 8.57rem; font-size: 1.1rem; font-weight: 700; line-height: 1; color: var(--txt); white-space: nowrap; }
.route-t em { font-style: normal; color: var(--pink); }
.card .nums { left: 1.4rem; top: 18rem; display: flex; gap: 0.8rem; }
.nums > div { position: relative; width: 15.7rem; height: 6.2rem; border-radius: 0.5rem; background: #fff; box-shadow: inset 0 0 0 1px #caae4c; }
.nums p { position: absolute; line-height: 1; white-space: nowrap; }
.nums .l { left: 0; top: 0.87rem; width: 100%; text-align: center; font-size: 1.1rem; font-weight: 700; color: var(--txt); }
.nums .v { top: 2.762rem; font-family: var(--f-serif); font-weight: 700; color: var(--pink); }
.nums > div:first-child .v { right: calc((157 - 87) * .1rem - 4.4rem); }
.nums > div:first-child .v { right: auto; left: 2.9rem; }
.nums > div:last-child .v { left: 0.8rem; }
.nums b { font-size: 2.4rem; letter-spacing: -.053em; }
.nums b i { font-style: normal; font-size: 2.2rem; letter-spacing: -.08em; }
.nums small { margin-left: 0.2rem; font-size: 1rem; letter-spacing: .04em; color: var(--navy); }
.card-note { left: 1.4rem; top: 24.69rem; width: 32.1rem; }

/* ---------- お客様の声 ---------- */
.voice { position: relative; padding: 12.8rem 0 4.2rem; background: var(--navy); }
.voice > :not(.voice-card) { position: absolute; }
.voice-pill {
  left: 8.2rem; top: 2.4rem; width: 23.6rem; height: 2.6rem; border-radius: 1.3rem; background: var(--pink); color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem; text-align: center; white-space: nowrap;
}
.voice-ttl { left: 0; top: 0; width: 100%; height: 13rem; font-family: var(--f-serif); font-weight: 700; color: #fff; text-align: center; }
.voice-ttl span { position: absolute; left: 0; width: 100%; line-height: 1; white-space: nowrap; }
.voice-ttl .l1 { top: 6.622rem; font-size: 1.8rem; }
.voice-ttl .l2 { top: 9.328rem; font-size: 2.2rem; }
.voice-ttl::before, .voice-ttl::after { content: ""; position: absolute; top: 9rem; width: 6.4rem; height: 0.2rem; background: linear-gradient(90deg, #e0bd5e, #c38c17 48%, #8b5416); }
.voice-ttl::before { left: 2.9rem; }
.voice-ttl::after { left: 30.7rem; transform: scaleX(-1); }
.voice-card { position: relative; width: 37rem; margin: 0 auto 2.1rem; padding: 6.27rem 1.5rem 1.95rem; background: #fff; color: var(--txt); }
.voice-card.is-long { margin-top: 2.5rem; }
.voice-card:last-child { margin-bottom: 0; }
.voice-card > :not(.body) { position: absolute; }
.voice-card .av { left: 1.5rem; top: 1.2rem; width: 5.2rem; height: 5.2rem; }
.voice-card h3 { left: 10.6rem; top: 1.877rem; font-size: 1.2rem; font-weight: 400; line-height: 1; white-space: nowrap; }
.voice-card.is-long h3 { left: 7rem; top: 1.777rem; }
.voice-card .stars { left: 10.6rem; top: 3.69rem; font-size: 1.4rem; line-height: 1; color: #ffc700; letter-spacing: 0; }
.voice-card .body { width: 34rem; height: 4.48rem; overflow: hidden; font-size: 1.4rem; line-height: 2.24rem; }
.voice-card::after {
  content: ""; position: absolute; left: 0; top: 8.1rem; width: 37rem; height: 2.9rem;
  background: linear-gradient(rgba(255, 255, 255, 0), #fff);
}
.voice-more {
  left: 14rem; bottom: -1.3rem; z-index: 1; width: 9rem; height: 2.5rem; padding: 0 0 0 1.2rem; margin: 0;
  border: 0; border-radius: 1.25rem; background: #e5e6f0; box-shadow: inset 0 0 0 1px #dedddb; cursor: pointer;
  font-size: 1.1rem; line-height: 2.5rem; color: var(--txt); text-align: left; white-space: nowrap;
}
.voice-more img { position: absolute; left: 7rem; top: 1rem; width: 0.9rem; }
.voice-card.is-open { padding-bottom: 2.8rem; }
.voice-card.is-open .body { height: auto; }
.voice-card.is-open::after { display: none; }
.voice-card.is-open .voice-more img { transform: rotate(180deg); }

/* ---------- 出張買取 ---------- */
.visit { position: relative; height: 85rem; background: #e5e6f0 url(../images/shutcho_top.jpg) no-repeat center top / 40rem 22rem; }
.visit > * { position: absolute; }
.visit-pill {
  left: 1.5rem; top: 6.9rem; width: 16.4rem; height: 2.6rem; border-radius: 1.3rem; background: var(--navy); color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem; text-align: center; white-space: nowrap;
}
.visit-ttl { left: 1.5rem; top: calc(13.4rem - 3.058rem); font-family: var(--f-serif); font-size: 2.7rem; font-weight: 700; line-height: 3.78rem; color: var(--navy); white-space: nowrap; }
.visit-ttl em { font-style: normal; color: var(--pink); }
.visit-ttl small { font-size: 2.2rem; }
.bubble { z-index: 1; }
.bubble p {
  position: absolute; right: 0; top: 0; height: 4.8rem; padding: calc((30 - .936 * 14) * .1rem) 1.5rem 0 0;
  border-radius: 0.5rem; background: #fff; box-shadow: inset 0 0 0 1px var(--navy);
  font-size: 1.4rem; font-weight: 700; line-height: 1; color: var(--navy); white-space: nowrap; text-align: right;
}
.bubble i { position: absolute; border-radius: 50%; background: #fff; border: 1px solid var(--navy); }
.bubble.b1 { left: 7.6rem; top: 19.6rem; width: 30.9rem; height: 4.8rem; }
.bubble.b1 p { width: 30.9rem; }
.bubble.b1 .e1 { left: 26.6rem; top: 4.2rem; width: 2rem; height: 1.6rem; }
.bubble.b1 .e2 { left: 25.3rem; top: 5.8rem; width: 1.6rem; height: 1.3rem; }
.bubble.b2 { left: 1.6rem; top: 23.7rem; width: 22.6rem; height: 4.8rem; }
.bubble.b2 p { width: 22.6rem; }
.bubble.b2 .e1 { left: 4.1rem; top: 4.2rem; width: 2rem; height: 1.6rem; }
.bubble.b2 .e2 { left: 5.8rem; top: 5.8rem; width: 1.6rem; height: 1.3rem; }
.busy-l { left: 6.19rem; top: 27.313rem; width: 12.42rem; z-index: 2; }
.busy-r { left: 24.857rem; top: 24.998rem; width: 10.367rem; z-index: 2; }
.visit-card { left: 1rem; top: 40.2rem; width: 38rem; height: 38.2rem; border-radius: 0.8rem; background: #fff; z-index: 3; }
.visit-card > * { position: absolute; }
.visit-card .sub { left: 0; top: 1.89rem; width: 100%; padding-left: calc((155 - 10) * .1rem); font-size: 1.4rem; font-weight: 700; line-height: 1; letter-spacing: .04em; color: var(--navy); white-space: pre; }
.visit-card .sub img { position: absolute; top: calc((418 - 402 - (32 - .936 * 14)) * .1rem); width: 1.6rem; }
.visit-card .sub img:first-child { left: 12.1rem; }
.visit-card .sub img:last-child { left: 24.4rem; }
.visit-card .rec { left: 0; top: 4.147rem; width: 100%; text-align: center; font-size: 2.3rem; font-weight: 700; line-height: 1; letter-spacing: .04em; color: var(--pink); white-space: nowrap; isolation: isolate; }
.visit-card .rec small { font-size: 1.9rem; }
.visit-card .rec::before { content: ""; position: absolute; left: 1.5rem; top: calc((60 - (63 - .936 * 23)) * .1rem); width: 35rem; height: 1.2rem; background: #f9ff00; z-index: -1; }
.visit-card .tx { left: 2.2rem; top: 8.07rem; width: 33.6rem; font-size: 1.4rem; line-height: 2.24rem; color: var(--txt); }
.stat { top: 20.4rem; width: 16.4rem; height: 4.8rem; border-radius: 0.5rem; background: #fff; box-shadow: inset 0 0 0 1px #caae4c; }
.stat.s1 { left: 2.2rem; }
.stat.s2 { left: 19.4rem; }
.stat::before {
  content: ""; position: absolute; left: 0; top: 0; width: 7.8rem; height: 4.8rem; border-radius: 0.5rem 0 0 0.5rem;
  background: linear-gradient(to bottom left, #e0bd5e, #c38c17 48%, #8b5416);
}
.stat p { position: absolute; line-height: 1; white-space: nowrap; }
.stat .k { left: 0; top: calc((21 - 13.36) * .1rem - (18.2 - 13) / 2 * .1rem); width: 7.8rem; text-align: center; font-size: 1.3rem; font-weight: 700; line-height: 1.82rem; color: #fff; }
.stat .v { right: calc((164 - 140) * .1rem); top: 0.362rem; font-family: var(--f-serif); font-weight: 700; }
.stat .v b { font-size: 2.4rem; color: var(--pink); }
.stat .v span { margin-left: 0.3rem; font-size: 1.2rem; letter-spacing: .04em; color: var(--txt); }
.stat .c { left: 9rem; top: 3.168rem; font-family: var(--f-serif); font-size: 1rem; font-weight: 700; letter-spacing: .04em; color: var(--gray); }
.visit-tags { left: 1.5rem; top: 26.8rem; display: flex; gap: 0.4rem; }
.visit-tags li {
  width: calc(var(--w) * .1rem); height: 2.6rem; border-radius: 1.3rem; background: var(--navy); color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem; text-align: center; white-space: nowrap;
}
.visit-btn { left: 2.2rem; top: 31rem; width: 33.6rem; height: 5.6rem; color: #fff; }
.visit-btn > * { position: absolute; }
.visit-btn b { left: 5.5rem; top: 1.202rem; font-size: 1.6rem; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.visit-btn small { left: 5.5rem; top: 3.464rem; font-size: 1rem; line-height: 1; white-space: nowrap; }
.visit-btn .chev { left: 31.4rem; top: 2.2rem; width: 0.7rem; height: 1.2rem; }
.visit-note { left: 1rem; top: 92.29rem; top: calc((792 - 3.12) * .1rem); width: 38rem; }

/* ---------- 選べる2つの買取方法 ---------- */
.method { position: relative; height: 53.7rem; }
.method > * { position: absolute; }
.method-ttl { top: 2.848rem; }
.method-ttl::before, .method-ttl::after { top: calc((39 - (49 - .9325 * 22)) * .1rem); }
.method-card { left: 1.5rem; top: calc(var(--t) * .1rem); width: 37rem; height: 20.1rem; background: #fff; box-shadow: inset 0 0 0 1px #ebebeb; color: var(--txt); }
.method-card > * { position: absolute; }
.method-card > img { left: 0.1rem; top: 0.1rem; width: 14.7rem; }
.method-card .s { left: 16.4rem; top: 2.677rem; font-size: 1.2rem; line-height: 1; white-space: nowrap; }
.method-card h3 { left: 16.4rem; top: 5.028rem; font-size: 2rem; font-weight: 700; line-height: 1; color: var(--navy); white-space: nowrap; }
.method-card .tx { left: 1.5rem; top: 11.07rem; width: 34rem; font-size: 1.4rem; line-height: 2.24rem; }
.pill-more {
  left: 14rem; top: 18.8rem; width: 9rem; height: 2.5rem; padding-left: 1.2rem; border-radius: 1.25rem;
  background: #e5e6f0; box-shadow: inset 0 0 0 1px #dedddb; font-size: 1.1rem; line-height: 2.5rem; color: var(--txt); white-space: nowrap; z-index: 1;
}
.pill-more img { position: absolute; left: 7rem; top: 1rem; width: 0.9rem; }

/* ---------- 店舗 ---------- */
.shop { position: relative; height: 94.9rem; background: #f7f7f7; }
.shop > * { position: absolute; }
.shop-pill {
  left: 14.8rem; top: 2.4rem; width: 10.4rem; height: 2.6rem; border-radius: 1.3rem; background: var(--navy); color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem; text-align: center; white-space: nowrap;
}
.shop-ttl { left: 0; top: calc((83 - .9325 * 22 - (30.8 - 22) / 2) * .1rem); width: 100%; text-align: center; font-family: var(--f-serif); font-size: 2.2rem; font-weight: 700; line-height: 3.08rem; color: var(--navy); }
.shop-ttl::before, .shop-ttl::after { content: ""; position: absolute; top: calc((88 - (83 - .9325 * 22 - 4.4)) * .1rem); width: 6.4rem; height: 0.2rem; background: linear-gradient(90deg, #e0bd5e, #c38c17 48%, #8b5416); }
.shop-ttl::before { left: 4rem; }
.shop-ttl::after { left: 29.6rem; transform: scaleX(-1); }
.shop-lead { left: 1.5rem; top: 12.97rem; width: 37rem; font-size: 1.4rem; line-height: 2.24rem; color: var(--txt); }
.shop-card { left: 1.5rem; top: calc(var(--t) * .1rem); width: 37rem; height: 35rem; background: #fff; box-shadow: inset 0 0 0 1px #ebebeb; color: var(--txt); }
.shop-card > * { position: absolute; }
.shop-card .ph { left: 0.1rem; top: 0.1rem; display: flex; }
.shop-card .ph img { width: 18.4rem; }
.shop-card h3 { left: 1.5rem; top: 17.328rem; font-size: 2rem; font-weight: 700; line-height: 1; color: var(--navy); white-space: nowrap; }
.shop-card dl { left: 1.5rem; top: calc((221 - .936 * 12) * .1rem); display: grid; grid-template-columns: 6.4rem 1fr; row-gap: 1.4rem; font-size: 1.2rem; line-height: 1; white-space: nowrap; }
.shop-card dt { font-weight: 700; }
.shop-card dd { margin: 0; }
.shop-link {
  left: 1.5rem; top: 29.2rem; width: 34rem; height: 4.2rem; padding: calc((26 - .936 * 12) * .1rem) 0 0 1.2rem;
  border-radius: 0.5rem; background: #ebebeb; box-shadow: inset 0 0 0 1px #dedddb;
  font-size: 1.2rem; font-weight: 700; line-height: 1; color: var(--txt); white-space: nowrap;
}
.shop-link img { position: absolute; left: 30.95rem; top: 1.3rem; width: 1.6rem; }
.shop-note { left: 1.5rem; top: calc((965 - 53 - 3.12) * .1rem); width: 37rem; }

/* ---------- 査定可能 ---------- */
.cond { position: relative; padding-bottom: 2.4rem; }
.cond .sec-ttl small { font-size: 1.8rem; }
.cond .tabs { margin-top: 1.7rem; }
.cond .tabs-nav { margin-top: 0; }
.cond-sub { margin-top: 2.002rem; font-size: 1.6rem; font-weight: 700; line-height: 1; text-align: center; color: var(--navy); white-space: nowrap; }
.cond-img { height: auto; width: 37rem; margin: calc((48 - 35 + .936 * 16 - 16) * .1rem) auto 0; }
.cond-list { padding: 0 1.5rem; margin-top: 1.6rem; }
.cond-list li {
  position: relative; height: 4rem; margin-bottom: 0.8rem; padding: calc((26 - .936 * 14) * .1rem) 0 0 10.3rem;
  border-radius: 0.5rem; background: rgba(238, 12, 120, .1);
  font-size: 1.4rem; font-weight: 700; line-height: 1; color: var(--txt); white-space: nowrap;
}
.cond-list li::before { content: ""; position: absolute; left: 6.9rem; top: 0.6rem; width: 2.8rem; height: 2.8rem; background: url(../images/svg/ring.svg) no-repeat center / contain; }
.cond-msg { margin: 1.07rem 1.5rem 0; width: 37rem; text-align: center; font-size: 1.4rem; font-weight: 700; line-height: 2.24rem; color: var(--navy); }
.cond-other { position: relative; margin: 1.85rem 1.5rem 0; width: 37rem; height: 11.7rem; border-radius: 0.5rem; background: #ebebeb; }
.cond-other p { position: absolute; }
.cond-other .s { left: 1.6rem; top: calc((16 + 10 - 13.6) * .1rem); width: 33.8rem; font-size: 1.1rem; line-height: 1.76rem; color: var(--gray); }
.cond-other .m { left: 2rem; top: calc((59 + 12 - 17.3) * .1rem); width: 33.4rem; text-align: center; font-size: 1.4rem; line-height: 2.24rem; color: var(--txt); }

/* ---------- よくあるご質問 ---------- */
.faq { position: relative; padding: 11.435rem 0 2.3rem; background: linear-gradient(#fff 11.435rem, #f7f7f7 11.435rem); }
.faq-pill {
  position: absolute; left: 13rem; top: 4.03rem; width: 14rem; height: 2.6rem; border-radius: 1.3rem; background: var(--navy); color: #fff;
  font-size: 1.2rem; font-weight: 700; line-height: 2.6rem; text-align: center; white-space: nowrap;
}
.faq-ttl { position: absolute; left: 0; top: 7.878rem; width: 100%; text-align: center; font-family: var(--f-serif); font-size: 2.2rem; font-weight: 700; line-height: 1; color: var(--navy); white-space: nowrap; }
.faq-ttl::before, .faq-ttl::after { content: ""; position: absolute; top: calc((89.3 - (99.3 - .9325 * 22)) * .1rem); width: 6.4rem; height: 0.2rem; background: linear-gradient(90deg, #e0bd5e, #c38c17 48%, #8b5416); }
.faq-ttl::before { left: 5.1rem; }
.faq-ttl::after { left: 28.5rem; transform: scaleX(-1); }
.faq-list { padding: 0.7rem 1.5rem 0; }
.faq-item + .faq-item { margin-top: 0.8rem; }
.faq-q {
  position: relative; display: block; width: 100%; min-height: 4.4rem; margin: 0; padding: 0.67rem 3.7rem 1.45rem 3.6rem;
  border: 0; background: #fff; box-shadow: inset 0 0 0 1px #ebebeb; cursor: pointer;
  font-size: 1.4rem; line-height: 2.24rem; text-align: left; color: var(--txt);
}
.faq .mk { position: absolute; left: 1.8rem; top: calc(50% - 1.63rem); transform: translateX(-50%); font-size: 2.6rem; line-height: 1; letter-spacing: .11em; text-indent: .11em; color: var(--navy); }
.faq-ic { position: absolute; left: 33.8rem; top: calc(50% - .8rem); width: 2rem; height: 2rem; margin: -0.2rem 0 0 -0.2rem; fill: none; stroke: var(--navy); stroke-width: 1px; stroke-linecap: round; }
.faq-item.is-open .faq-ic .v { display: none; }
.faq-a { position: relative; display: none; margin-top: -0.1rem; padding: 0.67rem 3.7rem 1.49rem 3.6rem; background: #ebebeb; font-size: 1.4rem; line-height: 2.24rem; color: var(--txt); }
.faq-a .mk { top: 0.566rem; color: var(--pink); }
.faq-item.is-open .faq-a { display: block; }
.tmp-inline { color: var(--gray); }
.faq-tel {
  position: relative; display: block; width: 33.6rem; height: 5.6rem; margin: 3.37rem auto 0;
  background: linear-gradient(90deg, #12005f, #0a0034); box-shadow: inset 0 0 0 1px #ded7c2; color: #fff;
}
.faq-tel b, .faq-tel small { position: absolute; line-height: 1; white-space: nowrap; }
.faq-tel b { left: 0.6rem; top: 1.102rem; font-size: 1.6rem; letter-spacing: .04em; }
.faq-tel small { left: 5.6rem; top: 3.383rem; font-size: 1.3rem; }

/* ---------- 買取に必要なもの ---------- */
.need { position: relative; height: 63.8rem; }
.need > * { position: absolute; }
.need-ttl { top: 1.748rem; }
.need-ttl::before, .need-ttl::after { top: calc((28 - (38 - .9325 * 22)) * .1rem); }
.need-box { left: 1.5rem; top: 6rem; width: 37rem; height: 7rem; border-radius: 0.5rem; background: #ebebeb; text-align: center; font-weight: 700; line-height: 1; white-space: nowrap; }
.need-box span, .need-box b { position: absolute; left: 0; width: 100%; }
.need-box span { top: 1.49rem; font-size: 1.4rem; color: var(--txt); }
.need-box b { top: 3.328rem; font-size: 2rem; color: var(--pink); }
.need-lead { left: 1.5rem; top: 14.07rem; width: 37rem; font-size: 1.4rem; line-height: 2.24rem; color: var(--txt); }
.need-ids { left: 1.5rem; top: 24.9rem; display: grid; grid-template-columns: repeat(2, 18.1rem); gap: 0.8rem; }
.need-ids li { position: relative; height: 11.7rem; border-radius: 0.5rem; background: #fff; box-shadow: inset 0 0 0 1px #dedddb; }
.need-ids img { position: absolute; left: calc(var(--x) * .1rem); top: calc(var(--y) * .1rem); width: calc(var(--w) * .1rem); }
.need-ids p { position: absolute; left: 0; top: 9.19rem; width: 100%; text-align: center; font-size: 1.4rem; font-weight: 700; line-height: 1; color: var(--navy); white-space: nowrap; }
.need-notes { left: 1.5rem; top: 50.39rem; width: 37rem; }

/* ---------- 会社概要・フッター ---------- */
.company { position: relative; height: 36.6rem; background: #e5e6f0; }
.company > * { position: absolute; }
.company-ttl { top: 2.848rem; }
.company-ttl::before, .company-ttl::after { top: calc((39 - (49 - .9325 * 22)) * .1rem); }
.company-dl { left: 1.5rem; top: 0; width: 37rem; font-size: 1.2rem; line-height: 1; color: var(--txt); }
.company-dl dt, .company-dl dd { position: absolute; top: calc((var(--y) - .936 * 12) * .1rem); white-space: nowrap; }
.company-dl dt { left: 0; font-weight: 700; }
.company-dl dd { left: 6.4rem; margin: 0; }
.company-lic { left: 1.5rem; top: 25.7rem; width: 37rem; height: 9.3rem; border-radius: 0.5rem; background: #fff; }
.company-lic p { position: absolute; left: 0; width: 100%; text-align: center; }
.company-lic .s { top: 1.24rem; font-size: 1.1rem; line-height: 1.76rem; color: var(--gray); }
.company-lic .m { top: 5.36rem; font-size: 1.2rem; line-height: 2.24rem; color: var(--txt); }
/* ---------- ご新規様キャンペーン詳細（LP_追加 y3653〜4751） ---------- */
.ncpd { position: relative; height: 109.8rem; background: #fcf2e3; }
.ncpd-box { position: absolute; left: 1.5rem; top: 0.8rem; width: 37rem; height: 108.2rem; border: 1px solid #dedddb; border-radius: 0.5rem; background: #fff; }
.ncpd-box > * { position: absolute; }
.ncpd-ttl { left: 11.3rem; top: 1.377rem; font-size: 1.2rem; font-weight: 700; line-height: 1; color: var(--navy); white-space: nowrap; }
.ncpd-box h3 { left: 1.1rem; top: calc((var(--y) - 9 - .936 * 10) * .1rem); font-size: 1rem; font-weight: 700; line-height: 1; color: var(--txt); white-space: nowrap; }
.ncpd-box ul { left: 1.1rem; top: calc((var(--y) - 9 - 2.6) * .1rem); width: 34.3rem; font-size: 0.9rem; line-height: 1.44rem; color: var(--gray); }
.ncpd-box li { position: relative; padding-left: 1rem; }
.ncpd-box li::before { content: "※"; position: absolute; left: 0; top: 0.3rem; font-size: 0.7rem; }
.ft { position: relative; height: 4.9rem; background: #333; color: #fff; }
.ft p { position: absolute; left: 0; top: 0.44rem; width: 100%; text-align: center; font-size: 1.1rem; line-height: 1.76rem; }
body.has-fixbar { padding-bottom: 5.6rem; }

/* ---------- サンクスページ（仮デザイン） ---------- */
.thx { padding: 4.8rem 1.5rem 4rem; text-align: center; color: var(--txt); }
.thx-ttl { font-family: var(--f-serif); font-size: 2.7rem; font-weight: 700; line-height: 3.78rem; color: var(--navy); }
.thx-no { margin-top: 1.6rem; font-size: 1.4rem; font-weight: 700; color: var(--pink); }
.thx-no:empty { display: none; }
.thx-tx { margin-top: 1.6rem; font-size: 1.4rem; line-height: 2.24rem; text-align: left; }
.thx-tel { margin-top: 3.2rem; text-align: left; }
.thx-tel b { left: 50%; transform: translateX(-50%); }
.thx-tel small { left: 50%; transform: translateX(-50%); }
.thx-back { margin-top: 2.4rem; font-size: 1.4rem; }

/* ---------- メールフォームプロの標準CSSを打ち消し ---------- */
form#mailformpro.fm-card { padding: 1.6rem; }
form#mailformpro.fm-card label,
form#mailformpro.fm-card label.mfp_checked,
form#mailformpro.fm-card label.mfp_not_checked { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; display: inline; }
form#mailformpro.fm-card .fm-agree label { display: flex; }
form#mailformpro.fm-card .fm-in { margin: 0.4rem 0 0; border: 1px solid #dedddb; border-radius: 0; box-shadow: none; padding: 0 1.6rem; vertical-align: top; max-width: none; }
form#mailformpro.fm-card .fm-ta { padding-top: 0.87rem; padding-bottom: 0.4rem; }
form#mailformpro.fm-card .fm-agree input { margin: 0; }
form#mailformpro.fm-card .fm-cb { width: 2.2rem; min-width: 2.2rem; }
form#mailformpro.fm-card .mfp_err { margin: 0.4rem 0 0; }
form#mailformpro.fm-card .fm-agree label { flex-wrap: wrap; }
form#mailformpro.fm-card .fm-agree .mfp_err { flex-basis: 100%; }
form#mailformpro.fm-card .fm-lb label { margin-left: 0.4rem; }

/* 買取参考価格：時計〜お酒（品名の行数が可変なので流し込み） */
.price-list.is-flow li { height: auto; min-height: 10.4rem; padding: 0.484rem 1.6rem 0.8rem 16rem; }
.price-list.is-flow h4 { position: static; width: auto; }
.price-list.is-flow p { position: relative; display: flex; align-items: center; justify-content: space-between; margin-top: 0.6rem; }
.price-list.is-flow .tag { position: static; flex: none; }
.price-list.is-flow .yen { position: static; }
.price-more .acc-bd .price-list { margin-top: 0; padding: 0 0 0.4rem; }
.price-more .acc-bd { padding: 0.4rem 0 0; }
.price-list.is-flow img { height: 9.6rem; object-fit: contain; background: #fff; }
/* 買取参考価格「もっと見る」：見出しは押せない、右の丸ボタンだけで開閉 */
div.acc-hd { display: flex; align-items: center; cursor: default; }
.acc-btn {
  position: absolute; right: 0.3rem; top: 0.1rem; width: 4rem; height: 4rem; padding: 0; margin: 0;
  border: 0; background: none; cursor: pointer;
}
.acc-btn .acc-ic { right: 1rem; top: 1rem; }
.acc-btn:focus-visible { outline: 2px solid var(--navy); outline-offset: -0.4rem; border-radius: 50%; }

/* ---------- 個人情報の取り扱い（プライバシーポリシー） ---------- */
.privacy { margin: -0.4rem 0 1.6rem; border: 1px solid #dedddb; background: #f7f7f7; }
.privacy[hidden] { display: none; }
.privacy-in { max-height: 24rem; overflow-y: auto; padding: 1.2rem 1.4rem 1.6rem; font-size: 1.1rem; line-height: 1.76rem; color: var(--txt); -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.privacy-in:focus-visible { outline: 2px solid var(--navy); outline-offset: -2px; }
.privacy h3 { font-size: 1.4rem; font-weight: 700; line-height: 1.4; color: var(--navy); text-align: center; margin-bottom: 0.8rem; }
.privacy h4 { margin-top: 1.2rem; font-size: 1.2rem; font-weight: 700; line-height: 1.5; color: var(--navy); }
.privacy h5 { margin-top: 0.8rem; font-size: 1.1rem; font-weight: 700; line-height: 1.5; }
.privacy p { margin-top: 0.4rem; }
.privacy ul { margin-top: 0.4rem; }
.privacy li { position: relative; padding-left: 1em; }
.privacy li::before { content: "・"; position: absolute; left: 0; }
.privacy a { word-break: break-all; }
form#mailformpro.fm-card .fm-agree a.js-privacy { cursor: pointer; }
.cond-list li.is-long { font-size: 1.3rem; padding-top: calc((26 - .936 * 13) * .1rem); }

/* ---------- フォーム：ご希望の店舗 ---------- */
.fm-row.fm-shop { min-height: 0; }
.fm-lb-t { margin-left: 0.4rem; }
.fm-choices { display: grid; gap: 0.8rem; margin-top: 0.4rem; }
form#mailformpro.fm-card .fm-choices label { position: relative; display: block; cursor: pointer; }
.fm-choices input { position: absolute; opacity: 0; width: 0.1rem; height: 0.1rem; margin: 0; }
.fm-choices span {
  position: relative; display: block; height: 4.2rem; padding: 0 1.6rem 0 4.4rem; border: 1px solid #dedddb; background: #fff;
  font-size: 1.4rem; line-height: 4rem; color: var(--txt); white-space: nowrap;
}
.fm-choices span::before { content: ""; position: absolute; left: 1.6rem; top: 50%; width: 1.8rem; height: 1.8rem; margin-top: -0.9rem; border: 1px solid #b8b8b8; border-radius: 50%; background: #fff; box-sizing: border-box; }
.fm-choices input:checked ~ span::before { border: 0.5rem solid #fff; background: var(--navy); }
.fm-choices input:checked ~ span { border-color: var(--navy); background: var(--navy); color: #fff; font-weight: 700; }
.fm-choices input:checked ~ span::before { box-shadow: 0 0 0 1px #fff; }
.fm-choices input:focus-visible ~ span { outline: 2px solid var(--navy); outline-offset: 2px; }
/* メールフォームプロがエラー文を1つ目の選択肢の中に入れるため、選択肢の下へ出す */
form#mailformpro.fm-card .fm-shop .mfp_err { margin: 0.4rem 0 0; }
/* 店舗カードの地図：Googleマップの埋め込み（写真と同じ 184×160） */
.shop-card .ph .shop-map { display: block; width: 18.4rem; height: 16rem; border: 0; background: #ebebeb; }
/* LINE査定：店舗選択ダイアログ（デザイン無し。既存のLINEボタンの色・形に合わせた） */
.line-dlg {
  width: 34rem; max-width: calc(100vw - 32px); padding: 3.6rem 2rem 2.4rem; border: 0; border-radius: 0;
  background: #fff; color: var(--txt); box-shadow: 0 0.6rem 2.4rem rgba(0, 0, 0, .3);
}
.line-dlg::backdrop { background: rgba(0, 0, 0, .6); }
.line-dlg-x { position: absolute; right: 0.8rem; top: 0.8rem; width: 3.2rem; height: 3.2rem; padding: 0; border: 0; background: none; cursor: pointer; }
.line-dlg-x::before, .line-dlg-x::after { content: ""; position: absolute; left: 0.6rem; top: 1.5rem; width: 2rem; height: 0.2rem; background: var(--navy); transform: rotate(45deg); }
.line-dlg-x::after { transform: rotate(-45deg); }
.line-dlg-ttl { font-family: var(--f-serif); font-size: 2.2rem; font-weight: 700; line-height: 1.3; text-align: center; color: var(--navy); }
.line-dlg-tx { margin-top: 0.8rem; font-size: 1.4rem; line-height: 1.5; text-align: center; }
.line-dlg-list { margin-top: 1.8rem; }
.line-dlg-list li + li { margin-top: 1.2rem; }
.line-dlg-list a {
  display: flex; align-items: center; gap: 1.2rem; height: 6.4rem; padding: 0 1.6rem;
  background: linear-gradient(90deg, #3bbf3a, #137a12); color: #fff; text-decoration: none;
}
.line-dlg-list img { flex: none; width: 3.1rem; }
.line-dlg-list span { flex: 1; font-size: 1.7rem; font-weight: 700; line-height: 1.25; letter-spacing: .02em; }
.line-dlg-list small { display: block; font-size: 1.1rem; font-weight: 400; }
.line-dlg-list .chev { flex: none; width: 0.7rem; height: 1.2rem; }
/* 電話で無料相談：アイコンを電話に（元は出張トラック）、店舗選択ダイアログは電話ボタンの紺色 */
.cta-tel .ic-phone { left: 1.65rem; top: 1.6rem; width: 2.4rem; }
.tel-dlg .line-dlg-list a { height: 7.6rem; background: linear-gradient(90deg, #12005f, #0a0034); }
.tel-dlg .line-dlg-list img { width: 2.4rem; margin: 0 0.3rem; }
.tel-dlg .line-dlg-list span { font-family: var(--f-heebo); font-size: 2.2rem; letter-spacing: .03em; }
.tel-dlg .line-dlg-list small { font-family: var(--f-sans); font-weight: 700; letter-spacing: 0; }
.tel-dlg .line-dlg-list small + small, .tel-dlg .line-dlg-list span > small:last-child { font-weight: 400; }
/* サンクスページ：2店舗の電話ボタン（LPの電話小窓と同じ見た目） */
.thx-tels { margin-top: 3.2rem; text-align: left; }
.thx-tels-ttl { font-size: 1.6rem; font-weight: 700; text-align: center; color: var(--navy); }
.thx-tels .line-dlg-list { margin-top: 1.2rem; }
/* 送信ボタン：メールフォームプロが付ける .mfp_element_submit の標準CSS（白い文字影・角丸・hover時の灰色背景）を打ち消す。
   白文字に下2pxの白い影が付き、文字が二重に見えていた */
form#mailformpro.fm-card .fm-btn,
form#mailformpro.fm-card .fm-btn:hover {
  border: 0; border-radius: 0; padding: 0; text-shadow: none;
  background: linear-gradient(90deg, #3bbf3a, #137a12);
  box-shadow: inset 0.4rem 0.4rem 0 rgba(255, 255, 255, .3), inset -0.4rem -0.4rem 0 rgba(1, 46, 1, .3);
}
/* 出張買取カードの数値（2026-10-13 先方修正「30分以内」「5〜10分」）：文字数が増えて左の金色ラベルに食い込むため、
   右寄せ（右端140px）をやめて白地部分（78〜16.4rem）の中央に置く。「〜」は数字より小さく */
.stat .v { left: 7.8rem; right: auto; width: 8.6rem; text-align: center; }
.stat .v b i { font-style: normal; font-size: 1.6rem; margin: 0 0.1rem; }
