@charset "UTF-8";

.content-top {
  padding-bottom: 39px;
}

.content {
  padding-bottom: 30px;
}

.content__wrapper, 
.event__inner {
  margin: 0 auto;
}

.inner-372 {
  width: 95.17%;
  border: 1px solid #000000;
  border-radius: 10px;
  margin: 0 auto;
}

.inner-360 {
  width: 94%;
  margin: 0 auto;
}

/* section class="main-visual"
----------------------------------------------- */
.main-Visual {
  margin: 0 auto;
}

.visual__image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  margin: 0;
}

.visual-lead__text {
  font-family: Shippori Mincho;
  font-weight: 800;
  font-size: 1.1875rem; /*19px*/
  line-height: 1.63;
  letter-spacing: 0;
  text-align: center;
  color: #4E4D4D;
  padding: 21px 0 31px;
}

/*-------------------------
  認証ボタン表示 (未認証時表示)
-------------------------*/
/*認証ボタン非表示　スペース調整*/
.registration {
  margin-top: -9px;
}

.registration-warning {
  padding-bottom: 23px;
}

/*-------------------------
  キャンペーンサイト一覧はこちら
-------------------------*/
.warning-site-link {
  padding: 13px 0 40px;
}

/*-------------------------
東海道新幹線車内限定
オリジナルボイス
-------------------------*/
.voice-heading {
  background-color: var(--color-ip);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  padding: 18px 0 29px;
}

.voice-heading__title {
  font-family: Shippori Mincho;
  font-weight: 800;
  font-size: 1.125rem; /*18px*/
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: #FFF;
  text-align: center;
}

.voice-heading__title > span {
  font-size: 1.75rem; /*28px*/
}

.description {
  position: relative;
}

.description-shinkansen--img {
  display: block;
  width: 99%;
  margin-left: auto;
  position: absolute;
  top: -23px;
  left: 4px;
}

.description__text {
  font-family: Shippori Mincho;
  font-weight: 700;
  font-size: 0.9375rem; /*15px*/
  line-height: 2;
  letter-spacing: 0;
  text-align: center;
  padding: 47px 0 26px;
}

.warning-voice {
  width: 100%;
  padding: 13px 0 32px;
}

/*東海道新幹線乗車特典*/
.novelty {
  margin-bottom: 32px;
}
.novelty-heading {
  background-color: var(--color-ip);
  border-radius: 100px;
}

.novelty-heading__title {
  font-family: Shippori Mincho;
  font-weight: 800;
  font-size: 1.25rem; /*20px*/
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;

  color: #fff;
  padding: 5px 0;
}

.novelty .description__text {
  font-family: Shippori Mincho;
  font-weight: 800;
  font-size: 0.9375rem; /*15px*/
  line-height: 1.66;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 19px 0 0;
}

/*ノベリティーイメージ*/
.item .card {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 5px 0 30px;
  margin: 0;
}
.item .card li {
  text-align: center;
  display: flex;
}

.item .card__img {
  width: 100%;
  aspect-ratio: 350 / 212;
  object-fit: cover;
}

/*特典引換場所*/
.board {
  width: 100%;
  margin: 0 auto;
  color: #000;
}

table {
  text-align: center;
  border: 1px solid var(--color-ip);
  width: 100%;
}

th {
  font-family: Noto Sans JP;
  font-weight: 900;
  font-size: 1.25rem; /*20px*/
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--color-ip);
  border-bottom: 1px solid var(--color-ip);
  padding: 10px;
}

tbody td {
  font-family: Noto Sans JP;
  font-weight: 700;
  font-size: 1.25rem; /*20px*/
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 13px 0 3px;
}

.annotation td {
  font-family: Noto Sans JP;
  font-weight: 400;
  font-size: 0.75rem; /*12px*/
  line-height: 1.66;
  letter-spacing: 0;
  text-align: center;
  margin: 0;
  padding: 0;
}

.time td {
  font-family: Noto Sans JP;
  font-weight: 700;
  font-size: 1.125rem; /*18px*/
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 14px 0 4px;
}

tfoot td {
  font-family: Noto Sans JP;
  font-weight: 400;
  font-size: 0.75rem; /*12px*/
  line-height: 1.66;
  letter-spacing: 0;
  padding: 23px 0 17px 0.8rem;
  text-align: left;
}

