body {
  background:#000;
  color:#fff;
  font-family: 'Noto Sans JP', sans-serif;
}

.container {
  width:90%;
  max-width:1200px;
  margin:auto;
  padding:80px 0;
}

.hero {
  text-align:center;
  padding:120px 20px;
  background: linear-gradient(135deg,#000,#111);
}

.hero-logo {
  width:200px;
  margin-bottom:30px;
}

.hero h1 {
  font-size:48px;
  margin-bottom:20px;
}

.hero-buttons {
  margin-top:30px;
}

.btn-primary {
  background: linear-gradient(90deg,#ff3cac,#2bc0e4);
  padding:14px 32px;
  border-radius:50px;
  color:#fff;
  text-decoration:none;
  font-weight:bold;
  margin:10px;
  display:inline-block;
}

.btn-secondary {
  border:1px solid #fff;
  padding:14px 32px;
  border-radius:50px;
  color:#fff;
  text-decoration:none;
  margin:10px;
}

.support-grid, .artist-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
  gap:30px;
  margin-top:50px;
}

.card, .artist-card {
  background:#111;
  padding:30px;
  border-radius:20px;
  text-align:center;
}

.artist-card img {
  border-radius:15px;
  margin-bottom:20px;
}

.btn-small {
  display:inline-block;
  margin-top:15px;
  padding:10px 20px;
  border-radius:30px;
  background:linear-gradient(90deg,#ff3cac,#2bc0e4);
  color:#fff;
  text-decoration:none;
}

.cta {
  text-align:center;
  padding:100px 20px;
  background:linear-gradient(135deg,#111,#000);
}