:root{
  --bg:#f8f4ef;--bg2:#efe7de;--paper:#fffdfa;--ink:#3a322d;--muted:#8a7d72;--line:#e2d8cd;
  --gold:#b39470;--rose:#c9a193;--taupe:#8a7767;
  --cta:#8e5f52;--cta-hover:#7a4f44;--cta-shadow:rgba(142,95,82,.7);
  --font-head:"Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN",serif;
  --font-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
  --font-en:"Cormorant Garamond","Times New Roman",serif;
  --font-num:"Cormorant Garamond","Times New Roman",serif;
}
.en{font-family:var(--font-en);letter-spacing:.18em;font-weight:500}
.sec{padding:120px 0;position:relative}
@media (max-width:640px){.sec{padding:84px 0}}
.sec-head{text-align:center;margin-bottom:64px}
.sec-head .en{display:block;font-size:13px;color:var(--gold);margin-bottom:14px;letter-spacing:.32em}
.sec-head h2{font-family:var(--font-head);font-weight:500;font-size:clamp(24px,3.2vw,34px);line-height:1.7;letter-spacing:.12em}
.sec-head p{margin-top:22px;color:var(--muted);font-size:14px}
@media (max-width:640px){.sec-head{margin-bottom:44px}}

/* header */
.hd{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px 40px}
.hd__logo{font-family:var(--font-en);font-size:26px;letter-spacing:.34em;font-weight:500;text-decoration:none}
.hd__logo small{display:block;font-size:9px;letter-spacing:.28em;color:var(--muted);margin-top:-2px}
.hd__cta{font-size:12.5px;letter-spacing:.12em;text-decoration:none;padding:10px 22px;border-radius:999px;border:1px solid var(--ink);transition:.25s}
.hd__cta:hover{background:var(--ink);color:#fff}
@media (max-width:640px){.hd{padding:16px 20px}.hd__logo{font-size:21px}.hd__cta{display:none}}

/* FV */
.fv{position:relative;min-height:max(720px,100svh);background:#efe5da url(../assets/img/bg-shadow1.jpg) center/cover;overflow:hidden;display:flex;align-items:center}
.fv::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(250,246,241,.92) 0%,rgba(250,246,241,.78) 42%,rgba(246,238,229,.35) 70%,rgba(246,238,229,.15) 100%),linear-gradient(0deg,rgba(248,244,239,.9),transparent 30%)}
.fv__in{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;padding:120px 40px 150px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:20px}
.fv__debut{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.2em;color:var(--taupe);margin-bottom:26px}
.fv__debut .en{font-size:13px;color:var(--gold)}
.fv__debut::after{content:"";width:46px;height:1px;background:var(--gold)}
.fv h1{font-family:var(--font-head);font-weight:500;font-size:clamp(34px,4.6vw,56px);line-height:1.55;letter-spacing:.14em}
.fv h1 .em{background:linear-gradient(transparent 72%,rgba(201,161,147,.35) 72%)}
.fv__lead{margin-top:28px;font-size:15px;line-height:2.1;color:#5b5049;max-width:480px}
.fv__badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.badge{width:92px;height:92px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;text-align:center;font-size:11.5px;line-height:1.45;letter-spacing:.04em;background:rgba(255,253,250,.7);color:#5b4d43;position:relative}
.badge::before{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(179,148,112,.35)}
.badge b{display:block;font-family:var(--font-head);font-size:15px;font-weight:600;color:var(--ink)}
.fv__products{position:relative;height:520px}
.fv__products img{position:absolute;bottom:40px;filter:drop-shadow(0 26px 24px rgba(80,58,40,.26)) drop-shadow(0 4px 4px rgba(80,58,40,.15))}
.fv__products .p-lotion{height:430px;left:12%;z-index:2}
.fv__products .p-serum{height:350px;left:44%;z-index:3}
.fv__products .p-cream{height:150px;left:62%;bottom:34px;z-index:4}
.fv__products::after{content:"";position:absolute;left:4%;right:0;bottom:22px;height:40px;background:radial-gradient(closest-side,rgba(90,64,44,.22),transparent);z-index:1}
.fv__tag{position:absolute;right:2%;top:30px;width:132px;height:132px;border-radius:50%;background:var(--cta);color:#fff;display:grid;place-items:center;text-align:center;font-size:12px;line-height:1.5;letter-spacing:.06em;box-shadow:0 14px 30px -12px rgba(142,95,82,.8);z-index:5}
.fv__tag b{display:block;font-family:var(--font-num);font-size:38px;font-weight:500;line-height:1;letter-spacing:0}
.fv__tag b span{font-size:16px}
.fv__note{position:absolute;left:40px;right:40px;bottom:18px;z-index:2;max-width:1240px;margin:0 auto}
.fv__scroll{position:absolute;left:50%;bottom:62px;z-index:3;font-size:10px;letter-spacing:.3em;color:var(--muted);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}
.fv__scroll::after{content:"";width:1px;height:40px;background:linear-gradient(var(--muted),transparent);animation:sc 2.2s infinite}
@keyframes sc{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:900px){
  .fv{min-height:auto;display:block}
  .fv::before{background:linear-gradient(180deg,rgba(250,246,241,.94) 0%,rgba(250,246,241,.86) 48%,rgba(246,238,229,.35) 75%,rgba(248,244,239,.95) 100%)}
  .fv__in{grid-template-columns:1fr;padding:96px 22px 30px;gap:0}
  .fv h1{font-size:clamp(30px,8.6vw,40px)}
  .fv__lead{font-size:13.5px;margin-top:18px}
  .fv__badges{gap:8px;margin-top:22px;justify-content:flex-start}
  .badge{width:76px;height:76px;font-size:10px}.badge b{font-size:13px}
  .fv__products{height:360px;margin-top:10px}
  .fv__products .p-lotion{height:300px;left:8%}
  .fv__products .p-serum{height:245px;left:40%}
  .fv__products .p-cream{height:104px;left:60%;bottom:36px}
  .fv__tag{width:104px;height:104px;font-size:10px;top:0;right:0}.fv__tag b{font-size:30px}
  .fv__scroll{display:none}
  .fv__note{position:static;padding:0 22px 22px}
}

/* FV下オファー帯 */
.fv-offer{background:var(--paper);border-bottom:1px solid var(--line)}
.fv-offer__in{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:30px 24px;max-width:1120px;margin:0 auto}
.fv-offer__txt{font-size:13px;color:var(--muted);line-height:1.7}
.fv-offer__txt b{font-family:var(--font-head);font-size:20px;color:var(--ink);font-weight:500;letter-spacing:.08em;display:block}
.fv-offer__txt .num{font-family:var(--font-num);font-size:34px;color:var(--cta);letter-spacing:0;margin:0 2px}
.fv-offer .btn-cta{width:400px}
@media (max-width:900px){.fv-offer__in{grid-template-columns:1fr;gap:16px;padding:24px 20px 28px;text-align:center}.fv-offer .btn-cta{width:100%}.fv-offer__txt b{font-size:17px}}

/* trouble */
.trouble{background:var(--bg2)}
.trouble__list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:860px;margin:0 auto}
.trouble__list li{background:var(--paper);border-radius:14px;padding:22px 24px 22px 64px;position:relative;font-size:15px;line-height:1.75}
.trouble__list li::before{content:"";position:absolute;left:22px;top:24px;width:24px;height:24px;border-radius:50%;border:1px solid var(--rose);background:radial-gradient(circle,var(--rose) 0 4px,transparent 5px)}
.trouble__list small{display:block;color:var(--muted);font-size:12px}
@media (max-width:640px){.trouble__list{grid-template-columns:1fr;gap:10px}.trouble__list li{padding:18px 18px 18px 56px;font-size:14px}.trouble__list li::before{left:18px;top:20px}}
.turn{text-align:center;margin:70px auto 0;max-width:860px}
.turn__arrow{width:1px;height:56px;background:var(--gold);margin:0 auto 34px;position:relative}
.turn__arrow::after{content:"";position:absolute;left:-5px;bottom:0;width:11px;height:11px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg)}
.turn h3{font-family:var(--font-head);font-weight:500;font-size:clamp(20px,2.6vw,27px);line-height:1.8;letter-spacing:.1em}
.turn h3 .em{color:var(--cta)}
.barrier{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px}
.barrier figure{background:var(--paper);border-radius:16px;padding:22px 18px 18px}
.barrier figcaption{font-size:13px;margin-top:12px;line-height:1.7}
.barrier figcaption b{display:block;font-family:var(--font-head);font-weight:600;font-size:15px}
@media (max-width:640px){.barrier{grid-template-columns:1fr;gap:12px}}

/* concept */
.concept{background:var(--paper);overflow:hidden}
.concept__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.concept__ph{position:relative}
.concept__ph img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:60% 30%;border-radius:220px 220px 6px 6px}
.concept__ph .en{position:absolute;right:-28px;bottom:40px;writing-mode:vertical-rl;font-size:12px;color:var(--gold);letter-spacing:.4em}
.concept__txt .en{color:var(--gold);font-size:13px;letter-spacing:.32em}
.concept__txt h2{font-family:var(--font-head);font-weight:500;font-size:clamp(28px,3.6vw,42px);line-height:1.6;letter-spacing:.16em;margin:18px 0 34px}
.concept__txt p{font-size:15px;line-height:2.25;color:#544a43}
.concept__txt p+p{margin-top:20px}
.concept__sign{margin-top:34px;font-family:var(--font-en);font-size:22px;letter-spacing:.3em;color:var(--taupe)}
@media (max-width:900px){.concept__grid{grid-template-columns:1fr;gap:44px}.concept__ph{max-width:420px;margin:0 auto;width:86%}.concept__ph .en{right:-22px}.concept__txt p{font-size:14px;line-height:2.1}}

/* point */
.point{background:var(--bg)}
.point__list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.point__item{background:var(--paper);border-radius:18px;overflow:hidden}
.point__item img{width:100%;aspect-ratio:4/3;object-fit:cover}
.point__body{padding:26px 26px 30px}
.point__num{font-family:var(--font-en);color:var(--gold);font-size:14px;letter-spacing:.3em}
.point__body h3{font-family:var(--font-head);font-weight:600;font-size:20px;line-height:1.6;margin:8px 0 14px;letter-spacing:.06em}
.point__body p{font-size:13.5px;line-height:2;color:#5b5049}
.point__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.point__tags span{font-size:11px;padding:3px 10px;border-radius:999px;background:var(--bg2);color:var(--taupe);letter-spacing:.04em}
@media (max-width:900px){.point__list{grid-template-columns:1fr;gap:18px;max-width:520px;margin:0 auto}}

/* lineup */
.lineup{background:linear-gradient(var(--paper),var(--bg))}
.prod{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center;max-width:1040px;margin:0 auto}
.prod+.prod{margin-top:110px}
.prod:nth-child(even) .prod__vis{order:2}
.prod__vis{position:relative;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 50% 40%,#fff 0,#f3ebe2 60%,#eadfd3 100%);display:grid;place-items:center}
.prod__vis img.pkg{height:74%;filter:drop-shadow(0 26px 22px rgba(80,58,40,.25))}
.prod__vis img.pkg.wide{height:auto;width:62%}
.prod__vis .tex{position:absolute;right:-6%;bottom:2%;width:38%;aspect-ratio:1;border-radius:50%;object-fit:cover;border:6px solid var(--paper);box-shadow:0 10px 30px -10px rgba(0,0,0,.25)}
.prod__step{font-family:var(--font-en);font-size:13px;letter-spacing:.3em;color:var(--gold)}
.prod__name{font-family:var(--font-head);font-weight:500;font-size:clamp(24px,2.8vw,31px);letter-spacing:.12em;line-height:1.5;margin:8px 0 4px}
.prod__en{font-family:var(--font-en);font-size:13px;letter-spacing:.24em;color:var(--muted)}
.prod__catch{font-family:var(--font-head);font-size:18px;line-height:1.9;margin:24px 0 14px;letter-spacing:.06em}
.prod__desc{font-size:14px;line-height:2.05;color:#5b5049}
.prod__spec{margin-top:24px;border-top:1px solid var(--line)}
.prod__spec div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.prod__spec dt{color:var(--muted)}
.meter{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}
.meter i{flex:1;max-width:180px;height:6px;border-radius:3px;background:var(--bg2);position:relative;overflow:hidden}
.meter i::after{content:"";position:absolute;inset:0;width:var(--v);background:linear-gradient(90deg,var(--rose),var(--cta));border-radius:3px}
.prod__buy{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;flex-wrap:wrap}
.prod__price{font-family:var(--font-num);font-size:28px;letter-spacing:.02em}
.prod__price small{font-family:var(--font-body);font-size:11px;color:var(--muted);margin-left:4px}
.btn-line{display:inline-flex;align-items:center;gap:10px;padding:11px 24px;border-radius:999px;border:1px solid var(--cta);color:var(--cta);font-size:13px;letter-spacing:.08em;text-decoration:none;transition:.25s}
.btn-line:hover{background:var(--cta);color:#fff}
@media (max-width:900px){.prod{grid-template-columns:1fr;gap:34px}.prod:nth-child(even) .prod__vis{order:0}.prod__vis{width:82%;margin:0 auto}.prod+.prod{margin-top:80px}.prod__catch{font-size:16.5px}}

/* howto */
.howto{background:var(--bg2)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:s;max-width:980px;margin:0 auto;position:relative}
.steps::before{content:"";position:absolute;left:16%;right:16%;top:66px;height:1px;background:repeating-linear-gradient(90deg,var(--gold) 0 4px,transparent 4px 9px)}
.step{text-align:center;padding:0 18px;position:relative}
.step__ic{width:132px;height:132px;margin:0 auto 22px;border-radius:50%;background:var(--paper);display:grid;place-items:center;position:relative}
.step__ic img{height:86px;filter:drop-shadow(0 8px 8px rgba(80,58,40,.2))}
.step__ic img.wide{height:auto;width:84px}
.step__ic::after{counter-increment:s;content:"0" counter(s);position:absolute;top:-4px;left:-4px;width:38px;height:38px;border-radius:50%;background:var(--cta);color:#fff;font-family:var(--font-en);font-size:15px;line-height:38px;letter-spacing:.06em}
.step h3{font-family:var(--font-head);font-weight:600;font-size:18px;letter-spacing:.08em}
.step p{font-size:13px;line-height:1.9;color:#5b5049;margin-top:10px}
.step .amt{display:inline-block;margin-top:12px;font-size:11.5px;padding:3px 12px;border-radius:999px;border:1px solid var(--line);color:var(--taupe)}
.howto__time{display:flex;justify-content:center;gap:12px;margin-top:54px;flex-wrap:wrap}
.howto__time span{background:var(--paper);border-radius:999px;padding:10px 22px;font-size:13px;letter-spacing:.06em}
.howto__time b{font-family:var(--font-head);color:var(--cta);font-weight:600}
@media (max-width:760px){.steps{grid-template-columns:1fr;gap:28px}.steps::before{display:none}.step{display:grid;grid-template-columns:96px 1fr;text-align:left;gap:18px;align-items:center;padding:0}.step__ic{width:96px;height:96px;margin:0}.step__ic img{height:64px}.step__ic img.wide{width:64px}.step p{margin-top:4px}}

/* quality */
.quality{background:var(--paper)}
.free{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;max-width:1000px;margin:0 auto}
.free li{aspect-ratio:1;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;text-align:center;font-size:12.5px;line-height:1.5;background:var(--bg)}
.free li span{display:block;font-size:10px;color:var(--gold);font-family:var(--font-en);letter-spacing:.14em}
.tests{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:44px auto 0}
.tests li{border:1px solid var(--line);border-radius:14px;padding:22px;text-align:center;font-size:13px;line-height:1.8}
.tests li b{display:block;font-family:var(--font-head);font-size:17px;font-weight:600;margin-bottom:4px}
@media (max-width:760px){.free{grid-template-columns:repeat(4,1fr);gap:8px}.free li{font-size:10.5px}.tests{grid-template-columns:1fr;gap:10px}}

/* voice */
.voice{background:var(--bg)}
.voice__list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vcard{background:var(--paper);border-radius:18px;padding:30px 28px;position:relative}
.vcard__who{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.vcard__av{width:52px;height:52px;border-radius:50%;background:var(--bg2);display:grid;place-items:center;font-family:var(--font-en);color:var(--taupe);font-size:18px}
.vcard__who b{display:block;font-size:14px}
.vcard__who small{font-size:11.5px;color:var(--muted)}
.vcard h3{font-family:var(--font-head);font-weight:600;font-size:17px;line-height:1.7;margin-bottom:10px}
.vcard p{font-size:13.5px;line-height:2;color:#5b5049}
.vcard__dummy{position:absolute;top:14px;right:16px;font-size:10px;color:#fff;background:#b3a597;padding:2px 8px;border-radius:999px}
@media (max-width:900px){.voice__list{grid-template-columns:1fr;max-width:520px;margin:0 auto;gap:14px}}

/* offer */
.offer{background:linear-gradient(180deg,var(--bg2),#e8ddd1);padding-bottom:130px}
.offer__card{max-width:960px;margin:0 auto;background:var(--paper);border-radius:28px;box-shadow:0 30px 60px -40px rgba(80,58,40,.5);overflow:hidden}
.offer__top{background:var(--ink);color:#f3ebe2;text-align:center;padding:30px 20px 26px}
.offer__top .en{color:var(--gold);font-size:12px;letter-spacing:.34em}
.offer__top h2{font-family:var(--font-head);font-weight:500;font-size:clamp(22px,3vw,30px);letter-spacing:.14em;margin-top:6px;line-height:1.6}
.offer__body{padding:44px 54px 50px}
.offer__set{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.offer__set .vis{position:relative;height:300px;background:radial-gradient(circle at 50% 60%,#fff,#f1e8de 70%);border-radius:20px}
.offer__set .vis img{position:absolute;bottom:34px;filter:drop-shadow(0 16px 14px rgba(80,58,40,.25))}
.offer__set .vis .a{height:210px;left:16%}.offer__set .vis .b{height:172px;left:44%}.offer__set .vis .c{height:74px;left:62%;bottom:30px}
.offer__set .vis .gift{position:absolute;right:14px;top:14px;height:120px;transform:rotate(8deg)}
.offer__set .vis .gift-l{position:absolute;right:6px;top:136px;font-size:10.5px;background:var(--cta);color:#fff;padding:2px 10px;border-radius:999px}
.offer__inc{font-size:13.5px;line-height:1.9}
.offer__inc li{padding:9px 0;border-bottom:1px dashed var(--line);display:flex;justify-content:space-between;gap:10px}
.offer__inc li span:last-child{color:var(--muted);font-family:var(--font-num);font-size:16px;white-space:nowrap}
.offer__inc .gift-row{color:var(--cta)}
.offer__inc .gift-row span:last-child{color:var(--cta);font-family:var(--font-body);font-size:12px;font-weight:700}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:40px 0 26px}
.plan{position:relative;border:1.5px solid var(--line);border-radius:18px;padding:26px 24px 22px;cursor:pointer;transition:.25s;background:#fff}
.plan:focus-visible{outline:2px solid var(--cta);outline-offset:2px}
.plan.is-active{border-color:var(--cta);background:#fdf8f5;box-shadow:0 12px 30px -20px rgba(142,95,82,.9)}
.plan__radio{position:absolute;top:24px;right:22px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line)}
.plan.is-active .plan__radio{border-color:var(--cta);background:radial-gradient(circle,var(--cta) 0 6px,transparent 7px)}
.plan__rec{position:absolute;top:-13px;left:22px;background:var(--cta);color:#fff;font-size:11.5px;padding:3px 14px;border-radius:999px;letter-spacing:.08em}
.plan__name{font-family:var(--font-head);font-size:17px;font-weight:600;letter-spacing:.06em}
.plan__price{font-family:var(--font-num);font-size:44px;line-height:1.2;margin-top:8px;color:var(--ink)}
.plan.is-active .plan__price{color:var(--cta)}
.plan__price small{font-family:var(--font-body);font-size:12px;color:var(--muted);margin-left:4px}
.plan__off{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--rose);padding:2px 10px;border-radius:4px;margin-left:6px;vertical-align:middle}
.plan ul{margin-top:12px;font-size:12.5px;line-height:1.85;color:#5b5049}
.plan ul li::before{content:"・";color:var(--gold)}
.offer__guard{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:34px}
.offer__guard li{background:var(--bg);border-radius:12px;padding:14px 10px;text-align:center;font-size:12.5px;line-height:1.6}
.offer__guard b{display:block;font-family:var(--font-head);font-size:15px}
@media (max-width:760px){.offer__body{padding:30px 18px 34px}.offer__set{grid-template-columns:1fr;gap:20px}.offer__set .vis{height:250px}.offer__set .vis .a{height:170px;left:12%}.offer__set .vis .b{height:140px;left:42%}.offer__set .vis .c{height:60px;left:62%}.offer__set .vis .gift{height:96px}.offer__set .vis .gift-l{top:110px}.plans{grid-template-columns:1fr;gap:22px}.plan__price{font-size:38px}.offer__guard{grid-template-columns:1fr 1fr 1fr;gap:6px}.offer__guard li{font-size:10.5px;padding:10px 4px}.offer__guard b{font-size:13px}}

/* faq */
.faq{background:var(--paper)}
.faq__list{max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:24px 50px 24px 46px;position:relative;font-size:15px;line-height:1.7;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:6px;top:20px;font-family:var(--font-en);font-size:24px;color:var(--gold)}
.faq summary::after{content:"";position:absolute;right:14px;top:32px;width:10px;height:10px;border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);transform:rotate(45deg);transition:.3s}
.faq details[open] summary::after{transform:rotate(-135deg);top:36px}
.faq details p{padding:0 18px 26px 46px;font-size:13.5px;line-height:2;color:#5b5049;position:relative}
.faq details p::before{content:"A";position:absolute;left:8px;top:-4px;font-family:var(--font-en);font-size:22px;color:var(--rose)}

/* final */
.final{position:relative;background:#e9dfd4 url(../assets/img/tex-cream.jpg) center/cover;text-align:center;padding:120px 0 130px}
.final::before{content:"";position:absolute;inset:0;background:rgba(248,244,239,.78)}
.final .wrap{position:relative}
.final h2{font-family:var(--font-head);font-weight:500;font-size:clamp(24px,3.4vw,36px);line-height:1.8;letter-spacing:.14em}
.final p{margin:22px auto 40px;font-size:14px;color:#5b5049;max-width:560px}
.rakuten-link{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:12.5px;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}
.rakuten-link i{display:inline-block;background:#bf0000;color:#fff;font-style:normal;font-size:10px;padding:1px 6px;border-radius:3px;letter-spacing:.06em}

/* footer */
.ft{background:var(--ink);color:#cfc4b9;padding:56px 0 120px;font-size:12px;text-align:center}
.ft__logo{font-family:var(--font-en);font-size:24px;letter-spacing:.34em;color:#fff}
.ft nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin:24px 0}
.ft nav a{text-decoration:none}
.ft small{color:#8d8178}

/* --- 調整 --- */
main{position:relative}
.hd__logo{line-height:1.25}
.hd__logo small{margin-top:4px}
.concept__ph::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--gold);border-radius:999px 999px 8px 8px;opacity:.55;z-index:0}
.concept__ph img{position:relative;z-index:1;border-radius:999px 999px 8px 8px;background:#eee}
.point__item img,.prod__vis .tex{filter:sepia(.16) saturate(1.05) brightness(1.02)}
.fv-offer__txt .num{white-space:nowrap}
@media (max-width:900px){
  .fv__debut{flex-wrap:wrap;gap:4px 10px;font-size:11px;margin-bottom:18px}
  .fv__debut::after{display:none}
  .fv__note{position:relative;z-index:2}
  .turn h3{font-size:19px;letter-spacing:.06em}
}
.prod__vis img.pkg{position:absolute;left:50%;top:50%;transform:translate(-50%,-52%)}
.point__item img.ph-shadow{filter:saturate(.45) sepia(.25) brightness(1.18) contrast(.9)}
@media (max-width:760px){.step__ic::after{width:30px;height:30px;line-height:30px;font-size:12px;top:-2px;left:-2px}}
@media (max-width:900px){.fv__note{left:auto;right:auto;bottom:auto}}
