/* Individual fan clubs share the official site's page rhythm and chrome. */
:root{--ink:#313a57;--muted:#74809d;--line:#e7dff5;--lavender:#8a6bd8;--pale:#f8f4ff;--pink:#fff3f9}
html{scroll-padding-top:100px}body{font-family:"Noto Sans JP",sans-serif;background:radial-gradient(ellipse 70% 420px at 4% 0%,#e9e0ff70,transparent),radial-gradient(ellipse 50% 370px at 95% 3%,#fff2ca66,transparent),linear-gradient(#fff,#fbf8ff)}
.wrap{width:90%;max-width:1180px;margin:0 auto;padding:46px 0 40px}
.fc-page-lead h1{margin:0;font-family:"M PLUS 2","Noto Sans JP",sans-serif;font-size:clamp(48px,5.92vw,85.12px);font-weight:800;line-height:1.05;letter-spacing:.06em;background:linear-gradient(#725ad3 0%,#a98ff1 52%,#efb0d5 100%);background-clip:text;-webkit-background-clip:text;color:transparent}.fc-page-lead>p{margin:10px 0 24px;font-size:16px;font-weight:700;letter-spacing:.15em}
.fc-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:28px;color:#8d79b9;font-size:12px}.fc-breadcrumb a{color:inherit;text-decoration:none}.fc-breadcrumb a:hover{text-decoration:underline}.fc-breadcrumb a:focus-visible{outline:3px solid #9273da;outline-offset:4px}
.hero{margin:0;min-height:0;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;padding:32px;border:1px solid var(--line);border-radius:28px;background:#ffffffc9;box-shadow:0 14px 36px #8068b40a;align-items:center}
.copy{min-width:0;padding:10px 6px;display:block}.copy:after{display:none}.eyebrow{font-size:11px;letter-spacing:.15em;color:#9b84d7}.copy .club-title{margin:16px 0 18px;font-size:clamp(26px,3vw,42px);font-weight:700;line-height:1.45;letter-spacing:.015em;overflow-wrap:anywhere;text-wrap:balance}.copy p{font-size:14px;line-height:2;max-width:none;margin:0;color:var(--muted)}
.cover{min-height:0;height:auto;aspect-ratio:4/3;align-self:center;border-radius:20px;background:linear-gradient(135deg,#f2ebff,#fff1f8)}.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover:after{display:none}.cover:empty:before{content:"";position:absolute;inset:20%;background:url('/brand-logo.png') center/contain no-repeat;opacity:.7}
.meta{margin-top:22px;gap:8px}.pill{border:1px solid #e4d9f7;background:#f7f2ff;color:#9275c9;border-radius:999px;padding:7px 12px;font-size:11px}
.btn,button.btn{min-height:42px;border-radius:999px;border-color:#ddd0f5;padding:11px 22px;color:#8065c5;font-family:inherit;font-size:13px;font-weight:700;line-height:1.6}.btn:hover{background:#f3ecff}.btn.primary{background:linear-gradient(110deg,#9673eb,#b095f5);border-color:#ac90e9;color:#fff}.btn.primary:hover{background:#9270dc}.btn:disabled{opacity:.55;cursor:not-allowed}
.account{margin-top:24px;padding:24px 28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(120deg,#f3edfc,#fff8fb)}.account b{font-size:15px}.account small{font-size:12px;line-height:1.9;margin-top:6px}.account .actions{gap:12px}
.posts{margin-top:52px}.posts h2{font-family:"M PLUS 2",sans-serif;font-size:clamp(28px,3vw,40px);font-weight:800;letter-spacing:.06em;margin:0 0 8px;background:linear-gradient(#8065d8,#c9a4e9);background-clip:text;-webkit-background-clip:text;color:transparent}.section-japanese{margin:0 0 24px;font-size:14px;letter-spacing:.1em;font-weight:700}
.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0}.card,.card:nth-child(3n){min-width:0;min-height:0;padding:26px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 12px 32px #7661950a}.card h3{font-size:20px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}.card p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.type{font-size:11px;letter-spacing:.12em;color:#9b84d7}.lock{font-size:12px;line-height:1.8;border:0;border-radius:14px;padding:14px 16px;background:#f5effd;color:#8b73b6}.media img{border-radius:14px}.media .btn{overflow-wrap:anywhere}.empty{border:1px solid var(--line);border-radius:24px;background:#ffffffa8;padding:48px 24px;font-size:14px;line-height:1.9}.loading{padding:64px 20px;font-size:14px}.notice{border-radius:12px;font-size:13px;line-height:1.8;margin-bottom:20px}
.checkout{border-radius:24px}.checkout-head,.checkout-foot{padding:20px 24px}.checkout-head h2{font-size:18px;line-height:1.6}.checkout-body{padding:24px}.checkout-body dl div{font-size:13px;line-height:1.8}.checkout-note{border-radius:14px;font-size:12px}.checkout-foot{flex-wrap:wrap}.checkout-foot .btn{white-space:normal;text-align:center}.checkout-consent{line-height:1.9}
@media(max-width:900px){.wrap{padding-top:36px}.hero{gap:24px;padding:24px}.copy .club-title{font-size:30px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account{padding:22px}}
@media(max-width:620px){.wrap{padding-top:30px}.fc-page-lead h1{font-size:clamp(40px,11vw,62px)}.fc-page-lead>p{font-size:14px;margin-bottom:20px}.fc-breadcrumb{font-size:11px;margin-bottom:22px;gap:10px}.hero{display:flex;flex-direction:column;gap:22px;padding:20px;border-radius:22px;align-items:stretch}.copy{padding:0}.copy .club-title{font-size:27px;line-height:1.45;text-wrap:pretty}.copy p{font-size:13px}.cover{order:0;width:100%;aspect-ratio:4/3;border-radius:16px}.meta{margin-top:16px}.account{padding:20px;gap:18px;align-items:stretch}.account>.actions{width:100%;justify-content:space-between}.account>.btn{width:100%}.account small{font-size:12px}.btn,button.btn{padding:10px 18px;font-size:12px}.posts{margin-top:36px}.posts h2{font-size:28px}.section-japanese{font-size:13px;margin-bottom:20px}.grid{grid-template-columns:1fr;gap:18px}.card,.card:nth-child(3n){padding:22px;border-radius:20px}.empty{padding:36px 20px}.checkout-head,.checkout-body,.checkout-foot{padding:18px}.checkout-body{max-height:58dvh}.checkout-foot .primary{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
