/* ============================================
   RESET & BASE
   ============================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.9;
  color:var(--ink);
  background:var(--bg);
  letter-spacing:0.04em;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}

:root{
  --bg:#FDFBFC;            /* pearl white */
  --bg-pearl:#F8F4F7;      /* soft pearl (pink-white) */
  --bg-lav:#F2ECF5;        /* lavender blush */
  --bg-soft:#F7F1F6;       /* soft pink mist */
  --purple:#7A5099;        /* primary purple */
  --purple-deep:#4E2C6E;   /* deep royal purple */
  --purple-soft:#A789C2;
  --lav:#C7AFDB;           /* light lavender */
  /* ゴールド系は廃止。マゼンタ/ピンクに統一 */
  --magenta:#C13C8C;       /* magenta accent */
  --pink:#EBA6CC;          /* light pink */
  --magenta-deep:#9A2E6E;  /* deep magenta */
  --ink:#2E2933;
  --ink-soft:#564E5C;
  --ink-mute:#8B8391;
  --line:rgba(46,41,51,0.08);
  --serif:"Noto Serif JP",serif;
  --sans:"Noto Sans JP",sans-serif;
  --display:"Cormorant Garamond","Noto Serif JP",serif;
  --logo:"Cinzel",serif;
  --shadow-sm:0 4px 20px rgba(78,44,110,0.07);
  --shadow-md:0 12px 40px rgba(78,44,110,0.10);
  --shadow-lg:0 24px 64px rgba(78,44,110,0.14);
  --pink-grad:linear-gradient(135deg,#F3B6D6 0%,#C13C8C 55%,#9A2E6E 100%);
  --purple-grad:linear-gradient(135deg,#9269B0 0%,#5B3580 100%);
  --cta-grad:linear-gradient(100deg,#EF6FB0 0%,#C13C8C 48%,#8E3FA8 100%);
}

/* ============================================
   TYPOGRAPHY
   ============================================ */
h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:500;
  line-height:1.5;
  letter-spacing:0.06em;
  color:var(--ink);
}
.sp-only{display:none}
.pc-only{display:inline}
@media (max-width:767px){
  .sp-only{display:inline}
  .pc-only{display:none}
}

/* CJK 折り返し制御 */
h1, h2, h3,
.sec-title h2,
.feature-heading,
.benefit-tagline-lg,
.set-header h2,
.last-cta-heading h2{
  word-break:auto-phrase;
  line-break:strict;
  overflow-wrap:break-word;
}
@supports not (word-break:auto-phrase){
  h1, h2, h3, .sec-title h2{
    word-break:keep-all;
    overflow-wrap:break-word;
  }
}
.set-item-name,.role-item-name,.cat-chip,.worry-card-title{
  overflow-wrap:break-word;
  word-break:keep-all;
}

/* 強調カラー */
.purple{color:var(--purple-deep)}
.gold{color:var(--magenta-deep)}
.lav{color:var(--purple)}

/* 数字専用：ゴシックで統一 */
.num-gothic{
  font-family:"Noto Sans JP",sans-serif;
  font-weight:600;
  font-style:normal;
  letter-spacing:0.02em;
}

/* 英字ラベル（前後に金線） */
.en{font-family:var(--display);font-style:italic;letter-spacing:0.05em}
.label{
  font-family:var(--display);
  font-style:italic;
  font-size:14px;
  letter-spacing:0.32em;
  text-transform:uppercase;
  color:var(--magenta-deep);
  display:inline-block;
  position:relative;
  padding:0 30px;
}
.label::before,.label::after{
  content:"";
  position:absolute;
  top:50%;
  width:20px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--magenta));
}
.label::before{left:0;background:linear-gradient(90deg,var(--magenta),transparent)}
.label::after{right:0}

/* ============================================
   CONTAINER & SECTION BASE
   ============================================ */
.container{width:min(1080px,90vw);margin:0 auto}
.container-narrow{width:min(840px,90vw);margin:0 auto}
section{position:relative;z-index:2}
.sec{padding:96px 0}
.sec-pearl{background:
  radial-gradient(120% 80% at 50% 0%, var(--bg-pearl), transparent 60%),
  var(--bg)}
.sec-lav{background:linear-gradient(180deg,var(--bg-lav),#FBF7FC)}
.sec-title{text-align:center;margin-bottom:54px}
.sec-title .label{margin-bottom:18px}
.sec-title h2{font-size:clamp(26px,4.4vw,40px);letter-spacing:0.07em}
.sec-title p{margin-top:20px;color:var(--ink-soft);font-size:15.5px}

/* 区切り装飾（クラウン罫線） */
.divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto 18px}
.divider::before,.divider::after{content:"";width:46px;height:1px;background:linear-gradient(90deg,transparent,var(--magenta))}
.divider::after{background:linear-gradient(90deg,var(--magenta),transparent)}
.divider .crown{font-size:15px;color:var(--magenta)}

/* ============================================
   FEATURE IMAGE / BLOCK（資料画像の統一フレーム）
   ============================================ */
.feature-image{
  display:block;max-width:100%;margin:0 auto;border-radius:8px;overflow:hidden;
  box-shadow:0 14px 40px rgba(78,44,110,0.12);
  background:#fff;border:1px solid rgba(201,120,170,0.22);position:relative;
}
.feature-image img{display:block;width:100%}

/* ============================================
   TOP NOTICE BAR
   ============================================ */
.notice-bar{
  background:var(--purple-deep);
  color:#fff;text-align:center;font-size:12.5px;letter-spacing:0.16em;
  padding:9px 14px;font-weight:500;position:relative;z-index:50;
}
.notice-bar strong{font-weight:700;color:var(--pink)}
.notice-bar .sep{color:var(--magenta);margin:0 10px;opacity:.7}

/* ============================================
   AMBIENT PARTICLES（パール/ラベンダー粒子）
   ============================================ */
.petals{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.petals span{
  position:absolute;top:-8%;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.95), rgba(199,175,219,.25) 60%, transparent 72%);
  opacity:0;will-change:transform,opacity;
}

/* ============================================
   HERO
   ============================================ */
.hero{position:relative;background:var(--bg)}
.hero-image{display:block;width:100%}
.hero-image img{width:100%;display:block}

