@charset "UTF-8";
/* =========================================================
   いい女キャンペーン 2026.11–12（既存会員用）
   namespace: .icp-
   和文見出し：Shippori Antique B1（明朝風ゴシック）
   ========================================================= */
:root{
  --icp-wine:#7c3a4f;
  --icp-wine-d:#5e2a3b;
  --icp-rose:#c9798f;
  --icp-rose-l:#f3dde3;
  --icp-blush:#fbf2f3;
  --icp-cream:#fbf7f1;
  --icp-gold:#b8955a;
  --icp-gold-l:#e6d5b3;
  --icp-ink:#3d3436;
  --icp-ink-soft:#7a6e70;
  --icp-hair:#eadfdc;
  --icp-line:#06c755;
  --icp-accent:#c2406f;
  --icp-accent2:#e0698c;
  --icp-accent-l:#e7a3b6;
  --icp-w:480px;
  --icp-bar-h:64px;
  --icp-f-jp:"Noto Sans JP",system-ui,sans-serif;
  --icp-f-disp:"Shippori Antique B1","Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  --icp-f-en:"Jost","Noto Sans JP",sans-serif;
  --icp-f-script:"Parisienne",cursive;
}

.icp,.icp *,.icp-bar,.icp-bar *,.icp-telwrap,.icp-telwrap *{box-sizing:border-box}
.icp{
  max-width:var(--icp-w);margin:0 auto;background:#fff;color:var(--icp-ink);
  font-family:var(--icp-f-jp);font-size:15px;line-height:1.8;letter-spacing:.04em;
  padding-bottom:calc(var(--icp-bar-h) + 24px);overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
.icp p,.icp h1,.icp h2,.icp h3,.icp ul{margin:0;padding:0}
.icp ul{list-style:none}
.icp a{text-decoration:none;color:inherit}
.icp-anchor{display:block;height:1px}
html{scroll-behavior:smooth}
.icp [id^="icp-m"],#icp-coupon,#icp-cta{scroll-margin-top:80px}


/* ---------- テーマ見出し装飾のリセット（diver） ---------- */
.icp h1,.icp h2,.icp h3{
  background:none !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;
  padding:0 !important;margin-bottom:0 !important;
}
.icp h1::before,.icp h1::after,.icp h2::before,.icp h2::after,.icp h3::before,.icp h3::after{
  content:none !important;display:none !important;
}


/* ---------- PC：SPカラム外の背景 ---------- */
body #container{
  background:linear-gradient(160deg,#fdf8f7 0%,#faeef0 38%,#f8efe9 72%,#fcf8f3 100%);
  background-attachment:fixed;
}
@media (min-width:481px){
  .icp{box-shadow:0 0 32px rgba(124,58,79,.07)}
}

/* ---------- 共通 ---------- */
.icp-eyebrow{
  font-family:var(--icp-f-en);font-size:11px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--icp-gold);text-align:center;display:flex;align-items:center;justify-content:center;gap:12px;
}
.icp-eyebrow::before,.icp-eyebrow::after{content:"";width:24px;height:1px;background:var(--icp-gold-l)}
.icp-h2{
  font-family:var(--icp-f-disp) !important;font-weight:400 !important;font-size:24px !important;letter-spacing:.14em !important;
  text-align:center !important;color:var(--icp-wine) !important;margin-top:6px !important;line-height:1.5 !important;
}

