@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,400;0,500;1,400;1,500&family=Shippori+Mincho:wght@400;500;600;700&family=Zen+Old+Mincho:wght@400;500;600;700&display=swap');

:root{
  --font-mincho:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;
  --font-display:"Zen Old Mincho","Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --font-en:"Cormorant",Georgia,"Times New Roman",serif;
  /* Navy × 水色 × White × Gold */
  --ink:#e8ecf4;
  --ink-soft:#b1b8cc;
  --ink-navy:rgba(15,15,31,.82);
  --ink-navy-soft:rgba(15,15,31,.62);
  --aqua:#b9e0f0;
  --aqua-mid:#d4eef8;
  --aqua-l:#e8f6fb;
  --rose:#c9a06a;
  --gold:#c9a06a;
  --gold-l:#e8c898;
  --brown:#dfe6f0;
  --navy:#0f0f1f;
  --navy-mid:#1b1b29;
  --navy-soft:#2b2940;
  --grad-rose:linear-gradient(185deg,#080814 0%,#1b1b29 45%,#4e5466 100%);
  --grad-soft:linear-gradient(90deg,#4e5466 0%,#b1b8cc 50%,#4e5466 100%);
  --grad-body:linear-gradient(180deg,#080814 0%,#1b1b29 55%,#2b2940 100%);
  --grad-aqua:linear-gradient(180deg,#b9e0f0 0%,#d4eef8 42%,#e8f6fb 100%);
  --gold-grad:linear-gradient(120deg,#f0d4a8 0%,#c9a06a 48%,#a07848 100%);
  --cta-grad:linear-gradient(180deg,#f0d4a8 0%,#c9a06a 42%,#a07848 100%);
}

.lp-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
}

/* ── 00 Brand header（白背景＋ゴールド輝夜妃） ── */
.lp-brand-header{
  position:relative;
  z-index:5;
  background:var(--navy);
  text-align:center;
  padding:calc(12/750*var(--lp-vw)) calc(24/750*var(--lp-vw)) calc(10/750*var(--lp-vw));
  line-height:normal;
}
.lp-brand-header__logo{
  margin:0;
  font-family:var(--font-mincho);
  font-size:calc(44/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.22em;
  line-height:1.15;
  color:transparent;
  background:linear-gradient(115deg,#a07848 0%,#c9a06a 35%,#f0d4a8 55%,#c9a06a 78%,#8a6238 100%);
  -webkit-background-clip:text;
  background-clip:text;
  text-indent:.22em;
}
.lp-brand-header__en{
  margin:min(calc(2/750*var(--lp-vw)),2px) 0 0;
  font-family:var(--font-en);
  font-size:calc(17/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.34em;
  line-height:1.15;
  color:transparent;
  background:linear-gradient(115deg,#b8925a 0%,#e8c898 50%,#c9a06a 100%);
  -webkit-background-clip:text;
  background-clip:text;
  text-indent:.34em;
}

.gen-copy{
  font-family:var(--font-mincho);
  color:var(--ink);
  line-height:normal;
}

/* ── 01 FV / 目元フォト＋コピー ── */
#wf-fv{
  overflow:visible;
  background:var(--navy);
}
#wf-fv .box[data-asset="fv"]{
  position:relative;
  line-height:normal;
  overflow:hidden;
}
.fv-hero__media{
  position:relative;
  margin:0;
  line-height:0;
  overflow:hidden;
}
.fv-hero__photo{
  width:100%;
  height:auto;
  display:block;
  vertical-align:top;
  max-width:100%;
  aspect-ratio:576 / 1024;
  object-fit:cover;
  object-position:center 28%;
  filter:brightness(1.02) saturate(.96) contrast(1.01);
}
.fv-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(15,15,31,.45) 0%,rgba(15,15,31,.12) 28%,transparent 48%),
    linear-gradient(
      180deg,
      transparent 48%,
      rgba(15,15,31,.22) 62%,
      rgba(15,15,31,.55) 76%,
      rgba(15,15,31,.88) 90%,
      #0f0f1f 100%
    );
}
.fv-hero__copy{
  position:absolute;
  inset:0;
  z-index:3;
  width:auto;
  max-width:none;
  transform:none;
  padding:0;
  text-align:left;
  font-family:var(--font-display);
  color:#e8ecf4;
  pointer-events:none;
}
.fv-hero__lead{
  position:absolute;
  top:42%;
  left:calc(36/750*var(--lp-vw));
  margin:0;
  display:block;
  transform:translateY(-50%);
  writing-mode:vertical-rl;
  -webkit-writing-mode:vertical-rl;
  text-orientation:mixed;
}
.fv-hero__lead-line{
  display:block;
  font-family:var(--font-display);
  font-size:calc(60/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.2em;
  padding-left:0;
  line-height:1.7;
  color:rgba(232,236,244,.92);
  white-space:nowrap;
  text-shadow:
    0 1px 2px rgba(12,20,36,.55),
    0 0 12px rgba(12,20,36,.25);
}
.fv-hero__lead-line + .fv-hero__lead-line{
  margin-right:calc(10/750*var(--lp-vw));
  /* 左列を下にずらす（縦書きでは物理top方向） */
  margin-top:calc(72/750*var(--lp-vw));
}
.fv-hero__lead-line em{
  font-style:normal;
  font-weight:700;
  font-size:1.08em;
  color:#e8d5a8;
  -webkit-text-fill-color:#e8d5a8;
  background:none;
  filter:drop-shadow(0 1px 2px rgba(12,20,36,.4));
}
.fv-hero__body{
  position:absolute;
  left:50%;
  bottom:calc(52/750*var(--lp-vw));
  width:84%;
  max-width:84%;
  transform:translateX(-50%);
  margin:0;
  text-align:center;
}
.fv-hero__body p{
  margin:0;
  font-family:var(--font-display);
  font-size:calc(29/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.08em;
  line-height:2.05;
  color:rgba(232,236,244,.92);
  text-shadow:0 1px 2px rgba(12,20,36,.4);
  word-break:keep-all;
  overflow-wrap:normal;
}
.fv-hero__body p + p{
  margin-top:calc(10/750*var(--lp-vw));
}

/* ── 02 参考LP型：背景写真＋テキスト・縦書きボックス重ね ── */
#wf-generation{
  background:var(--navy);
}
#wf-generation > .box[data-asset="generation-hero"]{
  position:relative;
  overflow:hidden;
  line-height:normal;
}
.gen-copy__photo{
  margin:0;
  line-height:0;
  overflow:hidden;
}
.gen-copy__photo img{
  width:calc(100% + min(calc(100/750*var(--lp-vw)),100px));
  max-width:none;
  height:auto;
  display:block;
  vertical-align:top;
  transform:translateX(min(calc(-100/750*var(--lp-vw)),-100px));
  filter:brightness(1.07) saturate(.88) contrast(.97);
}
#wf-generation > .box[data-asset="generation-hero"]::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(ellipse 95% 75% at 50% 42%,rgba(15,15,31,.35) 0%,transparent 68%),
    radial-gradient(ellipse 70% 50% at 15% 78%,rgba(15,15,31,.28) 0%,transparent 58%),
    radial-gradient(ellipse 55% 42% at 88% 24%,rgba(15,15,31,.22) 0%,transparent 54%),
    linear-gradient(180deg,rgba(15,15,31,.4) 0%,rgba(15,15,31,.12) 48%,rgba(15,15,31,.2) 100%);
}
#wf-generation > .box[data-asset="generation-hero"]::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,#0f0f1f 0%,rgba(15,15,31,.92) 10%,rgba(15,15,31,.45) 26%,transparent 44%),
    linear-gradient(0deg,#0f0f1f 0%,rgba(15,15,31,.78) 9%,rgba(15,15,31,.32) 22%,transparent 38%);
}
.gen-copy__headband{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:3;
  padding:calc(56/750*var(--lp-vw)) calc(27/750*var(--lp-vw)) calc(50/750*var(--lp-vw));
  background:linear-gradient(
    180deg,
    #0f0f1f 0%,
    rgba(15,15,31,.92) 36%,
    rgba(15,15,31,.45) 72%,
    rgba(15,15,31,0) 100%
  );
  text-align:center;
}
.gen-copy__line1{
  margin:0;
  font-family:var(--font-display);
  font-size:calc(46/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.12em;
  line-height:1.65;
  color:rgba(232,236,244,.9);
  text-shadow:0 1px 2px rgba(8,12,28,.35);
}
.gen-copy__line1 .gen-copy__accent{
  font-style:normal;
  color:#c5d0e4;
  font-weight:600;
}
.gen-copy__line2{
  margin:calc(9/750*var(--lp-vw)) 0 0;
  --gen-line2-fit:calc((var(--lp-vw) - calc(54/750*var(--lp-vw)))/10.2);
  font-size:min(calc(82/750*var(--lp-vw)),var(--gen-line2-fit,82px));
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.2;
  color:#e8ecf4;
  white-space:nowrap;
  text-shadow:0 1px 2px rgba(8,12,28,.4);
}
.gen-copy__line2 em{
  font-style:normal;
  color:#ffffff;
  letter-spacing:0;
}
.gen-copy__vboxes{
  position:absolute;
  top:calc(287/750*var(--lp-vw));
  right:calc(32/750*var(--lp-vw));
  z-index:4;
  display:flex;
  flex-direction:row;
  justify-content:flex-end;
  align-items:flex-start;
  gap:calc(14/750*var(--lp-vw));
}
.gen-copy__vbox:nth-child(1){
  margin-top:calc(50/750*var(--lp-vw));
}
.gen-copy__vbox:nth-child(2){
  margin-top:0;
}
.gen-copy__vbox{
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:calc(25/750*var(--lp-vw)) calc(16/750*var(--lp-vw));
  background:rgba(255,255,255,.96);
  box-shadow:
    0 calc(9/750*var(--lp-vw)) calc(27/750*var(--lp-vw)) rgba(40,30,28,.12),
    0 min(calc(2/750*var(--lp-vw)),2px) calc(7/750*var(--lp-vw)) rgba(40,30,28,.05);
}
.gen-copy__vbox span{
  display:block;
  writing-mode:vertical-rl;
  text-orientation:upright;
  font-size:calc(56/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.13em;
  line-height:1.55;
  color:var(--ink-soft);
  white-space:nowrap;
}

/* ── 03 Generation Panel ── */
#wf-generation > .box[data-asset="generation-panel"]{
  position:relative;
  overflow:visible;
  line-height:normal;
  background:var(--navy);
  padding-bottom:calc(28/750*var(--lp-vw));
}
.gen-panel__photo{
  margin:0;
  line-height:0;
  position:relative;
  overflow:hidden;
}
.gen-panel__photo img{
  width:108%;
  max-width:none;
  height:auto;
  display:block;
  vertical-align:top;
  margin-left:-4%;
  transform:translateY(calc(56/750*var(--lp-vw)));
  opacity:.48;
  filter:brightness(.72) saturate(.7) contrast(1.05);
}
.gen-panel__photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(15,15,31,.78) 0%,
      rgba(15,15,31,.55) 24%,
      rgba(15,15,31,.35) 46%,
      rgba(15,15,31,.55) 72%,
      rgba(15,15,31,.88) 90%,
      #0f0f1f 100%
    );
}
#wf-generation > .box[data-asset="generation-panel"]::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(ellipse 92% 42% at 50% 34%,rgba(36,53,84,.45) 0%,transparent 72%),
    radial-gradient(ellipse 70% 55% at 18% 82%,rgba(15,15,31,.28) 0%,transparent 58%);
}
#wf-generation > .box[data-asset="generation-panel"]::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(180deg,#0f0f1f 0%,rgba(15,15,31,.88) 8%,rgba(15,15,31,.35) 22%,transparent 38%),
    linear-gradient(180deg,transparent 0%,transparent 68%,rgba(15,15,31,.28) 88%,rgba(15,15,31,.55) 100%);
}
.gen-panel-copy{
  z-index:4;
  font-family:var(--font-mincho);
  color:#fff;
}
.gen-panel-copy__head{
  position:absolute;
  top:calc(var(--bridge-demo-h)*0.52 + calc(23/750*var(--lp-vw)));
  left:0;
  right:0;
  text-align:center;
  padding:0 calc(27/750*var(--lp-vw));
  isolation:isolate;
}
.gen-panel-copy__head::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  z-index:-1;
  width:calc(821/750*var(--lp-vw));
  height:calc(205/750*var(--lp-vw));
  transform:translate(-50%,-50%);
  pointer-events:none;
  background:radial-gradient(ellipse 100% 100% at 50% 50%,rgba(15,15,31,.35) 0%,rgba(15,15,31,0) 72%);
}
.gen-panel-copy__top{
  display:inline-block;
  margin:0;
  font-size:calc(36/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.08em;
  line-height:1.5;
  color:rgba(255,255,255,.82);
  background:none;
  -webkit-text-fill-color:currentColor;
  text-shadow:
    0 1px 2px rgba(8,12,28,.45),
    0 0 18px rgba(15,15,31,.35);
}
.gen-panel-copy__main{
  margin:calc(23/750*var(--lp-vw)) 0 0;
  --gen-main-fit:calc((var(--lp-vw) - calc(96/750*var(--lp-vw)))/12.4);
  font-size:min(calc(64/750*var(--lp-vw)),var(--gen-main-fit,64px));
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.35;
  white-space:nowrap;
  color:rgba(255,255,255,.96);
  background:none;
  -webkit-text-fill-color:currentColor;
  text-shadow:
    0 1px 3px rgba(8,12,28,.5),
    0 0 22px rgba(15,15,31,.4);
  filter:none;
}
.gen-panel-copy__body{
  position:absolute;
  left:50%;
  right:auto;
  bottom:calc(56/750*var(--lp-vw));
  width:fit-content;
  max-width:calc(100% - calc(46/750*var(--lp-vw)));
  transform:translateX(-50%);
  text-align:center;
  padding:calc(18/750*var(--lp-vw)) calc(23/750*var(--lp-vw));
  background:rgba(15,15,31,.72);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:
    0 calc(9/750*var(--lp-vw)) calc(27/750*var(--lp-vw)) rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.08);
  z-index:5;
}
.gen-panel-copy__body p{
  margin:0;
  font-size:calc(32/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.03em;
  line-height:1.85;
  white-space:nowrap;
  color:rgba(255,255,255,.86);
}

/* ── 04 Habits（画用紙スロット） ── */
#wf-habits{
  --habits-canvas-extra:calc(55/750*var(--lp-vw));
  --habits-head-space:calc(23/750*var(--lp-vw));
  --habits-seam-h:calc(40/750*var(--lp-vw));
  --habits-lift:calc(36/750*var(--lp-vw));
  position:relative;
  z-index:2;
  margin-top:calc(-1 * var(--habits-seam-h) - var(--habits-lift));
  padding:calc(calc(32/750*var(--lp-vw)) + var(--habits-seam-h)) calc(25/750*var(--lp-vw)) calc(36/750*var(--lp-vw));
  background:linear-gradient(180deg,#0f0f1f 0%,#0f0f1f 38%,#0f0f1f 100%);
  isolation:isolate;
}
#wf-habits::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:var(--habits-seam-h);
  pointer-events:none;
  z-index:0;
  background:linear-gradient(180deg,rgba(15,15,31,0) 0%,#0f0f1f 100%);
}
#wf-habits .box[data-asset="habits"]{
  position:relative;
  z-index:1;
  overflow:hidden;
  padding:calc(23/750*var(--lp-vw)) calc(18/750*var(--lp-vw)) var(--habits-canvas-extra);
  box-shadow:
    0 calc(16/750*var(--lp-vw)) calc(41/750*var(--lp-vw)) rgba(0,0,0,.16),
    0 min(calc(2/750*var(--lp-vw)),2px) calc(9/750*var(--lp-vw)) rgba(0,0,0,.08);
}
#wf-habits .box[data-asset="habits"]::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"),
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.045) 0 1px,
      transparent 1px 3px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(0,0,0,.028) 0 1px,
      transparent 1px 4px
    ),
    radial-gradient(ellipse at 22% 18%,rgba(255,255,255,.5) 0%,transparent 52%),
    radial-gradient(ellipse at 78% 82%,rgba(228,176,188,.26) 0%,transparent 48%),
    linear-gradient(168deg,#1b1b29 0%,#1f1f2f 42%,#2b2940 100%);
  background-size:180px 180px,auto,auto,auto,auto,auto;
  pointer-events:none;
}
#wf-habits .box[data-asset="habits"]::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.22;
  mix-blend-mode:multiply;
  background:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  background-size:160px 160px;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.38),
    inset 0 0 calc(91/750*var(--lp-vw)) rgba(160,140,115,.08);
}
#wf-habits .box[data-asset="habits"] .habits-slider{
  position:relative;
  z-index:3;
}
.habits-copy__head{
  position:relative;
  z-index:3;
  margin:0 0 calc(18/750*var(--lp-vw));
  text-align:center;
  padding:0 calc(23/750*var(--lp-vw));
  font-family:var(--font-mincho);
  pointer-events:none;
  text-wrap:auto;
}
.habits-copy__head span{
  display:inline-block;
  --habits-head-fit:calc((var(--lp-vw) - calc(46/750*var(--lp-vw)))/12.8);
  font-size:min(calc(46/750*var(--lp-vw)),var(--habits-head-fit,46px));
  font-weight:600;
  letter-spacing:.1em;
  line-height:1.55;
  white-space:nowrap;
  color:#fff;
  -webkit-text-fill-color:#fff;
  background:none;
  filter:none;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}
