
/* section class="main-visual"
----------------------------------------------- */
.main-Visual {
  background-color: #000;
}
.visual__wrapper {
}
.visual__image {
  display: block;
  width: var(--sp-width);
  height: auto;
  object-fit: cover;
}

/*認証ボタン非表示　スペース調整*/
.registration {
  margin-top: 11px;
}

/*----------------------
  デジタルスタンプラリー
----------------------*/
.content__wrapper {
  margin: 0 auto;
}
.heading {
  background-color: #578A69;
  position: relative;
}
.heading::before ,.heading::after{
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  margin: auto 0;
  left: 3%;
  width: 100%;
  height: 70px;
  background-image: url(/view/event/tokyoaliens/img/decoration.webp);
  transform: translateX(0%) translateY(0%);
  background-size: contain;
  background-repeat: no-repeat;
}
.heading::after {
  left: -10%;
  transform: translateX(100%) translateY(0%);
}
.heading__text {
  font-family: Noto Serif JP;
  font-weight: 700;
  font-size: 1.8125rem; /*29px*/
  line-height: 35px;
  letter-spacing: 0.07em;
  text-align: center;
  color: #FFFFFF;
  padding: 15px 0;
}

.limited {
}
.limited__title {
  font-family: Noto Sans JP;
  font-weight: 700;
  font-size: 0.9375rem; /*15px*/
  line-height: 25px;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 20px 0 35px;
}
.limited .warning {
  padding: 16px 0 69px;
}

/*-------------------------
スタンプ獲得情報
-------------------------*/
.quiz-choice {
  margin: 0 auto;
  padding: 0 4% 19px;
}
.cards-title {
  font-family: Noto Serif JP;
  font-weight: 900;
  font-size: 1.25rem; /*20px*/
  line-height: 30px;
  letter-spacing: 0.05em;
  text-align: center;
  color: #578A69;
  padding: 17px 0 3px;
}
.cards {    
  display: grid;
  gap: 7%;
  grid-template-columns: repeat(3,1fr);
  padding: 0 7% 58px;
}
.li__lower {
  padding-top: 11px;
}
.card__img {
  max-width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.card__text {
  font-family: Noto Serif JP;
  font-weight: 700;
  font-size: 0.875rem; /*14px*/
  line-height: 15px;
  letter-spacing: 0.05em;
  text-align: center;
}

/*-------------------------
スタンプラリー
-------------------------*/
.stamp-rally {
  margin: 0 auto;
}
.stamp-rally .cards {
  display: flex;
  flex-direction: column;
  padding: 0;
}
.stamp-rally .card__title {
  font-family: Noto Serif JP;
  font-weight: 700;
  font-size: 1.375rem; /*22px*/
  line-height: 30px;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 15px 0 15px;
}
.card__note {
  font-family: Noto Sans JP;
  font-weight: 400;
  font-size: 0.9375rem; /*15px*/
  line-height: 30px;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 1px 0 15px;
}

.card-ending {
  padding-bottom: 15px;
}
.card-ending .card__title {
  padding: 12px 0 0;
}
.card-ending .card__memo {
  font-family: Noto Sans JP;
  font-weight: 400;
  font-size: 0.875rem; /*14px*/
  line-height: 20px;
  letter-spacing: 0.05em;
  text-align: center;
  padding-bottom: 12px;
}

.card-ending .warning {
  width: 93%;  
}
.card-ending .warning-list__item {
  font-family: Noto Sans JP;
  font-weight: 400;
  font-size: 0.75rem; /*12px*/
  line-height: 20px;
  letter-spacing: 0.05em;
}

/*-------------------------
スタンプ獲得情報
-------------------------*/
.item {
  margin: 0 auto;
  padding: 10px 4% 19px;
}
.item__wrapper {
  padding-bottom: 18px;
}
.item .cards-title {
  padding: 11px 0 7px;
}
.item .cards {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(1, 1fr);
    padding: 0 18% 0px;
    margin: 0;
}
.item .title {
  font-family: Noto Serif JP;
  font-weight: 700;
  font-size: 1.25rem; /*20px*/
  line-height: 25px;
  letter-spacing: 0.05em;
  text-align: center;
}
.item .note {
  font-family: Noto Sans JP;
  font-weight: 400;
  font-size: 0.875rem; /*14px*/
  line-height: 30px;
  letter-spacing: 0.05em;
  text-align: center;
}

/*特典引換場所*/
.board {
  width: 100%;
  margin: 0 auto;
  padding: 8px 4% 25px;
}
table {
  text-align: center;
  border: 1px solid #578A69;
  width: 100%;
}
th {
  font-family: Noto Sans JP;
  font-weight: 900;
  font-size: 20px;
  line-height: 25px;
  letter-spacing: 0.05em;
  text-align: center;
  color: #578A69;
  border-bottom: 1px solid #578A69;
  padding: 10px;
}
tbody td {
  font-family: Noto Sans JP;
  font-weight: 700;
  font-size: 1.25rem; /*20px*/
  line-height: 28px;
  letter-spacing: 0.06em;
  text-align: center;
  padding-top: 12px;
}
tbody td > span {
  font-size: 1.125rem; /*18px*/
}
tfoot td {
  font-family: Noto Sans JP;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 0;
  text-align: center;
  padding: 10px 0 12px;
}

.warning-exchange {
  padding: 23px 0 13px;
}
.warning-exchange .warning-list__item,
.warning-reset .warning-list__item {
  font-family: Noto Sans JP;
  font-weight: 350;
  font-size: 0.6875rem; /*11px*/
  line-height: 20px;
  letter-spacing: 0.05em;
}
.warning-reset {
  padding: 14px 0 31px;
}

.link {
  padding: 1px 0 17px;
}
.link__wrapper {
  padding-bottom: 20px;
}


