/* ============================================================
   買取大吉 統合HP 制作版スタイル（2026-09-02 視認性改訂版）
   配色＝C案：白基調＋紺 #1F2C63 ＋金 #B8933B（実測値・8/25 ken決裁）
   ⚠️ 読者は65歳以上が中心、80代も多い（9/2 ken）。
      本文18px以上・補足でも16px以上・薄いグレーの本文は禁止（--gray も濃くした）。
      「16px未満」を新しく書かない。例外はスマホの品目帯（15px・太字）だけ。
   ヘッダー（電話・ロゴ・LINE＋ナビ）は .hdrfix で固定。写真＋紺の膜の帯＝ .pband
   ============================================================ */
* { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --navy: #1F2C63; --deep: #16204A; --gold: #B8933B; --goldpale: #FBF6EA;
  --soft: #F6F4EE; --ink: #1D2238; --line: #D5CFBF; --gray: #454A5C;
  --lineblue: #06C755;
  --serif: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}
html { font-size: 18px; scroll-behavior: smooth; }
body {
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans CJK JP", Meiryo, sans-serif;
  color: var(--ink); background: #fff; line-height: 1.85; font-size: 18px;
  -webkit-text-size-adjust: 100%;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.nb { white-space: nowrap; display: inline-block; }
.wrap { max-width: 1200px; margin: 0 auto; }

/* ---- 制作版の帯（parts.py の SHOW_NOTE で消せる） ---- */
.proto { background: #FFF3F3; color: #B03A3A; font-size: 15px; text-align: center; padding: 5px 10px; border-bottom: 1px solid #EAC9C9; }

/* ============================ ヘッダー ============================ */
.util { background: var(--soft); color: var(--ink); font-size: 16px; font-weight: 700; padding: 6px 16px; border-bottom: 1px solid var(--line); }
.util .wrap { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px; }
.head { background: var(--navy); color: #fff; }
.head .wrap { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 12px 16px; gap: 10px; }
.logoP { margin: 0; }
.head img.logo { height: 62px; width: auto; margin: 0 auto; }
.tel { display: block; line-height: 1.15; }
.tel span { font-size: 15px; color: #fff; display: block; opacity: .95; }
.tel b { font-size: 28px; color: #fff; letter-spacing: .3px; font-weight: 800; }
.tel i { font-style: normal; font-size: 15px; color: #fff; display: block; letter-spacing: .06em; opacity: .9; }
.headL { justify-self: start; }
.headR { justify-self: end; display: flex; gap: 14px; align-items: center; }
.btn-line { background: var(--lineblue); color: #fff; font-weight: 800; font-size: 18px; padding: 14px 20px; border-radius: 8px; white-space: nowrap; }
.btn-line:hover { opacity: .9; }
.menu-btn, .btn-tel-sp { display: none; }

/* ---- ナビ（押して開く。ホバーでは開かない＝T30） ---- */
nav.gnav { background: #fff; border-bottom: 3px solid var(--gold); }
.gnav .wrap { display: flex; }
.gnav .ni {
  flex: 1; text-align: center; font-size: 18px; font-weight: 700; color: var(--navy);
  padding: 16px 4px; border: 0; border-right: 1px solid var(--line);
  cursor: pointer; background: none; font-family: inherit; line-height: 1.4;
}
.gnav .ni:first-child { border-left: 1px solid var(--line); }
.gnav a.ni { display: block; }
.gnav .ni:hover { background: var(--soft); }
.gnav .ni.drop::after { content: " ▾"; font-size: 15px; color: var(--gold); }
.dropdown { display: none; background: var(--soft); border-bottom: 2px solid var(--navy); }
.dropdown.open { display: block; }
.dropdown .wrap { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; padding: 14px 16px; }
.dropdown a { background: #fff; border: 1px solid var(--line); border-radius: 6px; text-align: center; font-size: 18px; font-weight: 700; color: var(--navy); padding: 12px 4px; }
.dropdown a:hover { border-color: var(--gold); }

/* ---- 品目の帯（12マス。ナビに頼らない道①） ---- */
.band { background: var(--soft); border-bottom: 1px solid var(--line); }
.band .wrap { display: grid; grid-template-columns: repeat(6, 1fr); }
.band a {
  text-align: center; font-size: 17px; font-weight: 700; color: var(--navy);
  padding: 14px 4px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.band a:hover { background: #fff; }

/* ---- 一覧の下に置く品目12（9/6 ken：上の帯は買取品目ページだけに）---- */
main section.bandsec { background: var(--soft); border-top: 1px solid var(--line); }
.bandsec .bandlist { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; max-width: 1100px; margin: 0 auto; }
.bandsec .bandlist a {
  background: #fff; border: 1px solid var(--line); border-radius: 8px; text-align: center;
  font-size: 18px; font-weight: 700; color: var(--navy); padding: 16px 6px; line-height: 1.45;
}
.bandsec .bandlist a:hover { border-color: var(--gold); }
/* 0.7.19 店舗のページの「ほかの品目から探す」＝件数つき（押すとその店舗の品目一覧） */
.bandsec .shopband { margin-top: 14px; }
/* 0.7.22（9/26 ken）「〇〇で買取できるもの」：押せないので枠なしの ✓ 一覧（丸いボタンと見分ける） */
.takelist { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px 24px; }
.takelist li { position: relative; padding: 4px 0 4px 32px; font-size: 18px; font-weight: 700; color: #222; line-height: 1.5; }
.takelist li::before { content: "✓"; position: absolute; left: 4px; top: 3px; color: var(--gold); font-weight: 800; font-size: 20px; }
@media (max-width: 640px) { .takelist { grid-template-columns: 1fr 1fr; gap: 8px 12px; } .takelist li { font-size: 17px; } }
/* ブランドから探す（押せるボタン＝件数つき） */
.brandchips a { display: inline-flex; flex-direction: column; align-items: center; line-height: 1.3; }
.brandchips a small { font-size: 15px; color: #7A5A12; font-weight: 800; }
.bandsec .shopband a small { display: block; font-size: 15px; color: #7A5A12; font-weight: 800; margin-top: 2px; }
.bandsec .shopband a.on { border: 2px solid var(--navy); background: #eef2fb; }

/* ============================ FV（0.3.0：写真いっぱい） ============================ */
.fv { position: relative; background: var(--deep) center 58% / cover no-repeat; color: #fff; padding: 88px 16px 80px; }
.fv::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22,32,74,.88) 0%, rgba(22,32,74,.72) 55%, rgba(22,32,74,.45) 100%); }
.fv .wrap { position: relative; }
.fv .kicker { background: var(--gold); color: #fff; }
.fv .fv-title { color: #fff; font-size: 46px; line-height: 1.45; text-shadow: 0 2px 12px rgba(0,0,0,.45); }
.fv .fv-title em { background: linear-gradient(transparent 70%, rgba(184,147,59,.85) 70%); }
.fv .lead { color: #fff; font-size: 21px; font-weight: 700; text-shadow: 0 1px 8px rgba(0,0,0,.45); max-width: 720px; }
.fv .ctas { margin-top: 28px; }
.fv .cta-tel { background: #fff; color: var(--navy); box-shadow: 0 3px 14px rgba(0,0,0,.3); }
.fv .cta-tel:hover { background: var(--goldpale); }
.fv .cta-tel span { color: var(--navy); }
.fv .cta-line { font-size: 19px; padding: 14px 26px; }
/* ヒーローの店舗2択CTA（9/4 ken：選べるように・選べると分かるように） */
.fv .ctas { display: block; }
.fv .ctapick { font-size: 18px; font-weight: 800; color: #fff; margin-bottom: 10px; text-shadow: 0 1px 8px rgba(0,0,0,.45); }
.fvtels { display: flex; gap: 14px; flex-wrap: wrap; }
.fv .fvtels .cta-tel { flex: 1 1 300px; max-width: 460px; }
.fv .fvtels .cta-tel small { display: block; font-size: 16px; font-weight: 700; color: #454A5C; margin: 2px 0 4px; }
.fv .ctas > .cta-line { display: inline-flex; margin-top: 14px; }
.fv .fvnote { margin-top: 18px; font-size: 17px; font-weight: 700; }
.fv2 { background: #fff; border-bottom: 1px solid var(--line); }
.fv2 .wrap { display: grid; grid-template-columns: 1.6fr 1fr; gap: 36px; align-items: center; padding: 40px 16px; }
.fv2 h2 { text-align: left; font-size: 27px; }
.fv2 h2::after { margin-left: 0; }
.fv2 .gridB { max-width: none; margin-top: 22px; }
.fv2 .gridB img { height: 130px; }
.fv2 .owner { background: var(--soft); border-radius: 16px; padding: 24px 20px; }
.fv2 .owner img { max-width: 260px; }

/* ============================ FV（旧・下層の pagehead 等が使う） ============================ */
.hero { display: flex; flex-wrap: wrap; align-items: stretch; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #fff 0%, #FDFCF9 100%); }
.heroL { flex: 1 1 58%; padding: 40px 32px 10px; }
.heroR { flex: 1 1 38%; background: var(--soft); padding: 26px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-left: 1px solid var(--line); }
.heroB { flex: 1 1 100%; text-align: center; padding: 22px 24px 36px; }
.heroB .kanban { width: 100%; max-width: 620px; height: auto; margin: 0 auto; border-radius: 10px; box-shadow: 0 3px 14px rgba(0,0,0,.14); }
.heroB .ctas { justify-content: center; }
.kicker { display: inline-block; background: var(--navy); color: #fff; font-size: 18px; line-height: 1.5; font-weight: 800; padding: 8px 18px; border-radius: 4px; margin-bottom: 16px; letter-spacing: .04em; }
.fv-title { font-family: var(--serif); font-size: 38px; line-height: 1.55; font-weight: 700; letter-spacing: .02em; }
.fv-title .nw { white-space: nowrap; display: inline-block; }
.fv-title em { font-style: normal; background: linear-gradient(transparent 68%, #EBDDBA 68%); padding: 0 2px; }
.lead { font-size: 19px; margin-top: 18px; max-width: 640px; }
.gridB { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 20px; max-width: 640px; }
.gridB figure { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: #fff; box-shadow: 0 1px 4px rgba(31,44,99,.06); }
.gridB img { width: 100%; height: 96px; object-fit: cover; }
.gridB figcaption { font-size: 16px; padding: 8px 4px; text-align: center; font-weight: 700; color: var(--navy); }
.ctas { display: flex; gap: 14px; margin-top: 24px; flex-wrap: wrap; }
.cta-tel { background: var(--navy); color: #fff; padding: 13px 22px; border-radius: 10px; line-height: 1.2; display: block; box-shadow: 0 2px 8px rgba(31,44,99,.25); }
.cta-tel:hover { background: var(--deep); }
.cta-tel span { font-size: 16px; display: block; font-weight: 700; }
.cta-tel b { font-size: 32px; letter-spacing: .5px; }
.cta-sub { border: 2px solid var(--navy); color: var(--navy); font-weight: 800; font-size: 18px; padding: 13px 22px; border-radius: 10px; display: flex; align-items: center; background: #fff; }
.cta-sub:hover { background: var(--soft); }

.owner { text-align: center; width: 100%; }
.owner img { width: 100%; max-width: 320px; height: auto; border-radius: 16px; border: 5px solid #fff; box-shadow: 0 3px 14px rgba(0,0,0,.16); margin: 0 auto; }
.owner .nm { font-size: 20px; font-weight: 800; margin-top: 12px; color: var(--navy); line-height: 1.4; }
.owner .nm small { display: block; font-size: 16px; color: var(--gray); font-weight: 700; }
.badges { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; }
.badge { background: #fff; border: 1px solid var(--gold); color: #7d6320; font-size: 16px; font-weight: 700; padding: 7px 12px; border-radius: 4px; }

/* ---- 数字の帯（0.3.0：査定無料・その場で現金・1,125件・駐車場） ---- */
.stats { background: var(--soft); border-bottom: 1px solid var(--line); }
.stats .wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.stats > .wrap > div { padding: 26px 10px 22px; text-align: center; border-right: 1px solid var(--line); line-height: 1.3; }
.stats > .wrap > div:first-child { border-left: 1px solid var(--line); }
.stats small { display: block; font-size: 17px; font-weight: 700; color: var(--ink); }
.stats b { display: block; font-family: var(--serif); font-size: 44px; font-weight: 700; color: var(--navy); margin-top: 4px; letter-spacing: .02em; }
.stats b i { font-style: normal; font-size: 22px; margin-left: 2px; }
.stats b.t { font-size: 34px; }
.stats em { display: block; font-style: normal; font-size: 16px; color: var(--gray); margin-top: 6px; font-weight: 700; }

/* ---- 安心の帯 ---- */
.trust { border-bottom: 1px solid var(--line); background: #fff; }
.trust .wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust > .wrap > div { padding: 14px 10px; text-align: center; border-right: 1px solid var(--line); font-size: 16px; color: var(--gray); line-height: 1.6; }
.trust > .wrap > div:first-child { border-left: 1px solid var(--line); }
.trust b { display: block; font-size: 18px; color: var(--navy); margin-bottom: 2px; }

/* ============================ セクション共通 ============================ */
main section { padding: 64px 16px; }
main section.alt { background: var(--soft); }
main section.navy { background: var(--navy); color: #fff; }
main section.navy h2 { color: #fff; }
main section.navy h2 + .sub { color: #fff; }
section.navy .looks > div, section.navy .staff, section.navy .ucard, section.navy .callout, section.navy .twoq > div, section.navy .voice,
section.navy .dmg figure, section.navy .entries a, section.navy .chips a, section.navy .chips span, section.navy .way, section.navy .form,
section.navy .fact, section.navy .certs li, section.navy .service, section.navy .goldband, section.navy .card, section.navy .cols a,
section.navy .shopbox, section.navy .flow > div, section.navy .faq details, section.navy .gbox { color: var(--ink); }
section.navy .prose h2, section.navy .prose h3, section.navy .prose p, section.navy .prose li, section.navy .faqcat, section.navy .flownote, section.navy .note-once { color: #fff; }
section.navy .prose h3 { border-left-color: var(--gold); }
section.navy .prose a { color: #fff; text-decoration: underline; }
section.navy .prose .lead2 { color: var(--navy); }
section.navy .more a { border-color: #fff; color: #fff; background: transparent; }
section.navy .more a:hover { background: #fff; color: var(--navy); }
section.navy .staff { border: 0; }
section.navy .looks > div { border: 0; }
.why3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 34px; }
.why3 > div { padding: 8px 28px 8px 28px; border-left: 1px solid rgba(255,255,255,.35); }
.why3 > div:first-child { border-left: 0; padding-left: 0; }
.why3 .num { font-family: var(--serif); font-size: 44px; color: var(--gold); line-height: 1; font-weight: 700; }
.why3 h3 { color: #fff; font-size: 22px; margin-top: 12px; line-height: 1.5; }
.why3 p { font-size: 18px; margin-top: 12px; color: #fff; }
.why3 p.small { font-size: 16px; opacity: .92; }
h2 { font-family: var(--serif); font-size: 32px; font-weight: 700; color: var(--navy); text-align: center; letter-spacing: .04em; line-height: 1.5; }
h2::after { content: ""; display: block; width: 64px; height: 4px; background: var(--gold); margin: 12px auto 0; border-radius: 2px; }
h2 + .sub { text-align: center; font-size: 18px; color: var(--ink); margin-top: 14px; }
h3 { font-size: 19px; color: var(--navy); line-height: 1.6; }
.intro-copy { text-align: center; font-size: 18px; max-width: 800px; margin: 0 auto; }
.intro-copy strong { color: var(--navy); }

/* ---- 実績カード ---- */
.cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 26px; }
.card { background: #fff; border: 2px solid var(--line); border-radius: 10px; overflow: hidden; transition: box-shadow .15s, transform .15s; }
.card:hover { box-shadow: 0 4px 16px rgba(31,44,99,.13); transform: translateY(-2px); }
.card img { width: 100%; height: 230px; object-fit: cover; }
.card .cb { padding: 12px 14px 14px; }
.card .cb .t { font-size: 18px; font-weight: 700; line-height: 1.5; color: var(--navy); }
.card .cb .m { font-size: 15px; color: var(--gray); margin-top: 6px; }
.more { text-align: center; margin-top: 26px; }
.more a { display: inline-block; border: 2px solid var(--navy); color: var(--navy); font-weight: 800; font-size: 18px; padding: 13px 36px; border-radius: 10px; background: #fff; }
.more a:hover { background: var(--navy); color: #fff; }
.note-once { text-align: center; font-size: 16px; color: var(--gray); margin-top: 12px; }

/* ---- 品目12のタイル ---- */
.items12 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 30px; }
.items12 a { background: #fff; border: 2px solid var(--line); border-radius: 10px; text-align: center; font-size: 19px; font-weight: 800; color: var(--navy); padding: 0; overflow: hidden; display: block; transition: box-shadow .15s, transform .15s; }
.items12 a img { width: 100%; height: 150px; object-fit: cover; display: block; }
.items12 a b { display: block; padding: 14px 6px; line-height: 1.4; }
.items12 a b::after { content: " ›"; color: var(--gold); }
.items12 a:hover { border-color: var(--gold); box-shadow: 0 4px 16px rgba(31,44,99,.16); transform: translateY(-2px); }

/* ---- 選ばれる理由 ---- */
.why { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px; }
.why > div { background: #fff; border: 2px solid var(--line); border-top: 6px solid var(--gold); border-radius: 10px; padding: 22px 20px; }
.why h3 { margin-bottom: 10px; }
.why p { font-size: 18px; }
.why p.small { font-size: 16px; color: var(--gray); margin-top: 10px; }

/* ---- 流れ ---- */
.flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 26px; }
.flow > div { background: #fff; border: 2px solid var(--line); border-radius: 10px; padding: 20px 18px; }
.flow em { font-style: normal; display: inline-block; width: 40px; height: 40px; line-height: 40px; text-align: center; background: var(--gold); color: #fff; border-radius: 50%; font-weight: 800; font-size: 18px; }
.flow .fhead { display: flex; align-items: center; gap: 14px; }
.flow .fico { width: 72px; height: 72px; flex: none; }
.flow h3 { margin: 10px 0 6px; font-size: 18px; }
.flow p { font-size: 18px; }
.flownote { text-align: center; font-size: 16px; color: var(--gray); margin-top: 16px; }

/* ---- 店舗 ---- */
.shops { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 26px; }
.shopbox { background: #fff; border: 0; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 18px rgba(31,44,99,.12); }
.shopbox .shopimg { width: 100%; height: 320px; object-fit: cover; }
.shopbox .inner { padding: 24px 26px 26px; }
.shopbox h3 { font-size: 24px; }
.shopbox dl { display: grid; grid-template-columns: 96px 1fr; row-gap: 8px; font-size: 18px; margin-top: 14px; }
.shopbox dt { color: var(--gray); font-weight: 700; }
.tel2 { margin-top: 14px; background: var(--navy); color: #fff; border-radius: 8px; padding: 11px 16px; display: inline-block; line-height: 1.3; }
.tel2 span { font-size: 15px; display: block; }
.tel2 b { font-size: 30px; letter-spacing: .4px; }

/* ---- FAQ ---- */
.faq { max-width: 860px; margin: 26px auto 0; }
.faq details { background: #fff; border: 2px solid var(--line); border-radius: 8px; margin-bottom: 10px; overflow: hidden; }
.faq summary { cursor: pointer; list-style: none; font-size: 18px; font-weight: 700; color: var(--navy); padding: 15px 44px 15px 48px; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before { content: "Q"; position: absolute; left: 16px; top: 14px; color: #fff; background: var(--navy); width: 22px; height: 22px; line-height: 22px; text-align: center; border-radius: 4px; font-size: 16px; }
.faq summary::after { content: "＋"; position: absolute; right: 16px; top: 14px; color: var(--gold); font-weight: 800; }
.faq details[open] summary::after { content: "−"; }
.faq .ans { padding: 0 18px 15px 48px; position: relative; }
.faq .ans::before { content: "A"; position: absolute; left: 16px; top: 2px; color: var(--gold); border: 1px solid var(--gold); width: 22px; height: 22px; line-height: 20px; text-align: center; border-radius: 4px; font-size: 16px; font-weight: 800; }
.faq .ans p { font-size: 18px; }

/* ---- お知らせ ---- */
.newslist { max-width: 860px; margin: 26px auto 0; }
.newslist a, .newslist .row { display: grid; grid-template-columns: 120px 1fr; gap: 14px; padding: 12px 6px; border-bottom: 1px solid var(--line); font-size: 18px; }
.newslist time { color: var(--gray); font-size: 17px; }
.newslist a:hover .nt { text-decoration: underline; }
.dummy { color: #6B7086; }

/* ============================ フッター ============================ */
footer { background: var(--soft); color: var(--ink); padding: 48px 16px 0; border-top: 1px solid var(--line); }
footer .wrap { display: grid; grid-template-columns: 1.2fr 1.2fr 1fr 1fr; gap: 28px; }
footer .ft { font-size: 19px; font-weight: 800; color: var(--navy); border-left: 4px solid var(--gold); padding-left: 10px; margin-bottom: 10px; }
footer p { font-size: 16px; line-height: 2; }
footer .flinks { display: flex; flex-direction: column; gap: 2px; }
footer .flinks a { font-size: 16px; line-height: 2; }
footer .flinks a:hover { text-decoration: underline; }
footer .kobutsu { text-align: center; font-size: 16px; margin-top: 34px; color: var(--gray); padding-bottom: 22px; }
footer .copy { text-align: center; font-size: 15px; margin: 0 -16px; padding: 14px 16px; background: var(--deep); color: #fff; }

/* ---- 上に戻るボタン（400pxスクロールで出る。スマホは下部バーの上）＝9/2 ken ---- */
.totop { position: fixed; right: 18px; bottom: 26px; z-index: 55; width: 66px; height: 66px; border-radius: 50%; background: var(--navy); color: #fff; border: 2px solid #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 15px; font-weight: 800; line-height: 1.1; box-shadow: 0 3px 12px rgba(0,0,0,.3); opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
.totop span { font-size: 17px; line-height: 1; margin-bottom: 2px; }
.totop.show { opacity: 1; visibility: visible; }
.totop:hover { background: var(--deep); }

/* ---- 下部固定（電話とLINEの2つだけ。スマホのみ） ---- */
.fixbar { display: none; }
.fixbar a small { display: block; font-size: 15px; font-weight: 700; line-height: 1.2; margin-top: 2px; }
.fixbar .fchg { position: absolute; right: 8px; top: -30px; background: #fff; color: var(--navy); border: 1px solid var(--line); border-radius: 999px; font-size: 15px; font-weight: 700; padding: 5px 12px; font-family: inherit; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.12); }

/* ---- 店舗の2択シート（電話・LINEを押したときに下から出る） ---- */
.sheet { display: none; position: fixed; inset: 0; z-index: 100; }
.sheet.open { display: block; }
.sheet .shbg { position: absolute; inset: 0; background: rgba(22,32,74,.55); }
.sheet .shbox { position: absolute; left: 0; right: 0; bottom: 0; background: #fff; border-radius: 18px 18px 0 0; padding: 20px 16px 22px; max-width: 560px; margin: 0 auto; box-shadow: 0 -4px 24px rgba(0,0,0,.2); animation: shup .18s ease-out; max-height: 92vh; overflow-y: auto; }
@keyframes shup { from { transform: translateY(30px); opacity: 0; } to { transform: none; opacity: 1; } }
.sheet .shtitle { font-family: var(--serif); font-size: 21px; font-weight: 700; color: var(--navy); text-align: center; }
.sheet .shcard { border: 1px solid var(--line); border-radius: 12px; padding: 14px 14px 12px; margin-top: 12px; }
.sheet .shname { font-size: 19px; font-weight: 800; color: var(--navy); }
.sheet .sharea { font-size: 16px; color: var(--gray); margin-top: 2px; }
.sheet .shbtns { display: grid; grid-template-columns: 1.6fr 1fr; gap: 8px; margin-top: 10px; }
.sheet .shtel { background: var(--navy); color: #fff; border-radius: 10px; padding: 10px 12px; line-height: 1.2; }
.sheet .shtel span { font-size: 15px; display: block; }
.sheet .shtel b { font-size: 24px; letter-spacing: .3px; display: block; }
.sheet .shtel i { font-style: normal; font-size: 15px; display: block; margin-top: 2px; }
.sheet .shline { background: var(--lineblue); color: #fff; border-radius: 10px; font-weight: 800; font-size: 18px; display: flex; align-items: center; justify-content: center; text-align: center; line-height: 1.35; }
.sheet[data-kind="tel"] .shline { display: none; }
.sheet[data-kind="tel"] .shbtns { grid-template-columns: 1fr; }
.sheet[data-kind="line"] .shtel { display: none; }
.sheet[data-kind="line"] .shbtns { grid-template-columns: 1fr; }
.sheet[data-kind="line"] .shline { padding: 14px; }
.sheet .shnote { font-size: 16px; color: var(--gray); text-align: center; margin-top: 14px; line-height: 1.6; }
.sheet .shclose { display: block; width: 100%; margin-top: 12px; background: var(--soft); border: 1px solid var(--line); border-radius: 10px; padding: 12px; font-size: 18px; font-weight: 700; color: var(--navy); font-family: inherit; cursor: pointer; }
body.sheet-open { overflow: hidden; }


/* ============================================================
   下層ページの部品（2026-09-02 追加）
   ============================================================ */
/* ---- パンくず ---- */
.crumb { background: #fff; border-bottom: 1px solid var(--line); }
.crumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; padding: 9px 16px; font-size: 16px; color: var(--gray); }
.crumb li + li::before { content: "›"; margin: 0 8px 0 4px; color: #8A8FA3; }
.crumb a { color: var(--navy); }
.crumb a:hover { text-decoration: underline; }

/* ---- ページ見出し ---- */
.pagehead { position: relative; background: var(--deep) center 50% / cover no-repeat; color: #fff; padding: 64px 16px 60px; }
.pagehead::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22,32,74,.9) 0%, rgba(22,32,74,.8) 55%, rgba(22,32,74,.62) 100%); }
.pagehead > .wrap { position: relative; }
.pagehead h1 { font-family: var(--serif); font-size: 38px; line-height: 1.45; color: #fff; letter-spacing: .02em; text-shadow: 0 2px 10px rgba(0,0,0,.45); }
.pagehead .intro { font-size: 19px; font-weight: 700; margin-top: 18px; max-width: 760px; color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.45); }
.pagehead .pkicker { display: inline-block; font-size: 16px; font-weight: 800; color: #fff; background: var(--gold); padding: 6px 14px; border-radius: 4px; letter-spacing: .08em; margin-bottom: 14px; }
.pagehead .ph2 { display: grid; grid-template-columns: 1.35fr 1fr; gap: 36px; align-items: center; }
.pagehead .phR img { width: 100%; height: 300px; object-fit: cover; object-position: 50% 30%; border-radius: 12px; box-shadow: 0 6px 24px rgba(0,0,0,.35); border: 4px solid #fff; }
.countbadge { display: inline-flex; align-items: baseline; gap: 10px; margin-top: 20px; background: #fff; border: 2px solid var(--gold); border-radius: 8px; padding: 8px 18px; font-size: 16px; color: #7d6320; font-weight: 700; }
.countbadge b { font-family: var(--serif); font-size: 29px; color: var(--navy); }
.countnote { margin-top: 8px; font-size: 16px; font-weight: 700; color: #fff; }

/* ---- チップ（買取できるもの／品目の入口） ---- */
.chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 22px; }
.chips span, .chips a { background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 9px 18px; font-size: 17px; font-weight: 700; color: var(--navy); }
.chips a:hover { border-color: var(--gold); background: var(--goldpale); }
.chips.left { justify-content: flex-start; }

.shopchips a { display: flex; flex-direction: column; align-items: center; line-height: 1.3; padding: 10px 18px; }
.shopchips a small { font-size: 15px; color: var(--gold); font-weight: 800; }

/* ---- 金の帯（ブランドページ：モデル名が分からないものの案内） ---- */
.goldband { margin-top: 24px; background: var(--goldpale); border: 1px solid #E6D7AE; border-left: 6px solid var(--gold); border-radius: 8px; padding: 16px 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; font-size: 18px; font-weight: 700; color: var(--navy); }
.goldband a { background: var(--navy); color: #fff; padding: 11px 20px; border-radius: 8px; font-size: 17px; }

/* ---- 壊れていても大丈夫（実物写真のギャラリー） ---- */
.dmg { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 26px; }
.dmg figure { background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.dmg img { width: 100%; height: 170px; object-fit: cover; }
.dmg figcaption { padding: 10px 12px 12px; font-size: 16px; line-height: 1.6; }
.dmg figcaption b { display: block; color: var(--navy); font-size: 17px; }
.dmg.three { grid-template-columns: repeat(3, 1fr); }
.dmg.three img { height: 210px; }

/* ---- 査定で見るところ（番号つき） ---- */
.looks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 26px; counter-reset: lk; }
.looks > div { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 22px 20px 20px; position: relative; }
.looks > div::before { counter-increment: lk; content: counter(lk); position: absolute; top: -12px; left: 16px; background: var(--gold); color: #fff; font-weight: 800; font-size: 16px; width: 26px; height: 26px; line-height: 26px; text-align: center; border-radius: 50%; }
.looks h3 { font-size: 19px; margin-bottom: 8px; }
.looks p { font-size: 17px; }

/* ---- 受け皿・関連の入口カード ---- */
.ucards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 26px; }
.ucard { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 18px 18px 16px; position: relative; transition: box-shadow .15s; }
.ucard:hover { box-shadow: 0 4px 16px rgba(31,44,99,.13); border-color: var(--gold); }
.ucard b { display: block; font-size: 18px; color: var(--navy); line-height: 1.5; }
.ucard span { display: block; font-size: 16px; color: var(--gray); margin-top: 6px; }
.ucard i { position: absolute; right: 16px; top: 18px; font-style: normal; color: var(--gold); font-weight: 800; }
.ucard.img { padding: 0; overflow: hidden; }
.ucard.img img { width: 100%; height: 130px; object-fit: cover; }
.ucard.img .ub { padding: 14px 16px 14px; }

/* ---- ページ送り ---- */
.pager { margin-top: 28px; text-align: center; }
.pager .pos { font-size: 18px; color: var(--navy); font-weight: 700; margin: 0 0 10px; }
.pager .pgs { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.pager a, .pager span { min-width: 56px; height: 56px; line-height: 54px; text-align: center; border: 2px solid var(--line); border-radius: 10px; font-size: 22px; font-weight: 700; color: var(--navy); background: #fff; padding: 0 14px; }
.pager .cur { background: var(--navy); color: #fff; border-color: var(--navy); }
.pager .dots { border: 0; background: none; }
.pager a:hover { border-color: var(--gold); }

/* ---- 基本情報の表 ---- */
.fact { width: 100%; border-collapse: collapse; margin-top: 22px; background: #fff; font-size: 18px; }
.fact th, .fact td { border: 1px solid var(--line); padding: 13px 16px; text-align: left; vertical-align: top; line-height: 1.7; }
.fact th { background: var(--soft); width: 200px; color: var(--navy); font-weight: 700; white-space: nowrap; }
.fact a { text-decoration: underline; }
.tx2 { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; margin-top: 22px; }
.map iframe { width: 100%; height: 360px; border: 0; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,.08); display: block; }
.map { margin-top: 0; }
.photos2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
.photos2 img { width: 100%; height: 260px; object-fit: cover; border-radius: 10px; }
.photos2 figcaption { font-size: 16px; color: var(--gray); margin-top: 6px; text-align: center; }

/* ---- 店長と資格 ---- */
.staff { display: grid; grid-template-columns: 300px 1fr; gap: 32px; margin-top: 26px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 28px; }
.staffL { text-align: center; }
.staffL img { width: 100%; max-width: 240px; border-radius: 14px; margin: 0 auto; border: 4px solid #fff; box-shadow: 0 3px 12px rgba(0,0,0,.14); }
.staffL .nm { font-size: 21px; font-weight: 800; color: var(--navy); margin-top: 12px; line-height: 1.4; }
.staffL .nm small { display: block; font-size: 15px; color: var(--gray); font-weight: 600; }
.staffL .msg { font-size: 16px; text-align: left; margin-top: 12px; color: var(--ink); background: var(--soft); border-radius: 8px; padding: 12px 14px; }
.staffR h3 { font-size: 19px; margin-bottom: 10px; padding-left: 10px; border-left: 3px solid var(--gold); }
.staffR h3 + .certs { margin-bottom: 18px; }
.certs { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.certs li { border: 1px solid var(--line); border-radius: 8px; padding: 10px 14px; font-size: 16px; line-height: 1.55; background: #fff; }
.certs li b { display: block; color: var(--navy); font-size: 18px; }
.certs li span { display: block; color: #7d6320; font-weight: 700; }
.certs li small { display: block; color: var(--gray); font-size: 15px; }
.certimgs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 20px; }
.certimgs img { width: 100%; border-radius: 6px; border: 1px solid var(--line); }
.certimgs figcaption { font-size: 15px; color: var(--gray); text-align: center; margin-top: 5px; }
.staffR .small { font-size: 16px; color: var(--gray); margin-top: 10px; }

/* ---- お問い合わせ帯（ページ末尾） ---- */
.ctaband { position: relative; background: var(--deep) center/cover no-repeat; color: #fff; padding: 64px 16px; text-align: center; border-top: 6px solid var(--gold); }
.ctaband::before { content: ""; position: absolute; inset: 0; background: rgba(22,32,74,.82); }
.ctaband .wrap { position: relative; }
.ctaband .ct { font-family: var(--serif); font-size: 36px; font-weight: 700; letter-spacing: .03em; line-height: 1.5; text-shadow: 0 2px 8px rgba(0,0,0,.4); }
.ctaband .cs { font-size: 20px; margin-top: 14px; font-weight: 700; }
.ctatels { display: flex; justify-content: center; gap: 14px; margin-top: 22px; flex-wrap: wrap; }
.ctaband .cta-tel { background: #fff; color: var(--navy); }
.ctaband .cta-tel:hover { background: var(--goldpale); }
.ctaband .cta-tel span { color: var(--navy); }
.cta-line { background: var(--lineblue); color: #fff; font-weight: 800; font-size: 18px; padding: 13px 22px; border-radius: 10px; display: flex; align-items: center; }
.ctaband .ch { font-size: 17px; margin-top: 18px; font-weight: 700; }

/* ---- 本文（読みもの） ---- */
.prose { max-width: 860px; margin: 0 auto; font-size: 18px; }
.prose h2 { text-align: left; font-size: 26px; margin-top: 8px; }
.prose h2::after { margin-left: 0; }
.prose h3 { margin-top: 26px; font-size: 20px; padding-left: 12px; border-left: 4px solid var(--gold); }
.prose p { margin-top: 14px; }
.prose ul, .prose ol { margin: 14px 0 0 24px; }
.prose li { margin-top: 6px; }
.prose .lead2 { font-size: 19px; font-weight: 700; color: var(--navy); background: var(--goldpale); border-radius: 8px; padding: 16px 20px; margin-top: 8px; }
.prose table { width: 100%; border-collapse: collapse; margin-top: 16px; font-size: 18px; }
.prose th, .prose td { border: 1px solid var(--line); padding: 10px 14px; text-align: left; }
.prose th { background: var(--soft); color: var(--navy); }
.prose img.fig { border-radius: 10px; margin-top: 16px; }
.prose figure.right { float: right; width: 42%; margin: 4px 0 12px 24px; }
.prose figure.right img { border-radius: 10px; }
.prose figure.right figcaption { font-size: 16px; color: var(--gray); text-align: center; margin-top: 6px; }
.prose::after { content: ""; display: block; clear: both; }
.callout { background: #fff; border: 1px solid var(--line); border-left: 6px solid var(--navy); border-radius: 8px; padding: 18px 22px; margin-top: 22px; font-size: 18px; }
.callout b { color: var(--navy); }
.pdflinks a { text-decoration: underline; font-weight: 700; }

/* ---- 相談の入口（売りたい方へ） ---- */
.entries { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 26px; }
.entries a { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; display: block; transition: box-shadow .15s; }
.entries a:hover { box-shadow: 0 4px 16px rgba(31,44,99,.13); }
.entries img { width: 100%; height: 150px; object-fit: cover; }
.entries .eb { padding: 16px 18px 18px; }
.entries .eb b { display: block; font-size: 19px; color: var(--navy); line-height: 1.5; }
.entries .eb p { font-size: 17px; margin-top: 8px; }
.entries .eb i { font-style: normal; display: inline-block; margin-top: 10px; font-size: 16px; font-weight: 800; color: var(--gold); }

/* ---- お客様の声 ---- */
.voices { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 26px; }
.voice { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 24px; }
.voice .vh { display: flex; gap: 14px; align-items: center; }
.voice .vh img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.voice .vh b { font-size: 18px; color: var(--navy); display: block; }
.voice .vh span { font-size: 16px; color: var(--gray); }
.voice dl { margin-top: 14px; }
.voice dt { font-size: 16px; font-weight: 800; color: var(--gold); letter-spacing: .08em; margin-top: 12px; }
.voice dd { font-size: 17px; margin-top: 3px; }
.voice .q { font-family: var(--serif); font-size: 20px; color: var(--navy); line-height: 1.6; margin-top: 12px; }
.gbox { margin-top: 26px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 22px 26px; display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
.gbox .star { font-size: 40px; color: #F4B400; letter-spacing: -2px; }
.gbox .sc { font-family: var(--serif); font-size: 38px; color: var(--navy); font-weight: 700; }
.gbox p { font-size: 17px; }
.gbox a { margin-left: auto; border: 2px solid var(--navy); color: var(--navy); font-weight: 800; padding: 11px 20px; border-radius: 8px; font-size: 17px; }

/* ---- FAQ ページの分類見出し ---- */
.faqcat { max-width: 860px; margin: 34px auto 0; font-size: 21px; color: var(--navy); padding-left: 12px; border-left: 4px solid var(--gold); }
.faqcat + .faq { margin-top: 14px; }
.faqnav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 22px; }
.faqnav a { border: 1px solid var(--navy); color: var(--navy); border-radius: 999px; padding: 8px 16px; font-size: 17px; font-weight: 700; background: #fff; }

/* ---- お問い合わせ ---- */
.ways { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 26px; }
.way { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--navy); border-radius: 10px; padding: 24px 22px; text-align: center; }
.way h3 { font-size: 20px; }
.way p { font-size: 17px; margin-top: 8px; }
.way .big { display: block; font-size: 27px; font-weight: 800; color: var(--navy); margin-top: 8px; letter-spacing: .3px; }
.way .sm { font-size: 16px; color: var(--gray); }
.way.line { border-top-color: var(--lineblue); }
.way .linebtn { display: inline-block; background: var(--lineblue); color: #fff; font-weight: 800; padding: 13px 26px; border-radius: 10px; margin-top: 12px; font-size: 18px; }
.form { max-width: 720px; margin: 26px auto 0; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 30px; }
.form label { display: block; font-weight: 700; font-size: 17px; color: var(--navy); margin-top: 18px; }
.form label:first-child { margin-top: 0; }
.form label em { font-style: normal; background: #B03A3A; color: #fff; font-size: 15px; padding: 2px 7px; border-radius: 3px; margin-left: 8px; vertical-align: 1px; }
.form input, .form select, .form textarea { width: 100%; font-size: 18px; padding: 12px 14px; border: 1px solid #C9CBD6; border-radius: 8px; margin-top: 6px; font-family: inherit; background: #fff; }
.form textarea { min-height: 140px; }
.form .radio { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 8px; font-weight: 400; font-size: 18px; }
.form .radio label { display: flex; align-items: center; gap: 6px; margin: 0; font-weight: 400; color: var(--ink); }
.form .radio input { width: auto; margin: 0; }
.form .submit { display: block; width: 100%; background: var(--navy); color: #fff; font-size: 19px; font-weight: 800; padding: 16px; border: 0; border-radius: 10px; margin-top: 24px; cursor: pointer; font-family: inherit; }
.form .fnote { font-size: 16px; color: var(--gray); margin-top: 12px; }

/* ---- 実績記事 ---- */
.art { display: grid; grid-template-columns: 1fr 320px; gap: 36px; padding: 36px 16px 56px; max-width: 1200px; margin: 0 auto; }
.art h1 { font-family: var(--serif); font-size: 29px; line-height: 1.55; color: var(--navy); }
.art .meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; }
.art .meta .date { font-size: 17px; color: var(--gray); margin-right: 6px; }
.art .tag { background: var(--soft); border: 1px solid var(--line); border-radius: 999px; padding: 4px 12px; font-size: 16px; color: var(--navy); font-weight: 700; }
.art .artimg { width: 100%; border-radius: 12px; margin-top: 20px; }
.art .thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 8px; }
.art .thumbs img { width: 100%; height: 90px; object-fit: cover; border-radius: 6px; }
.art .body { font-size: 18px; margin-top: 22px; }
.spec { width: 100%; border-collapse: collapse; margin-top: 24px; font-size: 18px; }
.spec th, .spec td { border: 1px solid var(--line); padding: 12px 14px; text-align: left; }
.spec th { background: var(--soft); width: 190px; color: var(--navy); white-space: nowrap; }
.spec a { text-decoration: underline; }
.aside > div { background: var(--soft); border-radius: 12px; padding: 20px; margin-bottom: 16px; }
.aside .hd { font-size: 18px; font-weight: 800; color: var(--navy); border-left: 3px solid var(--gold); padding-left: 10px; margin-bottom: 12px; }
.telbox { background: var(--navy) !important; color: #fff; text-align: center; }
.telbox span { display: block; font-size: 16px; }
.telbox b { display: block; font-size: 29px; letter-spacing: .5px; margin: 4px 0; }
.rel { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rel img { width: 100%; height: 90px; object-fit: cover; border-radius: 6px; }
.rel figcaption { font-size: 15px; margin-top: 4px; line-height: 1.5; }
.who { display: flex; gap: 12px; align-items: center; }
.who img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; }
.who p { font-size: 16px; line-height: 1.6; }

/* ---- お知らせ・コラム一覧 ---- */
.newsfull { max-width: 860px; margin: 22px auto 0; }
.newsfull a { display: grid; grid-template-columns: 130px 110px 1fr; gap: 14px; align-items: center; padding: 16px 8px; border-bottom: 1px solid var(--line); font-size: 18px; }
.newsfull a:hover .nt { text-decoration: underline; }
.newsfull time { color: var(--gray); font-size: 17px; }
.newsfull .cat { font-size: 15px; font-weight: 800; color: var(--navy); border: 1px solid var(--navy); border-radius: 4px; text-align: center; padding: 3px 6px; }
.cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px; }
.cols a { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; display: block; }
.cols img { width: 100%; height: 160px; object-fit: cover; }
.cols .cb2 { padding: 14px 16px 16px; }
.cols .cb2 time { font-size: 16px; color: var(--gray); }
.cols .cb2 b { display: block; font-size: 18px; color: var(--navy); line-height: 1.55; margin-top: 4px; }
.article { max-width: 820px; margin: 0 auto; padding: 36px 16px 56px; }
.article h1 { font-family: var(--serif); font-size: 32px; line-height: 1.5; color: var(--navy); }
.article .date { font-size: 17px; color: var(--gray); margin-top: 10px; display: block; }
.article .body { margin-top: 22px; font-size: 18px; }
.article .body p { margin-top: 14px; }
.article .body img { border-radius: 10px; margin-top: 16px; }

/* ---- 両替の案内（古銭・両替ページ） ---- */
.service { margin-top: 26px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 24px 26px; display: grid; grid-template-columns: 1fr 1fr; gap: 26px; align-items: center; }
.service h3 { font-size: 20px; }
.service p { font-size: 17px; margin-top: 8px; }
.service .free { display: inline-block; background: var(--navy); color: #fff; font-weight: 800; font-size: 16px; padding: 4px 12px; border-radius: 4px; margin-bottom: 8px; }
.service ul { margin: 10px 0 0 20px; font-size: 17px; }

/* ---- 相談ページの資格ワンポイント ---- */
.twoq { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 22px; }
.twoq > div { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 20px 22px; }
.twoq b { display: block; color: var(--navy); font-size: 19px; }
.twoq p { font-size: 17px; margin-top: 8px; }
.pill { display: inline-block; background: var(--goldpale); border: 1px solid var(--gold); color: #7d6320; border-radius: 999px; padding: 4px 12px; font-size: 16px; font-weight: 800; }

/* ---- 固定ヘッダー（電話2本・ロゴ・LINE＋グローバルナビ。営業時間の帯は流す）＝9/2 ken ---- */
.hdrfix { position: sticky; top: 0; z-index: 60; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.18); }
/* 9/5 論点6：ページ内リンク（#list・#certs・#shuccho など）の飛び先を固定ヘッダーの下に出す。--hdr は site.js が実測して入れる */
[id] { scroll-margin-top: var(--hdr, 170px); }
.admin-bar .hdrfix { top: 32px; }
.hdrfix.shrunk .head .wrap { padding: 7px 16px; }
.hdrfix.shrunk .head img.logo { height: 46px; }
.hdrfix.shrunk .tel i { display: none; }
.hdrfix.shrunk .tel b { font-size: 24px; }
.hdrfix.shrunk .gnav .ni { padding: 12px 4px; }

/* ---- 写真＋紺の膜＋白の大見出しの帯（トップに2〜3か所）。背景画像は HTML 側の style= で指定 ---- */
.pband { position: relative; background: var(--deep) center/cover no-repeat; color: #fff; text-align: center; padding: 84px 16px; }
.pband::before { content: ""; position: absolute; inset: 0; background: rgba(22,32,74,.74); }
.pband .wrap { position: relative; }
.pband .pt { font-family: var(--serif); font-size: 40px; font-weight: 700; line-height: 1.5; letter-spacing: .03em; text-shadow: 0 2px 10px rgba(0,0,0,.45); }
.pband .ps { font-size: 21px; font-weight: 700; margin-top: 16px; line-height: 1.8; text-shadow: 0 1px 6px rgba(0,0,0,.45); }
.pband .pbtn { display: inline-block; margin-top: 26px; background: #fff; color: var(--navy); font-weight: 800; font-size: 19px; padding: 16px 36px; border-radius: 10px; box-shadow: 0 3px 12px rgba(0,0,0,.25); }
.pband .pbtn:hover { background: var(--goldpale); }
.pband .pbtn::after { content: " ›"; color: var(--gold); }

/* ============================================================
   タブレット（〜1000px）
   ============================================================ */
@media (max-width: 1000px) {
  .head .wrap { grid-template-columns: auto 1fr auto; }
  .headL { display: none; }
  .logoP { justify-self: start; }
  .head .wrap { padding: 10px 12px; gap: 8px; }
  .head img.logo { height: 44px; margin: 0; }
  .headR { gap: 8px; }
  .headR .tel { display: none; }
  .btn-line { font-size: 16px; padding: 12px 12px; }
  .btn-tel-sp { display: block; background: #fff; color: var(--navy); border-radius: 8px; font-size: 16px; font-weight: 800; padding: 12px 12px; white-space: nowrap; }
  /* メニューは目立たせる（9/2 ken）：紺の塗り＋三本線＋文字 */
  .menu-btn {
    display: block; background: var(--gold); color: #fff; border: 2px solid #fff; border-radius: 8px;
    font-size: 18px; font-weight: 800; padding: 11px 14px; min-height: 48px; cursor: pointer; font-family: inherit;
    white-space: nowrap; writing-mode: horizontal-tb; line-height: 1.2;
    box-shadow: 0 2px 0 rgba(0,0,0,.18);
  }
  .menu-btn::before { content: "☰"; display: inline-block; font-size: 20px; margin-right: 6px; vertical-align: -2px; }
  /* 9/6 ken：押すと開くことが分かるように▼を足し、文字とタップ領域を大きくした（読者は65歳以上が中心） */
  .menu-btn::after { content: "▼"; display: inline-block; font-size: 13px; margin-left: 6px; vertical-align: 2px; }
  .menu-btn[aria-expanded="true"] { background: #fff; color: var(--navy); border-color: #fff; }
  .menu-btn[aria-expanded="true"]::before { content: "✕"; }
  .menu-btn[aria-expanded="true"]::after { content: "▲"; }
  /* 内訳は押したボタンの直下に出る（JSで移動）。PCとは違う見た目 */
  .gnav .dropdown { border-bottom: 2px solid var(--navy); }
  .gnav .dropdown .wrap { padding: 12px 12px 14px 24px; gap: 8px; }
  .gnav .ni.drop[aria-expanded="true"] { background: var(--soft); }
  .gnav .ni.drop[aria-expanded="true"]::after { content: " ▴"; }
  .admin-bar .hdrfix { top: 46px; }
  .hdrfix.shrunk .head .wrap { padding: 8px 12px; }
  .hdrfix.shrunk .head img.logo { height: 40px; }
  .pband { padding: 64px 16px; }
  .pband .pt { font-size: 32px; }
  .fv { padding: 56px 16px 52px; }
  .fv .fv-title { font-size: 36px; }
  .fv2 .wrap { grid-template-columns: 1fr; }
  .stats .wrap { grid-template-columns: repeat(2, 1fr); }
  .stats > .wrap > div { border-bottom: 1px solid var(--line); }
  .why3 { grid-template-columns: 1fr; }
  .why3 > div { border-left: 0; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.35); }
  .why3 > div:first-child { border-top: 0; padding-top: 0; }
  .card img { height: 180px; }
  .shopbox .shopimg { height: 240px; }
  .items12 { grid-template-columns: repeat(3, 1fr); }
  .items12 a img { height: 120px; }
  nav.gnav { display: none; }
  nav.gnav.open { display: block; border-bottom: 2px solid var(--navy); }
  .gnav .wrap { flex-direction: column; }
  .gnav .ni { text-align: left; padding: 16px 20px; border-right: 0; border-bottom: 1px solid var(--line); font-size: 19px; }
  nav.gnav { max-height: calc(100vh - 140px); overflow-y: auto; }  /* 0.9.20：固定ナビ3つの分（57px）を引く */
  .gnav .ni:first-child { border-left: 0; }
  .dropdown .wrap { grid-template-columns: repeat(3, 1fr); }
  .hero { flex-direction: column; }
  .heroL { padding-bottom: 0; }
  .heroB { order: 2; padding: 20px 18px 8px; }
  .heroR { order: 3; border-left: 0; border-top: 1px solid var(--line); margin-top: 24px; }
  .heroR .owner img { max-width: 280px; }
  .cards { grid-template-columns: repeat(2, 1fr); }
  .why { grid-template-columns: 1fr; }
  .trust .wrap { grid-template-columns: repeat(2, 1fr); }
  .trust > .wrap > div { border-bottom: 1px solid var(--line); }
  .fixbar {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
    box-shadow: 0 -2px 10px rgba(0,0,0,.12);
  }
  .fixbar a { line-height: 1.25; }
  .totop { right: 12px; bottom: 92px; width: 60px; height: 60px; }
  .fixbar a { flex: 1; text-align: center; font-size: 18px; font-weight: 800; color: #fff; padding: 15px 8px; }
  .ftel { background: var(--navy); }
  .fline { background: var(--lineblue); }
  body { padding-bottom: 0; }
  footer .copy { padding-bottom: 96px; }
}

/* ============================================================
   スマホ（〜640px）＝iPhone実機幅で読める寸法（T29）
   ============================================================ */
@media (max-width: 640px) {
  .util { font-size: 15px; }
  .util .wrap { justify-content: center; }
  .util .wrap span:first-child { display: none; }
  /* 一覧の下の品目12＝2列×6段（幅に余裕があるので17px。上の帯の15pxの例外をここでは使わない） */
  .bandsec .bandlist { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .bandsec .bandlist a { font-size: 17px; padding: 14px 4px; }
  /* 品目の帯＝3列×4段（横スクロールは採らない） */
  .band .wrap { grid-template-columns: repeat(3, 1fr); }
  .band a { font-size: 15px; padding: 13px 2px; letter-spacing: -.02em; } /* ⚠️唯一の16px未満：3列に「スマートフォン・」を収めるため（太字・紺） */
  .heroL { padding: 26px 18px 28px; }
  .kicker { font-size: 16px; padding: 7px 14px; }
  .fv-title { font-size: 28px; line-height: 1.55; }
  .fv { padding: 40px 16px 40px; background-position: center 40%; }
  .fv::before { background: rgba(22,32,74,.74); }
  .fv .fv-title { font-size: 28px; }
  .fv .lead { font-size: 18px; }
  .fv2 .wrap { padding: 28px 14px; gap: 24px; }
  .fv2 h2 { font-size: 23px; }
  .fv2 .gridB img { height: 110px; }
  .stats b { font-size: 34px; }
  .stats b.t { font-size: 24px; }
  .stats b i { font-size: 18px; }
  .stats > .wrap > div { padding: 18px 8px 16px; }
  .card img { height: 120px; }
  .shopbox .shopimg { height: 200px; }
  .shopbox h3 { font-size: 21px; }
  .lead { font-size: 18px; margin-top: 14px; }
  .gridB { grid-template-columns: repeat(2, 1fr); }
  .gridB img { height: 110px; }
  .ctas { flex-direction: column; }
  .cta-tel, .cta-sub { text-align: center; justify-content: center; }
  .heroR .owner img { max-width: 260px; }
  main section { padding: 40px 14px; }
  h2 { font-size: 27px; }
  .cards { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .card img { height: 110px; }
  .card .cb .t { font-size: 17px; }
  .items12 { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .items12 a { font-size: 17px; }
  .items12 a img { height: 96px; }
  .items12 a b { padding: 10px 4px; }
  .pband { padding: 48px 16px; }
  .pband .pt { font-size: 26px; }
  .pband .ps { font-size: 18px; }
  .pband .pbtn { font-size: 18px; padding: 14px 24px; }
  .ctaband { padding: 44px 16px; }
  /* 9/4 ken：スマホでは上下にCTAが重複し、ヘッダーが画面幅を超えていた（433px固定＝iPhone14で43pxはみ出し）。
     下部固定バーに電話とLINEが常に出ているので、ヘッダーはロゴと☰メニューだけにする */
  .headR .btn-tel-sp, .headR .btn-line { display: none; }
  .menu-btn { font-size: 17px; padding: 10px 11px; }
  .menu-btn::before { font-size: 18px; margin-right: 5px; }
  .menu-btn::after { margin-left: 4px; }
  .dropdown .wrap { grid-template-columns: repeat(2, 1fr); }
  .gnav .dropdown .wrap { padding-left: 16px; }
  .head img.logo { height: 38px; }
  .flow { grid-template-columns: 1fr; }
  .shops { grid-template-columns: 1fr; }
  .newslist a, .newslist .row { grid-template-columns: 1fr; gap: 2px; }
  footer .wrap { grid-template-columns: 1fr; gap: 22px; }
  footer .flinks { flex-direction: row; flex-wrap: wrap; gap: 4px 16px; }
}

@media (max-width: 1000px) {
  .pagehead .ph2 { grid-template-columns: 1fr; gap: 20px; }
  /* 9/4：320px級の端末で下層ページの見出しが画面幅を超えていた（grid項目の自動最小幅） */
  .pagehead .ph2 > * { min-width: 0; }
  .pagehead .phR img { max-width: 100%; }
  .pagehead .phR img { height: 220px; }
  .dmg { grid-template-columns: repeat(2, 1fr); }
  .dmg.three { grid-template-columns: repeat(2, 1fr); }
  .looks { grid-template-columns: 1fr; }
  .ucards { grid-template-columns: repeat(2, 1fr); }
  .staff { grid-template-columns: 1fr; padding: 20px; }
  .tx2 { grid-template-columns: 1fr; }
  .entries { grid-template-columns: 1fr; }
  .voices { grid-template-columns: 1fr; }
  .ways { grid-template-columns: 1fr; }
  .art { grid-template-columns: 1fr; }
  .cols { grid-template-columns: 1fr; }
  .service { grid-template-columns: 1fr; }
  .twoq { grid-template-columns: 1fr; }
  .ctatels { flex-direction: column; align-items: center; }
  .ctatels .cta-tel, .ctatels .cta-line { width: 100%; max-width: 420px; justify-content: center; text-align: center; }
}
@media (max-width: 640px) {
  .pagehead { padding: 36px 16px 34px; }
  .pagehead h1 { font-size: 26px; }
  .pagehead .intro { font-size: 18px; }
  .countbadge b { font-size: 25px; }
  .chips span, .chips a { font-size: 16px; padding: 8px 14px; }
  .dmg { gap: 10px; }
  .dmg img, .dmg.three img { height: 130px; }
  .fact th { width: 92px; white-space: normal; font-size: 16px; padding: 10px; }
  .fact td { font-size: 17px; padding: 10px; }
  .certs { grid-template-columns: 1fr; }
  .photos2 { grid-template-columns: 1fr; }
  .photos2 img { height: 200px; }
  .ctaband .ct { font-size: 26px; }
  .newsfull a { grid-template-columns: 1fr; gap: 4px; }
  .newsfull .cat { width: max-content; }
  .prose figure.right { float: none; width: 100%; margin: 14px 0 0; }
  .goldband { flex-direction: column; align-items: stretch; text-align: center; }
  .goldband a { text-align: center; }
  .spec th { width: 100px; white-space: normal; }
  .form { padding: 20px 16px; }
  .ucards { grid-template-columns: 1fr; }
  .rel { grid-template-columns: 1fr 1fr; }
}

/* ── 買取価格の幅（2026-09-04）───────────────── */
.spec .price b{font-size:24px;font-weight:700;color:#1F2C63;letter-spacing:.02em}
.spec .price .pnote{display:block;margin-top:8px;font-size:16px;line-height:1.7;color:#454A5C}
.spec th small{display:block;font-size:16px;font-weight:400;color:#454A5C;margin-top:2px;white-space:normal}

/* ============================================================
   狭いスマホ（〜400px：iPhone SE など）
   9/4 ken：見出しと電話番号が画面幅を超えていたため、ここだけ少し縮める
   ============================================================ */
@media (max-width: 400px) {
  .fv .fv-title { font-size: 25px; }
  .fv-title .nw { white-space: normal; }
  .fv .fvtels .cta-tel b { font-size: 27px; }
}


/* 9/5 修正F：認定証7枚（会社概要）／修正C：人物と資格のリスト */
.certimgs.seven { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.certimgs.seven figure { margin: 0; }
.certimgs.seven img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.certimgs.seven figcaption { font-size: 17px; line-height: 1.5; margin-top: 8px; font-weight: 700; color: var(--navy); }
.certimgs.seven figcaption small { font-weight: 400; color: #5F6577; font-size: 15px; }
.certs.people li { display: block; }
.certs.people li b { display: block; font-size: 20px; }
.certs.people li span { display: block; font-size: 17px; color: #333; }
@media (max-width: 640px) { .certimgs.seven { grid-template-columns: 1fr; } }
.owner p.small a, .staffR p.small a { text-decoration: underline; color: var(--navy); }
.why3 p.small a { text-decoration: underline; color: #fff; }

/* ---- Googleクチコミ（2026-09-06 追加。母数の確保＝R3） ---- */
.gsum { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 26px; }
.gsum > div { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px 24px; display: flex; align-items: center; gap: 20px; }
.gsum .gs-n { font-family: var(--serif); font-size: 42px; font-weight: 700; color: var(--navy); line-height: 1.1; }
.gsum .gs-s { font-size: 20px; color: #F4B400; letter-spacing: -1px; line-height: 1; }
.gsum .gs-r b { display: block; font-size: 20px; color: var(--navy); }
.gsum .gs-r span { font-size: 17px; color: var(--gray); }
.grevs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.grev { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 22px 24px; }
.grev .gh { display: flex; align-items: center; gap: 13px; }
.grev .ini { width: 46px; height: 46px; border-radius: 50%; background: var(--goldpale); border: 1px solid var(--line); color: var(--navy); font-weight: 800; font-size: 20px; display: flex; align-items: center; justify-content: center; flex: none; }
.grev .gm b { display: block; font-size: 18px; color: var(--navy); }
.grev .gm span { font-size: 16px; color: var(--gray); }
.grev .gstar { font-size: 20px; color: #F4B400; letter-spacing: -1px; margin-top: 12px; line-height: 1; }
.grev > p:last-child { font-size: 18px; margin-top: 8px; }
.gmore { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 24px; }
.gmore a { background: #fff; border: 2px solid var(--navy); color: var(--navy); font-weight: 800; padding: 13px 24px; border-radius: 8px; font-size: 17px; }
.gnote { font-size: 16px; color: var(--gray); margin-top: 18px; text-align: center; }
@media (max-width: 1000px) {
  .gsum, .grevs { grid-template-columns: 1fr; }
  .gsum .gs-n { font-size: 36px; }
}
/* 店舗ページの抜粋（1店だけ表示するとき） */
.gsum.one, .grevs.one { grid-template-columns: 1fr; max-width: 720px; margin-left: auto; margin-right: auto; }
.grevs.one { gap: 18px; }
.gsubh { text-align: center; font-size: 21px; color: var(--navy); margin-top: 40px; padding-top: 30px; border-top: 1px solid var(--line); max-width: 720px; margin-left: auto; margin-right: auto; }
.gsubh + .gsum.one { margin-top: 18px; }
/* 🔴 店ごとに区切る（9/6 ken指摘：PCの2列で店の対応が縦に崩れる） */
.gshop { margin-top: 26px; }
.gshop + .gshop { margin-top: 40px; padding-top: 34px; border-top: 1px solid var(--line); }
.gshop .gsum.one { max-width: none; margin: 0; }
.gshop .grevs { margin-top: 16px; }
.gshop .gmore { margin-top: 20px; }
/* 🔴 店ごとの2列（9/6 ken）＝左が古川椿店・右が上一万駅前店で固定。件数もそろえる */
.twoshop { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 26px; align-items: start; }
.shopcol > * + * { margin-top: 18px; }
.shopcol .scol-h { font-size: 22px; color: var(--navy); text-align: center; background: var(--goldpale); border: 1px solid var(--line); border-radius: 10px; padding: 12px 16px; }
.shopcol .gsum.one { max-width: none; margin: 0; }
.shopcol .gmore { justify-content: center; }
@media (max-width: 1000px) { .twoshop { grid-template-columns: 1fr; gap: 42px; } }

/* ── 9/6 論点9：紹介動画（15秒）の枠＝店長写真の場所 ── */
.vfig .vwrap { position: relative; display: block; }
/* 再生マークは左下（中央だと店長の顔に重なる・9/6） */
.vfig .vplay { position: absolute; left: 18px; bottom: 18px; width: 62px; height: 62px; border-radius: 50%; background: rgba(31,44,99,.86); box-shadow: 0 2px 10px rgba(0,0,0,.25); }
.vfig .vplay::after { content: ""; position: absolute; left: 24px; top: 18px; border-left: 19px solid #fff; border-top: 13px solid transparent; border-bottom: 13px solid transparent; }
.vfig video { width: 100%; height: auto; display: block; border-radius: 10px; }

/* ── 9/6 論点13：よりそい隊の段（八束様のカード＋自前の線画） ── */
.yorisoi { display: grid; grid-template-columns: 1fr 290px; gap: 26px; align-items: start; margin-top: 18px; }
.ys-row { display: flex; gap: 16px; align-items: flex-start; }
.ys-row + .ys-row { margin-top: 24px; }
.ys-ico { flex: none; width: 64px; }
.ys-row b { display: block; font-size: 19px; color: var(--navy); margin-bottom: 6px; }
.ys-row ul { margin-top: 4px; }
.ys-card { background: var(--soft); border: 1px solid var(--line); border-radius: 12px; padding: 22px 20px; text-align: center; }
.ys-card img { width: 150px; height: 150px; border-radius: 50%; margin: 0 auto; }
.ys-co { font-size: 17px; color: var(--gray); margin-top: 14px; line-height: 1.5; }
.ys-nm { font-size: 21px; font-weight: 800; color: var(--navy); margin-top: 4px; }
.ys-note { font-size: 16px; margin-top: 12px; text-align: left; }
@media (max-width: 1000px) { .yorisoi { grid-template-columns: 1fr; } .ys-card { max-width: 340px; margin: 0 auto; } .ys-ico { width: 52px; } }

/* ── 9/6 ken：お客様の声は「店ごとの塊」＋上のボタンで飛べる ── */
/* 店舗ボタンは1列になる幅（スマホ・タブレット）だけ出す。
   PCは左右に並んで両方見えているので押す理由がない（9/6 ken） */
.shopnav { display: none; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 24px; }
.shopnav a { background: #fff; border: 2px solid var(--navy); color: var(--navy); font-weight: 800; font-size: 19px; padding: 14px 30px; border-radius: 999px; }
.shopnav a:hover { background: var(--navy); color: #fff; }
.scol-part + .scol-part { margin-top: 22px; }
.scol-part > h4 { font-size: 20px; color: var(--navy); padding-left: 12px; border-left: 4px solid var(--gold); margin-bottom: 12px; }
.scol-note { font-size: 16px; color: var(--gray); margin-bottom: 14px; }
.scol-part.g { background: var(--soft); border: 1px solid var(--line); border-radius: 12px; padding: 22px 20px; }
.scol-part.g > h4 { border-left-color: var(--navy); }
.scol-part .voice + .voice, .scol-part .grev + .grev { margin-top: 16px; }
.scol-part .gsum.one { margin: 0 0 16px; }
@media (max-width: 1000px) { .shopnav { display: flex; } }
/* 9/6 ken：店舗カードは写真からも店舗ページへ飛ぶ（文字だけだと押しにくい） */
.shopimglink { display: block; position: relative; }
.shopimglink::after { content: ""; position: absolute; inset: 0; background: rgba(31,44,99,0); transition: background .15s; }
.shopimglink:hover::after { background: rgba(31,44,99,.12); }

/* ============================ お客様の声（取材5本・2026-09-15） ============================
   ⚠️ 実在のお客様。見本の人物写真は当てない（別人の写真に見えるため）。
   文字は本文18px以上。Q&Aは2段＝「お客様に伺いました」（ご本人）と「担当スタッフからのコメント」（お店）。 */
.koelist { list-style: none; margin: 26px auto 0; max-width: 980px; display: grid; gap: 12px; }
.koelist li a { display: block; background: #fff; border: 2px solid var(--line); border-left: 8px solid var(--gold); border-radius: 8px; padding: 14px 18px; }
.koelist li a:hover { border-color: var(--navy); }
.koelist b { display: block; font-size: 16px; color: var(--gray); font-weight: 800; }
.koelist span { display: block; font-size: 19px; color: var(--navy); font-weight: 700; line-height: 1.6; margin-top: 2px; }
.koewrap { max-width: 900px; padding: 0 16px; }
.koe { border-top: 4px solid var(--navy); padding-top: 28px; margin-top: 40px; }
.koe:first-child { margin-top: 0; }
.koe h2 { text-align: left; font-size: 28px; line-height: 1.5; }
.koe h2::after { margin: 12px 0 0; }
.koe-attr { font-size: 16px; color: var(--gray); font-weight: 700; margin-top: 10px; }
.koe-sum { background: var(--goldpale); border: 1px solid var(--line); border-radius: 8px; padding: 16px 18px; margin-top: 16px; font-size: 18px; }
.koe-body h3 { font-size: 21px; color: var(--navy); margin-top: 26px; text-align: left; }
.koe-body p { font-size: 18px; margin-top: 12px; }
.koe-qa { margin-top: 28px; background: #fff; border: 2px solid var(--navy); border-radius: 10px; padding: 20px 22px; }
.koe-qa h3 { font-size: 20px; color: var(--navy); text-align: left; }
.koe-qa dt { font-size: 18px; font-weight: 800; color: var(--navy); margin-top: 16px; }
.koe-qa dt::before { content: "Q　"; color: var(--gold); }
.koe-qa dd { font-size: 18px; margin-top: 6px; }
.koe-qa dd::before { content: "A　"; color: var(--gold); font-weight: 800; }
.koe-staff { margin-top: 18px; background: var(--soft); border: 1px solid var(--line); border-radius: 10px; padding: 18px 20px; }
.koe-staff h3 { font-size: 20px; color: var(--navy); text-align: left; }
.koe-staffnote { font-size: 16px; color: var(--gray); margin-top: 4px; }
.koe-staff .faq { margin-top: 14px; max-width: none; }
.vmore { margin-top: 14px; font-size: 17px; font-weight: 700; }
.vmore a { color: var(--navy); text-decoration: underline; }
@media (max-width: 900px) {
  .koe h2 { font-size: 23px; }
  .koe-body h3 { font-size: 19px; }
  .koelist span { font-size: 18px; }
}
.koeexs { display: grid; gap: 18px; max-width: 900px; margin: 26px auto 0; }
.koeex { background: #fff; border: 2px solid var(--line); border-left: 8px solid var(--gold); border-radius: 10px; padding: 20px 24px; }
.koeex p { font-size: 18px; margin-top: 8px; }
.koeex p:first-child { margin-top: 0; }
.koeex cite { display: block; font-style: normal; font-size: 16px; color: var(--gray); font-weight: 700; margin-top: 12px; }

/* ============================================================
   サンプルスタイル版（2026-09-15）
   9/11 のトップページ・サンプルの見た目を全ページに当てる上書き。
   紺＝暖簾の紺 #10306F（9/15 立石社長のご指示）。商品写真＝L判の縦（9/9 立石社長のご指示）。
   ============================================================ */
:root { --navy: #10306F; --deep: #0B2352; --sky: #EAF0FA; --skyline: #C7D5EE; }
.util { background: var(--deep); color: #E7ECF8; border-bottom: 0; }
nav.gnav { background: var(--deep); border-bottom: 3px solid var(--gold); }
.gnav .ni { color: #fff; border-color: rgba(255,255,255,.22) !important; }
.gnav .ni:hover { background: rgba(255,255,255,.1); color: #F1DFAE; }

/* 見出しは左寄せ・明朝（サンプルと同じ） */
main h2 { text-align: left; font-size: 30px; letter-spacing: .02em; }
main h2::after { display: none; }
main h2 + .sub { text-align: left; color: var(--gray); margin-top: 6px; }
main section { padding: 52px 16px; }
main section.sky { background: var(--sky); }
main section.gp { background: var(--goldpale); }
.more { text-align: left; }

/* カード（買取実績）＝L判（9/15 2回目で横に変更。比率は末尾の「9/15 2回目の変更」で指定） */
.cards { grid-template-columns: repeat(3, 1fr); gap: 20px; }
.card { border: 1px solid var(--line); border-radius: 8px; }
.card img { height: auto; aspect-ratio: 89 / 127; }
/* 品目＝L判・上段は3つ（9/9。9/15 2回目で横に変更） */
.items12 { grid-template-columns: repeat(3, 1fr); gap: 20px; }
.items12 a { border: 1px solid var(--line); border-radius: 8px; }
.items12 a img { height: auto; aspect-ratio: 89 / 127; }

/* 下層ページの見出し帯＝明るいトーン（サンプルのヒーローと同じ） */
.pagehead { background: linear-gradient(180deg, #FFFDF7 0%, var(--goldpale) 100%) !important; color: var(--ink); border-bottom: 4px solid var(--gold); }
.pagehead::before { display: none; }
.pagehead h1 { color: var(--navy); text-shadow: none; }
.pagehead .intro { color: var(--ink); text-shadow: none; font-weight: 500; }
.pagehead .pkicker { background: var(--navy); }

/* 写真の帯・お問い合わせ帯の膜を暖簾の紺に */
.pband::before { background: rgba(11,35,82,.78); }
.ctaband { background: var(--goldpale) !important; color: var(--ink); border-top: 4px solid var(--gold); }
.ctaband::before { display: none; }
.ctaband .ct { color: var(--navy); text-shadow: none; }
.ctaband .cta-tel { background: var(--navy); color: #fff; }
.ctaband .cta-tel span { color: #fff; }
.ctaband .cta-tel:hover { background: var(--deep); }

/* 店舗カード＝枠線 */
.shopbox { box-shadow: none; border: 1px solid var(--line); border-radius: 8px; }
.shopbox h3 { font-family: var(--serif); color: var(--navy); }
.park { margin-top: 14px; background: var(--sky); border: 1px solid var(--skyline); border-radius: 6px; padding: 12px 14px; font-size: 17px; }
.park b { color: #A03A2A; }

/* フッター＝濃い紺 */
footer { background: var(--deep); color: #E1E7F4; border-top: 4px solid var(--gold); }
footer .ft { color: #fff; }
footer .kobutsu { color: #C9D3EA; }
footer a { color: #fff; }

/* ---------------- トップページ（サンプルの並び） ---------------- */
.s-hero { background: linear-gradient(180deg, #FFFDF7 0%, var(--goldpale) 100%); border-bottom: 4px solid var(--gold); }
.s-hero .wrap { display: grid; grid-template-columns: 1.2fr .8fr; gap: 36px; align-items: center; padding: 40px 16px 30px; }
.s-hero .kicker { font-size: 17px; margin-bottom: 14px; }
.s-hero .catch { font-family: var(--serif); font-size: 40px; line-height: 1.45; color: var(--ink); letter-spacing: .01em; }
.s-hero .catch em { font-style: normal; background: linear-gradient(transparent 62%, #F5DFA6 62%); }
.s-hero .sub1 { font-size: 20px; font-weight: 700; margin-top: 14px; }
.s-maru { display: flex; gap: 14px; flex-wrap: wrap; margin: 20px 0 16px; }
.s-maru > div { width: 150px; height: 150px; border-radius: 50%; background: #fff; border: 3px solid var(--gold); box-shadow: 0 2px 0 rgba(184,147,59,.25); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; line-height: 1.3; }
.s-maru small { font-size: 16px; font-weight: 700; color: var(--gray); }
.s-maru b { font-family: var(--serif); font-size: 34px; color: var(--navy); line-height: 1.2; }
.s-maru b i { font-style: normal; font-size: 18px; }
.s-maru span { font-size: 16px; color: var(--gray); }
.s-hero .sub2 { font-size: 19px; font-weight: 700; color: var(--navy); border-left: 5px solid var(--gold); padding-left: 12px; }
.s-hero .heroimg img { width: 100%; aspect-ratio: 89 / 127; object-fit: cover; border-radius: 8px; border: 4px solid #fff; box-shadow: 0 3px 14px rgba(0,0,0,.15); }
.s-hero .heroimg p { font-size: 16px; color: var(--gray); text-align: center; margin-top: 6px; }
.s-ctarow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.s-cta { display: block; text-align: center; border-radius: 8px; padding: 14px 8px; font-weight: 700; font-size: 17px; line-height: 1.35; border: 2px solid transparent; }
.s-cta b { display: block; font-size: 23px; letter-spacing: .02em; }
.s-cta small { display: block; font-weight: 500; font-size: 16px; }
.s-cta.tel { background: var(--navy); color: #fff; }
.s-cta.line { background: var(--lineblue); color: #fff; }
.s-cta.visit { background: #fff; color: var(--navy); border-color: var(--navy); }
.s-mail { font-size: 17px; text-align: center; margin-top: 10px; padding-bottom: 30px; }
.s-mail a { text-decoration: underline; }
.s-fix2 .wrap { display: grid; grid-template-columns: 1.5fr 1fr; gap: 36px; align-items: center; padding: 40px 16px; }
.s-fix2 .gridB { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 18px; }
.s-fix2 .gridB img { width: 100%; aspect-ratio: 89 / 127; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); }
.s-fix2 .gridB figcaption { font-size: 16px; font-weight: 700; text-align: center; margin-top: 4px; line-height: 1.4; }
.s-video { background: var(--soft); border-radius: 12px; padding: 20px; text-align: center; }
.s-video .vbox { position: relative; max-width: 260px; margin: 0 auto; }
.s-video .vbox img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; object-position: 50% 25%; border-radius: 10px; border: 4px solid #fff; box-shadow: 0 3px 14px rgba(0,0,0,.16); }
.s-video .play { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 72px; height: 72px; border-radius: 50%; background: rgba(0,0,0,.55); }
.s-video .play::after { content: ""; position: absolute; left: 28px; top: 21px; border-left: 24px solid #fff; border-top: 15px solid transparent; border-bottom: 15px solid transparent; }
.s-video .nm { font-size: 20px; font-weight: 800; color: var(--navy); margin-top: 10px; line-height: 1.4; }
.s-video .nm small { display: block; font-size: 16px; color: var(--gray); }
.s-video .vnote { font-size: 16px; color: var(--gray); margin-top: 4px; }
.s-nums { background: var(--navy); color: #fff; }
.s-nums .wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 24px 16px; text-align: center; }
.s-nums b { display: block; font-family: var(--serif); font-size: 36px; line-height: 1.2; color: #F1DFAE; }
.s-nums span { font-size: 17px; color: #DCE3F3; }
.s-nums p.gn { grid-column: 1 / -1; font-size: 16px; color: #DCE3F3; margin-top: -6px; }
.s-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 24px; }
.s-pillar { background: #fff; border-top: 5px solid var(--gold); padding: 20px; border-radius: 0 0 8px 8px; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.s-pillar h3 { font-family: var(--serif); font-size: 22px; line-height: 1.5; color: var(--navy); margin-bottom: 10px; }
.s-pillar p { font-size: 18px; }
.s-pillar p.small { font-size: 16px; margin-top: 8px; }
.s-pillar a { text-decoration: underline; }
.s-waiting { margin-top: 24px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 18px 22px; }
.s-waiting h3 { font-size: 20px; margin-bottom: 8px; }
.s-waiting ul { padding-left: 1.2em; font-size: 18px; }
.s-voices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 24px; }
.s-voice { background: #fff; border: 1px solid var(--line); border-left: 6px solid var(--navy); border-radius: 0 8px 8px 0; padding: 18px 20px; display: block; }
.s-voice q { display: block; font-family: var(--serif); font-size: 21px; line-height: 1.65; color: var(--navy); margin-bottom: 10px; }
.s-voice .who { font-size: 16px; color: var(--gray); }
.s-voice .go { display: block; font-size: 17px; font-weight: 700; margin-top: 8px; color: var(--navy); text-decoration: underline; }
.s-gsum { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 18px; font-size: 18px; font-weight: 700; }
.s-gsum span { background: #fff; border: 1px solid var(--skyline); border-radius: 6px; padding: 8px 14px; }
.s-gsum b { color: #B8860B; font-size: 22px; }
.s-links { margin-top: 18px; font-size: 18px; }
.s-links a { text-decoration: underline; font-weight: 700; color: var(--navy); }
.s-event-head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.s-now { background: #C0392B; color: #fff; font-size: 16px; font-weight: 700; padding: 4px 12px; border-radius: 4px; }
.s-event { display: grid; grid-template-columns: 1.2fr .8fr; gap: 26px; align-items: start; margin-top: 18px; }
.s-event h3 { font-family: var(--serif); font-size: 23px; color: var(--navy); margin-bottom: 6px; }
.s-event ul { font-size: 18px; padding-left: 1.2em; margin: 6px 0 12px; }
.s-flyer { aspect-ratio: 1 / 1.414; max-width: 320px; background: repeating-linear-gradient(45deg,#EFEADF,#EFEADF 12px,#E7E1D3 12px,#E7E1D3 24px); border: 1px dashed #B9AE93; color: #5E5745; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 17px; font-weight: 700; padding: 10px; line-height: 1.6; }
.s-backnum { margin-top: 20px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 10px 20px; }
.s-backnum h3 { font-size: 19px; margin: 6px 0 2px; }
.s-backnum li { list-style: none; padding: 9px 0; border-bottom: 1px dotted var(--line); font-size: 18px; }
.s-backnum li:last-child { border-bottom: 0; }
.s-backnum time { color: var(--gray); margin-right: 12px; }
.s-mihon { font-size: 16px; color: #8A3B2E; font-weight: 700; margin-top: 8px; }
.s-shops { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 24px; }
.s-shop { background: #fff; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.s-shop img { width: 100%; height: 220px; object-fit: cover; }
.s-shop .body { padding: 18px 20px; }
.s-shop h3 { font-family: var(--serif); font-size: 24px; color: var(--navy); }
.s-shop .area { font-size: 17px; font-weight: 700; color: #8C6A1F; margin: 2px 0 8px; }
.s-shop p { font-size: 18px; }
.s-shop .tel { color: var(--navy); font-size: 26px; font-weight: 800; margin-top: 6px; display: inline-block; }
.s-shop .go { display: block; font-size: 17px; margin-top: 8px; text-decoration: underline; color: var(--navy); font-weight: 700; }
.s-close { text-align: center; }
.s-close h2 { text-align: center; }
.s-close h2 + .sub { text-align: center; }
.s-close .s-ctarow { max-width: 900px; margin: 22px auto 0; }

@media (max-width: 1000px) {
  nav.gnav { background: #fff; }
  .gnav .ni { color: var(--navy); border-color: var(--line) !important; }
  .s-hero .wrap, .s-fix2 .wrap, .s-event { grid-template-columns: 1fr; }
  .s-hero .heroimg { max-width: 320px; margin: 0 auto; }
  .s-ctarow { grid-template-columns: 1fr 1fr; }
  .s-pillars, .s-voices { grid-template-columns: 1fr; }
  .s-nums .wrap { grid-template-columns: 1fr; gap: 10px; }
  .fixbar { background: var(--navy); padding: 8px; gap: 8px; }
  .fixbar a { border-radius: 6px; }
  .ftel { background: #fff; color: var(--navy) !important; }
}
@media (max-width: 640px) {
  main h2 { font-size: 25px; }
  .s-hero .catch { font-size: 29px; }
  .s-hero .sub1 { font-size: 19px; }
  .s-maru { gap: 8px; justify-content: space-between; }
  .s-maru > div { width: 31%; height: auto; aspect-ratio: 1 / 1; min-width: 0; }
  .s-maru small, .s-maru span { font-size: 15px; line-height: 1.2; }   /* 9/15 ken：数字以外を少しだけ小さく */
  .s-maru b { font-size: 24px; }
  .s-maru b i { font-size: 16px; }
  .s-cta b { font-size: 20px; }
  .s-fix2 .gridB { grid-template-columns: repeat(2, 1fr); }
  .s-shops { grid-template-columns: 1fr; }
  .cards { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .items12 { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .items12 a { font-size: 16px; }
  .items12 a img { height: auto; }
  .items12 a b { padding: 8px 2px; }
}
.s-check { list-style: none; margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 22px; }
.s-check li { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 12px 16px 12px 44px; position: relative; font-size: 18px; }
.s-check li::before { content: "✓"; position: absolute; left: 14px; top: 10px; color: var(--gold); font-weight: 800; font-size: 20px; }
.s-steps { list-style: none; counter-reset: st; margin-top: 20px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.s-steps li { counter-increment: st; background: #fff; border: 1px solid var(--line); border-top: 5px solid var(--navy); border-radius: 0 0 8px 8px; padding: 16px; font-size: 18px; }
.s-steps li::before { content: counter(st); display: inline-block; width: 34px; height: 34px; border-radius: 50%; background: var(--gold); color: #fff; font-weight: 800; text-align: center; line-height: 34px; margin-bottom: 6px; }
.s-steps li b { display: block; font-size: 20px; color: var(--navy); margin-bottom: 4px; }
@media (max-width: 1000px) { .s-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .s-check, .s-steps { grid-template-columns: 1fr; } .s-voices[style] { grid-template-columns: 1fr !important; } }
.card .cb .m { font-size: 16px; }
.items12, .cards { max-width: none; }   /* 9/15 横の写真にしたので、幅いっぱいに3つ並べる */
@media (max-width: 1000px) { .items12, .cards { max-width: none; } .s-hero .heroimg { max-width: 220px; } }

/* 9/15b 生前整理ページ：当社スタッフ八束 */
.s-yatsuka{display:flex;gap:18px;align-items:center;max-width:900px;margin:26px auto 0;background:#fff;border:2px solid #d9dfeb;border-radius:10px;padding:16px 20px}
.s-yatsuka img{width:120px;height:120px;border-radius:50%;flex:none;object-fit:cover}
.s-yatsuka p{font-size:18px;line-height:1.8;color:#1a1a1a;margin:0}
@media (max-width:600px){.s-yatsuka{flex-direction:column;text-align:left}}

/* ============================================================
   9/15 2回目の変更（ken決定）
   ============================================================ */
/* 写真はL判の横（127:89）にそろえる。品物の写真は、切れないよう作り直した画像（同じ比率）を入れている
   例外＝店舗の写真（.shopbox .photos2 .s-shop .phR.store）・店長の動画（.s-video）・人物（.staff .who .s-yatsuka）・認定証 */
.card img, .items12 a img, .gridB img, .s-fix2 .gridB img, .dmg img, .entries img, .cols img,
.art .thumbs img, .rel img, .ucard.img img, .s-hero .heroimg img, .pagehead .phR img {
  height: auto; aspect-ratio: 127 / 89; object-fit: cover; object-position: 50% 50%;
}
.pagehead .phR.store img { height: 300px; aspect-ratio: auto; object-position: 50% 30%; }

/* ヘッダー：左からロゴ→2店舗の電話、右端にLINE（9/7 立石社長） */
.head .wrap { display: flex; align-items: center; gap: 10px; }
.head img.logo { margin: 0; }
/* 9/15 ken：電話番号はロゴとLINEの真ん中あたりに（左右の余白を同じにする） */
.headT { display: flex; gap: 30px; margin: 0 auto; }
.headR { margin-left: 0; }
@media (max-width: 1000px) { .headT { display: none; } .headR { margin-left: auto; } }

/* 大切にしていること：写真の枠と番号 */
.s-pphoto { aspect-ratio: 127 / 89; width: 100%; margin-bottom: 14px; border-radius: 8px;
  background: repeating-linear-gradient(45deg,#EFEADF,#EFEADF 12px,#E7E1D3 12px,#E7E1D3 24px);
  border: 1px dashed #B9AE93; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 10px 16px; }
.s-pphoto b { color: #4A4436; font-size: 17px; }
.s-pphoto span { color: #4A4436; font-size: 16px; margin-top: 6px; line-height: 1.5; }
.s-pnum { font-family: var(--serif); color: var(--gold); font-size: 30px; font-weight: 700; line-height: 1; margin: 0 0 8px; }
.s-linknote { display: inline-block; font-size: 16px; color: #3C4255; margin-top: 6px; }

/* トップのイベント：文字2列＋ボタン */
.s-event2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 18px; }
.s-event2 > div { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 18px 22px; }
.s-event2 h3 { font-size: 19px; color: var(--navy); margin-bottom: 8px; }
.s-event2 p, .s-event2 li { font-size: 18px; line-height: 1.8; }
.s-event2 ul { list-style: none; padding: 0; margin: 0; }
.s-evbtn { text-align: center; margin-top: 24px; }
.s-evbtn a { display: inline-block; background: var(--navy); color: #fff; font-weight: 800; font-size: 19px; padding: 16px 34px; border-radius: 10px; box-shadow: 0 3px 10px rgba(0,0,0,.18); }
.s-evbtn a::after { content: " ›"; color: var(--gold); }
.s-evbtn a:hover { opacity: .92; }

/* イベントのページ */
.s-evnow { display: grid; grid-template-columns: 1fr 340px; gap: 30px; align-items: start; margin-top: 16px; }
.s-evnow h3 { font-size: 21px; color: var(--navy); margin-bottom: 10px; }
.s-evregular { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 16px; }
.s-evregular h3 { font-size: 20px; color: var(--navy); margin-bottom: 4px; }
.s-evregular p { font-size: 18px; }
@media (max-width: 760px) {
  .s-event2, .s-evnow, .s-evregular { grid-template-columns: 1fr; }
  .s-evnow .s-flyer { margin: 0 auto; }
  .s-evbtn a { display: block; font-size: 18px; padding: 16px 14px; }
}
/* 見出し帯が明るくなったので、件数の注記を濃い色に（白のままだと読めなかった） */
.pagehead .countnote { color: #3C4255; }

/* 9/15 動画は横（16:9）で撮る（ken決定）。トップ＝写真2×2＋右に横の動画／売りたい方へ＝横の枠 */
@media (min-width: 1001px) { .s-fix2 .wrap { grid-template-columns: 1fr 1fr; gap: 32px; } }
.s-fix2 .gridB { grid-template-columns: repeat(2, 1fr); gap: 12px; }
.s-video .vbox { max-width: none; }
.s-video .vbox img { aspect-ratio: 16 / 9; object-position: 50% 22%; }
.s-video .play { left: 22px; top: auto; bottom: 18px; transform: none; width: 60px; height: 60px; }
.s-video .play::after { left: 23px; top: 16px; }
.vfig .vwrap img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 22%; }
@media (max-width: 1000px) { .s-video { padding: 14px; } }

/* 9/15 ken：店長の動画をファーストビューへ／「壊れていても」は写真4枚を横1行に */
.s-hero .s-herovid { background: transparent; padding: 0; }
.s-hero .s-herovid .vnote { margin-top: 2px; }
.s-fix2 .wrap { grid-template-columns: 1fr; }
@media (min-width: 1001px) { .s-fix2 .wrap { grid-template-columns: 1fr; } }
.s-fix2 .gridB { grid-template-columns: repeat(4, 1fr); gap: 14px; max-width: none; }
@media (max-width: 1000px) { .s-hero .s-herovid { max-width: 560px; width: 100%; margin: 0 auto; } }
@media (max-width: 640px) { .s-fix2 .gridB { grid-template-columns: repeat(2, 1fr); gap: 10px; } }

/* ── 本編動画（67秒）＝売りたい方へ  2026-09-20 ── */
.mvfig { position: relative; margin: 26px auto 0; max-width: 1000px; }
.mvfig video { width: 100%; height: auto; display: block; border-radius: 10px; background: #10306F; }
.mvsound { position: absolute; right: 16px; bottom: 16px; z-index: 2;
  font-family: inherit; font-size: 20px; font-weight: 700; line-height: 1;
  color: #fff; background: rgba(16,48,111,.92); border: 2px solid #fff;
  border-radius: 999px; padding: 14px 22px; cursor: pointer;
  box-shadow: 0 2px 10px rgba(0,0,0,.3); }
.mvsound:hover, .mvsound:focus { background: #10306F; }
.mvkoe { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 14px; }
.mvkoe li { background: #fff; border: 2px solid var(--line); border-left: 8px solid var(--gold);
  border-radius: 10px; padding: 16px 20px; font-size: 18px; }
.mvkoe li a { display: inline-block; margin-left: 8px; font-weight: 700; white-space: nowrap; }
@media (max-width: 600px) {
  /* スマホは字幕に重なるので、ボタンは動画の下に出す */
  .mvsound { position: static; display: block; width: 100%; margin: 12px 0 0;
             font-size: 19px; padding: 16px 18px; border-radius: 10px; }
  .mvkoe li { font-size: 17px; }
  .mvkoe li a { display: block; margin: 8px 0 0; }
}

/* ── トップのファーストビューの動画（29秒）  2026-09-23 ── */
.mvtop { margin: 0; max-width: none; }
.mvtop video { border: 4px solid #fff; box-shadow: 0 3px 14px rgba(0,0,0,.16); }
.mvtop .mvsound { position: static; display: block; width: 100%; margin: 12px 0 0; border-radius: 10px; font-size: 19px; padding: 14px 18px; }

/* 大切にしていること：写真が入った枠（2026-09-23） */
.s-pphoto.has-img { padding: 0; background: none; border: 0; overflow: hidden; }
.s-pphoto.has-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 査定をお待ちいただくあいだ：写真つき（2026-09-23）。PCは左に写真、スマホは写真が上 */
.s-waiting.has-img { display: grid; grid-template-columns: minmax(0, 420px) 1fr; gap: 26px; align-items: center; padding: 18px; }
.s-waiting .s-wimg { width: 100%; height: auto; aspect-ratio: 127 / 89; object-fit: cover; border-radius: 8px; display: block; }
@media (max-width: 760px) { .s-waiting.has-img { grid-template-columns: 1fr; gap: 14px; } }

/* トップの店舗のご案内：両店とも同じ大きさ（16:9）で外観を出す（2026-09-23） */
.s-shop img { height: auto; aspect-ratio: 16 / 9; object-fit: cover; }

/* 9/23 ken：スマホでも「たいした金額にならない」を1行に。かぎかっこを半角幅に詰め、幅に合わせて文字を縮める */
@media (max-width: 640px) {
  .s-hero .catch em { white-space: nowrap; font-feature-settings: "halt"; font-size: min(1em, calc((100vw - 44px) / 12.2)); letter-spacing: 0; }
  .s-hero .catch em .nb { display: inline; }
}

/* 9/23 ken：店舗ページ「お店の様子」の外観・店内も、品物の写真と同じL判の横（127:89）にそろえる */
.photos2 img { height: auto; aspect-ratio: 127 / 89; object-fit: cover; }
@media (max-width: 760px) { .photos2 img { height: auto; } }

/* 0.6.15（9/23 ken）：売りたい方へ＝入り口は文字のボタン／動画の書き起こしはたたむ／出張の車の写真 */
.entrybtns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
.entrybtns a { display: block; background: #fff; border: 2px solid var(--navy); border-radius: 12px; padding: 18px 20px; color: var(--navy); }
.entrybtns a:hover { background: #F3F5FA; }
.entrybtns b { display: block; font-size: 20px; line-height: 1.5; }
.entrybtns span { display: block; font-size: 17px; color: var(--ink); margin-top: 6px; line-height: 1.6; }
.mvtext { margin-top: 22px; border: 2px solid var(--navy); border-radius: 10px; background: #fff; }
.mvtext summary { cursor: pointer; font-size: 19px; font-weight: 800; color: var(--navy); padding: 16px 22px; list-style: none; position: relative; }
.mvtext summary::-webkit-details-marker { display: none; }
.mvtext summary::after { content: "＋ 開く"; position: absolute; right: 18px; top: 16px; font-size: 17px; }
.mvtext[open] summary::after { content: "− 閉じる"; }
.mvtext > div { padding: 0 22px 20px; }
section.navy .carfig figcaption { color: #fff; }
@media (max-width: 760px) {
  .entrybtns { grid-template-columns: 1fr; }
  .mvtext summary { padding-right: 22px; padding-bottom: 44px; }
  .mvtext summary::after { top: auto; bottom: 12px; left: 22px; right: auto; }
}

/* 0.7.0（9/24 ken）：商品の写真は切らずに枠へ収める（枠の比率はそのまま・余白は白） */
.card img, .items12 a img, .dmg img, .ucard.img img, .rel img, .art .thumbs img, .gridB img, .s-fix2 .gridB img { object-fit: contain; background: #fff; }
/* 0.7.0：資格と認定証の更新の一文 */
.certnote { font-size: 18px; font-weight: 700; color: #10306F; margin: 4px 0 14px; }

/* 0.7.2（9/24）：イベントのページ＝チラシ画像・これまでのイベント・いつものお楽しみ／店舗の駐車場の図 */
.s-flyerimg { width: 100%; max-width: 340px; height: auto; display: block; border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 3px 14px rgba(0,0,0,.12); }
.s-evhist { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 18px; }
.s-evhist figure { margin: 0; }
.s-evhist img { width: 100%; height: auto; aspect-ratio: 420 / 618; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 6px; display: block; }
.s-evhist figcaption { margin-top: 8px; font-size: 17px; line-height: 1.5; color: #1A1A1A; font-weight: 700; }
.s-evhist figcaption time { display: block; font-weight: 400; color: #333; }
.s-evtext > div { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 18px 20px; }
.photos2 .ph-map img { object-fit: contain; background: #fff; }
@media (max-width: 760px) { .s-evhist { grid-template-columns: repeat(2, 1fr); gap: 14px; } .s-evnow .s-flyerimg { margin: 0 auto; } }

/* 0.7.7（9/26）店舗ページ「お店の様子」の外観＝先方ご提供の写真（横長）を切らずに見せる */
.photos2 .ph-fit img { object-fit: contain; }
/* 0.7.9（9/26）いつものお楽しみ：紹介カード・スタンプカードの実物 */
.s-evcard { display: block; width: 100%; height: auto; margin-top: 12px; border: 1px solid var(--line); border-radius: 6px; }

/* 0.7.14（9/26）店舗の写真＝先方ご提供の写真（992×591）を切らずに全部見せる。ファイル名を store_*.jpg に変えてブラウザの古い写真を使わせない */
.shopbox .shopimg, .s-shop img, .pagehead .phR.store img { height: auto !important; aspect-ratio: 992 / 591 !important; object-fit: cover; object-position: 50% 50%; }
/* 0.7.15 店舗のご案内：住所などの下の駐車場写真（店の写真より小さめ） */
.shoppark { margin-top: 18px; }
.shoppark img { display: block; width: 100%; max-width: 440px; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }
.shoppark figcaption { font-size: 16px; color: var(--ink); margin-top: 6px; line-height: 1.6; }

/* 0.9.1（10/1 ken）トップのH1＝キャッチコピーの上の1行（検索の言葉）。キャッチコピーは p.catch で見た目は同じ */
.s-hero h1.kicker { font-family: inherit; font-size: 17px; line-height: 1.5; margin-bottom: 14px; }
.s-hero .catch { margin: 0; }

/* 2026-10-02 売りたい方へ：ご本人確認書類（免許証・マイナンバーカード）と注釈 */
.idcards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 18px; max-width: 560px; }
.idcards > div { background: #fff; border: 2px solid var(--line); border-radius: 10px; padding: 18px 12px 14px; text-align: center; }
.prose .idcards b { margin: 0; }
.idcards img { width: 100%; max-width: 240px; height: auto; display: block; margin: 0 auto 10px; border-radius: 6px; }
.idcards b { display: block; font-size: 20px; color: var(--navy); }
.prose .idnotes { list-style: none; margin: 22px 0 0; padding: 0; }
.prose .idnotes li { font-size: 17px; line-height: 1.8; color: var(--ink); padding-left: 1.3em; text-indent: -1.3em; margin: 0 0 8px; }
@media (max-width: 640px) { .idcards { gap: 10px; } .idcards > div { padding: 12px 6px 10px; } .idcards b { font-size: 16px; letter-spacing: -0.02em; } }
/* 2026-10-02 生前整理：流れの下のフォーム案内 */
.s-formnote { margin: 18px auto 0; max-width: 860px; font-size: 18px; }
.s-formnote a { text-decoration: underline; color: var(--navy); font-weight: 700; }
/* 2026-10-02 生前整理：「こんなとき」の横にチラシ（小さく・押すと大きく） */
.s-casegrid { display: grid; grid-template-columns: 1fr 300px; gap: 28px; align-items: start; }
.s-casegrid .s-check { margin-top: 20px; }
.s-flyerbox { margin: 20px 0 0; text-align: center; }
.s-flyerbox img { width: 100%; max-width: 300px; height: auto; border: 1px solid var(--line); box-shadow: 0 3px 12px rgba(0,0,0,.14); display: block; margin: 0 auto; }
.s-flyerbox figcaption { font-size: 16px; margin-top: 10px; line-height: 1.7; color: var(--ink); }
.s-flyerbox figcaption a { text-decoration: underline; color: var(--navy); font-weight: 700; font-size: 17px; }
@media (max-width: 1000px) { .s-casegrid { grid-template-columns: 1fr; } .s-flyerbox img { max-width: 240px; } }

/* 0.9.13（10/5 ken）件数のない品目は名前だけ＝同じ段のほかのボタンと高さをそろえて、名前を上下の真ん中に */
.shopchips a, .bandsec .shopband a { display: flex; flex-direction: column; justify-content: center; align-items: center; }

/* ============================================================
   0.9.18（10/7 ken）スマホ・タブレットの「おもなページ」3つ
   ヘッダーの下。0.9.20 でヘッダーと一緒に固定（.hdrfix の中）。文字17px・太字・紺、押せる高さ54px。縮めない
   ============================================================ */
.spnav { display: none; }
@media (max-width: 1000px) {
  .spnav { display: grid; grid-template-columns: repeat(3, 1fr); background: #fff; border-bottom: 3px solid var(--gold); }
  .spnav a {
    display: flex; align-items: center; justify-content: center; gap: 4px; min-height: 54px; padding: 8px 4px;
    font-size: 17px; font-weight: 800; color: var(--navy); line-height: 1.3; text-align: center;
    border-right: 1px solid var(--line); background: #fff; letter-spacing: -.01em;
  }
  .spnav a:last-child { border-right: 0; }
  .spnav a::after { content: "›"; font-size: 20px; color: var(--gold); margin-left: 2px; line-height: 1; }
  .spnav a.sp-home::before { content: "⌂"; font-size: 20px; line-height: 1; }
  .spnav a[aria-current="page"] { background: var(--navy); color: #fff; }
  .spnav a[aria-current="page"]::after { color: #fff; }
  .spnav a:active { background: var(--goldpale); }
}
@media (max-width: 360px) {
  .spnav a { font-size: 16px; padding: 8px 2px; }
  .spnav a::after { display: none; }
}

/* ============================================================
   0.9.21（10/7 ken・iPhone SE 実機）
   ① ログイン中だけ、スマホでヘッダーの上に46pxのすき間が出ていた。
      WordPress の管理バーは幅600px以下では固定されず一緒に流れるので、そこではヘッダーを上端（0）に付ける
   ② 下の「電話で相談（無料）」が2行になっていた（375px で文字の入る幅 159.5px に対し 18px×9文字＝162px）。
      左右の余白を8→4pxにし、1行に固定。狭い機種は文字を一段ずつ小さく（16px 未満にはしない）
   ============================================================ */
@media (max-width: 600px) {
  .admin-bar .hdrfix { top: 0; }
}
@media (max-width: 1000px) {
  .fixbar a { padding-left: 4px; padding-right: 4px; white-space: nowrap; }
}
@media (max-width: 370px) {
  .fixbar a { font-size: 17px; }
}
@media (max-width: 340px) {
  .fixbar a { font-size: 16px; letter-spacing: -.04em; }
}

/* ============================================================
   0.9.31（10/8 ken）お問い合わせページ＝店ごとに2列
   上から お電話（紺）・LINE（緑）・メール（青）。メールはフォームへ
   ============================================================ */
.ctlead { font-size: 20px; font-weight: 800; margin: 0 0 16px; }
.ctgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ctshop { border: 2px solid var(--line); border-radius: 12px; padding: 20px; background: #fff; display: flex; flex-direction: column; gap: 14px; }
.ctshop h2 { font-size: 24px; margin: 0 0 4px; text-align: center; color: var(--ink); }
.ctbtn { display: block; text-align: center; color: #fff; font-weight: 800; font-size: 21px; line-height: 1.3; padding: 15px 12px; border-radius: 10px; text-decoration: none; box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.ctbtn small { display: block; font-size: 16px; font-weight: 700; margin-top: 2px; }
.ctbtn.ct-tel { background: var(--navy); }
.ctbtn.ct-tel span { display: block; font-size: 16px; }
.ctbtn.ct-tel b { font-size: 30px; letter-spacing: .5px; }
.ctbtn.ct-line { background: var(--lineblue); }
.ctbtn.ct-mail { background: #1D5BB8; }
.ctbtn:hover { filter: brightness(.92); }
.cthours { margin: 16px 0 0; font-size: 18px; font-weight: 700; text-align: center; }
.ctformwrap { max-width: 760px; }
.ctform { background: #fff; border: 2px solid var(--line); border-radius: 12px; padding: 22px; margin-top: 12px; }
.ctprep { font-size: 18px; font-weight: 700; margin: 0; }
.ctform .wpcf7 p { margin: 0 0 18px; font-size: 18px; font-weight: 700; color: var(--ink); }
.ctform input[type="text"], .ctform input[type="email"], .ctform input[type="tel"], .ctform select, .ctform textarea {
  display: block; width: 100%; box-sizing: border-box; margin-top: 6px; font-size: 18px; font-weight: 400; color: #000;
  padding: 12px; border: 2px solid #8C90A0; border-radius: 8px; background: #fff; }
.ctform textarea { min-height: 170px; }
.ctform .ctreq { display: inline-block; background: #C8102E; color: #fff; font-size: 14px; padding: 1px 8px; border-radius: 4px; margin-left: 8px; vertical-align: 2px; }
.ctform input[type="submit"] { display: block; width: 100%; max-width: 420px; margin: 8px auto 0; background: #1D5BB8; color: #fff; font-size: 21px; font-weight: 800; padding: 16px; border: 0; border-radius: 10px; cursor: pointer; }
.ctform .wpcf7-not-valid-tip { font-size: 17px; color: #C8102E; font-weight: 700; }
.ctform .wpcf7-response-output { font-size: 18px; font-weight: 700; }
@media (max-width: 760px) {
  .ctgrid { grid-template-columns: 1fr; gap: 18px; }
  .ctform { padding: 16px; }
}
.ctform ::placeholder { color: #5A5F70; opacity: 1; }

/* 0.9.34（10/12 ken）カードの金額（ブランド品・腕時計・カメラ・家電。お買取りから3か月後に自動で出る） */
.card .cb .pr { font-size: 18px; font-weight: 700; color: #000; margin-top: 6px; line-height: 1.4; }
.card .cb .pr span { display: inline-block; font-size: 14px; font-weight: 700; color: #fff; background: var(--navy); border-radius: 4px; padding: 1px 7px; margin-right: 8px; vertical-align: 2px; }
@media (max-width: 480px) { .card .cb .pr { font-size: 16px; } .card .cb .pr span { display: block; width: fit-content; margin: 0 0 3px; } }

/* 0.9.34（10/12 ken）モデルの「最近の買取価格」の表（パソコン5件・スマホ3件、残りは「もっと見る」）と、幅で出す理由 */
.prbox { background: #fff; border: 3px solid var(--navy); border-radius: 12px; overflow: hidden; }
.prbox h2 { margin: 0; padding: 12px 20px; background: var(--navy); color: #fff; font-size: 24px; text-align: left; }
.prbox .prin { padding: 16px 18px 18px; }
.prcnt { font-size: 18px; margin-bottom: 10px; color: #000; } .prcnt b { font-size: 22px; }
.prtbl { width: 100%; border-collapse: collapse; font-size: 18px; color: #000; }
.prtbl th { background: #E9ECF5; text-align: left; padding: 10px; border: 1px solid #9AA3C2; font-size: 17px; }
.prtbl td { padding: 10px; border: 1px solid #9AA3C2; vertical-align: top; }
.prtbl td.p { font-weight: 700; font-size: 20px; white-space: nowrap; }
.prtbl td a { color: var(--navy); font-weight: 700; text-decoration: underline; }
.prtbl tr.m5 { display: none; } .prbox.open .prtbl tr.m5 { display: table-row; }
.prmore { display: block; width: 100%; margin-top: 14px; padding: 12px; font-size: 20px; font-weight: 700; color: #fff; background: var(--navy); border: none; border-radius: 10px; cursor: pointer; font-family: inherit; }
.prmore.sponly, .prmore .spn { display: none; }
.prwhy { margin-top: 16px; background: #FBF6EA; border: 2px solid #B8933B; border-radius: 10px; padding: 12px 16px; font-size: 17px; line-height: 1.7; color: #000; }
.prwhy .wh { font-weight: 700; color: var(--navy); font-size: 19px; margin-bottom: 4px; } .prwhy p + p { margin-top: 6px; }
@media (max-width: 600px) {
  .prbox h2 { font-size: 21px; }
  .prtbl, .prtbl tbody, .prtbl tr, .prtbl td { display: block; } .prtbl thead { display: none; }
  .prtbl tr { border: 2px solid #9AA3C2; border-radius: 10px; margin-bottom: 10px; padding: 8px 10px; }
  .prtbl td { border: none; padding: 3px 0; font-size: 17px; } .prtbl td.p { font-size: 20px; white-space: normal; }
  .prtbl td::before { content: attr(data-l); display: inline-block; min-width: 7.2em; font-size: 15px; font-weight: 700; color: var(--navy); }
  .prtbl tr.m3 { display: none; } .prbox.open .prtbl tr.m3 { display: block; }
  .prmore.sponly { display: block; } .prmore .pcn { display: none; } .prmore .spn { display: inline; }
}

/* ===== 0.10.4 お値段の決め方（売りたい方へ #nedan） ===== */
.nd-lead { font-size: 19px; }
.nd-lead strong { color: var(--navy); }
.nd-box { max-width: 860px; margin: 22px auto 0; }
.nd-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; background: var(--navy); border-radius: 10px; padding: 22px; }
.nd-stat { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.25); border-radius: 8px; padding: 16px 18px; color: #fff; }
.nd-stat p { margin: 0; }
.nd-k { display: inline-block; background: var(--gold); color: #fff; font-weight: 700; font-size: 16px; padding: 2px 12px; border-radius: 4px; }
.nd-n { font-family: var(--serif); font-weight: 700; font-size: 56px; line-height: 1.2; color: #F6E3AE; margin-top: 6px !important; }
.nd-n small { font-size: 22px; color: #fff; margin: 0 4px; }
.nd-c { font-size: 17px; line-height: 1.7; color: #fff; }
.nd-rowtitle { margin: 26px 0 8px; font-weight: 700; font-size: 19px; color: var(--ink); }
.nd-rows { border: 2px solid var(--navy); border-radius: 10px; overflow: hidden; }
.nd-row { display: grid; grid-template-columns: 15em 1fr 6em; align-items: center; gap: 12px; padding: 14px 18px; background: #fff; }
.nd-row + .nd-row { border-top: 1px solid var(--line); }
.nd-name { font-weight: 700; font-size: 18px; color: var(--ink); }
.nd-bar { height: 16px; background: var(--sky); border-radius: 8px; overflow: hidden; }
.nd-bar i { display: block; height: 100%; background: var(--navy); border-radius: 8px; }
.nd-row b { font-family: var(--serif); font-size: 28px; color: var(--navy); text-align: right; white-space: nowrap; }
.nd-callout { margin-top: 22px; background: var(--goldpale); border-left: 6px solid var(--gold); padding: 16px 20px; font-size: 18px; border-radius: 0 8px 8px 0; }
.nd-callout strong { color: #8A5A00; }
.nd-punch { margin-top: 18px; font-family: var(--serif); font-weight: 700; font-size: 23px; line-height: 1.6; color: var(--navy); text-align: center; }
.nd-notes { list-style: none; margin: 16px 0 0; padding: 0; }
.nd-notes li { position: relative; padding-left: 30px; margin-top: 8px; font-size: 17px; color: var(--ink); }
.nd-notes li::before { content: "✓"; position: absolute; left: 4px; top: 0; color: var(--gold); font-weight: 700; }
@media (max-width: 760px) {
  .nd-panel { grid-template-columns: 1fr; padding: 16px; }
  .nd-n { font-size: 48px; }
  .nd-row { grid-template-columns: 1fr auto; gap: 6px 10px; padding: 12px 14px; }
  .nd-bar { grid-column: 1 / -1; grid-row: 2; }
  .nd-row b { font-size: 24px; }
  .nd-punch { font-size: 20px; text-align: left; }
  .nd-punch br.pc { display: none; }
}

/* 0.10.5（10/17 ken）トップの丸3つ：スマホで文字が円からはみ出す → 円を大きく（左右の余白まで使う）＋文字を少しだけ小さく。
   360〜430px幅で円の内側に5px以上の余裕を実測。320px幅も収まる */
@media (max-width: 640px) {
  .s-maru { gap: 4px; margin-left: -8px; margin-right: -8px; }
  .s-maru > div { width: calc((100% - 8px) / 3); }
  .s-maru small, .s-maru span { font-size: 13px; line-height: 1.1; letter-spacing: 0; white-space: nowrap; }
  .s-maru b { font-size: 22px; line-height: 1.1; letter-spacing: 0; white-space: nowrap; margin: 2px 0; }
  .s-maru b i { font-size: 14px; }
}
@media (max-width: 374px) {
  .s-maru small, .s-maru span { font-size: 12px; }
  .s-maru b { font-size: 19px; }
  .s-maru b i { font-size: 13px; }
}

/* 0.10.8（10/21）売りたい方へ #nedan：店長の写真とひとこと */
.nd-voice { max-width: 860px; margin: 22px auto 0; display: grid; grid-template-columns: 1.15fr 1fr; gap: 22px; align-items: center; }
.nd-fig { margin: 0; }
.nd-fig img { display: block; width: 100%; height: auto; border-radius: 10px; }
.nd-quote { border-left: 6px solid var(--gold); padding: 6px 0 6px 20px; }
.nd-q { margin: 0; font-family: var(--serif); font-weight: 700; font-size: 24px; line-height: 1.6; color: var(--navy); }
.nd-who { margin: 12px 0 0; font-size: 18px; font-weight: 700; color: var(--ink); }
@media (max-width: 760px) {
  .nd-voice { grid-template-columns: 1fr; gap: 14px; }
  .nd-q { font-size: 21px; }
}

/* 0.10.9（10/21 社長）会社概要の上の写真：古川椿と上一万を交互に（0.10.10＝1枚3.5秒） */
.pagehead .phR.dk-swap { position: relative; }
.pagehead .phR.dk-swap img + img { position: absolute; top: 0; left: 0; animation: dkswap 7s ease-in-out infinite; }
@keyframes dkswap { 0%, 40% { opacity: 0; } 50%, 90% { opacity: 1; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pagehead .phR.dk-swap img + img { animation: none; opacity: 0; } }

/* 0.10.20 店舗ページの動画（10/29） */
.shopvid .mvfig { margin: 14px auto 0; max-width: 760px; }
.shopvid .shopvid-cta { display: flex; justify-content: center; margin-top: 16px; }
.shopvid .shopvid-cta .s-cta { flex: 0 1 380px; }

/* 0.10.26（10/31）店舗ページ：ご来店の前に */
.visit-before { list-style: none; margin: 22px auto 0; padding: 0; max-width: 980px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.visit-before li { background: #fff; border: 2px solid var(--line); border-left: 8px solid var(--navy); border-radius: 8px; padding: 16px 18px; }
.visit-before b { display: block; font-size: 21px; color: var(--navy); font-weight: 900; line-height: 1.4; }
.visit-before span { display: block; font-size: 18px; color: #1a1a1a; line-height: 1.7; margin-top: 4px; }
.visit-before li.vb-tel { grid-column: 1 / -1; border-left-color: var(--red, #C1121F); }
.visit-before li.vb-tel a { font-size: 28px; font-weight: 900; color: var(--navy); text-decoration: none; }
@media (max-width: 760px) { .visit-before { grid-template-columns: 1fr; } .visit-before b { font-size: 20px; } }