/* マーキー（KV直下スライドバー） */
.marquee{
  overflow:hidden;background:var(--purple-grad);color:#fff;
  padding:12px 0;white-space:nowrap;position:relative;
}
.marquee::before,.marquee::after{
  content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;
}
.marquee::before{left:0;background:linear-gradient(90deg,#5B3580,transparent)}
.marquee::after{right:0;background:linear-gradient(270deg,#5B3580,transparent)}
.marquee-track{display:inline-flex;align-items:center;flex:0 0 auto;will-change:transform;animation:marquee 130s linear infinite}
.marquee-item{font-size:13px;letter-spacing:0.16em;padding:0 30px;position:relative}
.marquee-item::after{content:"◆";color:var(--pink);position:absolute;right:-6px;font-size:8px;top:50%;transform:translateY(-50%)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ============================================
   CTA BUTTONS
   ============================================ */
.cta{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  background:var(--cta-grad);color:#fff;font-weight:700;font-size:17px;letter-spacing:0.08em;
  padding:20px 56px;border-radius:999px;position:relative;overflow:hidden;
  box-shadow:0 14px 34px rgba(193,60,140,0.34);transition:transform .3s ease,box-shadow .3s ease;
  border:1px solid rgba(255,255,255,.4);
}
.cta::after{content:"→";font-size:17px;transition:transform .3s ease}
.cta::before{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-20deg);animation:sheen 4.5s ease-in-out infinite;
}
@keyframes sheen{0%,72%{left:-120%}88%,100%{left:160%}}
.cta:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(193,60,140,0.46)}
.cta:hover::after{transform:translateX(5px)}
.cta-wrap{text-align:center;margin-top:46px}
.cta-note{display:block;margin-top:16px;font-size:12.5px;color:var(--ink-mute);letter-spacing:.08em}

/* ============================================
   PRICE / SET FRAME（CTA上のプレミアム枠）
   ============================================ */
.set-frame{
  position:relative;background:linear-gradient(180deg,#ffffff,#FBF8FC);
  border:1px solid rgba(201,120,170,0.34);border-radius:14px;
  padding:46px 40px;box-shadow:var(--shadow-md);
}
.set-frame::before,.set-frame::after{
  content:"";position:absolute;width:26px;height:26px;border:1.5px solid var(--magenta);opacity:.7;
}
.set-frame::before{top:12px;left:12px;border-right:none;border-bottom:none}
.set-frame::after{bottom:12px;right:12px;border-left:none;border-top:none}
.set-header{text-align:center;margin-bottom:32px}
.set-header .label{margin-bottom:14px}
.set-header h2{font-size:clamp(22px,3.6vw,30px)}

/* 価格ブロック */
.price-block{text-align:center}
.price-ribbon{
  display:inline-flex;align-items:center;gap:12px;color:var(--magenta-deep);
  font-family:var(--display);font-style:italic;letter-spacing:.28em;font-size:13px;
  text-transform:uppercase;margin-bottom:10px;
}
.price-ribbon .mark{color:var(--magenta)}
.price-main{display:flex;align-items:baseline;justify-content:center;gap:4px;line-height:1}
.price-main .pre{font-size:16px;color:var(--ink-soft);margin-right:8px;align-self:center}
.price-main .num{font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:clamp(52px,9vw,76px);color:var(--purple-deep);letter-spacing:0}
.price-main .yen{font-size:24px;font-weight:600;color:var(--ink)}
.price-main .tax{font-size:13px;color:var(--ink-mute);align-self:flex-end;margin-left:6px;margin-bottom:8px}
.price-meta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:20px}
.price-meta .chip{
  font-size:13px;color:var(--ink-soft);background:var(--bg-lav);
  border:1px solid rgba(122,80,153,.16);border-radius:999px;padding:7px 18px;letter-spacing:.04em;
}
.price-meta .chip b{color:var(--purple-deep);font-weight:600}
.price-assure{
  margin-top:22px;display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--purple-deep);
  background:linear-gradient(90deg,rgba(199,175,219,.18),rgba(235,166,204,.18));
  border-radius:999px;padding:9px 22px;font-weight:600;letter-spacing:.05em;
}
.price-assure .ic{width:18px;height:18px;display:inline-block}

/* QVCバッジ（小） */
.qvc-pill{
  display:inline-flex;align-items:center;gap:8px;background:var(--purple-deep);color:#fff;
  font-size:12px;letter-spacing:.14em;padding:7px 18px;border-radius:999px;margin-bottom:18px;
  box-shadow:0 6px 18px rgba(78,44,110,.25);
}
.qvc-pill::before{content:"★";color:var(--pink);font-size:10px}

/* ============================================
   HERO INFO（KV下のセット/価格ティーザー）
   ============================================ */
.hero-info{padding:64px 0 30px;background:
  radial-gradient(120% 70% at 50% 0%, var(--bg-lav), transparent 55%), var(--bg)}
.hero-info .container-narrow{max-width:680px}

/* fade-up 共通 */
.fade-up{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1)}
.fade-up.in{opacity:1;transform:none}
.fade-up.delay-1{transition-delay:.12s}
.fade-up.delay-2{transition-delay:.24s}
.fade-up.delay-3{transition-delay:.36s}
.fade-up.delay-4{transition-delay:.48s}
@media (prefers-reduced-motion:reduce){
  .fade-up{opacity:1;transform:none;transition:none}
  .cta::before{display:none}
  .marquee-track{animation:none}
}

/* ============================================
   SHARED ILLUSTRATION ANIMATIONS
   ============================================ */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes floaty2{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes pulseGlow{0%,100%{opacity:.45;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}
@keyframes sparkle{0%,100%{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}
@keyframes drip{0%{transform:translateY(-6px) scale(.6);opacity:0}25%{opacity:1}100%{transform:translateY(20px) scale(1);opacity:0}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes spinRev{to{transform:rotate(-360deg)}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(.9)}}
@keyframes ringExpand{0%{transform:scale(.5);opacity:.8}100%{transform:scale(1.35);opacity:0}}
@keyframes coverSweep{0%,30%{opacity:0;transform:translateY(100%)}50%,80%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-100%)}}
@keyframes shineSweep{0%,30%{transform:translateX(-100%)}60%,100%{transform:translateX(120%)}}
@keyframes spotPulse{0%,50%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(.6)}100%{opacity:1;transform:scale(1)}}
@keyframes shimmer{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes wobble{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes bubbleRise{0%{transform:translateY(20px) scale(.7);opacity:0}30%{opacity:.85}100%{transform:translateY(-60px) scale(1);opacity:0}}
@keyframes lineGrow{0%{stroke-dashoffset:200}40%,60%{stroke-dashoffset:0}100%{stroke-dashoffset:-200}}
.anim-float{animation:floaty 4s ease-in-out infinite}
.anim-float2{animation:floaty2 5.5s ease-in-out infinite}
.anim-pulse{animation:pulseGlow 3.4s ease-in-out infinite;transform-origin:center}
.anim-spin{animation:spinSlow 30s linear infinite;transform-origin:center}
.anim-spinrev{animation:spinRev 40s linear infinite;transform-origin:center}
.anim-breathe{animation:breathe 3.6s ease-in-out infinite;transform-origin:center}
.anim-wobble{animation:wobble 4s ease-in-out infinite;transform-origin:center}
.spark{animation:sparkle 2.6s ease-in-out infinite;transform-origin:center}
.spark.d1{animation-delay:.4s}.spark.d2{animation-delay:.9s}.spark.d3{animation-delay:1.4s}.spark.d4{animation-delay:1.9s}.spark.d5{animation-delay:2.3s}
.dripA{animation:drip 2.8s ease-in infinite}
.dripA.d1{animation-delay:.9s}.dripA.d2{animation-delay:1.8s}.dripA.d3{animation-delay:.4s}
.shimmer{animation:shimmer 2.4s ease-in-out infinite}
.bubble{animation:bubbleRise 4s ease-out infinite}
.bubble.b2{animation-delay:1.3s}.bubble.b3{animation-delay:2.6s}
@media (prefers-reduced-motion:reduce){
  .anim-float,.anim-float2,.anim-pulse,.anim-spin,.anim-spinrev,.anim-breathe,.anim-wobble,.spark,.dripA,.shimmer,.bubble{animation:none}
}

/* ============================================
   SECTION 2: QVC TALK
   ============================================ */
.qvc{background:
  radial-gradient(110% 70% at 50% 0%, var(--bg-lav), transparent 55%), var(--bg)}
.qvc .chips{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:6px 0 30px}
.qvc .chips .c{
  font-size:14px;color:var(--purple-deep);background:#fff;
  border:1px solid rgba(122,80,153,.2);border-radius:999px;padding:10px 22px;
  box-shadow:var(--shadow-sm);letter-spacing:.04em;
}
.qvc .chips .c b{color:var(--magenta-deep)}
.qvc .lead{text-align:center;color:var(--ink-soft);max-width:none;width:100%;margin:0 auto;font-size:16px;line-height:2}
.qvc .lead .hl{color:var(--purple-deep);font-weight:600}

/* ============================================
   PREMIUM VERTICAL CARD FRAMEWORK（共通：縦型カード）
   大型ステージ＋グラデ背景＋グロー＋パール粒子＋hover浮き
   ============================================ */
.pcard{
  position:relative;border-radius:26px;overflow:hidden;text-align:center;
  background:linear-gradient(170deg,#FFFFFF 0%,#FBF1F8 55%,#F3E7F5 100%);
  border:1px solid rgba(201,120,170,.28);
  box-shadow:0 18px 48px rgba(122,80,153,.13), inset 0 1px 0 rgba(255,255,255,.9);
  padding:40px 26px 34px;
  transition:transform .55s cubic-bezier(.22,.61,.36,1), box-shadow .55s ease;
}
.pcard::before{ /* 上部の金/ラベンダー細枠ライン */
  content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--cta-grad);opacity:.92;
}
.pcard::after{ /* 上部の円形グロー */
  content:"";position:absolute;top:-30%;left:50%;transform:translateX(-50%);
  width:78%;height:55%;border-radius:50%;
  background:radial-gradient(circle, rgba(235,166,204,.4), transparent 70%);
  pointer-events:none;filter:blur(6px);
}
.pcard:hover{transform:translateY(-10px);box-shadow:0 32px 64px rgba(193,60,140,.22)}
.pcard .pcard-no{
  position:relative;z-index:3;font-family:"Noto Sans JP",sans-serif;font-weight:800;
  font-size:30px;line-height:1;color:var(--purple-deep);letter-spacing:.02em;margin-bottom:8px;
}
.pcard .pcard-no::after{content:"";display:block;width:30px;height:3px;border-radius:2px;background:var(--cta-grad);margin:10px auto 0}
.pcard .pcard-tag{
  position:relative;z-index:3;display:inline-block;background:#fff;color:var(--magenta-deep);
  font-weight:700;font-size:15px;border-radius:999px;padding:7px 22px;margin-bottom:16px;
  box-shadow:0 4px 14px rgba(193,60,140,.16);border:1px solid rgba(193,60,140,.14);
}
.pcard h3,.pcard .pcard-title{
  position:relative;z-index:3;font-family:var(--serif);font-weight:600;color:var(--ink);
  font-size:21px;line-height:1.55;margin-bottom:12px;
}
.pcard .pcard-title .em,.pcard h3 .em{color:var(--purple-deep)}
.pcard .pcard-desc{position:relative;z-index:3;font-size:14.5px;line-height:1.95;color:var(--ink-soft);max-width:300px;margin:0 auto}
.pcard .pcard-ings{position:relative;z-index:3;margin-top:14px;font-size:12px;color:var(--ink-mute);line-height:1.7}

/* 大型ステージ（カード上部・面積40%級） */
.pstage{
  position:relative;width:188px;height:188px;margin:0 auto 22px;z-index:3;
}
.pstage .glow{ /* 背面グロー */
  position:absolute;inset:-6%;border-radius:50%;
  background:radial-gradient(circle at 50% 42%, rgba(255,255,255,.95), rgba(235,166,204,.5) 55%, rgba(199,175,219,.28) 100%);
  box-shadow:inset 0 8px 28px rgba(122,80,153,.14), 0 14px 36px rgba(193,60,140,.18);
}
.pstage .ring{ /* 回転ダッシュドリング */
  position:absolute;inset:-8px;border-radius:50%;border:1.5px dashed rgba(193,60,140,.34);
  animation:spinSlow 55s linear infinite;
}
.pstage .halo{ /* 拡張する波紋リング */
  position:absolute;inset:6px;border-radius:50%;border:2px solid rgba(193,60,140,.3);
  animation:ringExpand 3.8s ease-out infinite;
}
.pstage .halo.h2{animation-delay:1.9s}
.pstage svg{position:absolute;inset:11%;width:78%;height:78%;z-index:4}
/* パール粒子（ステージ内に漂う） */
.pstage .pearl{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%, #fff, rgba(235,166,204,.6) 70%, transparent);z-index:5}
.pstage .pearl.a{width:10px;height:10px;top:6%;left:24%;animation:floaty 4.2s ease-in-out infinite}
.pstage .pearl.b{width:7px;height:7px;top:16%;right:14%;animation:floaty2 5.4s ease-in-out infinite}
.pstage .pearl.c{width:6px;height:6px;bottom:14%;left:14%;animation:floaty 4.8s ease-in-out infinite .6s}
.pstage .pearl.d{width:8px;height:8px;bottom:8%;right:22%;animation:floaty2 6s ease-in-out infinite .9s}
@media (max-width:767px){
  .pstage{width:150px;height:150px;margin-bottom:18px}
  .pcard{padding:34px 18px 28px;border-radius:22px}
  .pcard h3,.pcard .pcard-title{font-size:18px}
}

/* ============================================
   SECTION 3: WORRY（こんなお悩みに）— A案フルブリード縦長カード
   ============================================ */
.worry{
  position:relative;padding:108px 0 116px;overflow:hidden;
  background:
    radial-gradient(72% 46% at 14% 4%, rgba(206,166,210,.34), transparent 60%),
    radial-gradient(64% 44% at 90% 16%, rgba(235,150,190,.30), transparent 60%),
    radial-gradient(90% 60% at 50% 112%, rgba(190,160,220,.28), transparent 60%),
    linear-gradient(180deg,#FAF4FA 0%,#F2E8F3 48%,#FAF4FA 100%);
}
.worry::before,.worry::after{content:"";position:absolute;left:0;right:0;height:1px;z-index:4;
  background:linear-gradient(90deg,transparent,rgba(190,158,98,.55) 16%,rgba(220,150,190,.75) 50%,rgba(190,158,98,.55) 84%,transparent)}
.worry::before{top:0}.worry::after{bottom:0}
/* 背景の大型・薄い回転装飾（うるおいの輪） */
.worry-deco{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.worry-deco svg{position:absolute;opacity:.5}
.worry-deco .d-a{width:520px;height:520px;top:-130px;left:-120px;animation:spinSlow 120s linear infinite}
.worry-deco .d-b{width:600px;height:600px;bottom:-200px;right:-160px;animation:spinRev 150s linear infinite}
/* 背景の漂うパール粒子 */
.worry-pearls{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.worry-pearls i{position:absolute;border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #fff, rgba(235,166,204,.55) 60%, transparent 72%);opacity:.7}
.worry-pearls i:nth-child(1){width:18px;height:18px;left:7%;top:22%;animation:floaty 6s ease-in-out infinite}
.worry-pearls i:nth-child(2){width:11px;height:11px;left:23%;top:74%;animation:floaty2 7.5s ease-in-out infinite .4s}
.worry-pearls i:nth-child(3){width:24px;height:24px;left:49%;top:9%;animation:floaty 8s ease-in-out infinite .8s}
.worry-pearls i:nth-child(4){width:13px;height:13px;left:73%;top:70%;animation:floaty2 6.8s ease-in-out infinite 1.2s}
.worry-pearls i:nth-child(5){width:20px;height:20px;left:92%;top:30%;animation:floaty 7.2s ease-in-out infinite .6s}
.worry-pearls i:nth-child(6){width:9px;height:9px;left:40%;top:88%;animation:floaty2 6s ease-in-out infinite 1.5s}
.worry .container{position:relative;z-index:3;width:min(1340px,94vw)}

/* タイトル */
.worry-head{text-align:center;margin-bottom:60px}
.worry-head .label{margin-bottom:18px}
.worry-head h2{font-size:clamp(28px,4.8vw,44px);letter-spacing:.05em;line-height:1.42}
.worry-head .lead{margin:22px auto 0;max-width:660px;color:var(--ink-soft);font-size:16.5px;line-height:2}
.worry-head .deco{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:26px}
.worry-head .deco::before,.worry-head .deco::after{content:"";width:74px;height:1px;background:linear-gradient(90deg,transparent,var(--magenta))}
.worry-head .deco::after{background:linear-gradient(90deg,var(--magenta),transparent)}
.worry-head .deco span{color:var(--magenta);font-size:13px;letter-spacing:.3em}

/* グリッド：PC3×2 / タブレット2 / SP1 */
.worry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}

/* 縦長カード（高さ560px級） */
.wc{
  position:relative;min-height:564px;border-radius:30px;overflow:hidden;text-align:center;
  display:flex;flex-direction:column;align-items:center;
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 26px 60px rgba(122,80,153,.18), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .55s cubic-bezier(.22,.61,.36,1), box-shadow .55s ease;
}
.wc:hover{transform:translateY(-14px);box-shadow:0 44px 88px rgba(193,60,140,.26)}
/* 上：ビジュアル帯（カードの約56%）／下：テキスト帯（白寄りで可読性） */
.wc-visual{position:relative;width:100%;height:316px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.wc-body{position:relative;z-index:3;flex:1;width:100%;padding:30px 28px 36px;
  background:linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.92) 38%);
  display:flex;flex-direction:column;align-items:center}
/* カード別グラデ（ビジュアル帯：一段濃い彩度） */
.wc.w1 .wc-visual{background:linear-gradient(160deg,#FBDDE6 0%,#F3AEC6 55%,#E07FA6 100%)}
.wc.w2 .wc-visual{background:linear-gradient(160deg,#EAD7EE 0%,#C99BCE 55%,#9A66A8 100%)}
.wc.w3 .wc-visual{background:linear-gradient(160deg,#EDE3DE 0%,#CBB6AE 55%,#9E8478 100%)}
.wc.w4 .wc-visual{background:linear-gradient(160deg,#D8E4F0 0%,#A9C2DC 55%,#6E8FB2 100%)}
.wc.w5 .wc-visual{background:linear-gradient(160deg,#E2D8F2 0%,#B79CDE 55%,#8A66B8 100%)}
.wc.w6 .wc-visual{background:linear-gradient(160deg,#F6CFE2 0%,#E48BBC 55%,#C24A92 100%)}
.wc.w1 .wc-body{background:linear-gradient(180deg,rgba(251,221,230,.4),#fff 42%)}
.wc.w2 .wc-body{background:linear-gradient(180deg,rgba(234,215,238,.4),#fff 42%)}
.wc.w3 .wc-body{background:linear-gradient(180deg,rgba(237,227,222,.5),#fff 42%)}
.wc.w4 .wc-body{background:linear-gradient(180deg,rgba(216,228,240,.45),#fff 42%)}
.wc.w5 .wc-body{background:linear-gradient(180deg,rgba(226,216,242,.42),#fff 42%)}
.wc.w6 .wc-body{background:linear-gradient(180deg,rgba(246,207,226,.42),#fff 42%)}
/* ビジュアル帯のシャインスイープ＆下端のなじみ */
.wc-visual::after{content:"";position:absolute;top:0;left:-60%;width:46%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);
  animation:shineSweep 7s ease-in-out infinite;pointer-events:none;z-index:5}
/* 番号（ビジュアル帯の左上に大きく） */
.wc-no{position:absolute;top:20px;left:26px;z-index:6;font-family:"Noto Sans JP",sans-serif;font-weight:800;
  font-size:40px;line-height:1;color:rgba(255,255,255,.92);text-shadow:0 3px 12px rgba(122,80,153,.4)}
.wc-no .en{display:block;font-family:var(--display);font-style:italic;font-weight:500;font-size:12px;
  letter-spacing:.22em;margin-top:6px;opacity:.92}
/* 大型アイコン（肌球体）≈200px */
.wc-skin{position:relative;width:204px;height:204px;z-index:2}
.wc-skin .pl{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%, #fff, rgba(255,255,255,.4) 70%, transparent);z-index:6}
.wc-skin .pl.a{width:12px;height:12px;top:2%;left:18%;animation:floaty 4.4s ease-in-out infinite}
.wc-skin .pl.b{width:9px;height:9px;top:12%;right:8%;animation:floaty2 5.6s ease-in-out infinite .5s}
.wc-skin .pl.c{width:8px;height:8px;bottom:12%;left:8%;animation:floaty 5s ease-in-out infinite .8s}
.wc-skin .pl.d{width:10px;height:10px;bottom:4%;right:16%;animation:floaty2 6.2s ease-in-out infinite 1s}
.wc-skin svg{position:absolute;inset:0;width:100%;height:100%}

/* テキスト帯 */
.wc-tag{display:inline-block;background:#fff;font-weight:700;font-size:14px;
  border-radius:999px;padding:7px 20px;margin-bottom:14px;box-shadow:0 5px 16px rgba(122,80,153,.16)}
.wc.w1 .wc-tag{color:#C03A78}.wc.w2 .wc-tag{color:#8A4F9E}.wc.w3 .wc-tag{color:#9E7A5E}
.wc.w4 .wc-tag{color:#4674A2}.wc.w5 .wc-tag{color:#7E4FB0}.wc.w6 .wc-tag{color:#C0367E}
.wc-title{font-family:var(--serif);font-weight:700;font-size:25px;color:#3F2738;line-height:1.45;margin-bottom:14px}
.wc.w4 .wc-title{color:#2A3E5A}.wc.w3 .wc-title{color:#4E3A2C}
.wc-desc{font-size:15px;line-height:1.95;color:#5A4A56;max-width:300px;margin:0 auto}
.wc.w4 .wc-desc{color:#3F4E66}.wc.w3 .wc-desc{color:#5E4C3E}

/* ブリッジ */
.worry-bridge{text-align:center;margin-top:66px}
.worry-bridge .arrow{font-size:26px;color:var(--magenta);display:block;margin-bottom:10px;animation:floaty 2.4s ease-in-out infinite}
.worry-bridge p{font-family:var(--serif);font-size:clamp(20px,3.2vw,28px);font-weight:500;color:var(--ink);line-height:1.6}
.worry-bridge .em{color:var(--purple-deep)}

@media (max-width:980px){
  .worry-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .wc{min-height:540px}
}
@media (max-width:600px){
  .worry{padding:74px 0 80px}
  .worry-grid{grid-template-columns:1fr;gap:22px}
  .wc{min-height:520px}
  .wc-visual{height:280px}
  .wc-skin{width:190px;height:190px}
  .wc-title{font-size:23px}.wc-desc{font-size:15px;max-width:330px}
}

/* ============================================
   SECTION 4: 1品6役（ALL IN ONE）— 全面リニューアル
   ============================================ */
.allinone{
  position:relative;padding:104px 0 110px;overflow:hidden;
  background:
    radial-gradient(78% 50% at 14% 6%, rgba(199,175,219,.30), transparent 60%),
    radial-gradient(70% 50% at 88% 20%, rgba(235,166,204,.24), transparent 60%),
    radial-gradient(90% 60% at 50% 110%, rgba(199,175,219,.24), transparent 60%),
    linear-gradient(180deg,#FBF6FB 0%,#F5ECF6 50%,#FBF6FB 100%);
}
.allinone::before,.allinone::after{content:"";position:absolute;left:0;right:0;height:1px;z-index:3;
  background:linear-gradient(90deg,transparent,rgba(190,158,98,.5) 18%,rgba(199,175,219,.7) 50%,rgba(190,158,98,.5) 82%,transparent)}
.allinone::before{top:0}.allinone::after{bottom:0}
.aio-pearls{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.aio-pearls i{position:absolute;border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #fff, rgba(199,175,219,.5) 60%, transparent 72%);opacity:.7}
.aio-pearls i:nth-child(1){width:16px;height:16px;left:10%;top:18%;animation:floaty 6.4s ease-in-out infinite}
.aio-pearls i:nth-child(2){width:10px;height:10px;left:28%;top:72%;animation:floaty2 7.6s ease-in-out infinite .5s}
.aio-pearls i:nth-child(3){width:22px;height:22px;left:52%;top:10%;animation:floaty 8.2s ease-in-out infinite .9s}
.aio-pearls i:nth-child(4){width:12px;height:12px;left:74%;top:66%;animation:floaty2 6.6s ease-in-out infinite 1.1s}
.aio-pearls i:nth-child(5){width:18px;height:18px;left:90%;top:32%;animation:floaty 7.4s ease-in-out infinite .4s}
.aio-pearls i:nth-child(6){width:8px;height:8px;left:42%;top:86%;animation:floaty2 6.2s ease-in-out infinite 1.6s}
.allinone .container{position:relative;z-index:2;width:min(1280px,94vw)}

.aio-head{text-align:center;margin-bottom:58px}
.aio-head .label{margin-bottom:18px}
.aio-head h2{font-size:clamp(27px,4.6vw,42px);letter-spacing:.05em;line-height:1.45}
.aio-head h2 .em{color:var(--purple-deep)}
.aio-head .lead{margin:22px auto 0;max-width:660px;color:var(--ink-soft);font-size:16px;line-height:2}
.aio-head .deco{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:24px}
.aio-head .deco::before,.aio-head .deco::after{content:"";width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--magenta))}
.aio-head .deco::after{background:linear-gradient(90deg,var(--magenta),transparent)}
.aio-head .deco b{font-family:"Noto Sans JP";color:var(--magenta-deep);font-weight:800;font-size:22px}
.aio-head .deco b .s{font-size:.62em;font-weight:600;color:var(--purple-deep)}

.aio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}

/* 大型縦型カード */
.ac{
  position:relative;min-height:470px;border-radius:28px;overflow:hidden;text-align:center;
  padding:46px 30px 40px;display:flex;flex-direction:column;align-items:center;
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 22px 56px rgba(122,80,153,.16), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .55s cubic-bezier(.22,.61,.36,1), box-shadow .55s ease;
}
.ac:hover{transform:translateY(-12px);box-shadow:0 38px 76px rgba(193,60,140,.24)}
.ac.a1{background:linear-gradient(165deg,#FFF6FA 0%,#FBE2EE 60%,#F3C9DF 100%)}
.ac.a2{background:linear-gradient(165deg,#EFF5FC 0%,#DCE9F6 60%,#C6D9EE 100%)}
.ac.a3{background:linear-gradient(165deg,#FBF1FA 0%,#ECD8F2 60%,#DBBEEB 100%)}
.ac.a4{background:linear-gradient(165deg,#FFF7EF 0%,#FBE7D7 55%,#F3D4C0 100%)}
.ac.a5{background:linear-gradient(165deg,#F4F1FB 0%,#E2DAF3 60%,#CBC0EA 100%)}
.ac.a6{background:linear-gradient(165deg,#FBEFF6 0%,#F3DAEA 58%,#E8C2DB 100%)}
.ac::before{content:"";position:absolute;top:-26%;left:50%;transform:translateX(-50%);
  width:74%;height:52%;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.85), transparent 70%);filter:blur(8px);pointer-events:none}
.ac::after{content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);
  animation:shineSweep 7.5s ease-in-out infinite;pointer-events:none}
.ac>*{position:relative;z-index:2}

.ac-no{font-family:"Noto Sans JP",sans-serif;font-weight:800;font-size:34px;line-height:1;color:#fff;
  text-shadow:0 3px 10px rgba(122,80,153,.4);letter-spacing:.02em;margin-bottom:6px}
.ac-no::after{content:"";display:block;width:34px;height:3px;border-radius:2px;background:#fff;opacity:.85;margin:12px auto 0}

/* 大型アイコンステージ 192px */
.ac-stage{position:relative;width:192px;height:192px;margin:6px auto 24px}
.ac-stage .ring{position:absolute;inset:-6px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.7);animation:spinSlow 55s linear infinite}
.ac-stage .core{position:absolute;inset:6%;border-radius:50%;
  background:radial-gradient(circle at 48% 38%, rgba(255,255,255,.96), rgba(255,255,255,.5) 58%, rgba(255,255,255,.15) 100%);
  box-shadow:inset 0 8px 30px rgba(122,80,153,.12), 0 14px 34px rgba(122,80,153,.2)}
.ac-stage .halo{position:absolute;inset:2px;border-radius:50%;border:2px solid rgba(255,255,255,.6);animation:ringExpand 4s ease-out infinite}
.ac-stage .halo.h2{animation-delay:2s}
.ac-stage svg{position:absolute;inset:13%;width:74%;height:74%;z-index:3}
.ac-stage .pl{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%, #fff, rgba(255,255,255,.4) 70%, transparent);z-index:4}
.ac-stage .pl.a{width:11px;height:11px;top:4%;left:22%;animation:floaty 4.4s ease-in-out infinite}
.ac-stage .pl.b{width:8px;height:8px;top:14%;right:12%;animation:floaty2 5.6s ease-in-out infinite .5s}
.ac-stage .pl.c{width:7px;height:7px;bottom:12%;left:12%;animation:floaty 5s ease-in-out infinite .8s}
.ac-stage .pl.d{width:9px;height:9px;bottom:6%;right:20%;animation:floaty2 6.2s ease-in-out infinite 1s}

.ac-role{font-family:var(--serif);font-weight:700;font-size:25px;line-height:1.3;margin-bottom:12px;color:#4A2C40}
.ac.a2 .ac-role{color:#2E466A}.ac.a3 .ac-role,.ac.a5 .ac-role{color:#43295E}.ac.a4 .ac-role{color:#5A3A26}
.ac-desc{font-size:15px;line-height:1.95;color:#5A4A56;max-width:280px;margin:0 auto auto}
.ac.a2 .ac-desc{color:#42526A}.ac.a4 .ac-desc{color:#6A4F3E}
.ac-en{margin-top:22px;font-family:var(--display);font-style:italic;font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(74,44,64,.6)}
.ac.a2 .ac-en{color:rgba(46,70,106,.62)}

.aio-foot{text-align:center;margin-top:60px}
.aio-foot p{font-family:var(--serif);font-size:clamp(18px,2.8vw,24px);font-weight:500;color:var(--ink);line-height:1.6}
.aio-foot .em{color:var(--purple-deep)}
@media (max-width:980px){.aio-grid{grid-template-columns:repeat(2,1fr);gap:22px}.ac{min-height:440px}}
@media (max-width:600px){
  .allinone{padding:72px 0 78px}
  .aio-grid{grid-template-columns:1fr;gap:20px}
  .ac{min-height:380px;padding:40px 26px 36px}
  .ac-stage{width:172px;height:172px}
  .ac-role{font-size:23px}.ac-desc{font-size:15px;max-width:320px}
}

/* ============================================
   SECTION 5: BEAUTY GALAXY（97種の美容成分）— 中央97主役・軌道公転
   ============================================ */
.galaxy{
  position:relative;width:100%;overflow:hidden;
  padding:104px 0 92px;
  background:
    radial-gradient(56% 40% at 50% 46%, rgba(255,250,252,.92), transparent 68%),
    radial-gradient(70% 50% at 16% 12%, rgba(214,178,224,.40), transparent 62%),
    radial-gradient(64% 46% at 86% 18%, rgba(244,176,210,.38), transparent 62%),
    radial-gradient(80% 60% at 50% 108%, rgba(206,176,224,.40), transparent 60%),
    linear-gradient(180deg,#FBF5FB 0%,#F3E9F5 46%,#FBF3F8 100%);
}
.galaxy::before,.galaxy::after{content:"";position:absolute;left:0;right:0;height:1px;z-index:8;
  background:linear-gradient(90deg,transparent,rgba(190,158,98,.55) 16%,rgba(220,150,190,.8) 50%,rgba(190,158,98,.55) 84%,transparent)}
.galaxy::before{top:0}.galaxy::after{bottom:0}
.gx-aurora{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.gx-aurora span{position:absolute;border-radius:50%;filter:blur(64px);opacity:.5;animation:gxAurora 16s ease-in-out infinite}
.gx-aurora .a1{width:60vw;height:46vw;left:-12vw;top:0;background:radial-gradient(circle,#E7C6E8,transparent 68%)}
.gx-aurora .a2{width:54vw;height:42vw;right:-10vw;top:6%;background:radial-gradient(circle,#F4C2D6,transparent 68%);animation-delay:4s}
.gx-aurora .a3{width:64vw;height:48vw;left:8vw;bottom:-12%;background:radial-gradient(circle,#D6C2EC,transparent 68%);animation-delay:8s}
@keyframes gxAurora{0%,100%{transform:translate(0,0) scale(1);opacity:.42}50%{transform:translate(2%,-2%) scale(1.08);opacity:.62}}
.gx-dust{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.gx-dust i{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,rgba(244,176,210,.5) 60%,transparent 72%);opacity:.7}
.galaxy .container{position:relative;z-index:6;width:min(1340px,94vw);text-align:center}

/* 見出し（97との主従：控えめ） */
.gx-head{margin-bottom:6px;position:relative;z-index:9}
.gx-head .label{color:var(--magenta);letter-spacing:.34em}
.gx-head .jp{margin-top:12px;font-family:var(--serif);font-weight:700;color:var(--purple-deep);font-size:clamp(22px,4vw,36px);letter-spacing:.06em;line-height:1.4}
.gx-head .jp b{font-family:"Noto Sans JP";color:var(--magenta-deep);font-size:1.12em;vertical-align:-2px}
.gx-concept{margin-top:8px;font-family:var(--display);font-style:italic;color:var(--magenta-deep);font-size:clamp(13px,2vw,16px);letter-spacing:.14em}

/* 舞台（正方形・中央軸） */
.gx-stage{position:relative;width:min(940px,96vw);height:min(940px,96vw);margin:92px auto 0}
@media (max-width:600px){.gx-stage{width:96vw;height:96vw;margin-top:10px}}

/* 中央から広がる波紋 */
.gx-ripple{position:absolute;top:50%;left:50%;width:300px;height:300px;border-radius:50%;
  transform:translate(-50%,-50%);border:2px solid rgba(193,60,140,.3);z-index:3;animation:gxRipple 4.6s ease-out infinite}
.gx-ripple.r-b{animation-delay:2.3s}
@keyframes gxRipple{0%{width:280px;height:280px;opacity:.6}100%{width:760px;height:760px;opacity:0}}

/* 軌道リング（半透明・同心円） */
.gx-track{position:absolute;top:50%;left:50%;border-radius:50%;transform:translate(-50%,-50%);z-index:3;pointer-events:none}
.gx-track.t1{width:80%;height:80%;border:1px solid rgba(193,60,140,.24)}
.gx-track.t2{width:96%;height:96%;border:1px dashed rgba(122,80,153,.22)}
.gx-track.t3{width:100%;height:100%;border:1px solid rgba(190,158,98,.26)}
.gx-track.t4{width:110%;height:110%;border:1px dashed rgba(193,60,140,.16)}

/* 公転リング（親要素ごと回転） */
.orbit-ring{position:absolute;top:50%;left:50%;border-radius:50%;transform:translate(-50%,-50%);z-index:4}
.orbit-ring.o1{width:80%;height:80%;animation:gxSpin 60s linear infinite}
.orbit-ring.o2{width:96%;height:96%;animation:gxSpin 78s linear infinite}
.orbit-ring.o3{width:100%;height:100%;animation:gxSpin 96s linear infinite reverse}
.orbit-ring.o4{width:110%;height:110%;animation:gxSpin 130s linear infinite}
.orbit-ring.o5{width:90%;height:90%;animation:gxSpin 150s linear infinite reverse}
.orbit-ring.o6{width:104%;height:104%;animation:gxSpin 185s linear infinite}
@keyframes gxSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
/* オーブの逆回転（公転しても文字は正立） */
@keyframes gxCounter{to{transform:rotate(-360deg)}}
@keyframes gxCounterR{to{transform:rotate(360deg)}}
.gx-orb{will-change:transform}
.gx-orb.cr1{animation:gxCounter 60s linear infinite}
.gx-orb.cr2{animation:gxCounter 78s linear infinite}
.gx-orb.cr3{animation:gxCounterR 96s linear infinite}
.gx-orb.cr4{animation:gxCounter 130s linear infinite}
.gx-orb.cr5{animation:gxCounterR 150s linear infinite}
.gx-orb.cr6{animation:gxCounter 185s linear infinite}
@media (prefers-reduced-motion:reduce){.gx-orb{animation:none!important}}
/* スロット：リング上の角度に配置 */
.orb-slot{position:absolute;inset:0}
.orb-node{position:absolute;left:50%;top:0}
.orb-c{position:absolute;left:0;top:0;transform:translate(-50%,-50%)}
.orb-c .gx-orb{position:relative}

@media (prefers-reduced-motion:reduce){.orbit-ring{animation:none!important}}

/* オーブ（高級ガラス球） */
.gx-orb{position:absolute;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;
  /* 親リングの回転を打ち消すため inner で counter-rotate */
}
.gx-orb .ball{position:relative;width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;
  overflow:hidden;color:#4A2746;font-weight:700;line-height:1.24;
  box-shadow:inset 0 8px 22px rgba(255,255,255,.85), inset 0 -16px 30px rgba(122,60,140,.3), 0 14px 32px rgba(154,46,110,.24);}
.gx-orb .ball::before{content:"";position:absolute;top:9%;left:14%;width:46%;height:34%;border-radius:50%;
  background:radial-gradient(circle,#fff,transparent 70%);opacity:.9;filter:blur(1px)}
.gx-orb .ball::after{content:"";position:absolute;bottom:10%;right:16%;width:26%;height:18%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.7),transparent 70%);opacity:.5}
.gx-orb .ball .txt{position:relative;z-index:3;padding:0 10%}
.gx-orb .ball .sup{font-size:.7em;opacity:.8}
/* 内部の液体・美容粒子 */
.gx-orb .ball .liquid{position:absolute;left:-10%;bottom:-12%;width:120%;height:54%;border-radius:46%;
  opacity:.5;animation:gxLiquid 7s ease-in-out infinite}
@keyframes gxLiquid{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-4%)}}
.gx-orb .ball .pcl{position:absolute;border-radius:50%;background:rgba(255,255,255,.9)}

/* カラーバリエーション（透明感あるグラス） */
.o-pink .ball{background:radial-gradient(circle at 36% 28%, rgba(255,255,255,.96), #FBDDEB 38%, #E78AB6 70%, #C24A92 100%)}
.o-pink .liquid{background:linear-gradient(180deg,#F6A8CE,#C24A92)}
.o-purple .ball{background:radial-gradient(circle at 36% 28%, rgba(255,255,255,.96), #EFE0FB 38%, #C9A6E0 70%, #8A5FB0 100%)}
.o-purple .liquid{background:linear-gradient(180deg,#C9A6E0,#8A5FB0)}
.o-gold .ball{background:radial-gradient(circle at 36% 28%, rgba(255,255,255,.96), #FBEFDB 38%, #ECCF9B 70%, #C99A5E 100%);color:#6B4A2A}
.o-gold .liquid{background:linear-gradient(180deg,#F0D8A8,#C99A5E)}
.o-blue .ball{background:radial-gradient(circle at 36% 28%, rgba(255,255,255,.96), #E2EEFB 38%, #A9C6E6 70%, #6E8FB8 100%);color:#2E4A66}
.o-blue .liquid{background:linear-gradient(180deg,#A9C6E6,#6E8FB8)}
.o-rose .ball{background:radial-gradient(circle at 36% 28%, rgba(255,255,255,.96), #FBDDE2 38%, #EE8AA6 70%, #C23A66 100%)}
.o-rose .liquid{background:linear-gradient(180deg,#F4A8BE,#C23A66)}

/* サイズ階層 */
.gx-orb.hero{width:172px;height:172px;font-size:15px}
.gx-orb.big{width:130px;height:130px;font-size:13px}
.gx-orb.mid{width:92px;height:92px;font-size:11.5px;color:#5A3A56}
.gx-orb.mid .ball{box-shadow:inset 0 5px 14px rgba(255,255,255,.85), inset 0 -10px 20px rgba(122,60,140,.22), 0 8px 20px rgba(154,46,110,.16)}
.gx-orb.sm{width:34px;height:34px}
.gx-orb.sm .ball{box-shadow:inset 0 3px 8px rgba(255,255,255,.9), 0 4px 12px rgba(154,46,110,.16)}
.gx-orb.sm .ball::after{display:none}
.gx-orb.xs{width:20px;height:20px}
.gx-orb.xs .ball{box-shadow:inset 0 2px 6px rgba(255,255,255,.9), 0 3px 9px rgba(154,46,110,.14)}
.gx-orb.xs .ball::after{display:none}
@media (max-width:980px){
  .gx-orb.hero{width:138px;height:138px;font-size:12.5px}
  .gx-orb.big{width:104px;height:104px;font-size:11px}
  .gx-orb.mid{width:74px;height:74px;font-size:10px}
}
@media (max-width:600px){
  .gx-orb.hero{width:96px;height:96px;font-size:9.5px}
  .gx-orb.big{width:72px;height:72px;font-size:8.5px}
  .gx-orb.mid{width:54px;height:54px;font-size:7.5px}
  .gx-orb.sm{width:22px;height:22px}
  .gx-orb.xs{width:13px;height:13px}
}

/* 中央コア（固定・最大主役） */
.gx-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:clamp(290px,40%,392px);aspect-ratio:1/1;z-index:7;pointer-events:none}
.gx-core .glow{position:absolute;inset:-22%;border-radius:50%;
  background:radial-gradient(circle at 50% 46%, rgba(255,255,255,.96), rgba(244,176,210,.55) 42%, rgba(214,178,224,.3) 66%, transparent 78%);
  animation:gxBreath 5s ease-in-out infinite}
@keyframes gxBreath{0%,100%{transform:scale(1);opacity:.94}50%{transform:scale(1.07);opacity:1}}
.gx-core .orb{position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 38% 30%, #FFFFFF 0%, #FCEAF3 24%, #F0BEDA 52%, #CE92CE 76%, #9A66B0 100%);
  box-shadow:inset 0 20px 64px rgba(255,255,255,.75), inset 0 -34px 66px rgba(122,50,130,.36), 0 36px 90px rgba(154,46,110,.34);
  overflow:hidden}
.gx-core .orb::after{content:"";position:absolute;top:8%;left:14%;width:50%;height:34%;border-radius:50%;
  background:radial-gradient(circle,#fff,transparent 70%);opacity:.9}
.gx-core .num-wrap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3;color:#fff;text-shadow:0 4px 22px rgba(122,40,100,.45)}
.gx-core .num-wrap .lead{font-family:var(--serif);font-weight:600;font-size:clamp(11px,1.4vw,15px);letter-spacing:.2em;opacity:.95}
.gx-core .num-wrap .big{font-family:"Noto Sans JP",sans-serif;font-weight:800;font-size:clamp(120px,18vw,208px);line-height:.9;letter-spacing:-.02em;white-space:nowrap}
.gx-core .num-wrap .big .u{font-size:.3em;font-weight:700;vertical-align:.6em;margin-left:.04em}
.gx-core .num-wrap .tail{font-family:var(--serif);font-weight:600;font-size:clamp(12px,1.6vw,17px);letter-spacing:.14em;opacity:.96;margin-top:4px}

/* 凡例・不使用・注釈 */
/* 97種美容成分ライブラリー（カテゴリ独立カード・3列グリッド） */
.gx-library{position:relative;z-index:6;margin-top:46px}
.gx-lib-head{text-align:center;margin-bottom:30px}
.gx-lib-head .en{font-family:var(--display);font-style:italic;letter-spacing:.2em;color:var(--magenta);font-size:13px}
.gx-lib-head .jp{margin-top:8px;font-family:var(--serif);font-weight:700;color:var(--purple-deep);font-size:clamp(19px,3vw,28px);letter-spacing:.05em}
.gx-lib-head .jp b{font-family:"Noto Sans JP";color:var(--magenta-deep);font-size:1.12em;vertical-align:-1px}
.gx-lib-sub{margin-top:10px;font-size:12.5px;letter-spacing:.16em;color:var(--ink-mute)}
.gx-lib-sub::before,.gx-lib-sub::after{content:"—";margin:0 10px;color:rgba(193,60,140,.5)}

/* カテゴリカードのグリッド（PC3列） */
.gx-cats{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px}
.gx-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:20px}
.gx-cats .cat-card.nouse{flex:1 1 100%;width:100%}
@media (max-width:980px){.gx-cats{gap:16px}.gx-col{flex:1 1 calc(50% - 8px)}}
@media (max-width:600px){.gx-col{flex:1 1 100%}}

/* カテゴリカード */
.cat-card{position:relative;border-radius:24px;overflow:hidden;padding:24px 22px 26px;
  background:linear-gradient(170deg, rgba(255,255,255,.92), rgba(255,255,255,.66));
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 12px 30px rgba(122,80,153,.12), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(5px);}
.cat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--ct-line);opacity:.9}
.cat-card::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:62%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(190,158,98,.6),transparent)}
.cat-card.span2{grid-column:span 2}
@media (max-width:980px){.cat-card.span2{grid-column:span 2}}
@media (max-width:600px){.cat-card.span2{grid-column:span 1}}
.cat-card.nouse{grid-column:1 / -1}

.cat-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding-bottom:14px;margin-bottom:16px;border-bottom:1px dashed rgba(122,80,153,.2)}
.cat-name{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-weight:700;color:#3F2740;font-size:15.5px}
.cat-name .dot{width:13px;height:13px;border-radius:50%;background:var(--ct-gem);
  box-shadow:inset 0 2px 4px rgba(255,255,255,.85), 0 2px 5px var(--ct-shadow);flex:0 0 auto}
.cat-count{font-family:var(--display);font-style:italic;font-size:11.5px;letter-spacing:.1em;color:var(--ct-strong);white-space:nowrap}
.cat-count b{font-style:normal;font-weight:700;font-size:1.35em;margin-right:3px}

/* 成分タグ（統一サイズ） */
.cat-tags{display:flex;flex-wrap:wrap;gap:8px}
.ing-tag{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 13px 0 8px;border-radius:999px;
  background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,255,255,.7));
  border:1px solid var(--ct-border);font-size:12.5px;font-weight:600;color:#4A3550;line-height:1.25;
  box-shadow:0 3px 9px rgba(122,80,153,.08), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .3s ease, box-shadow .3s ease;}
.ing-tag:hover{transform:translateY(-2px);box-shadow:0 8px 18px var(--ct-shadow)}
.ing-tag .g{width:14px;height:14px;border-radius:50%;flex:0 0 auto;background:var(--ct-gem);
  box-shadow:inset 0 1.5px 3px rgba(255,255,255,.9), 0 1px 3px var(--ct-shadow);position:relative}
.ing-tag .g::after{content:"";position:absolute;top:14%;left:18%;width:42%;height:32%;border-radius:50%;background:radial-gradient(circle,#fff,transparent 70%);opacity:.85}
.ing-tag sup{font-size:.68em;opacity:.65;font-weight:600}
/* 親成分（内訳を持つ） */
.ing-parent{flex:1 1 100%;display:block;border-radius:16px;border:1px solid var(--ct-border);
  background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(255,255,255,.72));padding:11px 13px;box-shadow:0 4px 12px rgba(122,80,153,.08)}
.ing-parent .ttl{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:#3F2740;margin-bottom:9px}
.ing-parent .ttl .g{width:16px;height:16px;border-radius:50%;background:var(--ct-gem);box-shadow:inset 0 1.5px 3px rgba(255,255,255,.9),0 1px 3px var(--ct-shadow);position:relative;flex:0 0 auto}
.ing-parent .ttl .g::after{content:"";position:absolute;top:14%;left:18%;width:42%;height:32%;border-radius:50%;background:radial-gradient(circle,#fff,transparent 70%);opacity:.85}
.ing-parent .ttl sup{font-size:.66em;opacity:.65}
.ing-parent .subs{display:flex;flex-wrap:wrap;gap:6px}
.ing-parent .subs .s{font-size:11.5px;color:#6A5566;background:rgba(255,255,255,.7);border:1px solid var(--ct-border);
  border-radius:999px;padding:3px 10px;line-height:1.3}
.ing-parent .subs .s sup{font-size:.7em;opacity:.6}

/* カテゴリ別カラー */
.ct-moist{--ct-gem:radial-gradient(circle at 36% 30%,#EEEAFB,#BBB6E8 60%,#8A86C8);--ct-line:linear-gradient(90deg,#C9C2EC,#8A86C8);--ct-border:rgba(138,134,200,.28);--ct-shadow:rgba(130,126,200,.22);--ct-strong:#7A75BE}
.ct-uv{--ct-gem:radial-gradient(circle at 36% 30%,#FCE0EC,#F08AB4 60%,#C24A82);--ct-line:linear-gradient(90deg,#F4A8C6,#C24A82);--ct-border:rgba(194,74,130,.26);--ct-shadow:rgba(194,74,130,.22);--ct-strong:#C24A82}
.ct-tsuya{--ct-gem:radial-gradient(circle at 36% 30%,#FBF0D8,#ECCF9B 60%,#C99E5E);--ct-line:linear-gradient(90deg,#EAD3A2,#C99E5E);--ct-border:rgba(201,158,94,.3);--ct-shadow:rgba(180,140,80,.22);--ct-strong:#B98E4E}
.ct-hari{--ct-gem:radial-gradient(circle at 36% 30%,#EAF6FB,#AFD8EC 60%,#76AAD0);--ct-line:linear-gradient(90deg,#B6DAEE,#76AAD0);--ct-border:rgba(118,170,208,.3);--ct-shadow:rgba(110,150,190,.22);--ct-strong:#5E8FB5}
.ct-dry{--ct-gem:radial-gradient(circle at 36% 30%,#F0E2FB,#B486D6 60%,#7A4FA8);--ct-line:linear-gradient(90deg,#C9A6E0,#7A4FA8);--ct-border:rgba(122,79,168,.28);--ct-shadow:rgba(122,79,168,.22);--ct-strong:#7A4FA8}
.ct-anti{--ct-gem:radial-gradient(circle at 36% 30%,#ECF6E2,#BBD99A 60%,#86AE60);--ct-line:linear-gradient(90deg,#C6E0A8,#86AE60);--ct-border:rgba(134,174,96,.32);--ct-shadow:rgba(130,170,90,.22);--ct-strong:#6F9A48}
.ct-none{--ct-gem:radial-gradient(circle at 36% 30%,#F2F2F4,#CFCFD6 60%,#A0A0AC);--ct-line:linear-gradient(90deg,#D2D2DA,#A0A0AC);--ct-border:rgba(150,150,165,.3);--ct-shadow:rgba(140,140,155,.2);--ct-strong:#8A8A98}
.cat-card.nouse .cat-tags .ing-tag{color:#5A5A66}

.gx-foot{position:relative;z-index:6;margin-top:40px}
.gx-nouse{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;
  background:rgba(255,255,255,.72);border:1px solid rgba(122,80,153,.18);border-radius:16px;padding:14px 24px;backdrop-filter:blur(3px)}
.gx-nouse .ttl{font-weight:700;color:var(--purple-deep);font-size:14px}
.gx-nouse .items{display:flex;gap:16px;flex-wrap:wrap}
.gx-nouse .items span{font-size:13.5px;color:var(--ink-soft);position:relative;padding-left:18px}
.gx-nouse .items span::before{content:"○";color:var(--purple);position:absolute;left:0;font-weight:700}
.gx-note{margin-top:18px;font-size:11px;color:var(--ink-mute);line-height:1.7;text-align:left;max-width:1100px;margin-left:auto;margin-right:auto}

/* ============================================
   SECTION 6: DOUBLE KEY INGREDIENTS — 効果体感型ラグジュアリー
   ============================================ */


/* ============================================
   SECTION 2.4: 進化が止まらない（EVOLUTION）
   ============================================ */
.evo{position:relative;overflow:hidden;padding:clamp(70px,9vw,120px) 0 clamp(60px,7vw,100px);
  --evo-rb:linear-gradient(100deg,#F25FA6 0%,#F6A93C 20%,#F4742F 34%,#5FC06A 54%,#4AA3E4 74%,#9B63D6 100%);
  background:
    radial-gradient(120% 85% at 50% 6%, #FFFDFA, rgba(255,253,250,0) 58%),
    radial-gradient(70% 60% at 14% 18%, rgba(247,200,224,.30), transparent 60%),
    radial-gradient(70% 60% at 86% 16%, rgba(186,214,247,.28), transparent 60%),
    radial-gradient(80% 60% at 50% 98%, rgba(214,196,240,.26), transparent 62%),
    radial-gradient(60% 50% at 30% 70%, rgba(255,240,210,.22), transparent 60%),
    linear-gradient(180deg,#FBF6F2,#F3EEF6 60%,#EFF1FA)}
.evo::before,.evo::after{content:"";position:absolute;left:0;right:0;height:1px;z-index:9;background:linear-gradient(90deg,transparent,rgba(193,60,140,.3),transparent)}
.evo::before{top:0}.evo::after{bottom:0}
.evo .container{position:relative;z-index:6;width:min(1280px,94vw)}

/* 背景：流れるレインボーオーロラ */
.evo-aurora{position:absolute;inset:-10% -5%;z-index:1;pointer-events:none;filter:blur(60px);opacity:.6}
.evo-aurora span{position:absolute;border-radius:50%;mix-blend-mode:multiply;opacity:.5}
.evo-aurora .a1{width:46vw;height:46vw;left:-8vw;top:2vw;background:radial-gradient(circle,#F7A6CE,transparent 66%);animation:evoDrift 26s ease-in-out infinite}
.evo-aurora .a2{width:42vw;height:42vw;right:-6vw;top:6vw;background:radial-gradient(circle,#9ED0F4,transparent 66%);animation:evoDrift 32s ease-in-out infinite reverse}
.evo-aurora .a3{width:40vw;height:40vw;left:18vw;bottom:-8vw;background:radial-gradient(circle,#CDB2EC,transparent 66%);animation:evoDrift2 30s ease-in-out infinite}
.evo-aurora .a4{width:34vw;height:34vw;right:14vw;bottom:-6vw;background:radial-gradient(circle,#F7D49A,transparent 66%);animation:evoDrift2 24s ease-in-out infinite reverse}
@keyframes evoDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4vw,3vw) scale(1.12)}}
@keyframes evoDrift2{0%,100%{transform:translate(0,0) scale(1.05)}50%{transform:translate(-3vw,-3vw) scale(.92)}}

/* ヘッダー */
.evo-head{text-align:center;position:relative;z-index:6;margin-bottom:clamp(14px,2vw,26px)}
.evo-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:700;
  font-size:clamp(15px,2.1vw,22px);color:var(--magenta-deep);letter-spacing:.1em}
.evo-eyebrow::before,.evo-eyebrow::after{content:"";width:clamp(20px,4vw,46px);height:2px;border-radius:2px;background:var(--evo-rb)}
.evo-eyebrow .slash{color:var(--magenta);font-weight:800}
.evo-title{position:relative;margin-top:12px;font-family:var(--serif);font-weight:800;line-height:1.12;
  font-size:clamp(30px,6.4vw,68px);letter-spacing:.01em;
  background:var(--evo-rb);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 6px 20px rgba(193,60,140,.2))}
.evo-title::before{content:"";position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);
  width:120%;height:180%;z-index:-1;border-radius:50%;filter:blur(26px);
  background:radial-gradient(ellipse,rgba(242,95,166,.24),rgba(246,169,60,.16) 40%,rgba(74,163,228,.14) 70%,transparent 80%)}
.evo-title .sp{font-size:.84em}

/* 中央ステージ */
.evo-stage{position:relative;z-index:5;width:100%;max-width:1040px;margin:0 auto;
  height:clamp(560px,62vw,780px)}
.evo-rays{position:absolute;left:50%;top:50%;width:180%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:1;pointer-events:none;
  background:conic-gradient(from 0deg,
    rgba(242,95,166,0),rgba(242,95,166,.32) 4%,transparent 9%,
    rgba(246,169,60,.28) 16%,transparent 23%,
    rgba(244,116,47,.26) 30%,transparent 37%,
    rgba(95,192,106,.28) 44%,transparent 51%,
    rgba(74,163,228,.30) 60%,transparent 67%,
    rgba(155,99,214,.32) 76%,transparent 83%,
    rgba(242,95,166,.28) 92%,rgba(242,95,166,0));
  -webkit-mask:radial-gradient(circle,transparent 13%,#000 32%,#000 64%,transparent 86%);
  mask:radial-gradient(circle,transparent 13%,#000 32%,#000 64%,transparent 86%);
  filter:blur(4px);opacity:.95;animation:evoSpin 72s linear infinite}
.evo-rays.r2{width:148%;opacity:.5;filter:blur(9px);animation:evoSpin 104s linear infinite reverse}
@keyframes evoSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.evo-ringlight{position:absolute;left:50%;top:50%;width:58%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:1;pointer-events:none;
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(255,255,255,.4) 42%,transparent 66%);
  animation:evoPulse 4.5s ease-in-out infinite}
@keyframes evoPulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}}

/* 放射エネルギーストリーム */
.evo-streams{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:118%;height:118%;pointer-events:none}
/* 中央エネルギーコア（レインボーオーブ／プリズム） */
.evo-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;
  width:clamp(150px,19vw,290px);aspect-ratio:1;border-radius:50%;mix-blend-mode:screen;
  background:
    radial-gradient(circle at 38% 32%, rgba(255,255,255,.95), rgba(255,255,255,.15) 38%, transparent 62%),
    conic-gradient(from 0deg,#F25FA6,#F6A93C,#F4742F,#5FC06A,#4AA3E4,#9B63D6,#F25FA6);
  filter:blur(3px) saturate(1.15);opacity:.85;
  box-shadow:0 0 70px rgba(255,255,255,.6),0 0 130px rgba(155,99,214,.4);
  animation:evoCoreSpin 22s linear infinite, evoCorePulse 5.5s ease-in-out infinite}
@keyframes evoCoreSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes evoCorePulse{0%,100%{opacity:.7}50%{opacity:.96}}
.evo-core::after{content:"";position:absolute;left:24%;top:16%;width:34%;height:24%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.95),transparent 70%);filter:blur(2px)}
/* 光のリング（波紋） */
.evo-rings{position:absolute;left:50%;top:50%;z-index:1;width:1px;height:1px;pointer-events:none}
.evo-rings span{position:absolute;left:50%;top:50%;width:clamp(230px,32vw,440px);height:clamp(230px,32vw,440px);
  margin-left:calc(clamp(230px,32vw,440px) / -2);margin-top:calc(clamp(230px,32vw,440px) / -2);
  border-radius:50%;border:2px solid rgba(232,198,107,.45);opacity:0;animation:evoRing 6s ease-out infinite}
.evo-rings span:nth-child(2){animation-delay:2s;border-color:rgba(242,95,166,.4)}
.evo-rings span:nth-child(3){animation-delay:4s;border-color:rgba(74,163,228,.4)}
@keyframes evoRing{0%{transform:scale(.3);opacity:.85}100%{transform:scale(1.5);opacity:0}}
/* ボケ光球 */
.evo-bokeh{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.evo-bokeh span{position:absolute;border-radius:50%;filter:blur(14px);opacity:.5;animation:evoBokeh 12s ease-in-out infinite}
.evo-bokeh .b1{width:90px;height:90px;left:12%;top:22%;background:radial-gradient(circle,rgba(247,166,206,.8),transparent 70%)}
.evo-bokeh .b2{width:70px;height:70px;right:15%;top:28%;background:radial-gradient(circle,rgba(158,208,244,.8),transparent 70%);animation-delay:2s}
.evo-bokeh .b3{width:110px;height:110px;left:18%;bottom:14%;background:radial-gradient(circle,rgba(247,212,154,.7),transparent 70%);animation-delay:4s}
.evo-bokeh .b4{width:62px;height:62px;right:20%;bottom:18%;background:radial-gradient(circle,rgba(205,178,236,.85),transparent 70%);animation-delay:6s}
@keyframes evoBokeh{0%,100%{transform:translate(0,0) scale(1);opacity:.4}50%{transform:translate(10px,-12px) scale(1.2);opacity:.72}}
/* レンズフレア */
.evo-flare{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);z-index:3;pointer-events:none;
  width:92%;height:14px;border-radius:50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);
  filter:blur(3px);opacity:.6;animation:evoFlare 7s ease-in-out infinite}
@keyframes evoFlare{0%,100%{opacity:.32;transform:translate(-50%,-50%) rotate(-8deg) scaleX(.9)}50%{opacity:.78;transform:translate(-50%,-50%) rotate(-8deg) scaleX(1.06)}}

/* サブコピー */
.evo-sub{position:absolute;left:50%;top:4.5%;transform:translateX(-50%);z-index:5;white-space:nowrap;text-align:center;
  font-family:var(--serif);font-weight:700;color:var(--purple-deep);font-size:clamp(17px,2.8vw,30px);letter-spacing:.04em}
.evo-sub b{background:var(--evo-rb);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.evo-sub sup{font-size:.5em;color:var(--ink-mute);vertical-align:super}
.evo-sub::after{content:"";display:block;margin:9px auto 0;width:clamp(120px,16vw,190px);height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#E8C66B 26%,#C13C8C 50%,#4AA3E4 74%,transparent)}

/* 超巨大 97種 */
.evo-97{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;
  display:flex;align-items:baseline;justify-content:center;line-height:.82;white-space:nowrap}
.evo-97 .n{font-family:"Noto Sans JP",sans-serif;font-weight:800;letter-spacing:-.03em;position:relative;
  font-size:clamp(210px,46vw,540px);
  background:
    linear-gradient(100deg,transparent 40%,rgba(255,255,255,.92) 48%,transparent 56%),
    linear-gradient(168deg,#FFFFFF 0%,#FBE0EE 12%,#F25FA6 30%,#F6A93C 46%,#5FC06A 62%,#4AA3E4 78%,#9B63D6 100%);
  background-size:250% 100%, 130% 130%;background-position:-60% 0, 0% 50%;background-repeat:no-repeat;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 34px rgba(255,255,255,.95)) drop-shadow(0 16px 50px rgba(193,60,140,.42)) drop-shadow(0 2px 0 rgba(255,255,255,.55));
  animation:evoNShine 5.2s ease-in-out infinite}
.evo-97 .u{font-family:var(--serif);font-weight:800;font-size:clamp(60px,12vw,142px);margin-left:.02em;
  background:
    linear-gradient(100deg,transparent 38%,rgba(255,255,255,.9) 48%,transparent 58%),
    var(--evo-rb);
  background-size:250% 100%, 130% 100%;background-position:-60% 0, 0 0;background-repeat:no-repeat;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 8px 22px rgba(122,40,100,.34));animation:evoNShine 5.2s ease-in-out infinite}
@keyframes evoNShine{0%{background-position:-60% 0, 0% 50%}50%{background-position:90% 0, 100% 50%}100%{background-position:185% 0, 0% 50%}}

/* パーティクル */
.evo-particles{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.evo-particles i{position:absolute;border-radius:50%;opacity:0;
  box-shadow:0 0 8px rgba(255,255,255,.9)}

/* 4つの特徴：高級ガラスカード */
.evo-cards{position:relative;z-index:6;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,22px);
  margin-top:clamp(56px,7vw,104px);max-width:1180px;margin-left:auto;margin-right:auto}
.evo-card{position:relative;overflow:hidden;border-radius:22px;padding:clamp(20px,2vw,28px) clamp(14px,1.4vw,22px);
  text-align:center;background:
    linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.62)) padding-box,
    var(--evo-rb) border-box;
  border:2px solid transparent;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 18px 44px rgba(78,44,110,.14),inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .4s ease}
.evo-card::before{content:"";position:absolute;top:0;left:-60%;width:50%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-18deg);
  transition:left .6s ease}
.evo-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(154,46,110,.24),inset 0 1px 0 rgba(255,255,255,.9)}
.evo-card:hover::before{left:130%}
.evo-card .ic{width:clamp(58px,6vw,72px);height:clamp(58px,6vw,72px);margin:0 auto 14px;position:relative}
.evo-card .ic svg{width:100%;height:100%;display:block;filter:drop-shadow(0 8px 16px rgba(154,46,110,.2))}
.evo-card .ttl{font-family:var(--serif);font-weight:700;color:var(--purple-deep);
  font-size:clamp(17px,2.1vw,21px);line-height:1.4;letter-spacing:.02em;word-break:auto-phrase;line-break:strict}
.evo-card .ttl sup{font-size:.5em;color:var(--ink-mute);vertical-align:super}
.evo-card .ttl .big{display:block;font-family:"Noto Sans JP";font-weight:800;font-size:1.25em;color:var(--magenta-deep)}
.evo-card .desc{margin-top:8px;font-size:clamp(12px,1.4vw,13.5px);color:var(--ink-soft);line-height:1.7}
.evo-card .test{margin-top:8px;display:inline-block;font-size:11px;font-weight:700;color:var(--magenta-deep);
  background:rgba(193,60,140,.1);border-radius:999px;padding:4px 12px}
.evo-card .n6{position:absolute;right:-6px;bottom:-6px;font-family:var(--display);font-style:italic;font-size:34px;font-weight:600;
  background:var(--evo-rb);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.85}

.evo-note{position:relative;z-index:6;margin-top:clamp(22px,3vw,34px);font-size:11.5px;color:var(--ink-mute);
  line-height:1.85;text-align:center;max-width:1000px;margin-left:auto;margin-right:auto}

@media (prefers-reduced-motion:reduce){
  .evo-rays,.evo-ringlight,.evo-core,.evo-streams *,.evo-rings span,.evo-bokeh span,.evo-flare,.evo-aurora span,.evo-97 .n,.evo-97 .u,.evo-title::before{animation:none!important}
}
@media (max-width:900px){
  .evo-cards{grid-template-columns:repeat(2,1fr);gap:14px}
  .evo-stage{height:clamp(440px,84vw,620px)}
}
@media (max-width:520px){
  .evo-sub{font-size:18px}
  .evo-cards{grid-template-columns:1fr 1fr}
  .evo-card .ttl{font-size:16px}
}


/* ============================================
   SECTION 2.45: 1品6役（放射状ショーケース）
   ============================================ */
.sixr{position:relative;overflow:hidden;padding:clamp(64px,8vw,108px) 0 clamp(60px,7vw,96px);
  --rb:linear-gradient(100deg,#F25FA6 0%,#F6A93C 20%,#F4742F 34%,#5FC06A 54%,#4AA3E4 74%,#9B63D6 100%);
  background:
    radial-gradient(120% 80% at 50% 4%, #FFFDF8, rgba(255,253,248,0) 58%),
    radial-gradient(90% 70% at 8% 16%, rgba(247,212,154,.20), transparent 60%),
    radial-gradient(90% 70% at 92% 20%, rgba(247,166,206,.20), transparent 60%),
    radial-gradient(100% 80% at 50% 102%, rgba(155,99,214,.12), transparent 60%),
    linear-gradient(180deg,#FBF5F1,#F6EDF3)}
.sixr::before,.sixr::after{content:"";position:absolute;left:0;right:0;height:1px;z-index:9;background:linear-gradient(90deg,transparent,rgba(193,60,140,.3),transparent)}
.sixr::before{top:0}.sixr::after{bottom:0}
.sixr .container{position:relative;z-index:6;width:min(1240px,94vw)}
.sixr-aurora{position:absolute;inset:-10%;z-index:1;pointer-events:none;filter:blur(64px);opacity:.55}
.sixr-aurora span{position:absolute;border-radius:50%;mix-blend-mode:multiply;opacity:.5}
.sixr-aurora .a1{width:44vw;height:44vw;left:-6vw;top:0;background:radial-gradient(circle,#F7C49A,transparent 66%);animation:sixrDrift 28s ease-in-out infinite}
.sixr-aurora .a2{width:42vw;height:42vw;right:-6vw;top:6vw;background:radial-gradient(circle,#F7A6CE,transparent 66%);animation:sixrDrift 34s ease-in-out infinite reverse}
.sixr-aurora .a3{width:40vw;height:40vw;left:24vw;bottom:-10vw;background:radial-gradient(circle,#B9C8F0,transparent 66%);animation:sixrDrift2 30s ease-in-out infinite}
@keyframes sixrDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3vw,3vw) scale(1.12)}}
@keyframes sixrDrift2{0%,100%{transform:translate(0,0) scale(1.05)}50%{transform:translate(-3vw,-2vw) scale(.92)}}

.sixr-head{text-align:center;position:relative;z-index:6;margin-bottom:clamp(8px,1.6vw,20px)}
.sixr-head .lab{display:inline-block;font-family:var(--display);font-style:italic;letter-spacing:.24em;
  font-size:clamp(12px,1.5vw,15px);color:var(--magenta);text-transform:uppercase}
.sixr-head .ttl{margin-top:6px;font-family:var(--serif);font-weight:800;letter-spacing:.04em;
  font-size:clamp(26px,4.2vw,46px);color:var(--purple-deep)}
.sixr-head .ttl .n{font-family:"Noto Sans JP";font-weight:800;color:var(--magenta-deep);font-size:1.14em;vertical-align:-.02em}

/* 放射ステージ */
.sixr-grid{position:relative;z-index:5;display:grid;grid-template-columns:1fr minmax(290px,400px) 1fr;
  align-items:center;gap:clamp(10px,1.6vw,28px);margin-top:clamp(20px,3vw,34px)}
.sixr-trails{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
.sixr-col{display:flex;flex-direction:column;justify-content:space-between;gap:clamp(22px,3.4vw,46px);z-index:3}

/* 中央 */
.sixr-center{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;text-align:center}
.sixr-copy{position:relative;font-family:var(--serif);font-weight:800;line-height:1.34;white-space:nowrap;
  font-size:clamp(21px,3vw,36px);color:var(--magenta-deep);z-index:3;
  text-shadow:0 2px 16px rgba(255,255,255,.95)}
.sixr-copy::before{content:"";position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);
  width:130%;height:160%;z-index:-1;border-radius:50%;filter:blur(22px);
  background:radial-gradient(ellipse,rgba(242,95,166,.28),rgba(246,169,60,.18) 42%,rgba(74,163,228,.14) 70%,transparent 80%)}
.sixr-product{position:relative;margin-top:clamp(8px,1.4vw,18px);width:clamp(190px,24vw,330px)}
.sixr-product .glow{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:128%;height:128%;z-index:1;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.9),rgba(247,212,154,.4) 40%,transparent 70%);animation:sixrPulse 4.6s ease-in-out infinite}
@keyframes sixrPulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.75}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}}
.sixr-product img{position:relative;z-index:2;width:100%;height:auto;display:block;
  filter:drop-shadow(0 26px 44px rgba(78,44,110,.3));
  animation:sixrFloat 5.6s ease-in-out infinite}
@keyframes sixrFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.sixr-product .pt{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:visible}

/* アイテム（テクスチャ＋ラベル） */
.sixr-item{display:flex;align-items:center;gap:clamp(8px,1.2vw,16px)}
.sixr-col.right .sixr-item{flex-direction:row-reverse;text-align:right}
.sixr-tex{flex:0 0 auto;width:clamp(58px,7vw,84px);height:clamp(58px,7vw,84px);position:relative}
.sixr-tex svg{width:100%;height:100%;display:block;filter:drop-shadow(0 8px 16px rgba(78,44,110,.16));animation:sixrBob 4s ease-in-out infinite}
.sixr-txt{min-width:0}
.sixr-bubble{position:relative;display:inline-block;color:#fff;font-family:var(--serif);font-weight:800;
  font-size:clamp(20px,2.6vw,31px);letter-spacing:.04em;line-height:1;padding:clamp(9px,1.1vw,14px) clamp(16px,1.8vw,26px);
  border-radius:14px;
  background:linear-gradient(162deg,#F35268 0%,#D8273F 52%,#B41B33 100%);
  box-shadow:0 12px 26px rgba(180,27,51,.4),inset 0 2px 6px rgba(255,255,255,.5),inset 0 -8px 14px rgba(120,8,28,.42);
  text-shadow:0 2px 5px rgba(120,8,28,.5)}
.sixr-bubble::before{content:"";position:absolute;left:9%;right:9%;top:4px;height:42%;border-radius:10px;
  background:linear-gradient(180deg,rgba(255,255,255,.6),transparent);opacity:.8;pointer-events:none}
.sixr-bubble::after{content:"";position:absolute;top:50%;width:0;height:0;transform:translateY(-50%);
  border-top:8px solid transparent;border-bottom:8px solid transparent}
.sixr-col.left .sixr-bubble::after{right:-9px;border-left:11px solid #C71F39}
.sixr-col.right .sixr-bubble::after{left:-9px;border-right:11px solid #C71F39}
.sixr-desc{margin-top:8px;line-height:1.5;color:#3A2A33}
.sixr-desc .nm{font-size:clamp(13px,1.6vw,16px);font-weight:500;color:#6A5560}
.sixr-desc b{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(16px,2vw,21px);color:#2E2933}
@keyframes sixrBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.sixr-particles{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.sixr-particles i{position:absolute;border-radius:50%;opacity:0;box-shadow:0 0 8px rgba(255,255,255,.9)}

@media (prefers-reduced-motion:reduce){.sixr *{animation:none!important}}

@media (max-width:900px){
  .sixr-trails{display:none}
  .sixr-grid{grid-template-columns:1fr 1fr;gap:18px 14px;align-items:start}
  .sixr-center{grid-column:1/-1;order:-1;margin-bottom:8px}
  .sixr-col{justify-content:flex-start}
  .sixr-product{width:clamp(170px,42vw,240px)}
}
@media (max-width:768px){
  /* ALL IN ONE：商品を中心に6役が放射状に広がるインフォグラフィック */
  .sixr-trails{display:block}
  .sixr-grid{grid-template-columns:1fr minmax(118px,35vw) 1fr;gap:clamp(2px,1vw,10px);align-items:center;margin-top:14px}
  .sixr-center{grid-column:auto;order:0;margin-bottom:0}
  .sixr-copy{font-size:clamp(12px,3.2vw,20px);white-space:nowrap;line-height:1.5}
  .sixr-product{width:clamp(120px,34vw,210px);margin-top:10px}
  .sixr-col{justify-content:space-between;max-width:none;width:auto;margin:0;gap:clamp(16px,3.6vw,30px)}
  .sixr-item{gap:clamp(6px,1.6vw,10px);align-items:center}
  .sixr-tex{width:clamp(40px,11vw,54px);height:clamp(40px,11vw,54px)}
  .sixr-bubble{font-size:clamp(13.5px,3.6vw,19px);padding:clamp(5px,1vw,11px) clamp(10px,2.2vw,18px);border-radius:11px;white-space:nowrap}
  .sixr-desc{margin-top:5px}
  .sixr-desc .nm{font-size:clamp(10px,2.5vw,13px);white-space:nowrap;display:block}
  .sixr-desc b{font-size:clamp(12px,3vw,16px);line-height:1.35}
  /* 左列：アイコンを中央側へ、コピーは外側（右揃え） */
  .sixr-col.left .sixr-item{flex-direction:row-reverse;text-align:right}
  .sixr-col.left .sixr-bubble::after{right:-9px;left:auto;border-left:11px solid #C71F39;border-right:none}
  /* 右列：アイコンを中央側へ、コピーは外側（左揃え） */
  .sixr-col.right .sixr-item{flex-direction:row;text-align:left}
  .sixr-col.right .sixr-bubble::after{left:-9px;right:auto;border-right:11px solid #C71F39;border-left:none}
}
@media (max-width:360px){
  .sixr-grid{grid-template-columns:1fr 30vw 1fr;gap:2px}
  .sixr-product{width:30vw}
  .sixr-tex{width:38px;height:38px}
  .sixr-bubble{font-size:12.5px;padding:5px 9px}
  .sixr-desc b{font-size:11.5px}
}


/* ============================================
   SECTION 2.46: 効果・効能（EFFICACY）
   ============================================ */
.eff{position:relative;overflow:hidden;padding:clamp(78px,9vw,126px) 0 clamp(66px,7vw,104px);
  --rb:linear-gradient(100deg,#F25FA6 0%,#F6A93C 18%,#5FC06A 44%,#4AA3E4 66%,#9B63D6 100%);
  --pbord:linear-gradient(135deg,#F7CCE5,#D7B4ED 46%,#A87FC9);
  background:
    radial-gradient(56% 40% at 50% 42%, rgba(255,250,252,.92), transparent 68%),
    radial-gradient(70% 50% at 14% 12%, rgba(214,178,224,.42), transparent 62%),
    radial-gradient(64% 46% at 88% 16%, rgba(244,176,210,.40), transparent 62%),
    radial-gradient(80% 60% at 50% 106%, rgba(206,176,224,.40), transparent 60%),
    linear-gradient(180deg,#FBF5FB 0%,#F2E7F4 48%,#FBF3F8 100%)}
.eff::before,.eff::after{content:"";position:absolute;left:0;right:0;height:1px;z-index:9;background:linear-gradient(90deg,transparent,rgba(193,60,140,.3),transparent)}
.eff::before{top:0}.eff::after{bottom:0}
.eff .container{position:relative;z-index:6;width:min(1320px,94vw)}

.eff-aurora{position:absolute;inset:-10%;z-index:1;pointer-events:none;filter:blur(66px);opacity:.6}
.eff-aurora span{position:absolute;border-radius:50%;mix-blend-mode:multiply;opacity:.5}
.eff-aurora .a1{width:46vw;height:46vw;left:-8vw;top:-2vw;background:radial-gradient(circle,#F7A6CE,transparent 66%);animation:effDrift 28s ease-in-out infinite}
.eff-aurora .a2{width:44vw;height:44vw;right:-8vw;top:6vw;background:radial-gradient(circle,#C9B2EC,transparent 66%);animation:effDrift 34s ease-in-out infinite reverse}
.eff-aurora .a3{width:40vw;height:40vw;left:28vw;bottom:-12vw;background:radial-gradient(circle,#E2C4F2,transparent 66%);animation:effDrift2 30s ease-in-out infinite}
@keyframes effDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3vw,3vw) scale(1.12)}}
@keyframes effDrift2{0%,100%{transform:translate(0,0) scale(1.05)}50%{transform:translate(-3vw,-2vw) scale(.92)}}

.eff-flow{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;opacity:.55;filter:blur(7px)}
.eff-flow svg{position:absolute;width:140%;height:128%;left:-20%;top:-14%}
.eff-flow path{fill:none;stroke-width:26;stroke-linecap:round;stroke-dasharray:150 90}
.eff-flow .rb1{animation:effFlow 24s linear infinite}
.eff-flow .rb2{animation:effFlow 32s linear infinite reverse}
@keyframes effFlow{to{stroke-dashoffset:-1080}}

.eff-particles{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.eff-particles i{position:absolute;border-radius:50%;opacity:0;box-shadow:0 0 9px rgba(255,255,255,.92)}

.eff-head{text-align:center;position:relative;z-index:6;margin-bottom:clamp(28px,3.6vw,46px)}
.eff-head .pre{display:block;font-family:var(--serif);font-weight:700;color:var(--magenta-deep);font-size:clamp(12.5px,1.5vw,16px);letter-spacing:.28em}
.eff-head .ttl{margin-top:9px;font-family:var(--serif);font-weight:800;letter-spacing:.08em;font-size:clamp(31px,5.4vw,58px);color:var(--purple-deep);position:relative;display:inline-block}
.eff-head .ttl::after{content:"";display:block;margin:12px auto 0;width:62%;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--magenta) 26%,#C9A6E4 60%,transparent)}
.eff-count{margin-top:clamp(12px,1.6vw,20px);display:flex;align-items:center;justify-content:center;gap:.34em;line-height:.96}
.eff-count .t{font-family:var(--serif);font-weight:700;color:var(--purple-deep);font-size:clamp(15px,2vw,24px);letter-spacing:.05em}
.eff-count .n{font-family:var(--serif);font-weight:800;font-size:clamp(50px,8.6vw,100px);
  background:linear-gradient(168deg,#9B63D6,#C13C8C 36%,#F25FA6 58%,#F6A93C 80%,#5FC06A 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 6px 18px rgba(154,46,110,.3));letter-spacing:.01em}

.eff-grid-wrap{position:relative;z-index:5}
.eff-mesh{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:.62;display:none;filter:drop-shadow(0 0 3px rgba(201,166,228,.7))}
.eff-mesh path{stroke-dasharray:5 9;animation:effMesh 5.5s linear infinite}
@keyframes effMesh{to{stroke-dashoffset:-140}}

.eff-cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(11px,1.3vw,17px)}

.eff-card{position:relative;overflow:hidden;border-radius:17px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,.9vw,12px);
  min-height:clamp(96px,8.8vw,134px);padding:clamp(15px,1.6vw,24px) clamp(11px,1.1vw,18px);text-align:center;
  border:1.5px solid transparent;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);
  background:linear-gradient(158deg,rgba(255,255,255,.66),rgba(236,221,246,.42) 52%,rgba(246,210,230,.36)) padding-box,
    var(--pbord) border-box;
  box-shadow:0 16px 34px rgba(78,44,110,.16),inset 0 1px 0 rgba(255,255,255,.92),inset 0 -16px 28px rgba(168,120,200,.16);
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.eff-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;
  background:linear-gradient(125deg,rgba(242,95,166,.12),rgba(246,169,60,.05) 24%,rgba(95,192,106,.06) 48%,rgba(74,163,228,.08) 70%,rgba(155,99,214,.12));
  mix-blend-mode:screen;opacity:.72}
.eff-card::before{content:"";position:absolute;top:0;left:-65%;width:48%;height:100%;z-index:2;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.62),transparent);transform:skewX(-18deg);
  animation:effGloss 6.5s ease-in-out infinite}
@keyframes effGloss{0%,68%{left:-65%}84%,100%{left:140%}}
.eff-card:hover{transform:translateY(-5px);box-shadow:0 24px 46px rgba(154,46,110,.24),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -16px 28px rgba(168,120,200,.2)}

.ec-gem{position:relative;z-index:3;width:clamp(22px,2.2vw,30px);height:clamp(22px,2.2vw,30px);border-radius:50%;flex:none;
  background:radial-gradient(circle at 34% 28%,#fff,#F8D2E8 36%,#CBA8E6 64%,#9A6FC0);
  box-shadow:0 5px 14px rgba(154,46,110,.28),inset 0 2px 4px rgba(255,255,255,.92),0 0 16px rgba(214,170,235,.6);
  animation:ecGem 3.8s ease-in-out infinite}
.ec-gem::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 68% 70%,rgba(247,212,154,.85),transparent 42%);opacity:.7}
@keyframes ecGem{0%,100%{box-shadow:0 5px 14px rgba(154,46,110,.26),inset 0 2px 4px rgba(255,255,255,.92),0 0 12px rgba(214,170,235,.5);transform:translateY(0)}50%{box-shadow:0 6px 16px rgba(154,46,110,.34),inset 0 2px 4px rgba(255,255,255,.95),0 0 22px rgba(214,170,235,.85);transform:translateY(-2px)}}
.ec-txt{position:relative;z-index:3;font-family:var(--serif);font-weight:700;color:var(--purple-deep);font-size:clamp(13.5px,1.5vw,17.5px);line-height:1.4;letter-spacing:.02em;word-break:auto-phrase;line-break:strict}

.eff-note{position:relative;z-index:6;margin-top:clamp(24px,3vw,38px);font-size:11.5px;color:var(--ink-mute);text-align:center}

@media (prefers-reduced-motion:reduce){.eff *{animation:none!important}}

@media (min-width:680px){.eff-cards{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1040px){.eff-cards{grid-template-columns:repeat(5,1fr);gap:clamp(14px,1.2vw,20px)}.eff-mesh{display:block}}
@media (max-width:679px){.eff-card:last-child{grid-column:1 / -1;max-width:calc(50% - 6px);margin-inline:auto}}
@media (max-width:430px){.ec-txt{font-size:13px}.eff-card{min-height:84px;padding:13px 9px}}


/* ============================================
   SECTION 5.5: 4種のビタミンC誘導体
   ============================================ */
.vitc{position:relative;overflow:hidden;background:
  radial-gradient(120% 80% at 50% 0%, var(--bg-lav), transparent 60%),
  linear-gradient(180deg,#FBF6FA,#F6EEF5)}
.vitc .container{position:relative;z-index:2;width:min(1280px,94vw)}
.vitc-deco{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.vitc-deco span{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.8),transparent 70%);opacity:.5}
.vitc-deco span:nth-child(1){width:200px;height:200px;left:-60px;top:60px;background:radial-gradient(circle,rgba(199,175,219,.4),transparent 70%)}
.vitc-deco span:nth-child(2){width:260px;height:260px;right:-80px;bottom:80px;background:radial-gradient(circle,rgba(235,166,204,.4),transparent 70%)}
.vitc-head{text-align:center;margin-bottom:clamp(28px,4vw,46px)}
.vitc-head .eyebrow{display:inline-block;font-family:var(--serif);font-weight:600;color:var(--magenta-deep);font-size:clamp(15px,2vw,20px);letter-spacing:.16em;margin-bottom:12px;position:relative;padding:0 14px}
.vitc-head .eyebrow::before,.vitc-head .eyebrow::after{content:"";position:absolute;top:50%;width:22px;height:1px;background:linear-gradient(90deg,transparent,var(--magenta))}
.vitc-head .eyebrow::before{left:-18px}
.vitc-head .eyebrow::after{right:-18px;background:linear-gradient(90deg,var(--magenta),transparent)}
.vitc-head h2{font-size:clamp(30px,5.6vw,56px);font-weight:700;letter-spacing:.03em;line-height:1.22;color:var(--purple-deep)}
.vitc-head h2 .em{color:var(--magenta-deep)}
.vitc-head h2 .c{font-family:"Cormorant Garamond","Noto Serif JP",serif;font-weight:600;color:var(--magenta);font-size:1.5em;line-height:0;vertical-align:-.06em;margin:0 .02em}

.vitc-wrap{max-width:1180px;margin:0 auto}
.vitc-band{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.3vw,18px);margin-bottom:0}
.vitc-bcell{border-radius:16px 16px 0 0;padding:clamp(11px,1.4vw,16px) 8px;text-align:center;color:#fff;
  font-family:var(--serif);font-weight:700;font-size:clamp(17px,2.3vw,26px);letter-spacing:.1em;
  box-shadow:0 -2px 0 rgba(255,255,255,.4) inset,0 8px 20px rgba(78,44,110,.12);position:relative}
.vitc-bcell .en{display:block;font-family:var(--display);font-style:italic;font-weight:500;font-size:.5em;letter-spacing:.18em;opacity:.92;margin-bottom:1px}
.vitc-bcell.moist{background:linear-gradient(135deg,#86B4E4,#4E7FB8)}
.vitc-bcell.hari{background:linear-gradient(135deg,#ECC677,#C9991F)}
.vitc-bcell.tsuya{background:linear-gradient(135deg,#EF8FC0,#C13C8C)}
.vitc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.3vw,18px)}
.vitc-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;
  background:linear-gradient(180deg,#ffffff,#FCF7FB);border:1px solid rgba(201,120,170,.2);border-top:none;
  border-radius:0 0 20px 20px;padding:clamp(14px,1.5vw,22px) clamp(11px,1.2vw,18px) clamp(18px,2vw,26px);
  box-shadow:0 18px 44px rgba(78,44,110,.1)}
.vitc-card.v-hari{border-color:rgba(201,153,31,.26)}
.vitc-card.v-tsuya{border-color:rgba(193,60,140,.24)}
.vitc-cat{display:none;font-family:var(--serif);font-weight:700;color:#fff;border-radius:999px;padding:5px 18px;font-size:14px;letter-spacing:.08em;margin-bottom:12px}
.v-moist .vitc-cat{background:linear-gradient(135deg,#86B4E4,#4E7FB8)}
.v-hari .vitc-cat{background:linear-gradient(135deg,#ECC677,#C9991F)}
.v-tsuya .vitc-cat{background:linear-gradient(135deg,#EF8FC0,#C13C8C)}
.vitc-no{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:"Noto Sans JP";font-weight:800;font-size:19px;color:#fff;
  box-shadow:0 6px 16px rgba(78,44,110,.25),inset 0 2px 4px rgba(255,255,255,.5)}
.v-moist .vitc-no{background:radial-gradient(circle at 36% 30%,#A9CBEC,#4E7FB8)}
.v-hari .vitc-no{background:radial-gradient(circle at 36% 30%,#F1D89B,#C9991F)}
.v-tsuya .vitc-no{background:radial-gradient(circle at 36% 30%,#F4B3D6,#C13C8C)}
.vitc-name{font-family:var(--serif);font-weight:700;font-size:clamp(18px,2.3vw,25px);color:var(--ink);margin-top:10px;letter-spacing:.02em}
.vitc-name sup{font-size:.46em;color:var(--ink-mute);vertical-align:super;font-weight:600}
.vitc-illust{width:100%;margin-top:14px;border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,#F4FAFF 0%,#FBF3F8 52%,#FCEAF2 52%,#F8DCE8 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -10px 24px rgba(193,60,140,.06)}
.vitc-illust svg{width:100%;height:auto;display:block}
.vitc-note{margin-top:clamp(22px,3vw,34px);font-size:11.5px;color:var(--ink-mute);line-height:1.85;text-align:left;max-width:1180px;margin-left:auto;margin-right:auto}

/* アニメーション */
@keyframes vBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes vBob2{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes vSink{0%{transform:translateY(-6px);opacity:0}16%{opacity:1}68%{transform:translateY(46px);opacity:.9}100%{transform:translateY(58px);opacity:0}}
@keyframes vWord{0%,100%{opacity:.3;transform:translateY(3px) scale(.94)}50%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes vJiwa{0%,100%{transform:scaleY(.62);opacity:.5}50%{transform:scaleY(1.18);opacity:1}}
@keyframes vSpark{0%,100%{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}
@keyframes vGloss{0%{transform:translateX(-130%) skewX(-18deg)}55%,100%{transform:translateX(180%) skewX(-18deg)}}
@keyframes vRise{0%,100%{transform:translateY(3px)}50%{transform:translateY(-4px)}}
@keyframes vArrow{0%,100%{transform:translateY(-2px);opacity:.55}50%{transform:translateY(3px);opacity:1}}
.vitc svg .v-bob{animation:vBob 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.vitc svg .v-bob2{animation:vBob2 3.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.vitc svg .v-sink{animation:vSink 4.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.vitc svg .v-word{animation:vWord 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.vitc svg .v-jiwa{animation:vJiwa 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}
.vitc svg .v-spark{animation:vSpark 2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.vitc svg .v-rise{animation:vRise 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.vitc svg .v-arrow{animation:vArrow 2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.vitc svg .v-gloss-wrap{overflow:hidden}
.vitc svg .v-gloss{animation:vGloss 4.5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:reduce){.vitc svg *{animation:none!important}}

@media (max-width:900px){
  .vitc-band{display:none}
  .vitc-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .vitc-card{border-top:1px solid rgba(201,120,170,.2);border-radius:20px;padding-top:20px}
  .vitc-card.v-hari{border-top-color:rgba(201,153,31,.26)}
  .vitc-card.v-tsuya{border-top-color:rgba(193,60,140,.24)}
  .vitc-cat{display:inline-block}
}
@media (max-width:520px){
  .vitc-grid{grid-template-columns:1fr;max-width:340px;margin:0 auto}
}

.dual{position:relative;width:100%;overflow:hidden;padding:96px 0 100px;
  background:
    radial-gradient(60% 40% at 50% 0%, rgba(255,250,252,.85), transparent 70%),
    linear-gradient(180deg,#FBF5FB 0%,#F4EAF6 50%,#FBF4F8 100%);}
.dual::before,.dual::after{content:"";position:absolute;left:0;right:0;height:1px;z-index:6;
  background:linear-gradient(90deg,transparent,rgba(190,158,98,.5) 16%,rgba(220,150,190,.75) 50%,rgba(190,158,98,.5) 84%,transparent)}
.dual::before{top:0}.dual::after{bottom:0}
.dual .dual-head{position:relative;z-index:3;text-align:center;margin-bottom:54px;width:min(1280px,92vw);margin-left:auto;margin-right:auto}
.dual .dual-head .label{color:var(--magenta);letter-spacing:.32em}
.dual .dual-head h2{margin-top:14px;font-size:clamp(26px,4.4vw,40px);letter-spacing:.05em;line-height:1.45}
.dual .dual-head h2 .em{color:var(--purple-deep)}
.dual .dual-head .lead{margin:18px auto 0;max-width:620px;color:var(--ink-soft);font-size:15.5px;line-height:1.95}

.dual-grid{position:relative;z-index:3;width:100%;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:0}
@media (max-width:860px){.dual-grid{grid-template-columns:1fr;gap:0}}

/* 効果体感カード */
.dcard{position:relative;border-radius:0;overflow:hidden;min-height:780px;
  display:flex;flex-direction:column;align-items:center;
  padding:clamp(56px,6vw,90px) clamp(30px,4.5vw,76px) clamp(46px,5vw,72px);
  border:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .6s cubic-bezier(.22,.61,.36,1), box-shadow .6s ease;}
.dcard:hover{transform:translateY(-10px);box-shadow:0 48px 96px rgba(154,46,110,.26)}
@media (max-width:600px){.dcard{min-height:660px;padding:46px 24px 40px;border-radius:26px}}
/* 左：ハリ・ツヤ（アメジスト） */
.dcard.sc{background:
  radial-gradient(80% 50% at 50% 16%, rgba(214,178,236,.55), transparent 70%),
  linear-gradient(170deg,#F6EDFB 0%,#E7D2F2 52%,#D2B2EA 100%)}
/* 右：うるおい（ゴールド/シャンパン） */
.dcard.vit{background:
  radial-gradient(80% 50% at 50% 16%, rgba(244,210,180,.5), transparent 70%),
  linear-gradient(170deg,#FBF3E8 0%,#F6E2CE 52%,#EBC9A6 100%)}
.dcard .shine{position:absolute;top:0;left:-60%;width:46%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-18deg);
  animation:shineSweep 8s ease-in-out infinite;pointer-events:none;z-index:5}

/* カードヘッダ（テーマを主役に） */
.dcard .theme{position:relative;z-index:3;text-align:center;margin-bottom:8px}
.dcard .theme .en{font-family:var(--display);font-style:italic;letter-spacing:.22em;font-size:13px;color:rgba(80,50,80,.6)}
.dcard.vit .theme .en{color:rgba(110,80,40,.6)}
.dcard .theme .ttl{margin-top:6px;font-family:var(--serif);font-weight:700;font-size:clamp(22px,3vw,30px);color:#4A2B52}
.dcard.vit .theme .ttl{color:#6A4526}

/* 巨大オーブ・カプセルステージ */
.dstage{position:relative;width:min(380px,80%);aspect-ratio:1/1;margin:18px auto 8px;z-index:3}
.dual-illu{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 14px 26px rgba(120,70,150,.18))}
.vt-illu{filter:drop-shadow(0 14px 26px rgba(170,120,40,.2))}
.dual-illu .sc-bob,.dual-illu .vt-bob{animation:dilluBob 5.2s ease-in-out infinite}
.dual-illu .sc-spk,.dual-illu .vt-spk{animation:dilluSpk 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.dual-illu .sc-lift{animation:dilluLift 2.6s ease-in-out infinite}
.dual-illu .sc-fall circle{animation:dilluFall 3.2s ease-in infinite}
.dual-illu .sc-fall circle:nth-child(2){animation-delay:.5s}.dual-illu .sc-fall circle:nth-child(3){animation-delay:1s}
.dual-illu .vt-fall{animation:dilluFall 2.8s ease-in infinite}
@keyframes dilluBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes dilluSpk{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.12)}}
@keyframes dilluLift{0%,100%{transform:translateY(2px)}50%{transform:translateY(-3px)}}
@keyframes dilluFall{0%{opacity:0;transform:translateY(-16px)}30%{opacity:1}100%{opacity:0;transform:translateY(20px)}}
@media (prefers-reduced-motion:reduce){.dual-illu *{animation:none!important}}

.dstage .clip{position:absolute;inset:-16%;border-radius:50%;overflow:hidden}
.dstage .orbit{position:absolute;inset:-6%;border-radius:50%;border:1px dashed rgba(255,255,255,.7);animation:spinSlow 44s linear infinite}
.dstage .orbit.o2{inset:-15%;border-color:rgba(255,255,255,.5);animation:spinRev 70s linear infinite}
.dstage .lightring{position:absolute;inset:4%;border-radius:50%;border:2px solid rgba(255,255,255,.5);
  box-shadow:0 0 40px rgba(255,255,255,.4);animation:pulseGlow 4.6s ease-in-out infinite}
/* 循環する美容粒子（軌道上を公転） */
.dstage .particle{position:absolute;top:50%;left:50%;width:0;height:0}
.dstage .pfield{position:absolute;inset:-10%;border-radius:50%;overflow:hidden}
.dstage .particle i{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,rgba(255,255,255,.5) 60%,transparent);
  box-shadow:0 0 8px rgba(255,255,255,.8)}
.dstage .pfield{position:absolute;inset:0;border-radius:50%;overflow:hidden;z-index:2}
.dstage .orbit-spin{position:absolute;inset:0;border-radius:50%;animation:spinSlow 30s linear infinite}
.dstage .orbit-spin.rev{animation:spinRev 40s linear infinite}

/* 中央オーブ（ガラス球） */
.dorb{position:absolute;inset:14%;border-radius:50%;z-index:3;overflow:hidden;animation:floaty2 6s ease-in-out infinite}
.dcard.sc .dorb{background:
  radial-gradient(circle at 38% 30%, rgba(255,255,255,.96) 0%, #F3E2FB 22%, #C9A0E4 52%, #9A66C0 78%, #6E3F98 100%);
  box-shadow:inset 0 22px 60px rgba(255,255,255,.7), inset 0 -34px 64px rgba(90,40,130,.4), 0 30px 70px rgba(122,60,150,.34)}
.dcard.vit .dorb{background:
  radial-gradient(circle at 38% 30%, rgba(255,255,255,.96) 0%, #FBEFD8 22%, #ECC993 52%, #D9A85E 78%, #B9842E 100%);
  box-shadow:inset 0 22px 60px rgba(255,255,255,.75), inset 0 -34px 64px rgba(140,90,30,.4), 0 30px 70px rgba(180,130,50,.32)}
.dorb .hl{position:absolute;top:9%;left:15%;width:46%;height:34%;border-radius:50%;
  background:radial-gradient(circle,#fff,transparent 70%);opacity:.9}
.dorb .hl2{position:absolute;bottom:12%;right:16%;width:24%;height:16%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.7),transparent 70%);opacity:.5}

/* 左オーブ：3層構造 */
.dorb .layer{position:absolute;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.dorb .layer.l-outer{width:80%;height:80%;border:2px solid rgba(255,255,255,.6);
  background:radial-gradient(circle,rgba(255,255,255,.1),rgba(180,130,210,.16));animation:breathe 5s ease-in-out infinite}
.dorb .layer.l-mid{width:54%;height:54%;border:2px solid rgba(255,255,255,.75);
  background:radial-gradient(circle,rgba(255,255,255,.2),rgba(160,100,190,.24))}
.dorb .layer.l-core{width:28%;height:28%;
  background:radial-gradient(circle at 40% 35%,#fff,#EDE6F5 50%,#C9BCD8);
  box-shadow:0 0 30px rgba(255,255,255,.9), inset 0 2px 8px rgba(255,255,255,.9);animation:pulseGlow 3.6s ease-in-out infinite}
/* 層を公転する微粒子（植物幹細胞のイメージ・抽象） */
.dorb .cell{position:absolute;top:50%;left:50%;width:0;height:0}
.dorb .cell i{position:absolute;width:13px;height:13px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff,#E6CFF2 55%,#B98FD8);box-shadow:0 0 10px rgba(255,255,255,.7),inset 0 1px 3px rgba(255,255,255,.9)}

/* 右オーブ：ビタミンカプセル群 */
.dorb .caps{position:absolute;inset:0}
.dorb .cap{position:absolute;border-radius:50%;
  background:radial-gradient(circle at 36% 28%, #fff, #FCEBD0 40%, #F0C788 72%, #D69E54);
  box-shadow:inset 0 4px 10px rgba(255,255,255,.85), inset 0 -8px 16px rgba(150,100,30,.34), 0 6px 16px rgba(160,110,40,.3);
  display:flex;align-items:center;justify-content:center;color:#7A5320;font-weight:700;font-size:10px;text-align:center;line-height:1.2}
.dorb .cap .s{position:absolute;top:12%;left:16%;width:40%;height:30%;border-radius:50%;background:radial-gradient(circle,#fff,transparent 70%);opacity:.85}

/* 効果ワード（大きく） */
.dcard .benefits{position:relative;z-index:3;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0 6px}
.dcard .benefits .b{font-family:var(--serif);font-weight:700;font-size:clamp(22px,3.4vw,32px);letter-spacing:.04em;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.6));border-radius:999px;padding:8px 26px;
  box-shadow:0 8px 22px rgba(122,80,153,.16), inset 0 1px 0 #fff}
.dcard.sc .benefits .b{color:#7A3FA0}
.dcard.vit .benefits .b{color:#B87A2E}

/* カード下部：成分名（控えめ・脚注的） */
.dcard .ingredient{position:relative;z-index:3;margin-top:auto;text-align:center;padding-top:26px}
.dcard .ingredient .nm{font-family:var(--serif);font-weight:700;font-size:18px;color:#3F2748;letter-spacing:.04em}
.dcard.vit .ingredient .nm{color:#5A3A22}
.dcard .ingredient .nm sup{font-size:.6em;opacity:.7}
.dcard .ingredient .ds{margin-top:8px;font-size:13.5px;color:var(--ink-soft);line-height:1.85}
.dcard .ingredient .chips{margin-top:14px;display:flex;flex-wrap:wrap;justify-content:center;gap:7px}
.dcard .ingredient .chips span{font-size:11.5px;color:#5A4356;background:rgba(255,255,255,.66);
  border:1px solid rgba(255,255,255,.8);border-radius:999px;padding:5px 12px;backdrop-filter:blur(3px)}
.dcard .ingredient .chips span sup{font-size:.7em;opacity:.6}

@media (prefers-reduced-motion:reduce){
  .dstage .orbit,.dstage .orbit-spin,.dstage .lightring,.dorb,.dorb .layer.l-outer,.dorb .layer.l-core,.dcard .shine{animation:none}
}

/* ============================================
   SECTION 7: 3 BEAUTY CARE — 体感型ラグジュアリー（全幅3カラム）
   ============================================ */
.care3{position:relative;overflow:hidden;padding:clamp(76px,8vw,112px) 0 clamp(58px,6vw,84px);
  background:
    radial-gradient(58% 40% at 14% 8%, rgba(214,178,236,.42), transparent 60%),
    radial-gradient(58% 40% at 86% 14%, rgba(244,198,222,.40), transparent 60%),
    radial-gradient(92% 60% at 50% 110%, rgba(232,224,247,.5), transparent 62%),
    linear-gradient(180deg,#FBF5FB 0%,#F6EEF7 52%,#FBF6FB 100%)}
/* 共通：美容液の光の流れ・オーブ（カードをまたいで視線が流れる） */
.care3-flow{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.care3-flow .ln{position:absolute;left:4%;right:4%;top:48%;height:2px;transform:translateY(-50%);
  background:linear-gradient(90deg,transparent,rgba(231,182,238,.6) 16%,rgba(247,198,222,.55) 50%,rgba(214,178,236,.6) 84%,transparent);opacity:.65}
.care3-flow .orb{position:absolute;border-radius:50%;filter:blur(26px);mix-blend-mode:screen;opacity:.55;
  background:radial-gradient(circle at 38% 32%,#fff,rgba(231,182,238,.55) 58%,transparent)}
.care3-flow .orb.o1{width:240px;height:240px;left:5%;top:32%;animation:c3float 17s ease-in-out infinite}
.care3-flow .orb.o2{width:300px;height:300px;left:42%;top:6%;animation:c3float 21s ease-in-out infinite 2s}
.care3-flow .orb.o3{width:220px;height:220px;right:5%;top:42%;animation:c3float 19s ease-in-out infinite 1s}
.care3-flow i{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,rgba(255,255,255,.4) 60%,transparent);opacity:.7;box-shadow:0 0 8px rgba(255,255,255,.7)}
@keyframes c3float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(2%,3%) scale(1.07)}}

.care3 .head{position:relative;z-index:3;text-align:center;margin-bottom:clamp(34px,4vw,56px);padding:0 6vw}
.care3 .head .label{color:var(--magenta);letter-spacing:.3em}
.care3 .head h2{margin-top:14px;font-size:clamp(26px,4.4vw,40px);letter-spacing:.05em;line-height:1.45}
.care3 .head h2 .em{color:var(--purple-deep)}
.care3 .head .lead{margin:18px auto 0;max-width:600px;color:var(--ink-soft);font-size:15.5px;line-height:1.9}
.care3 .head .deco{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px}
.care3 .head .deco::before,.care3 .head .deco::after{content:"";width:56px;height:1px;background:linear-gradient(90deg,transparent,var(--magenta))}
.care3 .head .deco::after{background:linear-gradient(90deg,var(--magenta),transparent)}
.care3 .head .deco span{color:var(--magenta);font-size:12px;letter-spacing:.3em}

.care3 .container{position:relative;z-index:3;width:min(1180px,94vw);margin:0 auto}
.care3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,32px)}
@media (max-width:980px){.care3-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
@media (max-width:680px){.care3-grid{grid-template-columns:1fr;gap:22px}}

/* 3 BEAUTY CARE カード（YOUR CONCERNS と同一デザイン） */
.bc{position:relative;min-height:564px;border-radius:30px;overflow:hidden;text-align:center;
  display:flex;flex-direction:column;align-items:center;border:1px solid rgba(255,255,255,.8);
  background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.96));
  box-shadow:0 26px 60px rgba(122,80,153,.18), inset 0 1px 0 rgba(255,255,255,.95);
  transition:transform .55s cubic-bezier(.22,.61,.36,1), box-shadow .55s ease}
.bc:hover{transform:translateY(-14px);box-shadow:0 44px 88px rgba(193,60,140,.24)}
.bc-visual{position:relative;width:100%;height:316px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.bc-body{position:relative;z-index:3;flex:1;width:100%;padding:28px 26px 34px;
  background:linear-gradient(180deg,rgba(255,255,255,.45),#fff 40%);display:flex;flex-direction:column;align-items:center}
/* ビジュアル帯：白ベース・ガラス＋テーマ別の淡い光彩（オーブ） */
.bc.b1 .bc-visual{background:radial-gradient(72% 56% at 50% 36%, rgba(214,178,236,.5), transparent 72%),linear-gradient(165deg,#FBF4FC 0%,#F1E5F7 60%,#E6D5F2 100%)}
.bc.b2 .bc-visual{background:radial-gradient(72% 56% at 50% 36%, rgba(244,194,220,.5), transparent 72%),linear-gradient(165deg,#FDF3F8 0%,#F8E1EC 60%,#F0CEE0 100%)}
.bc.b3 .bc-visual{background:radial-gradient(72% 56% at 50% 36%, rgba(238,212,224,.5), transparent 72%),linear-gradient(165deg,#FCF5F2 0%,#F6E6DD 60%,#EDD6E4 100%)}
.bc-visual::after{content:"";position:absolute;top:0;left:-60%;width:46%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);
  animation:shineSweep 7s ease-in-out infinite;pointer-events:none;z-index:5}
.bc.b2 .bc-visual::after{animation-delay:1.2s}.bc.b3 .bc-visual::after{animation-delay:2.4s}
.bc-visual .bdust{position:absolute;inset:0;z-index:1;pointer-events:none}
.bc-visual .bdust i{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,rgba(255,255,255,.4) 60%,transparent);opacity:.75}
/* 番号（立体・パープル→ピンクグラデ） */
.bc-no{position:absolute;top:18px;left:24px;z-index:6;font-family:"Noto Sans JP",sans-serif;font-weight:800;
  font-size:46px;line-height:1;letter-spacing:-.01em;
  background:linear-gradient(150deg,#F25FA6,#C13C8C 44%,#8E3FA8);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 10px rgba(154,46,110,.32))}
.bc-no .en{display:block;font-family:var(--display);font-style:italic;font-weight:600;font-size:.26em;letter-spacing:.22em;
  margin-top:6px;-webkit-text-fill-color:initial;color:var(--magenta);opacity:.9}
/* 3D肌インフォグラフィック */
.bc-skin{position:relative;width:214px;height:214px;z-index:2;filter:drop-shadow(0 14px 26px rgba(122,70,150,.22))}
.bc-skin svg{position:absolute;inset:0;width:100%;height:100%}
/* テキスト帯 */
.bc-tag{display:inline-block;background:#fff;font-weight:700;font-size:13px;letter-spacing:.1em;
  border-radius:999px;padding:7px 20px;margin-bottom:13px;box-shadow:0 5px 16px rgba(122,80,153,.16)}
.bc.b1 .bc-tag{color:#8A4FB0}.bc.b2 .bc-tag{color:#C0367E}.bc.b3 .bc-tag{color:#B0617E}
.bc-title{font-family:var(--serif);font-weight:700;font-size:26px;color:#3F2738;line-height:1.4;margin-bottom:12px}
.bc-desc{font-size:14.5px;line-height:1.95;color:#5A4A56;max-width:286px;margin:0 auto}

/* SVGアニメーション（静止でも動きを感じる） */
.bc-skin .c3rise{animation:c3rise 3s ease-in-out infinite}
.bc-skin .c3spk{animation:c3spk 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.bc-skin .c3spk.d2{animation-delay:.9s}.bc-skin .c3spk.d3{animation-delay:1.6s}
.bc-skin .c3sweep{animation:c3sweep 4.6s ease-in-out infinite}
.bc-skin .c3bob{animation:c3bob 4.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.bc-skin .c3drop{animation:c3drop 3.2s ease-in infinite}
@keyframes c3rise{0%{transform:translateY(14px);opacity:0}24%{opacity:1}80%{opacity:1}100%{transform:translateY(-26px);opacity:0}}
@keyframes c3spk{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.12)}}
@keyframes c3sweep{0%{transform:translateX(-70px)}55%,100%{transform:translateX(250px)}}
@keyframes c3bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes c3drop{0%{transform:translateY(-10px);opacity:0}20%{opacity:1}70%{opacity:1}100%{transform:translateY(38px);opacity:0}}

.care3 .foot-note{position:relative;z-index:3;text-align:center;font-size:11px;color:var(--ink-mute);padding:clamp(26px,3vw,42px) 6vw 0;line-height:1.7}

@media (max-width:980px){.bc{min-height:548px}}
@media (max-width:600px){.bc{min-height:520px}.bc-visual{height:286px}.bc-skin{width:196px;height:196px}.bc-title{font-size:24px}.bc-desc{max-width:330px}}
@media (prefers-reduced-motion:reduce){.care3-flow .orb,.bc-visual::after,.bc-skin *{animation:none!important}}

/* ============================================
   SECTION 8: 乾燥小じわ対策
   ============================================ */
.kojiwa{background:linear-gradient(180deg,var(--bg),var(--bg-lav))}
.kojiwa-block{
  background:#fff;border:1px solid rgba(201,120,170,.28);border-radius:18px;
  display:grid;grid-template-columns:1.05fr 1fr;overflow:hidden;box-shadow:var(--shadow-md);
}
.kojiwa-visual{background:linear-gradient(160deg,#F2ECF5,#FBF8FC);min-height:300px;display:flex;align-items:center;justify-content:center;position:relative;min-width:0}
.kojiwa-visual img{width:100%;height:100%;object-fit:cover}
.kojiwa-visual .ph{color:var(--ink-mute);font-size:13px;text-align:center;padding:24px;line-height:1.8}
.kojiwa-body{padding:48px 44px;min-width:0}
.kojiwa-badge{display:inline-flex;align-items:center;gap:8px;background:var(--purple-deep);color:#fff;
  font-size:12px;letter-spacing:.1em;padding:7px 16px;border-radius:8px;margin-bottom:18px}
.kojiwa-badge::before{content:"✓"}
.kojiwa-body h3{font-size:clamp(21px,3.2vw,28px);line-height:1.5;margin-bottom:18px}
.kojiwa-body h3 .em{color:var(--purple-deep)}
.kojiwa-body p{color:var(--ink-soft);font-size:15px;line-height:2}
.kojiwa-body .test{margin-top:18px;font-size:12.5px;color:var(--magenta-deep);font-weight:600}

/* ============================================
   SECTION 9 & 10: 敏感肌 / エアレス（2カード）
   ============================================ */
.feature2{background:var(--bg)}
.feature2-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.fc{
  background:linear-gradient(180deg,#fff,#FBF3F8);border:1px solid var(--line);border-radius:22px;padding:54px 44px 44px;
  box-shadow:0 12px 36px rgba(122,80,153,.08);text-align:center;position:relative;overflow:hidden;
  transition:transform .5s ease,box-shadow .5s ease;
}
.fc:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(193,60,140,.18)}
.fc::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--pink-grad);opacity:.9}
.fc::after{content:"";position:absolute;inset:auto -50% -60% -50%;height:220px;background:radial-gradient(ellipse at 50% 0%, rgba(193,60,140,.08), transparent 70%);pointer-events:none}
.fc .ic{width:170px;height:170px;margin:0 auto 26px;position:relative}
.fc .ic-frame{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 38%, #FFFFFF 0%, var(--bg-lav) 60%, rgba(199,175,219,.5) 100%);box-shadow:inset 0 6px 22px rgba(122,80,153,.12), 0 8px 28px rgba(122,80,153,.18)}
.fc .ic-frame::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px dashed rgba(193,60,140,.3);animation:spinSlow 50s linear infinite}
.fc .ic svg{position:absolute;inset:10%;width:80%;height:80%;z-index:2}
.fc .ic .halo{position:absolute;inset:-12px;border-radius:50%;border:1.5px solid rgba(193,60,140,.22);animation:ringExpand 3.6s ease-out infinite}
.fc .label{margin-bottom:12px}
.fc h3{font-size:clamp(22px,3vw,28px);margin-bottom:18px}
.fc h3 .em{color:var(--purple-deep)}
.fc p{color:var(--ink-soft);font-size:14.5px;line-height:2;text-align:left}
.fc .points{margin-top:22px;text-align:left;display:grid;gap:12px}
.fc .points li{list-style:none;position:relative;padding-left:30px;font-size:14.5px;color:var(--ink);line-height:1.7}
.fc .points li::before{content:"✓";position:absolute;left:0;top:.1em;color:#fff;background:var(--cta-grad);
  width:20px;height:20px;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 2px 6px rgba(193,60,140,.34)}
.fc .small{margin-top:18px;font-size:11.5px;color:var(--ink-mute);line-height:1.7;text-align:left}

/* ============================================
   SECTION 11: たかの友梨の経験と実績
   ============================================ */
/* === ESTHETICIAN COSME（ブランドストーリー：パープル統一） === */
.esthe{position:relative;overflow:hidden;padding:clamp(78px,9vw,126px) 0 clamp(70px,8vw,112px);
  background:
    radial-gradient(58% 56% at 24% 44%, rgba(236,214,247,.66), transparent 62%),
    radial-gradient(58% 48% at 88% 20%, rgba(244,200,224,.40), transparent 60%),
    radial-gradient(80% 60% at 50% 108%, rgba(206,176,224,.34), transparent 62%),
    linear-gradient(180deg,#F7F0FB 0%,#EEE0F3 50%,#F8F1FA 100%)}
.esthe::before,.esthe::after{content:"";position:absolute;left:0;right:0;height:1px;z-index:9;background:linear-gradient(90deg,transparent,rgba(154,46,110,.4),transparent)}
.esthe::before{top:0}.esthe::after{bottom:0}
.esthe .container{position:relative;z-index:6;width:min(1320px,94vw)}

.esthe-aurora{position:absolute;inset:-10%;z-index:1;pointer-events:none;filter:blur(72px);opacity:.5}
.esthe-aurora span{position:absolute;border-radius:50%;mix-blend-mode:multiply;opacity:.5}
.esthe-aurora .a1{width:42vw;height:42vw;left:-6vw;top:2vw;background:radial-gradient(circle,#E7C8F0,transparent 66%);animation:esDrift 32s ease-in-out infinite}
.esthe-aurora .a2{width:38vw;height:38vw;right:-6vw;top:8vw;background:radial-gradient(circle,#F4C6DE,transparent 66%);animation:esDrift 38s ease-in-out infinite reverse}
.esthe-aurora .a3{width:34vw;height:34vw;left:30vw;bottom:-10vw;background:radial-gradient(circle,#CBB2EC,transparent 66%);animation:esDrift2 34s ease-in-out infinite}
@keyframes esDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(2.4vw,2.4vw) scale(1.1)}}
@keyframes esDrift2{0%,100%{transform:translate(0,0) scale(1.04)}50%{transform:translate(-2.4vw,-1.6vw) scale(.94)}}
.esthe-particles{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.esthe-particles i{position:absolute;border-radius:50%;opacity:0;box-shadow:0 0 8px rgba(255,255,255,.85)}

.esthe .sec-title{position:relative;z-index:6}
.esthe-grid{position:relative;z-index:5;display:grid;grid-template-columns:1fr;gap:clamp(28px,3.4vw,48px);align-items:center;margin-top:clamp(20px,2.6vw,38px)}
@media(min-width:920px){.esthe-grid{grid-template-columns:.92fr 1.08fr;gap:clamp(34px,4vw,62px)}}

.esthe-portrait{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.esthe-portrait .halo{position:absolute;z-index:1;left:50%;top:43%;transform:translate(-50%,-50%);width:min(560px,106%);aspect-ratio:1/1.08;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.92),rgba(238,216,248,.55) 38%,rgba(214,180,235,.22) 60%,transparent 76%);filter:blur(6px);animation:esGlow 6s ease-in-out infinite}
@keyframes esGlow{0%,100%{opacity:.82;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.035)}}
.esthe-portrait img{position:relative;z-index:2;width:100%;max-width:clamp(330px,42vw,540px);height:auto;display:block;filter:drop-shadow(0 30px 52px rgba(78,30,110,.26))}
.esthe-portrait .name{position:relative;z-index:3;margin-top:clamp(6px,1vw,12px);display:inline-flex;align-items:center;gap:.7em;font-family:var(--serif);font-weight:700;color:var(--purple-deep);font-size:clamp(16px,1.8vw,21px);letter-spacing:.14em}
.esthe-portrait .name::before,.esthe-portrait .name::after{content:"";width:clamp(24px,3vw,42px);height:1px;background:linear-gradient(90deg,transparent,var(--magenta))}
.esthe-portrait .name::after{background:linear-gradient(90deg,var(--magenta),transparent)}
.esthe-portrait .role{position:relative;z-index:3;margin-top:5px;font-size:clamp(10.5px,1.2vw,12.5px);letter-spacing:.26em;color:var(--magenta-deep);font-weight:700}

.esthe-cards{display:flex;flex-direction:column;gap:clamp(15px,1.7vw,22px)}
.es-card{position:relative;overflow:hidden;border-radius:20px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(16px,2vw,30px);
  padding:clamp(20px,2.1vw,30px) clamp(20px,2.3vw,34px);color:#fff;border:1.5px solid transparent;
  background:linear-gradient(150deg,#5A2C88 0%,#7C3AA2 36%,#A23C90 70%,#C13C8C 100%) padding-box,
    linear-gradient(135deg,rgba(255,255,255,.9),rgba(222,190,238,.55) 42%,rgba(193,60,140,.7)) border-box;
  box-shadow:0 22px 46px rgba(70,26,104,.34),inset 0 1px 0 rgba(255,255,255,.42),inset 0 -22px 42px rgba(38,12,58,.32);
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.es-card::before{content:"";position:absolute;top:0;left:0;right:0;height:48%;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.28),transparent)}
.es-card::after{content:"";position:absolute;top:0;left:-65%;width:40%;height:100%;z-index:3;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);animation:esGloss 7s ease-in-out infinite}
@keyframes esGloss{0%,72%{left:-65%}88%,100%{left:152%}}
.es-card:hover{transform:translateY(-6px);box-shadow:0 32px 60px rgba(70,26,104,.42),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -22px 42px rgba(38,12,58,.34)}

.es-num{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:.9}
.es-num .tag{font-family:var(--serif);font-weight:700;letter-spacing:.18em;font-size:clamp(10px,1.2vw,12px);color:#F6E6F2;margin-bottom:9px;padding:3px 11px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.13)}
.es-num .v{font-family:var(--serif);font-weight:800;letter-spacing:-.01em;white-space:nowrap;
  background:linear-gradient(180deg,#FFFFFF,#FBEFF8 48%,#F2D6EC);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 12px rgba(255,255,255,.5)) drop-shadow(0 2px 6px rgba(193,60,140,.3));font-size:clamp(56px,6.4vw,86px)}
.es-num .v .pl{font-size:.5em;vertical-align:.36em;margin-left:.02em}
.es-num .u{margin-top:7px;font-family:var(--serif);font-weight:700;color:#F6E6F2;font-size:clamp(12px,1.4vw,15px);letter-spacing:.1em}
.es-card.c2 .es-num .v{font-size:clamp(27px,3vw,43px)}

.es-body{position:relative;z-index:2}
.es-body .t{font-family:var(--serif);font-weight:800;color:#fff;font-size:clamp(17px,2vw,23px);line-height:1.4;margin-bottom:9px;text-shadow:0 1px 4px rgba(40,12,56,.4)}
.es-body .d{font-size:clamp(13px,1.5vw,15.5px);color:#F4ECF8;line-height:1.78;text-shadow:0 1px 3px rgba(40,12,56,.4)}
.es-body .d .iso{font-weight:700;color:#fff;background:rgba(255,255,255,.17);padding:1px 7px;border-radius:6px;white-space:nowrap}

@media (prefers-reduced-motion:reduce){.esthe *{animation:none!important}}

/* ============================================
   SECTION 12: 使用方法
   ============================================ */
/* === HOW TO USE（パープル統一・フル幅・3STEP） === */
.usage{position:relative;overflow:hidden;padding:clamp(78px,9vw,128px) 0 clamp(72px,8vw,114px);
  background:
    radial-gradient(58% 42% at 16% 28%, rgba(246,214,236,.40), transparent 60%),
    radial-gradient(58% 42% at 86% 22%, rgba(216,196,242,.40), transparent 60%),
    radial-gradient(92% 60% at 50% 112%, rgba(238,224,247,.5), transparent 62%),
    linear-gradient(180deg,#FCF7FB 0%,#F7F0FA 52%,#FCF8FC 100%)}
.usage::before,.usage::after{content:"";position:absolute;left:0;right:0;height:1px;z-index:9;background:linear-gradient(90deg,transparent,rgba(154,46,110,.32),transparent)}
.usage::before{top:0}.usage::after{bottom:0}
.usage .container{position:relative;z-index:6;width:min(1840px,95vw);margin:0 auto}

/* 背景：美容液の柔らかな流れ（淡いパープル・ピンク／控えめ） */
.htu-aurora{position:absolute;inset:-12%;z-index:1;pointer-events:none;filter:blur(74px);opacity:.42}
.htu-aurora span{position:absolute;border-radius:50%;mix-blend-mode:multiply;opacity:.5}
.htu-aurora .a1{width:40vw;height:40vw;left:-6vw;top:2vw;background:radial-gradient(circle,#F4C6DE,transparent 66%);animation:huDrift 34s ease-in-out infinite}
.htu-aurora .a2{width:38vw;height:38vw;right:-6vw;top:10vw;background:radial-gradient(circle,#D6C2EE,transparent 66%);animation:huDrift 40s ease-in-out infinite reverse}
.htu-aurora .a3{width:34vw;height:34vw;left:32vw;bottom:-10vw;background:radial-gradient(circle,#E7D2F2,transparent 66%);animation:huDrift2 36s ease-in-out infinite}
@keyframes huDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(2vw,2vw) scale(1.08)}}
@keyframes huDrift2{0%,100%{transform:translate(0,0) scale(1.04)}50%{transform:translate(-2vw,-1.4vw) scale(.94)}}
.htu-particles{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.htu-particles i{position:absolute;border-radius:50%;opacity:0;box-shadow:0 0 7px rgba(255,255,255,.85)}

.htu-head{text-align:center;position:relative;z-index:6;margin-bottom:clamp(26px,3.4vw,46px)}
.htu-head .label{display:inline-block;font-family:var(--display);font-style:italic;letter-spacing:.24em;font-size:clamp(13px,1.6vw,16px);color:var(--magenta);text-transform:uppercase}
.htu-head h2{margin-top:6px;font-family:var(--serif);font-weight:800;letter-spacing:.04em;font-size:clamp(28px,4.6vw,50px);color:var(--purple-deep)}
.htu-head h2 .purple{color:var(--magenta-deep)}
.htu-sub{margin-top:14px;font-family:var(--serif);font-weight:600;color:#5A4E66;line-height:1.7;font-size:clamp(15px,2vw,20px)}
.htu-sub b{display:inline-block;margin-top:2px;font-weight:800;font-size:1.16em;background:linear-gradient(100deg,#C13C8C,#9B63D6);-webkit-background-clip:text;background-clip:text;color:transparent}

/* 3STEP 横一直線（接続：控えめな美容液の光ライン） */
.htu-flow{position:relative;z-index:5;display:flex;align-items:stretch;justify-content:center;gap:clamp(6px,.8vw,16px);margin-top:clamp(28px,3.4vw,50px)}
.htu-line{position:absolute;left:8%;right:8%;top:50%;height:4px;z-index:1;border-radius:4px;transform:translateY(-50%);
  background:linear-gradient(90deg,transparent,#F7C6DE 12%,#E2B6EE 50%,#F7C6DE 88%,transparent);opacity:.85;overflow:visible;
  box-shadow:0 0 16px rgba(231,182,238,.7)}
.htu-line i:nth-child(3){animation-delay:1.5s}.htu-line i:nth-child(4){animation-delay:4.5s}
.htu-line i{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;background:#fff;transform:translateY(-50%);box-shadow:0 0 10px #fff,0 0 18px #F25FA6;animation:huDot 6s linear infinite}
.htu-line i:nth-child(2){animation-delay:3s}
@keyframes huDot{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:100%;opacity:0}}
.htu-link{flex:none;align-self:center;z-index:4;position:relative;display:flex;align-items:center;gap:clamp(4px,.5vw,7px);padding:0 clamp(6px,.8vw,12px)}
.htu-link::before{content:"";position:absolute;left:2px;right:2px;top:50%;height:2px;transform:translateY(-50%);border-radius:2px;background:linear-gradient(90deg,transparent,rgba(242,166,206,.65),rgba(201,127,214,.5),transparent);box-shadow:0 0 8px rgba(242,166,206,.5)}
.htu-link i{width:clamp(6px,.7vw,9px);height:clamp(6px,.7vw,9px);border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff,#F3A6CE 58%,#C97FD6);box-shadow:0 0 9px rgba(242,95,166,.7);
  opacity:.45;animation:huLink 1.9s ease-in-out infinite}
.htu-link i:nth-child(2){animation-delay:.32s}.htu-link i:nth-child(3){animation-delay:.64s}
@keyframes huLink{0%{opacity:.25;transform:translateX(-3px) scale(.72)}50%{opacity:1;transform:translateX(0) scale(1.16)}100%{opacity:.25;transform:translateX(3px) scale(.72)}}

/* カード：ホワイトガラス＋淡パープル＋ピンクアクセント（明るい・高コントラスト） */
.htu-card{flex:1 1 0;position:relative;overflow:hidden;z-index:2;text-align:center;border-radius:26px;
  display:flex;flex-direction:column;align-items:center;
  padding:clamp(26px,2.6vw,42px) clamp(18px,1.9vw,32px);min-height:clamp(300px,25vw,392px);
  border:1.5px solid transparent;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  background:linear-gradient(166deg,rgba(255,255,255,.97),rgba(251,243,251,.92) 56%,rgba(248,237,248,.9)) padding-box,
    linear-gradient(140deg,#FBDCEC,#E7CCF3 46%,#C9A6E4) border-box;
  box-shadow:0 24px 50px rgba(122,80,150,.16),inset 0 1px 0 rgba(255,255,255,.96),inset 0 -18px 34px rgba(214,180,235,.14);
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.htu-card::after{content:"";position:absolute;top:0;left:-62%;width:42%;height:100%;z-index:4;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-18deg);animation:huGloss 7s ease-in-out infinite}
@keyframes huGloss{0%,72%{left:-62%}88%,100%{left:150%}}
.htu-card:hover{transform:translateY(-6px);box-shadow:0 32px 62px rgba(122,80,150,.22),inset 0 1px 0 rgba(255,255,255,.97),inset 0 -18px 34px rgba(214,180,235,.18)}

.htu-no{position:relative;z-index:3;display:inline-flex;align-items:center;gap:.34em;font-family:"Noto Sans JP",sans-serif;font-weight:800;line-height:.9;letter-spacing:-.01em;
  font-size:clamp(44px,5vw,72px);
  background:linear-gradient(150deg,#F25FA6,#C13C8C 42%,#8E3FA8);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 5px 12px rgba(154,46,110,.3)) drop-shadow(0 -1.5px 0 rgba(255,255,255,.55))}
.htu-no .ey{align-self:center;font-family:var(--display);font-style:italic;font-weight:700;font-size:.25em;letter-spacing:.2em;
  color:#fff;-webkit-text-fill-color:#fff;background:linear-gradient(120deg,#9B63D6,#C13C8C);
  padding:.55em 1.05em;border-radius:999px;border:1px solid rgba(247,198,222,.7);
  box-shadow:0 5px 14px rgba(154,46,110,.32),inset 0 1px 0 rgba(255,255,255,.5)}
.htu-icon{position:relative;z-index:3;width:clamp(124px,12.5vw,176px);height:clamp(124px,12.5vw,176px);margin:clamp(10px,1.4vw,20px) auto clamp(12px,1.6vw,22px);
  filter:drop-shadow(0 12px 22px rgba(122,70,150,.2))}
.htu-icon svg{width:100%;height:100%;display:block}
.htu-card h4{position:relative;z-index:3;font-family:var(--serif);font-weight:800;color:var(--purple-deep);font-size:clamp(19px,2.2vw,26px);letter-spacing:.02em;margin-bottom:10px}
.htu-card p{position:relative;z-index:3;font-size:clamp(14px,1.55vw,16.5px);color:#574B63;line-height:1.85;font-weight:500}

/* アイコン動き（控えめ） */
.usage svg .hu-bob{animation:huBob 3.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.usage svg .hu-rip{animation:huRip 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.usage svg .hu-spk{animation:huSpk 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.usage svg .hu-spk.d2{animation-delay:.8s}
.usage svg .hu-arrow{animation:huArrow 2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.usage svg .hu-rot{animation:huRot 7s linear infinite;transform-box:fill-box;transform-origin:60px 58px}
@keyframes huBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes huRip{0%,100%{transform:scaleX(.82);opacity:.4}50%{transform:scaleX(1.12);opacity:.8}}
@keyframes huSpk{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}
@keyframes huArrow{0%,100%{transform:translateY(-2px);opacity:.6}50%{transform:translateY(3px);opacity:1}}
@keyframes huRot{to{transform:rotate(360deg)}}
.usage svg .hu-fall{animation:huFall 3.8s ease-in infinite}
.usage svg .hu-ring{animation:huRing 3.8s ease-out infinite}
.usage svg .hu-ring.d2{animation-delay:.2s}
.usage svg .hu-thread{animation:huThread 3.6s ease-in-out infinite}
.usage svg .hu-flow{animation:huFlow 3.6s ease-in-out infinite}
.usage svg .hu-shine{animation:huShine 3.6s ease-in-out infinite}
.usage svg .hu-spread{animation:huSpread 3.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.usage svg .hu-spk.d3{animation-delay:1.4s}
@keyframes huFall{0%{transform:translateY(-36px);opacity:0}14%{opacity:1}64%{transform:translateY(0);opacity:1}80%{opacity:0}100%{transform:translateY(0);opacity:0}}
@keyframes huRing{0%,60%{transform:scale(.3);opacity:0}66%{opacity:.7}100%{transform:scale(1.55);opacity:0}}
@keyframes huThread{0%,100%{transform:scaleY(.85)}50%{transform:scaleY(1.42)}}
@keyframes huFlow{0%{transform:translateX(-6px);opacity:.14}50%{opacity:.4}100%{transform:translateX(42px);opacity:.14}}
@keyframes huShine{0%{opacity:0;transform:translateX(-12px)}44%{opacity:.85}100%{opacity:0;transform:translateX(16px)}}
@keyframes huSpread{0%,100%{transform:translate(0,0)}50%{transform:translate(-5px,4px)}}
.usage svg .hu-sink{animation:huSink 4s ease-in-out infinite}
.usage svg .hu-glow{animation:huGlow 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes huSink{0%,100%{transform:translateY(-2px);opacity:.92}50%{transform:translateY(2px);opacity:.6}}
@keyframes huGlow{0%,100%{opacity:.22;transform:scaleX(.92)}50%{opacity:.58;transform:scaleX(1.08)}}
@media (prefers-reduced-motion:reduce){.usage svg *,.htu-card::after,.htu-link i,.htu-line i{animation:none!important}}

/* 情報バー（横長・視認性重視） */
.usage-bar{position:relative;z-index:6;margin:clamp(32px,3.8vw,54px) auto 0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(12px,2.4vw,46px);
  width:fit-content;max-width:100%;padding:clamp(16px,1.8vw,24px) clamp(26px,3.4vw,54px);border-radius:999px;
  border:1.5px solid transparent;
  background:linear-gradient(120deg,rgba(255,255,255,.94),rgba(251,243,251,.9)) padding-box,linear-gradient(135deg,#FBDCEC,#D6B4ED 50%,#C9A6E4) border-box;
  box-shadow:0 22px 50px rgba(122,80,150,.2),0 4px 10px rgba(122,80,150,.12),inset 0 1px 0 rgba(255,255,255,.97),inset 0 -8px 18px rgba(214,180,235,.16)}
.usage-bar::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 44%)}
.usage-bar>*{position:relative;z-index:1}
.usage-bar .ub-item{display:flex;align-items:baseline;gap:.6em}
.usage-bar .ub-item .k{font-family:var(--serif);font-weight:700;color:var(--magenta-deep);font-size:clamp(12.5px,1.4vw,15px);letter-spacing:.06em}
.usage-bar .ub-item .v{font-family:var(--serif);font-weight:800;color:var(--purple-deep);font-size:clamp(16px,1.9vw,22px);letter-spacing:.02em}
.usage-bar .ub-div{width:1px;height:clamp(22px,2.4vw,34px);background:linear-gradient(180deg,transparent,rgba(154,46,110,.34),transparent)}

@media (prefers-reduced-motion:reduce){.usage *{animation:none!important}}

/* ============================================
   SECTION 13: PRICE
   ============================================ */
/* ============================================
   SECTION 13: PRICE（EC/QVC特設リニューアル）
   ============================================ */
.price{position:relative;background:
  radial-gradient(120% 80% at 12% -6%, rgba(199,175,219,.55), transparent 52%),
  radial-gradient(120% 85% at 90% 10%, rgba(235,166,204,.42), transparent 55%),
  radial-gradient(110% 80% at 50% 110%, rgba(146,105,176,.30), transparent 60%),
  linear-gradient(180deg,#F1E7F4 0%,#ECE0F0 50%,#F4E9F1 100%)}
.price .container{width:min(1280px,94vw);max-width:none}

/* --- ヘッダー --- */
.pr-head{text-align:center;margin-bottom:clamp(26px,3.4vw,38px)}
.pr-pill{
  display:inline-flex;align-items:center;gap:9px;
  background:linear-gradient(100deg,#5B1F4E,#7A2E6A);color:#fff;
  font-size:clamp(13px,1.6vw,16px);font-weight:600;letter-spacing:.12em;
  padding:11px 28px;border-radius:999px;border:1.5px solid rgba(243,220,154,.55);
  box-shadow:0 10px 26px rgba(120,46,106,.32);
}
.pr-pill::before{content:"★";color:#F3DC9A;font-size:11px}
.pr-title{margin-top:18px;font-size:clamp(27px,5vw,46px);font-weight:600;letter-spacing:.04em;line-height:1.3}
.pr-title .em{color:var(--magenta-deep);position:relative;white-space:nowrap}
.pr-title .em::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:3px;
  background:linear-gradient(90deg,transparent,#E8C66B 25%,var(--magenta) 75%,transparent)}

/* --- セット内容（全幅・横並び2商品） --- */
.pr-set{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#ffffff,#FCF7FB);
  border:1px solid rgba(201,120,170,.26);border-radius:24px;
  padding:clamp(22px,3.4vw,42px) clamp(14px,2.6vw,40px);
  box-shadow:0 22px 60px rgba(78,44,110,.13);
}
.pr-set::before{content:"";position:absolute;inset:0;
  background:radial-gradient(72% 52% at 50% 0,rgba(243,220,154,.16),transparent 62%);pointer-events:none}
.pr-set-cap{position:relative;text-align:center;margin-bottom:clamp(14px,2vw,22px)}
.pr-set-cap .en{display:block;font-family:var(--display);font-style:italic;letter-spacing:.24em;font-size:12px;color:var(--magenta);text-transform:uppercase}
.pr-set-cap .jp{display:inline-block;margin-top:4px;font-family:var(--serif);font-weight:600;font-size:clamp(15px,2vw,18px);color:var(--ink)}
.pr-items{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:clamp(6px,1.6vw,22px);margin-top:clamp(62px,7vw,90px)}
.pr-item{position:relative;flex:1 1 0;max-width:420px;text-align:center}
.pr-item-stage{
  position:relative;display:flex;align-items:center;justify-content:center;
  background:#ffffff;overflow:hidden;
  border:1px solid rgba(201,120,170,.16);border-radius:18px;
  aspect-ratio:1/1;
  box-shadow:0 10px 30px rgba(78,44,110,.08),inset 0 0 30px rgba(122,80,153,.04);
}
.pr-item-stage img{
  width:100%;height:100%;object-fit:contain;object-position:center;
}
/* 数量バッジ（上部・横長プレート／パープル→ピンク×ゴールドフレーム・ガラス艶） */
.pr-qty{
  position:absolute;left:50%;top:0;transform:translate(-50%,-116%);z-index:5;
  display:flex;flex-direction:row;align-items:center;gap:clamp(7px,1vw,13px);line-height:1;white-space:nowrap;
  min-width:clamp(170px,19vw,236px);
  padding:clamp(6px,0.7vw,9px) clamp(18px,2.1vw,30px);
  border-radius:13px;color:#fff;border:3px solid transparent;
  background:
    linear-gradient(118deg,#6E2E9C 0%,#9A2F92 36%,#C13C8C 66%,#EE82BE 100%) padding-box,
    linear-gradient(135deg,#FCEFC6 0%,#E8C66B 28%,#C9991F 52%,#F3DC9A 78%,#E8C66B 100%) border-box;
  box-shadow:
    0 13px 28px rgba(110,30,92,.42),
    0 0 22px rgba(232,198,107,.5),
    inset 0 2px 6px rgba(255,255,255,.6),
    inset 0 -8px 14px rgba(70,16,70,.42);
  text-shadow:0 2px 5px rgba(70,16,70,.5);
}
.pr-qty::before{content:"";position:absolute;left:7%;right:7%;top:3px;height:46%;border-radius:10px;
  background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,0));opacity:.85;pointer-events:none}
.pr-qty .lead{position:relative;font-family:var(--serif);font-weight:700;letter-spacing:.04em;
  font-size:clamp(12px,1.5vw,16px);padding-right:clamp(8px,1vw,13px);
  border-right:1.5px solid rgba(255,255,255,.45)}
.pr-qty .big{position:relative;display:flex;align-items:baseline;gap:0;font-weight:800}
.pr-qty .big .x{font-size:clamp(17px,2vw,23px);font-weight:800;align-self:center}
.pr-qty .big .n{font-family:"Noto Sans JP";font-weight:800;font-size:clamp(30px,3.8vw,46px)}
.pr-qty .big .u{font-size:clamp(15px,1.8vw,20px);font-weight:800;margin-left:1px}
.pr-item-name{margin-top:14px;font-family:var(--serif);font-weight:600;font-size:clamp(15px,2.1vw,20px);color:var(--ink);line-height:1.4}
.pr-item-en{margin-top:3px;font-family:var(--display);font-style:italic;letter-spacing:.06em;font-size:12px;color:var(--magenta)}
/* 中央の＋ */
.pr-plus{
  flex:0 0 auto;align-self:center;
  font-family:"Noto Sans JP";font-weight:800;line-height:1;color:var(--magenta-deep);
  font-size:clamp(34px,6vw,68px);
  margin-top:clamp(60px,9vw,110px);
  text-shadow:0 4px 10px rgba(154,46,110,.18);
}
/* 合計5点セット */
.pr-total{
  position:relative;text-align:center;margin-top:clamp(20px,2.6vw,30px);
}
.pr-total::before{content:"";position:absolute;left:6%;right:6%;top:50%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,120,170,.45) 30%,rgba(201,120,170,.45) 70%,transparent)}
.pr-total-txt{
  position:relative;z-index:1;display:inline-flex;align-items:center;gap:9px;white-space:nowrap;
  padding:0 16px;background:linear-gradient(180deg,#ffffff,#FCF7FB);
  font-family:var(--serif);font-weight:600;font-size:clamp(16px,2.4vw,24px);color:var(--ink);
}
.pr-total-txt .eq{color:var(--magenta);font-weight:800;font-size:1.15em}
.pr-total-txt strong{
  color:#fff;background:var(--magenta-deep);border-radius:999px;
  padding:4px 15px;font-weight:800;font-size:1.05em;
  box-shadow:0 6px 16px rgba(154,46,110,.3);
}

/* ============================================
   PRICE DEAL PANEL（ゴールド枠ガラスのコンバージョン領域）
   視線：通常価格→SPECIAL SET PRICE→特別価格→72%OFF→数量限定→タイマー→CTA
   ============================================ */
.pr-deal{
  position:relative;isolation:isolate;overflow:hidden;text-align:center;
  margin:clamp(26px,3.4vw,40px) auto 0;width:min(1120px,100%);
  padding:clamp(34px,4.6vw,64px) clamp(20px,4vw,72px) clamp(30px,4vw,56px);
  border-radius:30px;
  background:
    radial-gradient(95% 70% at 50% -8%, rgba(255,255,255,.9), transparent 60%),
    radial-gradient(82% 90% at 12% 16%, rgba(214,178,236,.5), transparent 58%),
    radial-gradient(82% 90% at 88% 80%, rgba(235,166,204,.46), transparent 58%),
    linear-gradient(180deg,#FBF4FB 0%,#F2E5F3 52%,#F8EEF5 100%);
  box-shadow:0 38px 92px rgba(110,40,100,.26),0 8px 22px rgba(110,40,100,.16),
    inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 90px rgba(255,255,255,.3);
}
/* 上品なゴールドの外枠ライン */
.pr-deal::before{content:"";position:absolute;inset:0;border-radius:30px;padding:1.6px;z-index:4;pointer-events:none;
  background:linear-gradient(135deg,#FBEFC4 0%,#E8C66B 26%,#C9991F 50%,#F3DC9A 74%,#E8C66B 100%);
  -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,linear-gradient(#000 0 0);mask-composite:exclude}
/* 美容液の光（上部のオーロラ反射） */
.pr-deal::after{content:"";position:absolute;left:-20%;top:-30%;width:80%;height:60%;z-index:0;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,255,255,.5),transparent 70%);filter:blur(8px)}
.pr-deal > *{position:relative;z-index:2}
/* 四隅ゴールドアクセント */
.pr-corner{position:absolute;width:30px;height:30px;z-index:5;border:2px solid #D8B25A;pointer-events:none}
.pr-corner.tl{top:14px;left:14px;border-right:0;border-bottom:0;border-top-left-radius:12px}
.pr-corner.tr{top:14px;right:14px;border-left:0;border-bottom:0;border-top-right-radius:12px}
.pr-corner.bl{bottom:14px;left:14px;border-right:0;border-top:0;border-bottom-left-radius:12px}
.pr-corner.br{bottom:14px;right:14px;border-left:0;border-top:0;border-bottom-right-radius:12px}

/* ① 通常価格（細め・グレー・取り消し線） */
.pr-was{display:inline-flex;align-items:baseline;gap:8px;color:var(--ink-mute);font-size:clamp(13px,1.7vw,16px)}
.pr-was .lbl{font-size:.9em;letter-spacing:.04em}
.pr-was s{position:relative;text-decoration:none;color:#9a8fa3;font-weight:500}
.pr-was s .num-gothic{font-size:1.3em;font-weight:600;letter-spacing:.01em}
.pr-was s::after{content:"";position:absolute;left:-3px;right:-3px;top:52%;height:1.5px;background:#BB6B8E;transform:rotate(-7deg);opacity:.9}
.pr-was .tax{font-size:.82em}

/* ② SPECIAL SET PRICE（英字・ゴールド・ダイヤ） */
.pr-eyebrow{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.6vw,16px);
  margin:clamp(12px,1.7vw,18px) 0 clamp(6px,1vw,10px);
  font-family:var(--display);font-style:italic;font-weight:600;letter-spacing:.26em;text-transform:uppercase;
  font-size:clamp(14px,1.9vw,20px);color:#B8923C}
.pr-eyebrow .d{color:#D8B25A;font-style:normal;font-size:.62em;transform:translateY(-1px)}
.pr-eyebrow::before,.pr-eyebrow::after{content:"";width:clamp(26px,5vw,60px);height:1px;background:linear-gradient(90deg,transparent,#D8B25A)}
.pr-eyebrow::after{background:linear-gradient(90deg,#D8B25A,transparent)}

/* ③ 特別価格（LP最大・数字主役） */
.pr-now{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:2px;line-height:.9}
.pr-now .lbl{align-self:center;margin-right:clamp(8px,1.4vw,16px);font-family:var(--serif);font-weight:700;
  color:var(--magenta-deep);font-size:clamp(15px,2.1vw,23px)}
.pr-now .num{font-family:"Noto Sans JP";font-weight:800;letter-spacing:-.02em;
  font-size:clamp(54px,14vw,170px);line-height:1.04;padding-bottom:.05em;color:#7A2A6A;
  background:linear-gradient(178deg,#A8347E 0%,#7A2A6A 58%,#5B1F4E 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 10px 20px rgba(122,40,100,.26))}
.pr-now .yen{align-self:baseline;font-family:var(--serif);font-weight:700;color:var(--ink);font-size:clamp(26px,4vw,48px);margin-left:2px}
.pr-now .tax{align-self:flex-end;color:var(--ink-mute);font-size:clamp(12px,1.5vw,15px);margin-left:6px;margin-bottom:clamp(8px,1.4vw,20px)}
.pr-now-rule{height:1px;width:min(440px,76%);margin:clamp(8px,1.2vw,12px) auto clamp(18px,2.4vw,26px);
  background:linear-gradient(90deg,transparent,#E8C66B 20%,#E8C66B 80%,transparent)}

/* OFF率（横長の大きな帯・発光） */
.pr-off-bar{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.6vw,22px);
  width:min(640px,100%);margin:0 auto clamp(22px,2.8vw,32px);
  padding:clamp(16px,2.2vw,26px) clamp(22px,4vw,48px);border-radius:18px;color:#fff;
  background:linear-gradient(100deg,#5B1F4E 0%,#8E2E7A 36%,#C13C8C 70%,#E064A8 100%);
  border:1.5px solid rgba(243,220,154,.6);
  box-shadow:0 20px 46px rgba(122,30,92,.45),0 0 30px rgba(193,60,140,.4),
    inset 0 2px 0 rgba(255,255,255,.34),inset 0 -10px 22px rgba(60,12,52,.42);
  text-shadow:0 2px 8px rgba(50,10,44,.5)}
.pr-off-bar::before{content:"";position:absolute;left:6%;right:6%;top:3px;height:42%;border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.4),transparent);pointer-events:none}
.pr-off-bar::after{content:"";position:absolute;inset:-3px;border-radius:21px;z-index:-1;
  background:linear-gradient(100deg,#C13C8C,#E064A8);filter:blur(15px);opacity:.5;animation:prGlow 2.6s ease-in-out infinite}
.pr-off-bar .pre{font-family:var(--serif);font-weight:700;font-size:clamp(15px,2vw,22px);letter-spacing:.04em}
.pr-off-bar .rate{display:inline-flex;align-items:baseline;font-family:"Noto Sans JP";font-weight:800;line-height:1}
.pr-off-bar .rate .num-gothic{font-size:clamp(40px,7vw,72px)}
.pr-off-bar .rate .pct{font-size:clamp(22px,3.4vw,38px);font-weight:800;margin-left:2px}
.pr-off-bar .word{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(22px,3.4vw,40px);letter-spacing:.04em}
@keyframes prGlow{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.04);opacity:.85}}

/* 数量限定（価格の下・ゴールドアクセント） */
.pr-qty-line{display:inline-flex;align-items:center;gap:clamp(8px,1.4vw,14px);font-family:var(--serif);font-weight:700;
  font-size:clamp(17px,2.4vw,26px);color:var(--magenta-deep);letter-spacing:.04em;line-height:1.2}
.pr-qty-line .star{color:#D8B25A;font-size:.82em}
.pr-qty-line strong{font-family:"Noto Sans JP";font-weight:800;font-size:1.5em;color:var(--magenta);margin:0 3px}
.pr-soldout{margin-top:clamp(7px,1vw,10px);font-size:clamp(13px,1.8vw,15px);font-weight:700;color:var(--magenta-deep);letter-spacing:.04em}
.pr-soldout::before{content:"●";color:#D33;font-size:.7em;margin-right:7px;animation:prBlink 1.2s steps(1) infinite}
@keyframes prBlink{0%,100%{opacity:1}50%{opacity:.25}}

/* タイマー（濃いパープルのカード） */
.pr-countdown{margin:clamp(22px,3vw,30px) auto 0;max-width:580px;
  background:linear-gradient(140deg,#3A1B57 0%,#502C72 52%,#6A3A86 100%);
  border:1.5px solid rgba(243,220,154,.32);border-radius:18px;padding:clamp(18px,2.4vw,26px) clamp(16px,2.4vw,28px);
  box-shadow:0 22px 50px rgba(60,24,90,.4),inset 0 1px 0 rgba(255,255,255,.12)}
.pr-countdown .countdown-label{font-size:clamp(13px,1.7vw,15px);margin-bottom:clamp(12px,1.6vw,16px)}
.pr-countdown .countdown-grid{gap:clamp(6px,1vw,10px)}
.pr-countdown .countdown-unit{min-width:clamp(64px,9vw,84px);padding:clamp(11px,1.4vw,15px) 8px;border-radius:12px;
  background:rgba(255,255,255,.1);border:1px solid rgba(243,220,154,.22)}
.pr-countdown .countdown-num{font-size:clamp(30px,4.4vw,40px)}
.pr-countdown .countdown-unit-label{font-size:clamp(11px,1.4vw,12.5px)}
.pr-countdown .countdown-sep{font-size:clamp(22px,3vw,30px);margin-top:clamp(8px,1.2vw,12px)}

/* 購入ボタン（強化：横幅広・高さ・立体・発光・ホバー） */
.pr-cta-wrap{text-align:center;margin-top:clamp(24px,3.2vw,40px)}
.pr-cta{
  width:min(100%,680px);font-size:clamp(18px,2.6vw,27px);font-weight:800;letter-spacing:.06em;white-space:nowrap;
  padding:clamp(22px,2.8vw,32px) clamp(34px,6vw,72px);border-radius:999px;
  background:linear-gradient(100deg,#F47CB8 0%,#C13C8C 46%,#8E3FA8 100%);
  border:1.5px solid rgba(255,255,255,.5);
  box-shadow:0 24px 52px rgba(193,60,140,.5),0 6px 14px rgba(122,30,92,.3),
    inset 0 2px 0 rgba(255,255,255,.42),inset 0 -9px 18px rgba(110,30,92,.35);
  animation:prCtaPulse 2.4s ease-in-out infinite}
.pr-cta::after{font-size:clamp(18px,2.6vw,26px)}
.pr-cta:hover{transform:translateY(-4px) scale(1.012);box-shadow:0 32px 66px rgba(193,60,140,.58),inset 0 2px 0 rgba(255,255,255,.45)}
@keyframes prCtaPulse{
  0%,100%{box-shadow:0 24px 52px rgba(193,60,140,.5),0 0 0 0 rgba(193,60,140,0),inset 0 2px 0 rgba(255,255,255,.42),inset 0 -9px 18px rgba(110,30,92,.35)}
  50%{box-shadow:0 24px 52px rgba(193,60,140,.6),0 0 0 12px rgba(193,60,140,.07),inset 0 2px 0 rgba(255,255,255,.42),inset 0 -9px 18px rgba(110,30,92,.35)}}
.cta-note{display:block;margin-top:14px;font-size:clamp(11px,1.5vw,13px);color:var(--ink-mute);line-height:1.7}

/* レスポンシブ：価格コーナー */
@media (max-width:1024px){
  .pr-deal{width:min(960px,100%)}
}
@media (max-width:600px){
  .pr-now{flex-wrap:wrap}
  .pr-now .lbl{flex-basis:100%;margin:0 0 2px}
  .pr-off-bar{flex-wrap:wrap;gap:6px 12px;row-gap:0}
  .pr-qty-line{font-size:clamp(16px,5vw,22px)}
}
@media (max-width:520px){
  .pr-deal{border-radius:24px;padding:34px 18px 30px}
  .pr-deal::before,.pr-deal::after{border-radius:24px}
  .pr-corner{width:24px;height:24px;top:11px;left:11px}
  .pr-corner.tr{left:auto;right:11px}.pr-corner.bl{top:auto;bottom:11px}
  .pr-corner.br{top:auto;left:auto;right:11px;bottom:11px}
  .pr-countdown{padding:18px 12px;overflow:hidden}
  .pr-countdown .countdown-grid{gap:4px;flex-wrap:nowrap}
  .pr-countdown .countdown-unit{min-width:0;padding:9px 7px}
  .pr-countdown .countdown-sep{font-size:16px;margin-top:8px}
  .pr-countdown .countdown-num{font-size:clamp(19px,6.2vw,30px)}
  .pr-countdown .countdown-unit-label{font-size:10px}
}
@media (prefers-reduced-motion:reduce){
  .pr-cta,.pr-off-bar::after,.pr-soldout::before{animation:none}
}

@media (max-width:767px){
  .pr-items{gap:6px;margin-top:52px}
  .pr-item-stage{border-radius:14px}
  .pr-qty{min-width:clamp(124px,36vw,176px);padding:5px 12px;border-width:2.5px;border-radius:12px;gap:7px;transform:translate(-50%,-118%)}
  .pr-plus{margin-top:60px}
}
@media (max-width:380px){
  .pr-qty{min-width:118px;padding:5px 9px}
  .pr-qty .lead{font-size:11px;padding-right:7px}
  .pr-qty .big .n{font-size:28px}
}

/* ============================================
   SECTION 14: FAQ
   ============================================ */
.faq{background:var(--bg-soft)}
.faq-list{max-width:780px;margin:0 auto;display:grid;gap:14px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
.faq-q{width:100%;text-align:left;display:flex;align-items:center;gap:16px;padding:22px 26px;font-family:var(--serif);font-weight:600;font-size:16px;color:var(--ink);position:relative}
.faq-q .qmark{font-family:var(--display);font-style:italic;color:var(--magenta-deep);font-size:20px;flex-shrink:0}
.faq-q::after{content:"+";margin-left:auto;font-size:22px;color:var(--purple);transition:transform .3s ease;font-weight:300}
.faq-item.is-open .faq-q::after{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.is-open .faq-a{max-height:360px}
.faq-a-inner{padding:0 26px 24px 60px;color:var(--ink-soft);font-size:14.5px;line-height:2}

/* ============================================
   SECTION 15: LAST CTA
   ============================================ */
.last-cta{padding:96px 0;background:
  radial-gradient(120% 80% at 50% 0%, rgba(199,175,219,.25), transparent 60%),
  linear-gradient(180deg,#FBF8FC,var(--bg))}
.last-cta-heading{text-align:center;margin-bottom:40px}
.last-cta-heading .label{margin-bottom:16px}
.last-cta-heading h2{font-size:clamp(26px,4.6vw,42px);line-height:1.45}
.last-cta-heading h2 .em{color:var(--purple-deep)}
.last-cta-heading p{margin-top:18px;color:var(--ink-soft);font-size:15px}

/* ============================================
   FOOTER
   ============================================ */
.footer{background:var(--purple-deep);color:rgba(255,255,255,.85);padding:54px 0 40px;text-align:center}
.footer .brand{font-family:var(--logo);letter-spacing:.28em;font-size:18px;color:#fff;margin-bottom:6px}
.footer .sub{font-family:var(--display);font-style:italic;letter-spacing:.2em;font-size:13px;color:var(--pink);margin-bottom:26px}
.footer .notes{max-width:760px;margin:0 auto 22px;font-size:11.5px;line-height:1.9;color:rgba(255,255,255,.62);text-align:left}
.footer .notes p{margin-bottom:4px}
.footer .cr{font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.5)}

/* ============================================
   FIXED MOBILE CTA
   ============================================ */
.fixed-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);border-top:1px solid rgba(201,120,170,.3);
  padding:10px 14px;box-shadow:0 -8px 24px rgba(78,44,110,.12);
  transform:translateY(120%);transition:transform .4s ease;display:none;
}
.fixed-cta.is-visible{transform:translateY(0)}
.fixed-cta-inner{display:flex;align-items:center;gap:12px;max-width:560px;margin:0 auto}
.fixed-cta-price{flex-shrink:0;text-align:left;line-height:1.1}
.fixed-cta-price .num{font-family:"Noto Sans JP";font-weight:700;color:var(--purple-deep);font-size:22px}
.fixed-cta-price .yen{font-size:13px}
.fixed-cta-price .lbl{font-size:10px;color:var(--ink-mute);letter-spacing:.06em}
.fixed-cta .cta{flex:1;padding:15px 20px;font-size:15px;white-space:nowrap}
.fixed-cta .cta::before{display:none}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width:920px){
  .esthe-grid{grid-template-columns:1fr;gap:clamp(26px,6vw,38px)}
  .esthe-portrait img{max-width:min(390px,82vw)}
  .es-card{grid-template-columns:1fr;gap:12px;text-align:center;padding:24px 22px}
  .es-num{align-items:center}
  .es-num .v{font-size:clamp(58px,16vw,88px)}
  .es-card.c2 .es-num .v{font-size:clamp(30px,8.6vw,46px)}
  .es-body .t{font-size:clamp(18px,4.6vw,22px)}
  .kojiwa-block{grid-template-columns:1fr}
  .kojiwa-visual{min-height:0;padding:0}
  .kojiwa-visual img{height:auto;object-fit:contain}
  .dual-grid{grid-template-columns:1fr;gap:22px}
  .feature2-grid{grid-template-columns:1fr;gap:20px}
}
@media (max-width:767px){
  body{font-size:15px;line-height:1.85}
  .sec{padding:64px 0}
  .sec-title{margin-bottom:38px}
  .cat-head{flex-wrap:wrap;gap:10px}
  .care-cols{grid-template-columns:1fr}
  .care-col{padding:54px 30px}
  .care3 .head{padding:64px 0 40px}
  .htu-flow{flex-direction:column;align-items:stretch;gap:8px;max-width:440px;margin-left:auto;margin-right:auto}
  .htu-link{flex-direction:column;margin:2px 0;padding:6px 0}
  .htu-link::before{left:50%;right:auto;top:2px;bottom:2px;height:auto;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,transparent,rgba(242,166,206,.65),rgba(201,127,214,.5),transparent)}
  .htu-line{display:none}
  .htu-card{flex:none;width:100%;min-height:auto;padding:28px 24px}
  .usage-bar{flex-direction:column;gap:12px;border-radius:24px;width:100%;padding:20px 24px}
  .usage-bar .ub-div{width:60%;height:1px;background:linear-gradient(90deg,transparent,rgba(154,46,110,.3),transparent)}
  .kojiwa-visual{background:radial-gradient(circle at 50% 44%, rgba(247,200,228,.55), rgba(223,198,236,.30) 54%, transparent 80%), linear-gradient(160deg,#F7EFF7,#FBF8FC);padding:26px 0}
  .kojiwa-visual img{max-width:82%;margin:0 auto}
  .kojiwa-body{padding:28px 26px 40px;text-align:center}
  .kojiwa-badge{margin-left:auto;margin-right:auto}
  .fc{padding:34px 26px}
  .stat{padding:22px 22px;gap:16px}
  .set-frame{padding:36px 22px}
  .price-meta .chip{font-size:12px;padding:6px 14px}
  .fixed-cta{display:block}
  .footer{padding:46px 0 90px}
  .notice-bar{font-size:11px;letter-spacing:.08em}
  .faq-a-inner{padding-left:44px}
}
@media (max-width:380px){
}

/* === スマホ最適化（レスポンシブ点検 追加調整） === */
@media (max-width:600px){
  /* 下部固定CTA：価格＋ボタンを1行に収め、文字の見切れを解消 */
  .fixed-cta{padding:9px 10px}
  .fixed-cta-inner{gap:8px}
  .fixed-cta-price .num{font-size:18px}
  .fixed-cta-price .yen{font-size:11px}
  .fixed-cta-price .lbl{display:block;font-size:9px;letter-spacing:.02em}
  .fixed-cta .cta{font-size:13px;padding:13px 10px;min-width:0;letter-spacing:.01em}
  /* PRICE CTA：折り返さず常に1行 */
  .pr-cta{font-size:clamp(15px,4.4vw,20px);padding:17px 16px;letter-spacing:.02em}
  .pr-cta::after{font-size:inherit}
  /* BEAUTY GALAXY：外周ラベルが画面端で切れないよう全体を縮小（コアも整合） */
  .gx-stage{width:84vw;height:84vw}
  .gx-core{width:46vw;max-width:300px}
  .gx-core .num-wrap .big{font-size:clamp(80px,21vw,120px)}
  .gx-orb.hero{width:104px;height:104px;font-size:12px}
  .gx-orb.big{width:80px;height:80px;font-size:10px}
  .gx-orb.mid{width:58px;height:58px;font-size:9px}
  .gx-orb.sm{width:24px;height:24px}
}

/* ============================================
   SET ITEMS（セット内容カード）
   ============================================ */
.set-items{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:30px}
.set-item{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:22px 16px 18px;text-align:center;box-shadow:var(--shadow-sm);
}
.set-item .check{
  position:absolute;top:-10px;left:-10px;width:26px;height:26px;border-radius:50%;
  background:var(--cta-grad);color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 10px rgba(193,60,140,.3);
}
.set-item-img{
  width:90px;height:90px;margin:0 auto 12px;border-radius:10px;overflow:hidden;
  background:linear-gradient(160deg,#F3ECF7,#fff);display:flex;align-items:center;justify-content:center;
}
.set-item-img img{width:100%;height:100%;object-fit:contain}
.set-item-img .ph{font-size:10px;color:var(--ink-mute);line-height:1.4;padding:6px}
.set-item-en{font-family:var(--display);font-style:italic;letter-spacing:.08em;font-size:11px;color:var(--magenta);text-transform:uppercase;margin-bottom:2px}
.set-item-name{font-family:var(--serif);font-weight:600;font-size:14px;color:var(--ink);line-height:1.5}
.set-item-qty{
  display:inline-block;margin-top:8px;background:var(--purple-deep);color:#fff;
  font-family:"Noto Sans JP";font-weight:700;font-size:13px;border-radius:999px;padding:3px 14px;letter-spacing:.04em;
}

/* ============================================
   DISCOUNT PRICE BLOCK（定価→特価→%OFF）
   ============================================ */
.set-price-block{text-align:center}
.set-price-list{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px;position:relative}
.set-price-list-label{font-size:13px;color:var(--ink-mute)}
.set-price-list-amount{position:relative;font-size:18px;color:var(--ink-soft)}
.set-price-list-amount .num-gothic{font-size:20px}
.set-price-list-amount::after{content:"";position:absolute;left:-4px;right:-4px;top:54%;height:2px;background:var(--magenta);transform:rotate(-6deg);opacity:.8}
.set-price-ribbon{
  display:inline-flex;align-items:center;gap:12px;color:var(--magenta-deep);
  font-family:var(--display);font-style:italic;letter-spacing:.26em;font-size:13px;text-transform:uppercase;margin:14px 0 4px;
}
.set-price-ribbon .mark{color:var(--magenta)}
.set-price-main{display:flex;align-items:baseline;justify-content:center;gap:2px;line-height:1}
.set-price-main .set-price-pre{font-size:15px;color:var(--magenta-deep);font-weight:600;margin-right:8px;align-self:center}
.set-price-main .num{font-family:"Noto Sans JP";font-weight:700;font-size:clamp(54px,9.5vw,80px);color:var(--magenta-deep);letter-spacing:0}
.set-price-main .yen{font-size:26px;font-weight:600;color:var(--ink)}
.set-price-main .tax{font-size:13px;color:var(--ink-mute);align-self:flex-end;margin-left:6px;margin-bottom:10px}
.set-price-discount{
  display:inline-flex;align-items:center;gap:4px;background:var(--cta-grad);color:#fff;
  border-radius:999px;padding:10px 26px;margin-top:16px;box-shadow:0 10px 26px rgba(193,60,140,.34);
}
.set-price-discount .pre{font-size:14px;font-weight:600;margin-right:4px}
.set-price-discount .num{font-family:"Noto Sans JP";font-weight:700;font-size:30px;line-height:1}
.set-price-discount .percent{font-size:18px;font-weight:700}
.set-price-discount .off{font-family:var(--display);font-style:italic;font-size:18px;margin-left:4px}
.set-price-msg{
  margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--magenta-deep);
  background:var(--bg-lav);border-radius:999px;padding:9px 20px;font-weight:600;letter-spacing:.04em;flex-wrap:wrap;justify-content:center;
}
.set-price-msg .icon{color:var(--magenta)}
.set-price-msg strong{font-size:16px}

/* カウントダウン */
.countdown{margin-top:24px;background:linear-gradient(135deg,#3D1F57,#5B3580);border-radius:14px;padding:20px 22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.countdown-label{display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:13px;letter-spacing:.06em;margin-bottom:14px}
.countdown-label-icon{color:var(--pink)}
.countdown-label-date{color:var(--pink);font-weight:600}
.countdown-grid{display:flex;align-items:center;justify-content:center;gap:8px}
.countdown-unit{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:10px 6px;min-width:62px;text-align:center}
.countdown-num{display:block;font-family:"Noto Sans JP";font-weight:700;font-size:30px;color:#fff;line-height:1}
.countdown-unit-label{font-size:11px;color:rgba(255,255,255,.7);letter-spacing:.08em}
.countdown-sep{color:var(--pink);font-size:24px;font-weight:700;align-self:flex-start;margin-top:8px}
.countdown.is-ended .countdown-grid{opacity:.4}
.countdown-ended-msg{margin-top:12px;color:var(--pink);font-weight:600;font-size:14px;text-align:center}

/* ============================================
   VIDEO（公式CM動画コーナー：全幅）
   ============================================ */
.video{padding:92px 0 0;background:
  radial-gradient(110% 70% at 50% 0%, var(--bg-lav), transparent 55%), var(--bg)}
.video .sec-title{margin-bottom:38px}
.video .sec-title h2 .em{color:var(--magenta-deep)}
.video-stage{
  position:relative;width:100%;aspect-ratio:16/9;background:#2A1640;overflow:hidden;cursor:pointer;
  border-top:1px solid rgba(193,60,140,.25);border-bottom:1px solid rgba(193,60,140,.25);
}
.video-stage::before,.video-stage::after{content:"";position:absolute;width:34px;height:34px;border:2px solid rgba(255,255,255,.55);z-index:3;pointer-events:none}
.video-stage::before{top:20px;left:20px;border-right:none;border-bottom:none}
.video-stage::after{bottom:20px;right:20px;border-left:none;border-top:none}
.video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.video-poster-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:13px;letter-spacing:.1em;text-align:center;line-height:1.8;
  background:linear-gradient(135deg,#3D1F57,#7A4FA0)}
.video-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:2;
  background:radial-gradient(closest-side, rgba(42,22,64,.25), rgba(42,22,64,.55))}
.video-play{width:88px;height:88px;border-radius:50%;background:var(--cta-grad);display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 40px rgba(193,60,140,.5);position:relative}
.video-play::before{content:"";position:absolute;inset:-12px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);animation:vpulse 2.4s ease-out infinite}
@keyframes vpulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.35);opacity:0}}
.video-play svg{width:34px;height:34px;margin-left:5px}
.video-overlay .play-text{color:#fff;font-family:var(--serif);font-weight:500;letter-spacing:.1em;font-size:16px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.video-overlay .play-sub{color:rgba(255,255,255,.8);font-size:12px;letter-spacing:.08em}
.video-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.video-stage.is-playing .video-overlay,.video-stage.is-playing .video-poster,.video-stage.is-playing .video-poster-ph{display:none}
@media (prefers-reduced-motion:reduce){.video-play::before{animation:none}}
@media (max-width:767px){
  .countdown-unit{min-width:50px;padding:8px 4px}
  .countdown-num{font-size:24px}
  .set-items{gap:12px}
  .set-item-img{width:76px;height:76px}
  .video{padding:64px 0 0}
}

/* ===== セット内容：スマホは1カラム縦並び（50代以上向けに大きく） ===== */
@media (max-width:600px){
  .pr-set{padding:30px 20px 36px}
  .pr-set-cap{margin-bottom:22px}
  .pr-set-cap .en{font-size:13px;letter-spacing:.2em}
  .pr-set-cap .jp{margin-top:6px;font-size:19px}

  /* 横並び2カラムを解除 → 縦積み（上：ジェルSP／下：ローションEX） */
  .pr-items{flex-direction:column;align-items:center;gap:8px;margin-top:6px}

  .pr-item{flex:none;width:100%;max-width:330px;max-height:none}

  /* 商品画像を大きく */
  .pr-item-stage{border-radius:20px;box-shadow:0 14px 36px rgba(78,44,110,.12),inset 0 0 30px rgba(122,80,153,.04)}

  /* 個数ラベル：画像の下に通常配置で大きく（画像→個数→商品名の自然な順） */
  .pr-qty{
    position:relative;transform:none;left:auto;top:auto;
    margin:18px auto 0;width:max-content;max-width:100%;min-width:0;
    gap:12px;padding:11px 26px;border-radius:15px;
  }
  .pr-qty .lead{font-size:17px;padding-right:14px}
  .pr-qty .big .x{font-size:24px}
  .pr-qty .big .n{font-size:46px}
  .pr-qty .big .u{font-size:20px}

  /* 商品名を大きく読みやすく */
  .pr-item-name{margin-top:14px;font-size:23px;line-height:1.45}
  .pr-item-en{margin-top:5px;font-size:13.5px}

  /* ＋ はカードの間に */
  .pr-plus{margin:0;padding:16px 0;font-size:52px;align-self:center}

  /* ＝ 合計5点セット を特に目立たせる */
  .pr-total{margin-top:32px}
  .pr-total-txt{font-size:25px;gap:11px;padding:0 16px}
  .pr-total-txt .eq{font-size:1.2em}
  .pr-total-txt strong{font-size:1.14em;padding:6px 20px}
}

/* ===== BEAUTY INGREDIENTS BOOK（成分図鑑） ===== */
.bxk{--gold:#C7A24E;--goldsoft:#E7D49B;position:relative;max-width:1000px;margin:30px auto 0;padding:0 clamp(34px,5vw,52px)}
.bxk-ribbon{position:absolute;top:-3px;right:clamp(70px,12%,120px);width:24px;height:60px;z-index:9;border-radius:2px 2px 0 0;background:linear-gradient(180deg,#D14C97,#9A2E6E);box-shadow:0 7px 14px rgba(122,30,92,.32)}
.bxk-ribbon::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:12px;background:linear-gradient(180deg,#B5377E,#9A2E6E);clip-path:polygon(0 0,100% 0,100% 100%,50% 52%,0 100%)}
.bxk-frame{position:relative;perspective:2400px}
.bxk-stage{position:relative;width:100%;min-height:380px;transition:height .6s cubic-bezier(.4,0,.2,1)}
.bxk-stage::before{content:"";position:absolute;top:9px;bottom:9px;left:-5px;right:-5px;z-index:0;border-radius:15px;background:#F3E8F2;box-shadow:7px 0 0 -2px #F8F0F7,13px 0 0 -4px #FCF6FB,-7px 0 0 -2px #F8F0F7,-13px 0 0 -4px #FCF6FB}
.bxk-page{position:absolute;top:0;left:0;width:100%;z-index:1;border-radius:15px;
  background:radial-gradient(120% 70% at 50% -8%,#fff,transparent 55%),linear-gradient(180deg,#FFFDFC 0%,#FBF4F8 62%,#F6ECF4 100%);
  box-shadow:0 34px 78px rgba(78,44,110,.20),0 6px 18px rgba(78,44,110,.10),inset 0 1px 0 rgba(255,255,255,.8);
  padding:clamp(16px,2vw,26px);backface-visibility:hidden;opacity:0;pointer-events:none;
  transform:rotateY(0);transform-origin:left center;will-change:transform,opacity;
  transition:transform .72s cubic-bezier(.46,.03,.25,1),opacity .55s ease}
.bxk-page::after{content:"";position:absolute;inset:0;border-radius:15px;pointer-events:none;opacity:0;transition:opacity .5s;background:linear-gradient(90deg,rgba(86,52,96,.34),transparent 40%)}
.bxk-page.on{opacity:1;pointer-events:auto;z-index:2}
.bxk-page.leaving{z-index:4}
.bxk-page.turn{transform:rotateY(-150deg);opacity:0}
.bxk-page.turn::after{opacity:1}
.bxk-page.turnback{transform:rotateY(-150deg);opacity:0;transition:none}
.bxk-page.turnback::after{opacity:1}
.bxk-inner{position:relative;border:1px solid rgba(199,162,78,.24);border-radius:10px;padding:clamp(18px,2.4vw,30px) clamp(16px,2.2vw,30px) clamp(40px,3vw,46px);min-height:300px}
.bxk-inner::before,.bxk-inner::after{content:"";position:absolute;width:15px;height:15px;border:1.4px solid rgba(199,162,78,.55)}
.bxk-inner::before{top:6px;left:6px;border-right:none;border-bottom:none;border-radius:3px 0 0 0}
.bxk-inner::after{bottom:6px;right:6px;border-left:none;border-top:none;border-radius:0 0 3px 0}
/* cover */
.bxk-page.cover .bxk-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:13px;min-height:340px;background:radial-gradient(80% 60% at 50% 36%,rgba(255,255,255,.7),transparent 70%)}
.bxk-c-en{font-family:var(--display);font-style:italic;letter-spacing:.28em;color:var(--magenta);font-size:clamp(11px,1.5vw,15px)}
.bxk-c-orn{display:flex;align-items:center;gap:16px;color:var(--gold);margin:2px 0}
.bxk-c-orn span{width:clamp(34px,6vw,54px);height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.bxk-c-orn span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.bxk-c-orn b{font-family:var(--display);font-weight:600;font-size:clamp(42px,8vw,70px);color:var(--gold);line-height:.9}
.bxk-c-jp{font-family:var(--serif);font-weight:700;color:var(--purple-deep);font-size:clamp(21px,3.4vw,33px);letter-spacing:.06em}
.bxk-c-jp b{font-family:"Noto Sans JP";color:var(--magenta-deep);font-size:1.1em;vertical-align:-1px}
.bxk-c-hint{margin-top:6px;font-size:12px;color:var(--ink-mute);letter-spacing:.12em;border:1px solid rgba(199,162,78,.45);padding:8px 18px;border-radius:999px;background:rgba(255,255,255,.65)}
/* spread */
.bxk-spread{display:grid;grid-template-columns:1fr 1px 1fr;gap:clamp(18px,3vw,42px);align-items:start}
.bxk-spine{align-self:stretch;width:1px;min-height:100%;background:linear-gradient(180deg,transparent,rgba(199,162,78,.55) 20%,rgba(154,46,110,.22),rgba(199,162,78,.55) 80%,transparent)}
/* category */
.bxk-cat{margin-bottom:4px}
.bxk-cat+.bxk-cat{margin-top:22px}
.bxk-cat-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;margin-bottom:14px;border-bottom:1px solid;border-image:linear-gradient(90deg,var(--gold),rgba(199,162,78,.12)) 1}
.bxk-cat-name{font-family:var(--serif);font-weight:700;color:var(--purple-deep);font-size:clamp(15.5px,1.9vw,20px);letter-spacing:.04em;position:relative;padding-left:17px}
.bxk-cat-name::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff,#EBA6CC 58%,#C13C8C);box-shadow:0 0 0 2px rgba(235,166,204,.22)}
.bxk-cat-count{font-family:var(--display);font-style:italic;color:var(--gold);font-size:12.5px;white-space:nowrap}
.bxk-cat-count b{font-family:"Noto Sans JP";font-style:normal;font-weight:800;font-size:16px;color:var(--magenta-deep);margin-right:3px}
.bxk-tags{display:flex;flex-wrap:wrap;gap:8px}
.bxk-tag{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#4A3A52;letter-spacing:.01em;
  background:linear-gradient(180deg,#fff,#FBF3F8);border:1px solid rgba(201,120,170,.22);border-radius:999px;padding:7px 13px;
  box-shadow:0 4px 10px rgba(78,44,110,.07),inset 0 1px 0 rgba(255,255,255,.95);transition:transform .25s,box-shadow .25s}
.bxk-tag:hover{transform:translateY(-3px);box-shadow:0 11px 22px rgba(193,60,140,.16)}
.bxk-tag .gem{width:8px;height:8px;border-radius:50%;flex:none;background:radial-gradient(circle at 34% 30%,#fff,#D9BDEA 55%,#9A66B0);box-shadow:0 0 0 2px rgba(217,189,234,.3)}
.bxk-tag sup{color:#A98FB8;font-size:.66em;margin-left:1px}
.bxk-parent{flex:1 1 100%;border:1px solid rgba(199,162,78,.3);border-radius:12px;padding:12px 14px;margin:2px 0;background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(251,244,248,.5))}
.bxk-parent-ttl{font-family:var(--serif);font-weight:700;color:var(--purple-deep);font-size:14px;margin-bottom:9px;display:flex;align-items:center;gap:7px}
.bxk-parent-ttl .gem{width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff,#F1D89B 55%,#C9A24E)}
.bxk-subs{display:flex;flex-wrap:wrap;gap:6px}
.bxk-sub{font-size:11px;color:#6A5560;background:rgba(255,255,255,.9);border:1px solid rgba(201,120,170,.16);border-radius:8px;padding:4px 9px}
.bxk-sub sup{color:#B79FC4;font-size:.7em}
.bxk-closing{margin-top:22px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold)}
.bxk-closing .line{width:30px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.bxk-closing .line:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.bxk-close-en{font-family:var(--display);font-style:italic;letter-spacing:.16em;font-size:13px;white-space:nowrap}
.bxk-pageno{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-family:var(--display);font-style:italic;color:var(--gold);font-size:13px;letter-spacing:.24em}
/* tag fade-in on open */
.bxk-tag,.bxk-sub{opacity:0}
.bxk-page.on .bxk-tag,.bxk-page.on .bxk-sub{animation:bxkIn .5s ease both}
@keyframes bxkIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.bxk-page.on .bxk-tags>*:nth-child(1){animation-delay:.03s}
.bxk-page.on .bxk-tags>*:nth-child(2){animation-delay:.06s}
.bxk-page.on .bxk-tags>*:nth-child(3){animation-delay:.09s}
.bxk-page.on .bxk-tags>*:nth-child(4){animation-delay:.12s}
.bxk-page.on .bxk-tags>*:nth-child(5){animation-delay:.15s}
.bxk-page.on .bxk-tags>*:nth-child(6){animation-delay:.18s}
.bxk-page.on .bxk-tags>*:nth-child(7){animation-delay:.21s}
.bxk-page.on .bxk-tags>*:nth-child(8){animation-delay:.24s}
.bxk-page.on .bxk-tags>*:nth-child(n+9){animation-delay:.27s}
/* nav + dots */
.bxk-nav{position:absolute;top:48%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.95);border:1px solid rgba(199,162,78,.5);color:var(--gold);font-size:24px;line-height:0;cursor:pointer;z-index:8;box-shadow:0 10px 24px rgba(78,44,110,.18);display:grid;place-items:center;transition:.25s;font-family:var(--serif);padding:0}
.bxk-nav:hover{background:#fff;color:var(--magenta-deep);transform:translateY(-50%) scale(1.08)}
.bxk-nav:disabled{opacity:.28;pointer-events:none}
.bxk-nav.prev{left:0}.bxk-nav.next{right:0}
.bxk-dots{display:flex;justify-content:center;gap:9px;margin-top:22px}
.bxk-dot{width:8px;height:8px;border-radius:50%;background:rgba(199,162,78,.32);cursor:pointer;transition:.3s}
.bxk-dot.active{background:var(--gold);transform:scale(1.35);box-shadow:0 0 0 3px rgba(199,162,78,.16)}
@media (max-width:768px){
  .bxk{padding:0 30px;margin-top:22px}
  .bxk-spread{grid-template-columns:1fr;gap:26px}
  .bxk-spine{display:none}
  .bxk-ribbon{right:34px}
  .bxk-nav{width:38px;height:38px;font-size:20px}
  .bxk-nav.prev{left:-6px}.bxk-nav.next{right:-6px}
  .bxk-stage::before{left:-3px;right:-3px;box-shadow:5px 0 0 -2px #F8F0F7,9px 0 0 -4px #FCF6FB,-5px 0 0 -2px #F8F0F7,-9px 0 0 -4px #FCF6FB}
}

.container,
.pane-main { width: auto;}

.block-landingpage-login--member { max-width: 1200px; margin: 20px auto 0;}
form#frmLP { max-width: 1200px; margin: 0 auto;}
section.price::after { content: '';}
input[name=s_name],
input[name=s_name2],
input[name=s_kana],
input[name=s_kana2] { max-width: 16em;}
@media (max-width:768px){
  br.pcOnly { display: none;}
}
