/* buyshops2 r11 / r10を土台に、本番ScrollHintとの干渉を解消。buyshops-cards.jsをdefer読込。
   テーマCSSの後に読込。過去のbrushup・buyshops-collapse.jsとは併用しない。
   タブ内部と画像CTAは既存の部品を使用。テキストCTAは既存意匠を流用。
   flow-icons-3d.css → bring-tabs.css を別途読込（r11のセット）。
   FV画像とh1の表示切替はテーマ側で管理。画像の寸法・空領域は作らない。 */
.main.buyshops { --bs-navy:#14355D; --bs-blue:#224995; --bs-ink:#333; --bs-muted:#526477; --bs-surface:#EDF3F8; --bs-border:#D5E0EB; }

/* ISSUES #1 — 生成FVの下も淡色に。画像・h1・失敗時の表示は既存部品。 */
.main.buyshops #fv.topbanner { background:#F4F7FB; color:var(--bs-navy); }
.main.buyshops #fv.fv-img-failed .sr-only { color:var(--bs-navy); }
.main.buyshops #fv .fv-todo-inner { display:flex; flex-direction:column; background:none; }
.main.buyshops #fv .fv-todo-inner > .fv-cta { order:1; }
.main.buyshops #fv .fv-todo-inner > .fv-trust { order:2; }
.main.buyshops #fv .fv-todo-inner > .fv-areas { order:3; }
.main.buyshops #fv .fv-todo-inner > .fv-note { order:4; }
.main.buyshops #fv .fv-todo-inner > .fv-benefits { order:5; }
.main.buyshops #fv .fv-todo-inner > .fv-badges { order:6; }
/* 現行HTMLには無料の重複文がない。字下げせず許可番号を全文表示。 */
.main.buyshops #fv.topbanner.fv-v2 .fv-trust { margin:8px 0 16px; padding:0; text-indent:0; color:var(--bs-muted); font-size:11px; font-weight:400; line-height:1.8; letter-spacing:0; text-align:left; word-break:break-word; }
.main.buyshops #fv .fv-cta a.button.whitebtn { border:1px solid var(--bs-navy); background:#FFF; color:var(--bs-navy); }
.main.buyshops #fv :is(.fv-note,.fb-d,.fv-areas-t,.fbg-l) { color:var(--bs-muted); opacity:1; word-break:break-word; }
.main.buyshops #fv :is(.fb-t,.fbg-n) { color:var(--bs-navy); }
.main.buyshops #fv :is(.fb,.fbg) { border-color:var(--bs-border); background:#EDF3F8; box-shadow:none; }
.main.buyshops #fv .fv-pref a { border-color:var(--bs-border); background:#FFF; color:var(--bs-navy); white-space:nowrap; }
.main.buyshops #fv .fv-pref a.more { flex:0 1 100%; grid-column:1 / -1; width:100%; max-width:none; white-space:nowrap; }
.main.buyshops #fv .fb-d { max-width:calc(100% - 16px); }
.main.buyshops #fv .fb:first-child .fb-d { max-width:100%; }
/* ISSUES #1 — 補足は12px。バッジは狭い幅でも語句を1行で保つ。 */
.main.buyshops #fv.topbanner.fv-v2 { background:#F4F7FB; }
.main.buyshops #fv.topbanner.fv-v2 .fv-benefits .fb .fb-d { max-width:calc(100% - 56px); font-size:12px; line-height:1.8; letter-spacing:0; }
.main.buyshops #fv.topbanner.fv-v2 .fv-badges { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.main.buyshops #fv.topbanner.fv-v2 .fv-badges .fbg .fbg-l { font-size:12px; white-space:nowrap; }
.main.buyshops #fv.topbanner.fv-v2 .fv-badges .fbg:nth-child(2) .fbg-l { white-space:normal; line-height:1.8; }

/* ISSUES #8 — 節間72/48px、見出し下24/16px。 */
.main.buyshops > section.part { margin:72px 0 0; padding:0; color:var(--bs-ink); font-size:16px; line-height:1.8; word-break:break-word; }
.main.buyshops > section.part:not(.reason) > .thisinner { width:calc(100% - 64px); max-width:1000px; margin:0 auto; }
/* ISSUES #2 — 帯と下線は共通部品に委譲。見出し下の余白だけ調整。 */
.main.buyshops > section.part:not(.reason) > .thisinner > h2.line-title { margin:0 0 24px; word-break:break-word; }
.main.buyshops .part:not(.reason) .line-title br.spshow { display:none; }
.main.buyshops .part:not(.reason) > .thisinner > .line-btitle { margin:32px 0 16px; word-break:break-word; }
.main.buyshops .part:not(.reason) :is(.line-content,.sec-body) { margin:0 0 24px; font-size:16px; line-height:1.8; letter-spacing:0; text-align:left; word-break:break-word; }
.main.buyshops .part:not(.reason) :is(.sub-note,.an-note,.compare-note) { margin:16px 0 0; color:var(--bs-muted); font-size:13px; line-height:1.8; text-align:left; word-break:break-word; }
.main.buyshops .part:not(.reason) > .thisinner > :last-child { margin-bottom:0; }
.main.buyshops :is(.part[id],.region-head,.pref-head) { scroll-margin-top:112px; }
.main.buyshops :is(.part,.mapbox) a:focus-visible { outline:2px solid var(--bs-blue); outline-offset:4px; }

/* ISSUES #13 — 入口は#searchの地方／県の札に集約。郵送案内は残す。 */
.main.buyshops #fv .fv-areas,
.main.buyshops .mapbox { display:none; }
.main.buyshops #search .area-label { margin:24px 0 8px; padding:0; border:0; background:none; color:var(--bs-navy); font-size:16px; font-weight:700; }
.main.buyshops #search .area-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; padding:0; }
.main.buyshops #search .area-nav.pref { grid-template-columns:repeat(5,minmax(0,1fr)); }
.main.buyshops #search .area-nav a,
.main.buyshops #search .area-nav.pref > a { display:flex; box-sizing:border-box; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:48px; margin:0; padding:8px; border:1px solid var(--bs-navy); border-radius:6px; background:var(--bs-navy); color:#FFF; font-size:14px; font-weight:700; line-height:1.5; white-space:nowrap; text-align:center; text-decoration:none; box-shadow:none; word-break:break-word; }
.main.buyshops #search .area-nav a:hover { background:var(--bs-blue); border-color:var(--bs-blue); }
.main.buyshops #search .area-nav a .iconcoordinates { display:none; }

/* ISSUES #14 — 案内面は1つ。テキストCTAの既存意匠流用は後段に限定。 */
.main.buyshops .part:not(.reason) .apply-nudge { margin:24px 0 0; padding:24px; border:0; border-radius:6px; background:var(--bs-surface); box-shadow:none; }
.main.buyshops .part:not(.reason) .apply-nudge .an-t { color:var(--bs-navy); font-size:17px; line-height:1.6; text-align:left; word-break:break-word; }
.main.buyshops .part:not(.reason) .apply-nudge .an-b { margin-top:16px; }

/* ISSUES #10 — 不安と解決2列、約束3列。入れ子の色面を外す。 */
.main.buyshops #worry .worry-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin:0; padding:0; border:0; border-radius:0; background:none; list-style:none; }
.main.buyshops #worry .worry-list li { display:flex; align-items:flex-start; gap:8px; margin:0; padding:8px 0; font-size:15px; line-height:1.7; }
.main.buyshops #worry .worry-list li img { flex:0 0 16px; width:16px; height:16px; margin-top:4px; }
.main.buyshops #worry .worry-pivot { display:flex; align-items:center; gap:16px; margin:24px 0; padding:16px; border:0; border-radius:6px; background:var(--bs-navy); color:#FFF; }
.main.buyshops #worry .worry-pivot p { flex:1; min-width:0; margin:0; color:#FFF; font-size:15px; line-height:1.7; }
.main.buyshops #worry .worry-pivot .iconshop { flex:0 0 24px; width:24px; height:24px; margin:0; }
.main.buyshops #worry .worry-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; padding:0; border:0; background:none; }
.main.buyshops #worry .worry-points .wp { min-width:0; margin:0; padding:16px 0; border:0; border-top:1px solid var(--bs-border); border-radius:0; background:#FFF; box-shadow:none; }
.main.buyshops #worry .wp-t { display:block; margin:0 0 8px; color:var(--bs-navy); font-size:16px; font-weight:700; line-height:1.6; }
.main.buyshops #worry .wp-n { display:table; margin:0 0 8px; padding:0 8px; border-radius:3px; background:var(--bs-blue); color:#FFF; font-size:12px; line-height:2; }
.main.buyshops #worry .wp-tt { display:block; min-width:0; }
.main.buyshops #worry .wp-d { margin:0; color:var(--bs-ink); font-size:15px; line-height:1.8; word-break:break-word; }
/* ISSUES #3 — 約束は淡い青の単一面、見出し・本文・太字の色を明示。 */
.main.buyshops #worry .promise-card { margin:24px 0 0; padding:24px; border:0; border-radius:6px; background:var(--bs-surface); color:var(--bs-ink); box-shadow:none; }
.main.buyshops #worry .promise-card .pc-t { margin:0 0 16px; padding:0; border:0; background:transparent; color:var(--bs-navy); font-size:18px; font-weight:700; line-height:1.6; }
.main.buyshops #worry .pc-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
.main.buyshops #worry .pc-list > li:last-child { grid-column:1 / -1; }
.main.buyshops #worry .pc-list > li,
.main.buyshops #worry .pc-list > li + li { display:flex; align-items:flex-start; gap:8px; margin:0; padding:0; font-size:14px; line-height:1.8; }
.main.buyshops #worry .pc-list > li > img { flex:0 0 16px; width:16px; height:16px; margin-top:4px; }
.main.buyshops #worry .promise-card .pc-list :is(li,span,b) { color:var(--bs-ink); opacity:1; word-break:break-word; }
.main.buyshops #worry .promise-card .pc-list b { color:var(--bs-navy); }

/* ISSUES #9 — 地方→都道府県→店舗の行。県名・店舗数・アンカーを保持。 */
.main.buyshops .part:not(.reason) .region-head { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:32px 0 16px; padding:0 0 8px; border-bottom:1px solid var(--bs-border); color:var(--bs-navy); font-size:20px; font-weight:700; line-height:1.6; }
.main.buyshops .part:not(.reason) .region-head .rc { margin:0; padding:0 8px; border-radius:3px; background:var(--bs-blue); color:#FFF; font-size:12px; line-height:2; }
.main.buyshops #stores .pref-head { position:relative; width:100%; height:auto; margin:24px 0 8px; padding:0; border:0; background:none; color:var(--bs-navy); font-size:16px; font-weight:700; line-height:1.6; word-break:break-word; }
.main.buyshops #stores .stores-lists { margin:0; }
.main.buyshops #stores .stores-list { gap:16px; margin-top:0; margin-bottom:0; }
.main.buyshops #stores .stores-list + .pref-head { margin-top:16px; }
.main.buyshops #stores .stores-list > li { margin-top:0; margin-bottom:0; }
.main.buyshops #stores .nostore-card { margin:16px 0 24px; padding:16px; border:1px solid var(--bs-border); border-radius:6px; background:var(--bs-surface); }
.main.buyshops #stores .nostore-card p { margin:0; font-size:15px; line-height:1.8; }

/* ISSUES #11 — タブの意匠は参照CSSに委譲。兄弟の必要書類と注記を整える。 */
.main.buyshops #flow > .thisinner > .line-content { margin-bottom:24px; }
.main.buyshops #flow .flow-board.board { margin:32px 0 0; }
.main.buyshops #flow .note-card { margin-top:16px; }
/* ISSUES #11 — STEPの意味単位と色はbring-tabs.css／共有テンプレートに委譲。 */

/* ISSUES #12 — 理由・POINT・責任者の面・写真は基盤部品を使用。 */

/* ISSUES #7 — 表の装飾は共通部品。680pxは枠内スクロール。 */
.main.buyshops #compare .compare-table-scroll.wide5 { margin:24px 0 0; }
.main.buyshops #compare .cts-inner { position:static !important; overflow-x:auto; scrollbar-color:#7A94B1 var(--bs-surface); scrollbar-width:thin; }
.main.buyshops #compare .compare-table-scroll.wide5 .compare-table { width:100%; min-width:680px; margin:0; table-layout:fixed; font-variant-numeric:tabular-nums; }
.main.buyshops #compare .compare-table th:first-child { width:20%; }
.main.buyshops #compare .compare-table :is(th,td) { padding:16px; font-size:15px; line-height:1.8; vertical-align:top; text-align:left; white-space:normal; word-break:break-word; }
.main.buyshops #compare .compare-table td,
.main.buyshops #compare .compare-table thead th:not(:first-child) { padding-right:16px; padding-left:24px; }
.main.buyshops #compare .compare-table td a { display:inline-flex; align-items:center; min-height:44px; color:var(--bs-blue); text-decoration:underline; text-underline-offset:3px; }
/* ISSUES #7・#18 / r12 — 本番ScrollHintだけを使用。スクロールがある時だけ案内の32px行を確保。
   スクロールするcts-innerから独立した座標に置き、横送り後も列名を覆わない。
   JSが無ければラッパーも案内用の余白も生成されない。 */
.main.buyshops #compare .compare-table-scroll.wide5 { position:relative; padding-top:0; }
.main.buyshops #compare .scroll-hint-shadow-wrap { position:relative; padding-top:0; }
.main.buyshops #compare .scroll-hint-shadow-wrap:has(> .cts-inner.is-scrollable) { padding-top:32px; }
.main.buyshops #compare .cts-inner:not(.is-scrollable) .scroll-hint-icon-wrap { display:none; }
.main.buyshops #compare .cts-inner .scroll-hint-icon-wrap { position:static; width:0; height:0; max-height:none; }
.main.buyshops #compare .cts-inner .scroll-hint-icon-wrap .scroll-hint-icon { position:absolute; top:0 !important; left:0; width:100%; height:24px; margin:0; padding:0; border:0; border-radius:0; transform:none; background:transparent; opacity:1; transition:none; text-align:left; }
.main.buyshops #compare .scroll-hint-icon-wrap.is-active .scroll-hint-icon { opacity:1; }
.main.buyshops #compare .scroll-hint-icon .scroll-hint-text { margin:0; color:var(--bs-muted); font-size:12px; line-height:24px; white-space:nowrap; }
.main.buyshops #compare .scroll-hint-icon::before,
.main.buyshops #compare .scroll-hint-icon::after { content:none; }

/* ISSUES #6 — FAQの行全体44px以上。開閉印の領域をそろえる。 */
.main.buyshops #faq .faq-menu .menu-item:only-child { width:100%; }
.main.buyshops #faq .faq-menu .menu-item:only-child .faq-menu-title { white-space:nowrap; }
.main.buyshops #faq .faq-list { margin:24px 0 0; padding:0; }
.main.buyshops #faq .faq-list .list-qa .qa-item { padding:0 12px; }
.main.buyshops #faq .faq-list .list-qa .qa-item .qa-item-head { display:grid; grid-template-columns:24px minmax(0,1fr) 24px; box-sizing:border-box; align-items:center; gap:8px; min-height:64px; padding:16px 8px; font-size:16px; line-height:1.6; }
.main.buyshops #faq .qa-item .qa-item-head::before { width:24px; min-width:24px; height:auto; margin:0; border-radius:0; background:none; color:var(--bs-blue); font-size:24px; line-height:1.5; }
.main.buyshops #faq .faq-list .list-qa .qa-item .qa-item-head .qa-head-ttl { flex:1; min-width:0; margin:0; padding:0; color:var(--bs-navy); font-size:16px; line-height:1.6; word-break:break-word; }
.main.buyshops #faq .faq-list .list-qa .qa-item .qa-item-head .tieadd { position:relative; right:auto; top:auto; width:24px; height:24px; transform:none; }
.main.buyshops #faq .qa-item .qa-item-body { word-break:break-word; }
.main.buyshops #faq .faq-btn { margin:24px auto 0; }

/* ISSUES #4 — 地名リンクは1行のチップ。PCは折り返し＋一覧内スクロール。 */
.main.buyshops #areas .related-links { display:flex; flex-wrap:wrap; align-content:flex-start; gap:8px; max-height:320px; overflow-y:auto; margin:0; padding:0 8px 8px 0; list-style:none; scrollbar-width:thin; scrollbar-color:#7A94B1 var(--bs-surface); }
.main.buyshops #areas .related-links li { width:auto; max-width:100%; min-width:0; margin:0; padding:0; border:0; }
.main.buyshops #areas .related-links a { display:inline-flex; box-sizing:border-box; align-items:center; max-width:100%; min-height:48px; margin:0; padding:8px 32px 8px 12px; border:1px solid var(--bs-border); border-radius:6px; background:var(--bs-surface); color:var(--bs-blue); font-size:14px; line-height:1.5; white-space:nowrap; text-decoration:none; box-shadow:none; word-break:break-word; }
.main.buyshops #areas .related-links a b { min-width:0; color:inherit; font-size:inherit; line-height:inherit; font-weight:500; white-space:nowrap; }
.main.buyshops #areas .related-links .nowrap { display:inline; white-space:nowrap; }
.main.buyshops #areas .related-links a:hover { background:var(--bs-surface); border-color:var(--bs-blue); }

/* ISSUES #15 — 締めの背景内部に余白。CTA本体は変更しない。 */
.main.buyshops > section.part.connection { margin-bottom:72px; padding:32px 0; background:var(--bs-surface); }
.main.buyshops #cta .cta-band { margin:0; padding:24px; border:0; border-radius:6px; background:#FFF; box-shadow:none; }
.main.buyshops #cta .cta-band .t { margin:0; color:var(--bs-navy); font-size:20px; line-height:1.6; text-align:left; word-break:break-word; }
.main.buyshops #cta .cta-band .b { margin-top:16px; }
.main.buyshops #cta .titlegroup { margin:32px 0 24px; }
/* ISSUES #2・#8・#10 — 長い文の行長を8px刻みで調整。左端は維持。 */
.main.buyshops #search > .thisinner > .sub-note,
.main.buyshops #search .an-note,
.main.buyshops #flow > .thisinner > .line-content { max-width:calc(100% - 16px); }
.main.buyshops #worry .wp-d,
.main.buyshops #stores > .thisinner > .line-content { max-width:calc(100% - 8px); }
.main.buyshops #worry .promise-card .pc-list li > span { flex:1; min-width:0; max-width:100%; padding-right:0; font-size:14px; line-height:1.8; }
.main.buyshops #worry .worry-pivot p { flex:0 1 calc(100% - 48px); }
.main.buyshops #worry .line-title > span { font-size:22px; }
.main.buyshops #worry .wp .nowrap { white-space:nowrap; }
.main.buyshops #worry .wp:nth-child(3) .wp-tt { max-width:calc(100% - 48px); }
/* ISSUES #5 — 同じ既存SVGを疑似要素へ移し、文字を左右対称に中央へ。
   本番の店舗CSSがiを!importantで戻すため、非表示だけ限定対応。 */
.main.buyshops :is(#fv,#search,#stores,#flow,#faq) a.button:has(> .iconarrow) { position:relative; display:flex; box-sizing:border-box; flex-wrap:nowrap; align-items:center; justify-content:center; padding-right:32px; padding-left:32px; white-space:nowrap; }
.main.buyshops :is(#fv,#search,#stores,#flow,#faq) a:has(> .iconarrow) > .iconarrow { display:none !important; }
.main.buyshops :is(#fv,#search,#stores,#flow,#faq) a:has(> .iconarrow)::after { content:""; position:absolute; top:50%; right:16px; width:13px; height:11px; background:currentColor; mask:var(--bs-cta-arrow-icon) center / contain no-repeat; transform:translateY(-50%); pointer-events:none; }
.main.buyshops #stores .stores-list .store .store-link .bluebtn { padding-right:32px !important; padding-left:32px !important; }
/* ISSUES #5 — 相談ボタンの上の既存斜線見出しも1行で。 */
.main.buyshops #cta .connection-lists .connection-item .item-ttl { white-space:normal; font-size:14px; letter-spacing:0; }

/* ISSUES #12 — 責任者本文だけ行長を調整。面・写真・見出しは共通。 */
.main.buyshops #reason .intro-content > p { max-width:calc(100% - 16px); word-break:break-word; }
.main.buyshops #reason .intro-content > p:nth-child(2) { max-width:100%; }
.main.buyshops #reason .intro-content > p:nth-child(4) { max-width:100%; }
/* ISSUES #12 — 既存の面と写真を保持し、本文の行長だけ8px調整。 */
.main.buyshops #reason .reason-point .point-list .point p { max-width:calc(100% - 8px); }

/* ISSUES #14 — r6。既存 .button / .linktouch の紺・白文字・小角丸を
   テキストリンクへ適用。LINEロゴはTOPの .spacillink.line svg、矢印は
   page.htmlの .iconarrow svg をそのまま使用（新しい画像・文言なし）。
   LINEの緑は白文字の可読性を優先して同系色の #008738 にする。
   画像CTA・共通固定バー・郵送／店頭タブは対象に含めない。 */
.main.buyshops { --bs-cta-line-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%201024%201024%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M826.24%20420.821333a26.922667%2026.922667%200%200%201%200%2053.802667H751.36v48h74.88a26.88%2026.88%200%201%201%200%2053.717333h-101.802667a26.922667%2026.922667%200%200%201-26.752-26.837333V345.941333c0-14.72%2012.032-26.88%2026.88-26.88h101.802667a26.88%2026.88%200%200%201-0.128%2053.76H751.36v48h74.88z%20m-164.48%20128.682667a26.88%2026.88%200%200%201-26.922667%2026.752%2026.368%2026.368%200%200%201-21.76-10.666667l-104.234666-141.525333v125.44a26.88%2026.88%200%200%201-53.632%200V345.941333a26.752%2026.752%200%200%201%2026.624-26.794666c8.32%200%2016%204.437333%2021.12%2010.837333l105.045333%20142.08V345.941333c0-14.72%2012.032-26.88%2026.88-26.88%2014.72%200%2026.88%2012.16%2026.88%2026.88v203.562667z%20m-244.949333%200a26.965333%2026.965333%200%200%201-26.922667%2026.837333%2026.922667%2026.922667%200%200%201-26.752-26.837333V345.941333c0-14.72%2012.032-26.88%2026.88-26.88%2014.762667%200%2026.794667%2012.16%2026.794667%2026.88v203.562667z%20m-105.216%2026.837333H209.792a27.050667%2027.050667%200%200%201-26.88-26.837333V345.941333c0-14.72%2012.16-26.88%2026.88-26.88%2014.848%200%2026.88%2012.16%2026.88%2026.88v176.682667h74.922667a26.88%2026.88%200%200%201%200%2053.717333M1024%20440.064C1024%20210.901333%20794.24%2024.405333%20512%2024.405333S0%20210.901333%200%20440.064c0%20205.269333%20182.186667%20377.258667%20428.16%20409.941333%2016.682667%203.498667%2039.381333%2011.008%2045.141333%2025.173334%205.12%2012.842667%203.370667%2032.682667%201.621334%2046.08l-6.997334%2043.52c-1.92%2012.842667-10.24%2050.602667%2044.757334%2027.52%2055.082667-22.997333%20295.082667-173.994667%20402.602666-297.6C988.842667%20614.101333%201024%20531.541333%201024%20440.064%22%3E%20%3C%2Fpath%3E%20%3C%2Fsvg%3E"); --bs-cta-arrow-icon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2013%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6.87435%200.296771C7.25313%20-0.0779735%207.84893%20-0.0974773%208.24949%200.236345L8.32567%200.307513L12.705%204.77637C13.0983%205.17777%2013.0983%205.8225%2012.705%206.22391L8.32567%2010.6928C7.92794%2011.0982%207.27812%2011.103%206.87435%2010.7035C6.47086%2010.3039%206.46611%209.65093%206.86366%209.24522L9.52307%206.53141H1.02634C0.459509%206.53141%200%206.0697%200%205.50014C0%204.93058%200.459509%204.46886%201.02634%204.46886H9.52307L6.86366%201.75506L6.79417%201.67583C6.46853%201.26837%206.49605%200.671465%206.87435%200.296771Z%22%20fill%3D%22%23FFF%22%2F%3E%3C%2Fsvg%3E"); }
.main.buyshops :is(#search,#stores) .apply-nudge .an-b,
.main.buyshops #cta .cta-band .b { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:16px; }
.main.buyshops :is(#search,#stores) .apply-nudge .an-b > a:is(.tel,.line),
.main.buyshops #cta .cta-band .b > a:is(.p,.l) { position:relative; display:flex; box-sizing:border-box; align-items:center; justify-content:center; width:100%; min-width:0; min-height:64px; margin:0; padding:8px 48px; border:0; border-radius:6px; background:var(--bs-blue); color:#FFF; opacity:1; font-family:inherit; font-size:16px; font-weight:700; line-height:1.5; letter-spacing:0; text-align:center; text-decoration:none; white-space:nowrap; word-break:break-word; box-shadow:none; }
.main.buyshops :is(#search,#stores) .apply-nudge .an-b > a.line,
.main.buyshops #cta .cta-band .b > a.l { background:#008738; color:#FFF; }
/* ISSUES #14 — 電話番号は本文を変えず、9emの行長で番号の前に折り返す。
   16px×2行＋上下8px＝64px。隣のLINEも同じ高さ。 */
.main.buyshops #stores .apply-nudge .an-b > a.tel { padding-right:max(48px,calc((100% - 9em) / 2)); padding-left:max(48px,calc((100% - 9em) / 2)); white-space:normal; }
/* ISSUES #14 — 既存の矢印は右16px。無いリンクだけ同じSVGを補う。 */
.main.buyshops :is(#search,#stores) .apply-nudge .an-b > a > .iconarrow { display:none; }
.main.buyshops :is(#search,#stores) .apply-nudge .an-b > a:not(:has(> .iconarrow))::after,
.main.buyshops #cta .cta-band .b > a::after { content:""; position:absolute; top:50%; right:16px; bottom:auto; left:auto; width:13px; height:11px; margin:0; border:0; background:var(--bs-cta-arrow-icon) center / contain no-repeat; transform:translateY(-50%); pointer-events:none; }
/* ISSUES #14 — LINEの既存ロゴを左16px、24px角で縦中央へ。 */
.main.buyshops :is(#search,#stores) .apply-nudge .an-b > a.line::before,
.main.buyshops #cta .cta-band .b > a.l::before { content:""; position:absolute; top:50%; right:auto; bottom:auto; left:16px; width:24px; height:24px; margin:0; border:0; background:var(--bs-cta-line-icon) center / contain no-repeat; transform:translateY(-50%); pointer-events:none; }
/* ISSUES #14 — 白文字はhover/visitedでも保持。フォーカスは既存紺輪郭。 */
.main.buyshops :is(#search,#stores) .apply-nudge .an-b > a:is(.tel,.line):is(:visited,:hover,:focus-visible),
.main.buyshops #cta .cta-band .b > a:is(.p,.l):is(:visited,:hover,:focus-visible) { color:#FFF; opacity:1; text-decoration:none; }
.main.buyshops :is(#search,#stores) .apply-nudge .an-b > a.tel:hover,
.main.buyshops #cta .cta-band .b > a.p:hover { background:var(--bs-navy); }
.main.buyshops :is(#search,#stores) .apply-nudge .an-b > a.line:hover,
.main.buyshops #cta .cta-band .b > a.l:hover { background:#006D2E; }

@media (min-width:768px) {
  /* ISSUES #7 — PCでは案内が不要な全幅表。 */
  .main.buyshops #compare .scroll-hint-shadow-wrap:has(> .cts-inner.is-scrollable) { padding-top:0; }
  .main.buyshops #compare .cts-inner .scroll-hint-icon-wrap { display:none; }
}

@media (max-width:767px) {
  /* ISSUES #1 — 札は2列＋最後全幅。幅の狭い文字の3段折返しを解消。 */
  .main.buyshops #fv.topbanner.fv-v2 .fv-badges { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .main.buyshops #fv.topbanner.fv-v2 .fv-badges .fbg:last-child { grid-column:1 / -1; }
  .main.buyshops #fv.topbanner.fv-v2 .fv-benefits .fb { padding:8px 16px; }
  .main.buyshops #fv.topbanner.fv-v2 .fv-badges .fbg { padding-top:8px; padding-bottom:8px; }
  /* ISSUES #14 — SPは1列、64pxのボタン同士を16pxで分ける。 */
  .main.buyshops :is(#search,#stores) .apply-nudge .an-b,
  .main.buyshops #cta .cta-band .b { grid-template-columns:minmax(0,1fr); }
  /* ISSUES #13 — エリア入口は2列、最後は全幅。 */
  .main.buyshops #search .area-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .main.buyshops #search .area-nav.pref { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .main.buyshops #search .area-nav a,
  .main.buyshops #search .area-nav.pref > a { padding:8px 4px; font-size:13px; }
  .main.buyshops #search .area-nav.pref a:last-child { grid-column:1 / -1; }

  /* ISSUES #1・#5 — FV本文12px、矢印つきの入口は14px。 */
  .main.buyshops #fv .fb-d { font-size:12px; line-height:1.8; letter-spacing:0; }
  .main.buyshops :is(#fv,#search,#stores,#flow,#faq) a.button:has(> .iconarrow) { font-size:14px; }

  /* ISSUES #2・#8・#13 — 節間48px・本文15px。 */
  .main.buyshops > section.part { margin-top:48px; font-size:15px; }
  .main.buyshops > section.part:not(.reason) > .thisinner { width:calc(100% - 32px); }
  .main.buyshops > section.part:not(.reason) > .thisinner > h2.line-title { margin-bottom:16px; }
  .main.buyshops #worry .line-title > span { font-size:17px; }
  .main.buyshops #areas .line-title > span { max-width:224px; }
  .main.buyshops .part:not(.reason) > .thisinner > .line-btitle { margin-top:24px; }
  .main.buyshops .part:not(.reason) :is(.line-content,.sec-body) { margin-bottom:16px; font-size:15px; }

  /* ISSUES #3・#10・#14 — SPは番号／チェックを左、本文を右の1列。 */
  .main.buyshops .part:not(.reason) .apply-nudge { padding:16px; }
  .main.buyshops .part:not(.reason) .apply-nudge .an-t { font-size:16px; }
  .main.buyshops #worry .worry-list { grid-template-columns:minmax(0,1fr); }
  .main.buyshops #worry .worry-list li { font-size:14px; }
  .main.buyshops #worry .worry-points { grid-template-columns:minmax(0,1fr); gap:0; }
  .main.buyshops #worry .worry-points .wp { display:grid; grid-template-columns:32px minmax(0,1fr); grid-template-areas:"number title" ". body"; align-items:start; gap:8px; padding:16px 0; }
  .main.buyshops #worry .wp-t { display:contents; font-size:15px; }
  .main.buyshops #worry .wp-n { grid-area:number; width:32px; box-sizing:border-box; margin:0; padding:0; text-align:center; }
  .main.buyshops #worry .wp-tt,
  .main.buyshops #worry .wp:nth-child(3) .wp-tt { grid-area:title; max-width:none; font-size:15px; line-height:1.6; }
  .main.buyshops #worry .wp:nth-child(3) .wp-tt { max-width:min(100%,18em); }
  .main.buyshops #worry .wp-d { grid-area:body; max-width:none; font-size:15px; line-height:1.8; }
  .main.buyshops #worry .promise-card { padding:16px; }
  .main.buyshops #worry .pc-list { grid-template-columns:minmax(0,1fr); gap:16px; }
  .main.buyshops #worry .promise-card .pc-list li > span { max-width:none; font-size:15px; }
  .main.buyshops #worry .pc-list li:last-child { grid-column:1 / -1; }
  .main.buyshops #worry .promise-card .pc-t { font-size:16px; }

  /* ISSUES #9・#11 — 店舗間16px。必要書類は共通部品。 */
  .main.buyshops .part:not(.reason) .region-head { font-size:18px; }
  .main.buyshops #stores .pref-head { font-size:14px; }

  /* ISSUES #4・#6・#15 — FAQ右端24px。地名は全文1行の3段レール。 */
  .main.buyshops #faq .faq-list .list-qa .qa-item .qa-item-head { padding:16px 8px; }
  .main.buyshops #faq .faq-list .list-qa .qa-item .qa-item-head .qa-head-ttl { max-width:12em; font-size:15px; }
  .main.buyshops #faq .faq-list .list-qa .qa-item:nth-child(1) .qa-item-head .qa-head-ttl { max-width:13em; }
  .main.buyshops #faq .faq-list .list-qa .qa-item:nth-child(3) .qa-item-head .qa-head-ttl { max-width:11em; }
  .main.buyshops #faq .faq-list .list-qa .qa-item:nth-child(4) .qa-item-head .qa-head-ttl,
  .main.buyshops #faq .faq-list .list-qa .qa-item:nth-child(6) .qa-item-head .qa-head-ttl { max-width:9em; }
  .main.buyshops #areas .related-links { display:grid; grid-template-rows:repeat(3,48px); grid-auto-flow:column; grid-auto-columns:max-content; gap:8px; max-height:none; overflow-x:auto; overflow-y:hidden; padding:0 0 8px; scroll-snap-type:x proximity; scroll-padding-left:0; }
  .main.buyshops #areas .related-links li { max-width:none; scroll-snap-align:start; }
  .main.buyshops #areas .related-links a { max-width:none; padding:8px 32px 8px 12px; font-size:13px; }
  .main.buyshops > section.part.connection { margin-bottom:48px; padding:24px 0; }
  .main.buyshops #cta .cta-band { padding:16px; }
  .main.buyshops #cta .cta-band .t { font-size:18px; }

  /* ISSUES #9 — 説明文は全文表示。続きを読む／内部スクロールは使わない。 */
  .main.buyshops #stores .sec-body { max-height:none; overflow:visible; padding-right:0; }
  /* ISSUES #7・#9・#18 — 640〜767pxは表本文16px。店舗導入文の末尾にも行長を確保。 */
  @media (min-width:640px) {
    .main.buyshops #compare .compare-table :is(th,td) { font-size:16px; }
    .main.buyshops #stores .sec-body { max-width:calc(100% - 16px); }
    .main.buyshops #stores > .thisinner > .line-content { max-width:calc(100% - 32px); }
  }

  /* ISSUES #12 — 基盤の改行位置を使用。POINT・紹介の文字だけ微調整。 */
  .main.buyshops #reason .line-title br.spshow { display:block; }
  .main.buyshops #reason .reason-point .point-list .point .point-name { font-size:16px; }
  .main.buyshops #reason .reason-introduction .intro-head .head-info { padding-left:8px; }
  .main.buyshops #reason .reason-introduction .intro-head .line-btitle { font-size:15px; letter-spacing:-.02em; }
  .main.buyshops #cta .connection-lists .connection-item .item-ttl { max-width:calc(100% - clamp(0px,calc(100vw - 320px),32px)); min-height:56px; margin-right:auto; margin-left:auto; font-size:15px; line-height:1.6; }

  /* ISSUES #9・#10・#12 — 狭い端末の末尾を8px単位で補正。 */
  @media (max-width:359px) {
    .main.buyshops #worry .wp:first-child .wp-tt { max-width:15em; letter-spacing:.01em; }
    .main.buyshops #faq .faq-list .list-qa .qa-item:first-child .qa-item-head .qa-head-ttl { font-size:14px; }
    .main.buyshops #worry .worry-list li { max-width:calc(100% - 48px); }
    .main.buyshops #stores .store-info dd,
    .main.buyshops #stores .store-text > p { max-width:calc(100% - 40px); }
    .main.buyshops #reason .intro-content > p:nth-child(4) { max-width:calc(100% - 16px); }
  }
  @media (min-width:360px) and (max-width:374px) {
    .main.buyshops #stores .store-info dd { max-width:calc(100% - 8px); }
    .main.buyshops #reason .intro-content > p:last-child { max-width:calc(100% - 56px); }
  }
}

@media (min-width:1024px) {
  /* ISSUES #9 — 1店舗だけの県は既存カード幅のまま中央へ。カード内部は維持。 */
  .main.buyshops #stores .stores-list:has(> li:only-child) { grid-template-columns:minmax(0,1fr); max-width:calc((100% - 16px) / 2); margin-right:auto; margin-left:auto; }
  /* ISSUES #9 — 店舗アクセスの長い括弧を3文字以上の最終行へ。 */
  .main.buyshops #stores .store-info dd { max-width:calc(100% - 56px); }
}

/* ISSUES #9 — PCは既存の格子とカード内部へ委譲。JSなしは元のカード。 */
.main.buyshops #stores .bs-store-toggle { display:none; }
.main.buyshops #stores .bs-store-panel { display:contents; }
/* ISSUES #9 — 写真欠損は淡青＋紺のワードマーク。alt文字を表示面へ出さない。 */
.main.buyshops #stores :is(.bs-store-thumb,.store-pic).bs-image-failed { position:relative; background:#EDF3F8; }
.main.buyshops #stores :is(.bs-store-thumb,.store-pic).bs-image-failed > img { visibility:hidden; }
.main.buyshops #stores :is(.bs-store-thumb,.store-pic).bs-image-failed::after { content:"LINXAS"; position:absolute; inset:0; display:grid; place-items:center; color:var(--bs-navy); font-family:Arial,sans-serif; font-size:14px; font-weight:700; letter-spacing:.04em; }
.main.buyshops #stores .store-pic.bs-image-failed::after { font-size:24px; }

@media (max-width:767px) {
  /* ISSUES #9 — 既存CSSの!important付きgridだけ限定解除。1店88〜104pxの行。 */
  .main.buyshops #stores .stores-list .store.bs-store-ready { grid-template-columns:minmax(0,1fr) !important; grid-template-areas:none; grid-template-rows:auto; gap:0 !important; padding:0 !important; border:0; border-bottom:1px solid var(--bs-border); border-radius:0; background:#FFF; box-shadow:none; }
  .main.buyshops #stores .stores-list:has(.bs-store-ready) { gap:0; }
  .main.buyshops #stores .store.bs-store-ready .bs-store-toggle { display:grid; grid-template-columns:72px minmax(0,1fr) 32px; align-items:center; gap:8px; width:100%; min-height:88px; margin:0; padding:8px 0; border:0; border-radius:0; background:#FFF; color:var(--bs-navy); font:inherit; line-height:1.5; text-align:left; cursor:pointer; appearance:none; word-break:break-word; }
  .main.buyshops #stores .bs-store-toggle:hover { background:#F4F7FB; }
  .main.buyshops #stores .bs-store-toggle:focus-visible { outline:2px solid var(--bs-blue); outline-offset:-2px; }
  .main.buyshops #stores .bs-store-toggle[aria-expanded="true"] { background:#F4F7FB; }
  .main.buyshops #stores .bs-store-thumb { display:block; width:72px; height:72px; overflow:hidden; border-radius:6px; background:#EDF3F8; }
  .main.buyshops #stores .bs-store-thumb > img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
  .main.buyshops #stores .bs-store-summary { display:block; min-width:0; }
  .main.buyshops #stores .bs-store-station { display:block; margin:0 0 4px; color:var(--bs-muted); font-size:12px; font-weight:400; line-height:1.5; letter-spacing:0; word-break:break-word; }
  .main.buyshops #stores .bs-store-name { display:block; color:var(--bs-navy); font-size:15px; font-weight:700; line-height:1.6; letter-spacing:0; word-break:break-word; }
  .main.buyshops #stores .bs-store-sign { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:var(--bs-blue); font-size:12px; font-weight:700; line-height:1; white-space:nowrap; }
  .main.buyshops #stores .bs-store-sign::after { content:""; display:block; width:6px; height:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); }
  .main.buyshops #stores .bs-store-toggle[aria-expanded="true"] .bs-store-sign::after { transform:rotate(225deg); }
  /* ISSUES #9 — 展開内は既存の写真・住所・営業情報・詳細／地図／電話を維持。 */
  .main.buyshops #stores .store.bs-store-ready .bs-store-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"title title" "pic pic" "addr addr" "info info" "detail detail" "map tel"; grid-template-rows:auto auto auto 1fr auto auto; align-content:start; gap:0 10px; min-width:0; padding:16px; background:#F4F7FB; }
  .main.buyshops #stores .store.bs-store-ready .bs-store-panel[hidden] { display:none; }
}

/* KGI r3 — FV画像直下の条件文。既存fv-noteを流用し、この1要素だけに適用。 */
.main.buyshops #fv.topbanner.fv-v2 > .fv-img + .fv-note { width:calc(100% - 40px); max-width:1100px; margin:8px auto 16px; color:var(--bs-muted); font-size:13px; line-height:1.8; letter-spacing:0; text-align:left; }
