:root{--or:#E8611C;--or-d:#C24A0C;--or-l:#FFE7D6;--cream:#FBF4EA;--paper:#FFFDF9;--ink:#2A211B;--sub:#74685E;--line:#EBDCCB;--yel:#FFE94D;--chk:#D9531E}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Zen Kaku Gothic New",system-ui,sans-serif;color:var(--ink);background:#F1E4D4;line-height:1.8;font-size:15px;letter-spacing:.03em;overflow-x:hidden}
@media(min-width:700px){body{background:#F1E4D4 radial-gradient(circle at 20px 20px,rgba(232,97,28,.10) 3px,transparent 4px) 0 0/40px 40px}}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}a{color:inherit}
.page{max-width:560px;margin:0 auto;background:var(--cream);box-shadow:0 0 60px rgba(80,40,10,.12);overflow:hidden}
.hd{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--paper)}
.hd img{width:86px}
.hd__cta{background:var(--or);color:#fff;text-decoration:none;border-radius:999px;font-size:12px;font-weight:900;padding:6px 14px}
.hd__cta b{font-family:Outfit;font-size:15px}
.notes{font-size:10px;color:var(--sub);line-height:1.6;padding:8px 16px 0}
.notes--c{text-align:center}
.eng{font-family:Outfit;font-weight:800;font-size:12px;letter-spacing:.18em;color:var(--or);text-align:center}
.ttl{font-size:23px;font-weight:900;line-height:1.5;text-align:center;letter-spacing:.04em}
.mk{background:linear-gradient(transparent 60%,var(--yel) 60%)}
.sec{padding:52px 18px 0}

/* ボタン */
.btn{display:flex;align-items:center;gap:12px;background:var(--or);color:#fff;text-decoration:none;border-radius:999px;padding:8px 26px 8px 8px;box-shadow:0 5px 0 var(--or-d);position:relative;font-weight:900}
.btn::after{content:"";position:absolute;right:22px;top:50%;width:10px;height:10px;border-top:3px solid #fff;border-right:3px solid #fff;transform:translateY(-50%) rotate(45deg)}
.btn__tag{flex:none;width:58px;height:58px;border-radius:50%;background:var(--yel);color:var(--ink);font-size:11px;line-height:1.25;display:grid;place-items:center;text-align:center}
.btn__txt{font-size:18px;line-height:1.3}
.btn__txt b{font-family:Outfit;font-size:28px;margin:0 1px}

/* FV */
.fv{background:var(--or);color:#fff;position:relative;padding-bottom:22px}
.fv__photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 40%}
.fv__badges{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 12px;margin-top:-30px;position:relative;z-index:2}
.fv__badges span{background:var(--paper);color:var(--ink);border-radius:10px;text-align:center;font-size:10px;line-height:1.3;padding:7px 4px 6px;position:relative;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.fv__badges b{font-weight:900}
.fv__badges strong{display:block;font-size:16px;font-weight:900;color:var(--or-d);line-height:1.25}
.fv__badges small{position:absolute;right:5px;top:3px;font-size:8px;color:var(--sub)}
.fv__body{position:relative;padding:20px 18px 0;min-height:290px}
.fv__pre{display:inline-block;background:var(--ink);color:#fff;font-size:12px;font-weight:700;border-radius:4px;padding:2px 10px}
.fv__ttl{font-size:36px;line-height:1.3;font-weight:900;margin-top:10px;letter-spacing:.02em;text-shadow:0 2px 0 rgba(0,0,0,.08)}
.fv__ttl span{font-size:24px;display:inline-block;margin-top:4px}
.fv__stat{display:inline-flex;align-items:center;gap:8px;background:var(--paper);color:var(--ink);border-radius:14px;padding:6px 14px 6px 12px;margin-top:14px;position:relative}
.fv__stat p{font-size:11px;font-weight:900;line-height:1.3}
.fv__stat b{font-family:Outfit;font-size:46px;font-weight:900;color:var(--or);line-height:1}
.fv__stat i{font-style:normal;font-size:20px}
.fv__stat small{position:absolute;right:6px;top:4px;font-size:8px;color:var(--sub)}
.fv__pkg{position:absolute;right:-24px;top:34px;width:58%;-webkit-mask-image:radial-gradient(closest-side,#000 70%,transparent 100%);mask-image:radial-gradient(closest-side,#000 70%,transparent 100%)}
.fv__pts{display:flex;gap:6px;margin-top:14px}
.fv__pts li{width:70px;height:70px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;text-align:center;font-size:11.5px;font-weight:900;line-height:1.3}
.fv__offer{padding:22px 16px 0}
.fv__gift{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);border-radius:12px;padding:6px 12px;font-size:13px;margin-bottom:14px}
.fv__gift img{width:44px;height:44px;object-fit:cover;border-radius:8px;background:#fff}
.fv__gift b{color:var(--yel)}
.fv .btn{background:var(--paper);color:var(--or-d);box-shadow:0 5px 0 rgba(0,0,0,.18)}
.fv .btn::after{border-color:var(--or-d)}
.fv__safe{text-align:center;font-size:12px;font-weight:700;margin-top:12px}

/* 悩み */
.worry{background:var(--paper);padding-bottom:40px}
.worry__list{display:grid;gap:10px;margin-top:22px}
.worry__list li{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:14px;background:var(--cream);border-radius:14px;overflow:hidden}
.worry__list img{width:120px;height:84px;object-fit:cover}
.worry__list p{font-size:15px;font-weight:700;line-height:1.5}
.worry__list b{color:var(--or-d);font-weight:900}
.worry__to{margin-top:24px;text-align:center;font-size:17px;font-weight:700;line-height:1.7;position:relative;padding-top:26px}
.worry__to::before{content:"";position:absolute;left:50%;top:0;width:18px;height:18px;border-right:4px solid var(--or);border-bottom:4px solid var(--or);transform:translateX(-50%) rotate(45deg)}
.worry__to b{background:linear-gradient(transparent 60%,var(--yel) 60%);font-weight:900}

/* Wアプローチ */
.wap .ttl{margin:4px 0 24px}
.wap__card{background:var(--paper);border-radius:20px;padding:26px 18px 20px;position:relative;border:2px solid var(--ink)}
.wap__no{position:absolute;top:-20px;left:16px;font-family:Outfit;font-weight:900;font-size:38px;color:var(--or);line-height:1;background:var(--cream);padding:0 6px}
.wap__card h3{font-size:19px;line-height:1.5;font-weight:700}
.wap__card h3 b{font-weight:900;color:var(--or-d)}
.wap__card>p:last-child{font-size:13.5px;color:#54493f;margin-top:12px}
.wap__img{margin-top:14px;border-radius:12px;border:1px solid var(--line)}
.wap__plus{text-align:center;font-family:Outfit;font-size:40px;font-weight:900;color:var(--or);line-height:1;margin:12px 0 18px}
.fiber{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.fiber div{background:var(--cream);border-radius:14px;text-align:center;padding:14px 8px 12px}
.fiber img{width:62px;margin:0 auto 6px;mix-blend-mode:multiply}
.fiber b{display:block;font-size:16px;font-weight:900}
.fiber span{display:inline-block;font-size:10.5px;background:var(--ink);color:#fff;border-radius:4px;padding:0 6px;margin:2px 0 6px}
.fiber p{font-size:12.5px;line-height:1.5;font-weight:700}

/* 健康の土台 */
.base .ttl{margin:4px 0 22px;font-size:21px}
.base__list{display:grid;gap:12px}
.base__list li{background:var(--paper);border-radius:16px;overflow:hidden;display:grid;grid-template-columns:42% 1fr;align-items:center}
.base__list img{width:100%;height:100%;min-height:128px;object-fit:cover}
.base__list div{padding:12px 14px}
.base__list b{display:block;font-size:15px;font-weight:900;line-height:1.45;margin-bottom:4px}
.base__list p{font-size:12.5px;line-height:1.65;color:#54493f}

/* 獣医師 */
.vet__in{background:var(--ink);color:#fff;border-radius:20px;overflow:hidden;padding-bottom:20px;text-align:center}
.vet__in img{width:100%;aspect-ratio:16/10;object-fit:cover}
.vet__pre{font-size:13px;margin-top:18px;color:#d8cdc2}
.vet__in h2{font-size:19px;line-height:1.55;font-weight:700;margin-top:2px}
.vet__in h2 b{display:inline-block;font-size:23px;font-weight:900;color:var(--yel)}
.vet__in ul{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 14px;margin-top:16px}
.vet__in li{aspect-ratio:1;border-radius:50%;background:var(--or);display:grid;place-items:center;font-size:12.5px;font-weight:900;line-height:1.35}

/* 数字と声 */
.proof .ttl{margin-bottom:20px}
.proof__big{background:var(--paper);border-radius:20px;text-align:center;padding:16px 10px 10px;border:3px solid var(--or)}
.proof__big p{font-size:15px;font-weight:900}
.proof__big b{font-family:Outfit;font-size:92px;font-weight:900;color:var(--or);line-height:1;letter-spacing:-.02em}
.proof__big i{font-style:normal;font-size:36px}
.proof__sub{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.proof__sub li{background:var(--paper);border-radius:16px;text-align:center;padding:12px 6px 8px}
.proof__sub p{font-size:12px;font-weight:900}
.proof__sub b{font-family:Outfit;font-size:46px;font-weight:900;color:var(--or);line-height:1.1}
.proof__sub i{font-style:normal;font-size:20px}
.voice{margin-top:28px;background:var(--paper);border-radius:20px;overflow:hidden}
.voice img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 45%}
.voice figcaption{padding:18px 18px 20px}
.voice__tag{display:inline-block;background:var(--yel);font-size:12px;font-weight:900;border-radius:4px;padding:0 8px}
.voice__q{font-size:21px;font-weight:900;line-height:1.5;margin:8px 0 8px}
.voice figcaption p:last-child{font-size:13.5px;color:#54493f}

/* オファー */
.offer{margin-top:52px;background:var(--or);padding:36px 16px 30px;color:#fff;text-align:center}
.offer__pre{display:inline-block;background:var(--ink);font-size:12px;font-weight:700;border-radius:999px;padding:2px 14px}
.offer__ttl{font-size:24px;font-weight:900;margin:10px 0 18px}
.offer__card{background:var(--paper);color:var(--ink);border-radius:20px;padding:18px 14px 16px;text-align:left}
.offer__top{display:grid;grid-template-columns:40% 1fr;gap:12px;align-items:center}
.offer__top img{border-radius:12px}
.offer__name{font-size:15px;font-weight:900;line-height:1.45}
.offer__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px;margin-top:4px}
.offer__price s{width:100%;font-size:12px;color:var(--sub)}
.offer__price b{font-family:Outfit;font-size:60px;font-weight:900;color:var(--or);line-height:1;letter-spacing:-.02em}
.offer__price span{font-size:18px;font-weight:900;display:flex;flex-direction:column;line-height:1.05}
.offer__price small{font-size:10px;font-weight:500}
.offer__off{display:inline-block;background:var(--ink);color:#fff;font-size:12px;font-weight:900;border-radius:4px;padding:1px 8px;margin-top:6px}
.offer__gift{margin:14px 0;background:var(--or-l);border-radius:10px;padding:8px 12px;font-size:13.5px;font-weight:700}
.offer__gift b{background:var(--or);color:#fff;border-radius:4px;padding:0 6px;margin-right:8px;font-size:12px}
.btn--big .btn__txt{font-size:20px}
.cond{width:100%;border-collapse:collapse;margin-top:18px;font-size:12.5px;line-height:1.6}
.cond th{width:86px;text-align:left;vertical-align:top;font-weight:900;padding:9px 6px 9px 0;border-top:1px solid var(--line);color:var(--or-d)}
.cond td{padding:9px 0;border-top:1px solid var(--line)}
.cond b{font-weight:900}

/* 返金保証 */
.guar__box{background:var(--yel);border:2px solid var(--ink);border-radius:20px;text-align:center;padding:34px 18px 18px;position:relative}
.guar__box>img{position:absolute;width:70px;top:-34px;left:50%;transform:translateX(-50%)}
.guar__pre{font-size:13px;font-weight:700}
.guar__box h2{font-size:34px;font-weight:900;letter-spacing:.1em;margin:2px 0 6px}
.guar__box>p{font-size:14px}
.guar__box .notes{text-align:left;color:#5b5320;padding:10px 0 0}

/* FAQ */
.faq .ttl{margin-bottom:14px}
.faq details{background:var(--paper);border-radius:14px;margin-top:8px}
.faq summary{list-style:none;cursor:pointer;font-weight:900;font-size:14.5px;padding:16px 40px 16px 44px;position:relative;line-height:1.5}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:14px;top:13px;width:22px;height:22px;border-radius:50%;background:var(--or);color:#fff;font:800 13px/22px Outfit;text-align:center}
.faq summary::after{content:"+";position:absolute;right:16px;top:12px;font:800 20px Outfit;color:var(--or)}
.faq details[open] summary::after{content:"−"}
.faq details p{font-size:13.5px;color:#54493f;padding:0 16px 16px 44px}

/* 最終 */
.last{padding:52px 16px 30px;text-align:center}
.last img{border-radius:20px;width:100%;aspect-ratio:16/9;object-fit:cover}
.last h2{font-size:24px;font-weight:900;line-height:1.5;margin:20px 0 20px}
.ft{background:var(--ink);color:#cfc3b7;text-align:center;font-size:11px;padding:24px 16px 90px}
.ft img{width:170px;margin:0 auto 10px;border-radius:10px}

.fix{position:fixed;z-index:40;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));transform:translateY(120%);transition:transform .3s;pointer-events:none}
.fix.is-show{transform:none;pointer-events:auto}
.fix a{display:block;max-width:520px;margin:0 auto;background:var(--or);color:#fff;text-decoration:none;text-align:center;font-weight:900;font-size:17px;border-radius:999px;padding:7px 0 9px;line-height:1.3;box-shadow:0 4px 0 var(--or-d),0 10px 26px rgba(0,0,0,.2)}
.fix span{display:block;font-size:10.5px;color:var(--yel)}
.fix b{font-family:Outfit;font-size:24px}
body.is-shot .fix{display:none}

/* FV圧縮：CTAを1画面目に収める */
.fv__photo img{aspect-ratio:16/9;object-position:50% 55%}
.fv__body{min-height:0;padding-top:16px}
.fv__ttl{font-size:31px;margin-top:8px}
.fv__ttl span{font-size:20px}
.fv__pkg{width:50%;top:18px;right:-18px}
.fv__stat{margin-top:10px;padding:4px 14px 4px 12px}
.fv__stat b{font-size:40px}
.fv__pts{margin-top:10px;gap:5px}
.fv__pts li{width:auto;height:auto;border-radius:999px;padding:2px 10px;font-size:11px;border-width:1.5px}
.fv__pts li br{display:none}
.fv__offer{padding-top:14px}
.fv__gift{margin-bottom:10px;padding:4px 10px}
.fv__gift img{width:36px;height:36px}
