.campaignPage{
  background:#000;
  color:#F4F6F5;
}

.gwHero{
  width:100%;
  background:#000;
}

.gwHero img{
  display:block;
  width:100%;
  height:auto;
}

.gwLineup{
  background:#000;
  padding:42px 0 56px;
}

.gwLineup__inner{
  width:min(1120px, calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:42px 34px;
}

.gwCard{
  display:block;
  text-align:center;
  color:#fff;
  text-decoration:none;
}

.gwCard img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  background:#111;
  transition:transform .32s ease, opacity .32s ease, filter .32s ease;
}

.gwCard span{
  display:block;
  margin-top:10px;
  font-family:"LINE Seed JP", "LINE Seed Sans JP", "Noto Sans JP", sans-serif;
  font-size:clamp(18px, 2vw, 28px);
  line-height:1;
  letter-spacing:.03em;
  color:#fff;
}

@media (hover:hover){
  .gwCard:hover img{
    transform:translateY(-4px);
    opacity:.9;
    filter:brightness(1.08);
  }
}

.gwShared{
  background:
    radial-gradient(900px 560px at 18% 18%, rgba(142,59,46,.12), transparent 62%),
    radial-gradient(900px 560px at 86% 12%, rgba(33,57,70,.22), transparent 58%),
    #070707;
  color:#F4F6F5;
}

.gwShared--system{
  padding:78px 0 72px;
}

.gwShared--jpNight{
  padding:0 0 78px;
  border-top:1px solid rgba(244,246,245,.12);
}

.gwShared__inner{
  width:min(1120px, calc(100% - 48px));
  margin:0 auto;
}

.gwSectionHead{
  text-align:center;
  margin-bottom:34px;
}

.gwSectionHead p{
  margin:0 0 18px;
  font-family:var(--font-en);
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
  color:rgba(244,246,245,.78);
}

.gwSectionHead h2{
  margin:0;
  font-family:var(--font-en);
  font-size:clamp(26px, 3vw, 42px);
  font-weight:800;
  line-height:1.2;
  letter-spacing:.14em;
  color:#fff;
}

/* event-system.php をキャンペーンページ用に整える */
.campaignPage .eventSystem,
.campaignPage .event-system,
.campaignPage .systemSection,
.campaignPage .system-section{
  background:transparent !important;
  color:#F4F6F5;
  padding:0 !important;
}

.campaignPage .eventSystem *,
.campaignPage .event-system *,
.campaignPage .systemSection *,
.campaignPage .system-section *{
  color:inherit;
}

.campaignPage .eventSystem{
  width:100%;
}

.campaignPage .eventSystem__inner,
.campaignPage .event-system__inner,
.campaignPage .systemSection__inner,
.campaignPage .system-section__inner{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

.campaignPage .eventSystem__head,
.campaignPage .event-system__head,
.campaignPage .systemSection__head,
.campaignPage .system-section__head{
  display:none !important;
}

.campaignPage .eventSystem__card,
.campaignPage .event-system__card,
.campaignPage .systemCard,
.campaignPage .system-card{
  overflow:hidden;
  border:1px solid rgba(244,246,245,.14);
  border-radius:24px;
  background:rgba(0,0,0,.44);
  box-shadow:0 22px 60px rgba(0,0,0,.24);
}

.campaignPage .eventSystem__title,
.campaignPage .event-system__title,
.campaignPage .systemCard__title,
.campaignPage .system-card__title{
  color:#fff;
  letter-spacing:.14em;
}


/* =========================
   GW LINE MEMBERS
========================= */

.gwLineMembers{
  background:
    radial-gradient(900px 560px at 18% 18%, rgba(6,185,85,.10), transparent 62%),
    radial-gradient(900px 560px at 86% 12%, rgba(33,57,70,.18), transparent 58%),
    #070707;
  color:#F4F6F5;
  padding:0 0 72px;
}

.gwLineMembers__inner{
  width:min(1120px, calc(100% - 48px));
  margin:0 auto;
}

.gwLineMembersCard{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 220px;
  gap:34px;
  align-items:center;
  border:1px solid rgba(244,246,245,.14);
  border-radius:24px;
  background:
    linear-gradient(135deg, rgba(6,185,85,.16), rgba(0,0,0,.30)),
    rgba(0,0,0,.46);
  box-shadow:0 22px 60px rgba(0,0,0,.22);
  padding:34px;
}

.gwLineMembersCard__eyebrow{
  margin:0 0 12px;
  font-family:var(--font-en);
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
  color:rgba(244,246,245,.72);
}

.gwLineMembersCard__title{
  margin:0 0 16px;
  font-family:"LINE Seed JP", "LINE Seed Sans JP", var(--font-jp), sans-serif;
  font-size:clamp(26px, 3vw, 42px);
  font-weight:800;
  line-height:1.24;
  color:#fff;
}

.gwLineMembersCard__lead{
  margin:0;
  font-family:"LINE Seed JP", "LINE Seed Sans JP", var(--font-jp), sans-serif;
  font-size:15px;
  line-height:1.9;
  color:rgba(244,246,245,.90);
}

.gwLineMembersCard__note{
  margin-top:18px;
  font-size:12px;
  line-height:1.8;
  color:rgba(244,246,245,.62);
}

.gwLineMembersCard__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:24px;
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  background:#06C755;
  color:#fff;
  font-family:"LINE Seed JP", "LINE Seed Sans JP", var(--font-jp), sans-serif;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  transition:transform .22s ease, opacity .22s ease, filter .22s ease;
}

