@font-face {
    font-family: "DIN LP2605";
    src: url("/assets/fonts/din-bold.otf") format("opentype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/*!
 * lp-2605.css : 特設LP（2605/ホークス起用）専用スタイル
 * デザイン基準サイズ: 幅 640px のモバイル中心レイアウト
 *
 * ============================================================
 *   編集ガイド (目次)
 * ============================================================
 *  [Base]       Reset & Base           : 6行〜
 *  [Header]     ヘッダー(ロゴ/WEB/LINE/TEL)  : 38行〜
 *  [Hero]       ヒーロー画像帯           : 166行〜
 *  [Form]       査定フォーム上枠         : 169行〜
 *  [SecTitle]   セクションタイトル共通     : 184行〜
 *  [Reasons]    3つの理由 (01/02/03)    : 191行〜
 *  [Compare]    他社比較表              : 311行〜
 *  [Points]     査定額UPの3つのポイント  : 377行〜
 *  [Results]    直近の買取実績           : 430行〜
 *  [Voice/GBP]  お客様の声(Google)      : 508行〜
 *  [WebLine]    WEB/LINE誘導ボタン      : 523行〜
 *  [FAQ]        よくある質問             : 554行〜
 *  [AnyState]   どんな状態でも高価買取    : 648行〜
 *  [Flow]       廃車・買取の流れ         : 687行〜
 *  [Stores]     店舗情報                : 766行〜
 *  [FinalCTA]   フッター上の最終CTA      : 859行〜
 *  [Footer]     フッター                : 982行〜
 *  [StickyCTA] スマホ追従ボトムCTA      : 1018行〜
 *  [Tablet]     PC/タブレット上書き      : 1052行〜
 *
 *  色を変えたい場合は ↓ の :root 内 CSS変数を編集
 *  （個別の hex 値は段階的に var(--lp-***) へ置換中）
 * ============================================================
 */

:root {
    --lp-red: #c4231f;
    /* メインの濃赤 (見出しライン/比較表/CTA) */
    --lp-red-bright: #d52727;
    /* 明るい赤 (ボタン/枠線) */
    --lp-red-dark: #b02022;
    /* 暗い赤 (3つの理由背景) */
    --lp-red-deepbg: #5a0d10;
    /* ポイント背景の暗赤グラデ上端 */
    --lp-yellow: #fff100;
    /* 強調黄 (ポイント見出し) */
    --lp-yellow-lt: #fff8c4;
    /* 比較表の行ラベル背景 */
    --lp-green: #04ba26;
    /* LINEボタン */
    --lp-green-dark: #1a9d2a;
    /* LINEボタン枠 */
    --lp-ink: #1a1a1a;
    /* 本文/見出しの黒 */
    --lp-gray-bg: #f3f3f3;
    /* 全体背景の薄グレー */
    --lp-beige: #ebe8e3;
    /* お客様の声背景 */
}

/* === Reset & Base === */

.lp2605-body {
    margin: 0;
    padding: 0;
    background: #f3f3f3;
    font-family:
        "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "メイリオ",
        sans-serif;
    color: #1a1a1a;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
}

.lp2605__sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.lp2605,
.lp2605 * {
    box-sizing: border-box;
}

.lp2605 {
    max-width: 640px;
    margin: 0 auto;
    background: #fff;
    position: relative;
    overflow-x: clip;
    padding-bottom: env(safe-area-inset-bottom);
}

.lp2605 img {
    max-width: 100%;
    height: auto;
    display: block;
}

.lp2605 a {
    color: inherit;
    text-decoration: none;
}

.lp2605__sec-img {
    width: 100%;
    display: block;
}

/* === Header (design 100% match) === */

.lp2605__hd {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 6px;
    background: #fff;
    border-bottom: 1px solid #eee;
    position: sticky;
    top: 0;
    z-index: 100;
    min-width: 0;
}

.lp2605__hd-logo {
    flex: 0 0 auto;
    min-width: 0;
    display: flex;
    align-items: center;
}

.lp2605__hd-logo img {
    width: auto;
    height: 36px;
    display: block;
    max-width: 100px;
    object-fit: contain;
}

.lp2605__hd-right {
    display: flex;
    align-items: stretch;
    gap: 5px;
    flex: 1 1 auto;
    justify-content: flex-end;
    min-width: 0;
}

.lp2605__hd-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
    border-radius: 4px;
    padding: 7px 10px;
    color: #fff !important;
    font-weight: 900;
    font-size: 12px;
    min-width: 54px;
    text-align: center;
}

.lp2605__hd-btn--web {
    background: #d52727;
}

.lp2605__hd-btn--line {
    background: #04ba26;
}

.lp2605__hd-btn span:first-child {
    font-size: 12px;
}

.lp2605__hd-btn span + span {
    font-size: 12px;
    margin-top: 2px;
}

/* スマホ（〜479px）では電話BOXの時間情報を隠してコンパクトに */

@media (max-width: 479px) {
    .lp2605__hd-tel-hours {
        display: none;
    }
    .lp2605__hd-tel {
        min-width: 0;
        padding: 6px 8px;
    }
    .lp2605__hd-tel a {
        font-size: 14px;
    }
    .lp2605__hd-logo img {
        max-width: 86px;
        height: 32px;
    }
}

/* 電話 ブロック - デザイン通り常時表示 */

.lp2605__hd-tel {
    display: flex;
    flex-direction: column;
    background: #1a1a1a;
    color: #fff;
    padding: 4px 7px;
    border-radius: 3px;
    align-items: stretch;
    justify-content: center;
    min-width: 116px;
}

.lp2605__hd-tel a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: #fff !important;
    font-weight: 900;
    font-size: 13px;
    line-height: 1.1;
    text-decoration: none;
    white-space: nowrap;
}

.lp2605__hd-tel-ico {
    width: 14px;
    height: 14px;
    fill: #fff;
    flex-shrink: 0;
}

.lp2605__hd-tel-hours {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 11px;
    line-height: 1.15;
    margin-top: 3px;
    color: #fff;
    flex-wrap: wrap;
}

