*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:'Zen Maru Gothic','Hiragino Kaku Gothic ProN',sans-serif;color:#3a2e3c;background:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased;padding-bottom:80px;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;}

/* ===== FIXED CTA ===== */
.fixed-cta{position:fixed;bottom:0;left:0;right:0;z-index:999;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,107,157,0.2);transform:translateY(100%);transition:transform .4s cubic-bezier(.22,1,.36,1);}
.fixed-cta.visible{transform:translateY(0);}
.fixed-cta a{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;max-width:400px;margin:0 auto;padding:14px 14px;background:linear-gradient(135deg,#FF6B9D 0%,#ee5a8a 50%,#FF6B9D 100%);background-size:200% 200%;color:#fff;font-size:15px;font-weight:700;border-radius:60px;letter-spacing:0.2px;white-space:nowrap;box-shadow:0 4px 20px rgba(255,107,157,0.4);transition:all .2s;}
.fixed-cta a:active{transform:scale(0.97);box-shadow:0 2px 10px rgba(255,107,157,0.3);}
.fixed-cta .cta-sub{display:inline;font-size:10px;font-weight:400;margin-left:2px;color:rgba(255,255,255,0.85);letter-spacing:0;white-space:nowrap;}

/* ===== FV ===== */
.fv{position:relative;background:linear-gradient(170deg,#fce4f1 0%,#e8d5f5 35%,#d4e4fc 70%,#c9f0e8 100%);padding:48px 20px 40px;text-align:center;overflow:hidden;}
.fv::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,200,80,0.25) 0%,transparent 70%);border-radius:50%;}
.fv::after{content:'';position:absolute;bottom:-40px;left:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(107,200,255,0.2) 0%,transparent 70%);border-radius:50%;}
.fv-catch{display:inline-block;font-size:17px;font-weight:900;color:#fff;background:#FF6B9D;padding:8px 24px;border-radius:60px;letter-spacing:2px;margin-bottom:16px;box-shadow:0 3px 12px rgba(255,107,157,0.3);}
.fv h1{font-size:28px;font-weight:900;line-height:1.5;color:#3a2e3c;margin-bottom:10px;}
.fv h1 span{color:#FF6B9D;position:relative;}
.fv h1 span::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:3px;background:#FF6B9D;border-radius:2px;opacity:0.4;}
.fv-sub{display:inline-block;font-size:16px;font-weight:700;color:#3a2e3c;line-height:1.8;margin-bottom:24px;padding:10px 20px;background:rgba(255,255,255,0.7);border-radius:12px;border:2px solid rgba(255,107,157,0.25);}
.fv-product{position:relative;z-index:1;max-width:320px;margin:0 auto 20px;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(58,46,60,0.12);}
.fv-badges{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:8px;}
.fv-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:#fff;border-radius:20px;font-size:12px;font-weight:700;color:#8b6aae;box-shadow:0 2px 8px rgba(0,0,0,0.06);}
.fv-price{font-size:22px;font-weight:900;color:#FF6B9D;}
.fv-price small{font-size:13px;font-weight:500;color:#9a8a9e;}

/* ===== SECTION COMMON ===== */
section{padding:56px 20px;}
.sec-heading{text-align:center;margin-bottom:32px;}
.sec-heading h2{font-size:22px;font-weight:900;line-height:1.6;color:#3a2e3c;}
.sec-heading h2 em{font-style:normal;color:#FF6B9D;}
.sec-heading p{font-size:13px;color:#9a8a9e;margin-top:6px;}
.inner{max-width:480px;margin:0 auto;}

/* ===== EMPATHY ===== */
.empathy{background:#fdf5f8;}
.worry-list{list-style:none;max-width:400px;margin:0 auto;}
.worry-list li{position:relative;padding:14px 16px 14px 44px;margin-bottom:10px;background:#fff;border-radius:12px;font-size:14px;line-height:1.6;color:#5a4a5e;box-shadow:0 1px 4px rgba(0,0,0,0.04);}
.worry-list li::before{content:'😣';position:absolute;left:14px;top:14px;font-size:16px;}
.worry-list li:nth-child(2)::before{content:'💦';}
.worry-list li:nth-child(3)::before{content:'😱';}
.worry-list li:nth-child(4)::before{content:'🤔';}
.empathy-resolve{text-align:center;margin-top:28px;font-size:18px;font-weight:900;color:#FF6B9D;}

/* ===== FEATURES ===== */
.features{background:#fff;}
.feature-card{margin-bottom:24px;border-radius:16px;overflow:hidden;background:#faf7fd;border:1px solid rgba(139,106,174,0.1);}
.feature-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#FF6B9D;color:#fff;font-size:13px;font-weight:900;flex-shrink:0;}
.feature-header{display:flex;align-items:center;gap:10px;padding:20px 20px 0;}
.feature-card h3{font-size:17px;font-weight:900;color:#3a2e3c;}
.feature-card p{font-size:13px;line-height:1.8;color:#6b5a6e;padding:8px 20px 20px;}
.feature-card.alt{background:#f5faff;border-color:rgba(107,180,255,0.12);}
.feature-card.alt2{background:#fef9f0;border-color:rgba(255,180,80,0.12);}

/* ===== SEAL PROMO ===== */
.seal-promo{padding:30px 20px;text-align:center;background:#fff;}
.seal-promo img{width:100%;max-width:360px;border-radius:16px;box-shadow:0 6px 20px rgba(58,46,60,.10);display:inline-block;}
.seal-promo p{margin:16px auto 0;font-size:15px;font-weight:700;color:#3a2e3c;line-height:1.6;}
.seal-promo p span{color:#FF6B9D;}

/* ===== COMPARISON ===== */
.comparison{background:#f8f5fc;}
.compare-wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:400px;margin:0 auto;}
.compare-box{border-radius:14px;padding:20px 11px;text-align:center;}
.compare-box.before{background:#f0eaed;border:2px dashed #c4b5c0;}
.compare-box.after{background:#fff0f5;border:2px solid #FF6B9D;}
.compare-label{font-size:12px;font-weight:700;margin-bottom:10px;letter-spacing:1px;}
.compare-box.before .compare-label{color:#9a8a9e;}
.compare-box.after .compare-label{color:#FF6B9D;}
.compare-box ul{list-style:none;text-align:left;font-size:11px;line-height:1.9;}.compare-box ul li{white-space:nowrap;}
.compare-box.before ul li::before{content:'△ ';color:#c4b5c0;}
.compare-box.after ul li::before{content:'◎ ';color:#FF6B9D;}
.compare-vs{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:#b8a0c4;position:relative;grid-column:1/-1;margin:-6px 0;}

/* ===== STEPS ===== */
.steps{background:#fff;}
.step-list{display:flex;flex-direction:column;gap:20px;max-width:360px;margin:0 auto;align-items:center;}
.step-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;}
.step-circle{flex-shrink:0;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:#fff;}
.step-item:nth-child(1) .step-circle{background:linear-gradient(135deg,#a78bfa,#8b6aae);}
.step-item:nth-child(3) .step-circle{background:linear-gradient(135deg,#FF6B9D,#ee5a8a);}
.step-item:nth-child(5) .step-circle{background:linear-gradient(135deg,#6bc5f7,#4aa8e0);}
.step-text{text-align:center;}
.step-text h4{font-size:15px;font-weight:700;color:#3a2e3c;margin-bottom:4px;}
.step-text p{font-size:13px;color:#6b5a6e;line-height:1.7;}
.step-arrow{text-align:center;color:#d4c4de;font-size:20px;}
.step-result{text-align:center;margin-top:20px;padding:16px;background:linear-gradient(135deg,#fff5f8,#f8f0ff);border-radius:14px;font-size:15px;font-weight:700;color:#FF6B9D;}
.howto-banner{padding:4px 20px 18px;max-width:480px;margin:0 auto;}
.howto-banner img{width:100%;border-radius:16px;box-shadow:0 6px 20px rgba(58,46,60,.10);display:block;}
.step-photo{max-width:340px;width:100%;margin:22px auto 0;border-radius:16px;box-shadow:0 8px 24px rgba(58,46,60,.12);display:block;}

/* ===== SPECS ===== */
.specs{background:#fdf5f8;}
.spec-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.04);}
.spec-table tr:nth-child(odd){background:#fff;}
.spec-table tr:nth-child(even){background:#fef9fc;}
.spec-table th{text-align:left;padding:14px 16px;font-size:13px;font-weight:700;color:#8b6aae;width:110px;vertical-align:top;border-bottom:1px solid rgba(139,106,174,0.08);}
.spec-table td{padding:14px 16px;font-size:13px;color:#5a4a5e;line-height:1.7;border-bottom:1px solid rgba(139,106,174,0.08);}
.price-highlight{text-align:center;margin-top:24px;}
.price-highlight .price{font-size:32px;font-weight:900;color:#FF6B9D;}
.price-highlight .price small{font-size:16px;}
.price-highlight .per-unit{font-size:13px;color:#9a8a9e;margin-top:4px;}

/* ===== SCENES ===== */
.scenes{background:#fff;}
.scene-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:400px;margin:0 auto;}
.scene-card{padding:20px 14px;border-radius:14px;text-align:center;background:#faf7fd;border:1px solid rgba(139,106,174,0.08);}
.scene-card:nth-child(2){background:#fff5f8;border-color:rgba(255,107,157,0.1);}
.scene-card:nth-child(3){background:#f5faff;border-color:rgba(107,180,255,0.08);}
.scene-card:nth-child(4){background:#fef9f0;border-color:rgba(255,180,80,0.08);}
.scene-emoji{font-size:28px;margin-bottom:8px;}
.scene-card h4{font-size:13px;font-weight:700;color:#3a2e3c;margin-bottom:4px;}
.scene-card p{font-size:11px;color:#9a8a9e;line-height:1.6;}

/* ===== BRAND ===== */
.brand{background:linear-gradient(170deg,#fce4f1 0%,#e8d5f5 40%,#d4e4fc 100%);text-align:center;padding:56px 20px;}
.brand-logo{max-width:200px;margin:0 auto 20px;border-radius:12px;}
.brand p{font-size:14px;line-height:2;color:#5a4a5e;max-width:360px;margin:0 auto;}
.brand p strong{color:#3a2e3c;font-weight:700;}

/* ===== FINAL CTA ===== */
.final-cta{text-align:center;padding:48px 20px 40px;background:#fff;}
.final-cta h2{font-size:24px;font-weight:900;color:#3a2e3c;margin-bottom:8px;line-height:1.5;}
.final-cta h2 em{font-style:normal;color:#FF6B9D;}
.final-cta .price-big{font-size:28px;font-weight:900;color:#FF6B9D;margin:16px 0 4px;}
.final-cta .price-big small{font-size:14px;color:#9a8a9e;font-weight:500;}
.final-cta .note-text{font-size:12px;color:#b8a0c4;margin-bottom:20px;}
.final-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:18px 40px;background:linear-gradient(135deg,#FF6B9D,#ee5a8a);color:#fff;font-size:18px;font-weight:900;border-radius:60px;box-shadow:0 6px 24px rgba(255,107,157,0.35);transition:all .2s;font-family:inherit;}
.final-cta-btn:active{transform:scale(0.97);}
.cta-pulse{animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{box-shadow:0 6px 24px rgba(255,107,157,0.35);}50%{box-shadow:0 6px 32px rgba(255,107,157,0.55);}}
.final-sub{font-size:12px;color:#9a8a9e;margin-top:12px;}

/* ===== FOOTER ===== */
.kanpake-footer{text-align:center;padding:24px 20px 32px;background:#f8f5fc;font-size:11px;color:#b8a0c4;}

@media(min-width:600px){
  .fv h1{font-size:34px;}
  .compare-wrap{max-width:460px;}
  .scene-grid{grid-template-columns:repeat(4,1fr);max-width:560px;}
}