/* LUO LP 2026（2026-10-11 確定版） */
html{font-size:16px}

:root{
  --white:#ffffff;
  --blush-50:#fdf8f8;
  --blush-100:#f9eef0;
  --blush-200:#f2dde1;
  --rose-300:#dcb3ba;
  --rose-500:#b97f89;
  --rose-700:#94596a;
  --ink:#3a3134;
  --ink-soft:#6d6266;
  --line:#ecdfe2;
  --serif:'Noto Serif JP','Yu Mincho','YuMincho','Hiragino Mincho ProN',serif;
  --sans:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;
  --en:'Cormorant Garamond','Times New Roman',serif;
  --wrap:1120px;
  --radius:18px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.95;letter-spacing:.04em;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.wrap{width:min(var(--wrap),100% - 32px);margin-inline:auto}
.sec{position:relative;padding:96px 0}
.sec--tint{background:var(--blush-50)}
.label{display:block;font-family:var(--en);font-style:italic;font-size:17px;letter-spacing:.12em;color:var(--rose-500);margin-bottom:6px}
.ttl{font-family:var(--serif);font-weight:500;font-size:clamp(22px,3.2vw,30px);line-height:1.7;letter-spacing:.08em;margin:0 0 28px}
.center{text-align:center}
.lead{color:var(--ink-soft);margin:0 0 40px}
.serif{font-family:var(--serif)}
.sp-br{display:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 34px;border-radius:999px;background:var(--rose-700);color:var(--white);text-decoration:none;font-family:var(--serif);font-size:15px;letter-spacing:.12em;transition:background .3s,transform .3s;box-shadow:0 8px 24px rgba(148,89,106,.18)}
.btn:hover{background:#82495a;transform:translateY(-2px)}
.btn::after{content:'';width:18px;height:1px;background:currentColor;box-shadow:none;transition:width .3s}
.btn:hover::after{width:26px}
.btn--ghost{background:transparent;color:var(--rose-700);border:1px solid var(--rose-300);box-shadow:none}
.btn--ghost:hover{background:var(--blush-100)}
.btn--sm{min-height:40px;padding:0 22px;font-size:13px}

/* ---------- header ---------- */
.hd{position:fixed;inset:0 0 auto;z-index:50;transition:background .4s,box-shadow .4s}
.hd.is-scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);box-shadow:0 1px 0 var(--line)}
.hd__in{display:flex;align-items:center;justify-content:space-between;height:68px;width:min(1280px,100% - 32px);margin-inline:auto}
.logo{text-decoration:none;display:flex;flex-direction:column;line-height:1.2}
.logo__en{font-family:var(--en);font-size:24px;letter-spacing:.14em}
.logo__jp{font-family:var(--serif);font-size:10px;letter-spacing:.3em;color:var(--ink-soft)}
.nav{display:flex;align-items:center;gap:26px}
.nav a{text-decoration:none;font-family:var(--serif);font-size:13px;letter-spacing:.1em}
.nav a:not(.btn):hover{color:var(--rose-700)}
.menu-btn{display:none;width:44px;height:44px;border:0;background:none;padding:0;cursor:pointer}
.menu-btn span{display:block;width:24px;height:1px;background:var(--ink);margin:6px auto;transition:transform .3s,opacity .3s}


/* petals (自作SVG・装飾) */
.petal{position:absolute;width:22px;height:22px;opacity:.55;pointer-events:none}
.petal svg{width:100%;height:100%;fill:var(--rose-300)}

/* ---------- results ---------- */
.ba{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ba figure{margin:0;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px rgba(185,127,137,.10)}
.dots{display:none}

/* ---------- worries ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split--rev .split__media{order:2}
.round{border-radius:50%;overflow:hidden;aspect-ratio:1;box-shadow:0 0 0 14px var(--blush-100)}
.round img{width:100%;height:100%;object-fit:cover}
.checks{list-style:none;margin:0 0 28px;padding:0}
.checks li{position:relative;padding:14px 0 14px 34px;border-bottom:1px solid var(--line);font-family:var(--serif)}
.checks li::before{content:'';position:absolute;left:4px;top:24px;width:12px;height:7px;border-left:1.5px solid var(--rose-500);border-bottom:1.5px solid var(--rose-500);transform:rotate(-45deg)}
.note{font-family:var(--serif);color:var(--rose-700);margin:0}

/* ---------- cause ---------- */
.habits{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:40px 0}
.habit{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px 14px;text-align:center}
.habit b{display:block;font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:.2em;margin-bottom:6px}
.habit small{font-size:12px;color:var(--ink-soft);line-height:1.7;display:block}
.cause-photo{border-radius:var(--radius);overflow:hidden;margin-bottom:40px}
.cause-list{max-width:640px;margin:0 auto;padding:0;list-style:none;counter-reset:c}
.cause-list li{font-family:var(--serif);padding:12px 0;border-bottom:1px dashed var(--rose-300);display:flex;gap:16px}
.cause-list li::before{counter-increment:c;content:counter(c,decimal-leading-zero);font-family:var(--en);font-style:italic;color:var(--rose-500);font-size:18px}
.cause-end{font-family:var(--serif);font-size:clamp(16px,2vw,19px);text-align:center;margin:36px 0 0;line-height:2}

/* ---------- method ---------- */
.method-head{max-width:720px;margin:0 auto 56px;text-align:center}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.steps::before{content:'';position:absolute;top:44px;left:12%;right:12%;height:1px;background:var(--rose-300)}
.step{position:relative;text-align:center;padding:0 6px}
.step__no{width:88px;height:88px;margin:0 auto 20px;border-radius:50%;background:var(--white);border:1px solid var(--rose-300);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--en);font-style:italic;color:var(--rose-700);line-height:1.1}
.step__no small{font-size:11px;letter-spacing:.1em}
.step__no b{font-weight:400;font-size:28px}
.step h3{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:.24em;margin:0 0 8px}
.step p{font-size:13px;color:var(--ink-soft);margin:0;line-height:1.85}
.motto{margin:64px auto 0;max-width:760px;text-align:center;font-family:var(--serif);font-size:clamp(17px,2.3vw,22px);line-height:2;letter-spacing:.1em;padding:36px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ---------- voice ---------- */
.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.voice{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px rgba(185,127,137,.10)}
.voice__img{aspect-ratio:4/4.4;overflow:hidden}
.voice__img img{width:100%;height:100%;object-fit:cover}
.voice__body{padding:24px 24px 28px}
.voice__q{font-family:var(--serif);font-size:16px;line-height:1.8;margin:0 0 10px}
.voice__who{font-size:12px;color:var(--rose-500);margin:0}
.reviews{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 20px;margin-top:48px}
.reviews img{flex:0 0 260px;width:260px;border-radius:12px;border:1px solid var(--line);scroll-snap-align:start}
.reviews-cta{text-align:center;margin-top:20px}

/* ---------- trial ---------- */
.trial{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}
.plan{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:34px 20px;text-align:center;position:relative}
.plan--main{border-color:var(--rose-300);box-shadow:0 14px 36px rgba(185,127,137,.16)}
.plan--main::before{content:'まずはここから';position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--rose-700);color:var(--white);font-size:11px;letter-spacing:.14em;padding:3px 14px;border-radius:999px;white-space:nowrap}
.plan__en{font-family:var(--en);font-style:italic;color:var(--rose-500);font-size:16px}
.plan__name{font-family:var(--serif);font-size:16px;margin:4px 0 2px}
.plan__term{font-size:12px;color:var(--ink-soft);min-height:1.9em}
.plan__price{font-family:var(--en);font-size:40px;line-height:1.2;margin-top:10px}
.plan__price small{font-family:var(--sans);font-size:11px;color:var(--ink-soft);margin-left:4px}
.trial-note{text-align:center;font-size:13px;color:var(--ink-soft);margin:0 0 36px}

