:root{--paper:#FFFDF9;--beige:#F3ECE3;--beige2:#EADFD3;--ink:#231F1C;--sub:#6F665F;--line:#E2D6CA;--orange:#EE5A0F;--orange-d:#C9470A;--yellow:#F7F27A;--mint:#9ED3BE;--mint-d:#4E9E83}
*{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:var(--beige);line-height:1.95;font-size:16px;letter-spacing:.03em;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
ul,ol{list-style:none}
.sp{display:inline}@media(min-width:760px){.sp{display:none}}
mark{background:linear-gradient(transparent 60%,var(--yellow) 60%);color:inherit;font-weight:700}

.pr{background:var(--ink);color:#e9e1d8;font-size:11px;text-align:center;padding:6px 10px;letter-spacing:.04em}
.pr span{display:inline-block;border:1px solid #e9e1d8;border-radius:3px;font-weight:700;padding:0 5px;margin-right:8px;font-size:10px;line-height:1.5}
.mast{background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 18px;max-width:100%}
.mast__logo img{width:84px}
.mast__name{font-size:13px;font-weight:900;text-align:right;line-height:1.3}
.mast__name small{display:block;font-size:10px;font-weight:500;color:var(--sub)}

.post{max-width:680px;margin:0 auto;background:var(--paper)}
@media(min-width:760px){.post{margin:32px auto 0;border-radius:16px 16px 0 0;box-shadow:0 10px 40px rgba(60,40,20,.08)}}
.post__head{padding:26px 22px 18px}
.post__cat{display:inline-block;font-size:12px;font-weight:700;color:var(--orange-d);border:1.5px solid var(--orange);border-radius:999px;padding:1px 12px}
.post__title{font-size:27px;line-height:1.5;font-weight:900;margin:12px 0 8px;letter-spacing:.04em}
.post__sub{font-size:14.5px;color:#4b443e;font-weight:500;line-height:1.7}
.author{display:flex;gap:12px;align-items:center;margin-top:18px;padding:12px;background:var(--beige);border-radius:12px}
.author img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:35% 30%;flex:none}
.author p{font-size:12px;line-height:1.55;color:#4b443e}
.author small{display:block;font-size:10.5px;color:var(--sub)}
.author b{display:block;font-size:15px;color:var(--ink)}
.post__meta{display:flex;gap:8px;margin-top:12px;font-size:11.5px;color:var(--sub)}
.post__meta span{background:var(--beige);border-radius:4px;padding:1px 8px}
.hero img{width:100%;aspect-ratio:16/10;object-fit:cover}
.body{padding:0 22px}
.body p{margin-top:18px}
.body b{font-weight:900}
.toc{margin:30px 22px 0;border:2px solid var(--ink);border-radius:14px;padding:16px 18px 14px}
.toc__ttl{font-size:14px;font-weight:900;margin-bottom:6px}
.toc ol{counter-reset:t}
.toc li{counter-increment:t;font-size:14px;line-height:1.6;padding:7px 0 7px 32px;position:relative;border-top:1px dashed var(--line)}
.toc li:first-child{border-top:0}
.toc li::before{content:counter(t,decimal-leading-zero);position:absolute;left:0;top:7px;font-family:Outfit;font-weight:800;color:var(--orange)}
.toc a{text-decoration:none}

.sec{padding:56px 0 0}
.sec__no{font-family:Outfit;font-weight:800;font-size:13px;color:var(--orange);letter-spacing:.12em;padding:0 22px}
.sec__no::before{content:"CHAPTER ";}
.sec__ttl{font-size:22px;line-height:1.55;font-weight:900;padding:4px 22px 0;letter-spacing:.04em}
.sec__ttl--c{text-align:center}
.hint{margin:16px 22px 0;font-size:13px;color:var(--sub);padding-left:14px;border-left:3px solid var(--mint)}
.note{font-size:10.5px;color:var(--sub);margin:12px 22px 0;line-height:1.6}

/* quiz */
.quiz{margin:20px 22px 0;background:var(--ink);color:#fff;border-radius:18px;padding:20px 18px 22px;position:relative;min-height:262px}
.quiz__bar{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:14px}
.quiz__bar span{width:26px;height:26px;border-radius:50%;background:#4a433d;font-family:Outfit;font-weight:800;font-size:13px;display:grid;place-items:center}
.quiz__bar span.is-on{background:var(--orange)}
.quiz__bar i{width:22px;height:2px;background:#4a433d}
.quiz__q{display:none;text-align:center}
.quiz__q.is-on{display:block;animation:fade .3s}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.quiz__qno{font-family:Outfit;font-weight:800;color:#FFB37E}
.quiz__qt{font-size:19px;font-weight:700;line-height:1.55;margin:4px 0 18px}
.quiz__qt b{color:var(--yellow)}
.quiz__a{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quiz__a button{font:inherit;font-weight:900;font-size:16px;padding:13px 0;border-radius:999px;border:2px solid #fff;background:#fff;color:var(--ink);cursor:pointer}
.quiz__a button+button{background:transparent;color:#fff}
.quiz__res{display:none;text-align:center}
.quiz__res.is-on{display:block;animation:fade .3s}
.quiz__resl{font-size:12px;color:#cfc6bd}
.quiz__score{font-size:15px;font-weight:700}
.quiz__score b{font-family:Outfit;font-size:46px;color:var(--yellow);line-height:1.1;margin-right:2px}
.quiz__msg{font-size:14px;line-height:1.7;margin:8px 0 14px;text-align:left;background:rgba(255,255,255,.08);border-radius:10px;padding:10px 12px}
.quiz__next{display:block;background:var(--orange);color:#fff;text-decoration:none;font-weight:900;border-radius:999px;padding:12px 0}
.quiz__retry{margin-top:10px;background:none;border:0;color:#cfc6bd;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}

/* diet */
.diet{margin:20px 22px 0;background:var(--beige);border-radius:14px;padding:16px 16px 12px}
.diet__ttl{font-size:13px;font-weight:900;margin-bottom:8px}
.diet li{display:grid;grid-template-columns:44px 1fr 70px;align-items:center;gap:8px;margin:7px 0;font-size:13px}
.diet__who{font-weight:700}
.diet__bar{height:14px;background:#fff;border-radius:999px;overflow:hidden}
.diet__bar i{display:block;height:100%;background:#cbbcae;border-radius:999px}
.is-cat .diet__bar i{background:var(--orange)}
.is-cat .diet__who,.is-cat .diet__lab{color:var(--orange-d);font-weight:900}
.diet__lab{font-size:12px}
.diet__note{font-size:10.5px;color:var(--sub);text-align:right}
.why{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 22px 0}
.why li{background:var(--beige);border-radius:10px;padding:10px 12px 10px 30px;position:relative;font-size:13.5px}
.why li::before{content:"";position:absolute;left:12px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--orange);transform:translateY(-50%)}
.callout{margin:18px 22px 0;background:#FFF1E8;border-left:4px solid var(--orange);border-radius:0 12px 12px 0;padding:14px 16px;font-size:14.5px;line-height:1.75}
.callout b{font-weight:900;color:var(--orange-d)}

/* label */
.label{margin:20px 22px 0}
.label__card{background:#fff;border:1.5px solid #bdb2a7;border-radius:6px;padding:14px 16px 16px;position:relative;font-size:13px;box-shadow:3px 3px 0 #e6ddd3}
.label__head{font-weight:900;border-bottom:1px solid #bdb2a7;padding-bottom:4px;margin-bottom:8px;font-size:12px}
.label__txt{line-height:1.9}
.hl{border-radius:3px;padding:1px 3px;position:relative}
.hl--1{background:#FFD9C4;outline:2px solid var(--orange)}
.hl--2{background:#FFE9C4}
.hl--3{background:#FFF3C4}
.hl--1::after{content:"1";position:absolute;top:-12px;left:-10px;width:18px;height:18px;border-radius:50%;background:var(--orange);color:#fff;font:800 11px/18px Outfit;text-align:center}
.label__tag{position:absolute;right:10px;top:-10px;background:var(--ink);color:#fff;font-size:10px;font-weight:700;border-radius:4px;padding:1px 8px}
.label__points{margin-top:14px;display:grid;gap:8px}
.label__points li{display:flex;gap:10px;font-size:13.5px;line-height:1.65}
.label__points i{flex:none;width:24px;height:24px;border-radius:50%;background:var(--orange);color:#fff;font:800 13px/24px Outfit;text-align:center;font-style:normal;margin-top:2px}
.label__points b{display:block;font-weight:900}
.fig{margin:20px 22px 0}
.fig img{border-radius:12px;width:100%}
.fig figcaption{font-size:11.5px;color:var(--sub);margin-top:6px;line-height:1.6}
.fig--size{background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px}

/* answer */
.sec--answer{background:linear-gradient(var(--paper),var(--beige) 40%);padding-bottom:30px;margin-top:20px}
.prod{display:grid;grid-template-columns:42% 1fr;gap:14px;align-items:center;margin:22px 22px 0;background:var(--paper);border-radius:16px;padding:12px;border:2px solid var(--ink)}
.prod>img{border-radius:10px}
.prod__logo{width:120px;margin-bottom:8px}
.prod__pts li{font-size:12.5px;line-height:1.45;font-weight:700;padding:6px 0;border-top:1px dashed var(--line);display:flex;gap:8px}
.prod__pts li:first-child{border-top:0}
.prod__pts b{font-family:Outfit;color:var(--orange)}
.lab{margin:26px 22px 0;background:var(--ink);color:#fff;border-radius:18px;padding:22px 18px 18px}
.lab__tag{display:inline-block;font-family:Outfit;font-weight:800;font-size:11px;letter-spacing:.12em;background:#fff;color:var(--ink);border-radius:999px;padding:1px 10px}
.lab h3{font-size:19px;line-height:1.55;font-weight:900;margin:10px 0 12px}
.lab img{border-radius:10px}
.lab p{font-size:13.5px;line-height:1.75;margin-top:12px;color:#e9e1d8}
.lab__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}
.lab__steps li{background:rgba(255,255,255,.08);border-radius:8px;padding:8px 6px;font-size:11.5px;line-height:1.45;text-align:center}
.lab__steps b{display:block;font-family:Outfit;color:#FFB37E;font-size:11px}
.lab__uni{font-size:12.5px!important;color:#fff!important;font-weight:700}
.lab__uni small{display:block;font-weight:500;color:#bfb5ab;font-size:10.5px}

/* voices */
.sec--voice{padding-bottom:10px}
.voices{display:grid;gap:12px;margin:20px 22px 0}
.voices figure{display:grid;grid-template-columns:110px 1fr;gap:12px;background:var(--beige);border-radius:14px;padding:10px;align-items:start}
.voices img{width:110px;height:110px;object-fit:cover;border-radius:10px}
.voices figcaption{font-size:13px;line-height:1.7;color:#4b443e}
.voices b{display:block;font-size:14px;color:var(--ink);font-weight:900;line-height:1.45;margin-bottom:4px}

/* offer */
.offer{margin-top:44px;background:var(--orange);padding:40px 22px 34px;color:#fff;text-align:center}
.offer__pre{font-size:13px;font-weight:700;opacity:.9}
.offer__ttl{font-size:23px;line-height:1.5;font-weight:900;margin:6px 0 30px}
.offer__card{background:var(--paper);color:var(--ink);border-radius:18px;padding:24px 18px 18px;position:relative;text-align:center}
.offer__il{position:absolute;width:74px;right:-8px;top:-40px}
.offer__name{font-size:15px;font-weight:900}
.offer__price{display:flex;align-items:center;justify-content:center;gap:8px;margin:6px 0 10px}
.offer__price s{font-size:13px;color:var(--sub)}
.offer__price span{background:var(--ink);color:#fff;font-size:10.5px;font-weight:900;line-height:1.3;border-radius:6px;padding:4px 6px}
.offer__price b{font-family:Outfit;font-size:56px;font-weight:800;color:var(--orange);line-height:1;letter-spacing:-.02em}
.offer__price em{font-style:normal;font-weight:900;font-size:18px;display:flex;flex-direction:column;line-height:1.05;text-align:left}
.offer__price em small{font-size:10px;font-weight:500}
.offer__safe{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.offer__safe li{font-size:12px;font-weight:700;background:var(--beige);border-radius:999px;padding:3px 10px}
.offer__btn{display:block;background:var(--orange);color:#fff;text-decoration:none;font-weight:900;font-size:18px;border-radius:999px;padding:16px 0;box-shadow:0 5px 0 var(--orange-d);position:relative}
.offer__btn::after{content:"";position:absolute;right:24px;top:50%;width:9px;height:9px;border-top:3px solid #fff;border-right:3px solid #fff;transform:translateY(-50%) rotate(45deg)}
.offer__limit{font-size:12px;margin-top:14px;color:var(--sub)}
.offer__limit b{color:var(--orange-d)}
.offer .note{color:#ffe3d3;margin:14px 0 0;text-align:left}
.post__foot{padding:24px 22px 40px}
.author--foot{margin:0}
.credit{text-align:center;font-size:11px;color:var(--sub);padding:18px 0 90px}

.fix{position:fixed;z-index:30;left:12px;right:12px;bottom:12px;transform:translateY(140%);transition:transform .3s}
.fix.is-show{transform:none}
.fix a{display:block;background:var(--orange);color:#fff;text-decoration:none;text-align:center;font-weight:900;font-size:16px;border-radius:999px;padding:9px 0 8px;line-height:1.35;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.fix small{display:block;font-size:10.5px;font-weight:700;opacity:.9}
@media(min-width:760px){.fix{left:auto;right:24px;width:300px}}
body.is-shot .fix{display:none}
.lab .lab__tag{color:var(--ink);margin-top:0}
.offer__il{width:64px;top:-30px;right:-4px}
.midcta{display:block;margin:16px 22px 0;text-align:center;font-weight:900;font-size:15px;text-decoration:none;border:2px solid var(--ink);border-radius:999px;padding:12px 0;background:var(--paper)}
.midcta::after{content:" →"}
