/* 小川オート：事故・故障・長期レンタカーLP
 * 外側Group: alignfull ogawa-lp ogawa-rental-lp
 * カードはGroupまたはColumnに指定。共通Columnsにはoa-columnsを指定。
 * 公開側は中央配置の本文コンテナーから全幅化。編集側はキャンバス幅を使用。
 */

/* 基盤：管理UIを巻き込む全称セレクターは使用しない。 */
.ogawa-rental-lp {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    color: #172536;
    background: #fff;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/* 全幅化：:has非対応の旧ブラウザーでは基盤の100%幅を維持する。
 * 100vwによるスクロールバー分のはみ出しはLP自身のoverflowでは防げないため、
 * このLPがある公開文書だけをクリップする。他ページ・管理画面には適用しない。
 * 親が中央配置であることが前提。祖先のoverflow:hidden等は解除しない。
 */
@supports selector(:has(*)) {
    html:has(body:not(.wp-admin) .ogawa-rental-lp.alignfull):not(:has(.editor-styles-wrapper)):not(:has(.block-editor-iframe__body)) {
        overflow-x: hidden;
        overflow-x: clip;
    }
    .ogawa-rental-lp.alignfull {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
    /* 対応ブラウザーではスクロールバーを除いた文書幅を使い、クリップ前に
     * はみ出しそのものを防ぐ。Colorfulの通常の非コンテナクエリー本文を想定。
     * container-typeを付けるのはLPのある公開文書だけ。管理画面は対象外。
     */
    @supports (width: 100cqw) {
        html:has(body:not(.wp-admin) .ogawa-rental-lp.alignfull):not(:has(.editor-styles-wrapper)):not(:has(.block-editor-iframe__body)) {
            container-type: inline-size;
        }
        .ogawa-rental-lp.alignfull {
            width: 100cqw;
            max-width: 100cqw;
            margin-left: calc(50% - 50cqw) !important;
            margin-right: calc(50% - 50cqw) !important;
        }
    }
    /* 旧エディターでalignfull用の外側ラッパーが残る場合も、LPの親だけ解除。 */
    .editor-styles-wrapper .wp-block[data-align="full"]:has(> .ogawa-rental-lp.alignfull) {
        width: 100%;
        max-width: none;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* iframe型・非iframe型とも100vwを解除。選択UIを切り取らない。
 * !importantはWordPressのレイアウト余白指定に勝つため、このLPの外枠に限定。
 */
.editor-styles-wrapper .ogawa-rental-lp.alignfull,
.block-editor-iframe__body .ogawa-rental-lp.alignfull,
body.wp-admin .ogawa-rental-lp.alignfull {
    width: 100%;
    max-width: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: visible;
}

/* 旧Groupの本文ラッパーと、旧編集画面のセクション幅もLP内だけ広げる。 */
.ogawa-rental-lp.alignfull > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
.editor-styles-wrapper .ogawa-rental-lp .block-editor-block-list__layout > .oa-section,
.editor-styles-wrapper .ogawa-rental-lp .block-editor-block-list__layout > .oa-intro {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
.ogawa-rental-lp .wp-block-group,
.ogawa-rental-lp .wp-block-group__inner-container,
.ogawa-rental-lp .wp-block-columns,
.ogawa-rental-lp .wp-block-column,
.ogawa-rental-lp .wp-block-button,
.ogawa-rental-lp .wp-block-button__link,
.ogawa-rental-lp p,
.ogawa-rental-lp h1,
.ogawa-rental-lp h2,
.ogawa-rental-lp h3 { box-sizing: border-box; min-width: 0; }

.ogawa-rental-lp h1,
.ogawa-rental-lp h2,
.ogawa-rental-lp h3 {
    margin: 0 0 20px;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    color: inherit;
    font-family: inherit;
    font-weight: 800;
    line-height: 1.4;
    text-shadow: none;
}
/* テーマ由来の見出し飾りだけをLP本文内で解除する。 */
.ogawa-rental-lp h1::before,
.ogawa-rental-lp h1::after,
.ogawa-rental-lp h2::before,
.ogawa-rental-lp h2::after,
.ogawa-rental-lp h3::before,
.ogawa-rental-lp h3::after { content: none; }
.ogawa-rental-lp h3 { font-size: 21px; }
.ogawa-rental-lp p { margin: 0 0 20px; padding: 0; }
.ogawa-rental-lp a { color: #0878e8; text-underline-offset: 4px; }
.ogawa-rental-lp a:focus { outline: 3px solid #2bc4f5; outline-offset: 4px; }
.ogawa-rental-lp img { max-width: 100%; height: auto; }

/* 背景はLP全幅、本文・カードだけ最大1120pxに収める。 */
.ogawa-rental-lp .oa-section { width: 100%; max-width: none; margin: 0; padding: 96px 28px; }
.ogawa-rental-lp .oa-inner { width: 100%; max-width: 1120px; margin-right: auto; margin-left: auto; }
.ogawa-rental-lp .oa-narrow { width: 100%; max-width: 880px; margin-right: auto; margin-left: auto; }
.ogawa-rental-lp .oa-inner > .wp-block-group__inner-container,
.ogawa-rental-lp .oa-narrow > .wp-block-group__inner-container { max-width: none; }
.ogawa-rental-lp .oa-center { text-align: center; }
.ogawa-rental-lp .oa-center .oa-lead { margin-right: auto; margin-left: auto; }
/* セクションの既定色だけを条件付きにする。内部パーツの配色は維持。
 * Gutenbergの標準クラスはプリセット色・カスタム色の両方に付く。
 * 背景指定時はグラデーションも適用せず、標準CSS / inline styleに任せる。
 */
.ogawa-rental-lp .oa-light:not(:where(.oa-section.has-background)) { background: #f3f8fc; }
.ogawa-rental-lp .oa-dark:not(:where(.oa-section.has-background)) { background: #071426; }
.ogawa-rental-lp .oa-blue:not(:where(.oa-section.has-background)) { background: linear-gradient(125deg, #0878e8 0%, #0d223d 85%); }
.ogawa-rental-lp .oa-light:not(:where(.oa-section.has-text-color)) { color: #172536; }
.ogawa-rental-lp .oa-dark:not(:where(.oa-section.has-text-color)),
.ogawa-rental-lp .oa-blue:not(:where(.oa-section.has-text-color)) { color: #fff; }
.ogawa-rental-lp .oa-eyebrow { margin: 0 0 16px; color: #0878e8; font-size: 13px; font-weight: 800; line-height: 1.6; letter-spacing: .16em; }
.ogawa-rental-lp .oa-title {
    margin: 0 0 24px;
    font-size: 44px;
    font-size: clamp(30px, 3.8vw, 52px);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.025em;
}
.ogawa-rental-lp .oa-lead { max-width: 800px; margin-bottom: 36px; color: #607184; font-size: 17px; line-height: 2; }
.ogawa-rental-lp .oa-dark .oa-eyebrow,
.ogawa-rental-lp .oa-blue .oa-eyebrow,
.ogawa-rental-lp .oa-intro .oa-eyebrow { color: #2bc4f5; }
.ogawa-rental-lp .oa-dark .oa-lead,
.ogawa-rental-lp .oa-blue .oa-lead { color: #d4e3f1; }

/* 導入：装飾を背景に描き、編集用のクリック領域を覆わない。 */
.ogawa-rental-lp .oa-intro {
    width: 100%;
    max-width: none;
    padding: 100px 28px;
}
.ogawa-rental-lp .oa-intro:not(:where(.has-text-color)) { color: #fff; }
.ogawa-rental-lp .oa-intro:not(:where(.has-background)) {
    background: radial-gradient(ellipse at 88% 12%, rgba(43, 196, 245, .19), transparent 52%), linear-gradient(125deg, #071426, #0d223d);
}
.ogawa-rental-lp .oa-intro-badge {
    display: inline-block;
    max-width: 100%;
    margin: 0 0 32px;
    padding: 9px 16px;
    border: 1px solid rgba(43, 196, 245, .55);
    border-radius: 6px;
    color: #92e4ff;
    background: rgba(43, 196, 245, .07);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
}
.ogawa-rental-lp .oa-intro-title {
    max-width: 880px;
    margin-bottom: 28px;
    padding-left: 24px;
    border-left: 4px solid #2bc4f5;
    color: #fff;
    font-size: 48px;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.28;
    letter-spacing: -.035em;
}
.ogawa-rental-lp .oa-intro-title strong { color: #2bc4f5; font-weight: 800; }
.ogawa-rental-lp .oa-intro-text { max-width: 880px; margin-bottom: 0; color: #d4e3f1; font-size: 18px; line-height: 2; }

/* 色を指定したセクションの導入文・見出しは親の文字色を継承。
 * 子ブロック自身の色指定と、カード・FAQ・CTA等の内部配色は対象外。
 * 標準の旧Group / 編集用ラッパーを挟んでも継承できる。
 */
.ogawa-rental-lp :is(.oa-section, .oa-intro).has-text-color
    :is(.oa-eyebrow, .oa-lead, .oa-intro-title, .oa-intro-title strong, .oa-intro-text):not(.has-text-color):not(:where(
        .oa-card *, .oa-case *, .oa-revenue *, .oa-merit *, .oa-feature *,
        .oa-info *, .oa-faq *, .oa-faq-item *, .oa-cta-box *, .oa-onestop-card *,
        .oa-cta-mini *, .oa-point-card *, .oa-area-box *
    )) { color: inherit; }

/* カラム：標準の可変幅を維持。旧版のカラム間marginをgapへ統一。 */
.ogawa-rental-lp .oa-columns { gap: 24px; margin-top: 32px; margin-bottom: 0; align-items: stretch; }
.ogawa-rental-lp .oa-columns > .wp-block-column { margin-left: 0; margin-bottom: 0; }
.ogawa-rental-lp .oa-columns > .wp-block-column > .wp-block-group:only-child { min-height: 100%; }

/* 白背景のカード群 */
.ogawa-rental-lp .oa-card,
.ogawa-rental-lp .oa-merit,
.ogawa-rental-lp .oa-feature,
.ogawa-rental-lp .oa-info {
    padding: 30px;
    border: 1px solid #dce7f0;
    border-radius: 18px;
    color: #172536;
    background: #fff;
    box-shadow: 0 8px 28px rgba(13, 34, 61, .045);
    text-align: left;
}
.ogawa-rental-lp .oa-card-label,
.ogawa-rental-lp .oa-case-label,
.ogawa-rental-lp .oa-revenue-label,
.ogawa-rental-lp .oa-info-label { margin-bottom: 16px; color: #0878e8; font-size: 12px; font-weight: 800; letter-spacing: .13em; }
.ogawa-rental-lp .oa-card-text { margin-bottom: 0; font-size: 16px; font-weight: 700; line-height: 1.9; }

/* 活用チャンス：上辺の色は背景レイヤーで表現。 */
.ogawa-rental-lp .oa-case {
    padding: 36px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(90deg, #0878e8, #2bc4f5) top / 100% 3px no-repeat, rgba(255, 255, 255, .055);
}
.ogawa-rental-lp .oa-case-label { color: #2bc4f5; }
.ogawa-rental-lp .oa-case h3 { color: #fff; font-size: 25px; }
.ogawa-rental-lp .oa-case-text { margin-bottom: 0; color: #d4e3f1; line-height: 1.95; }
.ogawa-rental-lp .oa-note { margin-top: 28px; margin-bottom: 0; padding: 18px 22px; border-left: 3px solid #2bc4f5; background: rgba(96, 113, 132, .12); color: inherit; font-size: 13px; line-height: 1.9; }

/* 収益訴求 */
.ogawa-rental-lp .oa-revenue {
    padding: 64px;
    border: 1px solid rgba(43, 196, 245, .4);
    border-radius: 28px;
    color: #fff;
    background: radial-gradient(ellipse at 95% 0%, rgba(43, 196, 245, .4), transparent 55%), linear-gradient(120deg, #0d223d, #0858ad);
    box-shadow: 0 20px 48px rgba(7, 20, 38, .18);
}
.ogawa-rental-lp .oa-revenue-label { color: #a5edff; }
.ogawa-rental-lp .oa-revenue .oa-title { color: #fff; font-size: 48px; font-size: clamp(30px, 4vw, 54px); }
.ogawa-rental-lp .oa-revenue h2 strong,
.ogawa-rental-lp .oa-revenue h3 strong { color: #82e6ff; font-weight: 800; }
.ogawa-rental-lp .oa-revenue-text { color: #e6f2fc; font-size: 18px; line-height: 2; }
.ogawa-rental-lp .oa-revenue-note { margin-bottom: 0; color: #c8dced; font-size: 13px; line-height: 1.9; }

/* 収益訴求H2専用：Colorfulの見出し装飾・文字サイズをこのクラス内で解除。 */
.ogawa-rental-lp .oa-revenue-title {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-size: clamp(32px, 4vw, 50px) !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.03em !important;
    text-shadow: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}
.ogawa-rental-lp .oa-revenue-title::before,
.ogawa-rental-lp .oa-revenue-title::after {
    content: none !important;
    display: none !important;
}
.ogawa-rental-lp .oa-revenue-title strong {
    color: #66ddff !important;
    font-size: inherit !important;
    font-weight: 900 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}
@media (max-width: 781px) {
    .ogawa-rental-lp .oa-revenue-title {
        font-size: clamp(27px, 8vw, 38px) !important;
    }
}

/* メリット・柔軟なサービス */
.ogawa-rental-lp .oa-merit-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    min-height: 54px;
    margin-bottom: 24px;
    padding: 8px;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, #0878e8, #2bc4f5);
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
}
.ogawa-rental-lp .oa-merit-text,
.ogawa-rental-lp .oa-feature-text { margin-bottom: 0; color: #607184; font-size: 16px; line-height: 1.95; }
.ogawa-rental-lp .oa-feature { box-shadow: none; border-top: 3px solid #dce7f0; }

/* ONE STOP：3列・40pxの隙間内に小さい矢印だけを置く。 */
.ogawa-rental-lp .oa-onestop-columns { gap: 40px; margin-top: 36px; margin-bottom: 0; align-items: stretch; }
.ogawa-rental-lp .oa-onestop-columns > .wp-block-column { position: relative; min-width: 0; margin-left: 0; }
.ogawa-rental-lp .oa-onestop-card { padding: 32px 20px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 18px; color: #fff; background: rgba(255, 255, 255, .09); text-align: center; }
.ogawa-rental-lp .oa-onestop-en { margin-bottom: 10px; color: #a5edff; font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.ogawa-rental-lp .oa-onestop-ja { margin-bottom: 0; font-size: 22px; font-weight: 800; }

/* ご利用の流れ：線はborderなのでブロック選択を遮らない。 */
.ogawa-rental-lp .oa-flow { margin-top: 36px; }
.ogawa-rental-lp .oa-flow-row { gap: 28px; margin: 0; padding: 24px 0; border-bottom: 1px solid #dce7f0; align-items: flex-start; }
.ogawa-rental-lp .oa-flow-step { margin-left: 0; }
.ogawa-rental-lp .oa-flow-step p { margin: 0; padding: 14px 12px; border-radius: 10px; color: #fff; background: linear-gradient(120deg, #0878e8, #148db8); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-align: center; }
.ogawa-rental-lp .oa-flow-body { margin-left: 0; padding-left: 24px; border-left: 2px solid #dce7f0; }
.ogawa-rental-lp .oa-flow-body h3 { margin-bottom: 10px; font-size: 21px; }
.ogawa-rental-lp .oa-flow-body p { margin-bottom: 0; color: #607184; font-size: 16px; line-height: 1.95; }
.ogawa-rental-lp .oa-info-label { letter-spacing: .06em; }
.ogawa-rental-lp .oa-info-text { margin-bottom: 0; font-size: 17px; font-weight: 700; line-height: 1.8; }

/* FAQ：Q/Aは通常フロー内の小さな文字。段落の編集領域を覆わない。 */
.ogawa-rental-lp .oa-faq { margin-top: 36px; }
.ogawa-rental-lp .oa-faq-item { padding: 28px 0; border-bottom: 1px solid #dce7f0; }
.ogawa-rental-lp .oa-faq-q { margin-bottom: 14px; color: #172536; font-size: 18px; font-weight: 800; line-height: 1.8; }
.ogawa-rental-lp .oa-faq-a { margin-bottom: 0; color: #607184; font-size: 16px; line-height: 1.95; }
.ogawa-rental-lp .oa-faq-q::before,
.ogawa-rental-lp .oa-faq-a::before { display: inline-block; width: 1.8em; font-size: 20px; font-weight: 800; line-height: 1; }
.ogawa-rental-lp .oa-faq-q::before { content: "Q"; color: #0878e8; }
.ogawa-rental-lp .oa-faq-a::before { content: "A"; color: #ff6933; }

/* CTA */
.ogawa-rental-lp .oa-cta-box { padding: 56px 40px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 24px; color: #fff; background: rgba(255, 255, 255, .06); text-align: center; }
.ogawa-rental-lp .oa-cta-text { max-width: 760px; margin: 0 auto 28px; color: #d4e3f1; font-size: 17px; line-height: 2; }
.ogawa-rental-lp .oa-tel-label { margin-bottom: 8px; color: #d4e3f1; font-size: 14px; font-weight: 700; }
.ogawa-rental-lp .oa-tel { margin-bottom: 24px; color: #fff; font-size: 54px; font-size: clamp(28px, 4.6vw, 58px); font-weight: 800; line-height: 1.35; letter-spacing: .01em; font-variant-numeric: tabular-nums; }
.ogawa-rental-lp .oa-tel a { color: inherit; text-decoration: none; }
.ogawa-rental-lp .oa-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 28px; margin-bottom: 0; }
.ogawa-rental-lp .oa-cta-button { max-width: 100%; margin: 0; }
.ogawa-rental-lp .oa-cta-button .wp-block-button__link {
    display: inline-block;
    max-width: 100%;
    min-height: 48px;
    padding: 18px 32px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #fff;
    background: #ff6933;
    box-shadow: 0 8px 22px rgba(255, 105, 51, .2);
    font-family: inherit;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.6;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: break-word;
    transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

@media (min-width: 782px) {
    .ogawa-rental-lp .oa-columns > .wp-block-column,
    .ogawa-rental-lp .oa-onestop-columns > .wp-block-column { flex-basis: 0; flex-grow: 1; }
    .ogawa-rental-lp .oa-onestop-columns > .wp-block-column + .wp-block-column::before {
        content: "\2192";
        position: absolute;
        top: 50%;
        left: -32px;
        width: 24px;
        color: #a5edff;
        font-size: 22px;
        line-height: 1;
        text-align: center;
        transform: translateY(-50%);
    }
    .ogawa-rental-lp .oa-flow-row > .oa-flow-step { flex-basis: 116px !important; flex-grow: 0; }
    .ogawa-rental-lp .oa-flow-row > .oa-flow-body { flex-basis: 0 !important; flex-grow: 1; }
}

/* カラム内の!importantはGutenbergの標準・保存済みinline幅への対応。 */
@media (max-width: 781px) {
    .ogawa-rental-lp .oa-section { padding: 64px 20px; }
    .ogawa-rental-lp .oa-intro { padding: 68px 20px; }
    .ogawa-rental-lp .oa-title { font-size: 32px; }
    .ogawa-rental-lp .oa-intro-title { padding-left: 16px; font-size: 34px; }
    .ogawa-rental-lp .oa-intro-badge { padding: 8px 12px; font-size: 10px; letter-spacing: .08em; }
    .ogawa-rental-lp .oa-intro-text,
    .ogawa-rental-lp .oa-lead { font-size: 16px; }
    .ogawa-rental-lp .oa-columns,
    .ogawa-rental-lp .oa-onestop-columns,
    .ogawa-rental-lp .oa-flow-row { flex-wrap: wrap !important; gap: 18px; }
    .ogawa-rental-lp .oa-columns > .wp-block-column,
    .ogawa-rental-lp .oa-onestop-columns > .wp-block-column,
    .ogawa-rental-lp .oa-flow-row > .wp-block-column { flex-basis: 100% !important; margin-left: 0; }
    .ogawa-rental-lp .oa-card,
    .ogawa-rental-lp .oa-merit,
    .ogawa-rental-lp .oa-feature,
    .ogawa-rental-lp .oa-info,
    .ogawa-rental-lp .oa-case { padding: 26px; }
    .ogawa-rental-lp .oa-revenue { padding: 36px 26px; border-radius: 22px; }
    .ogawa-rental-lp .oa-revenue .oa-title { font-size: 32px; }
    .ogawa-rental-lp .oa-revenue-text { font-size: 16px; }
    .ogawa-rental-lp .oa-flow-step p { display: inline-block; padding: 10px 14px; font-size: 12px; }
    .ogawa-rental-lp .oa-flow-body { padding-left: 16px; }
    .ogawa-rental-lp .oa-cta-box { padding: 36px 24px; }
    .ogawa-rental-lp .oa-tel { font-size: 36px; }
    .ogawa-rental-lp .oa-cta-button,
    .ogawa-rental-lp .oa-cta-button .wp-block-button__link { width: 100%; }
    .ogawa-rental-lp .oa-cta-button .wp-block-button__link { padding: 16px 20px; font-size: 16px; }
}
@media (max-width: 375px) {
    .ogawa-rental-lp .oa-section,
    .ogawa-rental-lp .oa-intro { padding-right: 16px; padding-left: 16px; }
    .ogawa-rental-lp .oa-title,
    .ogawa-rental-lp .oa-revenue .oa-title { font-size: 28px; }
    .ogawa-rental-lp .oa-intro-title { font-size: 30px; }
    .ogawa-rental-lp .oa-card,
    .ogawa-rental-lp .oa-case,
    .ogawa-rental-lp .oa-merit,
    .ogawa-rental-lp .oa-feature,
    .ogawa-rental-lp .oa-info { padding: 22px 18px; }
    .ogawa-rental-lp .oa-revenue,
    .ogawa-rental-lp .oa-cta-box { padding-right: 18px; padding-left: 18px; }
    .ogawa-rental-lp .oa-tel { font-size: 27px; letter-spacing: 0; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .ogawa-rental-lp .oa-cta-button .wp-block-button__link:hover { background: #ed5722; box-shadow: 0 10px 26px rgba(255, 105, 51, .28); transform: translateY(-2px); }
}
@media (prefers-reduced-motion: reduce) {
    .ogawa-rental-lp .oa-cta-button .wp-block-button__link { transition: none; }
}

/* 完成版用の追加パーツ（既存デザイン・全幅処理は維持）
 * Buttons: oa-contact-buttons / 各Button: oa-contact-button + oa-contact-phone等
 * ポイント: Groupにoa-point-grid、子Groupにoa-point-card。
 */

/* 写真挿入予定：通常のGroupと段落で構成し、重ね要素を使わない。 */
.ogawa-rental-lp .oa-image-placeholder {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: 300px;
    aspect-ratio: 16 / 7;
    padding: 32px 24px;
    border: 2px dashed #a9bfd2;
    border-radius: 18px;
    color: #172536;
    background: #eaf1f7;
    text-align: center;
}
.ogawa-rental-lp .oa-image-placeholder > .wp-block-group__inner-container { width: 100%; }
/* 既存カードの高さ揃えより優先し、カラム内でも写真枠の最低高さを維持。 */
.ogawa-rental-lp .oa-columns > .wp-block-column > .oa-image-placeholder:only-child { min-height: 300px; }
.ogawa-rental-lp .oa-image-placeholder-label { margin: 0 0 12px; color: #0878e8; font-size: 13px; font-weight: 800; letter-spacing: .18em; line-height: 1.6; }
.ogawa-rental-lp .oa-image-placeholder-text { margin: 0; color: #607184; font-size: 16px; line-height: 1.9; }
.ogawa-rental-lp .oa-dark .oa-image-placeholder { border-color: rgba(255, 255, 255, .4); color: #fff; background: rgba(7, 20, 38, .35); }
.ogawa-rental-lp .oa-dark .oa-image-placeholder-label { color: #92e4ff; }
.ogawa-rental-lp .oa-dark .oa-image-placeholder-text { color: #d4e3f1; }

/* 3種類の問い合わせ先：Buttons/Buttonの標準リンクまでスタイルを指定。 */
.ogawa-rental-lp .oa-contact-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    margin-top: 28px;
    margin-bottom: 0;
    align-items: stretch;
}
.ogawa-rental-lp .oa-contact-buttons > .wp-block-button {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
}
.ogawa-rental-lp .oa-contact-button { min-width: 0; max-width: 100%; }
.ogawa-rental-lp .oa-contact-button .wp-block-button__link {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: 64px;
    padding: 18px 20px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #fff;
    background: #0878e8;
    box-shadow: 0 6px 18px rgba(7, 20, 38, .12);
    font-family: inherit;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.6;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: break-word;
    transition: transform .18s ease, box-shadow .18s ease;
}
.ogawa-rental-lp .oa-contact-phone .wp-block-button__link { color: #fff; background: linear-gradient(120deg, #0878e8, #0758aa); }
.ogawa-rental-lp .oa-contact-line .wp-block-button__link { color: #fff; background: #06c755; }
.ogawa-rental-lp .oa-contact-mail .wp-block-button__link { color: #fff; background: linear-gradient(120deg, #0d223d, #425d75); }
.ogawa-rental-lp .oa-contact-button .wp-block-button__link:focus { outline: 3px solid #2bc4f5; outline-offset: 4px; }

/* 中間CTA：最終CTAより控えめな明るいパネル。 */
.ogawa-rental-lp .oa-cta-mini {
    box-sizing: border-box;
    width: 100%;
    max-width: 1120px;
    margin-right: auto;
    margin-left: auto;
    padding: 40px 32px;
    border: 1px solid #b7d5ef;
    border-radius: 20px;
    color: #172536;
    background: #edf6ff;
    text-align: center;
}
.ogawa-rental-lp .oa-cta-mini-title { margin: 0 0 14px; color: #0d223d; font-size: 26px; font-weight: 800; line-height: 1.4; }
.ogawa-rental-lp .oa-cta-mini-text { max-width: 800px; margin: 0 auto; color: #607184; font-size: 16px; line-height: 1.95; }

/* 3列のポイント。4枚目以降は次の行へ。旧Groupと編集用ラッパーにも対応。 */
.ogawa-rental-lp .oa-point-grid,
.ogawa-rental-lp .oa-point-grid > .wp-block-group__inner-container,
.ogawa-rental-lp .oa-point-grid > .block-editor-inner-blocks > .block-editor-block-list__layout,
.ogawa-rental-lp .oa-point-grid > .wp-block-group__inner-container > .block-editor-inner-blocks > .block-editor-block-list__layout {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}
.ogawa-rental-lp .oa-point-grid { margin-top: 32px; margin-bottom: 0; }
.ogawa-rental-lp .oa-point-grid > .wp-block-group__inner-container,
.ogawa-rental-lp .oa-point-grid > .block-editor-inner-blocks,
.ogawa-rental-lp .oa-point-grid > .wp-block-group__inner-container > .block-editor-inner-blocks { grid-column: 1 / -1; width: 100%; min-width: 0; max-width: none; }
.ogawa-rental-lp .oa-point-card {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 30px;
    border: 1px solid #dce7f0;
    border-radius: 18px;
    color: #172536;
    background: #fff;
    box-shadow: 0 6px 24px rgba(13, 34, 61, .04);
    text-align: left;
}
.ogawa-rental-lp .oa-point-no { margin: 0 0 18px; color: #0878e8; font-size: 32px; font-weight: 800; letter-spacing: .04em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.ogawa-rental-lp .oa-point-title { margin: 0 0 12px; color: #0d223d; font-size: 21px; font-weight: 800; line-height: 1.45; }
.ogawa-rental-lp .oa-point-text { margin: 0; color: #607184; font-size: 16px; line-height: 1.95; }

/* 対応エリア：内側のColumnsで地図と文章を並べられるシンプルなカード。 */
.ogawa-rental-lp .oa-area-box {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 32px;
    border: 1px solid #dce7f0;
    border-radius: 18px;
    color: #172536;
    background: #fff;
    text-align: left;
}
.ogawa-rental-lp .oa-area-box > .oa-columns,
.ogawa-rental-lp .oa-area-box > .wp-block-group__inner-container > .oa-columns { margin-top: 0; align-items: center; }
.ogawa-rental-lp .oa-area-text { margin: 0; color: #607184; font-size: 16px; line-height: 2; }

@media (max-width: 781px) {
    .ogawa-rental-lp .oa-image-placeholder { min-height: 220px; aspect-ratio: auto; padding: 24px 18px; }
    .ogawa-rental-lp .oa-columns > .wp-block-column > .oa-image-placeholder:only-child { min-height: 220px; }
    .ogawa-rental-lp .oa-contact-buttons { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .ogawa-rental-lp .oa-contact-button .wp-block-button__link { min-height: 60px; padding: 16px; font-size: 16px; }
    .ogawa-rental-lp .oa-cta-mini { padding: 32px 20px; }
    .ogawa-rental-lp .oa-cta-mini-title { font-size: 23px; }
    .ogawa-rental-lp .oa-point-grid,
    .ogawa-rental-lp .oa-point-grid > .wp-block-group__inner-container,
    .ogawa-rental-lp .oa-point-grid > .block-editor-inner-blocks > .block-editor-block-list__layout,
    .ogawa-rental-lp .oa-point-grid > .wp-block-group__inner-container > .block-editor-inner-blocks > .block-editor-block-list__layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .ogawa-rental-lp .oa-point-card,
    .ogawa-rental-lp .oa-area-box { padding: 24px 20px; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .ogawa-rental-lp .oa-contact-button .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(7, 20, 38, .18); }
}
@media (prefers-reduced-motion: reduce) {
    .ogawa-rental-lp .oa-contact-button .wp-block-button__link { transition: none; }
}
