/* ============================================================
   WICT Lipo Aura Shot LP — styles
   ============================================================ */

:root{
  --ink:#3F3F3F; --ink-2:#2E2E2E; --body:#4A4A4B;
  --g6:#606060; --g9:#909090; --c8:#C8C8C8; --e0:#E0E0E0; --line:#EDEDED;
  --bg:#F7F7F6; --slate:#65768D; --rose:#B93C5F;
  --amber-border:#C9A24B; --amber-bg:#F6EEDD;
  --mincho:'Shippori Mincho',serif;
  --garamond:'EB Garamond',serif;
  --poppins:'Poppins',sans-serif;
  --sans:'Noto Sans JP',sans-serif;
}

/* ---------- reset / base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#FFFFFF;color:var(--body);font-family:var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure,blockquote,figcaption,ul{margin:0}
a{color:var(--ink)}
a:hover{color:var(--slate)}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
details[open] summary .pm{transform:rotate(45deg)}
.cover{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- layout ---------- */
.section{padding:clamp(84px,12vw,150px) clamp(24px,6vw,64px)}
.section--bg{background:var(--bg)}
.section--concept{background:linear-gradient(180deg,#CCD9EB 0%,#E4E0D4 100%);padding-block:clamp(84px,13vw,160px)}
.section--vision{background:linear-gradient(180deg,#E9DED4 0%,#F3F1E4 100%)}
.section--philosophy{padding-block:clamp(88px,13vw,160px)}
.section--voice{background:var(--bg);padding:clamp(30px,4.5vw,44px) clamp(24px,6vw,64px)}
.wrap{max-width:1040px;margin:0 auto}

.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(40px,6vw,80px);align-items:center}
.split--liposome{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(40px,6vw,72px)}
.split--start{align-items:start}
@media(min-width:769px){.split--rev>:first-child{order:2}}

.col{display:flex;flex-direction:column}
.col--26{display:flex;flex-direction:column;gap:26px}
.col--24{display:flex;flex-direction:column;gap:24px}
.center{display:flex;flex-direction:column;align-items:center;text-align:center}
.tc{text-align:center}

/* max-width caps (readability) */
.mw24{max-width:24em}.mw34{max-width:34em}.mw36{max-width:36em}.mw38{max-width:38em}

/* ---------- typography ---------- */
.kicker{font-family:var(--poppins);font-size:11px;letter-spacing:.3em;color:var(--slate);text-transform:uppercase}
.h-sec{font-family:var(--mincho);font-weight:500;font-size:clamp(23px,3.2vw,32px);line-height:1.7;color:var(--ink);letter-spacing:.03em;text-wrap:balance}
.h-sec--34{font-size:clamp(23px,3.4vw,34px)}
.h-sec--33{font-size:clamp(23px,3.2vw,33px)}
.h-sec--vision{line-height:1.75}
.h-sub{font-family:var(--mincho);font-weight:500;font-size:clamp(19px,2.6vw,26px);line-height:1.7;color:var(--ink);letter-spacing:.03em;text-wrap:balance}
.body{font-family:var(--sans);font-weight:300;font-size:15px;line-height:2.3;color:var(--body)}
.note{font-family:var(--sans);font-size:10.5px;color:var(--g9)}
.note-in{font-size:10.5px;color:var(--g9)}

/* ---------- FV ---------- */
.fv{position:relative;background:#EDECE8}
.fv-logo{position:absolute;top:clamp(26px,3.2vw,40px);left:clamp(32px,6vw,88px);z-index:3;display:block}
.fv-logo img{width:auto;height:clamp(20px,2.1vw,26px);display:block}
.fv-imgwrap{width:100%;height:min(90vh,740px)}
.fv-imgwrap picture{display:block;width:100%;height:100%}
.fv-imgwrap img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.fv-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,247,246,.82) 0%,rgba(247,247,246,.44) 38%,rgba(247,247,246,0) 62%)}
.fv-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:26px;padding:clamp(32px,6vw,88px)}
.fv-kick{font-family:var(--poppins);font-size:11px;font-weight:400;letter-spacing:.34em;color:#5A5A5A;text-transform:uppercase}
.fv-h1{font-family:var(--mincho);font-weight:500;font-size:clamp(30px,5vw,50px);line-height:1.5;color:var(--ink-2);letter-spacing:.05em;text-wrap:balance}
.fv-sub{font-family:var(--sans);font-weight:300;font-size:clamp(13.5px,1.4vw,15px);line-height:2.15;color:var(--body);max-width:24em}
.fv-cta{align-self:flex-start;display:inline-block;background:var(--ink);color:#FFFFFF;font-family:var(--sans);font-size:13.5px;font-weight:400;letter-spacing:.18em;padding:17px 46px;text-decoration:none}
.fv-cta:hover{color:#FFFFFF;background:var(--ink-2)}
.fv-tag{font-family:var(--garamond);font-style:italic;font-size:14px;letter-spacing:.14em;color:#6A6A6A}
@media(max-width:768px){
  .fv-imgwrap{height:66vh}
  .fv-scrim{display:none}
  .fv-copy{position:static;background:#FFFFFF;gap:20px;padding:36px 24px 44px}
}

/* ---------- 01b Voice ---------- */
.voice{display:flex;flex-direction:column;gap:14px;align-items:center}
.voice-head{font-family:var(--mincho);font-weight:500;font-size:15px;letter-spacing:.2em;color:var(--slate);text-align:center;margin-bottom:6px}
.voice-view{width:100%;overflow:hidden}
.voice-track{display:flex;width:100%;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.voice-item{flex:0 0 100%;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:0 8px}
.voice-quote{font-family:var(--mincho);font-weight:500;font-size:clamp(17px,2.4vw,22px);line-height:1.9;color:var(--ink);letter-spacing:.03em}
.voice-who{font-family:var(--sans);font-size:13.5px;font-weight:500;letter-spacing:.08em;color:var(--slate)}
.voice-nav{display:flex;align-items:center;gap:18px}
.voice-btn{width:34px;height:34px;border:1px solid var(--c8);background:#FFFFFF;color:var(--g6);font-family:var(--poppins);font-size:14px;cursor:pointer;line-height:1}
.voice-dots{display:flex;gap:7px}
.voice-dot{width:7px;height:7px;border-radius:99px;border:none;padding:0;cursor:pointer;background:#D2D2D2;transition:background .2s}
.voice-note{font-family:var(--sans);font-size:10.5px;color:#A8A8A8;letter-spacing:.04em}

/* ---------- 02 Concept ---------- */
.concept{display:flex;flex-direction:column;gap:clamp(30px,4.5vw,44px)}
.h-concept{font-family:var(--mincho);font-weight:500;font-size:clamp(24px,3.8vw,38px);line-height:1.65;color:var(--ink);letter-spacing:.04em;text-align:center;text-wrap:balance}
.concept-body{display:flex;flex-direction:column;gap:22px;max-width:34em;margin:0 auto;text-align:center}
.h-concept-end{margin-top:clamp(10px,2vw,20px);font-family:var(--mincho);font-weight:600;font-size:clamp(20px,3vw,30px);line-height:1.75;color:var(--ink);letter-spacing:.04em;text-align:center;text-wrap:balance}
.question-fig{width:100%;max-width:520px;margin:0 auto}
.question-fig img{width:100%;height:auto;display:block}
.question-em{font-weight:500;color:var(--ink)}
.section--question .concept-body{text-align:center;max-width:520px}
.check-list{list-style:none;margin:6px 0;padding:24px 28px;width:100%;max-width:520px;box-sizing:border-box;background:#EEF3F8;border:1px solid #DCE4EE;text-align:left;display:flex;flex-direction:column;gap:14px}
.check-list li{position:relative;padding-left:30px;font-family:var(--sans);font-size:15px;line-height:1.7;color:var(--ink)}
.check-list li::before{content:"✓";position:absolute;left:2px;top:0;color:var(--slate);font-weight:700}

/* ---------- 02b Our Science / centered stacks ---------- */
.science{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(24px,3.5vw,32px)}

/* ---------- generic split text column ---------- */
.split-text{display:flex;flex-direction:column;gap:26px}

/* ---------- 04 Liposome figure ---------- */
.lipo-fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px}
.lipo-fig svg{width:min(100%,260px);height:auto}
.lipo-fig img{width:min(100%,360px);height:auto;display:block}
.lipo-cap{font-family:var(--sans);font-size:11px;line-height:1.9;color:var(--g9);text-align:center}

/* ---------- 05 Product ---------- */
.product{display:flex;flex-direction:column;gap:clamp(40px,5vw,60px)}
.h-product{font-family:var(--garamond);font-weight:400;font-size:clamp(32px,4.4vw,46px);line-height:1.25;color:var(--ink);letter-spacing:.03em}
.feat-head{text-align:center}
.feat-title{font-family:var(--mincho);font-weight:500;font-size:clamp(21px,3vw,26px);color:var(--ink);letter-spacing:.04em;margin-top:12px}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1px;background:var(--e0);border:1px solid var(--e0)}
.feat{background:#FFFFFF;padding:32px 26px;display:flex;flex-direction:column;gap:10px}
.feat-num{font-family:var(--poppins);font-size:10px;letter-spacing:.24em;color:var(--slate)}
.feat-t{font-family:var(--mincho);font-size:16.5px;font-weight:500;color:var(--ink)}
.feat-d{font-family:var(--sans);font-weight:300;font-size:13.5px;line-height:1.95;color:var(--body)}
@media(max-width:1024px){.feat-grid{grid-template-columns:1fr}}

/* ---------- 06 About Peptides ---------- */
.peptides{display:flex;flex-direction:column;gap:clamp(36px,5vw,52px)}
.blk{display:flex;flex-direction:column;align-items:center;text-align:center}
.blk--22{gap:22px}.blk--16{gap:16px}.blk--20{gap:20px}.blk--8{gap:8px}
.graph{margin:0;width:100%;max-width:600px;align-self:center;background:#FFFFFF;padding:clamp(24px,4vw,40px) clamp(20px,4vw,44px) 18px;border:1px solid var(--e0)}
.graph-t{margin:0 0 18px;font-family:var(--mincho);font-size:clamp(15px,1.8vw,17px);font-weight:500;letter-spacing:.04em;color:var(--ink)}
.graph svg{width:100%;height:auto;display:block}
.graph-cap{margin:14px 0 0;font-family:var(--sans);font-size:10.5px;color:var(--g9);text-align:right;line-height:1.8}
.pcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(16px,2.5vw,24px)}
.pcard{border:1px solid var(--e0);background:#FFFFFF;padding:clamp(26px,3.5vw,36px) clamp(22px,3vw,30px);display:flex;flex-direction:column;gap:12px}
.pcard-head{display:flex;align-items:center;gap:12px}
.pcard-abbr{font-family:var(--garamond);font-size:27px;color:var(--ink);letter-spacing:.05em}
.badge{font-family:var(--sans);font-size:10px;letter-spacing:.14em;color:#FFFFFF;background:var(--slate);padding:4px 10px;border-radius:99px}
.pcard-inci{font-family:var(--sans);font-size:11px;color:var(--g9);letter-spacing:.05em}
.pcard-desc{font-family:var(--sans);font-weight:300;font-size:13.5px;line-height:2;color:var(--body)}
.support{margin-top:2px;padding-top:14px;border-top:1px solid var(--line)}
.support-label{margin:0 0 6px;font-family:var(--poppins);font-size:9.5px;letter-spacing:.16em;color:var(--g9);text-transform:uppercase}
.support-name{font-family:var(--sans);font-size:11.5px;line-height:1.7;color:var(--g6)}
.support-inci{font-size:10.5px;color:var(--g9)}

/* ---------- 07 Less is More ---------- */
.lessismore{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(30px,4.5vw,44px)}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:640px}
.chip{font-family:var(--sans);font-size:12px;color:var(--g6);border:1px solid var(--c8);border-radius:99px;padding:9px 20px}
.body--left{text-align:left}
.amber{border:1px solid var(--amber-border);background:var(--amber-bg);padding:20px clamp(20px,4vw,32px);max-width:640px;width:100%}
.amber-text{font-family:var(--sans);font-size:13px;line-height:2.05;color:var(--body);text-align:left}

/* ---------- 08 How to Use ---------- */
.steps{display:flex;flex-direction:column}
.step{display:flex;gap:16px;align-items:baseline;padding:16px 0;border-top:1px solid var(--e0)}
.step--last{border-bottom:1px solid var(--e0)}
.step-num{font-family:var(--poppins);font-size:10.5px;letter-spacing:.2em;color:var(--slate);flex:none;min-width:52px}
.step-t{font-family:var(--mincho);font-size:16px;font-weight:500;color:var(--ink);line-height:1.7}
.body--mini{font-family:var(--sans);font-weight:300;font-size:13px;line-height:2.1;color:var(--g6)}

/* ---------- 09 Vision ---------- */
.quote-block{border-left:2px solid var(--slate);padding:8px 0 8px 18px}
.quote-text{font-family:var(--sans);font-weight:300;font-size:13.5px;line-height:2;color:var(--body)}
.quote-em{font-family:var(--mincho);color:var(--ink)}
.quote-src{font-size:11.5px;color:var(--g9)}
.note--vision{font-family:var(--sans);font-size:10.5px;color:var(--g9);line-height:1.9}

/* ---------- 10 Price ---------- */
.h-price{font-family:var(--mincho);font-weight:500;font-size:clamp(23px,3vw,30px);line-height:1.5;color:var(--ink);letter-spacing:.03em}
.price-list{list-style:none;margin:20px 0 4px;padding:0;display:flex;flex-direction:column;gap:0}
.price-list li{position:relative;padding-left:18px;font-family:var(--sans);font-size:13px;line-height:1.75;color:var(--body);letter-spacing:.03em}
.price-list li::before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--slate)}
.price-rows{display:flex;flex-direction:column;border-top:1px solid var(--e0)}
.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--e0)}
.price-label{font-family:var(--sans);font-size:14px;color:var(--ink);letter-spacing:.04em}
.price-val{font-family:var(--sans);font-size:13px;color:var(--ink)}
.price-num{font-family:var(--garamond);font-size:22px}
.price-num--rose{color:var(--rose)}
.tax{font-size:12px;color:var(--g9)}
.price-tag{display:inline-block;margin-left:8px;font-size:10px;letter-spacing:.1em;color:#FFFFFF;background:var(--rose);padding:3px 8px;border-radius:99px;vertical-align:1px}
.body--price{font-family:var(--sans);font-weight:300;font-size:13.5px;line-height:2.1;color:var(--body)}
.cta-group{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.cta-note{font-family:var(--sans);font-size:12px;line-height:1.9;color:var(--slate);margin-top:12px}
.cta{display:block;background:var(--rose);color:#FFFFFF;font-family:var(--sans);font-size:14px;letter-spacing:.16em;padding:18px 20px;text-align:center;text-decoration:none}
.cta:hover{background:#9F3251;color:#FFFFFF}
.cta--ghost{background:#FFFFFF;color:var(--ink);border:1px solid var(--ink);font-size:13px;letter-spacing:.14em;padding:15px 20px}
.trial{margin-top:20px;padding:24px 24px 26px;border:1px solid var(--e0);background:#FFFFFF;display:flex;flex-direction:column;gap:12px}
.trial-head{display:flex;gap:16px;align-items:flex-start}
.trial-thumb{width:84px;height:84px;object-fit:cover;flex-shrink:0}
.trial-head-text{display:flex;flex-direction:column;gap:8px}
.trial-kick{font-family:var(--poppins);font-size:10px;letter-spacing:.3em;color:var(--slate);text-transform:uppercase}
.trial-copy{font-family:var(--sans);font-weight:300;font-size:13.5px;line-height:2;color:var(--body)}
.price-row--trial{border-top:1px solid var(--e0)}
.trial-days{display:inline-block;margin-left:8px;font-size:11px;letter-spacing:.06em;color:var(--g9)}
.price-row--trial .price-val{white-space:nowrap}
/* 二重価格（通常¥3,080→クーポンで¥980） */
.price-strike{font-family:var(--garamond);font-size:1.15em;color:var(--g9);text-decoration:line-through;text-decoration-color:var(--g9)}
.price-val--trial{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.trial-regular{font-family:var(--sans);font-weight:300;font-size:11.5px;letter-spacing:.04em;color:var(--g6)}
.trial-offer{white-space:nowrap}
.coupon-lbl{font-family:var(--sans);font-weight:400;font-size:12px;letter-spacing:.06em;color:var(--rose);margin-right:8px}
.price-num--lg{font-size:28px}
.trial .cta{margin-top:2px}
/* FVボタン群（30mL＋トライアル） */
.fv-cta-group{display:flex;flex-direction:column;gap:12px;align-items:stretch;width:fit-content}
.fv-cta-group .fv-cta{margin:0;text-align:center;align-self:stretch}
.fv-cta-group .coupon-note{width:0;min-width:100%}
/* トライアル版のみ：ロゴ（top+高さ）＋40px を FVコピーの上端に確保 */
@media(min-width:769px){
  body:has(#trial-stickybar) .fv-copy{padding-top:calc(clamp(26px,3.2vw,40px) + clamp(20px,2.1vw,26px) + 40px)}
}
/* Productセクションのトライアルボタン */
.product-trial{margin-top:20px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.trial-micro{font-family:var(--sans);font-size:12.5px;letter-spacing:.1em;color:var(--rose);width:min(340px,100%);text-align:center}
.cta--rose{background:var(--rose)}
.cta--rose:hover{background:#9F3251;color:#FFFFFF}
.product-trial .fv-cta{margin-top:0}
.product .product-cta,.product-trial .fv-cta{width:min(360px,100%);padding-inline:0;text-align:center;box-sizing:border-box}
.trial-micro{width:min(360px,100%)}
.product-trial .coupon-note{width:min(360px,100%)}
/* 30mL購入（くすみブルー） */
.cta--slate{background:var(--slate)}
.cta--slate:hover{background:#56657A;color:#FFFFFF}
/* Trial CTA帯（POINT 03後） */
.section--trialband{background:var(--bg);padding-block:clamp(64px,9vw,110px)}
.trial-band{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.trial-band-img{width:100%;max-width:480px;height:auto;display:block}
.band-note{font-family:var(--sans);font-weight:300;font-size:11.5px;line-height:1.9;letter-spacing:.04em;color:var(--body)}
.coupon-note{font-family:var(--sans);font-weight:300;font-size:12.5px;line-height:1.9;letter-spacing:.04em;color:var(--body);text-align:center}
.coupon-note strong,.band-note strong,.trial-notes strong{font-weight:500;color:var(--ink)}
.coupon-note--philo{margin-top:-24px}
.trial-notes{list-style:none;display:flex;flex-direction:column;gap:4px;margin-top:2px;padding:0}
.trial-notes li{font-family:var(--sans);font-weight:300;font-size:11.5px;line-height:1.8;letter-spacing:.03em;color:var(--body);padding-left:1.1em;text-indent:-1.1em}
.trial-notes li::before{content:"※"}
.trial-band-price{font-family:var(--sans);font-size:14px;letter-spacing:.06em;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:4px}
.band-regular{font-weight:300;font-size:12.5px;color:var(--g6)}
.band-offer{white-space:nowrap}
.band-num{font-family:var(--garamond);font-size:30px;color:var(--rose);margin:0 6px 0 12px}
.cta--band{display:inline-block;min-width:min(320px,80vw);padding:18px 44px;letter-spacing:.16em}
/* モバイル追従バー */
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-top:1px solid var(--e0);transform:translateY(102%);transition:transform .3s ease}
.stickybar.is-on{transform:translateY(0)}
.stickybar-txt{font-family:var(--sans);font-size:12px;letter-spacing:.04em;color:var(--ink);white-space:nowrap;display:flex;flex-direction:column;line-height:1.3}
.stickybar-strike{font-family:var(--garamond);font-size:12px;color:var(--g9);text-decoration:line-through}
.stickybar-price{font-family:var(--garamond);font-size:19px;color:var(--rose)}
.stickybar-tax{font-size:10px;color:var(--g9)}
.stickybar-btn{flex-shrink:0;background:var(--rose);color:#FFFFFF;font-family:var(--sans);font-size:14px;letter-spacing:.08em;padding:15px 22px;text-decoration:none}
.stickybar-btn:hover{background:#9F3251;color:#FFFFFF}
@media(max-width:768px){
  .stickybar{display:flex}
  body:has(.stickybar) .footer{padding-bottom:84px}
  .trial-band .body br{display:none}
  .cta--band{display:block;width:100%;min-width:0;box-sizing:border-box}
  .cta--dark{display:block;width:100%;box-sizing:border-box;padding-inline:16px}
  .fv-cta-group{width:100%}
  .fv-cta-group .fv-cta{padding-inline:12px}
  .fv-copy>.fv-cta{align-self:stretch;text-align:center;padding-inline:12px}
  .product .product-cta,.product-trial .fv-cta,.trial-micro,.product-trial .coupon-note{width:100%}
  .price-row--trial{flex-direction:column;align-items:flex-start;gap:8px}
  .price-val--trial{align-items:flex-start}
}
.cta--dark{background:var(--ink);color:#FFFFFF;font-size:13.5px;letter-spacing:.18em;padding:17px 48px;display:inline-block;text-decoration:none}
.cta--dark:hover{background:var(--ink-2);color:#FFFFFF}
.product-cta{margin-top:24px;text-decoration:none}
.product-cta:hover{background:var(--ink-2);color:#FFFFFF}
.acc{display:flex;flex-direction:column;margin-top:8px;border-top:1px solid var(--e0)}
.acc-item{border-bottom:1px solid var(--e0)}
.acc-sum{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 4px;font-family:var(--sans);font-size:13px;letter-spacing:.06em;color:var(--ink)}
.pm{font-family:var(--poppins);font-size:14px;color:var(--g9);transition:transform .2s}
.acc-body{margin:0;padding:2px 4px 18px;font-family:var(--sans);font-weight:300;font-size:12px;line-height:2;color:var(--g6)}
.acc-note{margin:0;padding:0 4px 18px;font-family:var(--sans);font-size:11.5px;line-height:1.95;color:var(--g9)}
.acc-list{margin:0;padding:2px 4px 18px 20px;font-family:var(--sans);font-weight:300;font-size:12px;line-height:2;color:var(--g6)}

/* ---------- 11 FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:clamp(32px,5vw,44px)}
.faq-list{width:100%;max-width:760px;margin:0 auto;display:flex;flex-direction:column;border-top:1px solid var(--e0)}
.faq-item{border-bottom:1px solid var(--e0);background:#FFFFFF}
.faq-sum{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 22px;font-family:var(--sans);font-size:14px;line-height:1.8;color:var(--ink)}
.pm--faq{font-size:15px;flex:none}
.faq-a{margin:0;padding:0 22px 22px;font-family:var(--sans);font-weight:300;font-size:13.5px;line-height:2.1;color:var(--body)}

/* ---------- 12 Our Philosophy ---------- */
.philo{display:flex;flex-direction:column;align-items:center;gap:clamp(34px,5vw,48px);text-align:center}
.philo-badges{display:flex;gap:24px}
.philo-badge{font-family:var(--poppins);font-size:10px;letter-spacing:.24em;color:var(--slate);text-transform:uppercase}
.h-philo{font-family:var(--mincho);font-weight:500;font-size:clamp(21px,3vw,31px);line-height:2;color:var(--ink);letter-spacing:.05em;text-wrap:balance}
.body--philo{font-family:var(--sans);font-weight:300;font-size:14.5px;line-height:2.3;color:var(--body)}
.tag-em{font-family:var(--garamond);font-style:italic;font-size:17px;letter-spacing:.14em;color:var(--g6)}

/* ---------- 13 Footer ---------- */
.footer{background:var(--ink);padding:clamp(48px,7vw,72px) clamp(24px,6vw,64px)}
.footer-wrap{display:flex;flex-direction:column;gap:26px;align-items:center;text-align:center}
.footer-brand{font-family:var(--garamond);font-size:20px;letter-spacing:.24em;color:#FFFFFF}
.footer-logo{width:auto;height:26px;display:block}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px}
.footer-link{font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:var(--c8);text-decoration:none}
.footer-note{font-family:var(--sans);font-size:11px;color:var(--g9);line-height:1.9}
.copyright{font-family:var(--poppins);font-size:11px;letter-spacing:.1em;color:var(--g9)}

/* ---------- image ratios / helpers ---------- */
.ratio-45{width:100%;aspect-ratio:4/5}
.ratio-11{width:100%;aspect-ratio:1/1}
.ratio-169{width:100%;aspect-ratio:16/9}
.img-top{object-position:50% 30%}
.order-1{order:1}
.order-2{order:2}

/* ---------- 強み（Our Strength）内のプロの声 ---------- */
.endorse{max-width:520px;margin-top:8px;padding-top:24px;border-top:1px solid var(--e0);display:flex;flex-direction:column;gap:8px;align-items:center}
.endorse-lead{font-family:var(--sans);font-size:12px;letter-spacing:.08em;color:var(--g6)}
.endorse-quote{font-family:var(--mincho);font-size:clamp(15px,2vw,18px);line-height:1.9;color:var(--ink)}
.endorse-src{font-family:var(--sans);font-size:11.5px;color:var(--g9)}

/* ---------- POINT ラベル（3ポイントの裏づけセクション見出し） ---------- */
.point-label{display:flex;align-items:center;gap:12px;align-self:center;font-family:var(--sans);font-weight:500;font-size:14px;letter-spacing:.06em;color:var(--ink)}
.point-label--left{align-self:flex-start}
.point-num{font-family:var(--poppins);font-weight:500;font-size:10.5px;letter-spacing:.14em;color:#FFFFFF;background:var(--slate);padding:5px 12px;border-radius:99px}

/* ---------- セクション内の区切り線（1px） ---------- */
.divider{width:100%;height:1px;background:var(--line);border:none;margin:0}

/* ---------- Product サブコピー ---------- */
.product-sub{font-family:var(--mincho);font-weight:500;font-size:clamp(15px,1.9vw,18px);line-height:1.9;color:var(--ink);letter-spacing:.02em}

/* ---------- POINTセクション共通ヘッダー（ラベル→タイトル→サブコピーの余白統一） ---------- */
.point-head{display:flex;flex-direction:column;gap:14px}
.point-head.tc{align-items:center;text-align:center}

/* ---------- POINT 03 うるおい成分を省く図 ---------- */
.point03-fig{margin:0;width:100%;max-width:760px;align-self:center}
.point03-fig picture{display:block;width:100%}
.point03-fig img{width:100%;height:auto;display:block}
@media(max-width:768px){.point03-fig{max-width:420px}}
.w100{width:100%}

/* ---------- パララックス固定背景バンド ---------- */
.parallax{height:min(60vh,460px);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}
.parallax--1{background-image:url(assets/section_background.jpg)}
.parallax--2{background-image:url(assets/section_background02.jpg)}
@media(max-width:768px){.parallax{background-attachment:scroll;height:min(46vh,340px)}}