/* ---------- price ---------- */
.prices{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pcard{background:var(--white);border-radius:var(--radius);padding:40px 34px;border:1px solid var(--line)}
.pcard h3{font-family:var(--en);font-weight:500;font-size:24px;letter-spacing:.12em;margin:0 0 4px;color:var(--rose-700)}
.pcard h3 + p{font-family:var(--serif);font-size:13px;color:var(--ink-soft);margin:0 0 20px}
.for{background:var(--blush-50);border-radius:12px;padding:16px 20px;margin-bottom:24px;font-size:13px}
.for b{font-family:var(--serif);font-weight:500;color:var(--rose-700);display:block;margin-bottom:4px}
.for ul{margin:0;padding-left:1.2em}
.ptable{width:100%;border-collapse:collapse;margin-bottom:22px;font-size:14px}
.ptable caption{text-align:left;font-family:var(--serif);font-size:14px;padding-bottom:6px}
.ptable th,.ptable td{padding:12px 4px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.ptable td{text-align:right;font-family:var(--en);font-size:20px}
.ptable thead th{font-size:11px;color:var(--ink-soft);border-bottom-color:var(--rose-300)}
.ptable thead th:last-child{text-align:right}

/* ---------- instructor ---------- */
.lead-ins{display:grid;grid-template-columns:320px 1fr;gap:56px;align-items:center;margin-bottom:64px}
.lead-ins__img{border-radius:160px 160px 20px 20px;overflow:hidden;aspect-ratio:394/470}
.lead-ins__img img{width:100%;height:100%;object-fit:cover}
.role{font-size:12px;color:var(--ink-soft);letter-spacing:.14em;margin:0}
.name{font-family:var(--en);font-weight:500;font-size:44px;letter-spacing:.08em;line-height:1.2;margin:0 0 10px}
.catch{font-family:var(--serif);color:var(--rose-700);font-size:18px;margin:0 0 18px}
.career{list-style:none;padding:0;margin:0 0 20px;font-size:13px;display:flex;flex-wrap:wrap;gap:8px}
.career li{background:var(--blush-100);padding:4px 12px;border-radius:999px}
.msg{font-size:14px;color:var(--ink-soft);margin:0}

.member{text-align:center}
.member__img{width:180px;height:180px;margin:0 auto 18px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 10px var(--blush-100)}
.member__img img{width:100%;height:100%;object-fit:cover;object-position:center 20%} .team{display:flex;flex-direction:column;gap:22px;max-width:760px;margin:56px auto 0} .team .member{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:32px;text-align:left;background:#fff;border:1px solid #F3D4DD;border-radius:22px;padding:24px 32px} .team .member__img{width:140px;height:140px;margin:0} .member__pos{margin:0 0 2px;font-size:12px;letter-spacing:.14em;color:#E73565} .lead-ins .role{color:#E73565} .team .member{align-items:start} .team .member__img{width:150px;height:150px;border-radius:50%;box-shadow:0 0 0 8px var(--blush-100)} .team .member__img img{width:100%;height:100%;object-fit:cover;object-position:center 18%} .team .member__img img[src*="c-keiko"]{transform:scale(1.3);transform-origin:46% 34%} .team .member__img img[src*="c-nana"]{transform:scale(1.18);transform-origin:50% 30%} .team .member__txt{padding-top:6px} .team .member .career{margin:6px 0 12px} @media (max-width:767px){.team .member .career{justify-content:center}.team .member .msg{text-align:left}} .team .member .catch{margin:4px 0 8px} @media (max-width:767px){.team{gap:16px;margin-top:40px}.team .member{grid-template-columns:1fr;justify-items:center;text-align:center;gap:14px;padding:22px 18px}.team .member__img{width:150px;height:150px}} .member__img--none{display:flex;align-items:center;justify-content:center;background:var(--blush-100,#FBEFF2)} .member__img--none span{font-family:var(--serif,serif);font-size:56px;color:#d9b9c3}
.member .name{font-size:30px;margin:0}
.member .catch{font-size:14px;margin:6px 0 10px}
.member .role{line-height:1.8}

/* ---------- access ---------- */
.access{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:stretch}
.info dl{margin:0}
.info dt{font-family:var(--en);font-style:italic;color:var(--rose-500);font-size:16px;margin-top:20px}
.info dt:first-child{margin-top:0}
.info dd{margin:2px 0 0;font-family:var(--serif)}
.info dd a{text-decoration:none}
.map{border-radius:var(--radius);overflow:hidden;min-height:360px;background:var(--blush-100)}
.map iframe{width:100%;height:100%;min-height:360px;border:0;display:block}

/* ---------- closing ---------- */
.closing{text-align:center;padding:110px 0 120px;background:radial-gradient(ellipse at 50% 0%,var(--blush-200) 0%,var(--blush-50) 55%,var(--white) 100%);overflow:hidden;position:relative}
.closing h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,4vw,40px);letter-spacing:.12em;line-height:1.6;margin:0 0 28px}
.closing p{font-family:var(--serif);line-height:2.2;margin:0 0 40px}

/* ---------- footer ---------- */
.ft{background:#f6eef0;padding:56px 0 110px;text-align:center;font-size:12px;color:var(--ink-soft)}
.ft nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;margin:22px 0}
.ft nav a{text-decoration:none}

/* ---------- fixed CTA (mobile) ---------- */
.fcta{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(8px);box-shadow:0 -1px 0 var(--line);transform:translateY(110%);transition:transform .4s}
.fcta.is-show{transform:none}
.fcta a{flex:1;min-height:50px;border-radius:999px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;font-family:var(--serif);line-height:1.3}
.fcta__main{background:var(--rose-700);color:var(--white);font-size:14px;letter-spacing:.08em}
.fcta__main small{font-size:10px;opacity:.85;letter-spacing:.06em}
.fcta__sub{flex:0 0 96px !important;border:1px solid var(--rose-300);color:var(--rose-700);font-size:12px}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity 1s ease,transform 1s ease}
.js .rv.is-in{opacity:1;transform:none}
.js .rv-d1{transition-delay:.12s}.js .rv-d2{transition-delay:.24s}.js .rv-d3{transition-delay:.36s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none;transition:none}
}