/* ---------- FV ---------- */
.icp-fv{
  position:relative;padding:22px;
  background:
    radial-gradient(120% 70% at 85% 0%,#f6d9e0 0%,rgba(246,217,224,0) 60%),
    radial-gradient(90% 60% at 0% 100%,#f2e3cf 0%,rgba(242,227,207,0) 65%),
    linear-gradient(180deg,#fdf6f6 0%,#f9ece9 100%);
}
.icp-fv__frame{
  position:relative;border:1px solid var(--icp-gold-l);padding:44px 18px 34px;text-align:center;
  background:rgba(255,255,255,.35);
}
.icp-fv__frame::before{
  content:"";position:absolute;inset:5px;border:1px solid rgba(184,149,90,.35);pointer-events:none;
}
.icp-fv__en{font-family:var(--icp-f-en);font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--icp-gold)}
.icp-fv__script{
  font-family:var(--icp-f-script);font-size:34px;line-height:1.1;color:var(--icp-rose);
  margin-top:18px !important;transform:rotate(-4deg);opacity:.9;
}
.icp-fv__title{font-family:var(--icp-f-disp) !important;font-weight:400 !important;color:var(--icp-wine) !important;line-height:1.15 !important;margin-top:6px !important}
.icp-fv__title-s{display:block;font-size:64px;letter-spacing:.12em;padding-left:.12em}
.icp-fv__title-l{display:block;font-size:30px;letter-spacing:.3em;padding-left:.3em;margin-top:8px}
.icp-fv__sub{
  font-family:var(--icp-f-disp);font-size:16px;letter-spacing:.18em;color:var(--icp-ink);margin-top:22px !important;
}
.icp-fv__period{
  display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding:8px 16px 8px 8px;
  background:#fff;border-radius:999px;box-shadow:0 2px 10px rgba(124,58,79,.08);
}
.icp-fv__period-lab{
  white-space:nowrap;font-size:11px;font-weight:700;color:#fff;background:var(--icp-wine);border-radius:999px;padding:3px 10px;letter-spacing:.1em;
}
.icp-fv__period-d{font-family:var(--icp-f-en);color:var(--icp-wine-d);font-size:13px;white-space:nowrap}
.icp-fv__period-d b{font-size:19px;font-weight:500;letter-spacing:.04em}
.icp-fv__period-d small{font-size:9px;letter-spacing:.1em;margin-left:3px;color:var(--icp-ink-soft)}
.icp-fv__period-d i{font-style:normal;color:var(--icp-gold);margin:0 4px}
.icp-fv__clinic{font-size:11.5px;color:var(--icp-ink-soft);margin-top:16px !important;letter-spacing:.08em}

/* ---------- COUPON ---------- */
.icp-coupon{padding:48px 22px 44px;background:#fff;text-align:center}
.icp-ticket{
  position:relative;margin:24px auto 0;padding:26px 18px 22px;
  background:linear-gradient(135deg,var(--icp-wine) 0%,var(--icp-accent) 55%,var(--icp-wine-d) 100%);
  color:#fff;border-radius:10px;
  -webkit-mask:radial-gradient(circle 11px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,
               radial-gradient(circle 11px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 11px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,
               radial-gradient(circle 11px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
}
.icp-ticket::before{
  content:"";position:absolute;inset:7px;border:1px solid rgba(230,213,179,.55);border-radius:6px;pointer-events:none;
}
.icp-ticket__cond{font-size:14px;letter-spacing:.1em}
.icp-ticket__cond b{font-size:20px;font-weight:700;color:var(--icp-gold-l);margin:0 2px}
.icp-ticket__val{
  font-family:var(--icp-f-en);font-weight:500;font-size:56px;line-height:1.1;letter-spacing:.02em;margin-top:4px !important;
  color:#fff;
}
.icp-yen{font-size:30px;margin-right:2px;vertical-align:.32em}
.icp-ticket__off{font-size:24px;letter-spacing:.08em;margin-left:6px;color:var(--icp-gold-l)}
.icp-ticket__limit{
  display:inline-block;margin-top:12px !important;font-family:var(--icp-f-en);font-size:13px;
  border-top:1px dashed rgba(255,255,255,.4);padding-top:10px;
}
.icp-ticket__limit span{font-family:var(--icp-f-jp);font-size:11px;margin-right:8px;opacity:.85}
.icp-ticket__limit small{font-size:9px;opacity:.75}
.icp-coupon__note{font-size:12px;color:var(--icp-ink-soft);margin:14px 0 20px !important}

/* ---------- ボタン ---------- */
.icp-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  min-height:56px;border-radius:999px;font-weight:700;font-size:15px;letter-spacing:.08em;cursor:pointer;
  transition:transform .15s,box-shadow .15s;
}
.icp-btn svg{width:20px;height:20px;flex:none}
.icp-btn:active{transform:translateY(1px)}
.icp-btn--line{background:var(--icp-line);color:#fff !important;box-shadow:0 4px 0 #04a045}
.icp-btn--web{background:var(--icp-wine);color:#fff !important;box-shadow:0 4px 0 var(--icp-wine-d)}
.icp-btn--tel{background:#fff;color:var(--icp-wine);border:1px solid var(--icp-wine)}

/* ---------- INDEX ---------- */
.icp-index{padding:44px 22px 36px;background:var(--icp-blush)}
.icp-index__list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px !important}
.icp-index__list a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  min-height:72px;background:#fff;border:1px solid var(--icp-hair);border-radius:8px;
  font-size:14px;font-weight:700;color:var(--icp-wine-d);letter-spacing:.06em;position:relative;
}
.icp-index__list a::after{
  content:"";position:absolute;bottom:9px;width:6px;height:6px;border-right:1px solid var(--icp-gold);border-bottom:1px solid var(--icp-gold);transform:rotate(45deg);
}
.icp-index__list span{font-family:var(--icp-f-en);font-size:11px;color:var(--icp-gold);letter-spacing:.2em;font-weight:400}

/* ---------- MENU ---------- */
.icp-menu{padding:52px 22px 44px;border-bottom:1px solid var(--icp-hair)}
#icp-m1,#icp-m3{background:var(--icp-cream)}
#icp-m2,#icp-m4{background:var(--icp-blush)}
.icp-menu__head{text-align:center}
.icp-menu__num{
  display:inline-block;font-family:var(--icp-f-en);font-size:13px;letter-spacing:.3em;color:var(--icp-gold);
  padding-bottom:6px;border-bottom:1px solid var(--icp-gold-l);
}
.icp-menu__catch{
  font-family:var(--icp-f-disp);font-size:19px;line-height:1.75;letter-spacing:.1em;color:var(--icp-ink);
  margin-top:18px !important;
}
.icp-menu__name{
  font-family:var(--icp-f-jp) !important;font-weight:700 !important;font-size:23px !important;letter-spacing:.08em !important;color:var(--icp-wine) !important;
  margin-top:16px !important;line-height:1.45 !important;
}
.icp-menu__name small{display:block;font-size:12px;font-weight:500;color:var(--icp-ink-soft);letter-spacing:.06em}
.icp-menu__badge{
  display:inline-block;vertical-align:.25em;margin-left:8px;font-size:12px;letter-spacing:.06em;
  background:var(--icp-rose);color:#fff;border-radius:3px;padding:2px 8px;
}
.icp-menu__lead{font-size:13.5px;color:var(--icp-ink-soft);margin-top:6px !important}
.icp-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:14px !important}
.icp-meta li{font-size:11.5px;color:var(--icp-ink-soft);border:1px solid var(--icp-hair);background:#fff;border-radius:999px;padding:2px 12px}
.icp-menu__note{font-size:12px;color:var(--icp-ink-soft);margin-top:14px !important;line-height:1.7}

.icp-price__group{
  font-size:13px;font-weight:700;color:var(--icp-wine);margin-top:26px !important;
  display:flex;align-items:center;gap:10px;letter-spacing:.1em;
}
.icp-price__group::after{content:"";flex:1;height:1px;background:var(--icp-hair)}
.icp-areas{font-size:12px;color:var(--icp-ink-soft);margin-top:6px !important;line-height:1.7}

.icp-price{margin-top:22px;display:grid;gap:10px}
.icp-price__group + .icp-areas + .icp-price,.icp-price__group + .icp-price{margin-top:12px}
.icp-price__row{
  display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px;row-gap:2px;
  background:#fff;border:1px solid rgba(234,223,220,.7);border-radius:10px;padding:14px 16px;box-shadow:0 2px 10px rgba(124,58,79,.06);
}
.icp-price__lab{grid-column:1;grid-row:1;align-self:start;font-weight:700;font-size:15px;color:var(--icp-ink);line-height:1.4}
.icp-price__lab small{display:block;font-size:10.5px;font-weight:500;color:var(--icp-ink-soft);margin-top:2px;letter-spacing:.02em}
.icp-price__reg{grid-column:2;grid-row:1;align-self:start;text-align:right;white-space:nowrap;font-size:12px;color:var(--icp-ink-soft);text-decoration:line-through;text-decoration-color:rgba(124,58,79,.5)}
.icp-price__cp{grid-column:1 / -1;grid-row:2;margin-top:4px !important;display:flex;align-items:baseline;justify-content:flex-end;gap:2px;color:var(--icp-wine);white-space:nowrap}
.icp-price__cp b{font-family:var(--icp-f-en);font-weight:500;font-size:30px;line-height:1.1;letter-spacing:.01em}
.icp-price__unit{font-size:13px;font-weight:700}
.icp-price__unit small{font-size:9.5px;font-weight:500;color:var(--icp-ink-soft)}
.icp-price__per{grid-column:1 / -1;grid-row:3;text-align:right;font-size:11px;color:var(--icp-ink-soft);margin-top:2px !important}
.icp-off{
  align-self:center;margin-right:8px;font-family:var(--icp-f-en);font-weight:500;font-size:15px;
  background:var(--icp-rose);color:#fff;border-radius:4px;padding:1px 7px;line-height:1.5;
}
.icp-off small{font-size:10px;letter-spacing:.04em}
.icp-price__cp-tag{align-self:center;margin-right:8px;font-size:10.5px;font-weight:700;color:#fff;background:var(--icp-wine);border-radius:3px;padding:2px 7px;letter-spacing:.04em}
.icp-price__row--solo .icp-price__lab{align-self:center}
.icp-price__row--solo .icp-price__cp{grid-column:2;grid-row:1;margin-top:0 !important}
.icp-price__row--trial{background:linear-gradient(135deg,#fff 0%,var(--icp-blush) 100%);border-color:var(--icp-rose-l)}

/* ---------- CTA ---------- */
.icp-cta{padding:52px 22px 44px;text-align:center;background:#fff}
.icp-cta__free{
  display:inline-block;font-size:12px;font-weight:700;color:var(--icp-wine);border:1px solid var(--icp-wine);
  border-radius:999px;padding:3px 16px;letter-spacing:.1em;background:#fff;
}
.icp-cta__t{font-family:var(--icp-f-disp);font-size:21px;letter-spacing:.1em;color:var(--icp-ink);margin-top:16px !important;line-height:1.65}
.icp-cta__d{font-size:12.5px;color:var(--icp-ink-soft);margin-top:8px !important}
.icp-cta__btns{display:grid;gap:14px;margin-top:24px}

/* ---------- NOTES / CLINICS ---------- */
.icp-notes{padding:32px 22px 8px}
.icp-notes__t{font-size:13px;font-weight:700;color:var(--icp-ink);margin-bottom:8px !important}
.icp-notes li{font-size:11.5px;color:var(--icp-ink-soft);line-height:1.75;padding-left:1em;text-indent:-1em}
.icp-notes li::before{content:"※"}
.icp-clinics{margin:28px 22px 0;padding:22px;text-align:center;border:1px solid var(--icp-gold-l);border-radius:4px}
.icp-clinics__lab{font-size:11px;letter-spacing:.2em;color:var(--icp-gold)}
.icp-clinics__name{font-family:var(--icp-f-disp);font-size:17px;letter-spacing:.1em;color:var(--icp-wine);margin-top:6px !important;line-height:1.8}
.icp-copy{text-align:center;font-family:var(--icp-f-en);font-size:10px;letter-spacing:.14em;color:var(--icp-ink-soft);margin-top:28px !important}

/* ---------- 固定CTA ---------- */
.icp-bar{
  position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:900;
  width:100%;max-width:var(--icp-w);height:var(--icp-bar-h);
  display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:6px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.94);backdrop-filter:blur(6px);box-shadow:0 -2px 12px rgba(0,0,0,.08);
  font-family:var(--icp-f-jp);
}
.icp-bar__btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:8px;
  font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1.3;cursor:pointer;text-decoration:none;
}
.icp-bar__btn svg{width:18px;height:18px}
.icp-bar__btn--tel{background:#fff;color:var(--icp-wine);border:1px solid var(--icp-wine)}
.icp-bar__btn--line{background:var(--icp-line);color:#fff !important}
.icp-bar__btn--web{background:var(--icp-wine);color:#fff !important}

/* ---------- 電話シート ---------- */
.icp-telsheet{position:fixed;inset:0;z-index:1000;visibility:hidden;font-family:var(--icp-f-jp)}
.icp-telsheet__bg{position:absolute;inset:0;background:rgba(40,25,30,.45);opacity:0;transition:opacity .25s;cursor:pointer}
.icp-telsheet__panel{
  position:absolute;left:50%;bottom:0;width:100%;max-width:var(--icp-w);
  transform:translate(-50%,100%);transition:transform .3s ease;
  background:#fff;border-radius:16px 16px 0 0;padding:26px 20px calc(20px + env(safe-area-inset-bottom));text-align:center;
}
.icp-teltoggle:checked + .icp-telsheet{visibility:visible}
.icp-teltoggle:checked + .icp-telsheet .icp-telsheet__bg{opacity:1}
.icp-teltoggle:checked + .icp-telsheet .icp-telsheet__panel{transform:translate(-50%,0)}
.icp-telsheet__t{margin:0;font-size:17px;font-weight:700;color:var(--icp-wine)}
.icp-telsheet__d{margin:4px 0 16px;font-size:12px;color:var(--icp-ink-soft)}
.icp-telclinic{
  display:flex;flex-direction:column;gap:2px;padding:14px;margin-bottom:10px;border:1px solid var(--icp-hair);
  border-radius:10px;text-decoration:none;color:var(--icp-ink);
}
.icp-telclinic__name{font-size:14px;font-weight:700}
.icp-telclinic__name small{display:block;font-size:11px;font-weight:500;color:var(--icp-ink-soft)}
.icp-telclinic__num{font-family:var(--icp-f-en);font-size:22px;font-weight:500;color:var(--icp-wine);letter-spacing:.06em}
.icp-telsheet__close{display:block;margin-top:6px;padding:10px;font-size:13px;color:var(--icp-ink-soft);cursor:pointer}


/* ---------- PC 目次 ---------- */
.icp-sidenav{
  display:none;position:fixed;right:32px;top:50%;transform:translateY(-50%);z-index:60;
  flex-direction:column;align-items:flex-end;gap:16px;font-family:var(--icp-f-jp);
}
.icp-sidenav__label{margin:0;font-family:var(--icp-f-en);font-weight:500;font-size:11px;letter-spacing:.28em;color:var(--icp-gold)}
.icp-sidenav__nav{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.icp-sidenav__item{display:flex;align-items:center;gap:12px;text-align:right;text-decoration:none !important}
.icp-sidenav__no{font-family:var(--icp-f-en);font-weight:500;font-size:10px;letter-spacing:.2em;color:rgba(184,149,90,.65);transition:color .25s}
.icp-sidenav__tx{position:relative;font-weight:700;font-size:13.5px;color:rgba(61,52,54,.55);transition:color .25s}
.icp-sidenav__tx::after{content:"";position:absolute;right:0;bottom:-4px;width:0;height:1.5px;background:var(--icp-wine);transition:width .28s}
.icp-sidenav__item:hover .icp-sidenav__no,.icp-sidenav__item.is-active .icp-sidenav__no{color:var(--icp-gold)}
.icp-sidenav__item:hover .icp-sidenav__tx,.icp-sidenav__item.is-active .icp-sidenav__tx{color:var(--icp-wine)}
.icp-sidenav__item.is-active .icp-sidenav__tx::after{width:100%}
@media (min-width:1100px){.icp-sidenav{display:flex}}

@media (max-width:359px){
  .icp-fv__title-s{font-size:54px}
  .icp-ticket__val{font-size:48px}
  .icp-price__cp b{font-size:26px}
  .icp-bar__btn{font-size:10px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .icp-telsheet__panel,.icp-telsheet__bg{transition:none}
}

/* =========================================================
   施術FV（個別ページ／TOP共通）  .icp-dfv
   ========================================================= */
.icp-dfv{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#fff;color:var(--icp-ink);text-decoration:none !important}
.icp-dfv__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% 18%}
.icp-dfv::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.82) 60%,#fff 74%);
}
.icp-dfv__tag{
  position:absolute;z-index:2;top:16px;left:16px;font-size:11px;font-weight:700;letter-spacing:.12em;
  color:#fff;background:var(--icp-wine);padding:4px 12px;border-radius:999px;
}
.icp-dfv__body{position:absolute;z-index:2;left:0;right:0;bottom:22px;text-align:center;padding:0 18px}
.icp-dfv__en{font-family:var(--icp-f-en);font-size:10.5px;letter-spacing:.34em;color:var(--icp-gold);text-transform:uppercase}
.icp-dfv__ttl{
  font-family:var(--icp-f-disp) !important;font-weight:400 !important;font-size:44px !important;letter-spacing:.16em !important;
  line-height:1.2 !important;color:var(--icp-wine) !important;margin:4px 0 0 !important;padding-left:.16em !important;
}
.icp-dfv__sub{font-family:var(--icp-f-disp);font-size:14.5px;letter-spacing:.14em;color:var(--icp-ink);margin-top:8px !important}
.icp-dfv__price{
  display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:8px 18px 8px 8px;background:#fff;
  border:1px solid var(--icp-gold-l);border-radius:999px;box-shadow:0 4px 14px rgba(124,58,79,.10);white-space:nowrap;
}
.icp-dfv__off{font-family:var(--icp-f-en);font-weight:500;font-size:15px;color:#fff;background:var(--icp-rose);border-radius:999px;padding:4px 10px;line-height:1.3}
.icp-dfv__off small{font-size:10px}
.icp-dfv__lab{font-size:12px;font-weight:700;color:var(--icp-ink)}
.icp-dfv__yen{font-family:var(--icp-f-en);font-weight:500;font-size:28px;color:var(--icp-wine);line-height:1}
.icp-dfv__yen small{font-family:var(--icp-f-jp);font-size:11px;font-weight:700;margin-left:2px}
.icp-dfv__yen i{font-style:normal;font-family:var(--icp-f-jp);font-size:10px;color:var(--icp-ink-soft);font-weight:500}
.icp-dfv__more{
  position:absolute;z-index:2;top:16px;right:16px;font-size:11px;font-weight:700;color:var(--icp-wine);
  background:rgba(255,255,255,.9);border:1px solid var(--icp-wine);border-radius:999px;padding:3px 12px;
}
/* TOPのメニュー内に置く時 */
.icp-menu .icp-dfv{margin:22px -22px 0}
.icp-menu__detail{margin-top:16px}
.icp-btn--more{background:#fff;color:var(--icp-wine) !important;border:1px solid var(--icp-wine);min-height:50px;font-size:14px}
.icp-btn--more::after{content:"";width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);margin-left:4px}

/* =========================================================
   シミ取り放題FV（個別ページ／TOP共通）  .icp-sfv
   ========================================================= */
.icp-sfv{
  position:relative;display:block;aspect-ratio:3/4;overflow:hidden;color:var(--icp-ink);text-decoration:none !important;container-type:inline-size;
  background:
    radial-gradient(38% 26% at 12% 78%,rgba(255,255,255,.75) 0%,rgba(255,255,255,0) 70%),
    radial-gradient(30% 22% at 8% 18%,rgba(246,205,216,.9) 0%,rgba(246,205,216,0) 70%),
    radial-gradient(26% 20% at 30% 60%,rgba(250,222,229,.9) 0%,rgba(250,222,229,0) 70%),
    radial-gradient(60% 40% at 90% 10%,rgba(244,196,210,.55) 0%,rgba(244,196,210,0) 70%),
    linear-gradient(180deg,#fbe9ee 0%,#f8e1e7 55%,#fdf3f5 100%);
}
.icp-sfv__model{position:absolute;right:-24%;top:2%;width:92%;height:auto;max-width:none}
.icp-sfv::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;pointer-events:none;
  background:linear-gradient(180deg,rgba(253,243,245,0) 0%,rgba(253,243,245,.92) 38%,#fdf3f5 60%)}
.icp-sfv__tag{position:absolute;z-index:3;top:16px;left:16px;font-size:11px;font-weight:700;letter-spacing:.12em;color:#fff;background:var(--icp-wine);padding:4px 12px;border-radius:999px}
.icp-sfv__more{position:absolute;z-index:3;top:16px;right:16px;font-size:11px;font-weight:700;color:var(--icp-wine);background:rgba(255,255,255,.9);border:1px solid var(--icp-wine);border-radius:999px;padding:3px 12px}
.icp-sfv__copy{position:absolute;z-index:2;left:5%;top:16%;width:52%}
.icp-sfv__catch{
  font-family:var(--icp-f-disp) !important;font-weight:400 !important;font-size:23px !important;font-size:6cqw !important;line-height:1.55 !important;
  letter-spacing:.06em !important;color:#4a3f42 !important;margin:0 !important;
  text-shadow:0 0 12px rgba(255,255,255,.9),0 0 4px rgba(255,255,255,.9);
}
.icp-sfv__catch em{font-style:normal;color:var(--icp-accent2);font-size:1.18em}
.icp-sfv__line{display:block;width:62%;height:1px;margin:16px 0 14px;background:linear-gradient(90deg,var(--icp-accent-l),rgba(231,163,182,0))}
.icp-sfv__lead{font-family:var(--icp-f-disp);font-size:14px;font-size:3.7cqw;line-height:1.8;letter-spacing:.1em;color:#4a3f42;text-shadow:0 0 10px rgba(255,255,255,.95)}
.icp-sfv__box{position:absolute;z-index:2;left:14px;right:14px;bottom:30px;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 6px 18px rgba(201,92,128,.16);border:1px solid var(--icp-rose-l)}
.icp-sfv__name{display:flex;align-items:baseline;justify-content:center;gap:10px;padding:8px 12px;background:linear-gradient(90deg,var(--icp-accent2),var(--icp-accent-l) 55%,var(--icp-accent2));color:#fff}
.icp-sfv__name b{font-family:var(--icp-f-disp);font-weight:400;font-size:28px;letter-spacing:.16em;line-height:1.3}
.icp-sfv__name small{font-size:11px;font-weight:700;opacity:.95}
.icp-sfv__price{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 12px 12px}
.icp-sfv__cnt{flex:none;width:50px;height:50px;border-radius:50%;background:var(--icp-accent2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.icp-sfv__price i{width:1px;align-self:stretch;background:var(--icp-rose-l)}
.icp-sfv__yen{font-family:var(--icp-f-en);font-weight:500;font-size:46px;line-height:1;color:var(--icp-accent);letter-spacing:.01em}
.icp-sfv__yen small{font-family:var(--icp-f-jp);font-size:17px;font-weight:700;margin-left:2px}
.icp-sfv__yen em{font-style:normal;font-family:var(--icp-f-jp);font-size:11px;font-weight:700;color:var(--icp-accent);margin-left:2px}
.icp-sfv__note{position:absolute;z-index:2;right:16px;bottom:9px;font-size:10px;color:var(--icp-ink-soft)}
.icp-menu .icp-sfv{margin:22px -22px 0}
@media (max-width:359px){.icp-sfv__yen{font-size:38px}}

/* キャンペーンページではテーマのSP追従フッター（nav.global-nav）を非表示。LINEボタンは残す */
@media (max-width:959px){
  nav.global-nav{display:none !important}
}
/* キャンペーンページではテーマのLINEフロートボタンも非表示（下の固定バーに集約） */
#line_btn{display:none !important}

/* ピンクグローFV：施術シーン（下部のピンクぼかしに文字） */
.icp-dfv--pg{aspect-ratio:3/4;background:#fbeef2}
.icp-dfv--pg .icp-dfv__img{height:100%;object-position:50% 0}
.icp-dfv--pg::after{background:linear-gradient(180deg,rgba(253,240,244,0) 50%,rgba(253,240,244,.55) 66%,rgba(253,240,244,.8) 100%)}
.icp-dfv--pg .icp-dfv__body{bottom:24px}
.icp-dfv--pg .icp-dfv__ttl{text-shadow:0 0 14px rgba(255,255,255,.9)}
.icp-dfv--pg .icp-dfv__sub,.icp-dfv--pg .icp-dfv__en{text-shadow:0 0 10px rgba(255,255,255,.95)}

.icp-dfv--pg .icp-dfv__more{left:16px;right:auto;top:50px}

/* 新登場バッジ（FV共通） */
.icp-new{position:absolute;z-index:4;width:84px;height:84px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;color:#fff;
  background:radial-gradient(circle at 35% 28%,var(--icp-accent-l),var(--icp-accent) 75%);
  border:3px solid #fff;box-shadow:0 0 0 2px var(--icp-gold),0 6px 16px rgba(162,52,96,.35);transform:rotate(-8deg)}
.icp-new b{font-family:var(--icp-f-disp);font-weight:400;font-size:19px;letter-spacing:.06em}
.icp-new i{font-style:normal;font-family:var(--icp-f-en);font-size:10px;letter-spacing:.22em;margin-top:4px;color:var(--icp-rose-l)}
.icp-dfv .icp-new{left:16px;top:52px}
.icp-sfv .icp-new{left:auto;right:16px;top:auto;bottom:128px;width:74px;height:74px}
.icp-sfv .icp-new b{font-size:17px}
@media (max-width:359px){.icp-new{width:70px;height:70px}.icp-new b{font-size:16px}}
.icp-dfv.icp-dfv--pg .icp-new{left:auto;right:14px;top:14px}
.icp-dfv--pg .icp-dfv__note{display:inline-block;background:rgba(255,255,255,.92);border:1px solid var(--icp-rose-l);border-radius:999px;padding:3px 14px !important;color:var(--icp-wine-d);font-size:11.5px}

/* TOP：料金アコーディオン */
.icp-acc{margin-top:14px;border:1px solid var(--icp-hair);border-radius:10px;background:#fff}
.icp-acc>summary{list-style:none;cursor:pointer;position:relative;text-align:center;padding:12px 36px;font-size:13px;font-weight:700;color:var(--icp-wine);letter-spacing:.06em}
.icp-acc>summary::-webkit-details-marker{display:none}
.icp-acc>summary::after{content:"";position:absolute;right:18px;top:50%;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.icp-acc[open]>summary::after{transform:translateY(-30%) rotate(-135deg)}
.icp-acc[open]>summary{border-bottom:1px solid var(--icp-hair)}
.icp-acc>.icp-price{margin:12px;}
.icp-acc>.icp-menu__note{margin:0 14px 14px !important}
.icp-acc .icp-price__row{box-shadow:none}

/* FVの価格を強めに */
.icp-dfv__price{gap:12px;padding:10px 22px 10px 10px;border:2px solid var(--icp-accent-l);box-shadow:0 6px 18px rgba(194,77,122,.22)}
.icp-dfv__off{font-size:20px;padding:6px 12px;background:linear-gradient(135deg,var(--icp-accent2),var(--icp-accent));box-shadow:0 2px 6px rgba(194,64,111,.35)}
.icp-dfv__off small{font-size:12px}
.icp-dfv__lab{font-size:13px}
.icp-dfv__yen{font-size:38px;color:var(--icp-accent);letter-spacing:-.01em}
.icp-dfv__yen small{font-size:14px}
.icp-sfv__yen{font-size:54px}
.icp-sfv__yen small{font-size:19px}
.icp-sfv__cnt{width:56px;height:56px;font-size:16px}
@media (max-width:374px){.icp-dfv__yen{font-size:32px}.icp-dfv__off{font-size:17px}.icp-sfv__yen{font-size:46px}}
.icp-dfv{container-type:inline-size}
.icp-dfv__price{gap:2.6cqw;padding:2cqw 4.5cqw 2cqw 2cqw;max-width:calc(100% - 20px)}
.icp-dfv__off{font-size:4.8cqw;padding:1.4cqw 3cqw}
.icp-dfv__off small{font-size:3cqw}
.icp-dfv__lab{font-size:3.3cqw}
.icp-dfv__yen{font-size:9.2cqw}
.icp-dfv__yen small{font-size:3.6cqw}
.icp-dfv__yen i{font-size:2.6cqw}
@media (max-width:374px){.icp-dfv__yen{font-size:9.2cqw}.icp-dfv__off{font-size:4.8cqw}}
.icp-menu > .icp-menu__note{text-align:center}

/* シミ取り放題FV：価格枠を他と統一 */
.icp-sfv__body{position:absolute;z-index:2;left:0;right:0;bottom:30px;text-align:center;padding:0 10px}
.icp-sfv__ttl{font-family:var(--icp-f-disp) !important;font-size:11cqw;letter-spacing:.14em;padding-left:.14em;line-height:1.2;color:var(--icp-wine);text-shadow:0 0 14px rgba(255,255,255,.95)}
.icp-sfv__body .icp-dfv__price{margin-top:2.6cqw}
.icp-dfv__off--tx{font-size:3.8cqw !important;letter-spacing:.06em;padding:1.6cqw 3cqw !important}
.icp-sfv.icp-sfv .icp-new{left:auto;right:16px;top:auto;bottom:31%;width:70px;height:70px}
.icp-sfv__more{top:16px}
.icp-sfv::after{height:46%}

/* ボトックスFV（施術写真） */
.icp-dfv--bx{aspect-ratio:3/4;background:#fff}
.icp-dfv--bx .icp-dfv__img{height:68%;object-position:50% 100%}
.icp-dfv--bx::after{background:linear-gradient(180deg,rgba(255,255,255,0) 44%,rgba(255,255,255,.9) 60%,#fff 68%)}
.icp-dfv--bx .icp-dfv__sub{font-size:13.5px}
.icp-dfv.icp-dfv--bx .icp-new{left:auto;right:14px;top:14px}
.icp-dfv--bx .icp-dfv__more{left:16px;right:auto;top:50px}
.icp-dfv--bx .icp-dfv__ttl{font-size:9.6cqw !important;letter-spacing:.08em !important;padding-left:.08em !important}
.icp-new--off{background:radial-gradient(circle at 35% 28%,#e9c97c,#a3781f 78%)}
.icp-new--off b{font-family:var(--icp-f-en);font-weight:500;font-size:24px;letter-spacing:0}
.icp-new--off i{margin:0;font-size:10px;letter-spacing:.12em;color:#fff7e6}


/* =========================================================
   施術ごとのカラーテーマ（.t-blue＝白玉点滴／.t-beige＝シミ取り放題）
   ========================================================= */
.t-blue{
  --icp-wine:#2f5d7c;--icp-wine-d:#23465e;--icp-rose:#7fb0d0;--icp-rose-l:#d3e6f2;
  --icp-blush:#eef6fb;--icp-cream:#f7fafc;--icp-gold:#7f9fb8;--icp-gold-l:#d5e2ec;--icp-hair:#dfe8ef;
  --icp-accent:#3c7fae;--icp-accent2:#6fa8cf;--icp-accent-l:#a9cbe2;
}
.t-beige{
  --icp-wine:#7a5a3a;--icp-wine-d:#5e4329;--icp-rose:#c9a27a;--icp-rose-l:#ecdcc8;
  --icp-blush:#f8f1e8;--icp-cream:#fbf7f1;--icp-gold:#b08a5a;--icp-gold-l:#e5d3b8;--icp-hair:#ece2d4;
  --icp-accent:#a87b4f;--icp-accent2:#c99f72;--icp-accent-l:#dcc3a4;
}
/* FV背景 */
.icp-dfv.t-blue{background:linear-gradient(180deg,#eaf3f9,#fff 70%)}
.icp-sfv.t-beige{background:
    radial-gradient(38% 26% at 12% 78%,rgba(255,255,255,.75) 0%,rgba(255,255,255,0) 70%),
    radial-gradient(30% 22% at 8% 18%,rgba(232,212,186,.9) 0%,rgba(232,212,186,0) 70%),
    radial-gradient(26% 20% at 30% 60%,rgba(242,228,210,.9) 0%,rgba(242,228,210,0) 70%),
    radial-gradient(60% 40% at 90% 10%,rgba(226,204,176,.55) 0%,rgba(226,204,176,0) 70%),
    linear-gradient(180deg,#f6eee3 0%,#f2e7d9 55%,#fbf7f1 100%)}
.icp-sfv.t-beige::after{background:linear-gradient(180deg,rgba(251,247,241,0) 0%,rgba(251,247,241,.92) 38%,#fbf7f1 60%)}
.t-blue .icp-dfv__price,.t-beige .icp-dfv__price{box-shadow:0 6px 18px rgba(0,0,0,.08)}
.t-blue .icp-new{box-shadow:0 0 0 2px #a9cbe2,0 6px 16px rgba(47,93,124,.3)}
.t-beige .icp-new{box-shadow:0 0 0 2px var(--icp-gold),0 6px 16px rgba(122,90,58,.3)}
/* TOPの各メニューセクションも施術カラーに */
.icp-menu.t-blue,.icp-menu.t-beige{background:var(--icp-cream)}
.t-blue .icp-dfv__off,.t-beige .icp-dfv__off{box-shadow:0 2px 6px rgba(0,0,0,.12)}
.t-purple{
  --icp-wine:#5d4a85;--icp-wine-d:#463668;--icp-rose:#a995cf;--icp-rose-l:#e3dbf1;
  --icp-blush:#f4f0fa;--icp-cream:#faf8fc;--icp-gold:#9887b8;--icp-gold-l:#ddd4ec;--icp-hair:#e7e1f0;
  --icp-accent:#7b62b0;--icp-accent2:#a08bd0;--icp-accent-l:#c8bbe4;
}
.icp-dfv.t-purple{background:linear-gradient(180deg,#f1ecf8,#fff 70%)}
.icp-menu.t-purple{background:var(--icp-cream)}
.t-purple .icp-dfv__off{box-shadow:0 2px 6px rgba(0,0,0,.12)}
.t-purple .icp-dfv__price{box-shadow:0 6px 18px rgba(93,74,133,.12)}

/* 最大30%OFFバッジ：ゴールド統一・強め */
.icp-dfv .icp-new.icp-new--off,.t-purple .icp-new.icp-new--off{
  width:96px;height:96px;
  background:radial-gradient(circle at 32% 26%,#f6e2a8 0%,#d9b260 38%,#a9802c 78%,#8a6620 100%);
  border:3px solid #fff;box-shadow:0 0 0 2px #c9a45a,0 8px 20px rgba(120,86,20,.38);transform:rotate(-8deg)}
.icp-new--off b{font-size:30px;font-weight:500;line-height:1;text-shadow:0 1px 2px rgba(90,60,10,.35)}
.icp-new--off b small{font-size:16px}
.icp-new--off i{font-size:11px;font-weight:700;letter-spacing:.14em;color:#fff;text-shadow:0 1px 2px rgba(90,60,10,.3)}
@media (max-width:359px){.icp-dfv .icp-new.icp-new--off{width:84px;height:84px}.icp-new--off b{font-size:26px}}
.icp-dfv--bx .icp-dfv__img{height:74%;object-position:50% 62%}
.icp-dfv--bx::after{background:linear-gradient(180deg,rgba(255,255,255,0) 54%,rgba(255,255,255,.88) 68%,#fff 76%)}

/* TOP：コースごとの色の印象を強めに */
.icp-menu{background:linear-gradient(180deg,var(--icp-blush) 0%,var(--icp-cream) 100%) !important}
#icp-m2{--icp-blush:#fbeef2;--icp-cream:#fdf7f9}
.icp-menu .icp-menu__num{color:var(--icp-accent);border-bottom-color:var(--icp-accent-l)}
.icp-menu .icp-meta li{border-color:var(--icp-rose-l)}
.icp-menu .icp-btn--more{color:var(--icp-wine) !important;border-color:var(--icp-wine)}
/* 目次カードも各コース色 */
.icp-index__list li:nth-child(1) a{--c:#a87b4f;--b:#f8f1e8}
.icp-index__list li:nth-child(2) a{--c:#c24d7a;--b:#fbeef2}
.icp-index__list li:nth-child(3) a{--c:#3c7fae;--b:#eef6fb}
.icp-index__list li:nth-child(4) a{--c:#7b62b0;--b:#f4f0fa}
.icp-index__list a{background:var(--b);border-color:transparent;border-top:3px solid var(--c);color:var(--c)}
.icp-index__list a span{color:var(--c)}
.icp-index__list a::after{border-color:var(--c)}
/* TOP：キャンペーンバッジは非表示 */
.icp-menu .icp-dfv__tag,.icp-menu .icp-sfv__tag{display:none}
.icp-menu .icp-dfv--pg .icp-dfv__more,.icp-menu .icp-dfv--bx .icp-dfv__more{top:16px}
/* TOP：アコーディオン内の余白 */
.icp-acc>.icp-price__group,.icp-acc>.icp-areas{margin-left:16px !important;margin-right:16px !important}
.icp-acc>.icp-price__group:first-of-type{margin-top:14px !important}

/* ===== TOP FV：英字を大きく＋アニメーション ===== */
.icp-fv__en{font-size:13.5px;letter-spacing:.28em;font-weight:500}
.icp-fv__script{font-size:50px;margin-top:14px !important}
@media (max-width:360px){.icp-fv__en{font-size:12px;letter-spacing:.22em}.icp-fv__script{font-size:44px}}
.icp-fv{overflow:hidden}
.icp-fv__frame>*:not(.icp-fv__sparks){position:relative;z-index:1}

/* 登場 */
.icp-fv__en{animation:icpTrack 1.4s cubic-bezier(.2,.7,.2,1) .1s both}
.icp-fv__script{animation:icpWrite 1.8s cubic-bezier(.6,.1,.3,1) .5s both}
.icp-fv__title-s{animation:icpRise 1.1s cubic-bezier(.2,.7,.2,1) 1.2s both, icpShine 4.8s ease-in-out 2.6s infinite}
.icp-fv__title-l{animation:icpRise 1s cubic-bezier(.2,.7,.2,1) 1.45s both}
.icp-fv__sub{animation:icpFade 1s ease 1.8s both}
.icp-fv__period{animation:icpRise .9s cubic-bezier(.2,.7,.2,1) 2.05s both, icpPulse 3.2s ease-in-out 3.4s infinite}
.icp-fv__clinic{animation:icpFade 1s ease 2.3s both}
@keyframes icpTrack{from{opacity:0;letter-spacing:.9em;filter:blur(3px)}to{opacity:1;filter:blur(0)}}
@keyframes icpWrite{from{clip-path:inset(-20% 100% -20% 0);opacity:.2}to{clip-path:inset(-20% -5% -20% 0);opacity:.9}}
@keyframes icpRise{from{opacity:0;transform:translateY(16px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes icpFade{from{opacity:0}to{opacity:1}}
@keyframes icpPulse{0%,100%{box-shadow:0 2px 10px rgba(124,58,79,.08)}50%{box-shadow:0 0 0 6px rgba(201,164,90,.14),0 2px 14px rgba(124,58,79,.12)}}

/* 「いい女」に金の光が流れる */
.icp-fv__title-s{
  background:linear-gradient(105deg,var(--icp-wine) 0%,var(--icp-wine) 40%,#e9cf93 48%,#fff6dc 50%,#e9cf93 52%,var(--icp-wine) 60%,var(--icp-wine) 100%);
  background-size:300% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent
}
@keyframes icpShine{0%{background-position:100% 0}45%,100%{background-position:0 0}}

/* きらめき */
.icp-fv__sparks{position:absolute;inset:0;pointer-events:none;z-index:0}
.icp-fv__sparks i{position:absolute;width:10px;height:10px;opacity:0;
  background:radial-gradient(circle,#fff 0 18%,rgba(233,207,147,.9) 30%,rgba(233,207,147,0) 70%);
  animation:icpTwinkle 3.6s ease-in-out infinite}
.icp-fv__sparks i::before,.icp-fv__sparks i::after{content:"";position:absolute;left:50%;top:50%;background:linear-gradient(90deg,transparent,#f3dfae,transparent);transform:translate(-50%,-50%)}
.icp-fv__sparks i::before{width:22px;height:1.5px}
.icp-fv__sparks i::after{width:1.5px;height:22px;background:linear-gradient(180deg,transparent,#f3dfae,transparent)}
.icp-fv__sparks i:nth-child(1){left:12%;top:16%;animation-delay:2.4s}
.icp-fv__sparks i:nth-child(2){right:14%;top:24%;animation-delay:3.1s;transform:scale(1.3)}
.icp-fv__sparks i:nth-child(3){left:8%;top:44%;animation-delay:4.0s;transform:scale(.8)}
.icp-fv__sparks i:nth-child(4){right:9%;top:50%;animation-delay:2.8s}
.icp-fv__sparks i:nth-child(5){left:18%;top:70%;animation-delay:3.7s;transform:scale(1.1)}
.icp-fv__sparks i:nth-child(6){right:20%;top:78%;animation-delay:4.5s;transform:scale(.9)}
.icp-fv__sparks i:nth-child(7){left:50%;top:8%;animation-delay:5.2s;transform:scale(.7)}
@keyframes icpTwinkle{0%,100%{opacity:0;scale:.4}45%{opacity:1;scale:1}60%{opacity:.8;scale:.85}}

@media (prefers-reduced-motion:reduce){
  .icp-fv__frame *,.icp-fv__frame{animation:none !important}
  .icp-fv__sparks{display:none}
}
/* FV英字：1行に収める */
.icp-fv__en{font-size:12.5px;letter-spacing:.22em;white-space:nowrap}
.icp-fv__script{font-size:42px;white-space:nowrap}
@media (max-width:360px){.icp-fv__en{font-size:11px;letter-spacing:.16em}.icp-fv__script{font-size:37px}}

/* ===== LINEクーポン：光が走って10,000がキラッ ===== */
.icp-ticket{overflow:hidden}
.icp-ticket::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-60%;width:40%;pointer-events:none;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.08) 30%,rgba(255,244,214,.45) 50%,rgba(255,255,255,.08) 70%,rgba(255,255,255,0) 100%);
  transform:skewX(-18deg);animation:icpSweep 3.6s ease-in-out 1s infinite}
@keyframes icpSweep{0%{left:-60%}45%,100%{left:130%}}
.icp-ticket__num{position:relative;display:inline-block;
  background:linear-gradient(100deg,#fff 0%,#fff 38%,#f6dc9c 46%,#fffaf0 50%,#f6dc9c 54%,#fff 62%,#fff 100%);
  background-size:300% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:icpNumShine 3.6s ease-in-out 1.25s infinite, icpNumPop 3.6s ease-in-out 1.25s infinite}
@keyframes icpNumShine{0%{background-position:100% 0}40%,100%{background-position:0 0}}
@keyframes icpNumPop{0%,30%,60%,100%{transform:scale(1)}42%{transform:scale(1.06)}}
.icp-kira{position:absolute;right:-10px;top:2px;width:26px;height:26px;opacity:0;pointer-events:none;
  background:radial-gradient(circle,#fff 0 14%,rgba(255,236,190,.85) 26%,rgba(255,236,190,0) 62%);
  animation:icpKira 3.6s ease-out 1.25s infinite}
.icp-kira::before,.icp-kira::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.icp-kira::before{width:44px;height:2px;background:linear-gradient(90deg,transparent,#fff,transparent)}
.icp-kira::after{width:2px;height:44px;background:linear-gradient(180deg,transparent,#fff,transparent)}
.icp-kira--s{right:auto;left:8px;top:auto;bottom:8px;width:16px;height:16px;animation-delay:1.55s}
.icp-kira--s::before{width:26px}.icp-kira--s::after{height:26px}
@keyframes icpKira{0%,30%{opacity:0;transform:scale(.2) rotate(0)}40%{opacity:1;transform:scale(1.1) rotate(45deg)}55%{opacity:0;transform:scale(.6) rotate(90deg)}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.icp-ticket::after,.icp-ticket__num,.icp-kira{animation:none !important}.icp-kira{display:none}}

/* ===== FV 賑やか版 ===== */
/* 背景のグラデーションがゆっくり呼吸 */
.icp-fv{background-size:160% 160%;animation:icpBg 12s ease-in-out infinite alternate}
@keyframes icpBg{from{background-position:0% 0%}to{background-position:100% 100%}}
/* 「いい女」の光：サイクルを短く */
.icp-fv__title-s{animation:icpRise 1.1s cubic-bezier(.2,.7,.2,1) 1.2s both, icpShine 2.6s ease-in-out 2.4s infinite}
@keyframes icpShine{0%{background-position:100% 0}55%,100%{background-position:0 0}}
/* 外枠を光が一周 */
@property --icpA{syntax:"<angle>";inherits:false;initial-value:0deg}
.icp-fv__frame::after{content:"";position:absolute;inset:-1px;padding:2px;pointer-events:none;z-index:2;
  background:conic-gradient(from var(--icpA),transparent 0deg,transparent 60deg,rgba(233,207,147,.0) 70deg,#e9cf93 100deg,#fff8e4 112deg,#e9cf93 124deg,transparent 150deg,transparent 240deg,rgba(233,207,147,0) 250deg,#e9cf93 280deg,#fff8e4 292deg,#e9cf93 304deg,transparent 330deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  filter:drop-shadow(0 0 3px rgba(233,207,147,.9));
  animation:icpOrbit 5s linear 1s infinite}
@keyframes icpOrbit{to{--icpA:360deg}}
/* 金の粒がふわっと立ちのぼる */
.icp-fv__bokeh{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.icp-fv__bokeh i{position:absolute;bottom:-20px;width:8px;height:8px;border-radius:50%;opacity:0;
  background:radial-gradient(circle,rgba(255,250,235,.95) 0 25%,rgba(226,190,120,.55) 50%,rgba(226,190,120,0) 72%);
  animation:icpFloat 9s ease-in infinite}
.icp-fv__bokeh i:nth-child(1){left:6%;animation-delay:.2s;width:6px;height:6px}
.icp-fv__bokeh i:nth-child(2){left:15%;animation-delay:3.4s;width:12px;height:12px;animation-duration:11s}
.icp-fv__bokeh i:nth-child(3){left:24%;animation-delay:6.1s}
.icp-fv__bokeh i:nth-child(4){left:33%;animation-delay:1.6s;width:5px;height:5px;animation-duration:8s}
.icp-fv__bokeh i:nth-child(5){left:42%;animation-delay:4.8s;width:10px;height:10px}
.icp-fv__bokeh i:nth-child(6){left:51%;animation-delay:.9s;animation-duration:10s}
.icp-fv__bokeh i:nth-child(7){left:60%;animation-delay:7.2s;width:6px;height:6px}
.icp-fv__bokeh i:nth-child(8){left:69%;animation-delay:2.5s;width:14px;height:14px;animation-duration:12s}
.icp-fv__bokeh i:nth-child(9){left:78%;animation-delay:5.5s}
.icp-fv__bokeh i:nth-child(10){left:86%;animation-delay:1.1s;width:5px;height:5px;animation-duration:8.5s}
.icp-fv__bokeh i:nth-child(11){left:93%;animation-delay:3.9s;width:9px;height:9px}
.icp-fv__bokeh i:nth-child(12){left:47%;animation-delay:8.3s;width:7px;height:7px;animation-duration:9.5s}
@keyframes icpFloat{0%{transform:translate(0,0);opacity:0}15%{opacity:.9}50%{transform:translate(12px,-260px)}85%{opacity:.6}100%{transform:translate(-8px,-520px);opacity:0}}
.icp-fv__frame{z-index:1}
/* きらめきを少し増量・高頻度に */
.icp-fv__sparks i{animation-duration:2.8s}
@media (prefers-reduced-motion:reduce){.icp-fv,.icp-fv__frame::after{animation:none !important}.icp-fv__bokeh{display:none}}
.icp-fv__frame::after{inset:-2px;padding:3px;
  background:conic-gradient(from var(--icpA),transparent 0deg 50deg,#d9b46a 80deg,#fff6d8 108deg,#d9b46a 136deg,transparent 166deg 230deg,#d9b46a 260deg,#fff6d8 288deg,#d9b46a 316deg,transparent 346deg);
  filter:drop-shadow(0 0 4px rgba(226,190,120,1)) drop-shadow(0 0 8px rgba(255,240,200,.8))}
.icp-fv__bokeh i{background:radial-gradient(circle,#fffaf0 0 28%,rgba(222,182,108,.75) 50%,rgba(222,182,108,0) 74%)}
.icp-fv__bokeh i:nth-child(odd){width:11px;height:11px}
.icp-dfv--bx .icp-dfv__img{object-position:50% 30%}
.icp-dfv--sd .icp-dfv__img{object-position:50% 0}
.icp-dfv--sd{background:#fff}
.icp-dfv--sd .icp-dfv__img{height:76%;object-position:50% 0}
.icp-dfv--sd::after{background:linear-gradient(180deg,rgba(255,255,255,0) 52%,rgba(255,255,255,.88) 66%,#fff 76%)}
/* 個別ページ用クーポン（TOPと共通デザイン） */
.icp-coupon--sub{padding:26px 0 0;background:none}
.icp-coupon__lab{font-family:var(--icp-f-disp);font-size:13px;letter-spacing:.14em;color:var(--icp-ink-soft)}
.icp-coupon__lab b{font-weight:400;font-size:17px;color:var(--icp-wine);margin-left:4px}
.icp-coupon--sub .icp-ticket{margin-top:12px}

/* 各コースのバナー（FV）は Zen Kaku Gothic New */
.icp-dfv,.icp-sfv{--icp-f-disp:"Zen Kaku Gothic New","Noto Sans JP",sans-serif}
.icp-dfv .icp-dfv__ttl,.icp-sfv .icp-dfv__ttl,.icp-sfv .icp-sfv__ttl,.icp-sfv .icp-sfv__copy,.icp-dfv .icp-dfv__sub,.icp-sfv .icp-sfv__lead{font-family:var(--icp-f-disp) !important;font-weight:500 !important}
.icp-dfv__pnote{position:relative;z-index:2;font-size:11.5px;color:var(--icp-ink-soft);margin-top:8px !important;letter-spacing:.04em;text-align:center}

/* ※注記は左寄せ */
.icp-menu__note,.icp-menu > .icp-menu__note{text-align:left !important}
/* 窮屈対策・最小文字サイズ */
.icp-fv__period-d small{font-size:10px}
@media (max-width:374px){
  .icp-fv__period{gap:6px;padding:6px 12px 6px 6px}
  .icp-fv__period-lab{font-size:10.5px;padding:3px 9px}
  .icp-fv__period-d{font-size:12px}.icp-fv__period-d b{font-size:16.5px}
  .icp-fv__period-d small{font-size:9px;margin-left:2px}
  .icp-fv__period-d i{margin:0 2px}
}
.icp-price__unit small,.icp-dfv__yen i{font-size:11px}
.sd-pcard__cp small{font-size:11px}
.icp-sfv__note{font-size:11px}
/* 最大30%OFFバッジ：小さい文字を大きく */
.icp-dfv .icp-new.icp-new--off,.t-purple .icp-new.icp-new--off{width:104px;height:104px}
.icp-new--off i{font-size:14px !important;letter-spacing:.08em !important;line-height:1.15}
.icp-new--off i:last-child{font-size:13px !important}
.icp-new--off b{font-size:32px}
@media (max-width:359px){.icp-dfv .icp-new.icp-new--off{width:94px;height:94px}.icp-new--off b{font-size:28px}.icp-new--off i{font-size:13px !important}}

/* 改行の最適化：1文字だけの行（泣き別れ）を防ぐ */
/* Safari(iOS)では pretty/balance が行末に大きな余白を作り、カード内の文字幅も詰まるため、
   auto-phrase に対応するブラウザ（Chrome系）だけに適用する */
@supports (word-break:auto-phrase){
  .icp :is(p,dd,dt,li,summary,small,td,th,figcaption){text-wrap-style:pretty}
}
.icp :is(.icp-ticket__val,.sd-pcard__cp,.icp-dfv__yen,.icp-price__cp){word-break:normal}
.icp-dfv__yen,.icp-dfv__price{white-space:nowrap}.icp-dfv__yen i{font-size:2.8cqw}

/* ===== キャンペーン名変更：今年のうちに、肌を整える ===== */
.icp-fv__title-l{font-size:26px;letter-spacing:.16em;padding-left:.16em;margin-top:0}
.icp-fv__title-s{font-size:54px;letter-spacing:.1em;padding-left:.1em;margin-top:4px}
@media (max-width:374px){.icp-fv__title-s{font-size:46px}.icp-fv__title-l{font-size:23px}}
.icp-fv__sub{font-size:17px;letter-spacing:.12em;font-weight:400}
@media (max-width:374px){.icp-fv__sub{font-size:15px;letter-spacing:.08em}}
.icp-fv__title-l{animation:icpRise 1s cubic-bezier(.2,.7,.2,1) 1.2s both}
.icp-fv__title-s{animation:icpRise 1.1s cubic-bezier(.2,.7,.2,1) 1.45s both, icpShine 2.6s ease-in-out 2.6s infinite}
.icp-coupon__lab b{margin-left:0}
/* ※注記：1行なら中央、長い（複数行）なら左揃え */
.icp-menu__note,.icp-menu > .icp-menu__note{width:fit-content;max-width:100%;margin-left:auto !important;margin-right:auto !important;text-align:left !important}
.icp-acc>.icp-menu__note{max-width:calc(100% - 28px)}
/* TOP FV：メイン「11・12月のおすすめ美容治療！」／サブ「今年のうちに、肌を整える」（上） */
.icp-fv__title-l{font-size:22px;letter-spacing:.08em;padding-left:.08em;white-space:nowrap}
.icp-fv__title-s{font-size:31px;letter-spacing:.04em;padding-left:.04em;line-height:1.3;margin-top:10px}
@media (max-width:374px){.icp-fv__title-l{font-size:19px;letter-spacing:.06em}.icp-fv__title-s{font-size:27px}}
.icp-fv__period{margin-top:24px}
.icp-fv__title-l{font-size:19px;letter-spacing:.06em;padding-left:0}
@media (max-width:374px){.icp-fv__title-l{font-size:17px;letter-spacing:.03em}}
/* 曜日は日本語表記 */
.icp-fv__period-d small,.icp-ticket__limit small{font-family:var(--icp-f-jp);letter-spacing:0;margin-left:1px}
.icp-fv__period-d small{font-size:11px}
.icp-ticket__limit small{font-size:.7em;opacity:.9}

/* 復活バッジ（シミ取り放題） */
.icp-new--revival i{order:-1;margin:0 0 3px;font-family:var(--icp-f-jp);font-size:9px;letter-spacing:.02em;color:var(--icp-rose-l)}
.icp-new--revival b{font-size:22px}
.icp-sfv .icp-new--revival i{font-size:8px}
.icp-sfv .icp-new--revival b{font-size:19px}
.icp-new--revival i{line-height:1.25;text-align:center;font-size:9.5px}
.icp-sfv .icp-new--revival i{font-size:8.5px}
/* =========================================================
   2026-10 高級感リデザイン（院内POP更新案に統一）
   アイボリー × ゴールド × ワイン／見出し：Shippori Mincho B1
   ※各ページCSSの最後に読み込む
   ========================================================= */
:root,.t-blue,.t-beige,.t-purple{
  --icp-wine:#5a2a3c;--icp-wine-d:#43202d;--icp-rose:#b98a74;--icp-rose-l:#ecdfd4;
  --icp-blush:#f8f2ee;--icp-cream:#fbf7f3;--icp-gold:#a8864f;--icp-gold-l:#d8c39a;
  --icp-ink:#4a3a40;--icp-ink-soft:#7a6a70;--icp-hair:#e8dccf;
  --icp-accent:#9a7742;--icp-accent2:#b8955a;--icp-accent-l:#e3d3b4;
  --icp-gold-t:#9a7742;
  --icp-f-disp:"Shippori Mincho B1","Shippori Mincho","Noto Serif JP",serif;
}
body #container{background:linear-gradient(180deg,#f8f2ee 0%,#f3ebe6 100%) !important;background-attachment:fixed}
.icp{background:#fffdfb}
.icp-h2{font-weight:700 !important;letter-spacing:.12em !important}
.icp-eyebrow{color:var(--icp-gold)}

/* ---------- TOP FV（POPヘッダーと同じ構成） ---------- */
.icp-fv{padding:26px 20px 28px;background:radial-gradient(ellipse 80% 50% at 85% 0%,#fff 0%,rgba(255,255,255,0) 70%),linear-gradient(180deg,#f8f2ee 0%,#f3ebe6 100%) !important}
.icp-fv__en{display:block}
.icp-fv__title-l{margin-top:10px !important}
.icp-fv__frame{background:none;border:0;border-top:1px solid var(--icp-gold-l);border-bottom:1px solid var(--icp-gold-l);padding:38px 4px 34px}
.icp-fv__frame::before{inset:4px 0;border:0;border-top:1px solid rgba(216,195,154,.6);border-bottom:1px solid rgba(216,195,154,.6)}
.icp-fv__title{font-weight:700 !important;line-height:1.3 !important;margin-top:0 !important}
.icp-fv__title-l{font-size:17px !important;font-weight:500;letter-spacing:.24em !important;padding-left:.24em !important;margin-top:0 !important;color:var(--icp-gold)}
.icp-fv__title-s{font-size:31px !important;letter-spacing:.1em !important;padding-left:.1em !important;margin-top:12px;color:var(--icp-wine)}
.icp-fv__period{margin-top:24px !important;padding:0 !important;background:none !important;box-shadow:none !important;border:0 !important;gap:12px}
.icp-fv__period::before,.icp-fv__period::after{content:"";width:28px;height:1px;background:var(--icp-gold)}
.icp-fv__period-lab{background:none;color:var(--icp-wine);padding:0;font-family:var(--icp-f-disp);font-size:13px;letter-spacing:.14em}
.icp-fv__period-d{font-family:var(--icp-f-disp);color:var(--icp-wine)}
.icp-fv__period-d b{font-family:var(--icp-f-en);font-weight:500}
.icp-fv__clinic{margin-top:18px !important;color:var(--icp-ink-soft)}

/* ---------- クーポン ---------- */
.icp-ticket{background:linear-gradient(135deg,#6a3347 0%,#5a2a3c 55%,#43202d 100%)}
.icp-ticket__cond b,.icp-ticket__off{color:#e2cfa5}

/* ---------- メニュー目次 ---------- */
.icp-index{background:var(--icp-blush)}
.icp-index__list a{border-color:var(--icp-hair) !important;border-top:2px solid var(--icp-gold) !important;background:#fff !important;color:var(--icp-wine) !important;font-family:var(--icp-f-disp);font-weight:700}

/* ---------- 各メニュー ---------- */
.icp .icp-menu,.icp .icp-menu.t-blue,.icp .icp-menu.t-beige,.icp .icp-menu.t-purple{background:#fffdfb !important}
.icp .icp-menu:nth-of-type(even){background:var(--icp-cream) !important}
.icp-menu__num{color:var(--icp-gold) !important}

/* ---------- 施術FV（共通） ---------- */
.icp-pfv{position:relative;display:block;background:#fffdfb;color:var(--icp-ink);text-decoration:none}
.icp-menu .icp-pfv{margin:22px -22px 0}
.icp-pfv__ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:#f3ebe6}
.icp-pfv__ph img{display:block;width:100%;height:100%;object-fit:cover}
.icp-pfv__ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,rgba(255,253,251,0) 0%,#fffdfb 100%)}
.icp-menu:nth-of-type(even) .icp-pfv,.icp-menu:nth-of-type(even) .icp-pfv__ph::after{background-color:transparent}
.icp-menu:nth-of-type(even) .icp-pfv__ph::after{background:linear-gradient(180deg,rgba(251,247,243,0) 0%,#fbf7f3 100%)}
.icp-pfv__tag{position:absolute;top:0;z-index:2;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.14em;color:#fff;background:var(--icp-gold);padding:6px 16px;white-space:nowrap}
.icp-pfv__tag--l{left:0}
.icp-pfv__tag--r{right:0}
.icp-pfv__more{position:absolute;z-index:2;right:14px;top:14px;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--icp-wine);background:rgba(255,255,255,.9);border:1px solid var(--icp-gold-l);border-radius:999px;padding:3px 12px}
.icp-pfv--pg .icp-pfv__more,.icp-pfv--bx .icp-pfv__more{right:auto;left:14px}
.icp-pfv--shimi .icp-pfv__more{top:44px}
.icp-pfv__body{position:relative;padding:0 22px 6px;margin-top:-34px;text-align:left}
.icp-pfv__name{font-family:var(--icp-f-disp) !important;font-weight:800 !important;font-size:21px !important;letter-spacing:.14em !important;color:var(--icp-wine) !important;line-height:1.3 !important;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}
.icp-pfv__name::before{content:"";width:22px;height:1px;background:var(--icp-gold)}
.icp-pfv__name small{font-family:var(--icp-f-jp);font-size:11.5px;font-weight:500;letter-spacing:.12em;color:#b39a72}
.icp-pfv__catch{font-family:var(--icp-f-disp);font-weight:800;font-size:clamp(18px,5.3vw,23px);line-height:1.5;letter-spacing:.04em;color:var(--icp-gold-t);white-space:nowrap;margin-top:10px !important}
.icp-pfv__catch em{font-style:normal;color:#c4718b}
.icp-pfv__lead{font-family:var(--icp-f-disp);font-weight:700;font-size:14.5px;letter-spacing:.06em;color:var(--icp-wine);margin-top:8px !important}
.icp-pfv__pts{display:flex;gap:10px;margin-top:14px !important}
.icp-pfv__ic{display:flex;flex-direction:column;align-items:center;gap:5px;width:76px;font-family:var(--icp-f-disp);font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--icp-gold-t);white-space:nowrap}
.icp-pfv__ic span{display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.8);border:1px solid rgba(168,134,79,.55)}
.icp-pfv__ic svg{width:44px;height:44px}
.icp-pfv__drop{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:center/cover no-repeat;text-align:center;font-family:var(--icp-f-disp);font-weight:800;font-size:11.5px;line-height:1.3;color:#3a3638;text-shadow:0 0 2px #fff,0 0 3px #fff}
.icp-pfv__drop span{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:58px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.8) 0%,rgba(255,255,255,.5) 55%,rgba(255,255,255,0) 100%)}
.icp-pfv__drop b{font-weight:800;font-size:10.5px;letter-spacing:-.02em}
.icp-pfv__drop.is-pink{background-image:url(../img/drop_pink.jpg);color:#5a2a3c}
.icp-pfv__drop.is-b1{background-image:url(../img/bubble1.png)}
.icp-pfv__drop.is-b2{background-image:url(../img/bubble2.png)}
.icp-pfv__drop.is-b3{background-image:url(../img/bubble3.png)}
.icp-pfv__price{display:flex;align-items:baseline;gap:12px;margin-top:18px;white-space:nowrap}
.icp-pfv__plab{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--icp-wine);border-bottom:1px solid var(--icp-gold);padding-bottom:2px}
.icp-pfv__yen{font-family:var(--icp-f-disp);font-weight:700;font-size:40px;line-height:1;letter-spacing:.02em;color:var(--icp-wine)}
.icp-pfv__yen small{font-size:17px;margin-left:2px}
.icp-pfv__yen i{font-family:var(--icp-f-jp);font-style:normal;font-weight:500;font-size:11px;color:var(--icp-ink-soft);margin-left:4px}
.icp-pfv__psub{font-size:12px;color:var(--icp-ink-soft);letter-spacing:.03em;margin-top:6px !important}
.icp-pfv__psub b{color:var(--icp-gold-t);font-weight:700}
.icp-pfv__pnote{font-size:11px;color:var(--icp-ink-soft);margin-top:4px !important}
.icp-pfv__seal{position:absolute;z-index:2;right:14px;bottom:34%;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0%,#fbf3f2 75%);border:1px solid var(--icp-gold-l);box-shadow:0 0 0 3px rgba(255,255,255,.75),0 0 0 4px rgba(216,195,154,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--icp-f-disp);line-height:1.25;color:var(--icp-wine);white-space:nowrap}
.icp-pfv__seal i{font-style:normal;font-size:10.5px;font-weight:700;color:var(--icp-gold-t)}
.icp-pfv__seal b{font-size:12.5px;font-weight:800;margin:2px 0}
/* 詳細ページのFV（header）*/
header.icp-pfv .icp-pfv__body{padding-bottom:26px}
header.icp-pfv .icp-pfv__name{font-size:24px !important}

/* ---------- ボタン類 ---------- */
.icp-btn--more{border-color:var(--icp-wine);color:var(--icp-wine) !important}
.icp-meta li{border-color:var(--icp-hair)}
.icp-off{background:var(--icp-gold) !important}

/* ---- 2026-10-28 調整：中央揃え・詳しく見る非表示・ピンクグローのバッジ位置 ---- */
.icp-pfv__more{display:none !important}
.icp-pfv__body{text-align:center;padding:0 18px 6px}
.icp-pfv__name{justify-content:center}
.icp-pfv__name::before{display:none}
.icp-pfv__name::after{content:"";flex-basis:100%;height:0}
.icp-pfv__name small{order:2}
.icp-pfv__catch{white-space:normal}
.icp-pfv__pts{justify-content:center}
.icp-pfv__price{justify-content:center}
.icp-pfv__seal{right:auto;left:14px;bottom:30%}

/* ---- ピンクグロー：パッケージ／ボトックス：施術前後 ---- */
.icp-pfv__pkg{position:absolute;z-index:1;right:4%;bottom:24%;width:42%;height:auto;filter:drop-shadow(0 4px 8px rgba(90,40,60,.16))}
.icp-pfv__ba{position:absolute;z-index:2;right:4%;top:9%;display:flex;flex-direction:column;align-items:center;gap:4px}
.icp-pfv__ba figure{margin:0;display:flex;flex-direction:column;align-items:center}
.icp-pfv__ba span{position:relative;z-index:1;margin-bottom:-9px;font-size:10.5px;font-weight:700;letter-spacing:.1em;color:#fff;background:#8a7d80;padding:1px 10px;border-radius:10px;white-space:nowrap}
.icp-pfv__ba span.is-a{background:var(--icp-wine)}
.icp-pfv__ba img{display:block;width:clamp(64px,19vw,88px);height:clamp(64px,19vw,88px);border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 1px var(--icp-gold-l),0 3px 8px rgba(90,40,60,.15)}
.icp-pfv__ba i{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--icp-gold)}
.icp-pfv__pnote{line-height:1.6}
.icp-pfv__ph img.icp-pfv__pkg{position:absolute;right:3%;bottom:22%;width:44%;height:auto;object-fit:contain}
.icp-pfv__ph .icp-pfv__ba img{width:clamp(64px,19vw,88px);height:clamp(64px,19vw,88px)}
.icp-pfv__ph img.icp-pfv__pkg{right:auto;left:2%;bottom:13%;width:42%;z-index:2}
.icp-pfv--pg .icp-pfv__seal{left:14px;top:14px;bottom:auto;width:92px;height:92px}
.icp-pfv--bx .icp-pfv__ba{top:15%;right:5%}
.icp-pfv--bx .icp-pfv__ba{top:4%;right:4%}
.icp-pfv__ph .icp-pfv__ba img{width:clamp(80px,25vw,112px);height:clamp(80px,25vw,112px)}
.icp-pfv__ba span{font-size:11px;padding:2px 12px}
.icp-pfv--bx .icp-pfv__ba{top:40px;right:3%;gap:2px}
.icp-pfv__ph .icp-pfv__ba img{width:clamp(76px,24vw,100px);height:clamp(76px,24vw,100px)}
/* 金額：金枠 */
.icp-pfv__price{display:flex;width:fit-content;margin:18px auto 0;padding:10px 20px 10px 18px;border:1px solid var(--icp-gold);outline:1px solid rgba(216,195,154,.6);outline-offset:3px;background:#fff}
.icp-pfv__price + .icp-pfv__psub{margin-top:10px !important}
/* 金額：コンパクト＋角丸 */
.icp-pfv__price{padding:7px 16px 7px 14px;gap:10px;border-radius:10px;outline:0;box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(216,195,154,.6)}
.icp-pfv__yen{font-size:32px}
.icp-pfv__yen small{font-size:15px}
.icp-pfv__plab{font-size:12px}
header.icp-pfv .icp-pfv__yen{font-size:34px}
/* タグを写真の外（上）へ／金額をさらに控えめに */
.icp-pfv{display:flex;flex-direction:column}
.icp-pfv__tag{position:static;order:-1;align-self:center;margin:0 0 12px;background:none;color:var(--icp-gold-t);border:1px solid var(--icp-gold);border-radius:999px;padding:3px 16px;font-size:12px;letter-spacing:.14em}
header.icp-pfv .icp-pfv__tag{margin-top:18px}
.icp-pfv__price{padding:5px 14px 5px 12px;gap:8px;border-color:var(--icp-gold-l);box-shadow:none}
.icp-pfv__yen{font-size:27px}
header.icp-pfv .icp-pfv__yen{font-size:28px}
.icp-pfv__yen small{font-size:13px}
.icp-pfv__yen i{font-size:10px}
.icp-pfv__plab{font-size:11.5px}
.icp-pfv__catch{font-size:clamp(19px,5.6vw,24px)}
.icp-pfv__catch{font-size:clamp(17px,5.25vw,24px)}
/* シミ取り・ピンクグロー：肩まで見せて余白感 */
.icp-pfv--shimi .icp-pfv__ph{aspect-ratio:1/1}
.icp-pfv--pg .icp-pfv__ph{aspect-ratio:8/7}
.icp-pfv--shimi .icp-pfv__ph::after,.icp-pfv--pg .icp-pfv__ph::after{height:24%}
.icp-pfv--shimi .icp-pfv__body,.icp-pfv--pg .icp-pfv__body{margin-top:-26px}
.icp-pfv__ph img.icp-pfv__pkg{left:3%;bottom:11%;width:40%}
.icp-fv__title-l{margin-top:16px !important}
/* 01〜04の色を統一 */
.icp-index__list li a{--c:#a8864f !important;--b:#fff !important}
.icp-index__list span{color:var(--icp-gold) !important}
.icp .icp-menu .icp-menu__num{color:var(--icp-gold) !important;border-bottom-color:var(--icp-gold-l) !important}
.icp-pfv__ph .icp-pfv__ba img{width:clamp(84px,26vw,128px);height:clamp(84px,26vw,128px)}
.icp-pfv--bx .icp-pfv__ba{top:5%}
/* 3つの丸を大きく */
.icp-pfv__pts{gap:12px}
.icp-pfv__ic{width:84px;font-size:12.5px}
.icp-pfv__ic span{width:72px;height:72px}
.icp-pfv__ic svg{width:52px;height:52px}
.icp-pfv__drop{width:84px;height:84px;font-size:12.5px}
.icp-pfv__drop span{width:76px;height:68px}
.icp-pfv__drop b{font-size:11.5px}
/* キャンペーンメニュー文字 */
.icp-index__list a{font-family:var(--icp-f-disp);font-size:clamp(16px,4.7vw,19px);letter-spacing:.04em;white-space:nowrap;min-height:78px}
.icp-index__list a{font-size:clamp(16px,5.2vw,22px)}
/* 金額：ラベルと数字を下揃え（下線なし） */
.icp-pfv__plab{border-bottom:0;padding-bottom:0;line-height:1}
.icp-pfv__yen{line-height:1}
/* メニュー文字を少し小さく＋矢印との間隔 */
.icp-index__list a{font-size:clamp(15px,4.6vw,19px);line-height:1.4;padding:10px 0 22px;gap:4px}
.icp-index__list a::after{bottom:10px}

/* coupon: campaign-menu only */
.icp-ticket__menu{display:inline-block;margin:0 0 10px !important;padding:3px 14px 4px;border:1px solid rgba(226,207,165,.75);border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.1em;color:#e2cfa5;line-height:1.5}
@media (min-width:768px){.icp-ticket__menu{font-size:14px}}
ize:14px}}

/* regular price above campaign price */
.icp-pfv__psub--top{margin:14px 0 6px !important}

/* tag above course name, centered */
.icp-pfv__body .icp-pfv__tag{position:relative;z-index:2;order:0;display:table;margin:0 auto 10px !important;background:rgba(255,255,255,.92)}
header.icp-pfv .icp-pfv__body .icp-pfv__tag{margin-top:0 !important}
