:root{--lav-bg:#f7f2fb;--lav:#c9a9e9;--lav-deep:#8a5fc0;--pink:#f7b8d2;--pink-deep:#e2679b;--ink:#3d2f4d;--ink-soft:#5f5270;--white:#fff;--radius:20px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{color:var(--ink);background:#ece3f5;justify-content:center;padding:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;font-size:16px;line-height:1.75;display:flex}.shell{background:var(--lav-bg);width:100%;max-width:420px;min-height:100vh;position:relative;overflow:hidden;box-shadow:0 0 40px #7a56a02e}.hero{background-image:url(/images/hero-bg.webp);background-position:50% 62%;background-size:cover;align-items:center;min-height:252px;padding:26px 0 26px 20px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:1;background:linear-gradient(90deg,#ffffff8c 0%,#fff3 42%,#fff0 68%);position:absolute;inset:0}.hero-girl{z-index:2;filter:drop-shadow(0 3px 12px #8a5fc033);width:44%;height:auto;position:absolute;bottom:-2%;right:-3%}.hero-text{z-index:4;text-align:center;width:72%;position:relative}.petal{z-index:2;opacity:.85;background:#ffffffbf;border-radius:60% 0;width:14px;height:20px;animation:9s linear infinite fall;position:absolute}.petal.p2{background:#f7b8d2d9}.petal.p3{background:#c9a9e9b3}@keyframes fall{0%{opacity:0;transform:translateY(-30px)rotate(0)}15%{opacity:.9}to{opacity:0;transform:translateY(240px)rotate(320deg)}}@media (prefers-reduced-motion:reduce){.petal{opacity:.5;animation:none}}.logo{letter-spacing:.05em;color:var(--lav-deep);text-shadow:0 1px 8px #ffffffe6;font-size:37px;font-weight:700}.logo small{letter-spacing:.22em;color:var(--pink-deep);margin-top:5px;font-size:12px;font-weight:600;display:block}.logo a{color:inherit;text-decoration:none}.tagline{color:var(--ink);text-shadow:0 0 1px #fff,0 0 2px #fff,0 0 3px #fff,0 0 5px #fff,0 0 8px #fff,0 0 12px #fff,0 0 18px #fffffff2,0 0 28px #ffffffd9,0 0 40px #fff9;margin-top:14px;font-size:15px;font-weight:700;line-height:1.65}.hero.hero-sub{min-height:132px;padding:20px}.hero.hero-sub .hero-text{width:100%}.hero.hero-sub .logo{font-size:26px}.pr-note{letter-spacing:.04em;color:var(--ink-soft);margin:9px 20px 0;font-size:11px;line-height:1.2}.pr-note+section:not(.prose){padding-top:8px}section{padding:30px 20px 4px}.sec-title{color:var(--lav-deep);text-align:center;margin-bottom:6px;font-size:19px;font-weight:700}.sec-sub{text-align:center;color:var(--ink-soft);margin-bottom:18px;font-size:13px}.choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}.choice{background:var(--white);border-radius:var(--radius);text-align:center;color:var(--ink);border:2px solid #efe1f8;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:112px;padding:20px 10px 16px;text-decoration:none;display:flex;box-shadow:0 3px 10px #8a5fc017}.choice .ico{background:linear-gradient(140deg,#e7d3f7,#f9d5e5);border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.choice .ico svg{fill:none;width:24px;height:24px;stroke:var(--lav-deep);stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.choice b{font-size:16px;font-weight:700}.choice span{color:var(--ink-soft);font-size:11px;line-height:1.5}.card{background:var(--white);border-radius:var(--radius);padding:20px;font-size:14.5px;box-shadow:0 3px 12px #8a5fc014}.card p+p{margin-top:12px}.md{gap:12px;display:grid}.md-box{border-radius:var(--radius);padding:18px 18px 16px}.md-good{background:#fdf0f6;border:1.5px solid #f8d6e6}.md-bad{background:#f3eefa;border:1.5px solid #e3d6f3}.md-box h3{color:var(--lav-deep);margin-bottom:10px;font-size:15px}.md-good h3{color:var(--pink-deep)}.md-box ul{font-size:14px;list-style:none}.md-box li{margin-bottom:7px;padding-left:20px;position:relative}.md-box li:before{content:"";background:var(--pink);border-radius:50%;width:7px;height:7px;position:absolute;top:10px;left:4px}.md-bad li:before{background:var(--lav)}.svc{background:var(--white);border-radius:var(--radius);margin-bottom:14px;padding:18px;position:relative;box-shadow:0 3px 12px #8a5fc014}.rank{background:linear-gradient(120deg, var(--pink-deep), var(--lav-deep));color:#fff;letter-spacing:.04em;border-radius:999px;padding:3px 12px;font-size:11px;font-weight:700;position:absolute;top:-9px;left:16px}.svc-head{align-items:center;gap:12px;margin-top:6px;display:flex}.thumb{width:54px;height:54px;color:var(--lav-deep);text-align:center;background:linear-gradient(140deg,#e7d3f7,#f9d5e5);border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:700;line-height:1.3;display:flex;overflow:hidden}.thumb img{object-fit:contain;width:100%;height:100%}.svc-head h3{font-size:16px}.tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag{color:var(--lav-deep);background:#f4ecfb;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.tag.free{color:var(--pink-deep);background:#fde9f2}.svc p.desc{color:var(--ink-soft);margin-top:11px;font-size:13.5px}.btn{background:linear-gradient(120deg, var(--pink-deep), #b56ad0);color:#fff;text-align:center;border-radius:999px;min-height:52px;margin-top:14px;padding:15px;font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;display:block;box-shadow:0 4px 12px #e2679b4d}.btn-outline{background:var(--white);border:2px solid var(--lav);color:var(--lav-deep);text-align:center;border-radius:999px;min-height:52px;margin:6px 0 0;padding:15px;font-size:15px;font-weight:700;text-decoration:none;display:block}.prose{padding:26px 20px 4px;font-size:14.5px}.prose h1{color:var(--lav-deep);margin-bottom:14px;font-size:21px;line-height:1.5}.prose h2{color:var(--lav-deep);margin:26px 0 8px;font-size:16px}.prose p+p{margin-top:12px}.prose ul{margin:10px 0 0 20px;font-size:14px}.prose li{margin-bottom:6px}.prose a{color:var(--pink-deep);font-weight:600}.empty{background:var(--white);border-radius:var(--radius);text-align:center;color:var(--ink-soft);border:2px dashed #e3d6f3;padding:24px 20px;font-size:14px}footer{padding:24px 20px calc(24px + env(safe-area-inset-bottom));text-align:center;color:var(--ink-soft);background:#e6d9f2;margin-top:36px;font-size:12px}footer nav{flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-bottom:14px;display:flex}footer a{color:var(--lav-deep);font-weight:600;text-decoration:none}footer p+p{margin-top:10px}
