/*
Theme Name:  Cure Child
Template:    cure_tcd082
Version:     8.4.1  (2025‑07‑25)
*/

/* ▲ 上へ戻るボタン – 位置固定・強制表示 */
#pagetop,#page_top,.pagetop,.page_top,
#sp-pagetop,#sp_pageto,.spPagetop,
#pagetop *,#page_top *,.pagetop *,.page_top *,
#sp-pagetop *,#sp_pageto *,.spPagetop *{
  position:fixed !important;
  right:24px !important;
  bottom:calc(var(--cv-pagetop-b,24px) + env(safe-area-inset-bottom)) !important;
  z-index:10050 !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
}

/* CTA 下部バー余白(白い帯)をユーザ調整可能に */
:root{ --cv-bar-padY:0px; }          /* ← ここの数値を変えれば高さ調整 */
#cv-mobile{ padding-top:var(--cv-bar-padY); padding-bottom:var(--cv-bar-padY); }

/* Floating CTA を最前面 */
#cv-cta-wrap.in-hero .cv-card{ position:relative; z-index:10100; }

/* overlap 非表示ルールを is-sticky の時だけ */
#cv-cta-wrap.overlap.is-sticky .cv-card{display:none;}
#cv-cta-wrap.overlap.is-sticky #cv-mobile{
  display:block!important;position:fixed;bottom:0;left:0;right:0;
  background:#fff;box-shadow:0 -3px 10px rgba(0,0,0,.15);}
#cv-cta-wrap.overlap.is-sticky #cv-mobile .pmpro_btn{
  display:block;width:100%;padding:15px 0;font-size:16px;
  background:#a435f0;border:none;border-radius:0;color:#fff;}

/* ───────── 以下、元テーマ v8.3.1 を保持 ───────── */

:root{
  --cv-w-max:320px; --cv-w-min:240px;
  --cv-gap:48px;    --cv-top:64px;
  --cv-space-y:16px;
}

/* カード装飾 */
.cv-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;
  padding:28px 24px;text-align:center;box-shadow:0 6px 12px rgba(0,0,0,.08);}
.cv-price{font-size:2rem;font-weight:700;margin-bottom:14px;}
.cv-guarantee{font-size:.8rem;color:#666;margin-top:8px;}
.cv-biz{margin-top:20px;padding-top:16px;border-top:1px solid #eee;font-size:.85rem;}
.cv-biz a{color:#a435f0;text-decoration:underline;}
.pmpro_btn{width:100%;padding:12px 0;font-size:16px;background:#a435f0;border:none;border-radius:4px;color:#fff;}
.pmpro_btn:hover{background:#8e2cdf;}

.cv-price{ margin-bottom:var(--cv-space-y) !important;}
.pmpro_btn{ margin:var(--cv-space-y) 0 !important;}
.cv-guarantee{ margin-top:var(--cv-space-y) !important;}

#cv-cta-wrap.in-hero,#cv-cta-wrap.is-sticky{ z-index:var(--cv-z-cta,9000) !important; }
header,header nav,header .menu,header .sub-menu,
#gnav,#gnav ul,#gnav li ul{position:relative;z-index:var(--cv-z-menu,10000) !important;}

@media (min-width:992px){
  #cv-cta-wrap.in-hero{
    position:absolute;right:var(--cv-gap);top:50%;
    width:clamp(var(--cv-w-min),24vw,var(--cv-w-max));
    transform:translateY(-50%);
  }
  #cv-cta-wrap.is-sticky{
    position:fixed;right:var(--cv-gap);top:var(--cv-top);z-index:60;transform:none;
  }
  body.single-service .l-content,
  body.single-service .entry-content{
    max-width:calc(100% - clamp(var(--cv-w-min),24vw,var(--cv-w-max)) - var(--cv-gap));
  }
  #cv-mobile{display:none;}
}

@media (max-width:991px){
  .cv-card{display:none;}
  #cv-mobile{
    position:fixed;bottom:0;left:0;right:0;z-index:9999;
    padding-left:16px;padding-right:16px;
    background:#fff;box-shadow:0 -3px 10px rgba(0,0,0,.15);}
  #cv-mobile .pmpro_btn{
    display:block;width:100%;padding:15px 0;font-size:16px;
    background:#a435f0;border:none;border-radius:0;color:#fff;}
}
