.blvf, .blvf * { box-sizing: border-box; }
.blvf { --navy:#12345b; --blue:#1769aa; --pale:#eef6fb; --line:#dbe4ea; --text:#243241; max-width:880px; margin:24px auto; color:var(--text); background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif; box-shadow:0 5px 22px rgba(18,52,91,.07); }
.blvf p,.blvf dl,.blvf dd,.blvf ol,.blvf ul { padding:0; border:0; }
.blvf button { appearance:none; -webkit-appearance:none; box-shadow:none; }
.blvf .blvf__title,.blvf .blvf__panel>h2,.blvf .blvf__panel>h3,.blvf .blvf__result-header>h3,.blvf .blvf__section>h3,.blvf .blvf__section-heading>h3 { padding:0!important; border:0!important; background:none!important; box-shadow:none!important; font-family:inherit!important; font-style:normal!important; text-transform:none!important; letter-spacing:normal!important; }
.blvf .blvf__title::before,.blvf .blvf__title::after,.blvf .blvf__panel>h2::before,.blvf .blvf__panel>h2::after,.blvf .blvf__panel>h3::before,.blvf .blvf__panel>h3::after,.blvf .blvf__result-header>h3::before,.blvf .blvf__result-header>h3::after,.blvf .blvf__section>h3::before,.blvf .blvf__section>h3::after,.blvf .blvf__section-heading>h3::before,.blvf .blvf__section-heading>h3::after { display:none!important; content:none!important; }
.blvf button,.blvf a { font:inherit; }
.blvf__header { padding:28px 20px 20px; text-align:center; background:linear-gradient(180deg,#f7fbfe 0,#fff 100%); }
.blvf__eyebrow,.blvf__step-label,.blvf__result-header>p { margin:0 0 7px; color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.12em; }
.blvf .blvf__header .blvf__title { display:block!important; width:auto!important; margin:0!important; padding:0!important; color:var(--navy)!important; background:transparent!important; background-image:none!important; -webkit-background-clip:border-box!important; background-clip:border-box!important; -webkit-text-fill-color:var(--navy)!important; opacity:1!important; text-align:center!important; text-shadow:none!important; box-shadow:none!important; font-family:inherit!important; font-size:clamp(28px,4.2vw,36px)!important; font-weight:800!important; line-height:1.35!important; letter-spacing:.01em!important; }
.blvf__lead { margin:10px auto 0; max-width:600px; font-size:14px; line-height:1.8; }
.blvf__steps { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin:0; padding:12px 6px; list-style:none; border-block:1px solid var(--line); background:#fff; }
.blvf__steps li { position:relative; display:flex; flex-direction:column; align-items:center; gap:4px; color:#84909a; font-size:11px; font-weight:700; }
.blvf__steps li:not(:last-child)::after { position:absolute; top:13px; left:calc(50% + 17px); width:calc(100% - 34px); height:2px; background:var(--line); content:""; }
.blvf__steps span { z-index:1; display:grid; width:28px; height:28px; place-items:center; border:2px solid var(--line); border-radius:50%; background:#fff; }
.blvf__steps .is-current { color:var(--blue); }
.blvf__steps .is-current span { color:#fff; border-color:var(--blue); background:var(--blue); }
.blvf__steps .is-complete span { color:var(--blue); border-color:#9fc9e5; background:var(--pale); }
.blvf__panel,.blvf__results { padding:24px 18px 30px; }
.blvf .blvf__panel>h2,.blvf .blvf__panel>h3,.blvf .blvf__section>h3,.blvf .blvf__section-heading>h3,.blvf .blvf__result-header>h3 { margin:0!important; color:var(--navy)!important; font-size:20px!important; font-weight:700!important; line-height:1.5!important; }
.blvf__choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.blvf__generation { grid-column:1/-1; margin:16px 0 -2px; padding:8px 11px; color:var(--navy); border-left:4px solid var(--blue); background:var(--pale); font-size:16px; }
.blvf__generation:first-child { margin-top:0; }
.blvf__choice { min-height:70px; padding:14px; text-align:left; color:var(--navy); border:1px solid #cddce7; border-radius:9px; background:#fff; cursor:pointer; transition:border-color .15s,box-shadow .15s; }
.blvf__choice:hover,.blvf__choice:focus-visible { border-color:var(--blue); box-shadow:0 0 0 3px rgba(23,105,170,.12); outline:0; }
.blvf__choice strong,.blvf__choice span { display:block; }
.blvf__choice strong { font-size:17px; }
.blvf__choice span { margin-top:4px; color:#667582; font-size:12px; }
.blvf__panel-note { margin:7px 0 0; color:#667582; font-size:13px; line-height:1.65; }
.blvf__scope-note { display:grid; gap:3px; margin:14px 0 0; padding:12px 14px; border-left:4px solid #e4a11b; border-radius:6px; background:#fff9e9; color:#4b5660; font-size:13px; line-height:1.6; }
.blvf__choices--generations .blvf__choice { min-height:86px; text-align:center; }
.blvf__choices--generations .blvf__choice strong { font-size:21px; }
.blvf__back { margin:0 0 18px; padding:0; color:#536d80; border:0; background:none; cursor:pointer; font-size:13px; }
.blvf__notice { margin:16px 18px 0; padding:12px; color:#684e00; border-radius:7px; background:#fff7d6; font-size:13px; }
.blvf__result-nav { margin:-24px -18px 0; padding:16px 18px; background:#fff; }
.blvf__result-nav .blvf__back { margin:0; }
.blvf__result-header { margin:0 -18px; padding:28px 18px; text-align:center; background:var(--pale); }
.blvf__vehicle-summary { display:flex; flex-wrap:wrap; justify-content:center; gap:5px 14px; margin-top:15px; font-size:13px; }
.blvf__vehicle-summary strong { flex-basis:100%; font-size:18px; }
.blvf__section { padding-top:28px; }
.blvf__section+.blvf__section { margin-top:28px; border-top:1px solid var(--line); }
.blvf__section-note { margin:7px 0 15px; color:#667582; font-size:13px; }
.blvf__fitment { margin-top:15px; padding:20px; text-align:center; border:2px solid var(--blue); border-radius:10px; background:#fff; }
.blvf__fitment-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); grid-auto-rows:1fr; align-items:stretch; gap:12px; margin-top:15px; }
.blvf .blvf__fitment-list>.blvf__fitment { align-self:stretch!important; height:auto!important; margin:0!important; }
.blvf__fitment--multiple { border-color:#3c789f; }
.blvf__fitment>p { margin:0 0 2px; color:#60707c; font-size:13px; }
.blvf__fitment>strong { display:block; color:var(--navy); font-size:34px; line-height:1.3; }
.blvf__fitment dl { display:grid; grid-template-columns:repeat(2,1fr); gap:0; margin:18px 0 0; text-align:left; border-top:1px solid var(--line); }
.blvf__fitment dl div { padding:11px 8px; border-bottom:1px solid var(--line); }
.blvf__fitment dt { color:#71808b; font-size:11px; }
.blvf__fitment dd { margin:3px 0 0; font-size:13px; font-weight:700; }
.blvf__products { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.blvf__pochipp-group { margin-top:18px; }
.blvf__pochipp-group+.blvf__pochipp-group { padding-top:20px; border-top:1px dashed var(--line); }
.blvf .blvf__pochipp-group>h4 { margin:0 0 10px!important; padding:0!important; color:var(--navy)!important; border:0!important; background:none!important; font-size:16px!important; line-height:1.5!important; }
.blvf__pochipp-product { width:100%; min-width:0; padding:14px; border:1px solid var(--line); border-radius:9px; background:#fff; overflow:hidden; }
.blvf .blvf__product-label { position:static!important; display:table!important; width:auto!important; min-width:max-content; max-width:100%; margin:0 0 12px!important; padding:6px 14px!important; overflow:visible!important; color:#fff!important; text-align:center!important; text-indent:0!important; white-space:nowrap; border:0!important; border-radius:999px!important; background:var(--blue)!important; box-shadow:none!important; transform:none!important; clip:auto!important; font-family:inherit!important; font-size:12px!important; font-weight:700!important; line-height:1.4!important; letter-spacing:0!important; }
.blvf .blvf__product-label::before,.blvf .blvf__product-label::after { display:none!important; content:none!important; }
.blvf__pochipp-placeholder { display:grid; gap:5px; min-height:120px; place-content:center; padding:16px; text-align:center; border:1px dashed #afc1ce; border-radius:7px; background:#f7f9fb; }
.blvf__pochipp-placeholder strong { color:var(--navy); }
.blvf__pochipp-placeholder span { color:var(--blue); font-weight:800; }
.blvf__pochipp-placeholder small { color:#667582; line-height:1.5; }
.blvf__pochipp-product .pochipp-box { margin:0; }
.blvf__product { padding:17px; border:1px solid var(--line); border-radius:10px; }
.blvf__badge { display:inline-block; padding:4px 8px; color:#fff; border-radius:20px; background:var(--blue); font-size:11px; font-weight:700; }
.blvf__product h4 { margin:12px 0 0; color:var(--navy); font-size:17px; }
.blvf__product .blvf__product-model { margin:2px 0 10px; color:var(--blue); font-size:21px; font-weight:800; }
.blvf__product>p:last-of-type { min-height:3em; margin:0; font-size:12px; line-height:1.55; }
.blvf__shops { display:grid; gap:7px; margin-top:15px; }
.blvf__shop { display:block; padding:10px 6px; text-align:center; text-decoration:none!important; color:#fff!important; border-radius:6px; font-size:13px; font-weight:700; }
.blvf__shop--amazon { background:#e07800; }.blvf__shop--rakuten { background:#bf0000; }
.blvf__compat { display:flex; align-items:center; justify-content:center; gap:9px; }
.blvf__compat-item { flex:1; padding:14px 5px; text-align:center; border:1px solid var(--line); border-radius:8px; background:#f9fbfc; }
.blvf__compat-item strong,.blvf__compat-item span { display:block; }.blvf__compat-item strong { color:var(--navy); font-size:16px; }.blvf__compat-item span { margin-top:3px; color:#667582; font-size:11px; }
.blvf__compat-arrow { color:var(--blue); font-weight:800; }
.blvf__caution { margin:13px 0 0; color:#7a5d24; font-size:11px; line-height:1.6; }
.blvf__section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.blvf__checked-date { color:#667582; font-size:12px; line-height:1.5; }
.blvf__data-status { padding:5px 9px; border-radius:20px; font-size:11px; font-weight:700; }
.blvf__data-status.is-confirmed { color:#1d6648; background:#e7f6ee; }
.blvf__data-status.is-single-source { color:#765500; background:#fff3ca; }
.blvf__set-alert,.blvf__integration-note { margin:14px 0 0; padding:13px 15px; border-radius:8px; background:#fff6dd; font-size:13px; line-height:1.65; }
.blvf__integration-note { background:var(--pale); }
.blvf__integration-note p { margin:5px 0 0; }
.blvf__vehicle-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:14px 0 0; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.blvf__vehicle-details div { padding:10px 12px; border-bottom:1px solid var(--line); }
.blvf__vehicle-details dt { color:#71808b; font-size:11px; }
.blvf__vehicle-details dd { margin:2px 0 0; font-size:13px; font-weight:700; }
.blvf__compat-group+.blvf__compat-group { margin-top:16px; }
.blvf .blvf__compat-group>h4 { margin:0 0 8px!important; padding:0!important; color:var(--navy)!important; border:0!important; background:none!important; font-size:16px!important; line-height:1.5!important; }
.blvf__compat-details { border:1px solid var(--line); border-radius:8px; background:#fff; overflow:hidden; }
.blvf__compat-details summary { position:relative; padding:13px 42px 13px 14px; color:var(--navy); background:#f7f9fb; cursor:pointer; font-size:14px; font-weight:700; list-style:none; }
.blvf__compat-details summary::-webkit-details-marker { display:none; }
.blvf__compat-details summary::after { position:absolute; top:50%; right:15px; content:"＋"; color:var(--blue); font-size:20px; line-height:1; transform:translateY(-50%); }
.blvf__compat-details[open] summary::after { content:"−"; }
.blvf__compat-details .blvf__compat-candidates { padding:14px; border-top:1px solid var(--line); }
.blvf__compat-candidates { display:flex; flex-wrap:wrap; gap:8px; }
.blvf .blvf__compat-candidate { display:inline-flex; min-width:116px; min-height:54px; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:8px 14px; color:var(--navy)!important; text-align:center; text-decoration:none!important; border:1px solid #b9cfdd!important; border-radius:7px; background:var(--pale)!important; box-shadow:none!important; font-size:15px; font-weight:800; line-height:1.35; }
.blvf .blvf__compat-candidate:hover,.blvf .blvf__compat-candidate:focus-visible { color:#fff!important; border-color:var(--blue)!important; background:var(--blue)!important; outline:0; }
.blvf__compat-candidate span { display:block; font-size:10px; font-weight:600; }
.blvf__compat-empty { margin:0; padding:11px 13px; color:#667582; border:1px solid var(--line); border-radius:8px; background:#f7f9fb; font-size:13px; }
.blvf__lookup-key { margin:0; padding:11px 13px; border:1px solid var(--line); border-radius:8px; background:#f7f9fb; font-size:13px; }
.blvf__lookup-key code { margin-left:4px; color:var(--navy); font-weight:700; }
.blvf__sources { margin:14px 0 0; padding:0; list-style:none; }
.blvf__sources li { padding:10px 0; border-bottom:1px solid var(--line); }
.blvf__sources a { display:block; color:var(--blue)!important; font-size:13px; }
.blvf__sources span { color:#71808b; font-size:11px; }
.blvf__articles { display:grid; gap:8px; margin-top:15px; }
.blvf__article { display:flex; align-items:center; justify-content:space-between; padding:12px 14px; color:var(--navy)!important; text-decoration:none!important; border:1px solid var(--line); border-radius:7px; font-size:13px; }
.blvf__article span { color:var(--blue); font-size:20px; }
.blvf__restart { display:block; width:100%; margin-top:30px; padding:14px; color:var(--navy); border:1px solid var(--navy); border-radius:8px; background:#fff; cursor:pointer; font-weight:700; }

.blvf-cta,.blvf-cta * { box-sizing:border-box; }
.blvf-cta { --cta-blue:#2879a5; --cta-navy:#12345b; position:relative; margin:24px 0; padding:22px 22px 18px 26px; color:#243241; border:1px solid #cfe2ed; border-radius:10px; background:#eff7fc; box-shadow:0 4px 16px rgba(18,52,91,.06); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif; }
.blvf-cta::before { position:absolute; inset:18px auto 18px 0; width:4px; border-radius:0 4px 4px 0; background:var(--cta-blue); content:""; }
.blvf-cta p { margin:0!important; padding:0!important; color:inherit!important; border:0!important; background:none!important; font-family:inherit!important; line-height:1.75!important; letter-spacing:normal!important; }
.blvf-cta p::before,.blvf-cta p::after { display:none!important; content:none!important; }
.blvf-cta .blvf-cta__badge { display:inline-block!important; margin-bottom:12px!important; padding:5px 10px!important; color:#fff!important; border-radius:6px!important; background:var(--cta-blue)!important; font-size:13px!important; font-weight:800!important; line-height:1.4!important; }
.blvf-cta .blvf-cta__problem { color:var(--cta-navy)!important; font-size:17px!important; font-weight:800!important; }
.blvf-cta .blvf-cta__description { margin-top:8px!important; font-size:14px!important; }
.blvf-cta .blvf-cta__button { display:grid!important; grid-template-columns:24px minmax(0,1fr) 18px; gap:10px; width:100%!important; min-height:56px; align-items:center; margin:18px 0 10px!important; padding:12px 16px!important; color:#fff!important; text-align:center!important; text-decoration:none!important; border:0!important; border-radius:9px!important; background:var(--cta-navy)!important; box-shadow:none!important; font-family:inherit!important; font-size:16px!important; font-weight:800!important; line-height:1.45!important; }
.blvf-cta .blvf-cta__button:hover,.blvf-cta .blvf-cta__button:focus-visible { color:#fff!important; background:#0c2948!important; transform:none!important; outline:3px solid rgba(40,121,165,.25); outline-offset:2px; }
.blvf-cta__button svg { display:block; width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.blvf-cta__button b { color:inherit; font-size:25px; font-weight:400; line-height:1; }
.blvf-cta .blvf-cta__note { text-align:center!important; color:#536675!important; font-size:12px!important; font-weight:600!important; }
[hidden] { display:none!important; }
@media (max-width:520px) {
  .blvf { margin:14px 0; border-radius:10px; }
  .blvf__header { padding-inline:16px; }
  .blvf .blvf__header .blvf__title { font-size:26px!important; line-height:1.4!important; }
  .blvf__lead { text-align:left; }
  .blvf__steps li { font-size:9px; }
  .blvf__steps span { width:25px; height:25px; }
  .blvf__steps li:not(:last-child)::after { top:12px; left:calc(50% + 15px); width:calc(100% - 30px); }
  .blvf__panel,.blvf__results { padding-inline:14px; }
  .blvf__result-nav { margin-inline:-14px; padding:14px; }
  .blvf__result-header { margin-inline:-14px; padding-inline:14px; }
  .blvf__choices { grid-template-columns:1fr; }
  .blvf__products { gap:14px; }
  .blvf__product { padding:13px 10px; }
  .blvf__product h4 { font-size:14px; }
  .blvf__product .blvf__product-model { font-size:18px; }
  .blvf__fitment { padding:17px 10px; }
  .blvf__fitment dl { grid-template-columns:1fr; }
  .blvf__vehicle-details { grid-template-columns:1fr; }
  .blvf__compat { gap:4px; }
  .blvf__compat-item { padding-inline:2px; }
  .blvf__compat-item strong { font-size:13px; }
  .blvf__compat-arrow { font-size:12px; }
  .blvf-cta { margin:18px 0; padding:18px 14px 15px 19px; }
  .blvf-cta::before { inset-block:14px; }
  .blvf-cta .blvf-cta__problem { font-size:16px!important; }
  .blvf-cta .blvf-cta__button { min-height:56px; padding-inline:12px!important; font-size:15px!important; }
  .blvf-cta__note span { display:none; }
  .blvf-cta__note { display:grid; }
}
