/* Shared hub components. Every selector is scoped to the opting-in page. */
.hub-2610 { --hub-paper:#f5f2eb; --hub-ink:#292d28; --hub-rule:#d9d4c9; background:var(--hub-paper); color:var(--hub-ink); }
.hub-2610 main { overflow:visible; }
.hub-2610 .hub-section, .hub-2610 .hub-staff, .hub-2610 .hub-guide { width:calc(100% - 32px); max-width:1120px; margin:0 auto; padding:24px 0; }
.hub-2610 .hub-section { border-bottom:1px solid var(--hub-rule); }
.hub-2610 .hub-heading { margin-bottom:18px; }
.hub-2610 .hub-heading h2 { margin:0; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:24px; line-height:1.5; font-weight:500; letter-spacing:.035em; }
.hub-2610 .hub-eyebrow { font:10px/1.5 Arial,sans-serif; letter-spacing:.18em; color:#817960; margin:0 0 5px; }
.hub-2610 .hub-section a { color:inherit; text-decoration:none; }
.hub-2610 .hub-section a:focus-visible, .hub-2610 summary:focus-visible { outline:2px solid #7b6946; outline-offset:4px; }
.hub-2610 #hero { min-height:770px!important; height:770px!important; }
.hub-2610 #hero .hero-composition { min-height:0!important; height:100%; padding-top:90px!important; padding-bottom:24px!important; display:flex; align-items:flex-end; }
.hub-2610 #hero .hero-copy { width:100%; max-width:590px; }
.hub-2610 #hero .hero-kicker { margin:6px 0 10px; font-size:23px; }
.hub-2610 #hero h1 { margin:0 0 18px; }
.hub-2610 #hero .hero-lead { margin:0 0 22px; font-size:12px; line-height:1.85; }
.hub-2610 #hero .hero-actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; margin:0; }
.hub-2610 #hero .line-button { width:100%; min-height:66px; background:#06C755!important; color:#fff!important; }
.hub-2610 #hero .hero-phone { display:flex!important; flex-flow:row nowrap!important; justify-content:center; align-items:center; gap:9px; padding:0!important; min-height:24px; white-space:nowrap!important; line-height:1.2; }
.hub-2610 #hero .hero-phone svg { flex:0 0 15px; width:15px; height:15px; }
.hub-2610 #hero .hero-phone strong { font:500 19px/1.2 Arial,sans-serif; letter-spacing:.015em; }
.hub-2610 #hero .hero-phone small { display:inline!important; margin:0!important; font:10px/1.2 sans-serif; white-space:nowrap!important; opacity:.78; }
.hub-2610 .mobile-sticky { position:fixed; display:grid; grid-template-columns:1fr 100px; left:0; right:0; bottom:0; z-index:120; background:var(--hub-paper); border-top:1px solid var(--hub-rule); padding:8px 12px calc(8px + env(safe-area-inset-bottom)); gap:8px; }
.hub-2610 .mobile-sticky .line-button { min-height:52px; padding:8px 12px; }
.hub-2610 .mobile-sticky .line-button strong { font-size:12px; }
.hub-2610 .mobile-sticky .line-button small { font-size:8px; }
.hub-2610 .mobile-sticky .sticky-phone { display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #a2ad9e; font-size:10px; }
.hub-2610 .mobile-sticky .sticky-phone svg { width:18px; height:18px; }
.hub-2610 .mobile-sticky .sticky-phone small { font-size:8px; }
.hub-2610 .mobile-sticky.hub-contact-hidden { visibility:hidden!important; opacity:0!important; pointer-events:none!important; }
.hub-2610 .hub-brands { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px 9px; }
.hub-2610 .hub-brand { display:block; min-width:0; text-align:center; }
.hub-2610 .hub-brand img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:#fff; padding:6px; border:1px solid #e8e3d8; }
.hub-2610 .hub-brand span { display:block; margin-top:7px; font-size:clamp(9px,2.6vw,12px); white-space:nowrap; line-height:1.5; letter-spacing:-.035em; }
.hub-2610 .hub-brand small { display:block; font:8px/1.6 Arial,sans-serif; letter-spacing:.02em; color:#777467; }
.hub-2610 .hub-chips { display:flex; flex-wrap:wrap; gap:7px 6px; margin-top:20px; }
.hub-2610 .hub-chips a { padding:5px 9px; border:1px solid var(--hub-rule); font-size:11px; line-height:1.6; }
.hub-2610 .hub-models { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
.hub-2610 .hub-model { min-width:0; display:block; background:#fffdfa; border:1px solid #e4dfd4; }
.hub-2610 .hub-model img { display:block; width:100%; height:120px; padding:7px; object-fit:contain; background:#fff; }
.hub-2610 .hub-model-copy { padding:8px; }
.hub-2610 .hub-model-brand { display:block; font:9px/1.3 Arial,sans-serif; letter-spacing:.065em; color:#7f7660; }
.hub-2610 .hub-model h3 { font-size:13px; font-weight:500; line-height:1.45; margin:6px 0; }
.hub-2610 .hub-model h3 span { display:block; font:10px/1.6 Arial,sans-serif; overflow-wrap:anywhere; }
.hub-2610 .hub-price { white-space:nowrap; margin:6px 0 4px; font-size:12px; }
.hub-2610 .hub-price strong { font:500 clamp(17px,4.7vw,22px)/1.2 Georgia,serif; }
.hub-2610 .hub-price>span { font-size:10px; }
.hub-2610 .hub-model-date, .hub-2610 .hub-model .model-status { display:block; font-size:9px; line-height:1.5; color:#797467; }
.hub-2610 .hub-price-note { margin:17px 0 10px; font-size:10px; line-height:1.7; color:#716b5e; }
.hub-2610 .hub-all-prices { display:inline-block; font-size:12px; border-bottom:1px solid #8d826d; padding-bottom:3px; }
.hub-2610 .hub-more-prices { margin-top:14px; }
.hub-2610 .hub-more-prices>summary, .hub-2610 .hub-guide>summary { cursor:pointer; font-size:12px; padding:10px 0; }
.hub-2610 .hub-reference-archive { padding:16px 0; }
.hub-2610 .hub-reference-archive .market-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px; }
.hub-2610 .hub-reference-archive .market-image { height:120px!important; }
.hub-2610 .hub-reference-archive .market-image img { height:120px!important; object-fit:contain!important; }
.hub-2610 .hub-reference-archive .market-info { padding:10px; }
.hub-2610 .hub-reference-archive .market-info h3 { font-size:12px; }
.hub-2610 .hub-reference-archive .market-value strong { font-size:17px; }
.hub-2610 .hub-retained-prices { width:100%; border-collapse:collapse; margin-top:24px; font-size:12px; }
.hub-2610 .hub-retained-prices caption { text-align:left; padding:10px 0; }
.hub-2610 .hub-retained-prices th, .hub-2610 .hub-retained-prices td { padding:10px; border-bottom:1px solid var(--hub-rule); text-align:left; }
.hub-2610 .hub-retained-prices th span { display:block; }
.hub-2610 #en-passion-intro-1 { margin:0 auto; width:calc(100% - 32px); max-width:1120px; padding:24px 0!important; border-bottom:1px solid var(--hub-rule); }
.hub-2610 #en-passion-intro-1 .b107-unfolded, .hub-2610 #en-passion-intro-1 .en-passion-cta-inner { margin:0; padding:0; border:0; box-shadow:none; background:transparent; }
.hub-2610 #en-passion-intro-1 .en-passion-cta-inner { display:grid; gap:12px; }
.hub-2610 #en-passion-intro-1 .en-passion-cta-heading { font-size:22px; margin:0; }
.hub-2610 #en-passion-intro-1 .en-passion-cta-note { font-size:11px; margin:5px 0 0; }
.hub-2610 #en-passion-intro-1 .en-passion-actions { display:grid; grid-template-columns:1fr auto; gap:7px 12px; align-items:center; }
.hub-2610 #en-passion-intro-1 .en-passion-button { min-width:0; min-height:56px; padding:9px 11px; font-size:12px; }
.hub-2610 #en-passion-intro-1 .en-passion-button small { font-size:8px; white-space:normal; }
.hub-2610 #en-passion-intro-1 .en-passion-phone { background:transparent!important; color:var(--hub-ink)!important; border:0; padding:0; font-size:9px; }
.hub-2610 #en-passion-intro-1 .en-passion-number { font-size:14px; }
.hub-2610 #en-passion-intro-1 .en-passion-hours { grid-column:2; font-size:9px; margin:0; }
.hub-2610 .hub-conditions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 12px; }
.hub-2610 .hub-conditions a { display:block; min-width:0; }
.hub-2610 .hub-conditions img { width:100%; height:104px; padding:6px; object-fit:contain; background:#fff; }
.hub-2610 .hub-conditions span { display:block; margin-top:7px; font-size:11px; white-space:nowrap; }
.hub-2610 .hub-steps, .hub-2610 .hub-methods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0; margin:0; list-style:none; }
.hub-2610 .hub-steps li, .hub-2610 .hub-methods a { min-width:0; text-align:center; writing-mode:horizontal-tb; }
.hub-2610 .hub-steps svg, .hub-2610 .hub-methods svg { width:24px; height:24px; display:block; margin:0 auto 9px; fill:none; stroke:currentColor; stroke-width:1.2; }
.hub-2610 .hub-steps span { font-size:11px; line-height:1.6; display:block; }
.hub-2610 .hub-methods { margin-top:24px; }
.hub-2610 .hub-methods a { padding:12px 5px; border:1px solid var(--hub-rule); font-size:13px; }
.hub-2610 .hub-methods svg { width:20px; height:20px; margin-bottom:6px; }
.hub-2610 .hub-staff { display:flex; gap:16px; align-items:center; padding:20px 0; border-bottom:1px solid var(--hub-rule); }
.hub-2610 .hub-staff img { flex:0 0 64px; width:64px; height:64px; border-radius:50%; object-fit:cover; }
.hub-2610 .hub-staff strong { font-size:12px; font-weight:500; }
.hub-2610 .hub-staff p { font-size:11px; margin:5px 0 0; }
.hub-2610 .hub-faq-list { display:block; }
.hub-2610 .hub-faq-list .faq-item { margin:0; border:0; border-top:1px solid var(--hub-rule); padding:0; background:none; }
.hub-2610 .hub-faq-list summary { display:block!important; position:relative; list-style:none; font-size:12px!important; line-height:1.6; font-weight:400; padding:10px 24px 10px 0!important; cursor:pointer; min-height:44px; }
.hub-2610 .hub-faq-list summary::-webkit-details-marker { display:none; }
.hub-2610 .hub-faq-list summary::before { content:none!important; }
.hub-2610 .hub-faq-list summary::after { content:'+'!important; position:absolute; right:3px; top:12px; font-size:15px; }
.hub-2610 .hub-faq-list details[open]>summary::after { content:'−'!important; }
.hub-2610 .hub-faq-list details>p { margin:0; padding:2px 0 16px; font-size:12px; line-height:1.8; }
.hub-2610 #access>p { font-size:12px; line-height:1.8; margin:0 0 10px; }
.hub-2610 .hub-access-links { display:flex; gap:12px; }
.hub-2610 .hub-access-links a { font-size:12px; padding:9px 16px; border:1px solid var(--hub-rule); }
.hub-2610 .hub-final-actions { display:flex; flex-direction:column; gap:12px; align-items:center; }
.hub-2610 .hub-final-heading { display:grid; grid-template-columns:minmax(0,1fr) 72px; gap:12px; align-items:center; }
.hub-2610 .hub-final-heading h2 { font-size:20px; }
.hub-2610 .hub-final-heading img { width:72px; height:72px; object-fit:contain; background:#fff; padding:4px; }
.hub-2610 .hub-final-actions .cta-line { width:100%; max-width:450px; min-height:58px; display:flex; justify-content:center; gap:12px; align-items:center; background:#06C755!important; color:#fff!important; padding:12px; }
.hub-2610 .hub-final-actions svg { width:24px; height:24px; }
.hub-2610 .hub-final-actions>a[href^="tel:"] { font-size:13px; }
.hub-2610 .hub-guide { padding:5px 0 18px; }
.hub-2610 .hub-guide-content .section, .hub-2610 .hub-guide-content .b102-section { padding:20px 0!important; margin:0!important; width:100%!important; min-height:0!important; }
.hub-2610 .hub-guide-content .container { width:100%; padding:0; }
.hub-2610 .hub-guide-content { font-size:13px; }
.hub-2610 .hub-guide-content h2 { font-size:21px; }
.hub-2610 .hub-guide-content .flow-grid, .hub-2610 .hub-guide-content .flow-list { display:block!important; }
.hub-2610 .hub-guide-content .flow-step { width:auto!important; }
.hub-2610 .hub-guide-content .original-contact { position:static!important; }
.hub-2610 .site-footer { width:100%; margin:0; padding:20px 16px 90px; }
.hub-2610 .site-footer>.container { width:100%; max-width:1120px; padding:0; margin:auto; }
.hub-2610 .footer-top { display:block; padding:0; }
.hub-2610 .footer-top>div:first-child { display:none; }
.hub-2610 .footer-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.hub-2610 .footer-links h3 { font-size:10px; margin:0 0 8px; }
.hub-2610 .footer-links a { display:block; font-size:10px; margin:0; line-height:1.8; }
.hub-2610 .footer-legal { margin-top:16px; padding-top:12px; gap:8px; font-size:9px; }
.hub-2610 .footer-legal p, .hub-2610 .footer-legal a, .hub-2610 .footer-legal small { font-size:9px; }
@media (max-width:599px) {
 .hub-2610 #en-passion-intro-1 .en-passion-actions { display:flex; flex-direction:column; gap:8px; }
 .hub-2610 #en-passion-intro-1 .en-passion-button { width:100%; }
 .hub-2610 #en-passion-intro-1 .en-passion-button:not(.en-passion-phone) { font-size:14px; }
 .hub-2610 #en-passion-intro-1 .en-passion-button small { font-size:10px; }
 .hub-2610 #en-passion-intro-1 .en-passion-phone { min-height:20px; display:flex; flex-direction:row; justify-content:center; gap:10px; }
 .hub-2610 #en-passion-intro-1 .en-passion-hours { align-self:center; }
}
@media (max-width:359px) {
 .hub-2610 #hero .hero-phone { gap:6px; }
 .hub-2610 #hero .hero-phone strong { font-size:18px; }
 .hub-2610 #hero .hero-phone small { font-size:9px; }
 .hub-2610 #hero .hero-lead { font-size:10.5px; }
 .hub-2610 .hub-model-copy { padding:8px; }
 .hub-2610 .hub-heading h2 { font-size:22px; }
 .hub-2610 .hub-conditions span { font-size:9px; }
}
@media (min-width:600px) {
 .hub-2610 .hub-brands { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
 .hub-2610 .hub-brand span { font-size:13px; }
 .hub-2610 .hub-brand small { font-size:9px; }
 .hub-2610 .hub-models { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .hub-2610 .hub-conditions { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .hub-2610 .hub-section, .hub-2610 .hub-staff, .hub-2610 .hub-guide { width:calc(100% - 64px); }
 .hub-2610 #hero .hero-composition { align-items:center; }
 .hub-2610 #hero .hero-copy { max-width:510px; }
 .hub-2610 #hero .hero-lead { font-size:14px; }
 .hub-2610 #hero .hero-actions { max-width:440px; }
 .hub-2610 #en-passion-intro-1 .en-passion-cta-inner { grid-template-columns:1fr 1fr; align-items:center; }
 .hub-2610 .hub-faq-list summary { font-size:14px!important; }
 .hub-2610 .footer-links a { font-size:12px; }
}
@media (min-width:1024px) {
 .hub-2610 .mobile-sticky { left:50%; right:auto; width:600px; transform:translateX(-50%); }
 .hub-2610 .hub-brands { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .hub-2610 .hub-section { padding:36px 0; }
 .hub-2610 .hub-models { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .hub-2610 .hub-heading h2 { font-size:30px; }
 .hub-2610 #hero .hero-kicker { font-size:34px; }
 .hub-2610 #hero .hero-phone strong { font-size:22px; }
 .hub-2610 #hero .hero-phone small { font-size:12px; }
 .hub-2610 .hub-reference-archive .market-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
}
/* 2026-10-06 クー: よくある質問の「すべての質問を見る」 */
.hub-faq-list .hub-faq-more { border-top:1px solid var(--hub-rule); }
.hub-faq-list .hub-faq-more>summary { font-weight:500; letter-spacing:.04em; }
/* 2026-10-06 クー: FV の文字を減らした分、スマホの FV を詰めて BRANDS を1画面目に入れる(ボス「上段にテキスト詰め込むのやめて」「BRANDSをFV直下に」) */
@media (max-width:599px) {
 .hub-2610 #hero { min-height:640px!important; height:640px!important; }
}
/* 2026-10-06 クー第2便: ボス「LINE査定は写真一枚でokの訴求がない」→ LINE ボタンの近くに1行 */
.hub-2610 #hero .hero-micro { margin:-4px 0 0; font-size:11px; line-height:1.5; color:rgba(247,243,233,.86); text-align:center; letter-spacing:.02em; }
.hub-2610 .hub-steps small { display:block; font-size:10px; line-height:1.4; opacity:.75; margin-top:2px; }
.hub-2610 .hub-final-note { margin:0 0 12px; font-size:12px; line-height:1.7; text-align:center; }
@media (max-width:359px) { .hub-2610 #hero .hero-micro { font-size:10px; } }

/* 2026-10-06 rollout: opt in with BOTH hub classes; /watch/ is unaffected. */
.hub-2610.hub-rollout main { display:block; }
.hub-2610.hub-rollout .hub-section { padding:20px 0; }
.hub-2610.hub-rollout .hub-heading { margin-bottom:12px; }
.hub-2610.hub-rollout .hub-heading h2 { font-size:23px; }
.hub-2610.hub-rollout .hub-brand span { white-space:normal; overflow-wrap:anywhere; font-size:10px; line-height:1.5; }
.hub-2610.hub-rollout .hub-brands { gap:12px 8px; }
.hub-2610.hub-rollout .hub-chips { gap:6px; margin-top:12px; }
.hub-2610.hub-rollout .hub-chips:empty { display:none; }
.hub-2610.hub-rollout .hub-model h3 { font-size:11px; line-height:1.45; overflow-wrap:anywhere; margin:3px 0 6px; }
.hub-2610.hub-rollout .hub-model-copy { padding:8px; }
.hub-2610.hub-rollout .hub-price strong { font-size:19px; }
.hub-2610.hub-rollout .hub-price { white-space:normal; }
.hub-2610.hub-rollout .hub-conditions span { white-space:normal; }
.hub-2610.hub-rollout .hub-faq-list .faq-item { width:100%; max-width:none; }
.hub-2610.hub-rollout .hub-faq-list .faq-answer { font-size:12px; padding:0 0 12px; line-height:1.8; }
.hub-2610.hub-rollout .hub-steps { margin:0; }
.hub-2610.hub-rollout .hub-steps li::before { content:none; }
.hub-2610.hub-rollout .hub-final-actions>a:not([href^="tel:"]) { display:flex; width:100%; max-width:450px; min-height:58px; justify-content:center; align-items:center; gap:10px; padding:12px; background:#06C755!important; color:#fff!important; }
.hub-2610.hub-rollout .hub-final-actions>a:not([href^="tel:"]) strong { font-size:14px; }
.hub-2610.hub-rollout .hub-final-actions small { font-size:10px; }
.hub-2610.hub-rollout .hub-final-actions .button-copy { display:flex; flex-direction:column; }
.hub-2610.hub-rollout .hub-final-actions svg { width:24px; height:24px; }
.hub-2610.hub-rollout .hub-final-note { margin:0 0 12px; }
.hub-2610.hub-rollout .hub-guide-content, .hub-2610.hub-rollout .hub-reference-archive { min-width:0; overflow-wrap:anywhere; }
.hub-2610.hub-rollout .hub-guide-content img { max-width:100%; height:auto; }
.hub-2610.hub-rollout .hub-guide-content h3 { font-size:17px; line-height:1.6; }
.hub-2610.hub-rollout .hub-guide-content iframe { max-width:100%; }
.hub-2610.hub-rollout .hub-reference-archive>section { width:100%!important; max-width:none!important; margin:0!important; padding:14px 0!important; }
.hub-2610.hub-rollout .hub-reference-archive table { width:100%; table-layout:fixed; }
.hub-2610.hub-rollout .hub-reference-archive th, .hub-2610.hub-rollout .hub-reference-archive td { min-width:0; overflow-wrap:anywhere; white-space:normal!important; }
.hub-2610.hub-rollout .hub-reference-archive img { width:100%; max-width:170px; height:120px!important; object-fit:contain; }
.hub-2610.hub-rollout .hub-gold-top { width:calc(100% - 32px); max-width:1120px; margin:auto; }
.hub-2610.hub-rollout .hub-gold-top>section { width:100%!important; max-width:none!important; margin:0!important; padding:20px 0!important; }
.hub-2610.hub-rollout .hub-gold-top .heading-copy { display:none; }
.hub-2610.hub-rollout .hub-gold-top h2 { font-size:23px; margin:0 0 12px; line-height:1.5; }
.hub-2610.hub-rollout .hub-gold-top .container, .hub-2610.hub-rollout .hub-gold-top .wrap { width:100%; padding:0; }
.hub-2610.hub-rollout .hub-gold-top .price-layout { display:block; }
.hub-2610.hub-rollout .hub-gold-top .price-table { width:100%; }
.hub-2610.hub-rollout .hub-gold-top .price-table th, .hub-2610.hub-rollout .hub-gold-top .price-table td { padding:8px; }
.hub-2610.hub-rollout .hub-gold-top .calculator { margin-top:16px; }
@media (max-width:599px) {
 .hub-2610.hub-rollout #hero { height:640px!important; min-height:640px!important; }
 .hub-2610.hub-rollout #hero .hero-composition { padding:90px 16px 24px!important; width:100%!important; }
 .hub-2610.hub-rollout #hero .hero-copy { max-width:none; }
 .hub-2610.hub-rollout #hero .hero-actions { max-width:none; }
 .hub-2610.hub-rollout #hero .hero-lead { font-size:11px; letter-spacing:0; margin-bottom:16px; }
 .hub-2610.hub-rollout #hero .line-button { min-width:0; padding:10px 12px; }
 .hub-2610.hub-rollout #hero .line-button strong { font-size:14px; }
 .hub-2610.hub-rollout #hero .line-button small { font-size:10px; }
 .hub-2610.hub-rollout #hero .hero-micro { font-size:10px; }
 .hub-2610.hub-rollout .hub-models { gap:12px 10px; }
 .hub-2610.hub-rollout .hub-model img { height:120px; }
 .hub-2610.hub-rollout .hub-conditions img { height:96px; }
 .hub-2610.hub-rollout .hub-gold-top .brands-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:359px) {
 .hub-2610.hub-rollout #hero .hero-lead { font-size:9.5px; }
 .hub-2610.hub-rollout #hero .hero-micro { font-size:9px; }
 .hub-2610.hub-rollout .hub-price strong { font-size:16px; }
 .hub-2610.hub-rollout .hub-brand span { font-size:9px; }
}