.lp2605__hd-tel-hours .lbl {
    background: #ffffff;
    color: #1a1a1a;
    font-size: 9px;
    font-weight: 800;
    padding: 2px 5px;
    border-radius: 2px;
    line-height: 1.15;
    white-space: nowrap;
    text-align: center;
}

.lp2605__hd-tel-hours .hours {
    font-weight: 800;
    font-size: 14px;
    color: #fff;
    letter-spacing: 0.02em;
}

.lp2605__hd-tel-hours .note {
    display: block;
    width: 100%;
    font-size: 8.5px;
    color: #fff;
    opacity: 0.9;
    text-align: center;
    margin-top: 1px;
    font-weight: 600;
}

/* 中サイズ以上は通常表示 */

@media (min-width: 480px) {
    .lp2605__hd {
        padding: 6px 10px;
        gap: 8px;
    }
    .lp2605__hd-logo img {
        height: 36px;
        max-width: 140px;
    }
    .lp2605__hd-btn {
        font-size: 12px;
        min-width: 44px;
        padding: 5px 8px;
    }
    .lp2605__hd-btn span:first-child {
        font-size: 11px;
    }
    .lp2605__hd-btn span + span {
        font-size: 12px;
    }
    .lp2605__hd-tel {
        padding: 5px 10px;
        min-width: 140px;
        max-width: 199px;
    }
    .lp2605__hd-tel a {
        font-size: 14px;
        gap: 3px;
    }
    .lp2605__hd-tel-ico {
        font-size: 12px;
    }
    .lp2605__hd-tel-hours {
        font-size: 11px;
    }
    .lp2605__hd-tel-hours .lbl {
        font-size: 9px;
    }
    .lp2605__hd-tel-hours .note {
        font-size: 9px;
    }
}

@media (min-width: 600px) {
    .lp2605__hd-logo img {
        height: 40px;
        max-width: 180px;
    }
    .lp2605__hd-btn {
        font-size: 13px;
        min-width: 50px;
        padding: 6px 10px;
    }
    .lp2605__hd-tel a {
        font-size: 15px;
    }
}

/* === Hero === */

.lp2605__hero {
    background: #d52727;
}

/* === Form Section === */

.lp2605__form-wrap {
    background: #fff;
}

.lp2605__reasons {
    padding-top: 0;
}

