:root {
  --bg-gray: #B2B2B2;
  --bg-gray-right: #D9D9D9;
  --bg-yellow: #FAE53E;
  --red: #AA1B1B;
  --purple: #9F44E0;
}

/* =========================
   共通
   ========================= */
body {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

h1, h2, h3, p, span {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
}

.-button {
  padding: 0;
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
}

.page-content {
  box-sizing: border-box;
  width: 100%;
  padding-bottom: 0;
}

.-w-full {
  width: 100%;
  height: auto;
}

/* ========================
   Link
   ========================= */
.link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-inline: auto;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
}

.link .-text {
  border-bottom: 1px solid #000;
}

.link .-icon {
  display: inline-flex;
  width: 13px;
  height: 13px;
  aspect-ratio: 1 / 1;
  padding-left: 3px;
}

/* =========================
   Membership
   ========================= */
.membership {
  margin: 0;
  background-color: var(--bg-gray);
  background-size: cover;
}

.membership .-container {
  display: grid;
  row-gap: 8px;
  align-items: center;
  justify-content: center;
  padding-block: 15px;
  padding-inline: 16px;
}

.membership .-container .-image {
  width: 100%;
  height: auto;
}

/* =========================
   Caution
   ========================= */
.caution {
  margin-block: 30px;
}

.caution .-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 16px;
  font-weight: bold;
  color: #000;
  background: none;
  border: none;
}

.caution .-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
  margin-left: 10px;
  color: #fff;
  background-color: #000;
  border-radius: 100%;
}

/* =========================
   Proof
   ========================= */
.proof {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-inline: 16px;
}

.proof .-image {
  width: 100%;
  height: auto;
}

/* =========================
   Tshirt
   ========================= */
.tshirt {
  width: 100%;
  margin-inline: auto;
  margin-top: 30px;
}

.tshirt .-w-full {
  width: 100%;
  height: auto;
}

.tshirt .-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-block: 15px 34px;
  margin-inline: 16px;
}

.tshirt .-title {
  margin-block: 0 16px;
  font-size: 20px;
  font-weight: 900;
  line-height: 28px;
  text-align: center;
}

.tshirt .-buttons {
  display: grid;
  row-gap: 12px;
  place-items: center;
  margin-bottom: 18px;
}

.tshirt .-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
}

.tshirt .-button .-image {
  width: 100%;
  height: auto;
}

.tshirt .-note {
  display: block;
  width: 100%;
  margin-block: 0 24px;
  font-size: 12px;
  line-height: 20px;
}

/* =========================
   Modal
   ========================= */
.background {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100vw;
  height: 100vh;
  user-select: none;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
}

.background.-active {
  display: block;
  user-select: none;
  opacity: 1;
}

.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 1001;
  display: none;
  width: 100%;
  max-width: 311px;
  height: auto;
  max-height: 254px;
  user-select: none;
  background-color: #fff;
  opacity: 0;
  transform: translate(-50%, -50%);
}

.modal.-active {
  display: block;
  user-select: all;
  opacity: 1;
}

.modal .-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-block: 40px 30px;
}

.modal .-title {
  margin-block: 0 23px;
  font-size: 36px;
  font-weight: 900;
  line-height: 24px;
  text-align: center;
}

.modal.-hit .-title {
  color: var(--red);
}

.modal .-description {
  margin-block: 0 20px;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  text-align: center;
}

.modal .-button {
  padding: 0;
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
}

/* =========================
   Acsta
   ========================= */
.acsta .-container {
  display: grid;  
  align-items: center;
  justify-content: center;
  padding-block: 20px 40px;
  padding-inline: 16px;
}

.acsta .-w-full {
  width: 100%;
  height: auto;
}

.acsta .-title {
  margin: 0;
  font-size: 18px;
  font-weight: 900;
  line-height: 25px;
  text-align: center;
}

.acsta .-exchange {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-block: 18px 20px;
  margin-inline: auto;
  background-color: var(--bg-gray-right);
}

/* =========================
チケット画像
========================= */
.acsta .-tickets {
  display: grid;
  grid-template-columns: repeat(3, fit-content(86px));
  column-gap: 21px;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-inline: 0;
  margin-block: 0 6px;
  list-style: none;
}

.-ticket {
  display: grid;
  place-items: center;
  width: 86px;
  height: 56px;
  font-size: 18px;
  font-weight: 600;
  line-height: 30px;
}

