:root{
  --bg:#F8F6FF;
  --nav:rgba(255,255,255,0.94);
  --title:#211B2E;
  --brand:#7B5CFF;
  --movie:#5B3FE8;
  --video:#3F8CFF;
  --pink:#FF6FAE;
  --light-purple:#EDE8FF;
  --light-blue:#EAF3FF;
  --highlight:#FF9B5C;
  --text:#2F2A3A;
  --muted:#6F687A;
  --soft:#A09AAD;
  --card:#FFFFFF;
  --card2:#F3F0FF;
  --card3:#F0F7FF;
  --border:rgba(123,92,255,0.16);
  --shadow:0 18px 42px rgba(91,63,232,0.12);
  --btn:linear-gradient(135deg,#7B5CFF 0%,#3F8CFF 52%,#FF6FAE 100%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;line-height:1.78;overflow-x:hidden;padding-bottom:0}
a{color:var(--movie);text-decoration:none;transition:.2s ease}
a:hover{color:var(--pink)}
img{max-width:100%;height:auto;display:block}
.site-header{position:sticky;top:0;width:100%;z-index:9999;background:var(--nav);backdrop-filter:blur(12px);box-shadow:0 8px 26px rgba(91,63,232,0.12)}
.header-inner{max-width:1280px;margin:0 auto;min-height:72px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-logo,.footer-logo{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--title);letter-spacing:.5px;white-space:nowrap}
.site-logo img{max-height:44px;width:auto}.footer-logo img{max-height:40px;width:auto}
.nav-core{display:flex;align-items:center;gap:10px;min-width:0}
.nav-core a{color:var(--text);border-radius:999px;padding:8px 12px;font-weight:700;font-size:15px;white-space:nowrap}
.nav-core a:hover,.nav-core a.active{color:var(--movie);background:rgba(123,92,255,0.12)}
.header-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.mobile-menu{display:none}
.main-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 22px;font-weight:800;border:0;cursor:pointer;white-space:nowrap}
.main-btn{background:var(--btn);color:#fff;box-shadow:0 14px 32px rgba(91,63,232,0.20)}.main-btn:hover{color:#fff;transform:translateY(-1px)}.main-btn.small{padding:9px 16px;font-size:14px}.ghost-btn{background:#fff;color:var(--movie);border:1px solid var(--border)}
.menu-toggle,.drawer-close{border:1px solid var(--border);background:#fff;color:var(--title);border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.drawer-close{font-size:24px;line-height:1;padding:7px 12px}
.drawer-mask{position:fixed;inset:0;background:rgba(33,27,46,.34);z-index:10000;opacity:0;pointer-events:none;transition:.25s}.site-drawer{position:fixed;top:0;right:0;width:min(380px,88vw);height:100vh;background:#fff;z-index:10001;transform:translateX(105%);transition:.28s ease;box-shadow:-22px 0 50px rgba(33,27,46,.18);padding:22px;overflow-y:auto}.drawer-open .drawer-mask{opacity:1;pointer-events:auto}.drawer-open .site-drawer{transform:translateX(0)}body.drawer-open{overflow:hidden}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.drawer-head strong{font-size:24px;color:var(--title)}.drawer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drawer-links a{display:block;padding:12px 14px;background:linear-gradient(135deg,#F3F0FF,#F0F7FF);border:1px solid var(--border);border-radius:16px;color:var(--text);font-weight:700}
.page-section{max-width:1200px;margin:0 auto;padding:72px 22px}.section-head{max-width:780px;margin-bottom:28px}.section-kicker,.badge,.tag{color:var(--brand);font-weight:900;letter-spacing:.08em;font-size:13px}.section-title,h1,h2,h3{color:var(--title);line-height:1.25}.section-title,h2{font-size:clamp(28px,4vw,44px);margin:8px 0 14px}h1{font-size:clamp(42px,7vw,76px);margin:8px 0 14px}h3{font-size:22px;margin:0 0 10px}p{margin:0 0 14px}.lead{font-size:18px;color:var(--muted)}.muted{color:var(--muted)}
.hero{max-width:1280px;margin:0 auto;padding:76px 22px 56px;display:grid;grid-template-columns:1.02fr .98fr;gap:38px;align-items:center;position:relative}.hero:before{content:"";position:absolute;inset:20px 12px auto;height:520px;background:radial-gradient(circle at 18% 18%,rgba(255,111,174,.24),transparent 26%),radial-gradient(circle at 78% 18%,rgba(63,140,255,.26),transparent 28%),linear-gradient(135deg,#fff 0%,#F3F0FF 44%,#EAF3FF 100%);border-radius:42px;z-index:-1}.hero-copy{padding:38px 0}.hero h1{letter-spacing:1px}.hero-sub{font-size:clamp(24px,3vw,36px);font-weight:900;color:var(--title);margin-bottom:16px}.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px}.hero-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.hero-points span,.pill{display:inline-flex;border:1px solid var(--border);background:rgba(255,255,255,.86);border-radius:999px;padding:8px 12px;color:var(--movie);font-weight:800}.hero-visual{position:relative}.hero-visual img,.content-img,.zone-card img,.app-section img,.sub-hero img{max-width:100%;height:auto;object-fit:contain;border-radius:30px;box-shadow:var(--shadow);background:#fff}.floating-card{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:22px;padding:16px 18px;box-shadow:0 18px 34px rgba(91,63,232,.16);max-width:260px}.floating-card strong{color:var(--title)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2,.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;align-items:center}.card,.zone-card,.info-card,.review-card,.faq-item,.notice-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px;padding:24px}.info-card:nth-child(2n),.zone-card:nth-child(2n){background:var(--card3)}.info-card:nth-child(3n){background:var(--card2)}.card img,.zone-card img,.info-card img{margin-bottom:16px}.text-link{font-weight:900;color:var(--movie)}.text-link:after{content:"  →"}.capsule-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.capsule{background:#fff;border:1px solid var(--border);border-radius:22px;padding:18px;min-height:148px;box-shadow:0 12px 28px rgba(91,63,232,.08)}.capsule strong{display:block;color:var(--title);font-size:18px;margin-bottom:5px}.capsule p{font-size:14px;color:var(--muted);margin-bottom:8px}.split-panel{background:linear-gradient(135deg,#fff,#F3F0FF 55%,#F0F7FF);border:1px solid var(--border);border-radius:34px;box-shadow:var(--shadow);padding:34px}.soft-panel{background:linear-gradient(135deg,#F3F0FF,#fff 55%,#F0F7FF);border-radius:34px;border:1px solid var(--border);padding:34px;box-shadow:var(--shadow)}.check-list{margin:16px 0 0;padding:0;list-style:none}.check-list li{padding:9px 0 9px 30px;position:relative;color:var(--muted)}.check-list li:before{content:"✓";position:absolute;left:0;top:8px;width:22px;height:22px;border-radius:50%;background:rgba(123,92,255,.14);color:var(--movie);display:grid;place-items:center;font-size:13px;font-weight:900}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card p{color:var(--muted)}.review-card strong{color:var(--title)}.faq-list{display:grid;gap:14px}.faq-item h3{font-size:18px}.reminder{background:#211B2E;color:#F1ECFF;border-radius:34px;padding:36px;box-shadow:0 18px 42px rgba(33,27,46,.18)}.reminder h2,.reminder h3{color:#fff}.reminder p,.reminder li{color:#F1ECFF}.reminder a{color:#fff;text-decoration:underline;text-underline-offset:4px}.sub-hero{max-width:1200px;margin:0 auto;padding:62px 22px 34px;display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}.sub-hero .badge{display:inline-flex;background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 12px;margin-bottom:12px}.article-block{background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:34px;margin-bottom:24px}.service-points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.mini-card{background:linear-gradient(135deg,#fff,#F3F0FF);border:1px solid var(--border);border-radius:20px;padding:20px}.mini-card strong{display:block;color:var(--title);font-size:18px;margin-bottom:6px}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.image-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.image-row img{border-radius:22px;box-shadow:var(--shadow)}
.site-footer{background:#211B2E;color:#F1ECFF;margin-top:70px}.footer-inner{max-width:1200px;margin:0 auto;padding:54px 22px;display:grid;grid-template-columns:1.1fr 1.6fr;gap:40px}.footer-brand p{color:#D8D1EA;margin-top:14px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.footer-links h3{color:#fff;font-size:18px}.footer-links a{display:block;color:#D8D1EA;margin:7px 0}.footer-bottom{text-align:center;color:#D8D1EA;border-top:1px solid rgba(255,255,255,.12);padding:18px 22px;font-size:14px}.footer-logo{color:#fff}.mobile-tabs{display:none}
@media (max-width:1040px){.nav-core{display:none}.desktop-menu{display:inline-flex}.grid-4,.capsule-grid{grid-template-columns:repeat(2,1fr)}.review-grid,.grid-3,.service-points{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){body{padding-bottom:66px}.header-inner{min-height:64px;padding:0 14px}.mobile-menu{display:inline-flex}.desktop-menu{display:none}.site-logo span{font-size:18px}.site-logo img{max-height:38px}.main-btn.small{padding:8px 12px;font-size:13px}.hero,.sub-hero,.grid-2,.content-grid,.footer-inner{grid-template-columns:1fr}.hero{padding-top:38px}.hero:before{inset:10px 10px auto;height:780px;border-radius:28px}.page-section{padding:50px 16px}.sub-hero{padding:42px 16px 18px}.grid-4,.grid-3,.capsule-grid,.review-grid,.service-points,.footer-links,.image-row{grid-template-columns:1fr}.card,.zone-card,.info-card,.review-card,.faq-item,.notice-card,.article-block{padding:22px}.split-panel,.soft-panel,.reminder{padding:24px;border-radius:26px}.floating-card{position:relative;left:auto;bottom:auto;margin-top:-18px;max-width:100%}.drawer-links{grid-template-columns:1fr}.mobile-tabs{position:fixed;left:0;right:0;bottom:0;z-index:9998;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--border);box-shadow:0 -10px 28px rgba(91,63,232,.12)}.mobile-tabs a{text-align:center;color:var(--text);padding:10px 4px 9px;font-weight:800;font-size:13px}.mobile-tabs a:hover{color:var(--movie)}}
@media (max-width:420px){h1{font-size:38px}.hero-sub{font-size:22px}.header-actions{gap:6px}.menu-toggle{padding:8px 11px}.site-logo span{display:none}.hero-actions .main-btn,.hero-actions .ghost-btn{width:100%}}
