:root{--pink:#d52b78;--blue:#154caa;--red:#cf212d;--yellow:#fff65c;--green:#207d40;--ink:#242126}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#ededed;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:18px;font-weight:600;line-height:1.9}main{max-width:620px;margin:auto;background:#fff;overflow:hidden}p{margin:0 0 30px}a{color:#185990}img{display:block;width:100%;height:auto}section{scroll-margin-top:18px}.pr{margin:0;padding:7px 16px;font-size:12px;color:#666;font-weight:400;line-height:1.7}.offer-ribbon{color:#fff;text-align:center;background:linear-gradient(100deg,#b28335,#e0bd6c,#aa7c2c);padding:8px 6px;font-size:18px;font-weight:900;letter-spacing:.07em}.offer-ribbon b{background:#fff;color:#a15a21;padding:2px 10px;margin-right:6px}.pinkband{background:var(--pink);color:#fff;text-align:center;padding:12px;font-size:23px;font-weight:900;line-height:1.6}.hero{position:relative}.hero h1{position:absolute;z-index:1;top:3%;left:4%;width:92%;margin:0;text-align:center;line-height:1.55;color:#4a2838;font-size:clamp(26px,6vw,42px);font-weight:900;text-shadow:0 1px 3px white,0 0 10px white}.hero h1 span{font-size:.63em;display:block}.hero h1 em{color:var(--pink);font-style:normal;text-decoration:underline;text-decoration-color:#e6b9ca;text-underline-offset:6px}.caption{font-size:13px;font-weight:400;line-height:1.7;color:#626262;margin:10px 18px 0}.copy{text-align:center;padding:40px 24px 18px}.copy p:last-child{margin-bottom:18px}.lead{font-size:25px;font-weight:900;line-height:1.8}.large{font-size:29px;line-height:1.65;font-weight:900}.blue{color:var(--blue)}.pink{color:var(--pink)}.red{color:var(--red)}mark{background:linear-gradient(transparent 53%,var(--yellow) 53%);padding:0 3px;color:inherit}.arrow{width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-top:20px solid var(--pink);margin:8px auto 28px}.chapter{margin:0;text-align:center;background:var(--pink);color:#fff;font-size:28px;line-height:1.6;padding:20px 14px;font-weight:900}.chapter small{display:block;font-size:14px;letter-spacing:.16em}.quote{font-size:23px;line-height:1.8;font-weight:900}.bubble{position:relative;border:2px solid #dfb4cb;border-radius:50%;background:#fff8fc;padding:28px 15px;margin:6px 8px 32px}.bubble:after{content:"";position:absolute;bottom:-15px;left:50%;border-width:15px 10px 0;border-style:solid;border-color:#dfb4cb transparent transparent}.product{background:radial-gradient(ellipse at 50% 10%,#fff 5%,#fff2f8 80%);padding:30px 22px;text-align:center;border-block:1px solid #efc8da}.wordmark{font-family:Georgia,serif;letter-spacing:.17em;font-size:74px;font-weight:400;line-height:1.3;color:#a24b7b}.product h2{font-size:19px;line-height:1.7;margin:10px 0 25px}.twotypes{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center}.type{padding:22px 10px;background:#fff;border:2px solid #e7a4c5;border-radius:55% 55% 18px 18px;min-width:0}.type.violet{border-color:#bba4d6}.symbol{display:block;font-size:34px;color:#cf6595;line-height:1.4}.violet .symbol{color:#9876b7}.type strong{display:block;font-size:25px;color:#b24a7b}.type.violet strong{color:#77539e}.type span:not(.symbol){display:block;font-size:14px}.type b{display:block;margin-top:14px;font-size:20px}.note{font-size:14px;font-weight:400;line-height:1.8;text-align:left;color:#555}.product .note{margin:20px 0 0}.fact-strip{display:flex;justify-content:center;gap:6px;margin:20px 0 0}.fact-strip span{background:#fff;border:1px solid #e4b8cd;padding:6px 12px;font-size:15px}.point{margin:28px 0;background:#fff4fa;border:2px solid #e987b4;text-align:left}.point h3{margin:0;padding:10px 14px;background:#f2b3d0;color:#6c2447;font-size:20px}.point .inside{padding:22px 18px}.point p{margin:0}.point ul{margin:12px 0;padding-left:1.3em}.steps{margin:0;padding:0;list-style:none;text-align:left}.steps li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:20px 0;border-bottom:1px dashed #dfbbcd}.steps b{border-radius:50%;background:var(--pink);color:#fff;width:40px;height:40px;line-height:40px;text-align:center}.steps strong{display:block;font-size:20px}.steps small{display:block;font-size:16px;font-weight:500}.ingredients{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin:28px 0}.ingredient{border:1px solid #e4aecb;background:#fff7fb;padding:20px 14px}.ingredient h3{font-size:21px;margin:0 0 16px;color:#b24a7b}.ingredient p{font-size:16px;margin:0 0 14px}.ingredient.purple{border-color:#bcaad4;background:#f8f4fc}.ingredient.purple h3{color:#77539e}.offer{margin:0 16px 32px;border:3px solid #d8b05b;text-align:center;background:#fffdf6}.offer h2{margin:0;background:linear-gradient(100deg,#b88e43,#e4c67c,#b88e43);color:#fff;font-size:24px;padding:12px}.offer .price-wrap{padding:26px 20px}.offer .tag{display:inline-block;background:#da357e;color:white;padding:3px 18px;margin:0;font-size:17px}.price{font-size:62px;line-height:1.5;letter-spacing:-2px;color:#cf212d;font-weight:900;margin:10px 0}.price span{font-size:23px;letter-spacing:0}.price small{font-size:15px;letter-spacing:0}.offer .continuation{font-size:17px;margin-bottom:20px}.terms{border-block:1px solid #e5cfa4;padding:15px 0;font-size:15px;line-height:1.9;text-align:left;font-weight:500}.terms ul{padding-left:1.2em;margin:0}.terms-alert{background:#fff3f3;padding:14px;margin:16px 0 0;font-size:14px;line-height:1.8;text-align:left;font-weight:500}.single{font-size:18px;margin:20px 0 10px}.cta-wrap{text-align:center;padding:5px 20px 26px}.cta{display:block;text-decoration:none;background:linear-gradient(#2f984c,#1c7137);color:white;border:2px solid #166331;border-radius:8px;box-shadow:0 5px 0 #125027;padding:20px 32px 20px 20px;font-size:23px;font-weight:900;position:relative;line-height:1.6}.cta:after{content:"›";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:36px}.cta:hover{filter:brightness(1.08)}.cta:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #1557ae;outline-offset:4px}.cta small{display:block;font-size:14px;font-weight:500}.cta-wrap .note{text-align:center;margin:12px 0 0}.quiz{padding:32px 20px;background:#fff7fb}.quiz h2{font-size:28px;line-height:1.6;text-align:center;margin:0 0 14px}.progress{text-align:center;font-size:16px;color:#88516d;margin:0 0 22px}fieldset{margin:0 0 28px;border:1px solid #dfc3d0;background:#fff;padding:20px 16px}legend{font-size:20px;font-weight:900;padding:0 8px;color:#b5286e}fieldset p{margin:0 0 15px;font-size:18px}label{display:flex;align-items:flex-start;gap:10px;font-size:16px;padding:12px;margin:8px 0;background:#fff;border:1px solid #d6ccd1;cursor:pointer;line-height:1.7}label:has(input:checked){border-color:#d52b78;background:#fff0f7}input{accent-color:#c22b72;width:20px;height:20px;flex:none;margin-top:3px}.answer{font-size:15px;font-weight:500;background:#fff1f7;padding:12px;margin:12px 0 0;color:#733652}.answer a{font-weight:700}.result{background:#fff;border:2px solid #de80ad;padding:20px;text-align:center;margin-top:25px}.result p{margin:0 0 18px}.closing-panel{position:relative}.closing-panel p{position:absolute;top:3%;left:5%;right:5%;font-size:26px;text-align:center;color:#5d3047;line-height:1.7;font-weight:900}.faq{padding:20px 24px 30px}.faq h2{text-align:center;font-size:24px}.faq details{border-top:1px solid #d9d9d9;padding:17px 0;font-size:16px}.faq summary{cursor:pointer;font-weight:700}.faq details p{margin:14px 0 0;font-weight:400;line-height:1.9}.sources{font-size:13px;font-weight:400;line-height:1.8;padding:24px;background:#f7f7f7;color:#555}.sources p{margin-bottom:14px}.sources a{overflow-wrap:anywhere}footer{text-align:center;font-size:12px;background:#f7f7f7;padding:0 20px 24px;color:#777;font-weight:400}.preview-label{background:#333;color:#fff;padding:8px;text-align:center;font-size:14px}.rough-mode main{max-width:390px}@media(max-width:390px){.copy{padding:32px 18px 14px}.lead{font-size:23px}.large{font-size:26px}.chapter{font-size:25px}.type strong{font-size:22px}.type{padding:18px 5px}.product{padding:25px 16px}.ingredient{padding:16px 10px}.ingredients{gap:8px}.ingredient h3{font-size:19px}.ingredient p{font-size:15px}.cta{font-size:20px}.price{font-size:53px}.offer .price-wrap{padding:22px 15px}.offer-ribbon{font-size:15px}.pinkband{font-size:21px}.closing-panel p{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* コンテナ幅に合わせ、狭い画面でも見出しが人物に重ならないよう調整 */
.hero,.closing-panel{container-type:inline-size}.hero h1{font-size:clamp(22px,6.7cqw,40px);line-height:1.55}.hero h1 span{font-size:.62em;margin-bottom:8px}.closing-panel p{font-size:clamp(22px,6.2cqw,36px)}.cta{font-size:clamp(18px,4.9vw,23px)}