.-ticket--enabled {
  background: url("/view/event/njpw2nd/img/img-ticket_yellow.webp");
  background-size: 86px 56px;
}

.-ticket--disabled {
  background: url("/view/event/njpw2nd/img/img-ticket.webp");
  background-size: 86px 56px;
  text-align: center;
  line-height: 1.5rem;
}

.acsta .-note {
  width: 100%;
  margin-top: 24px;
  font-size: 12px;
  line-height: 20px;
}

.acsta .link {
  margin-top: 20px;
}

/* =========================
   新日本
   ========================= */
.shinnichi .-title {
  padding-block: 20px;
  margin: 0;
  font-size: 25px;
  font-weight: 900;
  line-height: 30px;
  color: #fff;
  text-align: center;
  background-color: var(--red);
}

.shinnichi .-container {
  padding-bottom: 40px;
}

.shinnichi .-w-full {
  width: 100%;
  height: auto;
}

.shinnichi .-w-full.-aiseki {
 margin-top: 9px; 
}

.shinnichi .-voices {
  display: flex;
  flex-direction: column;
  row-gap: 0px;
  align-items: center; 
  justify-content: center;
  margin-inline: 16px;
}

.shinnichi .-items .-lead {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 28px;
  color: var(--red);
  text-align: center;
}

.-items .-button .-image {
  width: 100%;
  height: auto;
  max-height: 80px;
}

.shinnichi .-items {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.shinnichi .-items.-aiseki {
  padding-bottom: 37px;
  border-bottom: 3px solid #C68282;
}


.shinnichi .-items.-second {
  margin-top: 32px;
}

.shinnichi .-items.-second.-train {
  padding-bottom: 40px;
  border-bottom: 3px solid #C68282;
}

/* =========================
   Stardom
   ========================= */
.stardom .-header {
  padding-block: 20px;
  margin: 0;
  font-size: 25px;
  font-weight: 900;
  line-height: 30px;
  color: #fff;
  text-align: center;
  background: linear-gradient(90deg, #D842C2 0%, #9345E7 100%);
}

.stardom .-title {
  margin-bottom: 16px;
}

.stardom .-title.-second {
  margin-top: 25px;
}

.stardom .-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-block: 26px 0px;
}

.stardom .-voices {
  display: flex;
  flex-direction: column;
  row-gap: 26px;
  align-items: center;
  justify-content: center;
  margin-inline: 16px;
}

.stardom .-voices.-hate {
  row-gap: 28px;
}

.stardom .-voices:not(:last-child) {
  padding-bottom: 48px;
  border-bottom: 3px solid #C38CFF;
}

.stardom .-items {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.stardom .-items.-hate {
  row-gap: 13px;
}

.stardom .-items .-lead {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 28px;
  color: var(--purple);
  text-align: center;
}

/* =========================
   Copyright & Footer
   ========================= */
.copyright {
  padding-block: 58px 8px;
  margin: 0;
  font-size: 11px;
  text-align: center;
  background-color: #fff;
}

footer {
    box-sizing: border-box;
  display: grid;
  row-gap: 18px;
  justify-items: center;
  width: 100%;
  padding-block-start: 6px;
  padding-block-end: 28px;
  background-color: #fff;
}

footer .voistock {
  display: flex;
  column-gap: 14px;
  align-items: flex-end;
}

footer .voistock p {
  margin: 0;
  font-size: 12px;
  line-height: 1.25;
}

footer .voistock .logo {
  display: grid;
  row-gap: 6px;
  justify-items: center;
}

.getCertificate_note {
  margin-top: 0.5rem;
    font-size: 0.9rem;
}

.anchors-wrapper {
  display: flex;
  width: 100%;
  max-width: 100%; /* page-contentの幅を超えないようにする */
  margin: 2rem auto; /* 中央揃え */
  overflow: hidden; /* はみ出しを防止 */
}

.anc-1, .anc-2, .anc-3 {
  flex: 1; /* 均等に分配 */
  width: 33.3%; /* フレックスアイテムの初期幅 */
}

.anc-1 img, .anc-2 img, .anc-3 img {
  width: 100%; /* 画像を親要素に合わせる */
  height: auto; /* アスペクト比を維持 */
  display: block; /* 余分な隙間を防ぐ */
}

html {
  scroll-behavior: smooth;
}