.image_terr_points {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.lp2605__reasons .lp2605__sec-title {
    margin-top: 0;
    display: block;
    background: transparent;
}

.lp2605__form-inner {
    max-width: 100%;
    background: #fff;
}

.image_terr_points {
    width: 100%;
    height: auto;
}

/* form-b 親要素 .main_form / .assessment の position 解除 (form-b CSS が has() で解除しているが、保険) */

.lp2605 .main_form {
    position: static !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
}

.lp2605 .assessment {
    position: static !important;
    right: auto !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 16px 0 0 !important;
}

/* === Section Title (common) === */

.lp2605__sec-title {
    display: block;
    width: auto;
    max-width: min(86%, 480px);
    height: auto;
    margin: 28px auto 18px;
    object-fit: contain;
}

/* reasons だけは赤背景セクション内なので余白を別管理 */

.lp2605__reasons .lp2605__sec-title {
    margin: 24px auto 14px;
    max-width: min(86%, 480px);
}

/* ===========================
   セクション余白の共通変数
   =========================== */

:root {
    --lp-sec-pad-y: 32px;
}

/* ===========================
   3つの理由
   =========================== */

.lp2605__reasons {
    background: transparent;
    padding: 0;
}

.lp2605__reasons-list {
    padding: 30px 15px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    background: linear-gradient(180deg, #b02022 0%, #c4231f 100%);
}

.lp2605__reason {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 6px 0 rgba(0, 0, 0, 0.25);
    padding-bottom: 15px;
}

.lp2605__reason-hd {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 10px 0;
}

.lp2605__reason-num {
    font-family:
        "DIN LP2605", "DIN Alternate", "DIN Condensed", "Helvetica Neue", Arial,
        sans-serif;
    font-size: 56px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1;
    letter-spacing: -1px;
    flex: 0 0 auto;
}

.lp2605__reason-ttl {
    margin: 0;
    padding: 4px 0 10px;
    font-weight: 900;
    color: #1a1a1a;
    line-height: 1.25;
    border-bottom: 4.5px solid #c4231f;
    flex: 1 1 auto;
    min-width: 0;
    display: block;
}

.lp2605__reason-pre {
    display: inline-block;
    font-size: 14px;
    font-weight: 800;
    color: #1a1a1a;
    line-height: 1.2;
    letter-spacing: -0.04em;
    margin-right: 0;
    vertical-align: 0.18em;
    white-space: nowrap;
}

.lp2605__reason-key {
    display: inline-block;
    font-size: 21px;
    font-weight: 900;
    color: #1a1a1a;
    line-height: 1.2;
    letter-spacing: -0.04em;
    white-space: nowrap;
}

@media (min-width: 414px) {
    .lp2605__reason-ttl {
        text-align: left;
        padding: 6px 4px 12px;
    }
    .lp2605__reason-pre {
        font-size: 15px;
        margin-right: 0;
        vertical-align: 0.2em;
        letter-spacing: -0.04em;
    }
    .lp2605__reason-key {
        font-size: 24px;
        letter-spacing: -0.04em;
    }
}

@media (min-width: 480px) {
    .lp2605__reason-pre {
        font-size: 18px;
        margin-right: 0;
    }
    .lp2605__reason-key {
        font-size: 28px;
    }
}

@media (min-width: 640px) {
    .lp2605__reason-pre {
        font-size: 22px;
        margin-right: 0;
    }
    .lp2605__reason-key {
        font-size: 34px;
    }
}

.lp2605__reason-body {
    margin: 0;
    padding: 14px 22px 14px;
    font-size: 15.5px;
    line-height: 1.8;
    color: #1a1a1a;
}

.lp2605__reason-photo-wrap {
    position: relative;
    width: calc(100% - 28px);
    margin: 6px 14px 14px;
    aspect-ratio: 27 / 10;
    overflow: hidden;
    border-radius: 6px;
    background: #1a1a1a;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.lp2605__reason-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    transform: none !important;
}

/* ===========================
   比較表
   =========================== */

.lp2605__compare {
    background: #ffd9d6;
    padding: 16px 16px 36px;
}

.lp2605__compare-tbl {
    width: 100%;
    margin: 18px auto 0;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
    border: 3px solid #c4231f;
    border-radius: 10px;
    overflow: visible;
    box-shadow: 0 5px 0 rgba(0, 0, 0, 0.25);
    table-layout: fixed;
}

.lp2605__compare-tbl th,
.lp2605__compare-tbl td {
    border-right: 1px solid #c4231f;
    border-bottom: 1px solid #c4231f;
    padding: 18px 4px;
    font-size: 14px;
    text-align: center;
    font-weight: 700;
    background: #ededed;
}

.lp2605__compare-tbl th:last-child,
.lp2605__compare-tbl td:last-child {
    border-right: none;
}

.lp2605__compare-tbl tr:last-child th,
.lp2605__compare-tbl tr:last-child td {
    border-bottom: none;
}

.lp2605__compare-th-blank {
    background: #fff !important;
    width: 20%;
    border-right-color: transparent !important;
    border-bottom-color: transparent !important;
}

.lp2605__compare-th-us {
    background: #c4231f !important;
    padding: 0 !important;
    vertical-align: bottom;
    width: 28%;
    border-right-color: transparent !important;
    border-bottom: none !important;
}

.lp2605__compare-th-us-tab {
    display: block;
    background: #c4231f;
    color: #fff;
    font-weight: 900;
    font-size: 15px;
    line-height: 1.25;
    padding: 14px 4px 16px;
    margin: -18px -1px 0;
    border-radius: 8px 8px 0 0;
    box-shadow: 0 -3px 8px rgba(0, 0, 0, 0.18);
    position: relative;
    z-index: 2;
}

.lp2605__compare-th {
    background: #ededed !important;
    color: #555;
    font-size: 15px;
    font-weight: 800;
    width: 26%;
}

.lp2605__compare-rowlbl {
    background: #fff8c4 !important;
    color: #1a1a1a;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.35;
    padding: 12px 8px;
    letter-spacing: -0.02em;
    word-break: keep-all;
    overflow-wrap: anywhere;
    border-right: 1px solid #c4231f;
    text-align: left;
}

.lp2605__compare-cell {
    background: #ededed !important;
}

.lp2605__compare-cell--us {
    background: #c4231f !important;
    color: #fff;
}

.lp2605__compare-cell .mark {
    display: inline-block;
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
    color: #666;
}

.lp2605__compare-cell--us .mark {
    color: #fff;
}

.lp2605__compare-cell .mark.is-best {
    font-size: 38px;
}

.lp2605__compare-cell .mark.is-bad,
.lp2605__compare-cell .mark.is-mid,
.lp2605__compare-cell .mark.is-good {
    color: #666;
}

/* ===========================
   3つのポイント
   =========================== */

.lp2605__points {
    padding: 32px 0;
    color: #fff;
}

.lp2605__points-list {
    padding: 8px 14px 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

img.lp2605__sec-title_points {
    max-width: 10px;
}

.lp2605__point {
    background: #c4231f;
    border-radius: 10px;
    padding: 18px 20px;
    position: relative;
    overflow: visible;
    box-shadow: 0 6px 0 rgba(0, 0, 0, 0.35);
}

.lp2605__point-icon {
    position: absolute;
    top: -20px;
    right: 2px;
    width: 95px;
    height: 95px !important;
    border-radius: 50%;
    object-fit: cover;
    z-index: 2;
    border: solid 4px #c4231f;
}

.lp2605__point-ttl {
    margin: 0 80px 12px 0;
    padding: 0 0 10px;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.4;
    color: #fff100;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);
    border-bottom: 2px solid rgba(255, 255, 255, 0.4);
    letter-spacing: -0.02em;
}

@media (min-width: 480px) {
    .lp2605__point-ttl {
        font-size: 20px;
    }
}

.lp2605__point-body {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.8;
    color: #fff;
}

/* ===========================
   直近の買取実績
   =========================== */

.lp2605__results-list {
    background: #d81614;
    padding: 46px 26px 46px;
    display: flex;
    gap: 29px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-padding-left: 18px;
}

.lp2605__results-list::-webkit-scrollbar {
    height: 6px;
}

.lp2605__results-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.35);
    border-radius: 3px;
}

.lp2605__result {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    text-align: center;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.25);
    flex: 0 0 calc(75% - 6px);
    scroll-snap-align: start;
}

.lp2605__result-photo {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    background: #f3f3f3;
}