.gwLineMembersCard__button:hover{
  transform:translateY(-2px);
  opacity:.92;
  filter:brightness(1.04);
}

.gwLineMembersCard__qr{
  display:flex;
  align-items:center;
  justify-content:center;
}

.gwLineMembersCard__qr img{
  display:block;
  width:100%;
  max-width:190px;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:18px;
  background:#fff;
  padding:10px;
  box-shadow:0 16px 44px rgba(0,0,0,.22);
}

/* JP NIGHT include */
.campaignPage .appBanner,
.campaignPage .app-banner,
.campaignPage .jpNight,
.campaignPage .jp-night{
  background:transparent !important;
  color:#F4F6F5;
}

.campaignPage .appBanner *,
.campaignPage .app-banner *,
.campaignPage .jpNight *,
.campaignPage .jp-night *{
  color:inherit;
}

/* =========================
   GW NOTICE
========================= */

.gwNotice{
  background:
    radial-gradient(900px 560px at 18% 18%, rgba(142,59,46,.12), transparent 62%),
    radial-gradient(900px 560px at 86% 12%, rgba(33,57,70,.22), transparent 58%),
    #061012;
  padding:84px 0 92px;
  color:#F4F6F5;
  border-top:1px solid rgba(244,246,245,.10);
}

.gwNotice__inner{
  width:min(1120px, calc(100% - 48px));
  margin:0 auto;
}

.gwNoticeCard{
  border:1px solid rgba(244,246,245,.14);
  border-radius:24px;
  background:rgba(0,0,0,.42);
  padding:30px 34px;
  box-shadow:0 22px 60px rgba(0,0,0,.22);
}

.gwNoticeCard + .gwNoticeCard{
  margin-top:24px;
}

.gwNoticeCard h3{
  margin:0 0 22px;
  font-family:var(--font-en);
  font-size:clamp(20px, 2vw, 28px);
  font-weight:800;
  letter-spacing:.14em;
  color:#fff;
}

.gwNoticeCard ul{
  margin:0;
  padding-left:1.3em;
}

.gwNoticeCard li{
  margin:0;
  font-family:"LINE Seed JP", "LINE Seed Sans JP", var(--font-jp), sans-serif;
  font-size:15px;
  line-height:2;
  color:rgba(244,246,245,.92);
}

.gwNoticeCard li + li{
  margin-top:10px;
}

@media (max-width: 768px){

  .gwLineMembers{
    padding:0 0 48px;
  }

  .gwLineMembers__inner{
    width:min(100% - 32px, 520px);
  }

  .gwLineMembersCard{
    grid-template-columns:1fr;
    gap:24px;
    padding:24px 18px;
    border-radius:18px;
    text-align:center;
  }

  .gwLineMembersCard__title{
    font-size:24px;
  }

  .gwLineMembersCard__lead{
    font-size:13px;
    line-height:1.8;
  }

  .gwLineMembersCard__note{
    font-size:11px;
  }

  .gwLineMembersCard__qr img{
    max-width:170px;
  }

  .gwLineup{
    padding:28px 0 42px;
  }

  .gwLineup__inner{
    width:min(100% - 32px, 520px);
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:28px 18px;
  }

  .gwCard span{
    margin-top:8px;
    font-size:18px;
  }

  .gwShared--system{
    padding:52px 0 48px;
  }

  .gwShared--jpNight{
    padding:0 0 56px;
  }

  .gwShared__inner{
    width:min(100% - 32px, 520px);
  }

  .gwSectionHead{
    margin-bottom:24px;
  }

  .gwSectionHead p{
    margin-bottom:12px;
    font-size:10px;
  }

  .gwSectionHead h2{
    font-size:24px;
    letter-spacing:.1em;
  }

  .gwNotice{
    padding:58px 0 64px;
  }

  .gwNotice__inner{
    width:min(100% - 32px, 520px);
  }

  .gwNoticeCard{
    border-radius:18px;
    padding:22px 18px;
  }

  .gwNoticeCard h3{
    font-size:20px;
    margin-bottom:16px;
  }

  .gwNoticeCard li{
    font-size:13px;
    line-height:1.85;
  }
}

@media (max-width: 420px){
  .gwLineup__inner{
    gap:24px 14px;
  }

  .gwCard span{
    font-size:16px;
  }
}