.hd .btn{background:#C43E65;box-shadow:0 8px 22px rgba(196,62,101,.22)}
.hd .btn:hover{background:#AD3457}
.hd .logo__jp{color:#343034}

/* ================= FIRST VIEW（最終デザイン 2026-10-11）=================
   色：ダークブラウン #343034 / ローズピンク #C43E65 / 淡いピンク #D8849B / 白
   ファーストビュー関係のスタイルはこのブロックにまとめています。 */
.fv,.msg-band{--fv-ink:#343034;--fv-rose:#C43E65;--fv-rose-soft:#D8849B}
.nw{white-space:nowrap}
.fv{position:relative;display:flex;align-items:center;min-height:max(700px,min(100svh,1080px));overflow:hidden;background:#fff}
.fv__media{position:absolute;top:0;bottom:0;right:0;width:min(58%,1180px);display:block;overflow:hidden}
.fv__media img{width:100%;height:100%;object-fit:cover;object-position:var(--fv-pos-pc,center);animation:heroZoom 14s ease-out both}
.fv__media::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.82) 4%,rgba(255,255,255,.3) 11%,rgba(255,255,255,0) 20%)}
@keyframes heroZoom{from{transform:scale(1.04)}to{transform:scale(1)}}
.fv__veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.6) 0,rgba(255,255,255,0) 110px)}
.fv__inner{position:relative;z-index:2;width:100%;padding:118px 0 170px clamp(40px,6vw,120px)}
.fv__place{display:flex;align-items:center;gap:14px;margin:0 0 22px;font-family:var(--serif);font-weight:500;font-size:15px;letter-spacing:.18em;color:var(--fv-ink)}
.fv__place::before{content:'';width:40px;height:1.5px;background:var(--fv-rose)}
.fv__copy{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(48px,4.4vw,84px);line-height:1.38;letter-spacing:.05em;color:var(--fv-ink)}
.fv__copy em{font-style:normal;font-size:1.1em;color:var(--fv-rose)}
.fv__sub{margin:22px 0 0;font-family:var(--serif);font-weight:500;font-size:clamp(18px,1.5vw,25px);line-height:1.7;letter-spacing:.1em;color:var(--fv-ink)}
.feats{display:flex;gap:12px;margin:42px 0 0;padding:0;list-style:none}
.feat{width:clamp(156px,11.4vw,206px);aspect-ratio:1/1;flex:0 0 auto;border-radius:50%;background:#fff;border:1.5px solid var(--fv-rose-soft);box-shadow:0 10px 30px rgba(52,48,52,.10);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px}
.feat__h{margin:0;font-family:var(--serif);font-weight:700;font-size:clamp(18px,1.35vw,25px);line-height:1.3;letter-spacing:.02em;color:var(--fv-rose)}
.feat__h::after{content:'';display:block;width:24px;height:1.5px;background:var(--fv-rose-soft);margin:10px auto}
.feat__p{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(14.5px,1.08vw,19px);line-height:1.6;color:var(--fv-ink)}
.fv__wave{position:absolute;z-index:1;left:0;right:0;bottom:-1px;width:100%;height:120px;display:block;pointer-events:none}
.fv__wave .w1{fill:#F2DDE3;opacity:.7}
.fv__wave .w2{fill:#FDF7F8}
.fv-in{animation:fvIn 1.1s ease both}
.fv-d1{animation-delay:.15s}.fv-d2{animation-delay:.3s}.fv-d3{animation-delay:.45s}
@keyframes fvIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.msg-band{padding:40px 0 88px;text-align:center;background:linear-gradient(180deg,#FDF7F8 0%,#fff 100%)}
.msg-band__l1{margin:0 0 6px;font-family:var(--serif);font-weight:500;font-size:clamp(17px,1.8vw,22px);letter-spacing:.12em;color:var(--fv-ink)}
.msg-band__l2{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.6vw,32px);letter-spacing:.1em;color:var(--fv-ink)}
.msg-band__l2 em{font-style:normal;font-weight:600;font-size:1.18em;color:var(--fv-rose)}
.msg-band__line{display:block;width:56px;height:1.5px;background:var(--fv-rose-soft);margin:26px auto 0}
/* PC：縦が短い画面 */
@media (min-width:768px) and (max-height:820px){
  .fv__inner{padding:96px 0 130px clamp(40px,6vw,120px)}
  .fv__copy{font-size:clamp(46px,4.1vw,70px)}
  .fv__place{margin-bottom:16px}
  .fv__sub{margin-top:16px}
  .feats{margin-top:28px}
}
@media (min-width:1101px) and (max-width:1600px){
  .fv__media{width:55%}
  .feats{gap:10px}
}
/* タブレット幅：写真を少し狭く */
@media (min-width:768px) and (max-width:1100px){
  .fv__media{width:52%}
  .fv__copy{font-size:clamp(40px,5vw,54px)}
  .feat{width:146px}
  .feat__h{font-size:17px}
  .feat__p{font-size:13.5px}
}
/* スマホ：ロゴ → コピー → サブコピー → 写真 → 横長カード3枚 */
@media (max-width:767px){
  .fv{display:flex;flex-direction:column;align-items:stretch;min-height:0}
  .fv__veil{display:none}
  .fv__inner{display:contents}
  .fv__text{order:1;padding:92px 20px 0}
  .fv__media{order:2;position:relative;top:auto;bottom:auto;right:auto;width:100%;aspect-ratio:930/780;margin-top:26px}
  .fv__media img{object-position:var(--fv-pos-sp,50% 36%)}
  .fv__media::after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 5%)}
  .feats{order:3;flex-direction:column;gap:10px;margin:18px 0 0;padding:0 16px 86px}
  .fv__place{font-size:13px;letter-spacing:.1em;gap:10px;margin-bottom:14px}
  .fv__place::before{width:24px}
  .fv__copy{font-size:clamp(36px,11vw,44px);line-height:1.36;letter-spacing:.04em}
  .fv__sub{font-size:17px;line-height:1.7;letter-spacing:.06em;margin-top:14px}
  .feat{width:100%;aspect-ratio:auto;flex-direction:row;justify-content:flex-start;align-items:center;text-align:left;gap:16px;padding:15px 18px;border-radius:16px;border:1px solid var(--fv-rose-soft);box-shadow:0 6px 18px rgba(52,48,52,.06)}
  .feat__h{flex:0 0 6.9em;font-size:19px;letter-spacing:0}
  .feat__h::after{display:none}
  .feat__p{font-size:16px;line-height:1.55;letter-spacing:0;padding-left:16px;border-left:1.5px solid var(--fv-rose-soft)}
  .fv__wave{height:64px}
  .msg-band{padding:22px 0 64px}
  .msg-band__l1{font-size:16px}
  .msg-band__l2{font-size:21px;letter-spacing:.05em}
}
@media (max-width:359px){
  .feat__h{font-size:17px}
  .feat__p{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  .fv__media img,.fv-in{animation:none}
}

/* ---------- FIRST VIEW 華やかさ調整（2026-10-11）：光・タイポグラフィ・円の立体感 ---------- */
/* ① 背景：左上から差し込むごく淡いローズの光 */
.fv{background:
  radial-gradient(ellipse 62% 78% at 6% 28%,rgba(244,205,216,.55) 0%,rgba(248,224,231,.32) 38%,rgba(255,255,255,0) 72%),
  linear-gradient(118deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.7) 46%,rgba(255,255,255,0) 60%),
  #fff}
.fv__media::after{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.78) 4%,rgba(253,240,244,.28) 11%,rgba(255,255,255,0) 20%)}
/* 写真にごく薄い光のヴェール（透明感） */
.fv__media img{filter:saturate(1.02) contrast(1.01)}
.fv__media::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 30% 10%,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 60%)}
/* ② キャッチコピー：プロポーショナル字詰め・字間・行間 */
.fv__copy{font-feature-settings:"palt" 1;letter-spacing:.09em;line-height:1.32}
.fv__copy .nw:first-child{display:inline-block;margin-left:-.04em}
.fv__copy em{display:inline-block;font-weight:700;letter-spacing:.06em;margin-top:.06em;color:#C43E65}
.fv__place{font-feature-settings:"palt" 1;letter-spacing:.24em}
.fv__sub{letter-spacing:.12em}
.fv__sub::before{content:'';display:block;width:56px;height:1px;background:linear-gradient(90deg,#C43E65,rgba(196,62,101,0));margin:0 0 22px}
/* ③ 3つの円：ごく薄いピンクの面と柔らかい影、内側に細いリング */
.feat{background:radial-gradient(circle at 50% 35%,#fff 0%,#FFF8FA 70%);border:1px solid #E7A9BA;box-shadow:0 16px 36px rgba(196,62,101,.10),0 3px 8px rgba(52,48,52,.05),inset 0 0 0 6px rgba(255,255,255,.9),inset 0 0 0 7px rgba(216,132,155,.22)}
.feat__h{font-feature-settings:"palt" 1;letter-spacing:.06em}
.feat__p{letter-spacing:.03em}
@media (max-width:767px){
  .fv{background:
    radial-gradient(ellipse 120% 46% at 0% 12%,rgba(244,205,216,.5) 0%,rgba(248,224,231,.28) 40%,rgba(255,255,255,0) 75%),
    #fff}
  .fv__media::after{background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,0) 6%)}
  .fv__copy{letter-spacing:.06em}
  .fv__sub::before{width:44px;margin-bottom:14px}
  .feat{background:linear-gradient(90deg,#FFF8FA 0%,#fff 60%);border:1px solid #E7A9BA;box-shadow:0 10px 24px rgba(196,62,101,.08),0 2px 6px rgba(52,48,52,.04)}
}

/* ---------- FIRST VIEW 仕上げ調整（2026-10-11 第3版）：背景を控えめに・円は一重線・写真の境界を自然に ---------- */
/* ① 背景：上部は白を残し、中央から下へ淡いローズが広がる */
.fv{background:
  radial-gradient(ellipse 58% 52% at 14% 92%,rgba(244,208,218,.42) 0%,rgba(248,226,232,.22) 45%,rgba(255,255,255,0) 78%),
  linear-gradient(180deg,#fff 0%,#fff 38%,rgba(253,244,246,.6) 72%,#fff 100%)}
/* ② 円：一重線・白にほんのりピンク・控えめな影 */
.feat{background:radial-gradient(circle at 50% 30%,#fff 0%,#fff 45%,#FFF9FA 100%);border:1px solid #D8849B;box-shadow:0 12px 28px rgba(196,62,101,.07),0 2px 6px rgba(52,48,52,.04)}
/* ③ 写真の境界：白のグラデーションを細く・弱く */
/* 白を重ねず、写真の左端だけを透明にして背景になじませる（腕やマシンが白っぽくならない） */
.fv__media{-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 4%,#000 10%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 4%,#000 10%)}
.fv__media::after{background:none}
.fv__media::before{background:radial-gradient(ellipse 70% 50% at 40% 0%,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 60%)}
@media (max-width:767px){
  .fv{background:
    radial-gradient(ellipse 110% 30% at 10% 40%,rgba(244,208,218,.32) 0%,rgba(248,226,232,.16) 45%,rgba(255,255,255,0) 80%),
    #fff}
  .fv__media{-webkit-mask-image:none;mask-image:none}
  .fv__media::after{background:linear-gradient(180deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,0) 4%)}
  .feat{background:linear-gradient(90deg,#FFF9FA 0%,#fff 55%);border:1px solid #D8849B;box-shadow:0 8px 20px rgba(196,62,101,.06),0 2px 5px rgba(52,48,52,.03)}
}

/* ---------- FIRST VIEW 背景と配色（2026-10-11 第4版）：波・ピンクのぼかしを削除、ローズを #D83C68 に統一 ---------- */
.fv,.msg-band{--fv-rose:#D83C68;--fv-rose-soft:#D83C68}
/* ① 波を削除 ② 背景は白のみ（写真の左端は透明マスクで白になじませる） */
.fv__wave{display:none}
.fv{background:#fff}
.msg-band{background:#fff;padding-top:64px}
/* ③ ローズピンクを統一 */
.fv__copy em{color:#D83C68}
.fv__place::before{background:#D83C68}
.fv__sub::before{background:linear-gradient(90deg,#D83C68,rgba(216,60,104,0))}
.feat__h{color:#D83C68}
.feat__h::after{background:#D83C68}
.msg-band__l2 em{color:#D83C68}
.msg-band__line{background:#D83C68}
.hd .btn,.fcta__main{background:#D83C68;box-shadow:0 6px 18px rgba(216,60,104,.20)}
.hd .btn:hover{background:#C2305A}
/* ④ 円：細い一重線・白・ごく控えめな影 */
.feat{background:#fff;border:1px solid #D83C68;box-shadow:0 6px 18px rgba(52,48,52,.06)}
@media (max-width:767px){
  .fv{background:#fff}
  .feat{background:#fff;border:1px solid #D83C68;box-shadow:0 4px 12px rgba(52,48,52,.05)}
  .feat__p{border-left-color:#D83C68}
  .msg-band{padding-top:24px}
}

/* ---------- FIRST VIEW 背景色（2026-10-11 第6版）：淡いピンク一色。写真の左端はこの色になじむ ---------- */
.fv{background:#FBF0F2}
.fv .feat{background:#fff}
.fv__veil{background:none}
.msg-band{background:linear-gradient(180deg,#FBF0F2 0%,#fff 70%)}
@media (max-width:767px){
  .fv{background:#FBF0F2}
  .fv__media::after{background:linear-gradient(180deg,rgba(251,240,242,.85) 0%,rgba(251,240,242,0) 5%)}
}
/* ---------- FIRST VIEW 最終デザイン調整（2026-10-11 第7版）：白基調・ローズ #D83C68・装飾の整理 ---------- */
.fv,.msg-band{--fv-ink:#343034;--fv-rose:#D83C68}
.fv{background:#FFFFFF}
.fv__veil{background:none}
/* 写真の境界：透明にする幅を狭く（写真の輪郭を残す） */
.fv__media{-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 2%,#000 5%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 2%,#000 5%)}
.fv__media::before,.fv__media::after{background:none}
/* コピー：文字色と字間 */
.fv__copy{color:#343034;letter-spacing:.08em}
.fv__copy em{color:#D83C68;letter-spacing:.1em}
.fv__place,.fv__sub{color:#343034}
.fv__sub::before{background:#D83C68;width:40px;opacity:.9}
/* 3つの円：白・細い一重線・影なし、内側の余白を整える */
.fv .feat{background:#FFFFFF;border:1px solid #D83C68;box-shadow:none;padding:14px}
.feat__h{color:#D83C68;letter-spacing:.03em;white-space:nowrap}
.feat__h::after{width:18px;height:1px;background:#D83C68;margin:12px auto 11px}
.feat__p{color:#343034;line-height:1.7}
/* 次のセクション：ごく淡いアクセント色 */
.msg-band{background:#FCF8F9}
@media (max-width:767px){
  .fv{background:#FFFFFF}
  .fv__media{-webkit-mask-image:none;mask-image:none}
  .fv .feat{padding:16px 18px;border-radius:14px;box-shadow:none}
  .feat__p{border-left:1px solid #D83C68;line-height:1.6}
}

/* ---------- FIRST VIEW 最終微調整（2026-10-11 第8版）：スマホの写真・カード・下部余白 ---------- */
@media (max-width:767px){
  /* ① 写真：高さはそのまま、表情が伝わるよう少し拡大して顔に寄せる */
  .fv__media img{object-position:46% 42%;transform:scale(1.08);transform-origin:4% 48%;animation:none}
  /* ② カード：文字を大きく、高さを少し増やす */
  .fv .feat{padding:19px 16px 19px 18px;gap:14px}
  .feat__h{flex:0 0 6.7em;font-size:20px;line-height:1.35}
  .feat__p{font-size:17px;line-height:1.6;padding-left:14px;letter-spacing:0}
  /* ③ 下部余白を縮める */
  .feats{padding-bottom:36px}
  .msg-band{padding-top:28px}
}
@media (max-width:379px){
  .feat__h{flex-basis:6.7em;font-size:19px}
  .feat__p{font-size:16.5px}
  .msg-band__l2{font-size:19px;letter-spacing:.03em}
}
/* ---------- FIRST VIEW 新デザイン（2026-10-11 第9版）：参考画像に合わせた明るさ・ローズ #E73565・カード ---------- */
.fv,.msg-band{--fv-ink:#343034;--fv-rose:#E73565;--fv-pink:#FFF3F5}
.fv{background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 70%,#FFF3F5 100%)}
.fv__copy{color:#343034}
.fv__copy em{color:#E73565}
.fv__place::before,.fv__sub::before{background:#E73565}
.hd .btn,.fcta__main{background:#E73565;box-shadow:0 6px 18px rgba(231,53,101,.22)}
.hd .btn:hover{background:#D42A58}
.msg-band{background:#FFF3F5}
.msg-band__l2 em{color:#E73565}
.msg-band__line{background:#E73565}
/* 円（PC）とカード（スマホ）共通：リンク化 */
.feat__link{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:inherit;text-decoration:none}
.feat__ic,.feat__arrow{display:none}
/* PC：円は白・ごく淡い線・ごく控えめな影 */
.fv .feat{background:#fff;border:1px solid #F7C9D6;box-shadow:0 10px 28px rgba(231,53,101,.08)}
.feat__h{color:#E73565}
.feat__h::after{background:#E73565}
.fv .feat:hover{box-shadow:0 12px 30px rgba(231,53,101,.14)}
/* スマホ：参考画像の構成（写真を大きく、文字は写真の上部に重ね、カードが写真の下端に重なる） */
@media (max-width:767px){
  .fv{background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 62%,#FFF3F5 100%)}
  .fv__text{position:relative;z-index:2}
  .fv__media{position:relative;z-index:1;margin-top:-118px;aspect-ratio:auto;height:500px;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 14%,#000 34%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 14%,#000 34%)}
  .fv__media img{object-position:42% 30%;transform:none}
  .fv__media::after{background:none}
  .feats{position:relative;z-index:2;margin-top:-58px;gap:12px;padding:0 14px 40px}
  .fv .feat{border:0;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(231,53,101,.10),0 1px 3px rgba(52,48,52,.05);padding:14px 12px 14px 14px}
  .feat__link{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px}
  .feat__ic{display:flex;flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#FFF3F5;align-items:center;justify-content:center}
  .feat__ic svg{width:26px;height:26px;fill:none;stroke:#E73565;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  .feat__h{flex:0 0 6.5em;font-size:17px;white-space:nowrap;letter-spacing:0}
  .feat__p{flex:1 1 auto;font-size:16px;line-height:1.55;padding-left:11px;border-left:1.5px solid #E73565;letter-spacing:0;white-space:nowrap}
  .feat__arrow{display:block;flex:0 0 10px;width:10px;height:10px;border-top:1.5px solid #E73565;border-right:1.5px solid #E73565;transform:rotate(45deg);margin-right:4px}
  .msg-band{background:#FFF3F5;padding-top:30px}
}
@media (max-width:379px){
  .feat__ic{flex-basis:40px;width:40px;height:40px}
  .feat__ic svg{width:23px;height:23px}
  .fv .feat{padding:13px 10px 13px 12px}
  .feat__link{gap:10px}
  .feat__h{font-size:16px}
  .feat__p{font-size:15.5px;padding-left:10px}
}

/* ---------- FIRST VIEW スマホ 参考画像の再現（2026-10-11 第10版） ---------- */
@media (max-width:767px){
  .fv{background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 78%,#FFF3F5 100%)}
  .fv__text{padding:88px 22px 0}
  .fv__copy{font-size:clamp(38px,11.6vw,46px);line-height:1.32;letter-spacing:.03em}
  .fv__copy em{font-size:1.12em}
  .fv__sub{font-size:16px;margin-top:12px}
  /* 写真：コピーの2行目あたりから始め、人物を大きく */
  .fv__media{margin-top:-210px;height:600px;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.25) 16%,#000 38%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.25) 16%,#000 38%)}
  .fv__media img{object-position:44% 24%;transform:scale(1.12);transform-origin:62% 30%}
  /* カード：大きく、余白を広く */
  .feats{margin-top:-64px;gap:14px;padding:0 16px 44px}
  .fv .feat{border-radius:22px;padding:22px 16px 22px 16px;box-shadow:0 12px 32px rgba(231,53,101,.10),0 2px 6px rgba(52,48,52,.04)}
  .feat__link{gap:12px}
  .feat__ic{flex-basis:52px;width:52px;height:52px}
  .feat__ic svg{width:28px;height:28px}
  .feat__h{flex-basis:6.3em;font-size:18px}
  .feat__p{font-size:16px;line-height:1.6;padding-left:12px}
}
@media (max-width:379px){
  .fv .feat{padding:20px 12px}
  .feat__ic{flex-basis:44px;width:44px;height:44px}
  .feat__ic svg{width:24px;height:24px}
  .feat__link{gap:10px}
  .feat__h{font-size:16.5px}
  .feat__p{font-size:15.5px;padding-left:10px}
}

/* ---------- FIRST VIEW スマホ 参考画像の比率に合わせる（2026-10-11 第11版）
   参考画像（幅940px）を390px幅に換算した位置・大きさに合わせています ---------- */
@media (max-width:767px){
  .fv{position:relative;display:block}
  .fv__text{position:relative;z-index:2;padding:88px 22px 0;min-height:430px}
  .fv__place{font-size:12px;margin-bottom:10px}
  .fv__copy{font-size:clamp(28px,8.1vw,33px);line-height:1.34;letter-spacing:.03em}
  .fv__copy em{font-size:1.16em}
  .fv__sub{font-size:14.5px;margin-top:10px;letter-spacing:.04em}
  .fv__sub::before{width:34px;margin-bottom:12px}
  /* 写真：コピーの背後から始まり、人物は右側。上端は白に溶ける */
  .fv__media{position:absolute;z-index:1;top:80px;left:0;right:0;width:100%;height:395px;margin:0;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 20%,#000 38%,#000 88%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 20%,#000 38%,#000 88%,transparent 100%)}
  .fv__media img{object-position:30% 0;transform:none}
  /* カード：参考画像の比率（白・角丸・やわらかい影・矢印） */
  .feats{position:relative;z-index:2;margin-top:0;gap:10px;padding:0 20px 36px}
  .fv .feat{border-radius:18px;padding:14px 14px 14px 14px;box-shadow:0 8px 22px rgba(231,53,101,.10),0 1px 3px rgba(52,48,52,.04)}
  .feat__link{gap:12px}
  .feat__ic{flex-basis:44px;width:44px;height:44px}
  .feat__ic svg{width:25px;height:25px}
  .feat__h{flex-basis:6.6em;font-size:16.5px}
  .feat__p{font-size:15px;line-height:1.55;padding-left:12px}
  .msg-band{padding-top:26px}
}
@media (max-width:379px){
  .fv__text{min-height:418px}
  .fv__media{height:385px}
  .feat__ic{flex-basis:40px;width:40px;height:40px}
  .feat__link{gap:9px}
  .feat__h{font-size:15.5px}
  .feat__p{font-size:14.5px;padding-left:10px}
}

/* 第11版の微修正：写真を右へ寄せて人物の顔とサブコピーが重ならないようにする */
@media (max-width:767px){
  .fv__text{padding-top:64px;min-height:402px}
  .fv__media{top:84px;left:70px;width:auto;height:345px}
  .fv__media img{object-position:0 0}
  .fv__media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.6) 6%,rgba(255,255,255,0) 20%)}
  .fv .feat{padding:12px 14px}
}
@media (max-width:379px){
  .fv__text{min-height:396px}
  .fv__media{left:64px;height:338px}
}
@media (max-width:767px){
  .fv__text{min-height:440px}
  .fv__media{top:128px;height:345px;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.5) 14%,#000 30%,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.5) 14%,#000 30%,#000 88%,transparent 100%)}
}
@media (max-width:379px){
  .fv__text{min-height:432px}
  .fv__media{top:126px}
}
@media (max-width:767px){
  .fv__text{min-height:454px}
  .fv__media{top:146px}
  .fv__sub,.fv__copy{text-shadow:0 0 10px rgba(255,255,255,.9),0 0 2px rgba(255,255,255,.9)}
}
@media (max-width:379px){
  .fv__text{min-height:446px}
  .fv__media{top:142px}
}
/* ---------- Before / After 見出し（2026-10-11 確定） ---------- */
.ba-ttl{margin:0 0 44px;font-family:var(--serif);font-weight:500;text-align:center;font-feature-settings:"palt" 1}
.ba-ttl::before{content:'';display:block;width:1px;height:40px;margin:0 auto 26px;background:linear-gradient(180deg,rgba(231,53,101,0),#E73565)}
.ba-ttl__l1{display:block;color:#343034;font-size:clamp(20px,2.3vw,28px);line-height:1.6;letter-spacing:.1em}
.ba-ttl__l2{display:block;margin-top:6px;color:#E73565;font-weight:600;font-size:clamp(24px,3vw,38px);line-height:1.5;letter-spacing:.08em}
.msg-band{padding-bottom:56px}
.ba-sec{padding-top:56px;background:linear-gradient(180deg,#FFF3F5 0%,#FDF8F8 220px)}
@media (max-width:767px){
  .msg-band{padding-bottom:40px}
  .ba-sec{padding-top:40px}
  .ba-ttl{margin-bottom:32px}
  .ba-ttl::before{height:32px;margin-bottom:20px}
  .ba-ttl__l1{font-size:19px;letter-spacing:.06em}
  .ba-ttl__l2{font-size:clamp(20px,6vw,24px);letter-spacing:.03em;white-space:nowrap}
}
/* ---------- Before / After 症例紹介（2026-10-11） ---------- */
.cases{max-width:1040px;margin:0 auto}
.case{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:56px;align-items:center;padding:56px 0}
.case + .case{border-top:1px solid #F4D3DC}
.case:first-child{padding-top:8px}
.case__photo{margin:0;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 14px 36px rgba(52,48,52,.08)}
.case__photo img{display:block;width:100%;height:auto}
.case__no{margin:0 0 14px;font-family:var(--en);font-size:15px;letter-spacing:.14em;color:#E73565;display:flex;align-items:baseline;gap:8px}
.case__no span{font-style:italic;font-size:14px}
.case__no::after{content:'';flex:0 0 40px;height:1px;background:#E73565;align-self:center}
.case__who{margin:0 0 18px;font-family:var(--serif);font-weight:600;font-size:clamp(20px,2vw,24px);letter-spacing:.06em;color:#343034}
.case__who span{display:block;margin-top:4px;font-weight:500;font-size:15px;letter-spacing:.08em;color:#E73565}
.case__catch{margin:0 0 26px;font-family:var(--serif);font-weight:500;font-size:clamp(18px,1.8vw,22px);line-height:1.7;letter-spacing:.06em;color:#343034}
.case__dl{margin:0;padding:22px 24px;background:#FFF6F8;border-radius:10px}
.case__dl dt{display:inline-block;margin:0 0 6px;padding:2px 12px;border-radius:999px;background:#fff;border:1px solid #F4C3D1;font-family:var(--serif);font-size:13px;letter-spacing:.1em;color:#E73565}
.case__dl dd{margin:0;font-size:15px;line-height:1.9;color:#343034}
.case__dl dd + dt{margin-top:16px}
.tbd{color:#9a8f93 !important;font-style:normal}
.cases__note{max-width:1040px;margin:8px auto 0;text-align:right;font-size:12px;color:#7a7074}
@media (max-width:767px){.cases__note{text-align:left}}
@media (max-width:767px){
  .case{grid-template-columns:1fr;gap:24px;padding:40px 0}
  .case:first-child{padding-top:0}
  .case__dl{padding:18px 18px}
  .case__who{font-size:21px}
  .case__dl dd{font-size:16px}
  .case__catch{font-size:clamp(16px,4.9vw,19px);letter-spacing:.02em}
}

/* ---------- セクション順の変更（2026-10-11）：FV直後の見出し・B/A見出し・Google口コミ ---------- */
.lead-band{padding:72px 0 64px;background:linear-gradient(180deg,#FFF3F5 0%,#FFF8FA 100%)}
.lead-ttl{margin:0}
.lead-ttl::before{height:44px;margin-bottom:28px}
.lead-ttl .ba-ttl__l1{font-size:clamp(22px,2.6vw,32px)}
.lead-ttl .ba-ttl__l2{font-size:clamp(28px,3.5vw,44px);margin-top:8px}
.ba-sec{padding-top:72px;background:#FFFFFF}
.ba2-ttl{margin:0 0 48px;text-align:center;font-family:var(--serif);font-weight:500;font-size:clamp(20px,2.3vw,28px);line-height:1.75;letter-spacing:.08em;color:#343034;font-feature-settings:"palt" 1}
.ba2-ttl em{font-style:normal;font-weight:600;color:#E73565}
.ba2-ttl::after{content:'';display:block;width:48px;height:1px;background:#E73565;margin:22px auto 0}
.greviews{background:#FFF8FA}
.gr-label{margin:0 0 6px;font-family:var(--en);font-style:italic;font-size:16px;letter-spacing:.14em;color:#E73565}
.gr-ttl{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.8vw,34px);letter-spacing:.1em;color:#343034}
.gr-score{margin:18px 0 40px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;font-size:14px;color:#343034}
.gr-score b{font-family:var(--en);font-size:22px;font-weight:600;color:#E73565;margin:0 2px}
.gr-stars{color:#F2B33D;letter-spacing:.12em;font-size:16px}
.gr-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start;max-width:1080px;margin:0 auto}
.gr-card{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 28px rgba(52,48,52,.07);border:1px solid #F6DCE3}
.gr-card img{display:block;width:100%;height:auto}
.gr-hint{display:none}
.gr-btn{display:inline-flex;align-items:center;gap:10px;margin-top:40px;padding:14px 30px;border-radius:999px;border:1px solid #E73565;color:#E73565;background:#fff;text-decoration:none;font-family:var(--serif);font-size:15px;letter-spacing:.08em;transition:background .3s,color .3s}
.gr-btn::after{content:'';width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.gr-btn:hover{background:#E73565;color:#fff}
@media (max-width:767px){
  .lead-band{padding:44px 0 40px}
  .lead-ttl::before{height:32px;margin-bottom:18px}
  .lead-ttl .ba-ttl__l1{font-size:19px}
  .lead-ttl .ba-ttl__l2{font-size:clamp(20px,6vw,24px)}
  .ba-sec{padding-top:48px}
  .ba2-ttl{font-size:clamp(17px,5vw,20px);letter-spacing:.03em;margin-bottom:32px}
  .gr-score{margin-bottom:26px;font-size:14px;flex-direction:column;gap:2px}
  .gr-count{font-size:12px;color:#7a7074}
  .gr-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -16px;padding:4px 16px 14px;-webkit-overflow-scrolling:touch}
  .gr-card{flex:0 0 90%;scroll-snap-align:center}
  .gr-hint{display:block;margin:6px 0 0;text-align:center;font-size:12px;color:#7a7074}
  .gr-btn{margin-top:26px;font-size:14px;padding:13px 24px}
}
/* ---------- 症例カード 統一デザイン（2026-10-11 第2版）：ピンクの箱をやめ、余白と罫線で整理 ---------- */
.cases{max-width:1080px}
.case{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;padding:64px 0}
.case + .case{border-top:1px solid #F1D5DD}
.case__photo{border-radius:4px;box-shadow:0 18px 40px rgba(52,48,52,.08)}
.case__body{font-feature-settings:normal}
.case__no{margin:0 0 18px;font-size:13px;letter-spacing:.2em}
.case__no::after{flex-basis:48px}
.case__who{margin:0 0 6px;font-weight:600;font-size:28px;line-height:1.4;letter-spacing:.06em;color:#343034}
.case__who span{display:block;margin-top:6px;font-weight:500;font-size:15px;letter-spacing:.12em;color:#E73565}
.case__catch{margin:22px 0 30px;padding:0;font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.75;letter-spacing:.04em;color:#343034;word-break:auto-phrase;text-wrap:pretty}
.case__dl{margin:0;padding:0;background:none;border-radius:0;border-top:1px solid #F1D5DD}
.case__dl dt{display:flex;align-items:center;gap:10px;margin:22px 0 8px;padding:0;background:none;border:0;border-radius:0;font-family:var(--serif);font-weight:600;font-size:15px;letter-spacing:.14em;color:#E73565}
.case__dl dt::before{content:'';width:18px;height:1px;background:#E73565}
.case__dl dd{margin:0;font-size:16px;line-height:1.9;letter-spacing:.03em;color:#343034;word-break:auto-phrase;text-wrap:pretty}
.case__dl dd + dt{margin-top:24px;padding-top:22px;border-top:1px dashed #F1D5DD}
@media (max-width:767px){
  .case{grid-template-columns:1fr;gap:26px;padding:44px 0}
  .case__photo{margin:0 -4px}
  .case__no{margin-bottom:12px}
  .case__who{font-size:26px}
  .case__who span{font-size:15px}
  .case__catch{margin:16px 0 22px;font-size:20px;line-height:1.7;letter-spacing:.02em}
  .case__dl dt{font-size:15px;margin-top:18px}
  .case__dl dd{font-size:16.5px;line-height:1.85;letter-spacing:.01em}
  .case__dl dd + dt{margin-top:20px;padding-top:18px}
}

.gr-sub{margin:14px 0 40px;font-size:14px;color:#6d6266}
@media (max-width:767px){.gr-sub{margin-bottom:26px;font-size:13.5px}}
/* ---------- 2026-10-12：FVサブタイトル2行・見出し直後に事例 ---------- */
.fv__sub{line-height:1.75}
.fv__sub em{font-style:normal;font-weight:600;color:#E73565}
.lead-band{padding-bottom:28px}
.ba-sec{padding-top:24px;background:#FFF8FA}
@media (max-width:767px){
  .fv__sub{font-size:17px!important;line-height:1.7}
  .lead-band{padding-bottom:20px}
  .ba-sec{padding-top:16px}
}
@media (max-width:767px){
  .fv__text{min-height:500px}
  .fv__media{top:196px}
}
@media (max-width:379px){
  .fv__text{min-height:492px}
  .fv__media{top:192px}
}

@media (max-width:767px){
  .fv__text{min-height:540px}
  .fv__media{top:240px}
}

/* ---------- お悩み 4枚カード（2026-10-12） ---------- */
.worry-sec{background:#fff}
.worry-cards{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.worry{display:flex;flex-direction:column;background:#fff;border:1px solid #F3D4DD;border-radius:18px;padding:30px 22px 32px;box-shadow:0 10px 28px rgba(52,48,52,.06);text-align:center}
.worry__ttl{margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid #F3D4DD;font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.5;letter-spacing:.04em;color:#343034}
.worry__no{display:block;margin-bottom:6px;font-family:var(--en);font-style:italic;font-weight:400;font-size:16px;letter-spacing:.12em;color:#E73565}
.worry__lbl{margin:0 0 6px;font-size:12px;letter-spacing:.18em;color:#8a7f83}
.worry__pain{margin:0;font-size:14.5px;line-height:1.8;color:#5c5357;min-height:3.6em}
.worry__arrow{display:block;width:12px;height:12px;margin:16px auto 18px;border-right:2px solid #E73565;border-bottom:2px solid #E73565;transform:rotate(45deg)}
.worry__lbl--goal{color:#E73565;font-weight:600}
.worry__goal{margin:0;font-family:var(--serif);font-weight:600;font-size:17px;line-height:1.8;letter-spacing:.03em;color:#343034;text-wrap:pretty;word-break:auto-phrase}
@media (max-width:1100px) and (min-width:768px){.worry-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){
  .worry-cards{grid-template-columns:1fr;gap:14px}
  .worry{padding:24px 20px 26px}
  .worry__ttl{font-size:19px;margin-bottom:16px;padding-bottom:14px}
  .worry__pain{font-size:15.5px;min-height:0}
  .worry__arrow{margin:12px auto 14px}
  .worry__goal{font-size:18px;line-height:1.75}
}
.worry__pain,.worry__goal{word-break:keep-all;overflow-wrap:anywhere}

/* ---------- 口コミ見出し（2026-10-12） ---------- */
.gr-ttl{font-feature-settings:"palt" 1}
.gr-ttl__l1{display:block;color:#343034;font-size:clamp(22px,2.4vw,30px);line-height:1.6;letter-spacing:.1em}
.gr-ttl__l2{display:block;margin-top:4px;color:#E73565;font-weight:600;font-size:clamp(26px,3vw,38px);line-height:1.5;letter-spacing:.08em}
.gr-sub{margin-top:16px;font-size:14px;letter-spacing:.14em;color:#6d6266}
@media (max-width:767px){
  .gr-ttl__l1{font-size:19px;letter-spacing:.06em}
  .gr-ttl__l2{font-size:clamp(20px,6.1vw,24px);letter-spacing:.03em;white-space:nowrap}
  .gr-sub{font-size:13.5px}
}
/* ---------- The Cause 見出し（2026-10-12） ---------- */
.cause-ttl{font-size:clamp(24px,2.8vw,34px);line-height:1.6;letter-spacing:.08em;color:#343034;margin-bottom:18px}
.cause-ttl em{font-style:normal;font-weight:600;color:#E73565}
.cause-sub{margin:0 auto 8px;max-width:640px;font-size:15px;line-height:1.9;letter-spacing:.06em;color:#4d4549}
@media (max-width:767px){
  .cause-ttl{font-size:clamp(19px,5.6vw,22px);letter-spacing:.03em}
  .cause-sub{font-size:14px;letter-spacing:.02em;padding:0 4px}
}
/* ---------- The Cause：4つの身体の使い方（2026-10-12） ---------- */
.habits2{display:flex;flex-direction:column;gap:28px;margin-top:40px}
.habit2{background:#fff;border:1px solid #F3D4DD;border-radius:22px;padding:34px 40px 30px;box-shadow:0 12px 32px rgba(52,48,52,.05)}
.habit2__head{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.habit2__no{flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#E73565;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--en);font-style:italic;font-size:20px}
.habit2__ttl{margin:0;flex:0 0 auto;white-space:nowrap;font-family:var(--serif);font-weight:600;font-size:30px;letter-spacing:.12em;color:#343034}
.habit2__sub{flex:1 1 auto;min-width:0;margin:0 0 0 4px;padding-left:20px;border-left:1px solid #F3D4DD;word-break:keep-all;overflow-wrap:anywhere;font-family:var(--serif);font-weight:600;font-size:21px;line-height:1.55;letter-spacing:.05em;color:#343034}
.habit2__body{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:40px;align-items:center}
.habit2__fig{margin:0}
.habit2__fig img{display:block;width:100%;height:auto;border-radius:16px}
.habit2__fig figcaption{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;text-align:center}
.habit2__fig figcaption span{display:inline-block;justify-self:center;padding:3px 16px;border-radius:999px;background:#F4EFF0;font-size:13px;letter-spacing:.06em;color:#4d4549}
.habit2__fig figcaption span+span{background:#FFF0F4;color:#E73565} .habit2__fig--photo img{aspect-ratio:1/1;object-fit:contain;border-radius:16px} .habit2__fig--photo figcaption{grid-template-columns:1fr}
.habit2__info{display:grid;grid-template-columns:1fr;gap:6px;align-items:stretch}
.habit2__box{background:#FAF8F8;border-radius:14px;padding:14px 20px 12px}
.habit2__box--luo{background:#FFF4F7}
.habit2__lbl{margin:0 0 6px;font-family:var(--serif);font-weight:600;font-size:14.5px;letter-spacing:.06em;color:#343034}
.habit2__box--luo .habit2__lbl{color:#E73565}
.habit2__list{list-style:none;margin:0;padding:0}
.habit2__list li{position:relative;padding:3px 0 3px 22px;font-size:14.5px;line-height:1.6;color:#343034}
.habit2__list li::before{content:'';position:absolute;left:2px;top:9px;width:11px;height:11px;border:1.5px solid #c9bfc2;border-radius:3px}
.habit2__box--luo .habit2__list li::before{border-color:#E73565;background:linear-gradient(#E73565,#E73565) center/5px 5px no-repeat}
.habit2__flow{align-self:center;justify-self:center;width:10px;height:10px;border-top:2px solid #E73565;border-right:2px solid #E73565;transform:rotate(135deg);margin:0 auto}
.habit2__goal{display:flex;align-items:center;gap:14px;margin:24px 0 0;padding-top:20px;border-top:1px dashed #F3D4DD;font-family:var(--serif);font-weight:600;font-size:21px;line-height:1.6;letter-spacing:.04em;color:#E73565}
.habit2__goal span{flex:0 0 auto;padding:4px 14px;border-radius:999px;background:#E73565;color:#fff;font-family:var(--sans);font-weight:500;font-size:12.5px;letter-spacing:.08em}
@media (max-width:960px) and (min-width:768px){.habit2{padding:28px 26px}.habit2__body{gap:24px}}
@media (max-width:767px){
  .habits2{gap:20px;margin-top:28px}
  .habit2{padding:22px 16px 20px;border-radius:18px}
  .habit2__head{gap:12px;margin-bottom:16px}
  .habit2__no{flex-basis:40px;width:40px;height:40px;font-size:17px}
  .habit2__ttl{font-size:24px}
  .habit2__ttl{letter-spacing:.08em}
  .habit2__sub{margin:0;padding-left:12px;font-size:16px;line-height:1.55;letter-spacing:.02em}
  .habit2__body{grid-template-columns:1fr;gap:18px}
  .habit2__info{grid-template-columns:1fr;gap:8px}
  .habit2__flow{transform:rotate(135deg);margin:2px 0}
  .habit2__lbl{font-size:15px}
  .habit2__list li{font-size:15.5px}
  .habit2__goal{flex-direction:column;align-items:flex-start;gap:8px;font-size:18px;margin-top:18px;padding-top:16px}
}
/* The Cause 調整：説明エリアを広く、見出しを1行に */
.habit2__body{grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:30px}
.habit2__box{padding:16px 16px 14px}
.habit2__lbl{font-size:13.5px;letter-spacing:0;white-space:nowrap}
.habit2__list li{font-size:14px}
@media (max-width:767px){.habit2__body{grid-template-columns:1fr;gap:20px}}
@media (max-width:767px){.habit2__lbl{font-size:15px;white-space:normal}.habit2__list li{font-size:15.5px}.habit2__box{padding:16px 16px 14px}}
.habit2__goal{word-break:keep-all;overflow-wrap:anywhere}
.habit2__list li{word-break:keep-all;overflow-wrap:anywhere}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .nav{display:none}
  .nav.is-open{display:flex;position:fixed;inset:68px 0 0;background:var(--white);flex-direction:column;justify-content:flex-start;padding-top:40px;gap:26px}
  .nav.is-open a{font-size:16px}
  .menu-btn{display:block}
  .menu-btn.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-btn.is-open span:nth-child(2){opacity:0}
  .menu-btn.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media (max-width:767px){
  body{font-size:14px}
  .sec{padding:72px 0}
  .sp-br{display:inline}
  .ba{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:0 16px 8px;margin:0 -16px}
  .ba figure{flex:0 0 84%;scroll-snap-align:center}
  .dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
  .dots i{width:6px;height:6px;border-radius:50%;background:var(--rose-300);transition:background .3s,width .3s}
  .dots i.on{background:var(--rose-700);width:18px;border-radius:3px}
  .split{grid-template-columns:1fr;gap:36px}
  .split--rev .split__media{order:0}
  .round{width:min(280px,80%);margin:0 auto}
  .habits{grid-template-columns:repeat(2,1fr);gap:12px}
  .steps{grid-template-columns:1fr 1fr;gap:36px 14px}
  .steps::before{display:none}
  .voices{grid-template-columns:1fr;gap:20px}
  .voice{display:grid;grid-template-columns:38% 1fr}
  .voice__img{aspect-ratio:auto;height:100%}
  .voice__body{padding:18px 16px}
  .voice__q{font-size:14px}
  .reviews img{flex-basis:220px;width:220px}
  .trial{grid-template-columns:1fr;gap:22px}
  .prices{grid-template-columns:1fr}
  .pcard{padding:30px 20px}
  .pcard h3{font-size:19px}
  .plan{padding:26px 20px}
  .plan__price{font-size:34px}
  .lead-ins{grid-template-columns:1fr;gap:28px;text-align:center}
  .lead-ins__img{width:min(260px,74%);margin:0 auto}
  .career{justify-content:center}
  .msg{text-align:left}
  .team{grid-template-columns:1fr;gap:44px}
  .access{grid-template-columns:1fr}
  .fcta{display:flex}
}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* LUO Method 確定文（2026-10-13）：見出しを大きく2行、ステップ文を読みやすく */
#method .method-ttl{font-size:clamp(26px,3.6vw,40px);line-height:1.6;letter-spacing:.1em;margin-bottom:24px}
#method .method-ttl,#method .step h3{color:#E73565}
#method .method-lead{font-size:16px;line-height:2;word-break:keep-all;overflow-wrap:anywhere}
#method .step p{font-size:14.5px;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere}
@media (max-width:767px){
  #method .method-ttl{font-size:clamp(22px,6.4vw,28px);letter-spacing:.06em}
  #method .method-lead{font-size:14.5px}
  #method .step h3{letter-spacing:.14em}
  #method .step p{font-size:14px;line-height:1.85}
}
/* ---------- Gallery（2026-10-13：12枚・自動でゆっくり横に流れる） ---------- */
.gal-sec{padding:0 0 96px;overflow:hidden}
.gal{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;outline:none}
.gal::-webkit-scrollbar{display:none}
.gal.is-drag{cursor:grabbing}
.gal__track{display:flex;gap:16px;width:max-content;padding:6px 0 18px}
.gal__item{margin:0;flex:0 0 auto;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(52,48,52,.08)}
.gal__item img{display:block;height:400px;width:auto;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}
@media (max-width:767px){
  .gal-sec{padding-bottom:64px}
  .gal__track{gap:10px}
  .gal__item{border-radius:10px}
  .gal__item img{height:280px}
}
/* Trial 調整（2026-10-13）：「まずはここから」ラベル削除・回数を選べる案内・安心案内 */
.plan--main::before{content:none;display:none}
.trial-choice{text-align:center;font-family:var(--serif);font-size:19px;line-height:1.7;letter-spacing:.06em;color:#343034;margin:0 0 10px;word-break:keep-all;overflow-wrap:anywhere}
.trial-choice__em{color:#E73565;font-weight:600}
.trial-note{font-size:14px;letter-spacing:.06em;line-height:1.8;margin:0 0 36px}
.trial-note span{white-space:nowrap}
@media (max-width:767px){
  .trial-choice{font-size:16.5px;letter-spacing:.03em;padding:0 4px}
  .trial-note{font-size:13.5px;letter-spacing:.03em}
}
/* 料金欄の共通案内・ギャラリーの個人差注記（2026-10-13） */
.price-common{max-width:760px;margin:36px auto 0;text-align:center;word-break:keep-all;overflow-wrap:anywhere}
.price-common__main{margin:0 0 8px;font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.7;letter-spacing:.06em;color:#E73565}
.price-common__sub{margin:0;font-size:14px;line-height:1.8;letter-spacing:.04em;color:var(--ink-soft)}
.gal-note{margin:4px 0 0;padding:0 16px;text-align:center;font-size:12px;letter-spacing:.06em;color:var(--ink-soft)}
@media (max-width:767px){
  .price-common{margin-top:28px;padding:0 4px}
  .price-common__main{font-size:16.5px;letter-spacing:.03em}
  .price-common__sub{font-size:13.5px;letter-spacing:.02em}
  .gal-note{font-size:12px}
}

/* FAQ・アクセスの地域の一文（2026-10-14） */
.faq{max-width:760px;margin:0 auto;display:grid;gap:12px}
.faq__item{background:#fff;border:1px solid #F3D4DD;border-radius:14px;padding:0 20px}
.faq__item summary{cursor:pointer;list-style:none;position:relative;padding:18px 30px 18px 0;font-family:var(--serif);font-size:16px;line-height:1.6;color:#343034}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);color:#E73565;font-size:22px;line-height:1}
.faq__item[open] summary::after{content:'−'}
.faq__item p{margin:0 0 18px;font-size:14.5px;line-height:1.9;color:#4d4549}
.access-area{margin:-8px auto 36px;max-width:640px;text-align:center;font-size:14.5px;line-height:1.9;color:var(--ink-soft)}
@media (max-width:767px){
  .faq__item{padding:0 16px}
  .faq__item summary{font-size:15px;padding:16px 28px 16px 0}
  .faq__item p{font-size:14px}
  .access-area{font-size:14px;text-align:left;margin:-4px 0 28px}
}

/* 正式な予約導線：スマホのファーストビューの予約ボタン・案内・PCのQRコード（2026-10-14） */
.fv__cta{display:none}
.cta-howto{margin:10px 0 0;font-size:13px;line-height:1.7;letter-spacing:.02em;color:var(--ink-soft)}
.center .cta-howto{text-align:center}
.line-qr{display:flex;align-items:center;justify-content:center;gap:18px;margin:26px auto 0;max-width:460px}
.line-qr img{width:112px;height:112px;border:1px solid #F3D4DD;border-radius:10px;padding:6px;background:#fff}
.line-qr p{margin:0;font-size:13.5px;line-height:1.8;color:var(--ink-soft)}
@media (max-width:767px){
  .fv__cta{display:block;position:relative;z-index:2;margin:18px 0 0;padding:12px 12px 10px;background:rgba(255,255,255,.9);border-radius:16px;box-shadow:0 8px 24px rgba(52,48,52,.08)}
  .fv__btn{display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;line-height:1.2}
  .fv__btn::after{display:none}
  .fv__cta .cta-howto{margin:8px 2px 0;text-align:center;color:#4d4549}
  .line-qr{display:none}
}

/* ファーストビュー 2ボタン（2026-10-14）：PCは横並び、スマホも押しやすい大きさ。通常配置（fixed・stickyなし） */
.fv__cta{display:block;position:relative;z-index:2;margin:30px 0 0;max-width:520px;padding:0;background:none;box-shadow:none}
.fv__btns{display:flex;gap:12px}
.fv__btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 20px;border-radius:999px;font-family:var(--sans);font-size:16px;font-weight:600;line-height:1.2;letter-spacing:.06em;text-decoration:none;white-space:nowrap;transition:opacity .2s,transform .2s}
.fv__btn::after{display:none}
.fv__btn:hover{opacity:.9;transform:translateY(-1px)}
.fv__btn--main{background:#E73565;color:#fff;box-shadow:0 8px 20px rgba(231,53,101,.28)}
.fv__btn--sub{background:#fff;color:#E73565;border:1.5px solid #E73565}
.fv__cta .cta-howto{margin:10px 4px 0;text-align:left;font-size:13px;color:#4d4549}
@media (max-width:767px){
  .fv__cta{margin:18px 0 0;max-width:none;padding:12px;background:rgba(255,255,255,.9);border-radius:16px;box-shadow:0 8px 24px rgba(52,48,52,.08)}
  .fv__btns{gap:8px}
  .fv__btn{min-height:52px;padding:0 10px;font-size:14.5px;letter-spacing:.03em}
  .fv__cta .cta-howto{text-align:center;margin:8px 2px 0}
}
@media (max-width:359px){.fv__btns{flex-direction:column}}

/* スマホFV 最終レイアウト（2026-10-14）：写真とボタンを重ねない縦並び。最初の1画面に見出し・写真・2ボタン。PCは変更なし */
@media (max-width:767px){
  .fv{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0 0 8px}
  .fv .fv__inner{display:contents}
  .fv .fv__text{display:contents}
  .fv .fv__place{order:1;margin:76px 20px 8px;font-size:12px}
  .fv .fv__copy{order:2;margin:0 20px;font-size:clamp(28px,8.4vw,34px);line-height:1.32;text-shadow:none}
  .fv .fv__sub{order:3;margin:10px 20px 0;font-size:15.5px!important;line-height:1.65;text-shadow:none}
  .fv .fv__sub::before{margin-bottom:10px}
  .fv .fv__media{order:4;position:relative;z-index:1;top:auto;left:auto;right:auto;bottom:auto;width:auto;height:clamp(180px,calc(100svh - 480px),300px);margin:14px 16px 0;border-radius:16px;overflow:hidden;-webkit-mask-image:none;mask-image:none;aspect-ratio:auto}
  .fv .fv__media::before,.fv .fv__media::after{display:none}
  .fv .fv__media img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transform:none;animation:none}
  .fv .fv__cta{order:5;margin:14px 16px 0;padding:0;background:none;box-shadow:none;border-radius:0}
  .fv .fv__cta .cta-howto{margin:8px 0 0;text-align:center}
  .fv .feats{order:6;position:relative;margin:28px 0 0;padding:0 20px 36px}
}
@media (max-width:359px){
  .fv .fv__btns{flex-direction:row}
  .fv .fv__btn{font-size:13.5px;padding:0 8px}
}

/* PCの追従ボタン（2026-10-14）：FVの2ボタンが画面外に出たら画面下の中央に「LINEで体験予約する」。右下の「ページ上部へ戻る」と重ならない。スマホは従来どおり */
@media (min-width:768px){
  .fcta{display:flex;left:50%;right:auto;bottom:24px;width:auto;padding:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border:0;transform:translate(-50%,160%);transition:transform .35s ease}
  .fcta.is-show{transform:translate(-50%,0)}
  .fcta__sub{display:none!important}
  .fcta a.fcta__main{flex:0 0 auto;min-width:320px;min-height:58px;padding:0 32px;font-size:16px;box-shadow:0 10px 26px rgba(231,53,101,.30)}
  .fcta__main small{font-size:11px}
}

/* スマホ：ページ上部へ戻るボタンを固定CTAの上へ（重なり防止、2026-10-14） */
@media (max-width:767px){ #page_top{bottom:calc(84px + env(safe-area-inset-bottom))!important} }

/* PCの追従ボタン 2つ（2026-10-14）：体験はこちら（塗り）＋レッスン風景を見る（枠線）。スマホでは表示しない */
.fcta .fcta__pc{display:none!important}
@media (min-width:768px){
  .fcta{gap:12px}
  .fcta .fcta__main,.fcta .fcta__sub{display:none!important}
  .fcta a.fcta__pc{display:inline-flex!important;flex:0 0 auto;align-items:center;justify-content:center;min-width:240px;min-height:56px;padding:0 28px;border-radius:999px;font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:.06em;line-height:1.2;text-decoration:none;white-space:nowrap}
  .fcta a.fcta__pc--main{background:#E73565;color:#fff;box-shadow:0 10px 26px rgba(231,53,101,.30)}
  .fcta a.fcta__pc--sub{background:#fff;color:#E73565;border:1.5px solid #E73565;box-shadow:0 10px 26px rgba(52,48,52,.10)}
}
/* Gallery をファーストビュー直後へ移動（2026-10-15）：上の余白と見出し */
.gal-sec--top{padding-top:80px}
.gal-head{margin-bottom:36px}
@media (max-width:767px){.gal-sec--top{padding-top:56px}.gal-head{margin-bottom:24px}}
/* 体験セクションのボタン削除（2026-10-15）：最後の注記の下の余白を詰める */
#trial .trial-note:last-child{margin-bottom:0}
/* インストラクター紹介文（2026-10-15）：4名共通の本文。Keikoの一文は控えめに強調 */
.team .bio{margin-top:10px;text-align:left}
.team .bio p{margin:0 0 .75em;font-size:14.5px;line-height:1.95;letter-spacing:.03em;color:var(--ink-soft)}
.team .bio p:last-child{margin-bottom:0}
.team .bio__em{font-style:normal;font-family:var(--serif);font-size:16px;letter-spacing:.08em;color:#E73565}
@media (max-width:767px){.team .bio p{font-size:15px;line-height:1.95}}
/* スタッフの年齢・キャッチコピー（2026-10-15）：4名共通 */
.team .member .name{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.team .member__age{font-family:var(--serif);font-size:13px;letter-spacing:.1em;color:#8a7f83}
.team .member .member__catch{margin:6px 0 12px;font-family:var(--serif);font-size:17px;line-height:1.7;letter-spacing:.06em;color:#C43E65}
@media (max-width:767px){.team .member .name{justify-content:center}.team .member .member__catch{font-size:16px;margin:4px 0 10px}}
/* Hiromi の写真（2026-10-15）：顔の大きさを他の3名にそろえる */
.team .member__img img[src*="c-hiromi"]{transform:scale(1.6);transform-origin:50% 16%}
/* スタッフ写真のデザイン切り替え（2026-10-15）。page-lp2026.php の $luo_staff_photo で選ぶ */
/* 第1案：縦長（4:5・控えめな角丸・枠なし） */
.team--portrait .member{grid-template-columns:168px 1fr;gap:36px}
.team--portrait .member__img{width:168px;height:auto;aspect-ratio:4/5;border-radius:10px;box-shadow:none;background:#FBF7F8}
.team--portrait .member__img img{width:100%;height:100%;object-fit:cover;object-position:center top;transform:none!important}
@media (max-width:767px){
  .team--portrait .member{grid-template-columns:1fr;gap:16px}
  .team--portrait .member__img{width:180px}
}
/* 第2案：丸型（太い淡いピンクの円枠をなくし、ごく細い枠） */
.team--circle .member__img{box-shadow:0 0 0 1px #F3D4DD}
/* 2026-10-15 SEO：場所の小見出しとキャッチを1つのH1にまとめた（見た目は従来どおり） */
.fv__h1{margin:0;font:inherit;color:inherit}
.fv__h1 .fv__copy{display:block}
/* 2026-10-15 経営者決定：スタッフ写真は4名とも円形（正方形にトリミングした c-*-circle.jpg、拡大表示なし）。枠はごく細い淡いピンク */
.team--circle .member__img{width:150px;height:150px;box-shadow:0 0 0 1px #F3D4DD;background:#FBF7F8}
.team--circle .member__img img{transform:none!important;object-position:center}
@media (max-width:767px){.team--circle .member__img{width:150px;height:150px}}

/* 2026-10-20 経営者指示：予約案内を「体験予約はこちらのボタンから」に統一（ボタンの上に表示）／スマホでBefore・After写真を画面幅いっぱいに拡大（縮小・拡大の倍率は縦横同じ。トリミングなし） */
.cta-howto--above{margin:0 0 14px;font-size:15px;font-weight:600;color:var(--ink,#343034)}
@media (max-width:767px){
  .case__photo{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0;box-shadow:none}
}

/* 2026-10-22 予約ボタンの視認性向上（経営者指示）：予約ボタンを最も大きく、ゆっくり拡大縮小。Instagram等の導線も一回り大きく。
   元に戻す：このコメントから下を削除 */
@keyframes luoBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
.luo-anim-breath{animation:luoBreath 2.8s ease-in-out infinite;transform-origin:center}
.luo-anim-breath:hover{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.luo-anim-breath{animation:none}}
.fv__btn{min-height:62px;font-size:17px}
.fv__btn--main{font-size:18px;box-shadow:0 10px 24px rgba(231,53,101,.32)}
.fv__btn--sub{font-size:16px}
/* VK Blocks の bootstrap_vk_using.css（LPのCSSより後に読み込まれる）が .btn を上書きし、アクセス・クロージングのボタンが
   「文字が上寄り・背景なし」になっていたため、a.btn で指定を強める（既存デザインの値をそのまま再指定） */
a.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 34px;border:0;border-radius:999px;background:var(--rose-700);color:var(--white);line-height:1.4;text-decoration:none;font-family:var(--serif);font-size:15px;font-weight:400;letter-spacing:.12em;vertical-align:middle;box-shadow:0 8px 24px rgba(148,89,106,.18)}
a.btn:hover{background:#82495a;color:var(--white)}
a.btn.btn--ghost{background:transparent;color:var(--rose-700);border:1px solid var(--rose-300);box-shadow:none}
a.btn.btn--ghost:hover{background:var(--blush-100);color:var(--rose-700)}
a.btn.btn--sm{min-height:40px;padding:0 22px;font-size:13px}
.hd a.btn{background:#E73565;box-shadow:0 6px 18px rgba(231,53,101,.22)}
.hd a.btn:hover{background:#D42A58}
a.btn.btn--xl,.btn--xl{min-height:64px;padding:0 48px;font-size:18px;font-family:var(--sans);font-weight:600;letter-spacing:.06em;background:#E73565;box-shadow:0 10px 26px rgba(231,53,101,.30)}
a.btn.btn--xl:hover{background:#D42A58}
#access a.btn.btn--sm{min-height:50px;padding:0 26px;font-size:15px}
#access a.btn.btn--sm:not(.btn--ghost){background:#E73565;font-weight:600;font-family:var(--sans);box-shadow:0 8px 20px rgba(231,53,101,.26)}
.lp-proof-cta{margin:32px auto 0;text-align:center}
.lp-proof-cta__note{margin:12px 0 0;font-size:13px;color:#6d6266}
@media (max-width:767px){
  .fv .fv__btn{min-height:58px;font-size:15.5px;padding:0 8px}
  .fv .fv__btn--main{font-size:16.5px}
  a.btn.btn--xl{display:flex;width:100%;max-width:360px;margin:0 auto;padding:0 16px;font-size:17px}
  #access a.btn.btn--sm{min-height:48px;font-size:14.5px}
  .lp-proof-cta{margin-top:26px;padding:0 4px}
  .fcta a.fcta__main{min-height:60px;font-size:16px}
  /* 固定ボタンが最後の内容（フッター）を隠さないように：ボタンを大きくした分だけフッター下の余白を広げる */
  .ft{padding-bottom:calc(124px + env(safe-area-inset-bottom))}
}

/* 2026-10-22 「選ばれる理由」セクション（お悩みカードと同じ色・角丸・影。元に戻す：このブロックと page-lp2026.php の WHY LUO セクションを削除） */
.why-sec{background:var(--blush-50)}
.why-cards{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.why{background:#fff;border:1px solid #F3D4DD;border-radius:18px;padding:28px 26px 26px;box-shadow:0 10px 28px rgba(52,48,52,.06)}
.why__ttl{margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid #F3D4DD;font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.55;letter-spacing:.04em;color:#343034}
.why__no{display:block;margin-bottom:4px;font-family:var(--en);font-style:italic;font-weight:400;font-size:16px;letter-spacing:.12em;color:#E73565}
.why__txt{margin:0;font-size:15px;line-height:1.9;color:#4a4246}
.why-more{margin:28px 0 0;text-align:center;font-size:14px}
.why-more a{color:#C2305A;text-decoration:underline;text-underline-offset:4px}
@media (max-width:767px){
  .why-cards{grid-template-columns:1fr;gap:14px}
  .why{padding:22px 20px}
  .why__ttl{font-size:17px}
  .why__txt{font-size:14.5px}
}
