:root{--purple:#af70db;--purple-d:#8a4fc0;--yellow:#ffe44d;--pink:#e94560;--ink:#1a1a2e;--muted:#6b6880}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fbf9ff;font-family:Plus Jakarta Sans,Noto Sans JP,system-ui,-apple-system,sans-serif}.bg{z-index:0;background:linear-gradient(160deg,#faf7ff 0%,#f4ecff 45%,#fff4f8 100%);position:fixed;inset:0;overflow:hidden}.orb{filter:blur(72px);opacity:.5;border-radius:50%;animation:20s ease-in-out infinite float;position:absolute}.orb1{background:var(--purple);width:440px;height:440px;top:-130px;left:-90px}.orb2{background:var(--yellow);width:380px;height:380px;animation-delay:-7s;bottom:-120px;right:-70px}.orb3{background:var(--pink);opacity:.28;width:320px;height:320px;animation-delay:-13s;top:38%;right:18%}@keyframes float{0%,to{transform:translate(0)}33%{transform:translate(34px,-28px)}66%{transform:translate(-22px,22px)}}.wrap{z-index:1;max-width:880px;margin:0 auto;padding:clamp(64px,12vh,120px) 24px 64px;position:relative}.brand{letter-spacing:-.02em;background:linear-gradient(100deg, var(--ink) 0%, var(--purple-d) 58%, var(--pink) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-family:"M PLUS Rounded 1c",Plus Jakarta Sans,sans-serif;font-size:clamp(46px,9vw,88px);font-weight:800;line-height:1}.tag{color:var(--muted);margin:16px 0 56px;font-size:clamp(14px,2.4vw,19px);font-weight:500}.cards{gap:20px;display:grid}@media (min-width:720px){.cards{grid-template-columns:1fr 1fr}}.card{-webkit-backdrop-filter:blur(12px);color:inherit;background:#ffffffb8;border:1px solid #af70db24;border-radius:24px;padding:34px 30px;text-decoration:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,border-color .28s;display:block;position:relative;overflow:hidden;box-shadow:0 6px 26px #1a1a2e0f}.card:before{content:"";background:var(--accent);width:6px;position:absolute;top:0;bottom:0;left:0}.card:hover{border-color:#af70db4d;transform:translateY(-6px);box-shadow:0 20px 44px #af70db33}.card .en{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.card .name{margin:8px 0 12px;font-size:clamp(22px,3.4vw,28px);font-weight:800}.card .arrow{margin-left:6px;transition:transform .28s cubic-bezier(.2,.8,.2,1);display:inline-block}.card:hover .arrow{transform:translate(7px)}.card .desc{color:var(--muted);margin:0;font-size:14.5px;line-height:1.7}.foot{color:#a8a4bd;letter-spacing:.04em;margin-top:64px;font-size:12px}