.habits-copy__head em{
  font-style:normal;
  font-size:1.08em;
  letter-spacing:.16em;
  color:inherit;
}
.habits-slider{
  position:relative;
  z-index:1;
}
.habits-slider__stage{
  position:relative;
  width:100%;
  aspect-ratio:1024/758;
}
.habits-slider__stack{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.habits-slider__slide{
  position:absolute;
  inset:0;
  opacity:0;
  z-index:0;
  transition:opacity 1s ease-in-out;
}
.habits-slider__slide.is-active{
  opacity:1;
  z-index:1;
}
.habits-slider__slide::after{
  content:"";
  position:absolute;
  top:calc(9/750*var(--lp-vw));
  left:0;
  width:calc(100% - calc(14/750*var(--lp-vw)));
  height:calc(100% - calc(11/750*var(--lp-vw)));
  background:linear-gradient(180deg,rgba(15,15,31,.16) 0%,rgba(15,15,31,.1) 100%);
  pointer-events:none;
  z-index:2;
}
.habits-slider__image{
  position:absolute;
  top:calc(9/750*var(--lp-vw));
  left:0;
  width:calc(100% - calc(14/750*var(--lp-vw)));
  height:calc(100% - calc(11/750*var(--lp-vw)));
  display:block;
  object-fit:cover;
  object-position:center 22%;
  vertical-align:top;
  filter:saturate(.75) contrast(1.03) brightness(.95);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
}
.habits-slider__tag-layers{
  position:absolute;
  inset:0;
  z-index:5;
  overflow:visible;
  pointer-events:none;
}
.habits-copy__tags{
  position:absolute;
  top:calc(82/750*var(--lp-vw));
  right:calc(11/750*var(--lp-vw));
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:max-content;
  justify-content:end;
  align-items:end;
  gap:calc(5/750*var(--lp-vw));
  direction:rtl;
  opacity:0;
  visibility:hidden;
  transition:opacity 1s ease-in-out,visibility 0s linear 1s;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.habits-copy__tags.is-active{
  opacity:1;
  visibility:visible;
  transition:opacity 1s ease-in-out,visibility 0s;
}
.habits-copy__tagbox{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  overflow:visible;
  direction:ltr;
  background:#fff;
  padding:calc(16/750*var(--lp-vw)) calc(9/750*var(--lp-vw));
  box-shadow:0 calc(5/750*var(--lp-vw)) calc(14/750*var(--lp-vw)) rgba(80,60,45,.1);
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.habits-copy__tagbox--lead{
  margin-bottom:calc(59/750*var(--lp-vw));
  padding:calc(14/750*var(--lp-vw)) calc(9/750*var(--lp-vw));
}
.habits-copy__tagbox--sub{
  padding:calc(25/750*var(--lp-vw)) calc(11/750*var(--lp-vw));
}
.habits-copy__tagbox span{
  display:block;
  -webkit-writing-mode:vertical-rl;
  writing-mode:vertical-rl;
  -webkit-text-orientation:upright;
  text-orientation:upright;
  font-family:var(--font-mincho);
  font-size:calc(36/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.5;
  color:#0f0f1f;
  white-space:nowrap;
}
@media (prefers-reduced-motion:reduce){
  .habits-slider__slide,
  .habits-copy__tags{
    transition:none;
  }
}
#wf-habits .box[data-asset="habits"]>p img[src*="wireframe/"]{
  opacity:.08;
  mix-blend-mode:multiply;
}

/* ── 05 Serum + 08 Approach 統合（フル幅ヒーロー画像） ── */
#wf-serum .box[data-asset="serum-approach"],
.serum-approach,
.serum-approach .serum-stage,
.serum-hero{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  line-height:0;
}
.serum-approach .serum-stage{
  --serum-ink:#e8ecf4;
  --serum-ink-soft:#b1b8cc;
  --serum-line:rgba(201,160,106,.35);
  --serum-champagne:#c9a06a;
  position:relative;
  overflow:hidden;
  background:#0f0f1f;
}
.serum-approach .hex-hero{
  margin-top:0;
}
.serum-stage__bg{
  position:absolute;
  left:0;
  display:flex;
  width:max-content;
  z-index:2;
  pointer-events:none;
  opacity:.7;
  animation:serumBgScroll 48s linear infinite;
}
.serum-stage__bg--1{
  top:calc(72/750*var(--lp-vw));
}
.serum-stage__bg--2{
  bottom:calc(88/750*var(--lp-vw));
  animation-direction:reverse;
  animation-duration:56s;
}
.serum-stage__bg-row{
  display:flex;
  flex-shrink:0;
  margin:0;
}
.serum-stage__bg-row span{
  font-family:var(--font-en);
  font-style:italic;
  font-size:calc(64/750*var(--lp-vw));
  font-weight:400;
  letter-spacing:.12em;
  line-height:1;
  color:rgba(120,105,90,.12);
  white-space:nowrap;
  padding-right:.7em;
}
@keyframes serumBgScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.serum-hero{
  position:relative;
  z-index:1;
  display:block;
}
.serum-hero__img{
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
  vertical-align:top;
  object-fit:cover;
  object-position:center top;
}
#wf-serum .box[data-asset="serum-impression"]{
  margin:0;
  padding:0;
  line-height:0;
  background:transparent;
  text-align:center;
}
#wf-serum .box[data-asset="serum-impression"] img{
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
  margin:0 auto;
  vertical-align:top;
  aspect-ratio:630 / 1024;
  object-fit:cover;
  object-position:50% top;
}
@media (prefers-reduced-motion:reduce){
  .serum-stage__bg{animation:none}
}

/* Noir バリエーション（必要時に .serum-stage--noir を付与） */
.serum-stage--noir{
  --serum-ink:#f2ebe4;
  --serum-ink-soft:rgba(242,235,228,.72);
  --serum-line:rgba(210,190,170,.32);
  --serum-champagne:#cbb59a;
  background:linear-gradient(180deg,#1c1916 0%,#151210 55%,#100e0c 100%);
}
.serum-stage--noir .serum-stage__bg-row span{
  color:rgba(210,195,175,.1);
}

/* ── 05 Tagline + 2in1成分（GROWと同ゴールド） ── */
#wf-serum .box[data-asset="serum-tagline"]{
  line-height:normal;
  background:linear-gradient(165deg,#f5e6c8 0%,#e8c898 38%,#d4b078 72%,#c9a06a 100%);
}
.dual-hero{
  position:relative;
  min-height:calc(1144/750*var(--lp-vw));
  padding:calc(41/750*var(--lp-vw)) calc(18/750*var(--lp-vw)) calc(96/750*var(--lp-vw));
  overflow:hidden;
  font-family:var(--font-mincho);
  background:linear-gradient(165deg,#f5e6c8 0%,#e8c898 38%,#d4b078 72%,#c9a06a 100%);
}
.dual-hero__photo{
  position:absolute;
  inset:0;
  z-index:0;
  margin:0;
  background:url("../image/dual_hero_texture.jpg") center/cover no-repeat;
  opacity:.72;
  filter:saturate(.7) sepia(.28) hue-rotate(-6deg) brightness(1.06) contrast(1.05);
  mix-blend-mode:soft-light;
  pointer-events:none;
}
/* シャンパン泡・パールボケ */
.dual-hero__bubbles{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  background-image:
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.88) 0%,rgba(255,248,232,.42) 32%,rgba(232,200,152,.14) 58%,transparent 72%),
    radial-gradient(circle at 30% 30%,rgba(255,255,255,.7) 0%,rgba(245,230,200,.28) 40%,transparent 68%),
    radial-gradient(circle at 35% 25%,rgba(255,255,255,.78) 0%,rgba(232,200,152,.2) 45%,transparent 70%),
    radial-gradient(circle at 28% 32%,rgba(255,248,232,.65) 0%,rgba(201,160,106,.12) 50%,transparent 72%),
    radial-gradient(circle at 40% 30%,rgba(255,255,255,.55) 0%,rgba(245,230,200,.18) 42%,transparent 65%),
    radial-gradient(circle at 33% 28%,rgba(255,255,255,.8) 0%,rgba(232,200,152,.22) 38%,transparent 68%),
    radial-gradient(circle at 30% 35%,rgba(255,248,232,.5) 0%,rgba(201,160,106,.1) 48%,transparent 70%),
    radial-gradient(circle at 36% 26%,rgba(255,255,255,.6) 0%,rgba(245,230,200,.16) 44%,transparent 66%),
    radial-gradient(circle at 28% 28%,rgba(255,255,255,.45) 0%,rgba(232,200,152,.12) 40%,transparent 62%),
    radial-gradient(circle at 34% 32%,rgba(255,248,232,.4) 0%,rgba(201,160,106,.08) 46%,transparent 68%),
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.22) 0%,rgba(245,230,200,.08) 45%,transparent 70%),
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.18) 0%,rgba(232,200,152,.06) 50%,transparent 72%);
  background-size:
    calc(42/750*var(--lp-vw)) calc(42/750*var(--lp-vw)),
    calc(28/750*var(--lp-vw)) calc(28/750*var(--lp-vw)),
    calc(56/750*var(--lp-vw)) calc(56/750*var(--lp-vw)),
    calc(22/750*var(--lp-vw)) calc(22/750*var(--lp-vw)),
    calc(34/750*var(--lp-vw)) calc(34/750*var(--lp-vw)),
    calc(48/750*var(--lp-vw)) calc(48/750*var(--lp-vw)),
    calc(18/750*var(--lp-vw)) calc(18/750*var(--lp-vw)),
    calc(64/750*var(--lp-vw)) calc(64/750*var(--lp-vw)),
    calc(24/750*var(--lp-vw)) calc(24/750*var(--lp-vw)),
    calc(36/750*var(--lp-vw)) calc(36/750*var(--lp-vw)),
    calc(110/750*var(--lp-vw)) calc(110/750*var(--lp-vw)),
    calc(160/750*var(--lp-vw)) calc(160/750*var(--lp-vw));
  background-position:
    8% 16%,
    78% 12%,
    88% 42%,
    18% 48%,
    62% 28%,
    42% 72%,
    92% 78%,
    6% 78%,
    52% 48%,
    28% 88%,
    70% 62%,
    22% 28%;
  background-repeat:no-repeat;
  animation:dualBubbleDrift 18s ease-in-out infinite;
  opacity:.9;
}
.dual-hero__bubbles::before,
.dual-hero__bubbles::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.dual-hero__bubbles::before{
  width:calc(88/750*var(--lp-vw));
  height:calc(88/750*var(--lp-vw));
  left:12%;
  top:58%;
  background:
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.75) 0%,rgba(255,248,232,.28) 28%,rgba(232,200,152,.1) 55%,transparent 72%);
  box-shadow:
    inset -3px -4px 10px rgba(180,140,80,.12),
    inset 3px 3px 6px rgba(255,255,255,.45);
  opacity:.75;
  animation:dualBubbleDrift 22s ease-in-out infinite reverse;
}
.dual-hero__bubbles::after{
  width:calc(120/750*var(--lp-vw));
  height:calc(120/750*var(--lp-vw));
  right:4%;
  top:8%;
  background:
    radial-gradient(circle at 35% 30%,rgba(255,255,255,.55) 0%,rgba(245,230,200,.2) 32%,rgba(201,160,106,.08) 58%,transparent 74%);
  box-shadow:
    inset -4px -5px 12px rgba(180,140,80,.1),
    inset 4px 4px 8px rgba(255,255,255,.35);
  opacity:.55;
  filter:blur(.4px);
  animation:dualBubbleDrift 26s ease-in-out infinite;
}
@keyframes dualBubbleDrift{
  0%,100%{transform:translate3d(0,0,0)}
  40%{transform:translate3d(calc(6/750*var(--lp-vw)),calc(-10/750*var(--lp-vw)),0)}
  70%{transform:translate3d(calc(-4/750*var(--lp-vw)),calc(6/750*var(--lp-vw)),0)}
}
.dual-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 22%,rgba(255,255,255,.35) 0%,transparent 12%),
    radial-gradient(circle at 82% 18%,rgba(255,248,232,.4) 0%,transparent 14%),
    radial-gradient(circle at 72% 68%,rgba(255,255,255,.28) 0%,transparent 16%),
    radial-gradient(circle at 28% 78%,rgba(245,230,200,.32) 0%,transparent 18%),
    radial-gradient(ellipse at 50% 72%,rgba(255,248,232,.38) 0%,transparent 54%),
    radial-gradient(ellipse at 50% 18%,rgba(255,248,232,.32) 0%,transparent 52%),
    linear-gradient(180deg,rgba(245,230,200,.28) 0%,rgba(232,200,152,.12) 48%,rgba(201,160,106,.28) 100%);
}
.dual-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");
  background-size:140px 140px;
  opacity:.035;
  pointer-events:none;
}
.dual-hero__head{
  position:relative;
  z-index:3;
  text-align:center;
  margin:0 0 calc(23/750*var(--lp-vw));
  padding-bottom:calc(18/750*var(--lp-vw));
}
.dual-hero__head::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:calc(137/750*var(--lp-vw));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(15,15,31,.28),transparent);
}
.dual-hero__eyebrow{
  margin:0 0 calc(11/750*var(--lp-vw));
  font-size:calc(23/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.28em;
  line-height:1;
  color:rgba(15,15,31,.55);
  opacity:.9;
}
.dual-hero__line1{
  margin:0;
  font-size:calc(55/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.4;
  color:#0f0f1f;
}
.dual-hero__core{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  width:calc(274/750*var(--lp-vw));
  margin:0;
  padding:0;
  list-style:none;
  transform:translate(-50%,-50%);
  text-align:center;
  pointer-events:none;
}
.dual-hero__core-text{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:calc(7/750*var(--lp-vw));
  font-size:calc(32/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.1em;
  line-height:1.45;
  color:rgba(15,15,31,.88);
  text-shadow:0 1px 0 rgba(255,248,232,.45);
}
.dual-hero__core-line{
  display:block;
}
.dual-hero__core-line:nth-child(2){
  white-space:nowrap;
  letter-spacing:.08em;
}
.dual-hero__em{
  font-weight:700;
  letter-spacing:.1em;
  color:#0f0f1f;
  background:none;
  -webkit-text-fill-color:#0f0f1f;
}
.dual-hero__line2{
  margin:0;
  font-size:calc(36/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.1em;
  line-height:1.55;
  color:rgba(15,15,31,.72);
}
.dual-hero__line3{
  margin:calc(9/750*var(--lp-vw)) 0 0;
  --dual-line3-fit:calc((var(--lp-vw) - calc(36/750*var(--lp-vw)))/11.5);
  font-size:min(calc(52/750*var(--lp-vw)),var(--dual-line3-fit,52px));
  font-weight:600;
  letter-spacing:.08em;
  line-height:1.45;
  color:#0f0f1f;
}
.dual-hero__line3 em{
  font-style:normal;
  font-weight:600;
  color:#0f0f1f;
}
.dual-hero__orbit{
  position:relative;
  z-index:3;
  list-style:none;
  width:min(calc(700/750*var(--lp-vw)),100%);
  height:calc(707/750*var(--lp-vw));
  margin:min(calc(100/750*var(--lp-vw)),100px) auto 0;
  padding:0;
  --orbit-node-d:calc(260/750*var(--lp-vw));
  --orbit-side-nudge:min(calc(1/750*var(--lp-vw)),1px);
  --orbit-side-top:calc(50% - var(--orbit-node-d)/2 - var(--orbit-side-nudge));
  --orbit-side-bottom:calc(50% + var(--orbit-node-d)/2 + var(--orbit-side-nudge));
}
.dual-hero__ring{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
.dual-hero__orbit::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  z-index:0;
  width:34%;
  height:32%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,248,232,.65) 0%,rgba(245,230,200,.28) 48%,transparent 72%);
  pointer-events:none;
}
.dual-hero__node{
  position:absolute;
  z-index:2;
  width:calc(260/750*var(--lp-vw));
  transform:translate(-50%,-50%);
}
.dual-hero__node--1{left:50%;top:14%;--orbit-i:0}
.dual-hero__node--2{left:83%;top:var(--orbit-side-top);--orbit-i:1}
.dual-hero__node--3{left:83%;top:var(--orbit-side-bottom);--orbit-i:2}
.dual-hero__node--4{left:50%;top:86%;--orbit-i:3}
.dual-hero__node--5{left:17%;top:var(--orbit-side-bottom);--orbit-i:4}
.dual-hero__node--6{left:17%;top:var(--orbit-side-top);--orbit-i:5}
.dual-hero__circle{
  position:relative;
  aspect-ratio:1;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:calc(6/750*var(--lp-vw));
  padding:calc(16/750*var(--lp-vw));
  font-family:var(--font-mincho);
  background:
    radial-gradient(circle at 50% 32%,rgba(255,255,255,.98) 0%,rgba(255,248,232,.94) 45%,rgba(245,230,200,.92) 100%);
  box-shadow:
    0 0 0 1px rgba(15,15,31,.12),
    0 calc(9/750*var(--lp-vw)) calc(32/750*var(--lp-vw)) rgba(120,90,50,.16),
    inset 0 1px 0 rgba(255,255,255,.95);
  color:#0f0f1f;
  text-align:center;
  overflow:hidden;
}
.dual-hero__circle::before{
  content:"";
  position:absolute;
  inset:min(calc(-4/750*var(--lp-vw)),-3px);
  border-radius:50%;
  border:1px solid rgba(15,15,31,.14);
  box-shadow:0 0 calc(12/750*var(--lp-vw)) rgba(201,160,106,.2);
  pointer-events:none;
}
.dual-hero__circle::after{
  content:"";
  position:absolute;
  top:12%;
  left:18%;
  width:34%;
  height:22%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,255,255,.7) 0%,transparent 72%);
  pointer-events:none;
}
.dual-hero__label{
  position:relative;
  z-index:2;
  display:block;
  max-width:100%;
  font-size:calc(30/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.04em;
  line-height:1.3;
  color:rgba(15,15,31,.62);
  white-space:nowrap;
}
.dual-hero__benefit{
  position:relative;
  z-index:1;
  display:block;
  max-width:100%;
  font-size:calc(46/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.03em;
  line-height:1.28;
  color:#0f0f1f;
  white-space:nowrap;
}
.dual-hero__node--1 .dual-hero__benefit{
  font-size:calc(34/750*var(--lp-vw));
  letter-spacing:.01em;
}
.dual-hero__node--2 .dual-hero__benefit{
  font-size:calc(39/750*var(--lp-vw));
}
.dual-hero__node--3 .dual-hero__label{
  font-size:calc(25/750*var(--lp-vw));
}
.dual-hero__node--3 .dual-hero__benefit,
.dual-hero__node--4 .dual-hero__benefit{
  font-size:calc(52/750*var(--lp-vw));
}

/* ── 08 Approach / 六角＋縦書きヒーロー（Serum内に統合） ── */
#wf-serum .box[data-asset="serum-approach"] .hex-hero,
#wf-approach .box[data-asset="approach"]{
  line-height:normal;
}
.hex-hero{
  position:relative;
  min-height:min(calc(959/750*var(--lp-vw)),959px);
  overflow:hidden;
  font-family:var(--font-mincho);
  background:linear-gradient(180deg,#0f0f1f 0%,#1b1b29 28%,#1f1f2f 62%,#2b2940 100%);
}
.hex-hero__photo{
  position:absolute;
  inset:0;
  z-index:0;
  margin:0;
  background:
    radial-gradient(ellipse at 62% 28%,rgba(185,224,240,.22) 0%,transparent 52%),
    radial-gradient(ellipse at 58% 38%,rgba(90,168,196,.28) 0%,rgba(36,53,84,.35) 38%,rgba(15,15,31,.45) 72%,transparent 100%);
}
.hex-hero__photo-img{
  width:100%;
  height:auto;
  display:block;
  vertical-align:top;
}
.hex-hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  margin:0;
  pointer-events:none;
}
.hex-hero__overlay-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 18%;
  transform:scaleX(-1);
}
.hex-hero__copy{
  position:absolute;
  top:calc(109/750*var(--lp-vw));
  right:calc(36/750*var(--lp-vw));
  left:auto;
  z-index:3;
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:calc(27/750*var(--lp-vw));
  pointer-events:none;
}
.hex-hero__lead,
.hex-hero__sub{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  margin:0;
  padding:0;
  background:none;
  box-shadow:none;
}
.hex-hero__lead span{
  writing-mode:vertical-rl;
  text-orientation:upright;
  font-size:calc(64/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.05em;
  line-height:1.35;
  color:#2a3d5c;
  background:linear-gradient(180deg,#1e3354 0%,#3d5578 52%,#5c3d48 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.72));
}
.hex-hero__sub{
  margin-top:calc(23/750*var(--lp-vw));
}
.hex-hero__sub span{
  writing-mode:vertical-rl;
  text-orientation:upright;
  font-size:calc(123/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.3;
  color:var(--brown);
  background:linear-gradient(180deg,#080814 0%,#7a8db0 38%,#c5d0e4 62%,#1b1b29 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 12px rgba(255,255,255,.78)) drop-shadow(0 2px 8px rgba(90,40,40,.22));
}
.hex-hero__bubble{
  position:absolute;
  left:calc(41/750*var(--lp-vw));
  right:auto;
  bottom:calc(82/750*var(--lp-vw));
  z-index:2;
  width:calc(169/750*var(--lp-vw));
  aspect-ratio:1;
  margin:0;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%,rgba(255,255,255,.82) 0%,rgba(255,255,255,.18) 42%,transparent 62%),
    radial-gradient(circle at 50% 50%,rgba(255,248,245,.55) 0%,rgba(240,225,218,.16) 55%,transparent 72%);
  box-shadow:
    inset 0 0 calc(46/750*var(--lp-vw)) rgba(255,255,255,.42),
    0 calc(9/750*var(--lp-vw)) calc(23/750*var(--lp-vw)) rgba(15,15,31,.12);
  pointer-events:none;
}
.hex-hero__bubble::before,
.hex-hero__bubble::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.45);
}
.hex-hero__bubble::before{
  width:28%;
  height:28%;
  top:22%;
  left:18%;
}
.hex-hero__bubble::after{
  width:16%;
  height:16%;
  top:38%;
  left:52%;
  opacity:.7;
}

/* ── 09 Team / 共同開発 ── */
#wf-team .box[data-asset="team"]{
  line-height:normal;
  padding-bottom:0;
  margin-bottom:0;
}
#wf-team{
  overflow:visible;
}
#wf-team + .wf-bridge--text-slide{
  margin-top:0;
}
.wf-bridge--text-slide + #wf-monitor{
  margin-top:0;
  overflow:visible;
}
.team-intro{
  position:relative;
  overflow:visible;
  min-height:calc(958/750*var(--lp-vw));
  font-family:var(--font-mincho);
}
.team-intro__photo{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:0;
  margin:0;
  min-height:calc(958/750*var(--lp-vw));
  overflow:hidden;
  background-color:#0f0f1f;
}
.team-intro__photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(15,15,31,.62) 0%,rgba(15,15,31,.28) 14%,transparent 32%),
    linear-gradient(90deg,rgba(8,8,20,.96) 0%,rgba(8,8,20,.9) 42%,rgba(8,8,20,.72) 58%,rgba(8,8,20,.38) 74%,rgba(8,8,20,.12) 88%,transparent 100%),
    linear-gradient(180deg,transparent 52%,rgba(8,8,20,.35) 78%,rgba(8,8,20,.72) 100%);
  pointer-events:none;
}
.team-intro__photo::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  height:calc(140/750*var(--lp-vw));
  background:linear-gradient(180deg,transparent 0%,rgba(8,8,20,.55) 48%,rgba(8,8,20,.92) 100%);
  pointer-events:none;
}
.team-intro__photo-img{
  width:100%;
  height:100%;
  min-height:calc(958/750*var(--lp-vw));
  display:block;
  object-fit:cover;
  object-position:52% 18%;
  transform:none;
}
.team-intro__content{
  position:relative;
  z-index:3;
  width:100%;
  max-width:calc(638/750*var(--lp-vw));
  padding:calc(72/750*var(--lp-vw)) calc(46/750*var(--lp-vw)) calc(64/750*var(--lp-vw));
}
.team-intro__head{
  text-align:left;
  padding-bottom:calc(32/750*var(--lp-vw));
  border-bottom:1px solid rgba(201,160,106,.35);
}
.team-intro__title{
  margin:0;
  font-size:calc(39/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.06em;
  line-height:1.65;
  color:rgba(255,255,255,.92);
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.team-intro__title--main{
  margin:0;
  font-size:calc(58/750*var(--lp-vw));
  letter-spacing:.1em;
  line-height:1.45;
}
.team-intro__title--main em{
  font-style:normal;
  font-weight:700;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:var(--gold);
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));
}
.team-intro__title--sub{
  margin:calc(16/750*var(--lp-vw)) 0 0;
  font-size:calc(39/750*var(--lp-vw));
  letter-spacing:.06em;
  line-height:1.55;
  color:rgba(255,255,255,.92);
}
.team-intro__collab{
  display:block;
  margin-top:calc(9/750*var(--lp-vw));
  line-height:1.35;
}
.team-intro__collab .team-intro__x{
  display:block;
  margin:0 0 min(calc(2/750*var(--lp-vw)),2px);
  font-size:calc(32/750*var(--lp-vw));
  line-height:1;
}
.team-intro__x{
  display:inline-block;
  margin:0 calc(7/750*var(--lp-vw));
  font-size:1.05em;
  font-weight:500;
  color:var(--rose);
  letter-spacing:0;
}
.team-intro__body{
  margin:calc(59/750*var(--lp-vw)) 0 0;
  text-align:left;
}
.team-intro__quote{
  margin:0;
  font-size:calc(31/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.03em;
  line-height:1.75;
  color:#fff;
  text-shadow:
    0 1px 2px rgba(0,0,0,.55),
    0 2px 14px rgba(0,0,0,.4);
}
.team-intro__desc{
  margin:calc(18/750*var(--lp-vw)) 0 0;
  font-size:calc(30/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.03em;
  line-height:1.95;
  color:#fff;
  text-shadow:
    0 1px 2px rgba(0,0,0,.55),
    0 2px 14px rgba(0,0,0,.4);
}
.team-intro__experts{
  margin:0;
  line-height:0;
}
.team-intro__experts:empty{
  display:none;
}
.team-intro__experts-img{
  width:100%;
  height:auto;
  display:block;
  vertical-align:top;
}

/* ── 10 Kuchikomi / お客様の声 ── */
#wf-kuchikomi .box[data-asset="kuchikomi"]{
  position:relative;
  isolation:isolate;
  line-height:normal;
  display:flex;
  flex-direction:column;
  padding:calc(82/750*var(--lp-vw)) calc(20/750*var(--lp-vw)) calc(137/750*var(--lp-vw));
  font-family:var(--font-mincho);
  background:
    radial-gradient(ellipse 90% 42% at 50% 0%,rgba(90,168,196,.12) 0%,transparent 70%),
    linear-gradient(180deg,#0f0f1f 0%,#1b1b29 55%,#1f1f2f 100%);
}
#wf-kuchikomi .box[data-asset="kuchikomi"]::before{
  display:none;
}
#wf-kuchikomi .box[data-asset="kuchikomi"] > *{
  position:relative;
  z-index:1;
}
.kuchikomi__title{
  margin:0 0 calc(55/750*var(--lp-vw));
  text-align:center;
}
.kuchikomi__title-en{
  display:block;
  font-size:calc(25/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.32em;
  color:var(--gold);
}
.kuchikomi__title-en::before,
.kuchikomi__title-en::after{
  content:"";
  display:inline-block;
  width:calc(41/750*var(--lp-vw));
  height:1px;
  margin:0 calc(11/750*var(--lp-vw));
  vertical-align:middle;
  background:linear-gradient(90deg,transparent,var(--gold-l),transparent);
}
.kuchikomi__title-ja{
  display:block;
  margin-top:calc(11/750*var(--lp-vw));
  font-size:calc(55/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.14em;
  color:#fff;
}
.kuchikomi__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:calc(27/750*var(--lp-vw));
}
.review{
  background:rgba(255,255,255,.92);
  border-radius:calc(18/750*var(--lp-vw));
  padding:calc(36/750*var(--lp-vw)) calc(32/750*var(--lp-vw));
  box-shadow:
    0 calc(7/750*var(--lp-vw)) calc(23/750*var(--lp-vw)) rgba(8,12,28,.22),
    inset 0 1px 0 rgba(255,255,255,.9);
}
.review--image{
  padding:calc(8/750*var(--lp-vw));
  overflow:hidden;
}
.review__image{
  display:block;
  width:100%;
  height:auto;
  border-radius:calc(10/750*var(--lp-vw));
  vertical-align:top;
}
.review__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:calc(14/750*var(--lp-vw));
  margin-bottom:calc(16/750*var(--lp-vw));
}
.review__stars{
  margin:0;
  font-size:calc(30/750*var(--lp-vw));
  letter-spacing:.12em;
  line-height:1;
  color:#e8b54a;
}
.review__date{
  margin:0;
  font-size:calc(25/750*var(--lp-vw));
  letter-spacing:.04em;
  color:var(--ink-soft);
  white-space:nowrap;
}
.review__ttl{
  margin:0 0 calc(14/750*var(--lp-vw));
  font-size:calc(34/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.55;
  color:var(--ink);
}
.review__body{
  margin:0;
  font-size:calc(30/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.02em;
  line-height:1.95;
  color:var(--ink-soft);
}
.review__body mark{
  font-weight:600;
  color:var(--brown);
  background:linear-gradient(180deg,transparent 62%,rgba(217,138,147,.28) 62%);
}
.kuchikomi__note{
  margin:calc(150/750*var(--lp-vw)) 0 0;
  padding-top:calc(18/750*var(--lp-vw));
  text-align:center;
  font-size:calc(23/750*var(--lp-vw));
  letter-spacing:.04em;
  line-height:1.7;
  color:rgba(255,255,255,.62);
}

/* ── 09↔10 ブリッジスライド（大文字横スクロール・セクション重なり） ── */
.wf-bridge--text-slide .bridge-slide{
  position:relative;
  left:0;
  z-index:50;
  display:block;
  width:100%;
  max-width:100%;
  min-height:var(--bridge-slide-h);
  height:auto;
  margin:0;
  overflow:hidden;
  line-height:1;
  text-align:left;
  transform:translateY(-50%);
  background:transparent;
}
.bridge-slide__track{
  display:flex;
  width:max-content;
  min-height:var(--bridge-slide-h);
  align-items:center;
  animation:bridgeSlideScroll 36s linear infinite;
}
.bridge-slide__row{
  display:flex;
  flex-shrink:0;
  align-items:center;
}
.bridge-slide__row span{
  display:block;
  font-family:var(--font-mincho);
  font-size:calc(192/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.02em;
  line-height:1.15;
  color:rgba(184,147,143,.3);
  white-space:nowrap;
  padding:.08em 0;
}
@keyframes bridgeSlideScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
  .bridge-slide__track{animation:none}
}

/* ── 10 Monitor / 使用者モニター調査 ── */
#wf-monitor{
  position:relative;
  z-index:1;
  overflow:visible;
  background:var(--navy);
}
#wf-monitor .box[data-asset="monitor"]{
  line-height:normal;
  position:relative;
  z-index:1;
}
.monitor-survey{
  position:relative;
  z-index:1;
  min-height:calc(821/750*var(--lp-vw));
  overflow:hidden;
  font-family:var(--font-mincho);
  background:
    linear-gradient(180deg,rgba(15,15,31,.82) 0%,rgba(26,39,68,.55) 42%,rgba(15,15,31,.88) 100%),
    radial-gradient(ellipse at 68% 38%,rgba(90,168,196,.12) 0%,transparent 58%),
    linear-gradient(180deg,#1b1b29 0%,#0f0f1f 55%,#080814 100%);
}
.monitor-survey::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:0;
  height:calc(240/750*var(--lp-vw));
  background:linear-gradient(180deg,#0f0f1f 0%,rgba(15,15,31,.85) 22%,rgba(15,15,31,.35) 58%,transparent 100%);
  pointer-events:none;
}
.monitor-survey::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  z-index:0;
  height:calc(240/750*var(--lp-vw));
  background:linear-gradient(180deg,transparent 0%,rgba(15,15,31,.4) 44%,rgba(15,15,31,.85) 78%,#0f0f1f 100%);
  pointer-events:none;
}
.monitor-survey__photo{
  position:absolute;
  inset:0;
  z-index:0;
  margin:0;
  pointer-events:none;
}
.monitor-survey__photo-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 40%;
  opacity:.35;
  mix-blend-mode:luminosity;
}
.monitor-survey__content{
  position:relative;
  z-index:1;
  padding:calc(146/750*var(--lp-vw)) calc(46/750*var(--lp-vw)) calc(64/750*var(--lp-vw));
}
.monitor-survey__head{
  margin:0 0 calc(50/750*var(--lp-vw));
  font-size:calc(30/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.06em;
  line-height:1.5;
  color:rgba(255,255,255,.88);
}
.monitor-survey__n{
  margin-left:calc(5/750*var(--lp-vw));
  letter-spacing:.02em;
  color:rgba(255,255,255,.62);
}
.monitor-survey__bars{
  list-style:none;
  margin:0;
  padding:calc(41/750*var(--lp-vw)) calc(36/750*var(--lp-vw));
  display:flex;
  flex-direction:column;
  gap:calc(41/750*var(--lp-vw));
  background:rgba(255,255,255,.96);
  border-radius:calc(20/750*var(--lp-vw));
  box-shadow:
    0 calc(9/750*var(--lp-vw)) calc(32/750*var(--lp-vw)) rgba(0,0,0,.28),
    0 min(calc(2/750*var(--lp-vw)),2px) calc(7/750*var(--lp-vw)) rgba(0,0,0,.12);
}
.monitor-survey__label{
  margin:0 0 calc(9/750*var(--lp-vw));
  font-size:calc(32/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.5;
  color:rgba(15,15,31,.88);
}
.monitor-survey__row{
  display:flex;
  align-items:center;
  gap:calc(18/750*var(--lp-vw));
}
.monitor-survey__track{
  flex:1;
  margin:0;
  height:calc(23/750*var(--lp-vw));
  background:rgba(15,15,31,.1);
  border-radius:999px;
  overflow:hidden;
}
.monitor-survey__track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#2b2940 0%,#1b1b29 48%,#0f0f1f 100%);
}
.monitor-survey__pct{
  flex:0 0 calc(82/750*var(--lp-vw));
  margin:0;
  font-size:calc(34/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.02em;
  line-height:1;
  text-align:right;
  color:#0f0f1f;
}
.monitor-survey__note{
  margin:calc(36/750*var(--lp-vw)) 0 0;
  font-size:calc(21/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.02em;
  line-height:1.65;
  color:rgba(255,255,255,.55);
}

/* ── 20 Kodawari / 比較表 ── */
#wf-kodawari .box[data-asset="kodawari"]{
  line-height:normal;
  padding:calc(73/750*var(--lp-vw)) calc(27/750*var(--lp-vw)) calc(82/750*var(--lp-vw));
  background:#0f0f1f;
}
.compare-table{
  font-family:var(--font-mincho);
  color:var(--ink);
}
.compare-table__title{
  margin:0 0 calc(32/750*var(--lp-vw));
  text-align:center;
  font-size:calc(43/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.5;
  color:rgba(255,255,255,.92);
}
.compare-table__title::after{
  content:"";
  display:block;
  width:calc(100/750*var(--lp-vw));
  height:1px;
  margin:calc(21/750*var(--lp-vw)) auto 0;
  background:linear-gradient(90deg,transparent,rgba(201,150,126,.55),transparent);
}
.compare-table__wrap{
  overflow:hidden;
  border-radius:calc(18/750*var(--lp-vw));
  border:1px solid rgba(201,150,126,.14);
  box-shadow:
    0 calc(11/750*var(--lp-vw)) calc(36/750*var(--lp-vw)) rgba(120,90,80,.07),
    inset 0 1px 0 rgba(255,255,255,.85);
}
.compare-table__wrap--image{
  border:none;
  box-shadow:none;
  background:transparent;
}
.compare-table__image{
  display:block;
  width:100%;
  height:auto;
  vertical-align:top;
}
.compare-table__grid{
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  table-layout:fixed;
}
.compare-table__col-label{width:44%}
.compare-table__col-brand{width:22%}
.compare-table__col-salon{width:17%}
.compare-table__col-other{width:17%}
.compare-table__grid th,
.compare-table__grid td{
  padding:calc(25/750*var(--lp-vw)) calc(9/750*var(--lp-vw));
  text-align:center;
  vertical-align:middle;
  border:none;
}
.compare-table__grid thead th{
  padding:calc(21/750*var(--lp-vw)) calc(9/750*var(--lp-vw));
  background:#1b1b29;
  font-size:calc(23/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.08em;
  line-height:1.4;
  color:var(--ink-soft);
}
.compare-table__grid thead th.compare-table__brand{
  background:var(--gold-grad);
  color:#0f0f1f;
  font-weight:700;
  letter-spacing:.14em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
}
.compare-table__grid thead th.compare-table__salon{
  font-size:calc(23/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.45;
  color:var(--ink);
}
.compare-table__salon-line{
  display:block;
}
.compare-table__grid tbody th{
  padding:calc(25/750*var(--lp-vw)) calc(23/750*var(--lp-vw));
  text-align:left;
  font-size:calc(30/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.05em;
  line-height:1.45;
  color:var(--ink);
  white-space:nowrap;
}
.compare-table__grid tbody tr:nth-child(odd) th,
.compare-table__grid tbody tr:nth-child(odd) td{
  background:#1b1b29;
}
.compare-table__grid tbody tr:nth-child(even) th,
.compare-table__grid tbody tr:nth-child(even) td{
  background:#151520;
}
.compare-table__grid tbody td:nth-child(2){
  background:rgba(201,150,126,.1);
  box-shadow:inset 1px 0 0 rgba(201,150,126,.08),inset -1px 0 0 rgba(201,150,126,.08);
}
.compare-table__grid tbody tr:nth-child(odd) td:nth-child(2){
  background:rgba(201,150,126,.14);
}
.compare-table__sym{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:calc(39/750*var(--lp-vw));
  height:calc(39/750*var(--lp-vw));
  font-size:calc(27/750*var(--lp-vw));
  font-weight:500;
  line-height:1;
  letter-spacing:0;
  color:#b0a8a4;
}
.compare-table__sym--best{
  color:#c9a06a;
  font-weight:600;
  text-shadow:0 1px 0 rgba(255,255,255,.6);
}
.compare-table__sym--dash{
  color:#c4bdb8;
  font-weight:400;
  font-size:calc(23/750*var(--lp-vw));
}
.compare-table__sym--empty{
  display:inline-block;
  width:calc(18/750*var(--lp-vw));
  height:1px;
  background:rgba(176,168,164,.35);
}

/* ── 11 / 23 CV Mid / 中間コンバージョン ── */
#wf-cv-mid .box[data-asset="cv-mid"],
#wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"]{
  line-height:normal;
  padding:calc(27/750*var(--lp-vw)) calc(27/750*var(--lp-vw)) calc(32/750*var(--lp-vw));
  background:
    radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.12) 0%,transparent 55%),
    linear-gradient(180deg,#1b1b29 0%,#0f0f1f 52%,#080814 100%);
}
.cv-mid__card{
  background:#fff;
  padding:calc(18/750*var(--lp-vw)) calc(14/750*var(--lp-vw)) calc(23/750*var(--lp-vw));
  box-shadow:
    0 calc(18/750*var(--lp-vw)) calc(46/750*var(--lp-vw)) rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.95);
}
.cv-mid__banner{
  position:relative;
  display:block;
  line-height:0;
  text-decoration:none;
  overflow:hidden;
  border-radius:calc(14/750*var(--lp-vw));
}
.cv-mid__banner::after{
  content:"";
  position:absolute;
  top:-60%;
  left:-90%;
  width:55%;
  height:240%;
  z-index:2;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);
  transform:rotate(18deg);
  animation:cvBannerShine 4.2s ease-in-out infinite;
  animation-delay:1s;
  pointer-events:none;
}
.cv-mid__banner img{
  width:100%;
  height:auto;
  display:block;
  vertical-align:top;
  animation:cvBannerFloat 3.6s ease-in-out infinite;
  will-change:transform,filter;
}
@keyframes cvBannerFloat{
  0%,100%{
    transform:scale(1);
    filter:drop-shadow(0 0 0 rgba(201,150,126,0));
  }
  50%{
    transform:scale(1.018);
    filter:drop-shadow(0 calc(7/750*var(--lp-vw)) calc(20/750*var(--lp-vw)) rgba(90,168,196,.28));
  }
}
@keyframes cvBannerShine{
  0%,58%{left:-90%}
  100%{left:175%}
}
@media (prefers-reduced-motion:reduce){
  .cv-mid__banner img{animation:none}
  .cv-mid__banner::after{animation:none;display:none}
}
.cv-mid__cta-wrap{
  margin:calc(16/750*var(--lp-vw)) calc(5/750*var(--lp-vw)) 0;
}
.cv-mid__cta{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:calc(6/750*var(--lp-vw));
  overflow:hidden;
  padding:calc(18/750*var(--lp-vw)) calc(18/750*var(--lp-vw)) calc(20/750*var(--lp-vw));
  border-radius:999px;
  background:var(--cta-grad);
  box-shadow:
    0 calc(7/750*var(--lp-vw)) calc(21/750*var(--lp-vw)) rgba(160,120,72,.4),
    inset 0 1px 0 rgba(255,255,255,.55);
  font-family:var(--font-mincho);
  text-align:center;
  text-decoration:none;
  color:#0f0f1f;
  text-shadow:0 1px 0 rgba(255,248,230,.35);
  animation:cvMidCtaPulse 2.6s ease-in-out infinite;
}
.cv-mid__micro{
  display:block;
  margin:0;
  font-size:calc(22/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.4;
  color:#1b1b29;
  opacity:.92;
}
.cv-mid__cta-label{
  display:block;
  font-size:calc(34/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.35;
}
.cv-mid__cta::after{
  content:"";
  position:absolute;
  top:-60%;
  left:-80%;
  width:46%;
  height:240%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
  transform:rotate(18deg);
  animation:cvMidCtaShine 3.4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes cvMidCtaPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:
      0 calc(7/750*var(--lp-vw)) calc(21/750*var(--lp-vw)) rgba(120,70,70,.32),
      inset 0 1px 0 rgba(255,255,255,.4);
  }
  50%{
    transform:scale(1.028);
    box-shadow:
      0 calc(12/750*var(--lp-vw)) calc(32/750*var(--lp-vw)) rgba(201,160,106,.55),
      0 0 calc(28/750*var(--lp-vw)) rgba(201,150,126,.28),
      inset 0 1px 0 rgba(255,255,255,.55);
  }
}
@keyframes cvMidCtaShine{
  0%,62%{left:-80%}
  100%{left:170%}
}
@media (prefers-reduced-motion:reduce){
  .cv-mid__cta{
    animation:none;
  }
  .cv-mid__cta::after{
    animation:none;
    display:none;
  }
}

/* ── CV 登場リビール（暗転→フル幅画像→カード配置） ── */
#wf-cv-mid .box[data-asset="cv-mid"],
#wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"]{
  position:relative;
  overflow:hidden;
}
#wf-cv-mid .box[data-asset="cv-mid"]::after,
#wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"]::after{
  content:none;
}
#wf-cv-mid .box[data-asset="cv-mid"] .cv-mid__card,
#wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"] .cv-mid__card{
  position:relative;
  z-index:6;
  background:transparent;
  box-shadow:none;
  transition:background-color .75s ease .55s,box-shadow .75s ease .55s;
}
#wf-cv-mid .box[data-asset="cv-mid"].is-inview .cv-mid__card,
#wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"].is-inview .cv-mid__card{
  background:#fff;
  box-shadow:
    0 calc(18/750*var(--lp-vw)) calc(46/750*var(--lp-vw)) rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.95);
}
#wf-cv-mid .box[data-asset="cv-mid"] .cv-mid__banner,
#wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"] .cv-mid__banner{
  transform:scale(.9) translateY(calc(18/750*var(--lp-vw)));
  transform-origin:center center;
  opacity:0;
  filter:blur(calc(6/750*var(--lp-vw)));
}
#wf-cv-mid .box[data-asset="cv-mid"].is-inview .cv-mid__banner,
#wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"].is-inview .cv-mid__banner{
  transform:none;
  opacity:1;
  filter:none;
  animation:cvBannerReveal 1.15s cubic-bezier(.22,.7,.18,1) .08s both;
}
@keyframes cvBannerReveal{
  0%{
    transform:scale(.9) translateY(calc(18/750*var(--lp-vw)));
    opacity:0;
    filter:blur(calc(6/750*var(--lp-vw)));
  }
  55%{
    transform:scale(1.035) translateY(0);
    opacity:1;
    filter:blur(0);
  }
  100%{
    transform:scale(1) translateY(0);
    opacity:1;
    filter:none;
  }
}
#wf-cv-mid .box[data-asset="cv-mid"] .cv-mid__cta-wrap,
#wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"] .cv-mid__cta-wrap{
  opacity:0;
  transform:scale(.88) translateY(calc(22/750*var(--lp-vw)));
  filter:blur(calc(4/750*var(--lp-vw)));
}
#wf-cv-mid .box[data-asset="cv-mid"].is-inview .cv-mid__cta-wrap,
#wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"].is-inview .cv-mid__cta-wrap{
  animation:cvCtaReveal 1s cubic-bezier(.22,.72,.18,1) .55s both;
}
@keyframes cvCtaReveal{
  0%{
    opacity:0;
    transform:scale(.88) translateY(calc(22/750*var(--lp-vw)));
    filter:blur(calc(4/750*var(--lp-vw)));
  }
  62%{
    opacity:1;
    transform:scale(1.04) translateY(0);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:scale(1) translateY(0);
    filter:none;
  }
}
@media (prefers-reduced-motion:reduce){
  #wf-cv-mid .box[data-asset="cv-mid"]::after,
  #wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"]::after{opacity:0}
  #wf-cv-mid .box[data-asset="cv-mid"] .cv-mid__card,
  #wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"] .cv-mid__card{
    background:#fff;
    box-shadow:
      0 calc(18/750*var(--lp-vw)) calc(46/750*var(--lp-vw)) rgba(0,0,0,.22),
      inset 0 1px 0 rgba(255,255,255,.95);
  }
  #wf-cv-mid .box[data-asset="cv-mid"] .cv-mid__banner,
  #wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"] .cv-mid__banner{transform:none;opacity:1;filter:none;animation:none}
  #wf-cv-mid .box[data-asset="cv-mid"] .cv-mid__cta-wrap,
  #wf-cv-mid-bottom .box[data-asset="cv-mid-bottom"] .cv-mid__cta-wrap{opacity:1;transform:none;filter:none;animation:none}
}