.lp2605__result-photo--placeholder {
    background: linear-gradient(135deg, #e8e8e8, #bbb);
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.lp2605__result-photo--placeholder span {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.lp2605__result-maker {
    margin: 8px 0;
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
}

.lp2605__result-spec {
    margin: 0;
    padding: 4px 8px 12px;
    display: grid;
    grid-template-columns: 78px 1fr;
    gap: 6px 6px;
    text-align: left;
}

.lp2605__result-spec dt {
    background: #c4231f;
    color: #fff;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 800;
    text-align: center;
    line-height: 1.2;
}

.lp2605__result-spec dt:first-of-type {
    color: #fff100;
}

.lp2605__result-spec dd {
    margin: 0;
    font-size: 13px;
    color: #1a1a1a;
    display: flex;
    align-items: center;
    line-height: 1.3;
    font-weight: 700;
}

.lp2605__result-spec dd.is-price {
    font-weight: 900;
    font-size: 16px;
    padding: 2px 8px;
    border-radius: 4px;
    align-self: center;
}

/* ===========================
   お客様の声 header
   =========================== */

.lp2605__voice-head {
    background: #e6e6e6;
    padding-top: 40px;
}

/* === GBP セクション === */

.lp2605__gbp {
    background: #e6e6e6;
    padding: 24px 10px 40px;
}

.lp2605__gbp .gr-section {
    background: transparent !important;
    padding: 0 !important;
    overflow: visible !important;
}

.lp2605__gbp .gr-section::before,
.lp2605__gbp .gr-section::after {
    display: none !important;
    background: none !important;
}

.lp2605__gbp .gr-inner {
    max-width: 100% !important;
    padding: 0 !important;
}

/* === WEB/LINE buttons === */

.lp2605__webline {
    background: #fff;
    background-image:
        linear-gradient(#f3f3f3 1px, transparent 1px),
        linear-gradient(90deg, #f3f3f3 1px, transparent 1px);
    background-size: 20px 20px;
    padding: 28px 7px 24px;
    display: flex;
    gap: 12px;
    justify-content: center;
}

.lp2605__webline-btn {
    flex: 1 1 0;
    max-width: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 16px 8px;
    color: #fff !important;
    font-weight: 800;
    font-size: 16px;
    border-radius: 6px;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.18);
    text-align: center;
    line-height: 1.2;
}

.lp2605__webline-btn .arrow {
    font-size: 12px;
}

.lp2605__webline-btn--web {
    background: #c4231f;
}

.lp2605__webline-btn--line {
    background: #1a9d2a;
}

.lp2605__webline-btn:active {
    transform: translateY(2px);
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.18);
}

/* === FAQ === */

.lp2605__faq {
    background: #fff;
    background-image:
        linear-gradient(#f3f3f3 1px, transparent 1px),
        linear-gradient(90deg, #f3f3f3 1px, transparent 1px);
    background-size: 20px 20px;
    padding: 24px 18px 36px;
    position: relative;
    overflow: hidden;
}

.lp2605__faq-bg {
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    font-family: "Bebas Neue", "Arial Narrow", sans-serif;
    font-weight: 900;
    font-size: 97px;
    line-height: 1;
    color: rgb(0 0 0 / 9%);
    letter-spacing: 6px;
    pointer-events: none;
    user-select: none;
}

.lp2605__faq-ttl {
    text-align: center;
    color: #c4231f;
    font-size: 28px;
    font-weight: 900;
    margin: 16px 0 24px;
    letter-spacing: 1px;
    position: relative;
}

.lp2605__faq-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lp2605__faq-item {
    background: #fff;
    border: 1.5px solid #d52727;
    border-radius: 6px;
    overflow: hidden;
}

.lp2605__faq-item summary {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 36px 16px 14px;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
    color: #1a1a1a;
    cursor: pointer;
    list-style: none;
    position: relative;
}

.lp2605__faq-item summary::-webkit-details-marker {
    display: none;
}

.lp2605__faq-q {
    color: #d52727;
    font-weight: 800;
    flex: 0 0 auto;
}

.lp2605__faq-qtext {
    flex: 1 1 auto;
}

.lp2605__faq-mark {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
}

.lp2605__faq-mark::before,
.lp2605__faq-mark::after {
    content: "";
    position: absolute;
    background: #d52727;
    transition: transform 0.2s ease;
}

.lp2605__faq-mark::before {
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    transform: translateY(-50%);
}

.lp2605__faq-mark::after {
    left: 50%;
    top: 0;
    width: 2px;
    height: 100%;
    transform: translateX(-50%);
}

.lp2605__faq-item[open] .lp2605__faq-mark::after {
    transform: translateX(-50%) scaleY(0);
}

.lp2605__faq-ans {
    padding: 0 14px 16px 14px;
    font-size: 13.5px;
    line-height: 1.7;
    color: #333;
    background: #fdf4f3;
    border-top: 1px solid #f3d8d7;
    padding-top: 14px;
}

.lp2605__faq-more {
    text-align: right;
    margin: 14px 0 0;
}

.lp2605__faq-more a {
    color: #c4231f !important;
    font-weight: 700;
    font-size: 14px;
}

.lp2605__faq-more a span {
    color: #d52727;
    margin-left: 4px;
}

/* ===========================
   どんな状態でも高価買取
   =========================== */

.lp2605__anystate {
    background: #c4231f;
    padding: 0;
    color: #fff;
}

.lp2605__anystate-grid {
    padding: 130px 22px 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.lp2605__state {
    margin: 0;
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    background: #1a1a1a;
}

.lp2605__state img {
    width: 100%;
    height: 165px;
    object-fit: cover;
    display: block;
}

.lp2605__state figcaption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    text-align: center;
    padding: 6px 4px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 1px;
}

/* ===========================
   廃車・買取の流れ
   =========================== */

.lp2605__flow {
    background: #fff;
    padding: 0 0 32px;
}

.lp2605__flow-list {
    list-style: none;
    margin: 0;
    padding: 8px 15px 0;
    counter-reset: step;
    position: relative;
}

.lp2605__flow-list::before {
    content: "";
    position: absolute;
    left: 41px;
    top: 70px;
    bottom: 60px;
    width: 0;
    border-left: 3px dotted #c4231f;
    z-index: 0;
}

.lp2605__step:last-child::before {
    content: "";
    position: absolute;
    left: 23px;
    top: 32px;
    bottom: -22px;
    width: 7px;
    background: #fff;
    z-index: 1;
}

.lp2605__step {
    position: relative;
    margin: 0 0 22px;
    padding-left: 5px;
}

.lp2605__step-hd {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.lp2605__step-num {
    flex: 0 0 auto;
    width: 50px;
    height: 50px;
    background: #c4231f;
    color: #fff;
    border-radius: 17px 5px 17px 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family:
        "DIN Alternate", "DIN Condensed", "Helvetica Neue", Arial, sans-serif;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
    position: relative;
    z-index: 1;
}

.lp2605__step-ttl {
    margin: 0;
    padding: 6px 0 8px;
    font-size: 22px;
    font-weight: 900;
    color: #c4231f;
    letter-spacing: -0.02em;
    line-height: 1.4;
    border-bottom: 2.5px solid #c4231f;
    flex: 1 1 auto;
}

.lp2605__step-body {
    margin: 0 0 12px;
    padding-left: 42px;
    font-size: 14px;
    line-height: 1.8;
    color: #1a1a1a;
}

.lp2605__step-photo {
    width: calc(100% - 45px);
    margin-left: 42px;
    aspect-ratio: 3 / 1;
    object-fit: cover;
    display: block;
    border-radius: 6px;
}

/* ===========================
   店舗情報
   =========================== */

.lp2605__stores {
    background: #a81f24;
    padding: 32px 0 0;
}

.lp2605__stores-ttl {
    margin: 0 auto 15px;
    text-align: center;
    color: #c4231f;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 4px;
    background: #ffffff;
    padding: 12px;
    width: 90%;
}

.lp2605__stores-list {
    display: flex;
    flex-direction: column;
}

.lp2605__store {
    color: #fff;
    padding: 18px 0 20px;
}

.lp2605__store-hd {
    background: transparent;
    padding: 14px 22px 8px;
    order: 2;
}

.lp2605__store-name {
    margin: 0;
    padding-bottom: 12px;
    font-size: 24px;
    font-weight: 900;
    color: #fff;
    line-height: 1.3;
    border-bottom: 2px solid #fff;
}

.lp2605__store-name small {
    display: inline-block;
    font-size: 14px;
    margin-left: 2px;
    font-weight: 800;
    opacity: 1;
}

.lp2605__store-photo {
    width: calc(100% - 36px);
    margin: 0 18px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    border-radius: 4px;
    order: 1;
}

.lp2605__store {
    display: flex;
    flex-direction: column;
}

.lp2605__store-info {
    padding: 6px 22px 4px;
    color: #fff;
    order: 3;
}

.lp2605__store-addr {
    margin: 12px 0 16px;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 700;
    color: #fff;
}

.lp2605__store-addr small {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    opacity: 0.85;
}

.lp2605__store-dl {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 10px 14px;
    margin: 0;
    font-size: 14px;
}

.lp2605__store-dl dt {
    background: #fff;
    color: #1a1a1a;
    font-weight: 800;
    padding: 10px 6px;
    text-align: center;
    border-radius: 2px;
    align-self: start;
    font-size: 14px;
}

.lp2605__store-dl dd {
    margin: 0;
    padding: 6px 0;
    line-height: 1.55;
    color: #fff;
    font-weight: 700;
}

.lp2605__store-dl dd a {
    color: #fff !important;
    font-weight: 800;
    text-decoration: none;
}

.lp2605__store-dl dd p {
    margin: 0 0 4px;
}

.lp2605__store-dl dd p:last-child {
    margin-bottom: 0;
}

.lp2605__store-note {
    font-size: 11.5px;
    opacity: 0.75;
    font-weight: 600;
}

.lp2605__store-dl dd small {
    display: block;
    font-size: 12px;
    opacity: 0.85;
    margin-top: 2px;
    font-weight: 600;
}

/* === Final CTA === */

.lp2605__final {
    background: #fff;
    background-image:
        radial-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px),
        linear-gradient(180deg, #fff 0%, #fff 100%);
    background-size:
        22px 22px,
        auto;
    padding: 28px 5px 36px;
    text-align: center;
    color: #1a1a1a;
    position: relative;
}

.lp2605__final-ttl {
    font-size: 24px;
    font-weight: 900;
    line-height: 1.45;
    margin: 0 0 6px;
}

.lp2605__final-strong {
    color: #1a1a1a;
    font-size: 28px;
}

.lp2605__final-lead {
    font-size: 13px;
    color: #555;
    margin: 0 0 18px;
}

.lp2605__final-form-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 88%;
    max-width: 480px;
    margin: 0 auto 20px;
    padding: 20px 14px;
    background: linear-gradient(180deg, #d52727 0%, #c4231f 100%);
    color: #fff !important;
    font-weight: 900;
    font-size: 22px;
    text-align: center;
    border-radius: 8px;
    letter-spacing: 1px;
    box-shadow: 0 4px 0 #7a1410;
    border: 2px solid #fff;
    position: relative;
}

.lp2605__final-form-btn::after {
    content: "▶";
    font-size: 14px;
    margin-left: 4px;
}

.lp2605__final-form-btn:active {
    transform: translateY(2px);
    box-shadow: 0 2px 0 #7a1410;
}

.lp2605__final-tel-box {
    width: 96%;
    max-width: 580px;
    margin: 0 auto 14px;
    background: #fff;
    border: 2px solid #1a1a1a;
    border-radius: 10px;
    overflow: hidden;
    text-align: center;
    padding: 0 12px 12px;
}

.lp2605__final-tel-lead {
    background: #d52727;
    color: #fff;
    font-size: 12.5px;
    font-weight: 700;
    margin: 0 -12px 10px;
    padding: 8px 10px;
    text-align: center;
}

.lp2605__final-tel-num {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #d52727 !important;
    font-weight: 900;
    font-size: 30px;
    line-height: 1.1;
    margin: 4px 0 8px;
}

.lp2605__final-tel-ico {
    display: inline-flex;
}

.lp2605__final-tel-ico img {
    width: 22px;
    height: 22px;
    display: block;
}

.lp2605__final-tel-hours {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12px;
    color: #333;
    line-height: 1.3;
}

.lp2605__final-tel-hours .lbl {
    background: #1a1a1a;
    color: #fff;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.lp2605__final-tel-hours .hours {
    font-weight: 800;
}

.lp2605__final-tel-hours .note {
    font-size: 10px;
    color: #666;
}

.lp2605__final-line-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 98%;
    max-width: 580px;
    margin: 0 auto;
    padding: 16px 8px;
    background: #1a9d2a;
    color: #fff !important;
    font-weight: 800;
    font-size: 14.5px;
    text-align: center;
    border-radius: 6px;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.18);
    line-height: 1.2;
}

.lp2605__final-line-btn .arrow {
    font-size: 12px;
}

/* === Footer === */

.lp2605__ft {
    background: #c4231f;
    padding: 22px 18px 26px;
    color: #fff;
    text-align: center;
}

.lp2605__ft-logo img {
    height: 50px;
    width: auto;
    margin: 0 auto 12px;
    background: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    display: inline-block;
}

.lp2605__ft-sns {
    list-style: none;
    padding: 0;
    margin: 8px 0 12px;
    display: flex;
    justify-content: center;
    gap: 18px;
}

.lp2605__ft-sns a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background: #1a1a1a;
    border-radius: 50%;
}

.lp2605__ft-sns img {
    width: 20px;
    height: 20px;
}

.lp2605__ft-copy {
    font-size: 11px;
    margin: 6px 0 0;
    opacity: 0.9;
}

/* === Sticky bottom CTA === */

.lp2605__fixed-cta {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    transition: transform 0.25s ease;
    width: 100%;
    max-width: 640px;
    display: flex;
    z-index: 200;
    background: rgba(0, 0, 0, 0.85);
    padding: 8px;
    gap: 8px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
}

.lp2605__fixed-cta.is-on {
    transform: translateX(-50%) translateY(0);
}

.lp2605__fixed-cta a {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 6px;
    color: #fff !important;
    font-weight: 800;
    font-size: 14px;
    border-radius: 6px;
    text-align: center;
}

.lp2605__fixed-cta-tel {
    background: #d52727;
}

.lp2605__fixed-cta-web {
    background: #1a9d2a;
}

.lp2605__fixed-cta .ico {
    font-size: 14px;
}

/* === Tablet / Desktop === */

@media (min-width: 768px) {
    .lp2605 {
        box-shadow: 0 0 32px rgba(0, 0, 0, 0.08);
    }
}

/* === 古いブラウザ向け details polyfill風 === */

.lp2605__faq-item:not([open]) .lp2605__faq-ans {
    display: none;
}

.lp2605__faq-item[open] .lp2605__faq-ans {
    display: block;
}

.image_terr_points {
    margin: 0 auto;
    width: 90%;
    max-width: 528px;
    height: auto;
}

.lp2605--variant-b .image_terr_points {
    margin-top: 110px;
}

/* A版時の画像アップロードボタン中央寄せ */

.lp2605--variant-a .upload_area {
    position: relative;
    text-align: center;
}

.lp2605--variant-a .upload_title {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 auto;
}

.lp2605--variant-a .upload_title span {
    font-weight: 700;
}

.lp2605--variant-a .upload_title img {
    max-width: 48px;
    height: auto;
    display: inline-block;
}

/* ===========================
   CVR向上アニメーション
   =========================== */

/* スクロールIN フェード */

.lp2605-fade {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.lp2605-fade.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .lp2605-fade {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* CTAパルス (赤系ボタン全般を心地よく目立たせる) */

.lp2605__webline-btn--web,
.lp2605__final-form-btn,
.lp2605__final-form-jump-btn,
.lp2605__pc-right-btn--web,
.lp2605__pc-side-line,
.lp2605__pc-side-cta-btn--web {
    position: relative;
    animation: lp-pulse 2.4s ease-in-out infinite;
}

@keyframes lp-pulse {
    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(196, 35, 31, 0.55);
    }
    60% {
        box-shadow: 0 0 0 14px rgba(196, 35, 31, 0);
    }
}

/* ヘッダーWEB査定ボタンは控えめ「キラーん」shine */

.lp2605__hd-btn--web {
    position: relative;
    overflow: hidden;
}

.lp2605__hd-btn--web::after {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        100deg,
        transparent 0%,
        rgba(255, 255, 255, 0.55) 50%,
        transparent 100%
    );
    transform: skewX(-22deg);
    animation: lp-shine 3.6s ease-in-out infinite;
    pointer-events: none;
}

@keyframes lp-shine {
    0%, 35% {
        left: -120%;
    }
    55% {
        left: 130%;
    }
    100% {
        left: 130%;
    }
}

/* CTAホバー/タップで沈み込み */

.lp2605__final-form-jump,
.lp2605__final-line-btn,
.lp2605__webline-btn {
    transition:
        transform 0.15s ease-out,
        box-shadow 0.15s ease-out;
}

.lp2605__final-form-jump:active,
.lp2605__final-line-btn:active,
.lp2605__webline-btn:active {
    transform: translateY(3px);
}

/* スクロール深度プログレスバー */

.lp2605-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #c4231f, #fff100, #c4231f);
    background-size: 200% 100%;
    z-index: 9999;
    width: 0;
    transition: width 0.12s linear;
    box-shadow: 0 1px 2px rgba(196, 35, 31, 0.3);
    animation: lp-shimmer 3s linear infinite;
}

@keyframes lp-shimmer {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 200% 50%;
    }
}

/* 「カンタン20秒オンライン無料査定」見出しのスタイル
   A版時は style.css が同じセレクタで定義しているので不要。B版時のために定義 */

.lp2605 .assessment h2 {
    background: #d93016;
    padding: 10px 15px;
    text-align: center;
    color: #ffd800;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.2;
    border-bottom: 4px solid #222222;
    margin: 0;
}

.lp2605 .assessment h2 > span {
    display: inline-block;
    padding: 8px 15px;
    background: #fff;
    border-radius: 20px;
    margin-right: 7px;
    color: #222222;
}

.lp2605 .assessment h2 > span > span {
    color: #d93016;
}

.image_tasya_curave img {
    margin-bottom: 15px;
}

.image_points_desktop {
    width: 93%;
    margin: 0 auto 20px auto;
}

.image_voice_desktop {
    width: 90%;
    margin: 10px auto 0 auto;
    padding-bottom: 10px;
}

/* ===========================
   Final CTA 電話BOX (画像風)
   =========================== */

.lp2605__final-tel-box {
    background: #fff8c4;
    border-radius: 8px;
    padding: 18px 16px 16px;
    margin: 16px 16px 18px;
    text-align: center;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.18);
}