tfoot td > span {
  padding: 23px 0 17px 1.0rem;
}

  .btn-list {
  padding: 16px 0 13px;
}

.date-of-expiry {
  font-family: Noto Sans JP;
  font-weight: 500;
  font-size: 1.25rem; /*20px*/
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 6px;
}

.date-of-expiry {
  display: none;
}

.btn-list:has(.btn__normal--on) .date-of-expiry {
  display: block;
}

.exchange-warning {
  width: 100%;
  padding: 0 2px;
}

.exchange-warning .warning-list__item {
  font-family: Noto Sans JP;
  font-weight: 350;
  font-size: 0.6875rem; /*11px*/
  line-height: 1.81;
  letter-spacing: 0.05em;
}



/*ARフォト
*****************/
.ar-frame {
  /* padding-bottom: 32px; */
}

.ar-frame-heading {
  background-color: var(--color-ip);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  padding: 12.5px 0;
}

.ar-frame-heading__title {
  font-family: Shippori Mincho;
  font-weight: 800;
  font-size: 1.75rem; /*28px*/
  line-height: 1.21;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
}

.ar-frame .description__text {
  font-family: Shippori Mincho;
  font-weight: 800;
  font-size: 0.9375rem; /*15px*/
  line-height: 1.66; /*25px*/
  letter-spacing: 0;
  text-align: center;
  padding: 17px 0 29px;
}

.ar-frame .heading {
  border-radius: 10px;
}

.ar-frame .period__text {
  font-family: Noto Sans JP;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.428;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 5px 0 7px;
} 

/*-------------------------
スタンプ獲得情報
-------------------------*/
.stamp-cards {    
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7%;
  padding: 27px 7% 15px;
  margin: 0 auto;
}

.stamp-cards > li {
  width: calc((100% - 14%) / 3);
  list-style: none;
  padding-bottom: 9px;
}

.stamp-cards > .li__lower-left, 
.stamp-cards > .li__lower-right {
  width: calc((100% - 38%) / 2);
  list-style: none;
  padding-bottom: 14px;
}

.stamp-cards > .li__lower-left {
  margin-right: 0;
  margin-left: auto;
}

.stamp-cards > .li__lower-right {
  margin-right: auto;
  margin-left: 0;
}

.card__img {
  width: 100%;
  aspect-ratio: 85 / 85;
  object-fit: cover;
}

.stamp-cards > .li__lower-left > .card__img, 
.stamp-cards > .li__lower-right >.card__img{
  width: 92.5%;
}

.card__text {
  font-family: Noto Sans JP;
  font-weight: 900;
  font-size: 0.6875rem; /*11px*/
  line-height: 1.36;
  letter-spacing: 0.05em;
  text-align: center;
}

.ar-warning {
  width: 100%;
  padding: 0 9px;
}

.ar-warning .warning-list__item {
  font-family: Noto Sans JP;
  font-weight: 350;
  font-size: 0.6875rem; /*11px*/
  line-height: 1.81;
  letter-spacing: 0.05em;
}

/*-------------------------
スタンプラリー
-------------------------*/
.stamp-rally {
  margin: 0 auto;
  padding: 31px 0 9px;
}

.stamp-rally .cards {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
}

.stamp-rally .card {
  margin-bottom:31px;
}

.stamp-rally .card__title {
  font-family: Shippori Mincho;
  font-weight: 800;
  font-size: 1.4375rem; /*23px*/
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-align: left;
  padding-left: 2rem;
  position: relative;
  margin-bottom:5px;
}

.stamp-rally .card__title > span {
  font-size: 1.0625rem; /*17px*/
  line-height: 1.76;
}

.stamp-rally .card__title::before {
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  margin: auto 0;
  left: 0;
  background-image: url(/view/event/bungo-yokohama/svg/rudder.svg);
  height: 26px;
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
}

.card__note {
  font-family: Noto Sans JP;
  font-weight: 400;
  font-size: 0.75rem; /*12px*/
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 10px 0 14px;
}

/*シークレットARフォト*/
.btn-wrapper {
  margin: 20px 0 37px;
}

.content-ar-photo {
  padding-bottom: 20px;
}