/* ── 12 Restart / ルーティン訴求 ── */
#wf-restart .box[data-asset="restart"]{
  line-height:normal;
}
.restart-hero{
  position:relative;
  min-height:calc(879/750*var(--lp-vw));
  overflow:hidden;
  font-family:var(--font-mincho);
}
.restart-hero__photo{
  position:absolute;
  inset:0;
  z-index:0;
  margin:0;
  background:
    radial-gradient(ellipse at 18% 12%,rgba(255,255,255,.6) 0%,transparent 48%),
    radial-gradient(ellipse at 78% 28%,rgba(201,150,126,.22) 0%,transparent 50%),
    linear-gradient(165deg,#0f0f1f 0%,#0f0f1f 40%,#1b1b29 72%,#1f1f2f 100%);
}
.restart-hero__photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(185,224,240,.22) 0%,rgba(185,224,240,.05) 45%,rgba(15,15,31,.12) 100%),
    linear-gradient(90deg,rgba(15,15,31,.28) 0%,transparent 42%);
  pointer-events:none;
}
.restart-hero__photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  background-size:120px 120px;
  opacity:.05;
  pointer-events:none;
}
.restart-hero__photo-img{
  position:relative;
  z-index:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:32% 22%;
  transform:scaleX(-1);
}
.restart-hero__tags{
  position:absolute;
  top:calc(41/750*var(--lp-vw));
  right:calc(32/750*var(--lp-vw));
  z-index:4;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:max-content;
  justify-content:end;
  align-items:start;
  gap:calc(9/750*var(--lp-vw));
  pointer-events:none;
  overflow:visible;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.restart-hero__tagbox{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin:0;
  padding:calc(21/750*var(--lp-vw)) calc(14/750*var(--lp-vw));
  background:rgba(255,255,255,.94);
  box-shadow:
    0 calc(7/750*var(--lp-vw)) calc(21/750*var(--lp-vw)) rgba(120,70,60,.1),
    inset 0 1px 0 rgba(255,255,255,.9);
  overflow:visible;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.restart-hero__tagbox--lead{
  margin-top:calc(59/750*var(--lp-vw));
}
.restart-hero__tagbox span{
  display:block;
  -webkit-writing-mode:vertical-rl;
  writing-mode:vertical-rl;
  -webkit-text-orientation:upright;
  text-orientation:upright;
  font-family:var(--font-mincho);
  font-size:calc(34/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.55;
  white-space:nowrap;
  color:#0f0f1f;
}
.restart-hero__copy{
  position:absolute;
  inset:0;
  z-index:3;
  padding:0 calc(41/750*var(--lp-vw));
  background:none;
  pointer-events:none;
}
.restart-hero__line1{
  position:absolute;
  top:auto;
  bottom:calc(200/750*var(--lp-vw));
  left:calc(41/750*var(--lp-vw));
  right:calc(41/750*var(--lp-vw));
  margin:0;
  font-size:calc(76/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.12em;
  line-height:1.45;
  color:#fff;
  text-align:left;
  text-shadow:
    0 2px 18px rgba(70,35,30,.42),
    0 1px 4px rgba(0,0,0,.28);
}
.restart-hero__line2{
  position:absolute;
  top:auto;
  bottom:calc(64/750*var(--lp-vw));
  left:calc(41/750*var(--lp-vw));
  right:calc(41/750*var(--lp-vw));
  margin:0;
  font-size:calc(90/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.35;
  white-space:nowrap;
  text-wrap:nowrap;
  color:var(--brown);
  background:var(--grad-rose);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 14px rgba(255,255,255,.75)) drop-shadow(0 2px 10px rgba(70,35,30,.35));
}

/* ── 14–15 Zu GROW / PROTECT（成分テキスト型） ── */
#wf-zu-grow .box[data-asset="zu-grow"],
#wf-zu-protect .box[data-asset="zu-protect"]{
  line-height:normal;
}
.zu-grow,
.zu-protect{
  position:relative;
  overflow:hidden;
  min-height:calc(1049/750*var(--lp-vw));
  padding:calc(82/750*var(--lp-vw)) calc(55/750*var(--lp-vw)) calc(91/750*var(--lp-vw));
  font-family:var(--font-mincho);
  text-align:center;
  color:var(--ink-soft);
}
.zu-grow{
  background:
    linear-gradient(165deg,#f5e6c8 0%,#e8c898 38%,#d4b078 72%,#c9a06a 100%);
  color:#0f0f1f;
}
.zu-protect{
  background:
    linear-gradient(180deg,
      #f5e6c8 0%,
      #e8c898 32%,
      #d4b078 52%,
      #b89868 64%,
      #6a5a48 76%,
      #2a2838 88%,
      #0f0f1f 100%);
  color:#0f0f1f;
  padding-bottom:calc(140/750*var(--lp-vw));
}
.zu-grow::before,
.zu-protect::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.zu-grow::before{
  background:
    radial-gradient(ellipse 90% 55% at 50% 18%,rgba(255,248,232,.45) 0%,transparent 70%),
    radial-gradient(ellipse 70% 50% at 78% 72%,rgba(160,120,72,.18) 0%,transparent 65%),
    url("../image/zu_grow_bg.jpg") center center/cover no-repeat;
  opacity:.55;
  filter:saturate(.55) sepia(.45) hue-rotate(-8deg) brightness(1.08) contrast(1.02);
  mix-blend-mode:soft-light;
}
.zu-protect::before{
  background:
    radial-gradient(ellipse 90% 55% at 50% 18%,rgba(255,248,232,.45) 0%,transparent 70%),
    radial-gradient(ellipse 70% 50% at 22% 78%,rgba(160,120,72,.18) 0%,transparent 65%),
    url("../image/zu_protect_bg.jpg") center center/cover no-repeat;
  opacity:.55;
  filter:saturate(.55) sepia(.45) hue-rotate(-8deg) brightness(1.08) contrast(1.02);
  mix-blend-mode:soft-light;
}
.zu-grow::after,
.zu-protect::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.zu-grow::after{
  background:
    linear-gradient(180deg,rgba(245,230,200,.35) 0%,rgba(232,200,152,.18) 48%,rgba(201,160,106,.42) 100%);
}
.zu-protect::after{
  background:
    linear-gradient(180deg,
      rgba(245,230,200,.28) 0%,
      rgba(232,200,152,.12) 38%,
      rgba(42,40,56,.25) 62%,
      rgba(15,15,31,.72) 82%,
      #0f0f1f 100%);
}
.zu-grow__brand,
.zu-protect__brand{
  position:absolute;
  top:calc(23/750*var(--lp-vw));
  left:50%;
  z-index:2;
  margin:0;
  font-family:"Avenir Next","Helvetica Neue",sans-serif;
  font-size:calc(192/750*var(--lp-vw));
  font-weight:500;
  line-height:1;
  letter-spacing:.2em;
  padding-left:.2em;
  color:var(--rose);
  opacity:.1;
  transform:translateX(-50%);
  pointer-events:none;
  user-select:none;
  white-space:nowrap;
}
.zu-grow__brand{
  color:rgba(15,15,31,.88);
  opacity:.1;
}
.zu-protect__brand{
  font-size:calc(152/750*var(--lp-vw));
  letter-spacing:-.01em;
  padding-left:0;
  max-width:100%;
  color:rgba(15,15,31,.88);
  opacity:.1;
}
.zu-grow__content,
.zu-protect__content{
  position:relative;
  z-index:3;
}
.zu-grow__content::before,
.zu-protect__content::before{
  content:"";
  position:absolute;
  left:50%;
  top:8%;
  bottom:4%;
  width:min(100%,calc(680/750*var(--lp-vw)));
  z-index:0;
  transform:translateX(-50%);
  pointer-events:none;
  background:
    radial-gradient(ellipse 78% 62% at 50% 42%,rgba(255,248,232,.55) 0%,rgba(245,230,200,.28) 52%,transparent 78%);
}
.zu-grow__content > *,
.zu-protect__content > *{
  position:relative;
  z-index:1;
}
.zu-grow__namebox,
.zu-protect__namebox{
  display:inline-block;
  margin:calc(100/750*var(--lp-vw)) auto calc(41/750*var(--lp-vw));
  padding:calc(16/750*var(--lp-vw)) calc(41/750*var(--lp-vw));
  border:1px solid rgba(201,150,126,.55);
  font-size:calc(34/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.12em;
  line-height:1.5;
  color:var(--brown);
  background:rgba(255,255,255,.72);
}
.zu-grow__namebox{
  border-color:rgba(15,15,31,.28);
  color:#0f0f1f;
  background:rgba(255,248,232,.88);
  box-shadow:0 calc(6/750*var(--lp-vw)) calc(18/750*var(--lp-vw)) rgba(120,90,50,.18);
  text-shadow:none;
}
.zu-protect__namebox{
  border-color:rgba(15,15,31,.28);
  color:#0f0f1f;
  background:rgba(255,248,232,.88);
  box-shadow:0 calc(6/750*var(--lp-vw)) calc(18/750*var(--lp-vw)) rgba(120,90,50,.18);
  text-shadow:none;
}
.zu-grow__desc,
.zu-protect__desc{
  max-width:calc(744/750*var(--lp-vw));
  margin:0 auto calc(55/750*var(--lp-vw));
  font-size:calc(30/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.03em;
  line-height:1.95;
  text-align:center;
  color:var(--ink-soft);
}
.zu-grow__desc{
  color:rgba(15,15,31,.88);
  text-shadow:0 1px 0 rgba(255,248,232,.35);
}
.zu-protect__desc{
  color:#fff;
  text-shadow:
    0 1px 2px rgba(0,0,0,.55),
    0 2px 12px rgba(0,0,0,.35);
  font-size:calc(32/750*var(--lp-vw));
  font-weight:600;
}
.zu-grow__em,
.zu-protect__em{
  font-weight:700;
  color:var(--brown);
}
.zu-grow__em{
  color:#0f0f1f;
  text-shadow:none;
}
.zu-protect__em{
  display:inline-block;
  margin-top:calc(10/750*var(--lp-vw));
  font-size:calc(44/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.45;
  color:var(--gold-l,#e8c898);
  -webkit-text-fill-color:var(--gold-l,#e8c898);
  text-shadow:
    0 1px 2px rgba(0,0,0,.45),
    0 0 18px rgba(201,160,106,.28);
}
.zu-grow__badges{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  justify-content:center;
  gap:calc(23/750*var(--lp-vw)) 0;
  margin:0;
  padding:0;
}
.zu-grow__badge{
  grid-column:span 2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:calc(230/750*var(--lp-vw));
  aspect-ratio:1;
  margin:0;
  justify-self:center;
  padding:calc(14/750*var(--lp-vw)) calc(9/750*var(--lp-vw));
  border:1px solid rgba(15,15,31,.22);
  border-radius:50%;
  font-size:calc(28/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.03em;
  line-height:1.4;
  color:#0f0f1f;
  background:rgba(255,248,232,.9);
  box-shadow:0 calc(5/750*var(--lp-vw)) calc(18/750*var(--lp-vw)) rgba(120,90,50,.16);
  text-align:center;
  text-shadow:none;
}
.zu-grow__badge:nth-child(4){
  grid-column:2 / span 2;
  position:relative;
  left:min(calc(-7/750*var(--lp-vw)),-3px);
}
.zu-grow__badge:nth-child(5){
  grid-column:4 / span 2;
  position:relative;
  left:calc(7/750*var(--lp-vw));
}
.zu-grow__badge--long{
  font-size:calc(22/750*var(--lp-vw));
  letter-spacing:.01em;
  line-height:1.36;
}

/* ── Zu GROW / PROTECT アニメーション ── */
.zu-grow--animate:not(.is-inview) .zu-grow__brand,
.zu-protect--animate:not(.is-inview) .zu-protect__brand{
  opacity:0;
  transform:translateX(-50%) scale(1.14);
}
.zu-grow--animate.is-inview .zu-grow__brand,
.zu-protect--animate.is-inview .zu-protect__brand{
  animation:zuBrandIn 1.5s cubic-bezier(.22,.61,.2,1) forwards;
}
@keyframes zuBrandIn{
  from{
    opacity:0;
    transform:translateX(-50%) scale(1.14);
  }
  to{
    opacity:.1;
    transform:translateX(-50%) scale(1);
  }
}
.zu-grow--animate.is-inview .zu-grow__namebox.wf-anim-item,
.zu-protect--animate.is-inview .zu-protect__namebox.wf-anim-item{
  animation-delay:.18s;
}
.zu-grow--animate.is-inview .zu-grow__desc.wf-anim-item,
.zu-protect--animate.is-inview .zu-protect__desc.wf-anim-item{
  animation-delay:.42s;
}

/* ── Zu PROTECT（GROWと同トンマナ：ゴールド） ── */
.zu-protect__intro{
  max-width:calc(707/750*var(--lp-vw));
  margin:0 auto calc(41/750*var(--lp-vw));
  font-size:calc(30/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.04em;
  line-height:2.1;
  text-align:center;
  color:rgba(15,15,31,.88);
  text-shadow:0 1px 0 rgba(255,248,232,.35);
}
.zu-protect .zu-protect__namebox{
  margin-bottom:calc(23/750*var(--lp-vw));
}
.zu-protect__nodes{
  --protect-pad:calc(55/750*var(--lp-vw));
  --protect-gap:calc(28/750*var(--lp-vw));
  --protect-avail:calc(var(--lp-vw) - 2 * var(--protect-pad));
  --protect-node:calc((var(--protect-avail) - var(--protect-gap)) / 2 - calc(8/750*var(--lp-vw)));
  --protect-side:calc(var(--protect-node) + var(--protect-gap));
  position:relative;
  list-style:none;
  margin:0 auto calc(55/750*var(--lp-vw));
  padding:0;
  width:calc(var(--protect-node) + var(--protect-side));
  height:calc(var(--protect-node) + var(--protect-side) * 0.8660254);
}
.zu-protect__node{
  position:absolute;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:var(--protect-node);
  aspect-ratio:1;
  margin:0;
  padding:calc(23/750*var(--lp-vw)) calc(12/750*var(--lp-vw));
  border:1px solid rgba(15,15,31,.22);
  border-radius:50%;
  background:rgba(255,248,232,.9);
  box-shadow:0 calc(5/750*var(--lp-vw)) calc(18/750*var(--lp-vw)) rgba(120,90,50,.16);
}
.zu-protect__node:nth-child(1){
  top:0;
  left:calc(50% - var(--protect-node) / 2);
}
.zu-protect__node:nth-child(2){
  bottom:0;
  left:0;
}
.zu-protect__node:nth-child(3){
  bottom:0;
  right:0;
}
.zu-protect__node-num{
  position:absolute;
  top:calc(14/750*var(--lp-vw));
  left:50%;
  transform:translateX(-50%);
  font-family:"Avenir Next","Helvetica Neue",sans-serif;
  font-size:calc(44/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.1em;
  line-height:1;
  color:rgba(15,15,31,.45);
  text-shadow:none;
}
.zu-protect__node-title{
  margin:calc(16/750*var(--lp-vw)) 0 0;
  font-size:calc(33/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.3;
  color:#0f0f1f;
  white-space:nowrap;
  text-shadow:none;
}
.zu-protect__node-desc{
  margin:calc(9/750*var(--lp-vw)) 0 0;
  width:96%;
  font-size:calc(23/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.01em;
  line-height:1.4;
  color:rgba(15,15,31,.75);
  text-shadow:none;
}
.zu-protect .zu-protect__desc{
  min-height:auto;
  margin:0 auto;
}

/* ── 16 Medical / 2in1 相乗効果（iCell型レイアウト） ── */
#wf-medical .box[data-asset="medical"]{
  line-height:normal;
}
.medical-dual{
  position:relative;
  min-height:calc(1117/750*var(--lp-vw));
  padding:calc(82/750*var(--lp-vw)) calc(32/750*var(--lp-vw)) calc(73/750*var(--lp-vw));
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  font-family:var(--font-mincho);
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 24%,rgba(255,255,255,.95) 0%,transparent 28%),
    radial-gradient(circle at 82% 18%,rgba(230,240,248,.55) 0%,transparent 32%),
    radial-gradient(circle at 72% 78%,rgba(245,228,220,.45) 0%,transparent 34%),
    linear-gradient(180deg,#0f0f1f 0%,#151520 45%,#1b1b29 100%);
}
.medical-dual__head{
  position:relative;
  z-index:2;
  margin:0 0 calc(41/750*var(--lp-vw));
}
.medical-dual__label{
  margin:0;
  font-size:calc(39/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.22em;
  line-height:1;
  color:var(--ink-soft);
}
.medical-dual__dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:calc(16/750*var(--lp-vw));
  margin:calc(21/750*var(--lp-vw)) 0 calc(25/750*var(--lp-vw));
}
.medical-dual__dots span{
  display:block;
  width:calc(11/750*var(--lp-vw));
  height:calc(11/750*var(--lp-vw));
  border-radius:50%;
  background:var(--rose);
  opacity:.72;
}
.medical-dual__line1{
  margin:0;
  font-size:calc(39/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.1em;
  line-height:1.65;
  color:var(--ink-soft);
}
.medical-dual__stage{
  position:relative;
  z-index:1;
  width:100%;
  max-width:calc(775/750*var(--lp-vw));
  min-height:calc(707/750*var(--lp-vw));
  margin:0 auto calc(32/750*var(--lp-vw));
}
.medical-dual__bubbles{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.medical-dual__bubbles::before,
.medical-dual__bubbles::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.82) 0%,rgba(200,220,235,.28) 52%,transparent 72%);
  filter:blur(.5px);
}
.medical-dual__bubbles::before{
  top:18%;
  left:8%;
  width:calc(137/750*var(--lp-vw));
  height:calc(137/750*var(--lp-vw));
  opacity:.75;
}
.medical-dual__bubbles::after{
  bottom:16%;
  right:10%;
  width:calc(109/750*var(--lp-vw));
  height:calc(109/750*var(--lp-vw));
  opacity:.62;
}
.medical-dual__product{
  position:absolute;
  left:50%;
  top:54%;
  z-index:2;
  width:calc(251/750*var(--lp-vw));
  margin:0;
  transform:translate(-50%,-50%);
  filter:drop-shadow(0 calc(18/750*var(--lp-vw)) calc(36/750*var(--lp-vw)) rgba(120,90,80,.14));
}
.medical-dual__product img{
  width:100%;
  height:auto;
  display:block;
}
.medical-dual__badges{
  list-style:none;
  position:absolute;
  inset:0;
  z-index:3;
  margin:0;
  padding:0;
  pointer-events:none;
}
.medical-dual__badge{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  width:calc(192/750*var(--lp-vw));
  height:calc(192/750*var(--lp-vw));
  margin:0;
  padding:calc(14/750*var(--lp-vw));
  border:1px solid rgba(90,168,196,.32);
  border-radius:50%;
  font-size:calc(25/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.04em;
  line-height:1.55;
  color:var(--ink-soft);
  background:rgba(255,255,255,.78);
  box-shadow:0 calc(9/750*var(--lp-vw)) calc(27/750*var(--lp-vw)) rgba(120,70,60,.08);
}
.medical-dual__badge em{
  font-style:normal;
  font-weight:600;
  color:var(--rose);
}
.medical-dual__badge--tl{top:4%;left:2%}
.medical-dual__badge--tr{top:4%;right:2%}
.medical-dual__badge--bl{bottom:4%;left:2%}
.medical-dual__badge--br{bottom:4%;right:2%}
.medical-dual__line2{
  position:relative;
  z-index:2;
  margin:0;
  max-width:calc(707/750*var(--lp-vw));
  font-size:calc(32/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.08em;
  line-height:1.7;
  color:var(--ink-soft);
}

/* ── 22 Catch02 / 毎日の変化タイムライン ── */
.change-timeline{
  --ct-beige:#4e5466;
  --ct-beige-deep:#1b1b29;
  --ct-label:calc(100/750*var(--lp-vw));
  --ct-rail:calc(46/750*var(--lp-vw));
  --ct-gap:calc(36/750*var(--lp-vw));
  position:relative;
  min-height:calc(1505/750*var(--lp-vw));
  padding:calc(82/750*var(--lp-vw)) calc(46/750*var(--lp-vw)) calc(109/750*var(--lp-vw));
  background:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"),
    linear-gradient(180deg,#2b2940 0%,var(--ct-beige) 42%,var(--ct-beige-deep) 100%);
  color:#fff;
  font-family:var(--font-mincho);
  line-height:normal;
  overflow:hidden;
}
.change-timeline__point{
  display:flex;
  align-items:stretch;
  max-width:calc(707/750*var(--lp-vw));
  margin:0 auto calc(55/750*var(--lp-vw));
  border:1px solid rgba(255,255,255,.92);
}
.change-timeline__point-label{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:calc(123/750*var(--lp-vw));
  padding:calc(11/750*var(--lp-vw)) calc(14/750*var(--lp-vw));
  background:#fff;
  font-size:calc(25/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.12em;
  color:var(--ct-beige-deep);
}
.change-timeline__point-text{
  flex:1;
  display:flex;
  align-items:center;
  margin:0;
  padding:calc(14/750*var(--lp-vw)) calc(18/750*var(--lp-vw));
  font-size:calc(25/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.04em;
  line-height:1.65;
}
.change-timeline__title{
  margin:0 0 calc(73/750*var(--lp-vw));
  text-align:center;
  font-size:calc(66/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.12em;
  line-height:1.75;
}
.change-timeline__title span{
  display:block;
}
.change-timeline__title span + span{
  margin-top:calc(9/750*var(--lp-vw));
}
.change-timeline__list{
  position:relative;
  list-style:none;
  margin:0 auto;
  padding:calc(9/750*var(--lp-vw)) 0 calc(18/750*var(--lp-vw));
  width:calc(707/750*var(--lp-vw));
  transform:translateX(calc(48/750*var(--lp-vw)));
}
.change-timeline__list::before{
  content:"";
  position:absolute;
  top:calc(14/750*var(--lp-vw));
  bottom:calc(14/750*var(--lp-vw));
  left:calc(var(--ct-label) + var(--ct-rail)/2);
  width:1px;
  background:rgba(255,255,255,.88);
  transform:translateX(-50%);
}
.change-timeline__item{
  display:grid;
  grid-template-columns:var(--ct-label) var(--ct-rail) minmax(0,1fr);
  column-gap:var(--ct-gap);
  align-items:start;
  padding:0 0 calc(82/750*var(--lp-vw));
}
.change-timeline__item:last-child{
  padding-bottom:calc(9/750*var(--lp-vw));
}
.change-timeline__item::before{
  content:"";
  grid-column:2;
  grid-row:1;
  justify-self:center;
  width:calc(28/750*var(--lp-vw));
  height:calc(28/750*var(--lp-vw));
  margin-top:calc(3/750*var(--lp-vw));
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0c1.1 7.5 3.4 9.8 12 11-8.6 1.2-10.9 3.5-12 11-1.1-7.5-3.4-9.8-12-11 8.6-1.2 10.9-3.5 12-11z' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 0 calc(8/750*var(--lp-vw)) rgba(255,255,255,.85));
  animation:ctSparkle 2.8s ease-in-out infinite;
}
.change-timeline__item:nth-child(2)::before{animation-delay:.5s}
.change-timeline__item:nth-child(3)::before{animation-delay:1s}
.change-timeline__item:nth-child(4)::before{animation-delay:1.5s}
@keyframes ctSparkle{
  0%,100%{opacity:.72;transform:scale(.88) rotate(0deg)}
  50%{opacity:1;transform:scale(1.12) rotate(8deg)}
}
@media (prefers-reduced-motion:reduce){
  .change-timeline__item::before{animation:none}
}
.change-timeline__when{
  grid-column:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:calc(5/750*var(--lp-vw));
  margin:0;
  padding-top:min(calc(2/750*var(--lp-vw)),2px);
  font-family:"Helvetica Neue",Arial,sans-serif;
  text-align:center;
}
.change-timeline__period-num{
  font-size:calc(39/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.02em;
  line-height:1;
}
.change-timeline__period-unit{
  font-size:calc(19/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.16em;
  line-height:1;
  text-transform:lowercase;
  opacity:.9;
}
.change-timeline__body{
  grid-column:3;
  padding-top:0;
  min-height:0;
  text-align:left;
}
.change-timeline__desc{
  margin:0;
  font-size:calc(32/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.02em;
  line-height:1.85;
  text-align:left;
  max-width:100%;
  padding-right:.25em;
  overflow-wrap:normal;
  word-break:keep-all;
}
.change-timeline__note{
  margin:calc(64/750*var(--lp-vw)) 0 0;
  padding-top:calc(9/750*var(--lp-vw));
  text-align:center;
  font-size:calc(23/750*var(--lp-vw));
  font-weight:400;
  letter-spacing:.04em;
  line-height:1.7;
  color:rgba(255,255,255,.72);
}

/* ── 19 Catch / 中間キャッチ ── */
#wf-catch .box[data-asset="catch"]{
  line-height:normal;
}
.catch-hero{
  position:relative;
  overflow:visible;
  font-family:var(--font-mincho);
}
.catch-hero__photo{
  position:relative;
  margin:0;
  line-height:0;
}
.catch-hero__photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,var(--aqua-l) 0%,rgba(232,246,251,.88) 10%,rgba(212,238,248,.55) 24%,rgba(185,224,240,.32) 42%,rgba(15,15,31,.18) 70%,rgba(15,15,31,.35) 100%),
    radial-gradient(ellipse 120% 50% at 50% 0%,rgba(255,255,255,.55) 0%,transparent 62%),
    radial-gradient(ellipse 88% 52% at 20% 92%,rgba(185,224,240,.45) 0%,transparent 72%),
    rgba(185,224,240,.12);
  pointer-events:none;
}
.catch-hero__photo-img{
  width:100%;
  height:auto;
  display:block;
  vertical-align:top;
}
.catch-hero__copy{
  position:absolute;
  inset:0;
  z-index:2;
  overflow:visible;
  pointer-events:none;
}
.catch-hero__copy::before{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  z-index:0;
  width:calc(638/750*var(--lp-vw));
  height:calc(201/750*var(--lp-vw));
  pointer-events:none;
  background:
    radial-gradient(ellipse 100% 100% at 0% 100%,rgba(232,246,251,.92) 0%,rgba(212,238,248,.68) 42%,rgba(185,224,240,.28) 72%,transparent 100%);
}
.catch-hero__line1{
  position:absolute;
  top:auto;
  bottom:calc(118/750*var(--lp-vw));
  left:calc(41/750*var(--lp-vw));
  right:calc(41/750*var(--lp-vw));
  z-index:1;
  margin:0;
  font-size:calc(59/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.12em;
  line-height:1.45;
  white-space:nowrap;
  color:var(--ink-navy);
  text-align:left;
  text-shadow:
    0 1px 10px rgba(255,255,255,.55),
    0 1px 3px rgba(255,255,255,.4);
}
.catch-hero__line2{
  position:absolute;
  top:auto;
  bottom:calc(42/750*var(--lp-vw));
  left:calc(41/750*var(--lp-vw));
  right:auto;
  z-index:1;
  margin:0;
  max-width:calc(100% - calc(55/750*var(--lp-vw)));
  padding-right:calc(7/750*var(--lp-vw));
  font-size:calc(48/750*var(--lp-vw));
  font-weight:600;
  letter-spacing:.12em;
  line-height:1.45;
  white-space:nowrap;
  color:var(--ink-navy);
  background:none;
  -webkit-text-fill-color:var(--ink-navy);
  text-align:left;
  text-shadow:
    0 1px 8px rgba(255,255,255,.55),
    0 1px 3px rgba(255,255,255,.4);
}

/* ── 24 FAQ / よくある質問 ── */
#wf-faq .box[data-asset="faq"]{
  line-height:normal;
}
.faq-panel{
  padding:calc(55/750*var(--lp-vw)) calc(41/750*var(--lp-vw)) calc(59/750*var(--lp-vw));
  background:var(--navy-mid);
  font-family:var(--font-mincho);
  color:var(--ink);
}
.faq-panel__head{
  margin:0 0 calc(41/750*var(--lp-vw));
  text-align:center;
}
.faq-panel__eyebrow{
  margin:0;
  font-size:calc(23/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.28em;
  color:var(--gold);
}
.faq-panel__title{
  margin:calc(11/750*var(--lp-vw)) 0 0;
  font-size:calc(50/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.45;
  color:var(--brown);
}
.faq-panel__title::before,
.faq-panel__title::after{
  content:"";
  display:inline-block;
  width:calc(41/750*var(--lp-vw));
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  vertical-align:middle;
  margin:0 calc(16/750*var(--lp-vw));
}
.faq-panel__list{
  display:flex;
  flex-direction:column;
}
.faq-panel__item{
  border-bottom:1px solid rgba(201,160,106,.22);
}
.faq-panel__item:last-child{
  border-bottom:none;
}
.faq-panel__q{
  position:relative;
  display:flex;
  align-items:center;
  gap:0;
  margin:0;
  padding:calc(25/750*var(--lp-vw)) calc(64/750*var(--lp-vw)) calc(25/750*var(--lp-vw)) calc(32/750*var(--lp-vw));
  background:linear-gradient(180deg,#151520 0%,#0f0f1f 100%);
  border-left:calc(6/750*var(--lp-vw)) solid var(--gold);
  font-size:calc(32/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.65;
  color:var(--ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
  cursor:pointer;
  list-style:none;
  transition:background .25s ease;
}
.faq-panel__q::-webkit-details-marker{
  display:none;
}
.faq-panel__q::marker{
  content:"";
}
.faq-panel__item[open] .faq-panel__q{
  background:linear-gradient(180deg,#0f0f1f 0%,#1b1b29 100%);
}
.faq-panel__q-text{
  flex:1;
  min-width:0;
}
.faq-panel__icon{
  position:absolute;
  top:50%;
  right:calc(23/750*var(--lp-vw));
  width:calc(32/750*var(--lp-vw));
  height:calc(32/750*var(--lp-vw));
  border-radius:50%;
  background:var(--rose);
  transform:translateY(-50%);
  flex-shrink:0;
}
.faq-panel__icon::before,
.faq-panel__icon::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:calc(14/750*var(--lp-vw));
  height:2px;
  border-radius:1px;
  background:var(--gold-l);
  transform:translate(-50%,-50%);
  transition:transform .25s ease;
}
.faq-panel__icon::after{
  transform:translate(-50%,-50%) rotate(90deg);
}
.faq-panel__item[open] .faq-panel__icon::after{
  transform:translate(-50%,-50%) rotate(0);
}
.faq-panel__body{
  overflow:hidden;
}
.faq-panel__a{
  margin:0;
  padding:calc(21/750*var(--lp-vw)) calc(27/750*var(--lp-vw)) calc(27/750*var(--lp-vw)) calc(32/750*var(--lp-vw));
  background:var(--navy);
  font-size:calc(27/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.03em;
  line-height:1.85;
  color:var(--ink-soft);
}
.faq-panel__mark{
  display:inline-block;
  min-width:1.55em;
  margin-right:.08em;
  font-weight:700;
  letter-spacing:0;
}
.faq-panel__q .faq-panel__mark{
  color:var(--brown);
}
.faq-panel__a .faq-panel__mark{
  color:var(--rose);
}

/* ── 25 Footer ── */
#wf-footer .box[data-asset="footer"]{
  line-height:normal;
  min-height:calc(479/750*var(--lp-vw));
}
#wf-footer.site-footer .box > p,
#wf-footer.site-footer .box > nav{
  line-height:normal;
}
.site-footer__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:calc(479/750*var(--lp-vw));
  padding:calc(82/750*var(--lp-vw)) calc(41/750*var(--lp-vw)) calc(73/750*var(--lp-vw));
  background:linear-gradient(180deg,#1b1b29 0%,#080814 55%,#080814 100%);
  text-align:center;
  font-family:var(--font-mincho);
  color:rgba(232,236,244,.72);
}
.site-footer__brand{
  margin:0;
  font-size:calc(39/750*var(--lp-vw));
  font-weight:700;
  letter-spacing:.14em;
  line-height:1.6;
  color:#fff;
}
.site-footer__brand-en{
  display:block;
  margin-top:calc(9/750*var(--lp-vw));
  font-size:calc(21/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.28em;
  line-height:1.5;
  color:var(--gold-l);
}
.site-footer__product{
  margin:calc(23/750*var(--lp-vw)) 0 0;
  font-size:calc(21/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.12em;
  line-height:1.6;
  color:rgba(232,236,244,.55);
}
.site-footer__nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:calc(18/750*var(--lp-vw)) calc(27/750*var(--lp-vw));
  margin:calc(46/750*var(--lp-vw)) 0 0;
}
.site-footer__nav a{
  font-size:calc(21/750*var(--lp-vw));
  font-weight:500;
  letter-spacing:.04em;
  line-height:1.6;
  color:rgba(232,236,244,.72);
  text-decoration:none;
  border-bottom:1px solid rgba(232,236,244,.18);
  transition:color .2s ease,border-color .2s ease;
}
.site-footer__nav a:hover{
  color:#fff;
  border-bottom-color:rgba(201,160,106,.55);
}
.site-footer__copy{
  margin:calc(41/750*var(--lp-vw)) 0 0;
  font-size:calc(18/750*var(--lp-vw));
  font-weight:400;
  letter-spacing:.06em;
  line-height:1.6;
  color:rgba(232,236,244,.42);
}
.site-footer__copy small{
  font-size:inherit;
}


/* navy-global-pass */
.lp_wrap main > section,
.lp_wrap main > footer{
  background-color:var(--navy);
}
#wf-zu-grow{
  background:
    linear-gradient(165deg,#f5e6c8 0%,#e8c898 38%,#d4b078 72%,#c9a06a 100%);
}
#wf-zu-protect{
  background:
    linear-gradient(180deg,
      #f5e6c8 0%,
      #e8c898 32%,
      #d4b078 52%,
      #b89868 64%,
      #6a5a48 76%,
      #2a2838 88%,
      #0f0f1f 100%);
}
#wf-serum .box[data-asset="serum-tagline"]{
  background:linear-gradient(165deg,#f5e6c8 0%,#e8c898 38%,#d4b078 72%,#c9a06a 100%);
}
#wf-howto{
  background:linear-gradient(180deg,#1b1b29 0%,#0f0f1f 48%,#080814 100%);
}
#wf-point-slide{
  background:var(--navy);
}
.habits-copy__tagbox span{
  color:#0f0f1f;
}
.change-timeline__point-label{
  color:#1b1b29;
}
.site-footer__nav a:hover{
  border-bottom-color:rgba(201,160,106,.55);
}
