/* ==========================================================================
   sp-lp.css — スマホ版LP（procevo-line-lp/index.html 移植）
   フロントページ（front-page.php）専用。

   このファイルはPC幅では何も表示させず、767px以下のスマホ幅でだけ
   .sp-lp / .sp-lp-sticky を表示する。ヘッダー・フッター・PC用セクション
   （.pc-view）の非表示も、この同じ @media (max-width: 767px) 内で行う。

   注意: wp_is_mobile() 等のUA判定は使わない。PC/スマホどちらのHTMLも
   全員に配信し、CSSのメディアクエリだけで出し分ける（Nginxページキャッシュが
   URL単位・UA非依存のため）。

   セレクタは元LP（procevo-line-lp/index.html の <style>）の内容を
   .sp-lp 配下にスコープして移植し、テーマの css/main.css と衝突させない。
   ブレークポイントは main.css が使っている 768px に合わせて max-width:767px。
   ========================================================================== */

/* -----------------------------------------------------------------------
   表示切り替え（PC幅では隠す。スマホ幅の表示は下の @media 内で行う）
   ----------------------------------------------------------------------- */
.sp-lp,
.sp-lp-sticky {
    display: none;
}

/* -----------------------------------------------------------------------
   .sp-lp シェル（元の .lp-shell 相当）
   ----------------------------------------------------------------------- */
.sp-lp,
.sp-lp *,
.sp-lp-sticky,
.sp-lp-sticky * {
    box-sizing: border-box;
}

.sp-lp {
    position: relative;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    background: #fff;
    overflow: hidden;
}

.sp-lp .image-section {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;
    background: #fff;
}

.sp-lp .image-section > img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border: 0;
}

.sp-lp .hotspot {
    position: absolute;
    z-index: 5;
    display: block;
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    cursor: pointer;
    border-radius: 999px;
    color: transparent;
    font-size: 0;
    text-decoration: none;
}

.sp-lp .hotspot:focus-visible {
    outline: 4px solid #fff27a;
    outline-offset: 3px;
    box-shadow: 0 0 0 7px #247db9;
}

.sp-lp .legal-hotspot {
    position: absolute;
    z-index: 5;
    display: block;
    border-radius: 10px;
}

.sp-lp .legal-hotspot:focus-visible {
    outline: 3px solid #fff27a;
    outline-offset: 2px;
}

/* -----------------------------------------------------------------------
   視覚的には隠すが読み上げには残す（元の .sr-only。テーマ側と名前が
   衝突する可能性があるため .sp-lp-sr にリネーム）
   ----------------------------------------------------------------------- */
.sp-lp-sr {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* -----------------------------------------------------------------------
   追従CTA（.sp-lp 配下ではなく兄弟要素なので個別にスタイリング）
   ----------------------------------------------------------------------- */
/* display は指定しない。上の .sp-lp-sticky{display:none} と
   @media 内の .sp-lp-sticky{display:block} で制御する。ここで display:block を
   書くと後勝ちでPC幅でも表示扱いになってしまう。 */
.sticky-cta {
    position: fixed;
    z-index: 50;
    left: 50%;
    bottom: max(14px, env(safe-area-inset-bottom));
    width: min(374px, calc(100vw - 32px));
    border: 0;
    padding: 0;
    border-radius: 999px;
    background: transparent;
    box-shadow: 0 14px 34px rgba(31, 111, 171, .34);
    transform: translate(-50%, 140%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform .35s ease, opacity .35s ease;
    cursor: pointer;
    text-decoration: none;
}

.sticky-cta.is-visible {
    transform: translate(-50%, 0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.sticky-cta img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 999px;
}

.sticky-cta:focus-visible {
    outline: 4px solid #fff27a;
    outline-offset: 3px;
}

/* 520px未満の端末では画面幅いっぱいに広げる（影は不要） */
@media (max-width: 519px) {
    .sp-lp {
        box-shadow: none;
    }
}

/* -----------------------------------------------------------------------
   スマホ幅（767px以下）: PCサイトを隠し、スマホ版LPだけを表示する
   フロントページ（body.home）だけに適用し、他ページのスマホ表示は
   崩さない。
   ----------------------------------------------------------------------- */
@media (max-width: 767px) {
    .home .pc-view {
        display: none;
    }

    .home .header,
    .home .nav-sp,
    .home .footer {
        display: none;
    }

    .sp-lp {
        display: block;
    }

    .sp-lp-sticky {
        display: block;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sticky-cta {
        transition: none;
    }
}
