:root{--pink:#c94f7c;--pink2:#e8739a;--pale:#fde8ef;--pale2:#fdf0f5;--ink:#2d1520;--body:#5a2d3c;--muted:#8b5a6a;--line:rgba(201,79,124,.15);--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;background:#fff}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.container{width:min(1200px,100%);margin:auto;padding:0 32px}.site-header{position:fixed;z-index:50;inset:0 0 auto;transition:.25s ease}.site-header.is-scrolled{background:rgba(255,255,255,.95);backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(212,84,122,.1)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between}.brand img{width:auto;height:48px;object-fit:contain}.header-actions,.button-row,.contact-actions{display:flex;align-items:center;gap:12px}.header-tel{font-size:.875rem;color:var(--pink)}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:linear-gradient(135deg,var(--pink),var(--pink2));color:#fff;padding:14px 24px;font-weight:700;font-size:.9rem;line-height:1.3;box-shadow:0 4px 20px rgba(201,79,124,.3);transition:transform .16s ease,opacity .16s ease}.button:hover{opacity:.9;transform:translateY(-1px)}.button:active{transform:scale(.97)}.button-small{padding:10px 16px;font-weight:500}.button-outline{border:2px solid var(--pink);box-shadow:none;background:transparent;color:var(--pink);font-weight:500}.button-pulse{animation:pulse 2s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(212,84,122,.4)}70%{box-shadow:0 0 0 12px rgba(212,84,122,0)}100%{box-shadow:0 0 0 0 rgba(212,84,122,0)}}.hero{position:relative;display:flex;align-items:center;min-height:100vh;padding:110px 0 86px;overflow:hidden;background:linear-gradient(160deg,#fdf0f5 0%,#fde8ef 40%,#f9d0e0 100%)}.hero-grid,.two-column{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative;z-index:2}.glow{position:absolute;border-radius:50%;pointer-events:none}.glow-top{width:256px;height:256px;right:40px;top:80px;background:radial-gradient(circle,#e8739a,transparent 70%);opacity:.2}.glow-bottom{width:192px;height:192px;bottom:80px;left:40px;background:radial-gradient(circle,var(--pink),transparent 70%);opacity:.15}.eyebrow-pill{display:inline-block;border-radius:999px;background:rgba(201,79,124,.12);color:var(--pink);padding:4px 12px;font-size:.75rem;font-weight:500;letter-spacing:.05em;margin-bottom:18px}.overline{margin:0 0 2px;font-size:.875rem;color:var(--muted)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:var(--serif);font-size:clamp(3rem,8vw,5rem);line-height:1.15;color:var(--pink);margin:0 0 6px;text-shadow:0 2px 20px rgba(201,79,124,.15)}.hero-lead{font-size:1.125rem;color:var(--body);font-weight:500;margin-bottom:22px}.hero-lead span,.section-heading strong,.contact h2 strong{color:var(--pink)}.hero-points{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;padding:0;margin:0 0 30px;list-style:none;font-size:.875rem;color:var(--body)}.hero-points li:before{content:"✓";color:var(--pink);margin-right:8px}.hero-media{border-radius:24px;overflow:visible;position:relative;box-shadow:0 20px 60px rgba(201,79,124,.25)}.hero-media img{width:100%;height:min(520px,60vw);object-fit:cover;border-radius:24px}.hero-media:after{content:"";position:absolute;inset:0;border-radius:24px;background:linear-gradient(to top,rgba(201,79,124,.2),transparent 60%);pointer-events:none}.station-badge{position:absolute;z-index:1;right:-16px;bottom:-16px;width:80px;height:80px;display:grid;place-content:center;border-radius:50%;background:linear-gradient(135deg,var(--pink),#8b1a4a);box-shadow:0 4px 16px rgba(201,79,124,.4);color:#fff;text-align:center;font-weight:700;font-size:.75rem;line-height:1.3}.wave{position:absolute;left:0;right:0;bottom:0;width:100%;height:60px}.section{padding:80px 0}.section-white{background:#fff}.section-pink{background:linear-gradient(160deg,#fdf5f8 0%,#fde8ef 100%)}.section-pink.soft{background:linear-gradient(160deg,#fdf5f8 0%,#fde8ef 100%)}.section-heading{text-align:center;margin-bottom:48px}.section-heading>span,.kicker{display:block;color:var(--pink);font-size:.75rem;font-weight:500;letter-spacing:.14em}.section-heading h2,.worries-copy h2,.contact h2{font-family:var(--serif);font-size:clamp(1.85rem,4vw,2.25rem);line-height:1.35;margin:6px 0 0}.section-heading p{margin:12px 0 0;color:var(--muted);font-size:.875rem}.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.treatment-card{padding:24px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fff0f5,#fde8ef);box-shadow:0 4px 24px rgba(201,79,124,.08);transition:transform .2s ease}.treatment-card:nth-child(2){background:linear-gradient(145deg,#fde8ef,#fdf0f5)}.treatment-card:nth-child(3){background:linear-gradient(145deg,#fdf5ff,#fde8ef)}.treatment-card:hover{transform:translateY(-6px)}.card-image{height:160px;border-radius:12px;overflow:hidden;margin-bottom:14px}.card-image img{width:100%;height:100%;object-fit:cover}.card-number{font-size:.75rem;color:var(--pink);font-weight:500;letter-spacing:.1em}.treatment-card h3{font-family:var(--serif);font-size:1.1rem;color:var(--pink);margin:8px 0 10px}.treatment-card p,.reason-card p{font-size:.875rem;line-height:1.8;color:var(--body);margin:0}.worries-copy{order:1}.rounded-image{border-radius:24px;overflow:hidden;box-shadow:0 20px 60px rgba(201,79,124,.2)}.rounded-image img{width:100%;height:auto}.worry-list{list-style:none;margin:28px 0;padding:0;display:grid;gap:10px}.worry-list li{padding:11px 16px;border:1px solid rgba(201,79,124,.12);border-radius:12px;background:rgba(255,255,255,.7);font-size:.875rem;color:#3d1a2b}.worry-list li:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--pink);margin-right:12px;vertical-align:1px}.answer-box{padding:16px 24px;border-radius:16px;background:linear-gradient(135deg,var(--pink),var(--pink2));color:#fff;text-align:center}.answer-box small,.answer-box strong{display:block}.answer-box strong{font-family:var(--serif);font-size:1.125rem}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reason-card{border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 2px 16px rgba(201,79,124,.06);transition:transform .2s}.reason-card:hover{transform:translateY(-4px)}.reason-card>b{display:block;font:700 2rem var(--serif);color:rgba(201,79,124,.2);margin-bottom:2px}.reason-card h3{font-size:1rem;color:var(--pink);margin:0 0 8px}.result-grid{gap:40px}.result-points{display:grid;gap:16px}.result-points>div{display:flex;gap:16px;padding:16px;border:1px solid rgba(201,79,124,.12);border-radius:16px;background:rgba(255,255,255,.8)}.result-points>b,.flow-list>b{flex:0 0 32px;width:32px;height:32px;display:grid;place-content:center;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--pink2));color:#fff;font-size:.75rem}.result-points p{margin:0;color:var(--body);font-size:.875rem}.result-points strong,.result-points span{display:block}.result-points strong{color:var(--pink);margin-bottom:2px}.price-section{background:linear-gradient(160deg,var(--pale2),var(--pale))}.price-card{max-width:512px;margin:auto;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 20px 60px rgba(201,79,124,.15);text-align:center}.price-card-top{padding:20px;background:linear-gradient(135deg,var(--pale),var(--pale2));border-bottom:1px solid var(--line);color:var(--pink);font-size:.75rem;font-weight:700;letter-spacing:.15em}.price-card-body{padding:38px 32px}.price-card-body>p{font-size:.875rem;color:var(--muted);margin-bottom:16px}.price-compare{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:8px}.price-compare small{display:block;color:#b08090;font-size:.75rem}.price-compare s{font-size:1.25rem;color:#c0a0a8}.price-compare i{width:32px;height:32px;display:grid;place-content:center;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--pink2));color:#fff;font-size:.75rem;font-style:normal}.price-compare div:last-child small{color:var(--pink)}.price-compare strong{display:block;font:700 2.8rem/1 var(--serif);color:var(--pink);white-space:nowrap}.price-card em{display:block;color:#b08090;font-size:.75rem;font-style:normal;margin-bottom:28px}.tags{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}.tags span{padding:8px;border:1px solid rgba(201,79,124,.2);border-radius:999px;color:var(--pink);background:rgba(201,79,124,.07);font-size:.75rem;font-weight:500}.button-wide{display:flex;width:100%;padding:16px}.flow-list{display:grid;gap:16px;max-width:672px;margin:0 auto;padding:0;list-style:none}.flow-list li{display:flex;gap:16px;padding:20px;border:1px solid rgba(201,79,124,.12);border-radius:16px;background:#fff;box-shadow:0 2px 12px rgba(201,79,124,.06)}.flow-list b{flex:0 0 40px;width:40px;height:40px;font-size:.875rem}.flow-list h3{font-size:.875rem;color:var(--pink);margin:0 0 2px}.flow-list p{font-size:.875rem;color:var(--body);margin:0}.faq-container{max-width:832px}.faq-list{display:grid;gap:12px}.faq{border:1px solid var(--line);border-radius:16px;overflow:hidden}.faq button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border:0;background:#fff;color:var(--ink);font:500 .875rem/1.6 var(--sans);text-align:left;cursor:pointer}.faq button b,.faq-answer b{color:var(--pink);margin-right:8px}.faq button i{font-style:normal;font-size:1.2rem;color:var(--pink);transition:transform .2s}.faq.is-open button{background:rgba(201,79,124,.06)}.faq.is-open button i{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;background:rgba(201,79,124,.03);transition:max-height .3s ease}.faq-answer p{padding:0 20px 16px;margin:0;color:var(--body);font-size:.875rem}.faq.is-open .faq-answer{max-height:200px}.access-container{max-width:960px}.access-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.access-cards article,.hours{border:1px solid rgba(201,79,124,.12);border-radius:16px;background:#fff;box-shadow:0 4px 24px rgba(201,79,124,.08);overflow:hidden}.access-cards article{padding:20px}.access-cards h3,.hours h3{padding-bottom:8px;margin:0 0 12px;border-bottom:1px solid var(--line);color:var(--pink);font-size:.75rem;letter-spacing:.12em}.access-cards p{font-size:.75rem;color:var(--body);line-height:1.8;margin:0}.access-cards a{font:700 1rem var(--serif);color:var(--pink)}.access-cards a+p{margin-top:4px;color:#b08090}.hours h3{padding:12px 24px;margin:0}.table-wrap{overflow-x:auto}.hours table{width:100%;border-collapse:collapse;min-width:600px;text-align:center;font-size:.75rem}.hours th,.hours td{padding:12px;border-top:1px solid rgba(201,79,124,.08);color:var(--muted);font-weight:500}.hours th:first-child{text-align:left;padding-left:24px;color:var(--body)}.hours tbody td{font-weight:700;color:var(--pink)}.hours tbody td:nth-child(2),.hours tbody td:nth-child(6){color:#d8c0c8}.hours>p{margin:0;padding:10px 24px;background:rgba(201,79,124,.03);border-top:1px solid rgba(201,79,124,.08);color:#b08090;font-size:.75rem}.contact{background:linear-gradient(160deg,var(--pale2),var(--pale));border-top:1px solid var(--line);text-align:center}.contact h2{margin:0 0 12px}.contact p{margin:0 0 28px;font-size:.875rem;color:var(--muted)}.contact-actions{justify-content:center;margin-bottom:20px}.button-tel{border:2px solid rgba(201,79,124,.3);background:#fff;box-shadow:0 2px 12px rgba(201,79,124,.1);color:var(--pink)}.button-line{background:#06c755;box-shadow:0 4px 16px rgba(6,199,85,.3)}.contact small{color:#b08090;font-size:.75rem}footer{padding:40px 0;text-align:center;background:linear-gradient(160deg,var(--pale),var(--pale2));border-top:1px solid var(--line)}footer img{height:56px;width:auto;margin:0 auto 12px}footer p,footer small{font-size:.75rem;color:var(--muted);margin:0 0 4px}footer p:nth-of-type(3){margin-bottom:16px}footer small{color:#b08090}.floating-cta{position:fixed;right:16px;bottom:24px;z-index:40;display:grid;gap:8px}.floating-cta a{display:flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 16px;color:#fff;font-weight:700;font-size:.875rem;box-shadow:0 4px 16px rgba(0,0,0,.12)}.floating-cta .line{background:linear-gradient(135deg,#00b900,#00d900)}.floating-cta .web{background:linear-gradient(135deg,var(--pink),var(--pink2))}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.23,1,.32,1),transform .6s cubic-bezier(.23,1,.32,1)}.reveal.reveal-right{transform:translateX(32px)}.reveal.is-visible{opacity:1;transform:translate(0)}.mobile-only{display:none}@media(max-width:767px){.container{padding:0 20px}.header-inner{height:72px}.brand img{height:42px}.header-tel{display:none}.button-small{padding:10px 14px;font-size:.8rem}.hero{min-height:auto;padding:96px 0 76px}.hero-grid,.two-column{grid-template-columns:1fr;gap:28px}.hero-copy{order:2}.hero-media{order:1}.hero-media img{height:min(420px,105vw)}.hero h1{font-size:3.4rem}.hero-points{font-size:.78rem;gap:6px 10px;margin-bottom:26px}.button-row{gap:10px}.button-row .button{padding:12px 16px;font-size:.8rem}.station-badge{width:70px;height:70px;right:-8px;bottom:-8px}.section{padding:64px 0}.section-heading{margin-bottom:32px}.section-heading h2,.worries-copy h2,.contact h2{font-size:1.85rem}.desktop-only{display:none}.mobile-only{display:inline}.worries-grid .worries-copy{order:2}.worries-grid .rounded-image{order:1}.treatment-grid,.reason-grid,.access-cards{grid-template-columns:1fr}.treatment-card{padding:18px}.card-image{height:180px}.reason-grid{gap:14px}.price-card-body{padding:30px 20px}.price-compare{gap:12px}.price-compare strong{font-size:2.3rem}.tags{gap:8px}.contact-actions{flex-direction:column}.contact-actions .button{width:min(100%,340px)}.floating-cta{right:12px;bottom:18px}.floating-cta a{padding:11px 14px;font-size:.8rem}.floating-cta span{display:none}.result-grid{gap:28px}.access-cards{gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button-pulse{animation:none}}