.lp2605__final-tel-lead {
    display: inline-block;
    background: #c4231f;
    color: #fff;
    font-weight: 800;
    font-size: 14px;
    padding: 6px 14px;
    border-radius: 999px;
    margin: 0 0 10px;
    line-height: 1.2;
}

.lp2605__final-tel-num {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 38px;
    font-weight: 900;
    color: #c4231f !important;
    line-height: 1;
    margin: 4px 0 10px;
    letter-spacing: 0.02em;
}

.lp2605__final-tel-ico {
    font-size: 28px;
    line-height: 1;
}

.lp2605__final-tel-hours {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    font-size: 13px;
    font-weight: 700;
    color: #1a1a1a;
}

.lp2605__final-tel-hours .lbl {
    background: #c4231f;
    color: #fff;
    padding: 4px 10px;
    border-radius: 2px;
    font-size: 12px;
}

.lp2605__final-tel-hours .hours {
    color: #c4231f;
    font-size: 16px;
    font-weight: 900;
}

.lp2605__final-tel-hours .note {
    font-size: 10.5px;
    color: #555;
    width: 100%;
    text-align: center;
    margin-top: 2px;
}

/* ===========================
   Facebook icon を明るく
   =========================== */

.lp2605__ft-sns li:nth-child(2) img {
    filter: brightness(0) invert(1);
}

