/* 最初の画面の見直し（2026-10-12）：B＝動画に短い3文＋動画の下端にバナー／D＝具体的な見出し＋写真の直下にバナー／G2＝価格を主役にしてバナーを上へ。
   動かすのは transform/opacity だけ。画像・動画は増やさない */
html body .hx_banner{display:block;width:100%;margin:0;padding:0;border:0;background:none;cursor:pointer}
html body .hx_banner img{display:block;width:100%;height:auto}
/* --- B --- */
html body .hx_b .hx_vis .hx_banner{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;width:auto;z-index:4;filter:drop-shadow(0 .4rem 1rem rgba(0,0,0,.35))}
html body .hx_b .hx_over{padding-bottom:calc(2rem + (min(100vw,450px) - 2.4rem) * .3444)}
html body .hx_caps{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.4rem;justify-items:start}
html body .hx_caps li{padding:.3rem 1rem;border-radius:10rem;background:rgba(255,255,255,.16);color:#fff;font-size:min(1.3rem,3.5vw);font-weight:700;letter-spacing:.03em;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
@media (prefers-reduced-motion:no-preference){
  html body .hx_caps li{animation:fv2In .7s cubic-bezier(.22,1,.36,1) backwards}
  html body .hx_caps li:nth-child(1){animation-delay:.55s}
  html body .hx_caps li:nth-child(2){animation-delay:.75s}
  html body .hx_caps li:nth-child(3){animation-delay:.95s}
  @keyframes fv2In{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:none}}
}
/* --- D --- */
html body .hx_banner_d{margin:1rem auto 0;max-width:54rem;padding:0 1.2rem;width:100%;box-sizing:border-box}
html body .hx_star{margin:0 0 .5rem;text-align:center;font-size:min(1.45rem,3.9vw);font-weight:700;letter-spacing:.04em;color:#E9C86E}
/* --- G2 --- */
html body .g2_sub{margin:.4rem 0 .6rem;font-size:min(1.3rem,3.5vw);font-weight:700;color:rgba(255,255,255,.92);letter-spacing:.03em}
html body .g2_cmp{margin:.4rem 0 0;font-size:min(1.4rem,3.8vw);font-weight:700;color:rgba(255,255,255,.88)}
html body .g2_cmp small{display:block;margin-top:.2rem;font-size:1.1rem;font-weight:500;color:rgba(255,255,255,.72)}
html body .g2_cmp s{text-decoration-color:rgba(255,255,255,.7)}
html body .g2_cmp b{font-size:1.5em;color:#fff;letter-spacing:-.01em}
html body .g2_cta_up{padding:1rem 0 .2rem}
/* D：写真を少し低くして、バナーと見出しの両方が最初の画面に入るように */
html body .hx_d .hx_trio{aspect-ratio:1/.92;max-height:50vh;grid-template-rows:.85fr 1.15fr}
html body .hx_d .hx_h{font-size:min(2.4rem,6.1vw);line-height:1.4}
/* D：3つの枠それぞれで、写真がゆっくり切り替わる（opacity だけ。2枚目以降は読み込み後に取得。動きを減らす設定では1枚目のまま） */
html body .hx_rot{position:relative}
html body .hx_rot .rs{position:absolute;inset:0;margin:0;opacity:0}
html body .hx_rot .rs:first-child{opacity:1}
html body .hx_rot .rs img{width:100%;height:100%;object-fit:cover;display:block;animation:none!important}
html body .hx_trio .t1 .rs:nth-child(1) img{object-position:55% 35%}
html body .hx_trio figure .rs figcaption{position:absolute;left:.8rem;bottom:.6rem;z-index:1;font-family:"Noto Sans JP",sans-serif;font-style:normal;font-weight:700;font-size:1.25rem;letter-spacing:.04em;color:#fff;text-shadow:0 .1rem .6rem rgba(0,0,0,.6)}
@media (prefers-reduced-motion:no-preference){
  html body .hx_rot .rs{animation:hxRot calc(var(--n) * var(--step)) linear infinite both;animation-delay:calc(var(--i) * var(--step) - .5s)}
  html body .hx_rot .rs:first-child{opacity:0}
  @keyframes hxRot{0%{opacity:0}4%{opacity:1}33%{opacity:1}37%{opacity:0}100%{opacity:0}}
}
/* 安心の3点（最初の画面の近く）／体験の流れ（約90分・0円）／B・D・F共通 */
html body .hx_safe{list-style:none;margin:0;padding:1rem 1.2rem .4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;background:#fff}
html body .hx_safe li{padding:.7rem .4rem;border:1px solid #F0C3D2;border-radius:1rem;background:#FFF9FB;text-align:center;cursor:pointer}
html body .hx_safe li b{display:block;font-size:min(1.2rem,3.15vw);line-height:1.35;color:#8B2F52;font-weight:700;white-space:nowrap}
html body .hx_safe li span{display:block;margin-top:.2rem;font-size:min(1rem,2.7vw);line-height:1.35;color:#6B4A57}
html body .hx_flow{margin:1.2rem 1.2rem .4rem;padding:1.2rem 1.2rem 1rem;border:1px solid #F0C3D2;border-radius:1.2rem;background:#fff;text-align:center}
html body .hx_flow_t{margin:0 0 .8rem;font-size:min(1.5rem,4vw);font-weight:700;color:#4A1F33}
html body .hx_flow_t span{margin-left:.8rem;padding:.2rem .9rem;border-radius:10rem;background:#B33A66;color:#fff;font-size:.85em}
html body .hx_flow ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
html body .hx_flow li{position:relative;padding:.7rem .3rem;border-radius:.9rem;background:#FFF4F7}
html body .hx_flow li+li::before{content:"▶";position:absolute;left:-.62rem;top:50%;transform:translateY(-50%);font-size:.9rem;color:#B33A66}
html body .hx_flow li b{display:block;font-size:min(1.2rem,3.15vw);line-height:1.3;color:#4A1F33}
html body .hx_flow li small{display:block;margin-top:.2rem;font-size:min(1rem,2.7vw);color:#8B2F52}
html body .hx_flow_n{margin:.8rem 0 0;font-size:min(1.15rem,3.1vw);color:#6B4A57}

/* ===== 2026-10-15 Googleの「LPの評価」対策（見た目は今までと同じ） ===== */
/* 最初の画面のブランド表記を見出し（h1）にした。見た目は前の <p> と同じ */
html body .top_wrapper .hx_brand .hx_kw{margin:0;padding-left:1rem;border-left:1px solid rgba(243,201,214,.55);font-family:inherit;font-size:min(1.35rem,3.4vw);font-weight:700;white-space:nowrap;line-height:1.35;letter-spacing:.06em;color:#fff;text-shadow:0 .1rem .4rem rgba(0,0,0,.4)}
html body .top_wrapper .hx_brand .hx_kw span{display:block;font-size:1.05rem;font-weight:500;color:#F3C9D6;letter-spacing:.06em}
/* 一番下：店舗の住所・電話、プライバシーポリシー・特商法・運営会社 */
.footer .ft_info{max-width:52rem;margin:0 auto 1.6rem;padding:0 .4rem;text-align:left;font-size:1.15rem;line-height:1.6;color:#7a6a70}
.footer .ft_shops{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.8rem}
.footer .ft_shops b{display:block;font-weight:700}
.footer .ft_shops a{display:inline-block;margin-left:.6rem;text-decoration:underline}
.footer .ft_links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.footer .ft_links a{text-decoration:underline}
/* 特典のポップアップを、画面全体ではなく下の帯で出す（html.op_band の付いた案だけ。2026-10-15 F改良版で試す） */
html.op_band .op{inset:auto 0 0 0;align-items:flex-end;padding:0 .8rem .8rem}
html.op_band .op_bg{display:none}
html.op_band .op_panel{max-height:42vh;border-radius:1.6rem;box-shadow:0 -.4rem 2rem rgba(0,0,0,.28)}
html.op_band .op_body{max-height:calc(42vh - 13rem)}
