/* 2026-10-07 改善：画面下の予約ボタン（.cta_bottom）を最初から表示する。
   Clarity で 約7割がファーストビューから1度もスクロールせず離脱 → 予約ボタンを一度も見ていなかったため */
.cta_bottom { transform: translateY(0) !important; }
@media (max-width: 1024px) { body { padding-bottom: 11rem; } }
/* 全額返金保証の見出し（旧「ダブル保証」画像の代わり） */
.lp_guarantee_ttl{display:block;text-align:center;font-size:2.4rem;font-weight:800;color:#33222C;letter-spacing:.05em}
@media (min-width:768px){.lp_guarantee_ttl{font-size:3.2rem}}
/* キャッシュバック制度 */
.cashback_block{padding:5rem 0;background:linear-gradient(180deg,#FBF1EF,#fff);text-align:center}
.cb_lead{display:inline-block;background:#33222C;color:#fff;font-weight:700;font-size:1.4rem;padding:.4rem 1.4rem;border-radius:2rem}
.cb_ttl{font-size:2.4rem;font-weight:800;line-height:1.5;margin:1.4rem 0 2rem;color:#333}
.cb_ttl strong{color:#C9958A;font-size:3rem}
.cb_cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:60rem;margin:0 auto}
.cb_card{background:#fff;border:2px solid #C9958A;border-radius:1.2rem;padding:1.6rem .8rem}
.cb_course{font-size:1.3rem;font-weight:700;color:#C9958A;margin-bottom:.6rem}
.cb_rule{font-size:1.4rem;font-weight:700;line-height:1.6;color:#333}
.cb_rule b{font-size:2rem}
.cb_rule strong{font-size:3.4rem;color:#C9958A}
.cb_sub{font-size:1.5rem;font-weight:700;margin:1.6rem 0 1.2rem}
.cb_note{max-width:60rem;margin:0 auto;text-align:left}
.cb_note li{font-size:1.1rem;line-height:1.7;color:#666}
/* PCでも本文は450px幅の1列なので、見出しはスマホと同じ大きさのまま */
/* 予約ボタンの文言を長くしたので1行に収める */
.cta_bottom .com_main_btn,.com_cta_block .com_main_btn,.lp_cta_btns .com_main_btn{white-space:nowrap;font-size:1.35rem;letter-spacing:0}
.lp_fv_sub{font-size:1.5rem;font-weight:700;color:#C9958A;margin:-.4rem 0 1.2rem}
.lp_g_cond{display:block;font-size:1.1rem;margin-top:.6rem;opacity:.85}

/* お友達と一緒に入会 */
.pair_block{padding:5rem 0;background:#fff;text-align:center}

/* 無料体験の時間割 */
.flow_time{margin:0 0 3.2rem;text-align:center}
.flow_time_ttl{font-size:1.6rem;font-weight:700;margin-bottom:1rem}
.flow_time_bar{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;border-radius:.8rem;overflow:hidden}
.flow_time_bar li{background:#4A3340;color:#fff;font-size:1.25rem;font-weight:700;line-height:1.4;padding:1rem .2rem}
.flow_time_bar li:nth-child(2){background:#33222C}
.flow_time_bar li:nth-child(3){background:#33222C}
.flow_time_bar b{display:block;font-size:1.8rem}
.flow_time_note{font-size:1.15rem;color:#666;margin-top:.8rem}

/* 下のバー：月末までのキャンペーン表示 */
.cta_bottom .cp_txt{font-size:1.4rem;line-height:1.5}
.cta_bottom .cp_date{display:inline-block;background:#fff;color:#4A3340;border-radius:10rem;padding:0 .9rem;margin-right:.6rem;font-size:1.25rem;font-weight:700}
.cta_bottom .cp_sub{display:block;font-size:1.15rem;font-weight:500;opacity:.9}
.cta_bottom .cp_txt{font-size:1.3rem;letter-spacing:0;font-feature-settings:"palt";white-space:nowrap}
.cta_bottom .cp_date{font-size:1.15rem;padding:0 .7rem;margin-right:.4rem}
.cta_bottom .cp_sub{font-size:1.1rem;margin-top:.1rem}
.cta_bottom .cp_txt{font-size:min(1.3rem,3.5vw)}

/* 下のバー：1行目＝キャンペーン、2行目＝締切＋予約のしやすさ（どちらも1行に収まる長さ） */
.cta_bottom .cp_txt{white-space:normal;font-size:1.4rem;line-height:1.45}
.cta_bottom .cp_sub{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.3rem;font-size:1.2rem;font-weight:500;opacity:1}
.cta_bottom .cp_date{margin:0;font-size:1.1rem}

/* 改行のバランス：日本語を文節で折り返し、見出しは行の長さをそろえる */
h1,h2,h3,p,li,dt,dd,th,td{word-break:auto-phrase;line-break:strict}
h1,h2,h3,.com_sec_ttl .ja,.kfv_ttl,.efv_ttl,.ffv_ttl,.ereason_ttl,.cb_ttl{text-wrap:balance}
p,li{text-wrap:pretty}

/* スマホで見切れないように：予約ボタンは2等分して画面幅に合わせて文字を縮める */
.cta_bottom .btn,.lp_cta_btns{display:grid!important;grid-template-columns:1fr 1fr;gap:.6rem}
.cta_bottom .com_main_btn,.lp_cta_btns .com_main_btn{min-width:0!important;width:auto!important;max-width:none!important;font-size:min(1.4rem,3.7vw)!important;padding-left:.6rem!important;padding-right:1.6rem!important;white-space:nowrap}
/* 大きい見出しは画面幅に合わせて縮め、1語の途中で折り返さない */
.cb_ttl{font-size:min(2.4rem,6.2vw)}
.cb_ttl strong{font-size:min(3rem,7.4vw);white-space:nowrap}
img,table{max-width:100%}
.com_cta_block .btn{display:grid!important;grid-template-columns:1fr 1fr;gap:.6rem}
.com_cta_block .com_main_btn{min-width:0!important;width:auto!important;max-width:none!important;font-size:min(1.6rem,3.9vw)!important;padding-left:.6rem!important;padding-right:1.6rem!important;white-space:nowrap}

/* ===== 予約ボタン専用色（コーラルピンク）：予約ボタン以外には使わない ===== */
html body .com_main_btn{background:linear-gradient(135deg,#FF9A8F 0%,#F4608E 100%)!important;color:#fff!important;border:0!important;border-radius:10rem!important;box-shadow:0 .4rem 1.2rem rgba(244,96,142,.35)!important;font-weight:700;overflow:hidden;opacity:1}
html body .com_main_btn:hover{opacity:1;filter:brightness(1.05)}
html body .com_main_btn:active{transform:scale(.97)}
html body .com_main_btn:focus-visible{outline:3px solid #FFC2D4;outline-offset:3px}
/* 数秒に一度、光がスッと流れる（動きを減らす設定の端末では止める） */
@media (prefers-reduced-motion:no-preference){
  html body .com_main_btn::before{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-150%) skewX(-20deg);will-change:transform;animation:ctaShine 4.5s ease-in-out infinite;pointer-events:none}
}
@keyframes ctaShine{0%,70%{transform:translateX(-150%) skewX(-20deg)}100%{transform:translateX(330%) skewX(-20deg)}}

/* 下のバー：低く、ボタンは大きく（高さ52px以上） */
.cta_bottom{padding-top:.8rem!important;padding-bottom:calc(.8rem + env(safe-area-inset-bottom))!important}
.cta_bottom .cp_txt{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 0 .6rem!important;font-size:min(1.3rem,3.5vw)!important;white-space:nowrap}
.cta_bottom .cp_date{margin:0!important}
.cta_bottom .com_main_btn.cta_hot{min-height:5.4rem;display:flex!important;flex-direction:column;justify-content:center;align-items:center;line-height:1.25;padding-top:.6rem!important;padding-bottom:.6rem!important;font-size:min(1.5rem,3.9vw)!important}
.cta_bottom .com_main_btn.cta_hot small{display:block;font-size:min(1rem,2.7vw);font-weight:500;opacity:.95;letter-spacing:0;margin-top:.15rem}
/* 文節で収まらない長い語は、はみ出す前に折り返す */
h1,h2,h3,p,li,dt,dd,th,td,small,span{overflow-wrap:anywhere}
.estat_note,.efv_note,.ffv_note,.fcmp_note,.cb_note li,.com_note_list li{word-break:normal}

/* キャンペーン（js/campaign.js）：期限切れなら data-camp を隠し「無料体験 受付中」に切り替え */
.cta_bottom .cp_off{display:none!important}
.camp-off [data-camp]{display:none!important}
.camp-off .cta_bottom .cp_off{display:flex!important}
.cta_bottom #cp_end{font-weight:700;margin-right:.3em}
.cta_bottom .cp_date{background:#fff;color:#F4608E!important;font-weight:700}
.cta_bottom p.cp_txt{font-family:"Noto Sans JP",sans-serif!important;letter-spacing:0!important;font-feature-settings:"palt";font-weight:700}
.cta_bottom p.cp_txt{font-size:min(1.3rem,3.3vw)!important;gap:.4rem}
/* カウントダウン：数字の幅を固定して表示がガタつかないように */
.cta_bottom .cp_date{font-variant-numeric:tabular-nums;min-width:0;white-space:nowrap}
/* 下のバー：1行目＝キャンペーン名、2行目＝締め切り（残り10日からはカウントダウン） */
.cta_bottom p.cp_txt[data-camp]{flex-direction:column;gap:.25rem;font-size:min(1.4rem,3.6vw)!important}
.cta_bottom p.cp_txt[data-camp] .cp_date{font-size:min(1.25rem,3.3vw)!important;padding:.05rem 1rem}
.cta_bottom #cp_end:empty{display:none}
/* キャンペーン名は1行・幅いっぱい（大きさは js/campaign.js が自動で決める） */
.cta_bottom #cp_title{display:block;white-space:nowrap;font-weight:900;line-height:1.3;letter-spacing:0}

/* 締め切りの行は残り10日からだけ出す */
.cta_bottom p.cp_txt[data-camp] .cp_date:empty{display:none}
/* 2つ並びの予約ボタンは幅に余裕がないので▶を外し、文字を中央に（▶が「体験」に重なっていた） */
.cta_bottom .com_main_btn::after,.lp_cta_btns .com_main_btn::after,.com_cta_block .com_main_btn::after{display:none!important}
.cta_bottom .com_main_btn,.lp_cta_btns .com_main_btn,.com_cta_block .com_main_btn{padding-left:.6rem!important;padding-right:.6rem!important;text-align:center}
/* 全額返金保証：「証」だけが次の行に落ちないよう、幅に合わせて縮めて1行に */
.guarantee_block .main_txt{font-size:min(3.6rem,9vw)!important;white-space:nowrap;letter-spacing:.04em}

/* 所要時間の帯：意味の区切りで改行し、枠の幅に合わせて文字を縮める（枠からはみ出していた） */
.flow_time_bar li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:1rem .2rem!important}
.flow_time_bar span{display:block;font-size:min(1.2rem,3.1vw);line-height:1.35;letter-spacing:0;white-space:nowrap;font-feature-settings:"palt"}
.flow_time_bar b{letter-spacing:0}

/* トレーナーの資格：1資格1行、言葉の途中で折り返さない */
.quals > span{display:block}
.quals > span + span{margin-top:.3rem}
.quals .nb{display:inline-block;white-space:nowrap}

.nb{display:inline-block;white-space:nowrap}

/* ===== 総点検（2026-10-08）：文字のルールを全案で統一 =====
   太さ：ゴシックは最大700、明朝は最大600（それ以上は読み込んでおらず、にじむ）
   英字・数字：Cormorant Garamond に統一（元LPの Libre Baskerville / Oswald をやめる）
   大きさ：最小11px */
html body .top_wrapper .feature_block .list .item .content .num,
html body .top_wrapper .reason_block .list .item .content .num,
html body .top_wrapper .study_block .list .item .item_head .ttl_box .num,
html body .top_wrapper .plan_block .plan_item .inner_box .content .monthly .price .num,
html body .top_wrapper .ba_block .img_item .txt,
html body .top_wrapper .ba_block .table td,
html body .top_wrapper .flow_block .list > .item .num .txt,
html body .top_wrapper .faq_block .list .item .faq_q .txt:before{font-family:"Cormorant Garamond",serif!important;font-weight:600!important;font-style:normal;font-variant-numeric:lining-nums}
html body .top_wrapper .access_block .box a{font-family:"Noto Sans JP",sans-serif!important;font-weight:700!important;letter-spacing:.04em}
html body .top_wrapper .lp_guarantee_ttl,
html body .top_wrapper .cb_rule b,
html body .top_wrapper .flow_time_bar b,
html body .cta_bottom #cp_title{font-weight:700!important}
html body .top_wrapper .cb_ttl,html body .top_wrapper .cb_ttl strong,html body .top_wrapper .cb_rule strong{font-weight:700!important}
html body .top_wrapper .refund_box .note p,
html body .top_wrapper .com_note_list,
html body .top_wrapper .com_note_list li,
html body .top_wrapper .fv_proof p,
html body .scroll-hint-text{font-size:1.1rem!important;line-height:1.7}
html body .top_wrapper .fv_proof span{font-size:1.15rem!important}
html body .cta_bottom .com_main_btn.cta_hot small{font-size:1.1rem!important}

html body .top_wrapper .efv_note,html body .top_wrapper .estat_note,html body .top_wrapper .ffv_note,
html body .top_wrapper .fcmp_note,html body .top_wrapper .fpoint_body small,html body .top_wrapper .freview_note,
html body .top_wrapper .kfv_grid small,html body .top_wrapper .fcmp sup{font-size:1.1rem!important;line-height:1.7}
html body .top_wrapper .fcamp b{font-weight:700!important}
html body .top_wrapper .ffv_price b{font-family:"Cormorant Garamond",serif!important;font-weight:600!important}
html body .top_wrapper .e_band small{font-size:1.1rem!important}
html body .top_wrapper .fcmp .o2 b{font-family:"Cormorant Garamond",serif!important;font-weight:600!important}

/* 下のバー：入会金0円を目立たせる（0円だけ予約ボタンと同じコーラルで大きく、行に淡いピンクの帯） */
html body .cta_bottom p.cp_txt[data-camp]{background:#FFEFF4;border-radius:.8rem;padding:.3rem .6rem!important;margin-bottom:.6rem!important}
html body .cta_bottom #cp_title em{font-style:normal;color:#F4608E;font-size:1.3em;margin-left:.1em;letter-spacing:0}
/* 淡いピンクの帯の上の文字は、どの案でも濃い色に（E・F案は地が濃く文字が白だったため、帯の上で見えなくなっていた） */
html body .cta_bottom p.cp_txt[data-camp],html body .cta_bottom p.cp_txt[data-camp] #cp_title{color:#4A2C38!important}
html body .cta_bottom p.cp_txt[data-camp] .cp_date{background:#fff;color:#F4608E!important}
/* 言葉を切らない印（span.nb）は、周りの「span」向けの指定を受けず、親と同じ見た目のまま1語として扱う */
html body span.nb{display:inline-block!important;font:inherit!important;color:inherit!important;margin:0!important;padding:0!important;background:none!important;border:0!important;letter-spacing:inherit!important;vertical-align:baseline!important}
/* 料金・実績などの大きい数字はゴシックの太字に統一（Cormorantの数字は高さがそろわず読みにくい） */
html body .top_wrapper .kfv_price strong,html body .top_wrapper .ffv_price b,html body .top_wrapper .fcmp .o2 b,html body .top_wrapper .estat_box b,html body .top_wrapper .cb_rule strong,html body .top_wrapper .freview_nums b,html body .top_wrapper .plan_block .plan_item .inner_box .content .monthly .price .num{font-family:"Noto Sans JP",sans-serif!important;font-weight:700!important;font-style:normal!important;letter-spacing:-.01em!important;font-feature-settings:"palt"}
/* 番号などに残る英字書体も、数字の高さをそろえる */
html body{font-variant-numeric:lining-nums}
html body *{font-variant-numeric:inherit}

/* 下のバーのキャンペーンの帯：お得＝金色 */
html body .cta_bottom p.cp_txt[data-camp]{background:linear-gradient(90deg,#FFF3D1,#F2D28A)!important}
html body .cta_bottom p.cp_txt[data-camp],html body .cta_bottom p.cp_txt[data-camp] #cp_title{color:#4A3216!important}
html body .cta_bottom #cp_title em{color:#9A2F55!important}

/* 下のバーを低く（金色の帯で高くなった分を戻す） */
html body .cta_bottom p.cp_txt[data-camp]{padding:.1rem .6rem!important;margin-bottom:.45rem!important}
html body .cta_bottom .com_main_btn.cta_hot{min-height:5rem!important}

/* ===== 表示速度：スマホでスワイプが止まる対策（2026-10-08） =====
   html と body の両方にスクロール指定があると、iPhoneでスクロールが引っかかるため body だけにする */
html{overflow:visible!important}
body{overflow-x:hidden}
@supports (overflow:clip){body{overflow-x:clip}}

html body span.nb_run{display:inline;font:inherit!important;color:inherit;background:none;padding:0;margin:0}

/* ===== 無料体験の流れ：写真と動き（2026-10-08） ===== */
.flow_vis{position:relative;margin-top:1.2rem;border-radius:1rem;overflow:hidden;aspect-ratio:16/10;background:#FAF4F3}
.flow_vis.fade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.flow_vis.fade img:first-child{opacity:1}
.flow_vis .fv_note{position:absolute;right:.6rem;bottom:.4rem;font-size:1rem;color:#fff}
.phone_demo{display:flex;align-items:center;justify-content:center;gap:1.6rem;aspect-ratio:auto;padding:1.4rem 1rem;background:linear-gradient(135deg,#FAF4F3,#F6E4EA)}
.pd_phone{position:relative;width:11rem;height:19rem;border-radius:1.8rem;background:#fff;border:.5rem solid #3A2430;box-shadow:0 .6rem 1.6rem rgba(58,36,48,.2);overflow:hidden;flex:none}
.pd_scr{position:absolute;inset:0;padding:2rem .9rem 1rem;display:flex;flex-direction:column;align-items:stretch;gap:.6rem;text-align:center;opacity:0;background:#fff}
.pd_scr.s1{opacity:1}
.pd_h{font-size:1.15rem;font-weight:700;color:#3A2430;letter-spacing:0}
.pd_btn{font-size:1.05rem;font-weight:700;padding:.5rem 0;border-radius:.6rem;border:1px solid #E6CBD5;color:#3A2430;letter-spacing:0}
.pd_btn.on{background:#4A3340;border-color:#4A3340;color:#fff}
.pd_cal{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem}
.pd_cal i{height:1.6rem;border-radius:.3rem;background:#F6E9EE}
.pd_cal i.on{background:#4A3340}
.pd_ok{margin:1.4rem auto .2rem;width:3.6rem;height:3.6rem;border-radius:50%;background:#4A3340;color:#fff;font-size:2rem;line-height:3.6rem}
.pd_s{font-size:1rem;line-height:1.5;color:#777;letter-spacing:0}
.pd_tap{position:absolute;left:50%;top:33%;width:2.4rem;height:2.4rem;margin:-1.2rem 0 0 -1.2rem;border-radius:50%;background:rgba(255,255,255,.55);border:2px solid rgba(58,36,48,.55);opacity:0;pointer-events:none}
.pd_cap{font-size:1.4rem;font-weight:700;line-height:1.5;color:#3A2430}
.pd_cap b{display:block;font-size:3rem;color:#4A3340;line-height:1.1}
@media (prefers-reduced-motion:no-preference){
  .flow_js .flow_vis.fade img,.flow_js .pd_scr,.flow_js .pd_tap{animation-play-state:paused!important}
  .flow_js .item.play .flow_vis.fade img,.flow_js .item.play .pd_scr,.flow_js .item.play .pd_tap{animation-play-state:running!important}
  .flow_vis.n1 img{animation:ffKen 9s ease-in-out infinite alternate}
  .flow_vis.n2 img:first-child{animation:ff2a 7s linear infinite}
  .flow_vis.n2 img:nth-child(2){animation:ff2b 7s linear 3.5s infinite}
  .flow_vis.n3 img:first-child,.pd_scr.s1{animation:ff3a 10.5s linear infinite}
  .flow_vis.n3 img:nth-child(2),.pd_scr.s2{animation:ff3b 10.5s linear 3.5s infinite}
  .flow_vis.n3 img:nth-child(3),.pd_scr.s3{animation:ff3b 10.5s linear 7s infinite}
  .pd_scr{animation-name:none}
  .pd_scr.s1{animation:pd3a 10.5s linear infinite}
  .pd_scr.s2{animation:pd3b 10.5s linear 3.5s infinite}
  .pd_scr.s3{animation:pd3b 10.5s linear 7s infinite}
  .pd_tap{animation:pdTap 10.5s ease-out infinite}
}
@keyframes ffKen{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes ff2a{0%{opacity:1;transform:scale(1.06)}50%{opacity:1}58%{opacity:0;transform:scale(1)}92%{opacity:0;transform:scale(1.06)}100%{opacity:1}}
@keyframes ff2b{0%{opacity:0;transform:scale(1.06)}8%{opacity:1}50%{opacity:1}58%{opacity:0;transform:scale(1)}100%{opacity:0}}
@keyframes ff3a{0%{opacity:1;transform:scale(1.06)}33%{opacity:1}39%{opacity:0;transform:scale(1)}94%{opacity:0;transform:scale(1.06)}100%{opacity:1}}
@keyframes ff3b{0%{opacity:0;transform:scale(1.06)}6%{opacity:1}33%{opacity:1}39%{opacity:0;transform:scale(1)}100%{opacity:0}}
@keyframes pd3a{0%,31%{opacity:1}34%,97%{opacity:0}100%{opacity:1}}
@keyframes pd3b{0%{opacity:0}3%,31%{opacity:1}34%,100%{opacity:0}}
@keyframes pdTap{0%,16%{opacity:0;top:33%;transform:scale(.6)}20%{opacity:1;transform:scale(.8)}28%{opacity:0;transform:scale(1.5)}29%,50%{opacity:0;top:66%;transform:scale(.6)}54%{opacity:1;top:66%;transform:scale(.8)}62%,100%{opacity:0;top:66%;transform:scale(1.5)}}

/* ===== 最後のひと押し：はじめてのお客様限定・お得な5大特典（全案共通 2026-10-08） ===== */
.closing_block{padding:4.4rem 0 4.4rem;background:radial-gradient(120% 60% at 50% 0,#FFFDF6 0,#F7EEDC 55%,#F3E6D0 100%);text-align:center}
.cl_ribbon{display:block;margin:0 1rem;padding:.9rem 1rem;background:linear-gradient(180deg,#A88660,#7E6142);color:#fff;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2rem,5.4vw);letter-spacing:.2em;outline:1px solid rgba(255,255,255,.5);outline-offset:-5px}
.cl_price{display:flex;align-items:baseline;justify-content:center;gap:.6rem;margin:1.6rem 0 .4rem;color:#9A2F55;line-height:1}
.cl_price span{font-size:min(1.7rem,4.4vw);font-weight:700;color:#4A3216;align-self:center}
.cl_price b{font-family:"Noto Serif JP",serif;font-weight:700;font-size:min(7.2rem,19vw);letter-spacing:-.02em}
.cl_price small{font-family:"Noto Serif JP",serif;font-weight:700;font-size:min(3rem,8vw)}
.cl_more{margin-top:1.6rem;font-family:"Noto Serif JP",serif;font-size:1.8rem;letter-spacing:.3em;color:#8A6C4A}
.cl_ttl{margin:.2rem auto 2rem;width:max-content;padding:0 1.6rem .6rem;border-bottom:2px solid #4A3216;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2.8rem,7.4vw);color:#4A3216;letter-spacing:.08em}
.cl_ttl b{font-size:1.6em;margin:0 .1em;vertical-align:-.08em}
.cl_list{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;text-align:left}
.cl_list li{position:relative;padding:1rem .8rem 1.1rem 3.6rem;background:#fff;box-shadow:0 .2rem .8rem rgba(126,97,66,.12);min-height:8.4rem;display:flex;flex-direction:column;justify-content:center}
.cl_list li.wide{grid-column:1/-1}
.cl_list i{position:absolute;left:.6rem;top:-.3rem;width:2.4rem;height:4.2rem;display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem;background:linear-gradient(180deg,#C2A27A,#8A6C4A);color:#fff;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:600;font-size:2rem;clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}
.cl_list span{font-size:min(1.15rem,3vw);line-height:1.45;color:#4A3216;font-weight:500}
.cl_list b{margin-top:.2rem;font-family:"Noto Serif JP",serif;font-weight:700;font-size:min(1.6rem,4.1vw);line-height:1.35;color:#B23A5E;word-break:keep-all}
.cl_list .wide b{font-size:min(2.4rem,6.2vw)}
.cl_list small{margin-top:.2rem;font-size:1.05rem;line-height:1.5;color:#8A7A6A}
.closing_note{margin:1.6rem 0 1.4rem;font-size:1.25rem;color:#6A5A4A}
.closing_block .lp_cta_btns{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.closing_block .lp_cta_btns .com_main_btn{display:flex;align-items:center;justify-content:center;min-height:5.6rem;position:relative;font-size:min(1.5rem,3.9vw)}

/* ===== 書体：見出しは細めの明朝（Noto Serif JP）に統一（2026-10-08 オーナー選択） ===== */
h1,h2,.com_sec_ttl .ja{font-weight:500!important}

/* ===== 体験予約ボタン：画像バナー＋店舗を選ぶ下からの画面（2026-10-08） ===== */
.cb_on .top_wrapper .com_cta_block .btn,.cb_on .top_wrapper .lp_cta_btns,
.cb_on .top_wrapper .com_cta_block .txt_box,.cb_on .lp_cta_note,.cb_on .mid_cta_lead,.cb_on .ecta_lead,.cb_on .ecta_main,.cb_on .ecta_sub{display:none!important}
.cb_banner{display:block;width:100%;max-width:54rem;margin:0 auto;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s ease}
.cb_banner img{display:block;width:100%;height:auto;filter:drop-shadow(0 .4rem .8rem rgba(150,36,80,.25))}
.cb_banner:active{transform:scale(.97)}
@media (prefers-reduced-motion:no-preference){.cb_banner{animation:cbPulse 3.2s ease-in-out infinite}}
@keyframes cbPulse{0%,80%,100%{transform:scale(1)}88%{transform:scale(1.025)}}
.cb_sheet{position:fixed;inset:0;z-index:1000;visibility:hidden}
.cb_sheet.open{visibility:visible}
.cb_bg{position:absolute;inset:0;background:rgba(39,25,32,.5);opacity:0;transition:opacity .2s}
.cb_sheet.open .cb_bg{opacity:1}
.cb_panel{position:absolute;left:0;right:0;bottom:0;max-width:54rem;margin:0 auto;padding:2.4rem 1.6rem calc(2rem + env(safe-area-inset-bottom));background:#fff;border-radius:1.6rem 1.6rem 0 0;text-align:center;transform:translateY(100%);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.cb_sheet.open .cb_panel{transform:none}
.cb_close{position:absolute;top:.8rem;right:1rem;width:4.4rem;height:4.4rem;border:0;background:none;font-size:2.4rem;color:#888;cursor:pointer}
.cb_ttl{font-size:1.8rem;font-weight:700;color:#33222C;margin-bottom:1.6rem}
.cb_btns{display:grid;gap:1rem}
.cb_btns .com_main_btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:6rem;font-size:1.8rem;position:relative}
.cb_btns .com_main_btn small{font-size:1.1rem;font-weight:500}
.cb_note{margin-top:1.2rem;font-size:1.2rem;color:#777}
.closing_block .cb_banner,.mid_cta .cb_banner,.lp_cta .cb_banner,.ecta .cb_banner{margin-top:.4rem}

/* ===== ビフォーアフター（タブ切り替え） 2026-10-08 ===== */
.ba_block{padding:4.8rem 0 4rem;background:#FAF4F3}
.ba_lead{text-align:center;font-size:1.3rem;color:#666;margin:1rem 0 1.2rem}
.ba_tabs{display:flex;gap:.6rem;overflow-x:auto;padding:0 0 .6rem;scrollbar-width:none;justify-content:center;flex-wrap:wrap}
.ba_tab{flex:none;padding:.8rem 1.4rem;min-height:4rem;border-radius:10rem;border:1px solid #4A3340;background:#fff;color:#4A3340;font-size:1.35rem;font-weight:700;cursor:pointer;font-family:inherit}
.ba_tab[aria-selected="true"]{background:#4A3340;color:#fff}
.ba_list{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:1.4rem;padding-bottom:.4rem;scrollbar-width:none}
.ba_list::-webkit-scrollbar,.ba_tabs::-webkit-scrollbar{display:none}
.ba_card{flex:0 0 100%;scroll-snap-align:center;background:#fff;border-radius:1.6rem;padding:2rem 1.4rem 1.6rem;box-shadow:0 .2rem 1.2rem rgba(0,0,0,.06);text-align:center}
.ba_list .ba_card:only-child{flex-basis:100%}
.ba_list:has(.ba_card + .ba_card) .ba_card{flex-basis:92%}
.ba_catch{font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2rem,5.2vw);line-height:1.45;color:#4A3340}
.ba_meta{margin:.4rem 0 1rem;font-size:1.3rem;font-weight:700;color:#3A2430}
.ba_card img{width:100%;height:auto;border-radius:1rem}
.ba_tbl{width:100%;margin-top:1rem;border-collapse:separate;border-spacing:0 2px;font-variant-numeric:tabular-nums lining-nums}
.ba_tbl th,.ba_tbl td{padding:.7rem .4rem;font-size:1.4rem;font-weight:700;text-align:center}
.ba_tbl thead th{font-size:1.05rem;letter-spacing:.06em;color:#888;padding:.2rem}
.ba_tbl tbody th{background:#6E5A63;color:#fff;font-size:1.2rem;font-weight:500;border-radius:.4rem 0 0 .4rem}
.ba_tbl td{background:#F7F2F4}
.ba_tbl .aft{color:#4A3340}
.ba_tbl td.dif{background:#4A3340;color:#fff}
.ba_tbl thead .dif{color:#4A3340}
.ba_wait{margin-top:1rem;padding:1rem;font-size:1.2rem;color:#4A3340;background:#FFF0F4;border-radius:.6rem}
.ba_note{margin-top:.8rem;font-size:1.05rem;line-height:1.6;color:#888;text-align:left}
.ba_com{margin-top:1rem;text-align:left;border-top:1px solid #EEDFE2;padding-top:1rem}
.ba_com summary{list-style:none;cursor:pointer;font-weight:700;font-size:1.45rem;color:#3A2430;display:flex;justify-content:space-between;align-items:center}
.ba_com summary::-webkit-details-marker{display:none}
.ba_com summary span{font-size:1.2rem;color:#4A3340}
.ba_com summary span::after{content:" ＋"}
.ba_com[open] summary span::after{content:" −"}
.ba_com p{margin-top:.8rem;font-size:1.35rem;line-height:1.85;color:#444}
.ba_swipe{margin-top:.8rem;text-align:center;font-size:1.1rem;color:#999}

/* ===== 悩み訴求：暗い背景＋写真つきチェック→「もしかしたら…」（2026-10-08 オーナー参考画像） ===== */
.wr_block{padding:0 0 4.4rem;background:#FBF7F9}
.wr_dark{position:relative;padding:4.4rem 1.6rem 4rem;color:#fff;text-align:center;
  background:linear-gradient(180deg,rgba(38,26,32,.86),rgba(30,20,26,.95)),url("/img/k/worry.webp") center 20%/cover}
.wr_pre{display:inline-block;padding:.3rem 1.6rem;border:1px solid rgba(255,255,255,.6);font-family:"Noto Serif JP",serif;font-size:1.5rem;letter-spacing:.1em}
.wr_h{margin:1rem 0 2.4rem;font-family:"Noto Serif JP",serif;font-weight:600!important;font-size:min(3.2rem,8.4vw);line-height:1.4;letter-spacing:.04em}
.wr_h em{font-style:normal;color:#E7C98E;font-size:1.2em}
.wr_checks{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 1rem}
.wr_chk{display:flex;flex-direction:column;align-items:center;gap:.8rem;width:100%;padding:0;border:0;background:none;color:#fff;font-family:inherit;cursor:pointer}
.wr_lab{position:relative;display:block;width:100%;min-height:5.6rem;padding:.7rem .6rem .7rem 3rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:.4rem;text-align:left;line-height:1.4}
.wr_lab::before{content:"";position:absolute;left:.7rem;top:50%;margin-top:-.9rem;width:1.8rem;height:1.8rem;border:1.5px solid rgba(255,255,255,.8);border-radius:50%;background:center/70% no-repeat}
.wr_lab span{display:block;font-size:min(1.1rem,2.9vw);opacity:.85}
.wr_lab b{display:block;font-size:min(1.35rem,3.5vw);font-weight:700;color:#E7C98E}
.wr_chk img{width:78%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:2px solid rgba(255,255,255,.25);filter:grayscale(.35) brightness(.92);transition:filter .2s,border-color .2s}
.wr_chk[aria-pressed="true"] .wr_lab{background:rgba(231,201,142,.18);border-color:#E7C98E}
.wr_chk[aria-pressed="true"] .wr_lab::before{border-color:#E7C98E;background-color:#E7C98E;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%232B1E25' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.wr_chk[aria-pressed="true"] img{filter:none;border-color:#E7C98E}
.wr_count{margin:1rem 0 1.4rem;font-size:1.4rem;color:#E7C98E;min-height:2.4rem;font-weight:500}
.wr_count b{font-size:2.6rem;color:#E7C98E;margin:0 .2rem}
.wr_turn{margin:3.2rem -1.6rem -4rem;padding:3.2rem 1.6rem 3.6rem;background:#1E1419;position:relative}
.wr_tag{position:absolute;left:1.6rem;top:-1.6rem;padding:.5rem 1.6rem;background:#E7C98E;color:#2B1E25;font-family:"Noto Serif JP",serif;font-weight:600;font-size:1.5rem;transform:rotate(-4deg)}
.wr_turn_m{font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2.8rem,7.4vw);line-height:1.45}
.wr_turn_m em{font-style:normal;color:#E7C98E;font-size:1.15em}
.wr_turn_s{margin-top:1.4rem;font-size:1.4rem;line-height:1.8;opacity:.9}
.wr_turn_s b{font-family:"Noto Serif JP",serif;font-size:2.8rem;color:#E7C98E;margin:0 .2rem}
.wr_list{display:grid;gap:2rem;margin-top:3.2rem}
.wr_item{background:#fff;border-radius:1.4rem;padding:2rem 1.6rem 1.8rem;box-shadow:0 .2rem 1.2rem rgba(58,36,48,.07)}
.wr_no{font-size:1.2rem;font-weight:700;color:#4A3340;letter-spacing:.1em}
.wr_no b{font-family:"Noto Serif JP",serif;font-size:2.6rem;margin-left:.4rem}
.wr_ttl{margin:.2rem 0 .8rem;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2.1rem,5.4vw);line-height:1.45;color:#3A2430}
.wr_cause{font-size:1.35rem;line-height:1.8;color:#555}
.wr_item img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:1rem;margin:1.2rem 0}
.wr_fix{font-size:1.4rem;line-height:1.85;color:#3A2430;background:#FBF1F5;border-radius:1rem;padding:1.2rem 1.4rem}
.wr_fix span{display:block;font-size:1.15rem;font-weight:700;color:#4A3340;margin-bottom:.2rem}
.wr_end{margin-top:2.8rem;text-align:center;font-family:"Noto Serif JP",serif;font-size:min(1.8rem,4.7vw);line-height:1.7;color:#3A2430}
.wr_end b{color:#4A3340}

/* ===== 口コミの評価カード（円グラフが伸びる） 2026-10-08 ===== */
.rs_card{position:relative;margin:1.6rem 0 0;padding:2.4rem 1.2rem 2rem;border-radius:1.6rem;text-align:center;overflow:hidden;
  background:radial-gradient(circle at 15% 85%,rgba(232,150,170,.18) 0 6rem,transparent 6.1rem),radial-gradient(circle at 90% 10%,rgba(232,150,170,.14) 0 5rem,transparent 5.1rem),#F7F1EC}
.rs_pill{position:relative;display:inline-block;padding:.6rem 2rem;border-radius:10rem;background:#D9707F;color:#fff;font-weight:700;font-size:min(1.7rem,4.4vw);letter-spacing:.04em}
.rs_pill b{font-size:1.35em;margin:0 .1em}
.rs_pill::after{content:"";position:absolute;left:50%;bottom:-.8rem;margin-left:-.8rem;border:.8rem solid transparent;border-top-color:#D9707F;border-bottom:0}
.rs_pre{margin-top:1.4rem;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2.2rem,5.8vw);color:#5A3A28}
.rs_h{font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(3.4rem,8.8vw);line-height:1.3;color:#5A3A28;letter-spacing:.02em}
.rs_h em{font-style:normal;color:#D9707F}
.rs_stage{position:relative;width:min(30rem,84%);margin:2rem auto .8rem;aspect-ratio:1/1}
.rs_pie{position:absolute;inset:0;border-radius:50%;background:conic-gradient(#E07C8A 0 calc(var(--p)*1%),#D9D2CF calc(var(--p)*1%) 100%);box-shadow:0 .6rem 1.8rem rgba(217,112,127,.25)}
.rs_pie::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.28),transparent 60%)}
.rs_pct{position:absolute;inset:0;display:flex;align-items:baseline;justify-content:center;padding-top:30%;color:#fff;text-shadow:0 .2rem .8rem rgba(150,40,60,.35)}
.rs_pct b{font-family:"Noto Serif JP",serif;font-weight:600;font-style:italic;font-size:min(9.6rem,24vw);line-height:1;letter-spacing:-.04em}
.rs_pct small{font-family:"Noto Serif JP",serif;font-size:min(3.6rem,9vw);margin-left:.2rem}
.rs_badge{position:absolute;left:-6%;top:22%;width:8.4rem;height:8.4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%,#FFF4CF,#E7C46E 55%,#B98A32);color:#5A3A18;font-family:"Noto Serif JP",serif;font-weight:600;font-size:1.4rem;line-height:1.35;box-shadow:0 .4rem 1rem rgba(150,110,40,.35);transform:rotate(-10deg) scale(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1) .9s}
.rs_bubble{position:absolute;right:-8%;top:-4%;padding:1rem 1.4rem;border-radius:2rem;background:#fff;color:#D9707F;box-shadow:0 .3rem 1rem rgba(0,0,0,.08);opacity:0;transform:translateY(1rem);transition:opacity .5s .5s,transform .5s .5s}
.rs_bubble::after{content:"";position:absolute;left:22%;bottom:-.9rem;border:1rem solid transparent;border-top-color:#fff;border-bottom:0}
.rs_bubble span{display:block;font-size:1.1rem;font-weight:700;color:#7A5A48}
.rs_bubble b{font-family:"Noto Serif JP",serif;font-weight:600;font-size:2.8rem;line-height:1.1;color:#D9707F}
.rs_bubble i{font-style:normal}
.rs_card.on .rs_badge{transform:rotate(-10deg) scale(1)}
.rs_card.on .rs_bubble{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){.rs_card.on .rs_bubble{animation:rsFloat 3.6s ease-in-out 1.2s infinite}}
@keyframes rsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-.5rem)}}
.rs_note{font-size:1.05rem;color:#8A7A6A}
/* 口コミの吹き出し（実際のGoogleレビューの要約）と、つやのある球の円グラフ */
.rs_voices{display:grid;grid-template-columns:1fr 1fr;gap:1rem .8rem;margin:1.8rem 0 -.6rem}
.rs_voices li{position:relative;padding:1rem .6rem;border:1px solid #CDB28A;border-radius:50%/40%;background:rgba(255,255,255,.85);font-family:"Noto Serif JP",serif;font-weight:500;font-size:min(1.3rem,3.4vw);line-height:1.55;color:#6A4A38;opacity:0;transform:scale(.6);transition:opacity .4s,transform .5s cubic-bezier(.34,1.56,.64,1)}
.rs_voices li::after{content:"";position:absolute;bottom:-.7rem;width:1.2rem;height:1.2rem;background:inherit;border-right:1px solid #CDB28A;border-bottom:1px solid #CDB28A;transform:rotate(45deg)}
.rs_voices li:nth-child(odd)::after{right:28%}
.rs_voices li:nth-child(even)::after{left:28%}
.rs_card.on .rs_voices li{opacity:1;transform:none}
.rs_card.on .rs_voices li:nth-child(2){transition-delay:.15s}.rs_card.on .rs_voices li:nth-child(3){transition-delay:.3s}.rs_card.on .rs_voices li:nth-child(4){transition-delay:.45s}
.rs_pie::before{background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.55),rgba(255,255,255,.12) 38%,transparent 62%),radial-gradient(circle at 70% 85%,rgba(150,30,60,.25),transparent 55%)}

/* ===== 月額にぜんぶ込み（2026-10-08 オーナー「全部だす」） ===== */
.inc_block{padding:4.8rem 0 4.4rem;background:linear-gradient(180deg,#fff,#FBF3F6)}
.inc_pre{text-align:center;font-size:min(1.4rem,3.7vw);font-weight:700;color:#8A6070}
.inc_h{margin:.4rem 0 .6rem;text-align:center;font-family:"Noto Serif JP",serif;font-weight:600!important;font-size:min(4rem,10.4vw);line-height:1.2;color:#3A2430}
.inc_h em{font-style:normal;color:#4A3340;font-size:1.25em;background:linear-gradient(transparent 70%,#F7D9E3 70%)}
.inc_lead{text-align:center;font-size:1.35rem;color:#666;margin-bottom:2.2rem}
.inc_list{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.inc_item{background:#fff;border-radius:1.2rem;overflow:hidden;box-shadow:0 .2rem 1rem rgba(58,36,48,.07)}
.inc_item.big{grid-column:1/-1}
.inc_img{position:relative;aspect-ratio:4/3;overflow:hidden}
.inc_item.big .inc_img{aspect-ratio:16/8}
.inc_img img{width:100%;height:100%;object-fit:cover;display:block}
.inc_tag{position:absolute;left:.6rem;top:.6rem;padding:.4rem 1rem;border-radius:10rem;background:linear-gradient(135deg,#F3D38A,#D8A945);color:#4A3216;font-size:min(1.3rem,3.4vw);font-weight:700;box-shadow:0 .2rem .6rem rgba(0,0,0,.15)}
.inc_body{padding:1rem 1rem 1.2rem}
.inc_body h3{font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(1.6rem,4.1vw);line-height:1.4;color:#4A3340;margin-bottom:.4rem}
.inc_item.big h3{font-size:min(2rem,5.2vw)}
.inc_body p{font-size:min(1.2rem,3.15vw);line-height:1.7;color:#555}
.inc_body small{display:block;margin-top:.4rem;font-size:1.05rem;color:#999;line-height:1.5}
.inc_up{margin-top:2rem;padding:1.6rem;border:1px dashed #C9A0B0;border-radius:1.2rem;background:#fff;text-align:center}
.inc_up_t{font-size:1.5rem;font-weight:700;color:#3A2430;margin-bottom:.4rem}
.inc_up_t b{color:#4A3340}
.inc_up p:last-child{font-size:1.2rem;line-height:1.7;color:#666}
.inc_note{margin-top:1.2rem;font-size:1.05rem;line-height:1.6;color:#999}
@media (prefers-reduced-motion:no-preference){.inc_tag{animation:incPop 2.8s ease-in-out infinite}}
@keyframes incPop{0%,85%,100%{transform:scale(1)}92%{transform:scale(1.08)}}

/* ===== 酸素BOX 無料で使い放題 ===== */
.o2_block{padding:0 0 4.4rem;background:linear-gradient(180deg,#1F2A44 0,#2B2640 40%,#3A2430 100%);color:#fff}
.o2_photo{position:relative;aspect-ratio:4/3;overflow:hidden}
.o2_photo img{width:100%;height:100%;object-fit:cover;display:block}
.o2_photo::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(to top,#2A2840,transparent)}
.o2_badge{position:absolute;right:1.4rem;bottom:1.2rem;z-index:1;width:9rem;height:9rem;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#FFF4CF,#E7C46E 55%,#B98A32);color:#4A3216;font-weight:700;font-size:1.25rem;line-height:1.2;box-shadow:0 .4rem 1.2rem rgba(0,0,0,.35)}
.o2_badge b{font-family:"Noto Serif JP",serif;font-size:2.8rem;line-height:1.1}
@media (prefers-reduced-motion:no-preference){.o2_badge{animation:incPop 2.8s ease-in-out infinite}}
.o2_pre{margin-top:2rem;text-align:center;font-size:1.3rem;letter-spacing:.12em;color:#9FC2F0}
.o2_h{margin:.4rem 0 2rem;text-align:center;font-family:"Noto Serif JP",serif;font-weight:600!important;font-size:min(2.8rem,7.4vw);line-height:1.45}
.o2_h em{font-style:normal;font-size:1.25em;background:linear-gradient(180deg,#FFF1C9,#E7C46E);-webkit-background-clip:text;background-clip:text;color:transparent}
.o2_pts{display:grid;gap:1rem}
.o2_pts li{padding:1.2rem 1.4rem;border-radius:1rem;background:rgba(255,255,255,.08);border:1px solid rgba(159,194,240,.3);font-size:1.3rem;line-height:1.75;color:rgba(255,255,255,.88)}
.o2_pts b{display:block;font-size:1.55rem;color:#fff;margin-bottom:.2rem}
.o2_voice{margin-top:1.6rem;padding:1.2rem 1.4rem;border-left:3px solid #E7C46E;font-size:1.3rem;line-height:1.8;color:rgba(255,255,255,.9)}
.o2_voice span{display:block;font-size:1.1rem;color:#E7C46E;font-weight:700}
.o2_note{margin-top:1rem;font-size:1.05rem;color:rgba(255,255,255,.55)}

/* ===== ダイエットタイプ診断ポップアップ（来訪5〜10秒後） ===== */
.qz{position:fixed;inset:0;z-index:1100;visibility:hidden}
.qz.open{visibility:visible}
.qz_bg{position:absolute;inset:0;background:rgba(39,25,32,.55);opacity:0;transition:opacity .25s}
.qz.open .qz_bg{opacity:1}
.qz_panel{position:absolute;left:50%;top:50%;width:min(92vw,42rem);max-height:88vh;overflow:auto;transform:translate(-50%,-46%) scale(.96);opacity:0;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .25s;background:#fff;border-radius:1.8rem;box-shadow:0 1rem 3rem rgba(0,0,0,.25)}
.qz.open .qz_panel{transform:translate(-50%,-50%);opacity:1}
.qz_x{position:absolute;right:.6rem;top:.6rem;z-index:1;width:4.4rem;height:4.4rem;border:0;background:none;font-size:2.6rem;color:#999;cursor:pointer}
.qz_body{padding:3rem 2rem 2.2rem;text-align:center;color:#3A2430}
.qz_pre{font-size:1.3rem;font-weight:700;color:#4A3340}
.qz_h{margin:.6rem 0 1.2rem;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2.8rem,7.4vw);line-height:1.4}
.qz_h em,.qz_type em{font-style:normal;color:#4A3340}
.qz_lead{font-size:1.35rem;line-height:1.8;color:#555;margin-bottom:2rem}
.qz_go{display:block;width:100%;min-height:5.6rem;border:0;border-radius:10rem;background:linear-gradient(135deg,#FF9A8F,#F4608E);color:#fff;font-size:1.8rem;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:0 .4rem 1.2rem rgba(244,96,142,.35)}
.qz_later{margin-top:1.2rem;min-height:4.4rem;padding:0 1.6rem;border:0;background:none;color:#999;font-size:1.25rem;font-family:inherit;text-decoration:underline;cursor:pointer}
.qz_prog{height:.6rem;border-radius:1rem;background:#F3E7EC;overflow:hidden;margin:0 2.4rem 1.4rem}
.qz_prog span{display:block;height:100%;background:linear-gradient(90deg,#FF9A8F,#F4608E);transition:width .3s}
.qz_no{font-family:"Noto Serif JP",serif;font-size:1.4rem;color:#4A3340}
.qz_q{margin:.4rem 0 1.6rem;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2.1rem,5.6vw);line-height:1.5}
.qz_opts{display:grid;gap:.8rem}
.qz_opt{min-height:5.4rem;padding:1rem 1.4rem;border:1.5px solid #E6D0D9;border-radius:1.2rem;background:#fff;color:#3A2430;font-size:min(1.5rem,3.9vw);font-weight:500;line-height:1.5;text-align:left;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}
.qz_opt:active{transform:scale(.98)}
.qz_opt.on{background:#FFF0F5;border-color:#4A3340}
.qz_load{padding:4rem 0;font-size:1.5rem;color:#8A6070}
.qz_load span{display:block;width:4rem;height:4rem;margin:0 auto 1.4rem;border:4px solid #F3E7EC;border-top-color:#F4608E;border-radius:50%;animation:qzSpin .8s linear infinite}
@keyframes qzSpin{to{transform:rotate(360deg)}}
.qz_rlab{font-size:1.3rem;color:#8A6070}
.qz_type{margin:.4rem 0 1rem;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2.4rem,6.4vw);line-height:1.45;animation:qzPop .5s cubic-bezier(.34,1.56,.64,1)}
.qz_type em{font-size:1.2em;background:linear-gradient(transparent 65%,#F7D9E3 65%)}
@keyframes qzPop{from{transform:scale(.8);opacity:0}to{transform:none;opacity:1}}
.qz_rlead{font-size:1.35rem;line-height:1.8;color:#555;text-align:left}
.qz_pts{margin:1.2rem 0;padding:1.2rem 1.4rem;background:#FAF4F3;border-radius:1rem;text-align:left}
.qz_pts li{position:relative;padding-left:2.2rem;font-size:1.35rem;line-height:1.7;font-weight:500}
.qz_pts li+li{margin-top:.4rem}
.qz_pts li::before{content:"✓";position:absolute;left:0;top:0;color:#4A3340;font-weight:700}
.qz_extra,.qz_worry{font-size:1.25rem;line-height:1.7;color:#6A5060;text-align:left;margin-bottom:.8rem}
.qz_cta{margin-top:1.4rem;padding:1.8rem 1.4rem 1.6rem;border-radius:1.4rem;background:linear-gradient(180deg,#FFF9EC,#FBEFD6);border:1px solid #EAD9A8}
.qz_cta_h{font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2rem,5.3vw);line-height:1.5;color:#4A3216}
.qz_cta_h b{color:#9A2F55}
.qz_gift{margin:1rem 0;text-align:left}
.qz_gift li{position:relative;padding-left:2.2rem;font-size:1.25rem;line-height:1.7;color:#4A3216}
.qz_gift li::before{content:"🎁";position:absolute;left:0}
.qz_gift b{color:#9A2F55}
.qz_store{font-size:1.15rem;color:#8A7A6A;margin-bottom:.8rem}
.qz_btns{display:grid;gap:.8rem}
.qz_btns .com_main_btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:5.8rem;font-size:1.7rem;position:relative}
.qz_btns .com_main_btn small{font-size:1.1rem;font-weight:500}
.ba_catch b{font-size:1.5em;color:#4A3340;margin-left:.2rem}
.ba_tbl{font-size:1.6rem}

/* ===== インフルエンサー（SNSでも話題沸騰中！） 2026-10-08 ===== */
.sns_block{padding:4rem 0 3.2rem;overflow:hidden;background:linear-gradient(180deg,#fff 0,#fff 30%,#FFF4F2 100%);text-align:center}
.sns_pre{display:inline-block;padding:.4rem 1.6rem;border-radius:10rem;background:linear-gradient(90deg,#F9A35B,#E8507A 50%,#9B4FD0);color:#fff;font-size:1.3rem;font-weight:700;letter-spacing:.06em}
.sns_h{margin:.8rem 0 2rem;font-family:"Noto Serif JP",serif;font-weight:600!important;font-size:min(3rem,7.8vw);color:#3A2430}
.sns_h em{font-style:normal;background:linear-gradient(90deg,#F28A3C,#E8507A 45%,#9B4FD0);-webkit-background-clip:text;background-clip:text;color:transparent}
.sns_row{padding:.8rem 0;background:linear-gradient(90deg,#FBD7B8,#F7B9CC 50%,#DCC3F2)}
.sns_row+.sns_row{margin-top:1rem}
.sns_track{display:flex;gap:1rem;width:max-content}
@media (prefers-reduced-motion:no-preference){
  .sns_track{animation:snsMove 40s linear infinite}
  .sns_row.rev .sns_track{animation-direction:reverse}
}
@keyframes snsMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.sns_card{flex:none;width:13.2rem;background:#fff;border-radius:.6rem;box-shadow:0 .3rem .8rem rgba(0,0,0,.12);overflow:hidden;text-align:left}
.sns_top{display:flex;align-items:center;gap:.4rem;padding:.5rem .6rem;font-size:1rem}
.sns_top i{width:1.8rem;height:1.8rem;border-radius:50%;background:conic-gradient(#F9A35B,#E8507A,#9B4FD0,#F9A35B);flex:none}
.sns_top b{flex:1;font-weight:700;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sns_top span{font-size:.9rem;font-weight:700;color:#fff;background:#999;border-radius:.3rem;padding:0 .4rem}
.sns_pic{aspect-ratio:4/5;background:#F2E9EC}
.sns_pic img{width:100%;height:100%;object-fit:cover;display:block}
.sns_ph{display:flex;height:100%;align-items:center;justify-content:center;text-align:center;font-size:1.2rem;color:#B9A2AC}
.sns_bot{display:flex;gap:.8rem;padding:.5rem .7rem;font-size:1.3rem;color:#444}
.sns_bot .h{color:#E8507A}
.sns_bot .k{margin-left:auto}
.sns_note{margin:1.4rem 1.6rem 0;font-size:1.05rem;line-height:1.6;color:#999}
.sns_note b{color:#E8507A}
/* SNS：公式アカウントの数字・TikTok動画・フォローボタン */
.sns_pre{background:linear-gradient(90deg,#25F4EE,#111 45%,#FE2C55)!important}
.sns_nums{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:0 1.6rem 1.6rem}
.sns_nums li{padding:1rem .2rem;border-radius:1rem;background:#fff;box-shadow:0 .2rem .8rem rgba(0,0,0,.08)}
.sns_nums span{display:block;font-size:min(1.05rem,2.8vw);font-weight:700;color:#666;line-height:1.3}
.sns_nums b{font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(3.2rem,8.4vw);line-height:1.1}
.sns_nums small{font-size:1.2rem;font-weight:700}
.sns_nums .tt b{background:linear-gradient(90deg,#16C7C2,#FE2C55);-webkit-background-clip:text;background-clip:text;color:transparent}
.sns_nums .ig b{background:linear-gradient(90deg,#F28A3C,#E8507A,#9B4FD0);-webkit-background-clip:text;background-clip:text;color:transparent}
.tt_list{display:flex;gap:.8rem;overflow-x:auto;padding:0 1.6rem .6rem;scroll-snap-type:x mandatory;scrollbar-width:none}
.tt_list::-webkit-scrollbar{display:none}
.tt_list li{flex:0 0 62%;scroll-snap-align:center}
.tt_face{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;width:100%;aspect-ratio:9/14;border:0;border-radius:1.2rem;background:linear-gradient(160deg,#111 0,#2A1A24 60%,#4A2234);color:#fff;font-family:inherit;cursor:pointer;box-shadow:0 .4rem 1.2rem rgba(0,0,0,.2)}
.tt_face::before{content:"";position:absolute;inset:0;border-radius:inherit;background:url("/img/k/training-squat.webp") center/cover;opacity:.35}
.tt_list li:nth-child(2) .tt_face::before{background-image:url("/img/k/esthe-leg.webp")}
.tt_list li:nth-child(3) .tt_face::before{background-image:url("/img/k/o2box.webp")}
.tt_play{position:relative;width:5.6rem;height:5.6rem;border-radius:50%;background:rgba(255,255,255,.92);color:#FE2C55;font-size:2.2rem;display:flex;align-items:center;justify-content:center;padding-left:.4rem}
.tt_lab{position:relative;font-size:1.3rem;font-weight:700;line-height:1.4;text-shadow:0 .1rem .4rem rgba(0,0,0,.6)}
.tt_frame{width:100%;aspect-ratio:9/16;min-height:56rem;border:0;border-radius:1.2rem;background:#000}
.sns_sub{margin:1.8rem 0 .8rem;font-weight:700;color:#3A2430}
.sns_follow{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.6rem 1.6rem 0}
.sns_follow a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:5.2rem;border-radius:10rem;color:#fff;font-size:1.4rem;font-weight:700;text-decoration:none}
.sns_follow small{font-size:1rem;font-weight:500;opacity:.9}
.sf_tt{background:#111}
.sf_ig{background:linear-gradient(90deg,#F28A3C,#E8507A 50%,#9B4FD0)}
.tt_face{text-decoration:none}
/* 公式TikTokのサムネ（縦長カードが横スクロール） */
.tt_list li{flex:0 0 42%!important}
.tt_face{aspect-ratio:9/16!important;overflow:hidden}
.tt_face::before{display:none}
.tt_face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tt_face::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(to top,rgba(0,0,0,.55),transparent)}
.tt_play{width:4.4rem!important;height:4.4rem!important;font-size:1.7rem!important;opacity:.92;z-index:1}
.tt_views{position:absolute;left:.6rem;bottom:.6rem;z-index:1;font-size:1.15rem;font-weight:700;color:#fff;text-shadow:0 .1rem .3rem rgba(0,0,0,.6)}
.tt_views::before{content:"▶ "}

/* ===== 6つのケアをひとつに（金・月桂樹・紙吹雪） ===== */
.six_block{position:relative;overflow:hidden;padding:3.6rem 1.4rem 3rem;text-align:center;background:radial-gradient(120% 70% at 50% 0,#FFFBEF 0,#FBEFCF 45%,#F2DCAA 100%)}
.six_block>*{position:relative;z-index:1}
.six_conf{z-index:0!important}
.six_pill{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.8rem;border-radius:10rem;background:#111;color:#F2DDA4;font-weight:700;font-size:min(1.45rem,3.8vw)}
.six_pill span{font-size:.85em;color:#fff;opacity:.85}
.six_hero{display:flex;align-items:center;justify-content:center;gap:.2rem;margin:1.4rem 0 .4rem}
.six_laurel{width:5rem;height:12.6rem;flex:none;filter:drop-shadow(0 .2rem .3rem rgba(120,80,20,.25))}
.six_laurel.r{transform:scaleX(-1)}
.six_big{font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(4.4rem,11.4vw);line-height:1.15;letter-spacing:-.02em;background:linear-gradient(100deg,#3A2410 0%,#8C6424 35%,#2A1A0C 60%,#8C6424 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 .2rem .2rem rgba(120,80,20,.25))}
.six_h{font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2.6rem,6.8vw);line-height:1.35;color:#2A1A0C}
.six_h b{font-size:2.4em;line-height:1;vertical-align:-.12em;margin-right:.1em;background:linear-gradient(100deg,#9C7428,#F2DDA4 30%,#C99A3E 55%,#8C6424);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
@media (prefers-reduced-motion:no-preference){.six_h b{animation:mhShine 4s ease-in-out infinite}}
.six_list{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:2rem}
.six_list li{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 35% 28%,#3A2E22,#0E0B08 70%);border:2px solid #C99A3E;box-shadow:0 .3rem .9rem rgba(80,50,10,.35),inset 0 0 0 .3rem rgba(201,154,62,.25);color:#fff}
.six_list b{font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(1.45rem,3.7vw);line-height:1.25;color:#F2DDA4}
.six_list small{margin-top:.3rem;font-size:min(1rem,2.6vw);color:rgba(255,255,255,.85)}
.six_note{margin-top:1.6rem;font-size:1.05rem;line-height:1.6;color:#6A5A4A}

/* 紙吹雪と金の光（A案は lp-variants.css を読まないのでここにも） */
/* 紙吹雪：上から舞い落ちる（画面外では止める） */
.media_conf{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.media_conf i{position:absolute;top:-2rem;left:var(--x);width:var(--w);height:calc(var(--w)*1.6);background:var(--c);border-radius:.15rem;opacity:0;transform:rotate(var(--r))}
.media_conf i:nth-child(3n){border-radius:50%;height:var(--w)}
.media_conf i:nth-child(4n){background:linear-gradient(135deg,#FFF3C4,#C99A3E)}
@media (prefers-reduced-motion:no-preference){
  .media_conf i{animation:mhFall var(--t) linear var(--d) infinite;animation-play-state:paused}
  .media_conf.play i{animation-play-state:running}
}
@keyframes mhFall{0%{opacity:0;transform:translate3d(0,0,0) rotate(var(--r))}8%{opacity:.95}50%{transform:translate3d(1.4rem,30rem,0) rotate(calc(var(--r) + 220deg))}100%{opacity:.85;transform:translate3d(-1rem,62rem,0) rotate(calc(var(--r) + 480deg))}}
@keyframes mhShine{0%,30%{background-position:100% 0}70%,100%{background-position:0 0}}

/* ===== 痩身エステの機械：参考LP（REDEN）風・女性向け（2026-10-08） ===== */
.ym_block{padding:0 0 3.6rem;background:#fff;overflow:hidden}
.ym_top{padding:3.6rem 1.6rem 2.4rem;text-align:center;color:#fff;background:radial-gradient(90% 60% at 50% 100%,rgba(255,170,200,.35),transparent 70%),linear-gradient(180deg,#1E1218,#4A1F33 70%,#6E2A48)}
.ym_t1{font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2.4rem,6.2vw);letter-spacing:.06em;opacity:.95}
.ym_t2{margin-top:.4rem;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(4.4rem,11.4vw);line-height:1.2;letter-spacing:.04em;text-shadow:0 .3rem 1.2rem rgba(255,150,190,.35)}
.ym_band{position:relative;padding:1.8rem 1.2rem 2rem;background:#140C10;text-align:center;transform:skewY(-2deg);margin:-1rem 0 0}
.ym_band>*{transform:skewY(2deg)}
.ym_band::before{content:"";position:absolute;left:8%;top:.8rem;width:4rem;height:4rem;background:radial-gradient(circle,#fff 0,rgba(255,255,255,.6) 12%,transparent 60%);opacity:.8}
.gold,.ym_l1 b,.ym_l2{background:linear-gradient(180deg,#FFF3C8 0%,#E9C86E 40%,#B88A36 62%,#F2DDA4 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ym_l1{display:flex;align-items:baseline;justify-content:center;gap:.6rem;flex-wrap:wrap}
.ym_l1 b{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:min(5.2rem,13.4vw);letter-spacing:.04em;line-height:1;border-bottom:2px solid #C99A3E;padding-bottom:.2rem}
.ym_l1 span{color:#fff;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(1.9rem,5vw)}
.ym_l2{margin-top:.8rem;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(3.2rem,8.2vw);line-height:1.25;letter-spacing:.02em}
@media (prefers-reduced-motion:no-preference){.ym_l1 b,.ym_l2{background-size:100% 220%;animation:ymGlow 3.6s ease-in-out infinite}}
@keyframes ymGlow{0%,100%{background-position:0 0}50%{background-position:0 100%}}
.ym_stage{position:relative;height:46rem;margin-top:-.6rem;overflow:hidden;
  background:radial-gradient(60% 40% at 72% 30%,rgba(255,255,255,.85),transparent 70%),conic-gradient(from 200deg at 72% 28%,rgba(255,255,255,.0),rgba(255,255,255,.35) 8%,rgba(255,255,255,0) 16%,rgba(255,255,255,.3) 26%,rgba(255,255,255,0) 34%,rgba(255,255,255,.25) 46%,rgba(255,255,255,0) 56%),linear-gradient(170deg,#F6C9D8 0%,#E89AB6 45%,#C9668E 100%)}
.ym_stage::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.9) 0 .15rem,transparent .2rem) 0 0/3.4rem 3.4rem;opacity:.35;pointer-events:none}
.ym_name{position:absolute;left:1.6rem;top:3rem;z-index:2;text-align:center}
.ym_name small{display:block;font-size:1.2rem;font-weight:700;color:#5A2A3E}
.ym_name b{display:block;margin:.4rem 0;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(2.6rem,6.8vw);line-height:1.2;color:#2A1520}
.ym_name span{display:inline-block;padding:.3rem 1.2rem;border:1.5px solid #2A1520;font-size:1.3rem;font-weight:700;color:#2A1520;background:rgba(255,255,255,.5);letter-spacing:.1em}
.ym_prod{position:absolute;right:-1rem;top:1.6rem;z-index:1;width:auto;height:36rem;filter:drop-shadow(0 1.2rem 1.6rem rgba(80,20,45,.45))}
@media (prefers-reduced-motion:no-preference){.ym_prod{animation:ymFloat 5s ease-in-out infinite}}
@keyframes ymFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-.8rem)}}
.ym_hex{position:absolute;left:.8rem;right:.8rem;bottom:1.6rem;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:.2rem}
.ym_hex::before{content:"";position:absolute;left:4%;right:10%;top:22%;height:56%;border:.5rem solid #D4A84E;border-radius:50%;transform:rotate(-6deg);z-index:-1;box-shadow:0 0 .6rem rgba(212,168,78,.6)}
.ym_hex li{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1/1.12;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%);background:linear-gradient(160deg,#fff 0%,#FCEFF4 55%,#F2D3DF 100%);filter:drop-shadow(0 .3rem .4rem rgba(0,0,0,.2));text-align:center}
.ym_hex li:nth-child(even){transform:translateY(2.6rem)}
.ym_hex b{font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(1.45rem,3.6vw);line-height:1.25;color:#7A2448}
.ym_hex small{font-size:1rem;color:#9A5A74}
.ym_hex li.h{background:linear-gradient(160deg,#FFF6DA,#F3D38A)}
.ym_hex li.h b{color:#5A3A12;font-size:min(1.25rem,3.2vw)}
.ym_same{margin-top:3.6rem;text-align:center;font-size:min(1.6rem,4.1vw);font-weight:700;color:#3A2430}
.ym_same b{color:#4A3340;font-size:1.2em}
.ym_txt{margin-top:1rem;font-size:1.35rem;line-height:1.85;color:#444}
.ym_note{margin-top:.8rem;font-size:1.05rem;color:#999}

/* ===== ぜんぶ込み：カードをボタンに＋くわしい説明のシート ===== */
.inc_btn{display:block;width:100%;height:100%;padding:0;border:0;background:none;text-align:left;font-family:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.inc_item{transition:transform .15s}
.inc_item:active{transform:scale(.98)}
.inc_btn .inc_img{display:block}
.inc_btn .inc_body{display:block}
.inc_t{display:block;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(1.6rem,4.1vw);line-height:1.4;color:#4A3340;margin-bottom:.4rem}
.inc_item.big .inc_t{font-size:min(2rem,5.2vw)}
.inc_p{display:block;font-size:min(1.2rem,3.15vw);line-height:1.7;color:#555}
.inc_btn small{display:block;margin-top:.4rem;font-size:1.05rem;color:#999;line-height:1.5}
.inc_more{display:inline-block;margin-top:.8rem;padding:.3rem 1rem;border-radius:10rem;background:#4A3340;color:#fff;font-size:1.1rem;font-weight:700}
.inc_more::after{content:" ▶";font-size:.8em}
.inc_lead b{color:#4A3340}
.inc_up.inc_btn{display:block;height:auto;margin-top:2rem;padding:1.6rem;border:1px dashed #C9A0B0;border-radius:1.2rem;background:#fff;text-align:center}
.inc_up_t{display:block;font-size:1.5rem;font-weight:700;color:#3A2430;margin-bottom:.4rem}
.inc_up_t b{color:#4A3340}
.inc_up_p{display:block;font-size:1.2rem;line-height:1.7;color:#666}
.incm{position:fixed;inset:0;z-index:1050;visibility:hidden}
.incm.open{visibility:visible}
.incm_lock,.incm_lock body{overflow:hidden!important}
.incm_bg{position:absolute;inset:0;background:rgba(39,25,32,.55);opacity:0;transition:opacity .25s}
.incm.open .incm_bg{opacity:1}
.incm_panel{position:absolute;left:0;right:0;bottom:0;max-width:54rem;margin:0 auto;max-height:90vh;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border-radius:1.8rem 1.8rem 0 0;transform:translateY(100%);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.incm.open .incm_panel{transform:none}
.incm_x{position:sticky;top:.6rem;float:right;margin:.6rem .6rem -5rem 0;z-index:5;width:4.4rem;height:4.4rem;border:0;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 .2rem .6rem rgba(0,0,0,.2);font-size:2.4rem;color:#555;cursor:pointer}
.incm_body .incd_sec{border-radius:1.8rem 1.8rem 0 0;overflow:hidden}
.incm_cta{padding:2rem 1.6rem calc(2.4rem + env(safe-area-inset-bottom));text-align:center;background:linear-gradient(180deg,#FFF9EC,#FBEFD6)}
.incm_cta p{font-family:"Noto Serif JP",serif;font-weight:600;font-size:1.7rem;color:#4A3216;margin-bottom:1.2rem}
.incm_cta b{color:#9A2F55}
.incm_btns{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.incm_btns .com_main_btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:5.6rem;position:relative;font-size:1.45rem}
.incm_btns .com_main_btn small{font-size:1rem}
.incd_photo{aspect-ratio:16/10;overflow:hidden}
.incd_photo img{width:100%;height:100%;object-fit:cover;display:block}
.incd_simple{padding-bottom:2rem}
.incd_pre{margin-top:2rem;text-align:center;font-size:1.3rem;font-weight:700;color:#4A3340}
.incd_h{margin:.4rem 0 1.6rem;text-align:center;font-family:"Noto Serif JP",serif;font-weight:600!important;font-size:min(2.6rem,6.8vw);line-height:1.4;color:#3A2430}
.incd_pts{display:grid;gap:1rem}
.incd_pts li{padding:1.2rem 1.4rem;border-radius:1rem;background:#FAF4F3;font-size:1.3rem;line-height:1.75;color:#555}
.incd_pts b{display:block;font-size:1.55rem;color:#3A2430;margin-bottom:.2rem}
.incd_note{margin-top:1rem;font-size:1.05rem;line-height:1.6;color:#999}
.ym_t2{font-size:min(3.6rem,9.2vw)!important;word-break:keep-all}
/* 痩身エステ：六角形をやめ、金の細枠＋すりガラスの上品なカードに */
.ym_hex{display:none!important}
.ym_stage{height:auto!important;min-height:44rem;padding-bottom:1.6rem}
.ym_feat3{position:absolute;left:1.2rem;right:1.2rem;bottom:6.6rem;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.ym_feat3 li{position:relative;padding:1.4rem .4rem 1rem;border-radius:1.2rem;text-align:center;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(201,154,62,.7);box-shadow:0 .6rem 1.4rem rgba(120,30,70,.18),inset 0 0 0 .3rem rgba(255,255,255,.5)}
.ym_feat3 i{position:absolute;left:50%;top:-1.1rem;transform:translateX(-50%);padding:.1rem .9rem;border-radius:10rem;background:linear-gradient(135deg,#F2DDA4,#C99A3E);color:#3A2410;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:600;font-size:1.3rem;letter-spacing:.06em}
.ym_feat3 b{display:block;font-family:"Noto Serif JP",serif;font-weight:600;font-size:min(1.45rem,3.6vw);line-height:1.3;color:#5A1E38;letter-spacing:0;word-break:keep-all}
.ym_feat3 small{display:block;margin-top:.4rem;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:min(1rem,2.5vw);line-height:1.2;color:#9A6A80}
.ym_finish{position:absolute;left:1.2rem;right:1.2rem;bottom:1.6rem;z-index:3;margin:0;padding:1rem 1.2rem;border-radius:10rem;text-align:center;background:linear-gradient(100deg,#2A1520,#4A1F33);color:#fff;font-size:min(1.5rem,3.9vw);font-weight:700;box-shadow:0 .4rem 1rem rgba(60,20,40,.3)}
.ym_finish span{color:#E9C86E;margin-right:.3rem}
.ym_finish b{background:linear-gradient(180deg,#FFF3C8,#E9C86E 50%,#C99A3E);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.15em}
.ym_prod{height:30rem!important;top:1rem!important}
.ym_feat3 b.sm{font-size:min(1.2rem,3vw);letter-spacing:-.02em;white-space:nowrap}
/* 痩身エステ：ReFa広告のような、暗い背景にスポットライトで機械を見せる上品な形（女性向けにローズの光） */
.ym_lux{position:relative;height:auto!important;min-height:0!important;margin-top:0!important;padding:3.4rem 2rem 3.2rem!important;overflow:hidden;text-align:center;
  background:radial-gradient(55% 38% at 50% 40%,rgba(255,190,215,.28),transparent 70%),radial-gradient(120% 80% at 50% 0,#2A1A24 0,#120B10 60%,#0A0609 100%)!important}
.ym_lux::after{display:none!important}
.ymx_brand{font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:min(1.25rem,3.2vw);letter-spacing:.32em;color:rgba(255,255,255,.88)}
.ymx_glow{position:relative;margin:2.4rem auto 2rem;width:62%;max-width:24rem}
.ymx_glow::before{content:"";position:absolute;left:50%;top:6%;width:120%;height:70%;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,236,244,.55),rgba(255,180,210,.18) 55%,transparent);filter:blur(6px)}
.ymx_prod{position:relative;display:block;width:100%;height:auto;filter:drop-shadow(0 1.6rem 2rem rgba(0,0,0,.6))}
@media (prefers-reduced-motion:no-preference){.ymx_prod{animation:ymFloat 6s ease-in-out infinite}}
.ymx_copy{font-family:"Noto Serif JP",serif;font-weight:500;font-size:min(2rem,5.2vw);line-height:2;letter-spacing:.18em;color:#fff;text-align:left;padding-left:.4rem}
.ymx_feat{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:2.2rem;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:min(1.3rem,3.3vw);letter-spacing:.22em;color:#E9CE84}
.ymx_feat i{width:1px;height:1.2rem;background:rgba(233,206,132,.6)}
.ymx_jp{margin-top:1rem;font-size:1.1rem;line-height:1.7;letter-spacing:.06em;color:rgba(255,255,255,.65)}
.ymx_feat{letter-spacing:.1em!important;font-size:min(1.15rem,2.9vw)!important;gap:.6rem!important;flex-wrap:nowrap!important;white-space:nowrap}
/* 機械の4つの特長：暗い背景に金の細線カード（ReFa風の上品さ） */
.ymx_grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:2.4rem;background:linear-gradient(90deg,transparent,rgba(233,206,132,.55),transparent);border-top:1px solid rgba(233,206,132,.45);border-bottom:1px solid rgba(233,206,132,.45)}
.ymx_grid li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;min-height:11rem;padding:1.6rem .6rem;background:#140C11;text-align:center}
.ymx_grid li:nth-child(odd){border-right:1px solid rgba(233,206,132,.3)}
.ymx_grid li:nth-child(-n+2){border-bottom:1px solid rgba(233,206,132,.3)}
.ymx_grid i{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:1.6rem;letter-spacing:.1em;color:#C9A04E}
.ymx_grid b{font-family:"Noto Serif JP",serif;font-weight:500;font-size:min(1.8rem,4.6vw);letter-spacing:.12em;color:#fff;white-space:nowrap}
.ymx_grid li:nth-child(2) b{font-size:min(1.5rem,3.8vw);letter-spacing:.04em}
.ymx_grid small{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:min(1rem,2.5vw);letter-spacing:.16em;color:rgba(233,206,132,.85)}
.ymx_grid li.hand{background:radial-gradient(80% 80% at 50% 40%,rgba(233,206,132,.16),#140C11 75%)}
.ymx_grid li.hand b{background:linear-gradient(180deg,#FFF3C8,#E9C86E 55%,#C99A3E);-webkit-background-clip:text;background-clip:text;color:transparent}
.ymx_jp{margin-top:1.6rem!important;line-height:1.9!important}

/* ===== A案の最初の画面：画像に動きと光を重ねる（2026-10-08） ===== */
.fv_fx{position:relative;overflow:hidden}
.fv_fx>img{display:block;width:100%;height:auto}
.fx_shine,.fx_kg,.fx_arrow,.fx_sp{position:absolute;pointer-events:none}
.fx_shine{inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 48%,rgba(255,255,255,.1) 55%,transparent 62%);transform:translateX(-120%)}
.fx_kg{left:30%;top:64.5%;width:68%;height:8.5%;border-radius:1rem;background:linear-gradient(100deg,transparent 30%,rgba(255,240,200,.85) 50%,transparent 70%);background-size:250% 100%;mix-blend-mode:screen;opacity:0}
.fx_arrow{left:36.5%;top:37%;display:flex;gap:.1rem;transform:translate(-50%,-50%)}
.fx_arrow i{width:1.1rem;height:1.1rem;border-top:3px solid #E8507A;border-right:3px solid #E8507A;transform:rotate(45deg);opacity:.15}
.fx_sp{left:var(--x);top:var(--y);width:calc(1.8rem*var(--s));height:calc(1.8rem*var(--s));background:radial-gradient(circle,#fff 0 18%,rgba(255,240,210,.9) 30%,transparent 62%);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);opacity:0;transform:scale(.3)}
@media (prefers-reduced-motion:no-preference){
  .fv_fx>img{animation:fxIn 1s cubic-bezier(.22,1,.36,1) both}
  .fx_shine{animation:fxShine 5.5s ease-in-out 1.2s infinite}
  .fx_kg{animation:fxKg 3.2s ease-in-out .8s infinite}
  .fx_arrow i{animation:fxArr 1.4s ease-in-out infinite}
  .fx_arrow i:nth-child(2){animation-delay:.2s}.fx_arrow i:nth-child(3){animation-delay:.4s}
  .fx_sp{animation:fxSp 2.6s ease-in-out var(--d) infinite}
}
@keyframes fxIn{from{opacity:0;transform:scale(1.05)}to{opacity:1;transform:none}}
@keyframes fxShine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes fxKg{0%{opacity:0;background-position:100% 0}15%{opacity:1}60%{opacity:1;background-position:-50% 0}75%,100%{opacity:0;background-position:-50% 0}}
@keyframes fxArr{0%,100%{opacity:.15}40%{opacity:1}}
@keyframes fxSp{0%,100%{opacity:0;transform:scale(.3) rotate(0)}45%{opacity:1;transform:scale(1) rotate(45deg)}70%{opacity:.2;transform:scale(.6) rotate(90deg)}}

/* ===== トレーナー：阪本さんの実績（数字は2026-10 井手さん提供） ===== */
.trainer_block .list>.item.tr_top{flex-wrap:wrap}
.tr_stats{flex-basis:100%;width:100%;margin-top:1.4rem;padding:1.6rem 1.2rem 1.2rem;border-radius:1.4rem;background:linear-gradient(160deg,#2A1520,#4A1F33);color:#fff;text-align:center;position:relative}
.tr_badge{position:absolute;left:50%;top:-1.2rem;transform:translateX(-50%);padding:.3rem 1.4rem;border-radius:10rem;background:linear-gradient(135deg,#FFF3C8,#E9C86E 50%,#C99A3E);color:#3A2410;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:600;font-size:1.4rem;letter-spacing:.14em;white-space:nowrap}
.tr_stats ul{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(233,206,132,.35);border-radius:.8rem;overflow:hidden}
.tr_stats li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:1.2rem .4rem;background:#2E1724}
.tr_stats span{font-size:1.15rem;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.75)}
.tr_stats b{display:flex;align-items:baseline;justify-content:center;gap:.2rem;font-family:"Noto Serif JP",serif;font-weight:600;line-height:1}
.tr_stats b i{font-style:normal;font-size:min(3.4rem,8.6vw);background:linear-gradient(180deg,#FFF3C8,#E9C86E 55%,#C99A3E);-webkit-background-clip:text;background-clip:text;color:transparent}
.tr_stats b small{font-size:1.3rem;color:#E9C86E}
.tr_stats b.star{flex-direction:column;align-items:center;gap:.3rem}
.tr_stats b.star em{font-style:normal;font-size:1.5rem;letter-spacing:.06em;background:linear-gradient(90deg,#F2C14E calc(var(--rate)/5*100%),rgba(255,255,255,.25) 0);-webkit-background-clip:text;background-clip:text;color:transparent}
.tr_note{margin-top:.8rem;font-size:1rem;color:rgba(255,255,255,.6)}

/* ===== トレーナー：阪本さんの実績（数字は2026-10 井手さん提供） ===== */
.trainer_block .list>.item.tr_top{flex-wrap:wrap}
.tr_stats{flex-basis:100%;width:100%;margin-top:1.4rem;padding:1.6rem 1.2rem 1.2rem;border-radius:1.4rem;background:linear-gradient(160deg,#2A1520,#4A1F33);color:#fff;text-align:center;position:relative}
.tr_badge{position:absolute;left:50%;top:-1.2rem;transform:translateX(-50%);padding:.3rem 1.4rem;border-radius:10rem;background:linear-gradient(135deg,#FFF3C8,#E9C86E 50%,#C99A3E);color:#3A2410;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:600;font-size:1.4rem;letter-spacing:.14em;white-space:nowrap}
.tr_stats ul{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(233,206,132,.35);border-radius:.8rem;overflow:hidden}
.tr_stats li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:1.2rem .4rem;background:#2E1724}
.tr_stats span{font-size:1.15rem;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.75)}
.tr_stats b{display:flex;align-items:baseline;justify-content:center;gap:.2rem;font-family:"Noto Serif JP",serif;font-weight:600;line-height:1}
.tr_stats b i{font-style:normal;font-size:min(3.2rem,8.2vw);background:linear-gradient(180deg,#FFF3C8,#E9C86E 55%,#C99A3E);-webkit-background-clip:text;background-clip:text;color:transparent}
.tr_stats b small{font-size:1.3rem;color:#E9C86E}
.tr_stats b.star{flex-direction:column;align-items:center;gap:.3rem}
.tr_stats b.star em{font-style:normal;font-size:1.5rem;letter-spacing:.06em;background:linear-gradient(90deg,#F2C14E calc(var(--rate)/5*100%),rgba(255,255,255,.25) 0);-webkit-background-clip:text;background-clip:text;color:transparent}
.tr_note{margin-top:.8rem;font-size:1rem;line-height:1.5;color:rgba(255,255,255,.6)}
/* トレーナー実績はタップで開く */
.trainer_block .item.tr_top{cursor:pointer;-webkit-tap-highlight-color:transparent}
.trainer_block .item.tr_top .tr_stats{display:none}
.trainer_block .item.tr_top.open .tr_stats{display:block;animation:trOpen .35s cubic-bezier(.22,1,.36,1)}
@keyframes trOpen{from{opacity:0;transform:translateY(-.6rem)}to{opacity:1;transform:none}}
.tr_hint{display:inline-block;margin-top:.6rem;padding:.3rem 1.1rem;border-radius:10rem;background:linear-gradient(135deg,#FFF3C8,#E9C86E 55%,#C99A3E);color:#3A2410;font-size:1.15rem;font-weight:700}
.tr_hint::after{content:" ▼";font-size:.8em}
.item.tr_top.open .tr_hint::after{content:" ▲"}
@media (prefers-reduced-motion:no-preference){.tr_hint{animation:incPop 2.8s ease-in-out infinite}}

/* ===== スワイプが止まる対策（2026-10-08）：描画の負担を減らす =====
   1) 画面に映っていない段のアニメーションは止める（ba.js が in_view を付け外し）
   2) 文字の金色を「背景を動かして光らせる」演出は、iPhoneで毎フレーム描き直しになるのでやめる
   3) 重ね合わせ（mix-blend-mode）をやめる
   4) 画面外の段は描画を後回しにする（content-visibility）
   5) 横スクロールの吸着をゆるくして、縦スワイプを邪魔しない */
html.anim_io main section:not(.in_view) *,html.anim_io main section:not(.in_view) *::before,html.anim_io main section:not(.in_view) *::after,
html.anim_io .fv_block:not(.in_view) *,html.anim_io .fv_block:not(.in_view) *::before,html.anim_io .fv_block:not(.in_view) *::after{animation-play-state:paused!important}
.media_big b,.media_big span,.six_h b,.ym_l1 b,.ym_l2{animation:none!important}
.fx_kg{display:none!important}
/* content-visibility はスクロール中にページの高さが変わって位置がずれるため使わない */
.ba_list,.tt_list{scroll-snap-type:x proximity!important;overscroll-behavior-x:contain}
.sns_track{will-change:transform}
/* 段がふわっと出る演出は、速くスワイプしたときに白く見えて「止まった」と感じるため無効に */
.js .rv{opacity:1!important;transform:none!important;transition:none!important}
/* 縦横の属性を付けた画像は、CSSで高さ指定がない限り比率どおりに（優先度0なので既存の指定を邪魔しない） */
:where(img[width][height]){height:auto}

/* Beautyプランのカードにも写真（施術写真＋業務用マシン）2026-10-08 */
.inc_up.inc_btn{padding:0 0 1.6rem;overflow:hidden}
.inc_up_img{position:relative;display:block;aspect-ratio:16/8;margin-bottom:1.2rem;background:#F6E6EC;overflow:hidden}
.inc_up_img img{width:100%;height:100%;object-fit:cover;display:block}
.inc_up_img .inc_up_mach{position:absolute;right:4%;bottom:0;width:auto;height:92%;object-fit:contain;filter:drop-shadow(0 .4rem .8rem rgba(0,0,0,.35))}
.inc_up_img .inc_tag{position:absolute;left:.8rem;top:.8rem}
.inc_up.inc_btn .inc_up_t,.inc_up.inc_btn .inc_up_p,.inc_up.inc_btn .inc_more{margin-left:1.4rem;margin-right:1.4rem}

/* ヘッダー＝無料体験バナー（ロゴ・メニューなし）2026-10-09 */
.header .inner{padding:0!important;height:auto!important}
.header{height:auto!important;background:#fff}
.hd_h{margin:0;line-height:0}
.hd_banner{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hd_banner img{display:block;width:100%;height:auto}
.hd_banner:active img{transform:scale(.985)}
/* バナーの高さ（幅×372/1080、最大幅450px）だけ最初の画面を下げる */
:root{--hdh:calc(min(100vw,450px) * .3444)}
.top_wrapper .fv_block,.top_wrapper .lp_fv,.top_wrapper .hx{margin-top:var(--hdh)!important}
.header_nav,.nav_btn{display:none!important}
/* 2026-10-09 オーナー：バナーが重たい→余白を入れる／画面下の予約バーは消す（リンクは店舗選択の中で使うのでHTMLには残す） */
.header .inner{padding:.8rem 1.4rem!important;background:#fff;box-shadow:0 .2rem .8rem rgba(90,40,60,.08)}
.hd_banner img{border-radius:1rem}
:root{--hdh:calc((min(100vw,450px) - 2.8rem) * .3444 + 1.6rem)}
.cta_bottom{display:none!important}
@media (max-width: 1024px) { body { padding-bottom: 0!important; } }
/* 締めの特典＝オーナー支給の画像（締め切り日だけ文字で重ねる）2026-10-09 */
.cl_img{position:relative;container-type:inline-size;margin:0 auto .8rem;max-width:56rem}
.cl_img img{display:block;width:100%;height:auto}
.cl_img_date{position:absolute;left:14.3%;top:36.18%;margin:0;font-size:3.5cqw;line-height:1.1;font-weight:500;color:#2E2626;letter-spacing:.02em;white-space:nowrap}

/* ビフォーアフターの横スワイプを軽く：カードごとに描画を分ける・影を軽く 2026-10-09 */
.ba_card{contain:layout paint;box-shadow:0 .1rem .6rem rgba(0,0,0,.05)}
.ba_list{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
/* 1分後の特典ポップアップ（ダイエット診断の代わり）2026-10-09 */
.op{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:1.6rem}
.op.open{display:flex}
.op_bg{position:absolute;inset:0;background:rgba(40,20,30,.55)}
.op_panel{position:relative;width:100%;max-width:42rem;max-height:88vh;display:flex;flex-direction:column;background:#fbf3ea;border-radius:1.6rem;overflow:hidden;box-shadow:0 1rem 3rem rgba(0,0,0,.3);animation:opIn .35s cubic-bezier(.22,1,.36,1)}
@keyframes opIn{from{transform:translateY(2rem);opacity:0}to{transform:none;opacity:1}}
.op_x{position:absolute;right:.8rem;top:.8rem;z-index:2;width:3.6rem;height:3.6rem;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#5a3442;font-size:2.2rem;line-height:1;cursor:pointer;box-shadow:0 .2rem .6rem rgba(0,0,0,.15)}
.op_body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.op_img{position:relative;container-type:inline-size}
.op_img img{display:block;width:100%;height:auto}
.op_date{position:absolute;left:14.3%;top:36.18%;margin:0;font-size:3.5cqw;line-height:1.1;font-weight:500;color:#2E2626;letter-spacing:.02em;white-space:nowrap}
.op_foot{padding:1rem 1.2rem 1.2rem;background:#fff;box-shadow:0 -.2rem .8rem rgba(0,0,0,.06)}
.op_lead{margin:0 0 .6rem;font-size:1.2rem;text-align:center;color:#5a3442}
.op_btns{display:grid;grid-template-columns:1fr;gap:.6rem}
.op_btns .com_main_btn{margin:0;width:100%}
.op_btns .com_main_btn{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.25;padding:.9rem 1rem!important}
.op_btns .com_main_btn small{display:block;font-size:1.1rem;font-weight:500;opacity:.9}

/* 悩み訴求を短く 2026-10-09：理由は写真を小さく横並び、余白を詰める */
.wr_list{gap:1.2rem;margin-top:2.4rem}
.wr_item{padding:1.4rem 1.4rem 1.4rem}
.wr_head{display:flex;align-items:center;gap:1.2rem;margin-bottom:.8rem}
.wr_head img{flex:0 0 8.4rem;width:8.4rem!important;height:8.4rem;aspect-ratio:1/1!important;object-fit:cover;border-radius:1rem;margin:0!important}
.wr_head .wr_ttl{margin:.1rem 0 0;font-size:min(1.8rem,4.8vw)}
.wr_cause{font-size:1.3rem;line-height:1.7;margin:0 0 .8rem}
.wr_fix{font-size:1.3rem;line-height:1.75;padding:1rem 1.2rem}
.wr_end{margin-top:2rem}

/* ヘッダーのバナー：最初は隠す。最初の予約バナーを通り過ぎたら上からスッと出る 2026-10-09 */
:root{--hdh:0px}
.header .inner{transform:translateY(-115%);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .3s;will-change:transform}
html.hd_show .header .inner{transform:none;box-shadow:0 .4rem 1.4rem rgba(90,40,60,.18)}
@media (prefers-reduced-motion: reduce){.header .inner{transition:none}}
/* 2026-10-09 オーナー：背景なし・上部固定のまま、フェードで表示（スライドはやめる） */
.header,.header .inner{background:transparent!important;box-shadow:none!important}
.header .inner{transform:none!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility 0s linear .45s!important}
html.hd_show .header .inner{opacity:1;visibility:visible;pointer-events:auto;box-shadow:none!important;transition:opacity .45s ease,visibility 0s!important}
.hd_banner img{filter:drop-shadow(0 .4rem .8rem rgba(90,40,60,.25))}
/* 悩みの黒い部分を1画面に収める（スクロールなしで全部見える）2026-10-09 */
.wr_dark{padding:2.4rem 1.4rem 2.4rem}
.wr_pre{font-size:1.3rem;padding:.2rem 1.2rem}
.wr_h{margin:.6rem 0 .6rem;font-size:min(2.5rem,6.8vw);line-height:1.35}
.wr_count{margin:.2rem 0 .8rem;min-height:2rem;font-size:1.3rem}
.wr_checks{gap:.8rem}
.wr_chk{gap:.5rem}
.wr_chk img{width:48%}
.wr_lab{min-height:4.4rem;padding:.5rem .5rem .5rem 2.8rem}
.wr_lab::before{left:.6rem;width:1.6rem;height:1.6rem;margin-top:-.8rem}
.wr_turn{margin:1.8rem -1.4rem -2.4rem;padding:2.2rem 1.4rem 2rem}
.wr_tag{top:-1.4rem;font-size:1.3rem;padding:.4rem 1.2rem}
.wr_turn_m{font-size:min(2.2rem,6vw);line-height:1.4}
.wr_turn_s{margin-top:.6rem;font-size:1.25rem;line-height:1.6}
.wr_turn_s b{font-size:2.2rem}
/* ぜんぶ込みのカード：ボタンの中身が縦中央に寄って写真の位置がずれる→上そろえ、「くわしく見る」は下そろえ 2026-10-09 */
.inc_list .inc_btn{display:flex!important;flex-direction:column;justify-content:flex-start;align-items:stretch;height:100%}
.inc_list .inc_body{display:flex!important;flex-direction:column;flex:1}
.inc_list .inc_more{margin-top:auto!important;align-self:flex-start}
/* お客様の声のスライダー：Swiper をやめて、軽い横スクロールに（2026-10-09 表示を速く） */
.voice_slider .swiper-wrapper{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;padding:0 1.6rem .4rem}
.voice_slider .swiper-wrapper::-webkit-scrollbar{display:none}
.voice_slider .swiper-slide{flex:0 0 86%;scroll-snap-align:center;height:auto}
.voice_slider + .swiper-pagination,.voice_slider .swiper-pagination{display:none}
/* 他社との比較グラフ（画像→動くグラフ）2026-10-09：棒が下から伸び、2,448円がピコンと弾む */
.top_wrapper .compare_block .fig.cg{margin:2.4rem 0 0}
.cg_chart{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr 1.9fr;align-items:end;gap:.8rem;height:30rem;padding:0 .2rem}
.cg_col{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.cg_bar{position:relative;display:block;width:100%;height:calc(var(--h) * .74);background:linear-gradient(90deg,#9E9898,#B4AEAE 45%,#A29C9C);border-radius:50%/1.2rem;transform-origin:50% 100%;transform:scaleY(0);transition:transform 1s cubic-bezier(.22,1,.36,1) var(--d)}
.cg_bar::before{content:"";position:absolute;left:0;right:0;top:0;height:2.4rem;border-radius:50%;background:#CFCACA}
.cg_p{font-family:"Noto Serif JP",serif;font-size:1.3rem;color:#9A9393;margin-bottom:.6rem;opacity:0;transform:translateY(.6rem);transition:opacity .5s ease calc(var(--d) + .7s),transform .5s ease calc(var(--d) + .7s)}
.cg_n{font-size:1.25rem;font-weight:700;color:#3A2430;margin-top:.8rem;white-space:nowrap}
.cg_o2{justify-content:flex-end}
.cg_price{position:relative;font-family:"Noto Serif JP",serif;font-weight:700;font-size:min(3.6rem,9vw);line-height:1;color:#4A3340;letter-spacing:.02em;margin-bottom:.8rem;opacity:0;transform:scale(.2)}
.cg_disk{display:block;width:100%;padding:1.8rem .4rem 1rem;border-radius:50%/1.6rem;background:linear-gradient(180deg,#D8648F 0 2.6rem,#B83A6B 2.6rem);color:#fff;font-size:1.05rem;line-height:1.55;text-align:center;letter-spacing:.04em;opacity:0;transform:translateY(1rem);transition:opacity .5s ease 1.1s,transform .5s ease 1.1s}
.cg_logo{width:82%;height:auto;margin-top:1rem}
.cg_burst{position:absolute;left:50%;bottom:100%;width:0;height:0}
.cg_burst i{position:absolute;left:0;bottom:0;width:.25rem;height:1.3rem;background:#4A3340;border-radius:1rem;transform-origin:50% 3.4rem;opacity:0}
.cg_burst i:nth-child(1){transform:translate(-50%,-2.2rem) rotate(-50deg)}
.cg_burst i:nth-child(2){transform:translate(-50%,-2.2rem) rotate(-25deg)}
.cg_burst i:nth-child(3){transform:translate(-50%,-2.2rem) rotate(0)}
.cg_burst i:nth-child(4){transform:translate(-50%,-2.2rem) rotate(25deg)}
.cg_burst i:nth-child(5){transform:translate(-50%,-2.2rem) rotate(50deg)}
.cg_save{display:flex;align-items:baseline;justify-content:center;gap:.6rem;margin:2.4rem 0 0;padding:1.4rem 1rem;background:#4A3340;color:#fff;font-weight:700;font-size:1.6rem;position:relative}
.cg_save::before{content:"";position:absolute;right:22%;top:-1.2rem;border:1.2rem solid transparent;border-top:0;border-bottom-color:#4A3340}
.cg_save b{font-family:"Noto Serif JP",serif;font-size:min(3.4rem,8.6vw);color:#FFE45C;letter-spacing:.02em}
/* 動き（画面に入ったら .cg_play） */
.cg_play .cg_bar{transform:scaleY(1)}
.cg_play .cg_p{opacity:1;transform:none}
.cg_play .cg_disk{opacity:1;transform:none}
.cg_play .cg_price{animation:cgPop .7s cubic-bezier(.34,1.56,.64,1) 1.5s forwards,cgPing 1.8s ease-in-out 2.4s infinite}
.cg_play .cg_burst i{animation:cgBurst 1.8s ease-out 1.5s infinite}
@keyframes cgPop{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.25)}100%{opacity:1;transform:scale(1)}}
@keyframes cgPing{0%,60%,100%{opacity:1;transform:scale(1)}10%{transform:scale(1.14)}20%{transform:scale(.98)}30%{transform:scale(1.08)}40%{transform:scale(1)}}
@keyframes cgBurst{0%{opacity:0}8%{opacity:1}35%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion: reduce){.cg_bar,.cg_p,.cg_disk{transition:none}.cg_price{opacity:1;transform:none}.cg_play .cg_price,.cg_play .cg_burst i{animation:none}}
/* 比較グラフのO2GYM側を上品に 2026-10-09「ダサい」：文字入りの円柱をやめ、ローズゴールドの小さな台座＋ぜんぶ込みは下に細い枠のチップで */
.cg_price small{font-size:.42em;font-weight:600;margin-left:.15em;letter-spacing:0}
.cg_ped{position:relative;display:block;width:100%;height:3.2rem;border-radius:50%/1.1rem;background:linear-gradient(90deg,#B98A5E 0%,#E8C99B 38%,#F6E3C2 50%,#D9B07C 66%,#A97A4F 100%);box-shadow:0 1.2rem 1.6rem -1rem rgba(90,50,30,.45);transform-origin:50% 100%;transform:scaleY(0);transition:transform .7s cubic-bezier(.34,1.56,.64,1) 1.1s}
.cg_ped::before{content:"";position:absolute;left:0;right:0;top:0;height:2.2rem;border-radius:50%;background:radial-gradient(ellipse at 50% 40%,#FFF4DE 0%,#EED3A6 55%,#D2A673 100%)}
.cg_play .cg_ped{transform:scaleY(1)}
.cg_logo{width:86%;margin-top:1.2rem}
.cg_inc{margin:2rem 0 0;padding:1.4rem 1.2rem 1.6rem;border:1px solid rgba(185,138,94,.45);border-radius:1.2rem;background:linear-gradient(180deg,rgba(255,250,242,.9),rgba(255,255,255,.9));text-align:center}
.cg_inc p{margin:0 0 1rem;font-family:"Noto Serif JP",serif;font-size:1.45rem;font-weight:600;letter-spacing:.06em;color:#3A2430}
.cg_inc ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:0;padding:0;list-style:none}
.cg_inc li{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1.1rem;border:1px solid rgba(185,138,94,.55);border-radius:10rem;background:#fff;font-size:1.2rem;font-weight:500;color:#5A3442;letter-spacing:.04em}
.cg_inc li::before{content:"";width:.9rem;height:.5rem;border-left:2px solid #B98A5E;border-bottom:2px solid #B98A5E;transform:rotate(-45deg) translateY(-.15rem)}
@media (prefers-reduced-motion: reduce){.cg_ped{transform:none;transition:none}}
.cg_price{white-space:nowrap;font-size:min(3.2rem,8vw)}
/* 比較グラフ v2（20代女性向け：やわらかいピンクのカード・横棒グラフ）2026-10-09 */
.top_wrapper .compare_block .fig.cg2{margin:2rem 0 0;padding:2.4rem 1.6rem 2rem;border-radius:2.4rem;background:linear-gradient(160deg,#FFF0F4 0%,#FFFFFF 55%,#F4EFFF 100%);box-shadow:0 1rem 2.6rem rgba(232,106,146,.14);text-align:left}
.cg2_lead{margin:0 0 1.6rem;text-align:center;font-size:1.35rem;font-weight:700;letter-spacing:.08em;color:#9A7F8C}
.cg2_rows{list-style:none;margin:0;padding:0;display:grid;gap:1.3rem}
.cg2_rows li{display:grid;grid-template-columns:6.4rem 1fr;align-items:center;gap:.8rem}
.cg2_n{font-size:1.25rem;font-weight:700;color:#7C6872;letter-spacing:.04em}
.cg2_n img{display:block;width:100%;height:auto}
.cg2_track{position:relative;display:block;height:2.6rem}
.cg2_bar{position:absolute;left:0;top:0;bottom:0;width:calc(var(--w) * .72);border-radius:10rem;background:linear-gradient(90deg,#DCD5E6,#C9C0D8);transform-origin:0 50%;transform:scaleX(0);transition:transform 1s cubic-bezier(.22,1,.36,1) var(--d)}
.cg2_p{position:absolute;top:50%;left:calc(var(--w) * .72 + .8rem);transform:translateY(-50%);font-family:"Noto Serif JP",serif;font-size:1.3rem;color:#9C93A8;white-space:nowrap;opacity:0;transition:opacity .4s ease calc(var(--d) + .7s)}
.cg2_o2 .cg2_bar{background:linear-gradient(90deg,#FF9CBB,#E86A92);box-shadow:0 .4rem 1.2rem rgba(232,106,146,.45);min-width:2.6rem}
.cg2_pop{position:absolute;top:50%;left:calc(2.6rem + 1rem);transform:translateY(-50%) scale(.2);transform-origin:0 50%;font-family:"Noto Serif JP",serif;font-weight:700;font-size:min(3rem,7.6vw);line-height:1;color:#E0577F;white-space:nowrap;opacity:0}
.cg2_pop small{font-size:.45em;font-weight:600;margin-left:.15em}
.cg2_spk{position:absolute;right:-1.4rem;top:-1.2rem;font-style:normal;font-size:1.4rem;color:#F3B53F;opacity:0}
.cg2_save{position:relative;margin:2.2rem 0 0;padding:1.4rem 1rem 1.5rem;border-radius:1.8rem;background:linear-gradient(120deg,#FF9CBB,#E86A92 60%,#D65A86);color:#fff;text-align:center;box-shadow:0 .8rem 1.8rem rgba(232,106,146,.35)}
.cg2_save::before,.cg2_save::after{content:"✦";position:absolute;color:#FFE7A3;font-size:1.6rem}
.cg2_save::before{left:1.4rem;top:1rem}.cg2_save::after{right:1.6rem;bottom:1rem;font-size:1.2rem}
.cg2_s1{display:block;font-size:1.25rem;font-weight:700;letter-spacing:.08em;opacity:.95}
.cg2_s2{display:block;margin-top:.2rem;font-size:1.6rem;font-weight:700}
.cg2_s2 b{font-family:"Noto Serif JP",serif;font-size:min(3.6rem,9vw);margin:0 .3rem;letter-spacing:.02em;text-shadow:0 .2rem .8rem rgba(150,30,70,.35)}
.cg2_inc{margin:1.8rem 0 0;text-align:center}
.cg2_inc p{margin:0 0 1rem;font-size:1.35rem;font-weight:700;color:#5A3442;letter-spacing:.04em}
.cg2_inc p b{color:#E0577F}
.cg2_inc ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:0;padding:0;list-style:none}
.cg2_inc li{padding:.5rem 1.2rem;border-radius:10rem;font-size:1.2rem;font-weight:700;color:#5A3442;background:#FFE3EC}
.cg2_inc li:nth-child(3n+2){background:#EEE6FF}
.cg2_inc li:nth-child(3n){background:#FFEBDD}
.cg2_inc li::before{content:"✓";margin-right:.35rem;color:#E0577F}
/* 動き */
.cg_play .cg2_bar{transform:scaleX(1)}
.cg_play .cg2_p{opacity:1}
.cg_play .cg2_pop{animation:cg2Pop .7s cubic-bezier(.34,1.56,.64,1) 1.4s forwards,cg2Ping 1.8s ease-in-out 2.3s infinite}
.cg_play .cg2_spk{animation:cg2Spk 1.8s ease-in-out 1.6s infinite}
@keyframes cg2Pop{0%{opacity:0;transform:translateY(-50%) scale(.2)}60%{opacity:1;transform:translateY(-50%) scale(1.25)}100%{opacity:1;transform:translateY(-50%) scale(1)}}
@keyframes cg2Ping{0%,60%,100%{transform:translateY(-50%) scale(1)}10%{transform:translateY(-50%) scale(1.14)}20%{transform:translateY(-50%) scale(.97)}30%{transform:translateY(-50%) scale(1.07)}40%{transform:translateY(-50%) scale(1)}}
@keyframes cg2Spk{0%,100%{opacity:0;transform:scale(.4) rotate(0)}15%{opacity:1;transform:scale(1.2) rotate(30deg)}40%{opacity:0;transform:scale(.6) rotate(60deg)}}
@media (prefers-reduced-motion: reduce){.cg2_bar,.cg2_p{transition:none;transform:none;opacity:1}.cg2_pop{opacity:1;transform:translateY(-50%)}.cg_play .cg2_pop,.cg_play .cg2_spk{animation:none}}
/* お客様の声：矢印を口コミの下中央に丸ボタンで並べ、下の余白を詰める（Swiperを外した後の調整）2026-10-09 */
.normal_slider_box{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.4rem}
.normal_slider_box .voice_slider{flex:0 0 100%;width:100%}
.normal_slider_box .swiper-button-prev,.normal_slider_box .swiper-button-next{position:static!important;flex:0 0 auto;width:4.4rem!important;height:4.4rem!important;margin:.4rem 0 0!important;border-radius:50%;background-color:#fff!important;background-position:center!important;background-size:1.2rem auto!important;background-repeat:no-repeat!important;border:1px solid rgba(166,93,116,.35);box-shadow:0 .3rem .8rem rgba(90,52,66,.12);cursor:pointer}
.normal_slider_box .swiper-button-prev:active,.normal_slider_box .swiper-button-next:active{transform:scale(.94)}
.top_wrapper #voice .voice_block{padding-bottom:3.6rem}

/* 6大特典の画像から入会金の条件を消した代わりに、画像のすぐ下とポップアップに1行で表示（2026-10-09） */
.cl_img_note{margin:-.6rem auto 1.2rem;max-width:56rem;font-size:1.15rem;line-height:1.6;color:#6B5560;text-align:center}
.op_cond{margin:0 0 .5rem;font-size:1.1rem;line-height:1.5;color:#6B5560;text-align:center}

/* 口コミの見出し（2026-10-10 Googleレビュー6件に差し替え） */
.voice_slider .voice_ttl{margin:.8rem 0 .6rem;font-weight:700;font-size:1.6rem;line-height:1.5;color:#4A3340}

/* 口コミの吹き出し：数字が95%へ増えるのに合わせて1つずつ「ポンッ」と出て、そのあとふわふわ浮かぶ（2026-10-10 オーナー） */
@media (prefers-reduced-motion:no-preference){
  .rs_card.on .rs_voices li{transition:none;animation:rsPon .7s cubic-bezier(.3,1.6,.5,1) both,rsFuwa 3.4s ease-in-out infinite}
  .rs_card.on .rs_voices li:nth-child(1){animation-delay:.15s,.9s}
  .rs_card.on .rs_voices li:nth-child(2){animation-delay:.55s,1.3s;animation-duration:.7s,3.9s}
  .rs_card.on .rs_voices li:nth-child(3){animation-delay:.95s,1.7s;animation-duration:.7s,3.6s}
  .rs_card.on .rs_voices li:nth-child(4){animation-delay:1.35s,2.1s;animation-duration:.7s,4.2s}
}
@keyframes rsPon{0%{opacity:0;transform:scale(0)}55%{opacity:1;transform:scale(1.14)}78%{transform:scale(.95)}100%{opacity:1;transform:scale(1)}}
@keyframes rsFuwa{0%,100%{translate:0 0}50%{translate:0 -.6rem}}