.lp2605__final-ttl-img {
    width: 100%;
    height: auto;
    display: block;
    margin: 16px 0;
}

.lp2605__final-tel-link {
    display: block;
    margin: 16px 0;
}

.lp2605__final-tel-img {
    width: 100%;
    height: auto;
    display: block;
}

.lp2605--variant-b .lp2605__final-tel-img {
    margin-top: 6em;
}

/* Google レビュー PC で 2列×2行 */
/* minmax(0,1fr) でないと、カード内の white-space:nowrap な氏名 (例: "eiji isokawa") の
   min-content がトラックを押し広げ、LP本体 (500px) を突き抜けて表示される。 */

@media (min-width: 768px) {
    .lp2605__gbp .gr-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }
    .lp2605__gbp .gr-card {
        min-width: 0;
    }
}

/* 店名ピルが縦書き化するのを防止 */

.lp2605__gbp .gr-card__shop {
    white-space: nowrap;
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===========================
   768px 切り分け (ここに書く)
   =========================== */

/* スマホ: 768px 以下 */

@media (max-width: 768px) {
    .image_terr_points {
        margin: 0 auto 0 auto;
    }
    .lp2605__final-tel-img {
        margin-top: 0;
    }
}

/* ===========================
   PC: 769px 以上の見栄え強化
   - 中央 640px のLPを「カード」風に立たせる
   - 背景は赤系のソフトグラデで世界観統一
   =========================== */

@media (min-width: 769px) {
    .lp2605-body {
        background: /* 左上のポップなピンク */
            radial-gradient(
                circle at 15% 18%,
                rgba(255, 180, 200, 0.55) 0%,
                transparent 42%
            ),
            /* 右上のさわやかブルー */
                radial-gradient(
                    circle at 85% 20%,
                    rgba(150, 210, 255, 0.55) 0%,
                    transparent 45%
                ),
            /* 中央の淡い黄色 (ホークス感) */
                radial-gradient(
                    circle at 50% 50%,
                    rgba(255, 245, 180, 0.4) 0%,
                    transparent 50%
                ),
            /* 右下の赤系オーラ (ラクダブランド) */
                radial-gradient(
                    circle at 82% 82%,
                    rgba(255, 140, 140, 0.45) 0%,
                    transparent 50%
                ),
            /* 左下の淡いパープル */
                radial-gradient(
                    circle at 12% 85%,
                    rgba(200, 180, 255, 0.4) 0%,
                    transparent 45%
                ),
            /* ベース: ホワイト〜パステル */
                linear-gradient(135deg, #ffffff 0%, #fdf8f5 50%, #f5f8fd 100%);
        background-attachment: fixed;
        padding: 32px 0;
        min-height: 100vh;
    }
    .lp2605 {
        max-width: 720px;
        border-radius: 14px;
        box-shadow:
            0 16px 50px rgba(196, 35, 31, 0.12),
            0 2px 8px rgba(0, 0, 0, 0.05);
        overflow-x: clip;
    }
    .lp2605__hd {
        border-radius: 14px 14px 0 0;
    }
}

/* ===========================
   PC専用サイドメニュー (960px+ で表示)
   =========================== */

/* スクロールバー出現でビューポート幅が変動して @media が flicker するのを防止 */
html {
    scrollbar-gutter: stable;
}

.lp2605__pc-side,
.lp2605__pc-right {
    display: none;
}

@media (min-width: 960px) {
    /* 4カラム grid: [左余白 1fr] [サイドパネル 460px] [LP 500px] [右余白 1fr] */
    /* → サイド+LP のペアがビューポート中央に配置される (LPが右上に偏らない) */
    .lp2605-body {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(280px, 460px) 500px minmax(0, 1fr);
        gap: 0;
        padding: 0;
        min-height: 100vh;
    }
    .lp2605__pc-right {
        display: none !important;
    }
    /* 2列目: サイドカード (内容多くて100vh超えてもスクロール可) */
    .lp2605__pc-side {
        grid-column: 2;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        position: sticky;
        top: 0;
        height: 100vh;
        padding: 24px;
        box-sizing: border-box;
        min-width: 0;
        /* 縦に溢れたら内部スクロール (ノートPC / 画面縮小時) */
        overflow-y: auto;
        overflow-x: hidden;
        /* スクロールバー細め + ブランドカラーで馴染ませる */
        scrollbar-width: thin;
        scrollbar-color: rgba(196, 35, 31, 0.4) transparent;
        /* iOS慣性スクロール */
        -webkit-overflow-scrolling: touch;
        /* スクロールの底/天井で親スクロールに伝播しない */
        overscroll-behavior: contain;
    }
    .lp2605__pc-side::-webkit-scrollbar {
        width: 6px;
    }
    .lp2605__pc-side::-webkit-scrollbar-thumb {
        background: rgba(196, 35, 31, 0.4);
        border-radius: 3px;
    }
    .lp2605__pc-side::-webkit-scrollbar-track {
        background: transparent;
    }
    .lp2605__pc-side > .lp2605__pc-side-inner {
        width: 100%;
        max-width: 420px;
        /* 収まる時は中央寄せ、溢れたら通常配置 (margin:auto が 0 に潰れる) */
        margin: auto 0;
        /* flex item が縮まないように */
        flex-shrink: 0;
    }
    /* 3列目: LP本体 500px 固定 (カラム幅と一致してオーバーフローなし) */
    .lp2605 {
        grid-column: 3;
        max-width: 500px;
        width: 100%;
        margin: 32px 0 64px 0;
        min-width: 0;
    }
    .lp2605__pc-side-inner {
        background: linear-gradient(
            180deg,
            #d52727 0%,
            #c4231f 60%,
            #a01818 100%
        );
        border-radius: 18px;
        padding: 28px 24px 24px;
        display: flex;
        flex-direction: column;
        gap: 18px;
        position: relative;
        overflow: hidden;
        box-shadow:
            0 12px 36px rgba(196, 35, 31, 0.25),
            0 2px 6px rgba(0, 0, 0, 0.08);
    }
    /* やわらかい光のアクセント */
    .lp2605__pc-side-inner::before {
        content: "";
        position: absolute;
        top: -30px;
        right: -40px;
        width: 200px;
        height: 200px;
        background: radial-gradient(
            circle,
            rgba(255, 241, 0, 0.22) 0%,
            transparent 70%
        );
        pointer-events: none;
    }
    .lp2605__pc-side-inner::after {
        content: "";
        position: absolute;
        bottom: -80px;
        left: -60px;
        width: 240px;
        height: 240px;
        background: radial-gradient(
            circle,
            rgba(255, 255, 255, 0.12) 0%,
            transparent 70%
        );
        pointer-events: none;
    }
    .lp2605__pc-side-logo {
        position: relative;
        z-index: 2;
        display: block;
        background: #fff;
        padding: 12px;
        border-radius: 10px;
        text-align: center;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    }
    .lp2605__pc-side-logo img {
        max-width: 200px;
        height: auto;
        margin: 0 auto;
    }
    .lp2605__pc-side-catch {
        margin: 0;
        font-size: 28px;
        font-weight: 900;
        line-height: 1.45;
        color: #fff;
        letter-spacing: 0.02em;
        position: relative;
        z-index: 2;
        padding: 6px 0 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    }
    .lp2605__pc-side-catch strong {
        font-size: 44px;
        color: #fff100;
        display: inline-block;
        margin: 6px 0;
        letter-spacing: -0.02em;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    }
    .lp2605__pc-side-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 6px 8px;
        position: relative;
        z-index: 2;
    }
    .lp2605__pc-side-nav a {
        display: flex !important;
        flex-direction: row !important;
        align-items: center;
        gap: 8px;
        padding: 10px 10px;
        font-size: 13px;
        font-weight: 800;
        color: #1a1a1a !important;
        text-decoration: none;
        border-radius: 10px;
        background: #fff;
        box-shadow: 0 2px 0 rgba(0, 0, 0, 0.1);
        white-space: normal;
        line-height: 1.25;
        transition:
            background 0.2s,
            transform 0.2s,
            color 0.2s;
    }
    .lp2605__pc-side-nav a:hover {
        background: #fff100;
        transform: translateX(4px);
    }
    .lp2605__pc-side-nav a .num {
        font-family: "DIN LP2605", sans-serif;
        font-size: 18px;
        font-weight: 700;
        color: #c4231f;
        min-width: 22px;
        text-align: center;
        line-height: 1;
        letter-spacing: -0.04em;
        flex-shrink: 0;
    }
    .lp2605__pc-side-nav a::before {
        display: none;
    }
    /* === サイドパネル CTA (ナビ下) === */
    .lp2605__pc-side-cta {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin-top: 14px;
        padding-top: 14px;
        border-top: 1px solid rgba(255, 255, 255, 0.25);
        position: relative;
        z-index: 2;
    }
    .lp2605__pc-side-cta-btn {
        display: block;
        text-align: center;
        padding: 13px 14px;
        font-weight: 900;
        font-size: 15px;
        border-radius: 10px;
        text-decoration: none;
        color: #fff !important;
        box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2);
        letter-spacing: 0.02em;
        transition:
            transform 0.15s,
            box-shadow 0.15s;
    }
    .lp2605__pc-side-cta-btn:hover {
        transform: translateY(2px);
        box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
    }
    .lp2605__pc-side-cta-btn--web {
        background: linear-gradient(180deg, #ff4747 0%, #d52727 100%);
    }
    .lp2605__pc-side-cta-btn--line {
        background: linear-gradient(180deg, #1ed14a 0%, #04ba26 100%);
    }
    .lp2605__pc-side-cta-tel {
        margin-top: 4px;
        background: rgba(0, 0, 0, 0.32);
        border-radius: 10px;
        padding: 10px 12px;
        text-align: center;
        color: #fff;
    }
    .lp2605__pc-side-cta-tel .label {
        display: block;
        font-size: 11px;
        color: #fff;
        opacity: 0.85;
        margin-bottom: 2px;
        letter-spacing: 0.05em;
    }
    .lp2605__pc-side-cta-tel a {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: #fff !important;
        font-family: "DIN LP2605", sans-serif;
        font-size: 24px;
        font-weight: 700;
        letter-spacing: 0.02em;
        text-decoration: none;
    }
    .lp2605__pc-side-cta-tel .hours {
        display: block;
        font-size: 10px;
        opacity: 0.8;
        margin-top: 2px;
    }
}

/* セクション間スキマ統一: 主要セクションの底padding */

.lp2605__reasons,
.lp2605__compare,
.lp2605__points,
.lp2605__results,
.lp2605__voice-head,
.lp2605__gbp,
.lp2605__webline,
.lp2605__faq,
.lp2605__anystate,
.lp2605__flow,
.lp2605__stores,
.lp2605__final {
    padding-bottom: var(--lp-sec-pad-y, 32px);
}

/* A版時 Final CTA下のフォーム代替ジャンプボタン */

.lp2605__final-form-jump {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 18px 16px;
    padding: 22px 18px;
    background: #fff;
    border: 3px solid #c4231f;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.15);
    transition:
        transform 0.15s,
        box-shadow 0.15s;
}

.lp2605__final-form-jump:hover {
    transform: translateY(2px);
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.15);
}

.lp2605__final-form-jump-h {
    font-size: 18px;
    font-weight: 900;
    color: #1a1a1a;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.02em;
}

.lp2605__final-form-jump-h strong {
    color: #c4231f;
    font-size: 26px;
    margin: 0 4px;
}

.lp2605__final-form-jump-btn {
    display: block;
    width: 100%;
    background: #c4231f;
    color: #fff;
    text-align: center;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0.04em;
}
