*{box-sizing:border-box}html{background:#f5f1f8}body{margin:0;color:#30333b;font-family:'Yu Gothic',Meiryo,sans-serif}main{position:relative;width:100%;max-width:480px;margin:0 auto;background:white}.design{display:block;width:100%;height:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.image-entry{position:absolute;left:2.4523%;top:88.7541%;width:94.5504%;height:6.4396%;border:0;background:transparent;cursor:pointer;border-radius:999px}.fixed-entry{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;padding-bottom:env(safe-area-inset-bottom);background:#fff}.fixed-entry button{position:relative;display:block;width:100%;aspect-ratio:734/150;overflow:hidden;border:0;padding:0;background:#fff;cursor:pointer}.fixed-entry img{position:absolute;display:block;width:100%;height:auto;left:0;top:-1266.666667%;pointer-events:none}.fixed-entry.hidden{visibility:hidden;pointer-events:none}button:focus-visible{outline:3px solid #89527f;outline-offset:-4px}dialog{border:1px solid #e4d8ee;border-radius:16px;padding:27px;max-width:380px;width:calc(100% - 40px);color:#30333b;box-shadow:0 15px 60px #31223b33}dialog::backdrop{background:#30213777;backdrop-filter:blur(3px)}dialog h2{font-size:20px;line-height:1.6;margin:0}dialog p{font-size:15px;line-height:1.9;margin:17px 0 22px}dialog button{width:100%;padding:13px;border:0;border-radius:8px;background:#f0e6f6;color:#403648;font-size:15px;font-weight:bold;cursor:pointer}
/* A restrained light sweep over the salary headline; original artwork stays in place. */
.salary-motion{position:absolute;left:11%;top:44.05%;width:78%;height:7.25%;overflow:hidden;pointer-events:none;border-radius:12px;isolation:isolate}.salary-motion:after{content:'';position:absolute;inset:-30% auto -30% -70%;width:45%;background:linear-gradient(100deg,transparent 12%,rgba(255,255,255,.08) 33%,rgba(255,255,255,.66) 50%,rgba(255,255,255,.08) 67%,transparent 88%);transform:translateX(0) skewX(-15deg);opacity:0}.salary-motion.active:after{animation:salaryShine 4.8s ease-in-out infinite}@keyframes salaryShine{0%,13%{transform:translateX(0) skewX(-15deg);opacity:0}18%{opacity:1}49%{opacity:1}57%,100%{transform:translateX(460%) skewX(-15deg);opacity:0}}@media(prefers-reduced-motion:reduce){.salary-motion:after{animation:none!important;display:none}}
.letter-motion{position:absolute;left:0;top:68.688754%;width:100%;aspect-ratio:734/430;pointer-events:none;overflow:hidden;opacity:0}.letter-motion svg{display:block;width:100%;height:100%}.letter-motion.prepared{opacity:1}.letter-motion .sliding-letter{transform:translateY(275px)}.letter-motion.playing .sliding-letter{animation:letterRise 1.55s cubic-bezier(.22,.75,.2,1) forwards}.letter-motion.finished{transition:opacity .25s ease;opacity:0}@keyframes letterRise{0%,10%{transform:translateY(275px)}100%{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.letter-motion{display:none!important}}

@font-face{font-family:ISSEN-gothic;src:url('assets/NotoSansJP.ttf') format('truetype');font-display:swap}main{container-type:inline-size}.original-portrait{position:absolute;left:0;top:0;width:100%;height:auto;pointer-events:none}.qualification-replacement{position:absolute;left:4%;top:60.3%;width:92%;height:4.45%;background:#fff;display:flex;justify-content:center;align-items:center}.qualification-replacement p{margin:0;width:80%;padding:1.5cqw 0;text-align:center;border:1px solid #d9c99d;border-radius:1.8cqw;background:#fdfbf6;color:#47424c;font-family:ISSEN-gothic,'Yu Gothic',sans-serif;font-size:3.15cqw;font-weight:500;line-height:1.6;white-space:nowrap}

/* Match the qualification frame to the welcome headline width. */
.qualification-replacement p{width:62%;font-size:2.65cqw;padding:1.35cqw 0;border-radius:1.5cqw}

.original-interior{position:absolute;left:0;top:0;width:100%;height:auto;pointer-events:none}

/* Keep hero-relative overlays anchored to their original artwork. */
.hero-art{position:relative;width:100%;isolation:isolate}
.continuation-art{position:relative;display:block;margin:0;background:#fff}
.continuation-art>img{display:block;width:100%;height:auto}
/* Blend only empty edge artwork, leaving all approved text and layouts intact. */
.hero-art:after,.salary-art:after{content:'';position:absolute;pointer-events:none;z-index:2;left:0;right:0;bottom:-1px;height:5cqw;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff)}
.continuation-art:before{content:'';position:absolute;pointer-events:none;z-index:2;left:0;right:0;top:-1px;height:5cqw;background:linear-gradient(to bottom,#fff,rgba(255,255,255,0))}
.entry-clearance{height:calc(20.436cqw + env(safe-area-inset-bottom));background:#f2eafa}

.art-slice{display:block;width:100%;height:auto;overflow:hidden}
.market-photo{position:relative;margin:0;isolation:isolate;background:#fff}
.market-photo>img{display:block;width:100%;height:auto}
.market-photo:before{content:'';position:absolute;inset:-1px 0 auto;height:5cqw;background:linear-gradient(#fff,transparent);pointer-events:none}
.photo-wave{position:absolute;bottom:-1px;left:0;width:100%;height:auto;display:block;pointer-events:none}

/* Four readable salary examples, keeping the surrounding approved artwork. */
.salary-examples{margin:0;padding:1cqw 8cqw 4cqw;background:#fff;font-family:ISSEN-gothic,'Yu Gothic',sans-serif}
.salary-examples h2{font-size:3.5cqw;line-height:1.7;font-weight:600;letter-spacing:.03em;text-align:center;color:#6b5379;margin:0 0 3cqw}
.salary-examples table{border-collapse:separate;border-spacing:0;width:100%;text-align:center;border:1px solid #e9ddeb;border-radius:3cqw;overflow:hidden;background:#fcf8fc;font-size:4.3cqw;font-variant-numeric:tabular-nums}
.salary-examples th{font-size:3.1cqw;font-weight:500;padding:2.2cqw 1cqw;background:#f1e8f4;color:#67576d}
.salary-examples td{padding:2.5cqw 1cqw;line-height:1.4;border-top:1px solid #e9ddeb}
.salary-examples td:first-child{width:45%;color:#544c58;font-weight:600}
.salary-examples td:nth-child(2){width:10%;color:#baa27a;font-size:4cqw}
.salary-examples td:last-child{width:45%;color:#a8557c}
.salary-examples td strong{font-size:6cqw;font-weight:700}
.salary-examples td span{font-size:3.4cqw;margin-left:.8cqw;font-weight:500}
/* Approved story: worries > men's market > new × repeat > earnings. */
.mens-introduction,.mens-income{font-family:ISSEN-gothic,'Yu Gothic',sans-serif;color:#40566b}
.mens-introduction{padding:8cqw 7cqw 0;background:linear-gradient(135deg,#faf6ff,#fff 65%,#fff5f9)}
.mens-introduction h2{margin:0 0 6cqw;font-size:5.1cqw;font-weight:700;line-height:1.9;letter-spacing:.005em}
.mens-introduction h2 span,.mens-income h2 span{color:#c65391}
.mens-introduction>p{margin:0 0 6cqw;font-size:3.7cqw;line-height:2.1;letter-spacing:.015em}
.mens-introduction .mens-chance{padding:4cqw 4.5cqw;border-left:2px solid #c9b080;background:#fffafde8;border-radius:0 2cqw 2cqw 0}
.mens-chance strong{color:#b9538e;font-weight:600}
.mens-introduction .market-photo{margin:7cqw -7cqw 0}
.mens-income{position:relative;padding:10cqw 6cqw 12cqw;background:radial-gradient(ellipse at 0 80%,#f7eefb,transparent 55%),linear-gradient(#fff,#fff8fc 80%,#fff)}
.mens-income h2{margin:0 0 8cqw;text-align:center;font-size:6cqw;font-weight:700;line-height:1.7}
.income-factor{display:flex;align-items:center;gap:3cqw;padding:5cqw 4cqw;background:#fff9fc;border:1px solid #efdaE7;border-radius:4cqw;box-shadow:0 3px 0 #f6edf5}
.income-factor>svg{flex:0 0 10cqw;width:10cqw;height:10cqw;padding:1.3cqw;border-radius:50%;background:#fff;color:#c35794;border:1px solid #f1deec}
.income-factor h3{margin:0 0 2.5cqw;font-size:4.6cqw;line-height:1.7;color:#c65391;font-weight:700;letter-spacing:0}
.income-factor p{margin:0;font-size:3.25cqw;line-height:2;letter-spacing:0}
.income-factor.repeat{background:#f9f6fd;border-color:#e3d8ed}
.income-times{font-size:11cqw;text-align:center;line-height:1.5;color:#7f6f88;font-weight:300;margin:2cqw 0}
.income-down{width:0;height:0;border-left:3cqw solid transparent;border-right:3cqw solid transparent;border-top:3cqw solid #e9bcd4;margin:7cqw auto}
.income-conclusion{text-align:center;font-size:4.6cqw;line-height:1.95;font-weight:600;margin:0}
.income-conclusion strong{font-size:5.6cqw;color:#c65391;line-height:1.9}
.income-share{text-align:center;margin:8cqw 0 0;padding:4cqw 3cqw;background:#f9e7f0;border:2px solid #fff;border-radius:4cqw;font-size:3.8cqw;line-height:1.8}
.income-share strong{font-size:11cqw;color:#c65391;line-height:1.4;font-weight:700}.income-share strong span{font-size:6cqw;margin-right:2cqw}
.salary-art>.salary-examples{padding-bottom:10cqw}

.first-store-label{position:absolute;left:40%;top:7.8%;width:43%;height:2.15%;display:flex;align-items:center;justify-content:center;gap:.7cqw;background:#f3eafa;color:#48434e;font-family:ISSEN-gothic,sans-serif;font-size:3.05cqw;line-height:1.3;white-space:nowrap}.first-store-label strong{color:#a05a8c;font-weight:700}

.salary-goals{margin:3cqw 7cqw 7cqw;padding:4cqw 3cqw;text-align:center;border-top:1px solid #eadce9;border-bottom:1px solid #eadce9;color:#61556d;font-family:ISSEN-gothic,sans-serif;background:#fdfafd}.salary-goals p{margin:0;font-size:3.5cqw;line-height:2}.salary-goals .salary-goals-title{font-size:4.3cqw;font-weight:700;color:#ad5686;margin-bottom:1cqw}

.mens-chance .keep-together{white-space:nowrap}.mens-chance strong{display:block}

/* Repeated envelopes use the identical approved artwork and replay on re-entry. */
.letter-motion.playing .sliding-letter{animation-duration:2.1s}
.letter-motion:not(.playing){transition:none}
.repeated-letter-motion{pointer-events:none}
.original-offer .repeat-entry{z-index:3}
.salary-motion.active:after{animation-duration:3.4s}
