@charset "UTF-8";
@font-face {
  font-family: Eurostile;
  src: url(../font/EurostileExtendedBlack.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@media screen and (max-width: 767px) {
  .u-desktop {
    display: none;
  }
}
.u-mobile {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-mobile {
    display: block;
  }
}
html {
  font-size: 16px;
}
@media (max-width: 1280px) {
  html {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 390px) {
  html {
    font-size: 4.1025641026vw;
  }
}
a[href^="tel:"] {
  pointer-events: none;
  cursor: default;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
}
a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  a:hover {
    opacity: 0.8;
  }
}
*,
*:before,
*:after {
  box-sizing: border-box;
}
ul,
ol {
  padding: 0;
}
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}
html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  font-weight: 700;
  color: #0f1011;
  font-family:
    Noto Sans JP,
    sans-serif;
}
ul,
ol {
  list-style: none;
}
img {
  max-width: 100%;
  display: block;
  width: 100%;
  height: auto;
}
input,
button,
textarea,
select {
  font: inherit;
}
img:not([alt]) {
  filter: blur(10px);
}
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}
textarea {
  resize: vertical;
}
input[type="checkbox"],
input[type="radio"] {
  display: none;
}
input[type="submit"],
input[type="button"],
label,
button,
select {
  cursor: pointer;
}
select::-ms-expand {
  display: none;
}
picture {
  display: block;
}
button {
  display: block;
  padding: 0;
  width: 100%;
}
.c-apps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 26.8125rem));
  justify-content: center;
  gap: 2.125rem;
}
@media screen and (max-width: 767px) {
  .c-apps {
    grid-template-columns: repeat(2, minmax(0, 8.125rem));
    gap: 2.125rem;
  }
}
.c-apps__item {
  display: grid;
  grid-template-columns: 10rem minmax(0, 1fr);
  align-items: start;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-apps__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
}
.c-apps__icon {
  width: 10rem;
  border-radius: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-apps__icon {
    width: 6.25rem;
    border-radius: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .c-apps__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 1rem;
  }
}
.c-apps__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-apps__title {
    font-size: 0.875rem;
    line-height: 1.45;
    text-align: center;
    white-space: nowrap;
  }
}
.c-apps__text {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-apps__text {
    display: none;
  }
}
.c-apps__download {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  min-height: 2.375rem;
  margin-top: 1.125rem;
  padding: 0.4375rem 1rem;
  border-radius: 999px;
  background-color: #fff;
  color: #003557;
  font-size: 1rem;
  font-weight: 700;
  transition: all 0.3s;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-apps__download {
    justify-content: center;
    width: 8.125rem;
    min-height: 2rem;
    margin-top: 1.4375rem;
    padding: 0.375rem 0.8125rem;
    background-color: #ffd900;
    font-size: 0.75rem;
  }
}
.c-apps__download:hover {
  background-color: #ffd900;
  opacity: 1;
}
.c-apps__download-icon {
  width: 1.5rem;
  height: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-apps__download-icon {
    width: 1rem;
    height: 1rem;
  }
}
.c-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 26.25rem);
  min-height: 5rem;
  padding: 1rem 3.5rem 1rem 2.5rem;
  border: 2px solid #003557;
  border-radius: 999px;
  background-color: #fff;
  color: #003557;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  transition: all 0.45s;
}
@media screen and (max-width: 767px) {
  .c-btn {
    min-height: 4.5rem;
    padding: 0.875rem 3rem 0.875rem 1.75rem;
    font-size: 0.875rem;
  }
}
.c-btn:hover {
  background-color: #ffd900;
  opacity: 1;
}
.c-btn:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.c-btn__text {
  display: block;
}
.c-btn__icon {
  position: absolute;
  top: 50%;
  right: 2.6875rem;
  display: block;
  width: 0.75rem;
  height: 1.5rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .c-btn__icon {
    right: 2.625rem;
    width: 0.625rem;
    height: 1.1875rem;
  }
}
.c-btn__icon img {
  width: 100%;
  height: 100%;
  transition: all 0.45s;
}
.c-ticket-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 15rem;
  min-height: 3rem;
  margin-top: 0.625rem;
  padding: 0.375rem 1.125rem;
  border: 2px solid #003557;
  border-radius: 999px;
  background-color: #fff;
  color: #003557;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  transition: all 0.45s;
}
@media screen and (max-width: 767px) {
  .c-ticket-btn {
    gap: 0.375rem;
    width: 10rem;
    min-height: 2.5rem;
    margin-top: 0.75rem;
    padding: 0.375rem 0.625rem;
    background-color: #ffd900;
    font-size: 0.75rem;
  }
}
.c-ticket-btn:hover {
  background-color: #ffd900;
  opacity: 1;
}
.c-ticket-btn:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.c-ticket-btn__ticket {
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 767px) {
  .c-ticket-btn__ticket {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.c-ticket-btn__arrow {
  width: 0.5625rem;
  height: 0.75rem;
}
@media screen and (max-width: 767px) {
  .c-ticket-btn__arrow {
    width: 0.4375rem;
  }
}
.is-modal-open {
  overflow: hidden;
}
.modal[hidden] {
  display: none;
}
.modal {
  position: fixed;
  inset: 0;
  z-index: 98;
  pointer-events: none;
}
.modal.is-active {
  pointer-events: auto;
}
.modal__overlay {
  position: absolute;
  inset: 0;
  z-index: 90;
  border: 0;
  background-color: #000000a6;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.modal.is-active .modal__overlay {
  opacity: 1;
}
.modal__panel {
  position: absolute;
  inset: 4rem 1.5rem;
  z-index: 90;
  opacity: 0;
  transform: translate(110%);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}
.modal.is-active .modal__panel {
  opacity: 1;
  transform: translate(0);
}
.modal__close {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1100;
  width: 6rem;
  height: 6rem;
  border: 0;
  border-bottom-left-radius: 0.625rem;
  background-color: #ffd900;
  cursor: pointer;
  transform: translate(110%);
  transition:
    opacity 0.3s ease,
    transform 0.35s ease;
}
.modal__close[hidden] {
  display: none;
}
.modal__close.is-active {
  transform: translate(0);
}
.modal__close:hover {
  opacity: 0.75;
}
.modal__close:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -6px;
}
.modal__close span {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 999px;
  background-color: #003557;
  width: 4rem;
  height: 0.25rem;
}
.modal__close span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal__close span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (prefers-reduced-motion: reduce) {
  .modal__overlay,
  .modal__panel,
  .modal__close {
    transition: none;
  }
}
@media screen and (max-width: 767px) {
  .modal__close {
    right: 1rem;
    bottom: 1rem;
    width: 3.5rem;
    height: 3.6875rem;
    border-radius: 0;
    border-top-left-radius: 0.625rem;
  }
  .modal__close span {
    width: 2rem;
    height: 0.1875rem;
  }
  .is-event-modal-open .modal__close,
  .is-roster-modal-open .modal__close {
    top: 5.625rem;
    right: 0;
    bottom: auto;
    width: 3.75rem;
    height: 3.75rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0.625rem;
  }
  .is-event-modal-open .modal__close,
  .is-roster-modal-open .modal__close {
    top: 4.5rem;
  }
}
.c-contents-nav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .c-contents-nav__list {
    max-width: 35.125rem;
  }
}
@media screen and (max-width: 767px) {
  .c-contents-nav__list {
    max-width: 20.875rem;
  }
}
.c-contents-nav__link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 6.625rem;
  height: 6.625rem;
  padding-top: 1.125rem;
  overflow: hidden;
  border-radius: 0.625rem;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.c-contents-nav__link:before {
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 0.1875rem;
  border-radius: inherit;
  background: linear-gradient(135deg, #ffd900 0% 16%, #00355733 46% 62%, #ffd900);
  content: "";
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  transform-origin: center;
  transition: transform 0.3s ease;
}
.c-contents-nav__link:after {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background-color: #00355799;
  content: "";
  pointer-events: none;
  transform-origin: center;
  transition: transform 0.3s ease;
}
.c-contents-nav__link:hover {
  color: #ffd900;
  opacity: 1;
}
.c-contents-nav__link:hover:before,
.c-contents-nav__link:hover:after {
  transform: rotate(90deg);
}
.c-contents-nav__link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -6px;
}
.c-contents-nav__icon {
  position: relative;
  z-index: 1;
  display: block;
  width: 2rem;
  height: 2rem;
  background-color: currentColor;
  -webkit-mask-image: var(--contents-nav-icon);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: var(--contents-nav-icon);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: background-color 0.3s ease;
}
.c-contents-nav__icon--event {
  --contents-nav-icon: url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M28.4001%2024.9334L24.4001%2020.9334L26.2667%2019.0667L30.2667%2023.0667L28.4001%2024.9334ZM23.6001%208.93335L21.7334%207.06669L25.7334%203.06669L27.6001%204.93335L23.6001%208.93335ZM8.40006%208.93335L4.40006%204.93335L6.26673%203.06669L10.2667%207.06669L8.40006%208.93335ZM3.60007%2024.9334L1.7334%2023.0667L5.7334%2019.0667L7.60006%2020.9334L3.60007%2024.9334ZM7.76673%2028L9.9334%2018.6334L2.66673%2012.3334L12.2667%2011.5L16.0001%202.66669L19.7334%2011.5L29.3334%2012.3334L22.0667%2018.6334L24.2334%2028L16.0001%2023.0334L7.76673%2028Z'%20fill='white'/%3e%3c/svg%3e");
}
.c-contents-nav__icon--schedule {
  --contents-nav-icon: url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M20.3998%2022.2667L22.2665%2020.4L17.3332%2015.4667V9.33335H14.6665V16.5334L20.3998%2022.2667ZM15.9998%2029.3334C14.1554%2029.3334%2012.4221%2028.9831%2010.7998%2028.2827C9.17762%2027.5822%207.76651%2026.6325%206.56651%2025.4334C5.36651%2024.2342%204.41673%2022.8231%203.71717%2021.2C3.01762%2019.5769%202.66739%2017.8436%202.66651%2016C2.66562%2014.1565%203.01584%2012.4231%203.71717%2010.8C4.41851%209.17691%205.36828%207.7658%206.56651%206.56669C7.76473%205.36758%209.17584%204.4178%2010.7998%203.71735C12.4238%203.01691%2014.1572%202.66669%2015.9998%202.66669C17.8425%202.66669%2019.5758%203.01691%2021.1998%203.71735C22.8238%204.4178%2024.235%205.36758%2025.4332%206.56669C26.6314%207.7658%2027.5816%209.17691%2028.2838%2010.8C28.9861%2012.4231%2029.3358%2014.1565%2029.3332%2016C29.3305%2017.8436%2028.9803%2019.5769%2028.2825%2021.2C27.5847%2022.8231%2026.635%2024.2342%2025.4332%2025.4334C24.2314%2026.6325%2022.8203%2027.5827%2021.1998%2028.284C19.5794%2028.9854%2017.8461%2029.3351%2015.9998%2029.3334Z'%20fill='white'/%3e%3c/svg%3e");
}
.c-contents-nav__icon--preview {
  --contents-nav-icon: url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.42393%2025.164C3.39288%2022.8288%202.1967%2019.8841%202.02393%2016.794C3.63297%2016.6261%205.25935%2016.7853%206.80531%2017.262C8.35126%2017.7387%209.78486%2018.5231%2011.0199%2019.568L5.42393%2025.164ZM12.4379%2018.15C11.0226%2016.9203%209.37404%2015.9884%207.59066%2015.4097C5.80728%2014.8311%203.92561%2014.6176%202.05793%2014.782C2.30968%2011.8438%203.48677%209.06104%205.41993%206.83402L14.5859%2016L12.4379%2018.15ZM15.9999%2014.586L6.83593%205.42002C9.06269%203.48614%2011.8454%202.30834%2014.7839%202.05602C14.6192%203.92357%2014.8324%205.80516%2015.4107%207.58853C15.989%209.3719%2016.9206%2011.0205%2018.1499%2012.436L15.9999%2014.586ZM12.4339%2020.98C13.4788%2022.2151%2014.2632%2023.6487%2014.7399%2025.1946C15.2166%2026.7406%2015.3758%2028.367%2015.2079%2029.976C12.1176%2029.8048%209.17221%2028.61%206.83593%2026.58L12.4339%2020.98ZM25.1639%2026.578C22.938%2028.5122%2020.1559%2029.6907%2017.2179%2029.944C17.3826%2028.0765%2017.1695%2026.1949%2016.5911%2024.4115C16.0128%2022.6281%2015.0812%2020.9795%2013.8519%2019.564L15.9999%2017.416L25.1639%2026.578ZM19.5679%2011.02C18.5229%209.78431%2017.7386%208.34997%2017.2622%206.8033C16.7858%205.25663%2016.6272%203.62957%2016.7959%202.02002C19.886%202.19279%2022.8307%203.38897%2025.1659%205.42002L19.5679%2011.02ZM29.9459%2017.216C29.6921%2020.1543%2028.5129%2022.9363%2026.5779%2025.162L17.4139%2016.002L19.5639%2013.85C20.9794%2015.0793%2022.628%2016.0109%2024.4114%2016.5892C26.1948%2017.1676%2028.0784%2017.3807%2029.9459%2017.216ZM29.9759%2015.206C28.3675%2015.3734%2026.7419%2015.2139%2025.1967%2014.7372C23.6514%2014.2605%2022.2185%2013.4764%2020.9839%2012.432L26.5799%206.83402C28.6099%209.17031%2029.8047%2012.1157%2029.9759%2015.206Z'%20fill='white'/%3e%3c/svg%3e");
}
.c-contents-nav__icon--player {
  --contents-nav-icon: url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M21.3333%2010.6667C22.2174%2010.6667%2023.0652%2010.3155%2023.6904%209.69036C24.3155%209.06523%2024.6667%208.21739%2024.6667%207.33333C24.6667%206.44928%2024.3155%205.60143%2023.6904%204.97631C23.0652%204.35119%2022.2174%204%2021.3333%204C20.4493%204%2019.6014%204.35119%2018.9763%204.97631C18.3512%205.60143%2018%206.44928%2018%207.33333C18%208.21739%2018.3512%209.06523%2018.9763%209.69036C19.6014%2010.3155%2020.4493%2010.6667%2021.3333%2010.6667Z'%20fill='white'%20stroke='white'%20stroke-width='2'%20stroke-miterlimit='2'/%3e%3cpath%20d='M15.3335%2026.6666L20.7402%2025.2933C21.2602%2025.1666%2021.4202%2024.5%2021.0202%2024.1466L15.3335%2019.3333L18.0002%2014L11.0602%2011.5066C10.7268%2011.3866%2010.4602%2011.1466%2010.3068%2010.8266L7.3335%205.33331'%20stroke='white'%20stroke-width='2'%20stroke-miterlimit='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M15.3335%2019.3333L10.6868%2025.1933C10.5468%2025.36%2010.3735%2025.4933%2010.1735%2025.5733L3.3335%2028M18.0002%2014L24.6002%2015.86C24.9135%2015.9533%2025.1868%2016.1533%2025.3602%2016.4267L28.0002%2020.6667'%20stroke='white'%20stroke-width='2'%20stroke-miterlimit='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M12%205.33331C12.5304%205.33331%2013.0391%205.1226%2013.4142%204.74753C13.7893%204.37245%2014%203.86375%2014%203.33331C14%202.80288%2013.7893%202.29417%2013.4142%201.9191C13.0391%201.54403%2012.5304%201.33331%2012%201.33331C11.4696%201.33331%2010.9609%201.54403%2010.5858%201.9191C10.2107%202.29417%2010%202.80288%2010%203.33331C10%203.86375%2010.2107%204.37245%2010.5858%204.74753C10.9609%205.1226%2011.4696%205.33331%2012%205.33331Z'%20fill='white'/%3e%3c/svg%3e");
}
.c-contents-nav__icon--gourmet {
  --contents-nav-icon: url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8%2029.3334V17.1334C6.8%2016.8222%205.83333%2016.1889%205.1%2015.2334C4.36667%2014.2778%204%2013.2%204%2012V2.66669H6.66667V10.6667H8V2.66669H10.6667V10.6667H12V2.66669H14.6667V12C14.6667%2013.2%2014.3%2014.2778%2013.5667%2015.2334C12.8333%2016.1889%2011.8667%2016.8222%2010.6667%2017.1334V29.3334H8ZM21.3333%2029.3334V16.6334C20.1333%2016.2334%2019.1667%2015.3947%2018.4333%2014.1174C17.7%2012.84%2017.3333%2011.3898%2017.3333%209.76669C17.3333%207.78891%2017.8556%206.11113%2018.9%204.73335C19.9444%203.35558%2021.2%202.66669%2022.6667%202.66669C24.1333%202.66669%2025.3889%203.36091%2026.4333%204.74935C27.4778%206.1378%2028%207.82135%2028%209.80002C28%2011.4222%2027.6333%2012.8667%2026.9%2014.1334C26.1667%2015.4%2025.2%2016.2334%2024%2016.6334V29.3334H21.3333Z'%20fill='white'/%3e%3c/svg%3e");
}
.c-contents-nav__icon--goods {
  --contents-nav-icon: url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M16%202.625C13.8825%202.625%2012%202%2012%202V2.125C12%203.18587%2012.4214%204.20328%2013.1716%204.95343C13.9217%205.70357%2014.9391%206.125%2016%206.125C17.0609%206.125%2018.0783%205.70357%2018.8284%204.95343C19.5786%204.20328%2020%203.18587%2020%202.125V2C20%202%2018.1175%202.625%2016%202.625Z'%20fill='white'/%3e%3cpath%20d='M22%202.75C21.6569%205.735%2019.0756%208.0625%2016%208.0625C12.9244%208.0625%2010.3431%205.735%2010%202.75L1%205.875L2.125%2013L5.98187%2013.4637C6.42438%2013.52%206.42562%2013.52%206.42562%2013.9756L6%2030H26L25.5744%2013.9756C25.5613%2013.5381%2025.5613%2013.5381%2026.0181%2013.4637L29.875%2013L31%205.875L22%202.75Z'%20fill='white'/%3e%3c/svg%3e");
}
.c-contents-nav__icon--ticket {
  --contents-nav-icon: url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.71436%2011.588V9.14283C1.71436%208.53662%201.95517%207.95524%202.38383%207.52659C2.81248%207.09793%203.39386%206.85712%204.00007%206.85712H28.0001C28.6063%206.85712%2029.1877%207.09793%2029.6163%207.52659C30.045%207.95524%2030.2858%208.53662%2030.2858%209.14283V11.6857C30.2857%2012.0446%2030.18%2012.3955%2029.9819%2012.6948C29.7837%2012.994%2029.5019%2013.2283%2029.1715%2013.3685C28.6522%2013.5883%2028.2096%2013.9569%2027.8993%2014.4277C27.589%2014.8985%2027.425%2015.4506%2027.4278%2016.0144C27.4306%2016.5783%2027.6001%2017.1287%2027.9151%2017.5964C28.2301%2018.0641%2028.6764%2018.4282%2029.1978%2018.6428C29.5195%2018.7757%2029.7946%2019.0011%2029.9883%2019.2904C30.182%2019.5796%2030.2855%2019.9199%2030.2858%2020.268V22.8571C30.2858%2023.4633%2030.045%2024.0447%2029.6163%2024.4734C29.1877%2024.902%2028.6063%2025.1428%2028.0001%2025.1428H4.00007C3.39386%2025.1428%202.81248%2024.902%202.38383%2024.4734C1.95517%2024.0447%201.71436%2023.4633%201.71436%2022.8571V20.4211C1.71436%2019.6383%202.17321%2018.928%202.8875%2018.6063C3.3901%2018.3802%203.81661%2018.0135%204.11562%2017.5506C4.41464%2017.0876%204.57341%2016.5481%204.57281%2015.997C4.5722%2015.4459%204.41225%2014.9067%204.11222%2014.4444C3.81219%2013.9821%203.38488%2013.6164%202.88178%2013.3914C2.53416%2013.2353%202.23903%2012.9822%202.03191%2012.6623C1.8248%2012.3425%201.71452%2011.9696%201.71436%2011.5885M22.2858%2013.1428C22.7404%2013.1428%2023.1765%2012.9622%2023.498%2012.6407C23.8195%2012.3192%2024.0001%2011.8832%2024.0001%2011.4285C24.0001%2010.9739%2023.8195%2010.5379%2023.498%2010.2164C23.1765%209.89487%2022.7404%209.71426%2022.2858%209.71426C21.8311%209.71426%2021.3951%209.89487%2021.0736%2010.2164C20.7521%2010.5379%2020.5715%2010.9739%2020.5715%2011.4285C20.5715%2011.8832%2020.7521%2012.3192%2021.0736%2012.6407C21.3951%2012.9622%2021.8311%2013.1428%2022.2858%2013.1428ZM22.2858%2017.7143C22.7404%2017.7143%2023.1765%2017.5336%2023.498%2017.2122C23.8195%2016.8907%2024.0001%2016.4546%2024.0001%2016C24.0001%2015.5453%2023.8195%2015.1093%2023.498%2014.7878C23.1765%2014.4663%2022.7404%2014.2857%2022.2858%2014.2857C21.8311%2014.2857%2021.3951%2014.4663%2021.0736%2014.7878C20.7521%2015.1093%2020.5715%2015.5453%2020.5715%2016C20.5715%2016.4546%2020.7521%2016.8907%2021.0736%2017.2122C21.3951%2017.5336%2021.8311%2017.7143%2022.2858%2017.7143ZM22.2858%2022.2857C22.7404%2022.2857%2023.1765%2022.1051%2023.498%2021.7836C23.8195%2021.4621%2024.0001%2021.0261%2024.0001%2020.5714C24.0001%2020.1167%2023.8195%2019.6807%2023.498%2019.3592C23.1765%2019.0377%2022.7404%2018.8571%2022.2858%2018.8571C21.8311%2018.8571%2021.3951%2019.0377%2021.0736%2019.3592C20.7521%2019.6807%2020.5715%2020.1167%2020.5715%2020.5714C20.5715%2021.0261%2020.7521%2021.4621%2021.0736%2021.7836C21.3951%2022.1051%2021.8311%2022.2857%2022.2858%2022.2857Z'%20fill='white'/%3e%3c/svg%3e");
}
.c-contents-nav__icon--access {
  --contents-nav-icon: url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M18.6661%202.6665C21.3661%202.6665%2023.5549%204.85532%2023.5549%207.55538C23.5549%208.446%2023.3175%209.2805%2022.9008%2010.0001C22.484%2010.7198%2018.6661%2017.3332%2018.6661%2017.3332C18.6661%2017.3332%2014.8481%2010.7198%2014.4314%2010.0001C14.0146%209.2805%2013.7772%208.446%2013.7772%207.55538C13.7772%204.85538%2015.966%202.6665%2018.6661%202.6665ZM20.7612%207.55538C20.7612%208.71257%2019.8231%209.65063%2018.6659%209.65063C17.5088%209.65063%2016.5708%208.71257%2016.5708%207.55538C16.5708%206.39825%2017.5088%205.46019%2018.6659%205.46019C19.8231%205.46019%2020.7612%206.39825%2020.7612%207.55538ZM12.0664%2012.0064H2.99982L9.23038%2020.3138L14.4291%2015.6926C13.5683%2014.5128%2012.7509%2013.2964%2012.0664%2012.0064ZM21.7776%2020.0064H29.3331V26.6664H28.1268L21.7776%2020.0064ZM24.4442%2026.6664H13.9998L10.8359%2022.4545L16.0298%2017.8378L24.4442%2026.6664ZM2.6665%2016.0064L10.6665%2026.6664H2.6665V16.0064ZM29.3333%2012.0064H25.2666L21.6522%2017.3397H29.3333V12.0064Z'%20fill='white'/%3e%3c/svg%3e");
}
.c-contents-nav__icon--slogan {
  --contents-nav-icon: url(../images/icon_slogan_white.svg);
}
.c-contents-nav__text {
  position: relative;
  z-index: 1;
  margin-top: 0.25rem;
}
.c-contents-nav__arrow {
  position: relative;
  z-index: 1;
  width: 0.75rem;
  height: 0.5625rem;
  margin-top: 0.5625rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='18'%20height='24'%20viewBox='0%200%2018%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M18%2012L0%20-7.86805e-07L-1.04907e-06%2024L18%2012Z'%20fill='%23FFD900'/%3e%3c/svg%3e")
    center/contain no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='18'%20height='24'%20viewBox='0%200%2018%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M18%2012L0%20-7.86805e-07L-1.04907e-06%2024L18%2012Z'%20fill='%23FFD900'/%3e%3c/svg%3e")
    center/contain no-repeat;
  transform: rotate(90deg);
}
@media (prefers-reduced-motion: reduce) {
  .c-contents-nav__link:before,
  .c-contents-nav__link:after,
  .c-contents-nav__icon {
    transition: none;
  }
  .c-contents-nav__link:hover:before,
  .c-contents-nav__link:hover:after {
    transform: none;
  }
}
.event-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  border: 2px solid #003557;
  border-radius: 0.625rem;
  overflow: hidden;
  background-color: #fff;
  color: #0f1011;
  font: inherit;
  cursor: pointer;
}
.event-card:hover {
  opacity: 1;
}
.event-card:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.event-card__date {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2rem;
  background-color: #003557;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.event-card__image {
  display: block;
  margin-top: 1.25rem;
  overflow: hidden;
  border-radius: 0.3125rem;
}
.event-card__image img {
  width: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.event-card:hover .event-card__image img {
  transform: scale(1.08);
}
.event-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}
.event-card__tags {
  display: flex;
  flex-wrap: wrap;
  align-self: stretch;
  gap: 0.25rem;
  margin-top: 0.5rem;
}
.event-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.125rem;
  padding: 0.125rem 0.375rem;
  border: 1px solid #003557;
  border-radius: 0.3125rem;
  background-color: #ced3d9;
  color: #003557;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}
.event-card__title {
  display: -webkit-box;
  align-self: stretch;
  overflow: hidden;
  color: #0f1011;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.event-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  min-height: 2.5rem;
  margin-top: auto;
  border: 2px solid #003557;
  border-radius: 999px;
  background-color: #fff;
  color: #003557;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  margin-inline: auto;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}
.event-card__button-icon {
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%203V5H17.59L7.76%2014.83L9.17%2016.24L19%206.41V10H21V3M19%2019H5V5H12V3H5C4.46957%203%203.96086%203.21071%203.58579%203.58579C3.21071%203.96086%203%204.46957%203%205V19C3%2019.5304%203.21071%2020.0391%203.58579%2020.4142C3.96086%2020.7893%204.46957%2021%205%2021H19C19.5304%2021%2020.0391%2020.7893%2020.4142%2020.4142C20.7893%2020.0391%2021%2019.5304%2021%2019V12H19V19Z'%20fill='%23003557'/%3e%3c/svg%3e")
    center/contain no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%203V5H17.59L7.76%2014.83L9.17%2016.24L19%206.41V10H21V3M19%2019H5V5H12V3H5C4.46957%203%203.96086%203.21071%203.58579%203.58579C3.21071%203.96086%203%204.46957%203%205V19C3%2019.5304%203.21071%2020.0391%203.58579%2020.4142C3.96086%2020.7893%204.46957%2021%205%2021H19C19.5304%2021%2020.0391%2020.7893%2020.4142%2020.4142C20.7893%2020.0391%2021%2019.5304%2021%2019V12H19V19Z'%20fill='%23003557'/%3e%3c/svg%3e")
    center/contain no-repeat;
}
.event-card:hover .event-card__button {
  background-color: #003557;
  color: #ffd900;
}
.event-card--featured {
  width: 30rem;
  min-height: 42.75rem;
  padding: 0 2.5rem 2rem;
}
.event-card--featured .event-card__date {
  min-height: 2.5rem;
  margin-inline: -2.5rem;
  width: calc(100% + 5rem);
  font-size: 1.25rem;
}
.event-card--featured .event-card__image {
  width: 25rem;
  height: 25rem;
  margin-top: 1.5rem;
}
.event-card--featured .event-card__tags {
  margin-top: 1rem;
}
.event-card--featured .event-card__tag {
  min-height: 1.5rem;
  padding-inline: 0.5rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .event-card--featured .event-card__tag {
    font-size: 0.625rem;
    min-height: 1rem;
    border-radius: 0.3125rem;
    padding-inline: 0.25rem;
  }
}
.event-card--featured .event-card__title {
  margin-top: 1.125rem;
  font-size: 1.25rem;
}
.event-card--featured .event-card__button {
  width: 12.5rem;
  min-height: 3rem;
}
.event-card--large {
  width: 18.75rem;
  min-height: 31.0625rem;
  padding: 0 1rem 1.5rem;
}
.event-card--large .event-card__date {
  margin-inline: -1rem;
  width: calc(100% + 2rem);
}
.event-card--large .event-card__image {
  width: 16.75rem;
  height: 16.75rem;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .event-card--large .event-card__image {
    height: auto;
  }
}
.event-card--large .event-card__title {
  margin-top: 0.625rem;
}
.event-card--large .event-card__button {
  width: 10rem;
}
.event-card--standard {
  width: 14.5rem;
  min-height: 27.4375rem;
  padding: 0 0.9375rem 1.5rem;
  border-width: 1px;
}
.event-card--standard .event-card__date {
  margin-inline: -0.9375rem;
  width: calc(100% + 1.875rem);
}
.event-card--standard .event-card__image {
  width: 12.625rem;
  height: 12.625rem;
  margin-top: 0.75rem;
}
.event-card--standard .event-card__tags {
  margin-top: 0.75rem;
}
.event-card--standard .event-card__title {
  min-height: 4.5rem;
  margin-top: 0.75rem;
  -webkit-line-clamp: 3;
}
.event-card--standard .event-card__button {
  width: 10rem;
}
@media screen and (max-width: 767px) {
  .event-card__date {
    min-height: 2rem;
    font-size: 0.875rem;
  }
  .event-card__tag {
    min-height: 1rem;
    padding: 0.0625rem 0.25rem;
    border-radius: 0.3125rem;
    font-size: 0.625rem;
  }
  .event-card__button {
    min-height: 2rem;
    border-width: 0;
    background-color: #003557;
    color: #ffd900;
    margin-left: 0;
    font-size: 0.75rem;
  }
  .event-card__button-icon {
    width: 1rem;
    height: 1rem;
    -webkit-mask-image: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%203V5H17.59L7.76%2014.83L9.17%2016.24L19%206.41V10H21V3M19%2019H5V5H12V3H5C4.46957%203%203.96086%203.21071%203.58579%203.58579C3.21071%203.96086%203%204.46957%203%205V19C3%2019.5304%203.21071%2020.0391%203.58579%2020.4142C3.96086%2020.7893%204.46957%2021%205%2021H19C19.5304%2021%2020.0391%2020.7893%2020.4142%2020.4142C20.7893%2020.0391%2021%2019.5304%2021%2019V12H19V19Z'%20fill='%23FFD900'/%3e%3c/svg%3e");
    mask-image: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%203V5H17.59L7.76%2014.83L9.17%2016.24L19%206.41V10H21V3M19%2019H5V5H12V3H5C4.46957%203%203.96086%203.21071%203.58579%203.58579C3.21071%203.96086%203%204.46957%203%205V19C3%2019.5304%203.21071%2020.0391%203.58579%2020.4142C3.96086%2020.7893%204.46957%2021%205%2021H19C19.5304%2021%2020.0391%2020.7893%2020.4142%2020.4142C20.7893%2020.0391%2021%2019.5304%2021%2019V12H19V19Z'%20fill='%23FFD900'/%3e%3c/svg%3e");
  }
  .event-card--featured {
    width: min(100%, 21.375rem);
    min-height: auto;
    padding-block-end: 1.5rem;
    padding-inline: 1.5rem;
    border-width: 2px;
  }
  .event-card--featured .event-card__date {
    min-height: 2rem;
    margin-inline: -1.5rem;
    width: calc(100% + 3rem);
    font-size: 0.875rem;
  }
  .event-card--featured .event-card__image {
    width: 18.375rem;
    height: auto;
    aspect-ratio: 1/1;
    margin-top: 1rem;
  }
  .event-card--featured .event-card__tags {
    margin-top: 1rem;
  }
  .event-card--featured .event-card__title {
    font-size: 1rem;
  }
  .event-card--featured .event-card__button {
    width: 10rem;
    min-height: 2.5rem;
    font-size: 0.875rem;
    margin-inline: auto;
    margin-top: 1rem;
  }
  .event-card--large {
    width: 10.1875rem;
    min-height: 19.5rem;
    padding-block-end: 0.75rem;
    padding-inline: 0.5625rem;
    border-width: 1px;
  }
  .event-card--large .event-card__date {
    min-height: 2rem;
    margin-inline: -0.5625rem;
    width: calc(100% + 1.125rem);
    font-size: 0.75rem;
  }
  .event-card--large .event-card__image {
    width: 9rem;
    aspect-ratio: 1/1;
    margin-top: 0.5rem;
  }
  .event-card--large .event-card__tags {
    gap: 0.25rem;
    margin-top: 0.5rem;
  }
  .event-card--large .event-card__title {
    margin-top: 0.5rem;
    font-size: 0.875rem;
  }
  .event-card--large .event-card__button {
    width: 9rem;
  }
  .event-card--standard {
    display: grid;
    grid-template-columns: 6.75rem minmax(0, 1fr);
    grid-template-rows: 1.5rem auto auto auto;
    column-gap: 1rem;
    align-content: start;
    align-items: start;
    width: min(100%, 21.375rem);
    height: 9.5rem;
    min-height: 0;
    padding-block-end: 0.625rem;
    padding-inline: 1rem;
    border-width: 1px;
  }
  .event-card--standard .event-card__date {
    grid-column: 1/-1;
    min-height: 1.5rem;
    margin-inline: -1rem;
    width: calc(100% + 2rem);
    font-size: 0.75rem;
  }
  .event-card--standard .event-card__image {
    grid-column: 1;
    grid-row: 2;
    width: 6.75rem;
    aspect-ratio: 1/1;
    margin-top: 0.625rem;
  }
  .event-card--standard .event-card__body {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin-top: 0.625rem;
  }
  .event-card--standard .event-card__tags {
    align-items: flex-start;
    gap: 0.25rem;
    margin-top: 0;
  }
  .event-card--standard .event-card__tag {
    flex: 0 0 auto;
  }
  .event-card--standard .event-card__title {
    min-height: auto;
    margin-top: 0.375rem;
    font-size: 0.875rem;
    -webkit-line-clamp: 2;
  }
  .event-card--standard .event-card__button {
    align-self: start;
    width: 9rem;
    margin-top: 0.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .event-card__image img,
  .event-card__button {
    transition: none;
  }
  .event-card:hover .event-card__image img {
    transform: none;
  }
}
.is-event-modal-open {
  overflow: hidden;
}
.event-modal__panel {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-y: auto;
  background-color: #003557;
  color: #fff;
}
.event-modal__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 25rem 25rem;
  justify-content: center;
  column-gap: 1.5rem;
  row-gap: 1rem;
  width: min(100%, 51.5rem);
  min-height: auto;
  margin-inline: auto;
  padding-top: 3.5rem;
}
.event-modal__date {
  position: absolute;
  top: 0;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 19rem;
  min-height: 2.5rem;
  height: fit-content;
  padding: 0.25rem 1.5rem;
  border-radius: 1.25rem;
  background-color: #ffd900;
  color: #003557;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  transform: translate(-50%);
}
.event-modal__image {
  width: 25rem;
  height: 25rem;
  overflow: hidden;
  border-radius: 0.3125rem;
}
.event-modal__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.event-modal__body {
  min-width: 0;
}
.event-modal__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.event-modal__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.5rem;
  padding: 0.125rem 0.5rem;
  border: 1px solid #ffd900;
  border-radius: 0.5rem;
  background-color: #ced3d9;
  color: #003557;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
}
.event-modal__title {
  margin-top: 1rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
.event-modal__divider {
  width: 100%;
  height: 0.125rem;
  margin-top: 1rem;
  background-color: #fff;
}
.event-modal__description-wrap {
  position: relative;
  margin-top: 1rem;
}
.event-modal__description-wrap.is-scrollable {
  padding-right: 1.75rem;
}
.event-modal__description-wrap.is-scrollable .event-modal__scrollbar {
  display: block;
}
.event-modal__description {
  max-height: 17.5rem;
  overflow-x: hidden;
  overflow-y: auto;
  color: #fff;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  scrollbar-width: none;
}
.event-modal__description a {
  color: #ffd900;
  text-decoration: underline;
}
.event-modal__description:focus-visible {
  outline: 2px solid #ffd900;
  outline-offset: 4px;
}
.event-modal__description::-webkit-scrollbar {
  display: none;
}
.event-modal__scrollbar {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: none;
  width: 0.25rem;
  background-color: #ffffff40;
}
.event-modal__scrollbar-thumb {
  position: absolute;
  top: var(--event-modal-scrollbar-top, 0);
  left: 0;
  width: 100%;
  height: var(--event-modal-scrollbar-height, 30%);
  background-color: #ffd900;
}
@media screen and (max-width: 767px) {
  .event-modal__panel {
    inset-block-start: 4.5rem;
    inset-block-end: auto;
    inset-inline: 0.5rem;
    display: block;
    block-size: min(40.0625rem, 100dvh - 7rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .event-modal__panel:before {
    width: 2.875rem;
    height: 1.375rem;
  }
  .event-modal__panel:after {
    display: none;
  }
  .event-modal__inner {
    grid-template-columns: minmax(0, 17.5rem);
    width: min(100%, 17.5rem);
    padding-block: 2.0625rem 3rem;
    padding-inline: 0;
    row-gap: 1rem;
  }
  .event-modal__date {
    position: static;
    width: 17.5rem;
    min-height: 2rem;
    font-size: 0.875rem;
    transform: none;
  }
  .event-modal__image {
    width: 17.5rem;
    height: 17.5rem;
  }
  .event-modal__body {
    display: flex;
    flex-direction: column;
  }
  .event-modal__tags {
    justify-content: flex-start;
  }
  .event-modal__tag {
    min-height: 1rem;
    padding: 0.0625rem 0.375rem;
    border-radius: 0.3125rem;
    font-size: 0.625rem;
  }
  .event-modal__title {
    margin-top: 1rem;
    font-size: 1rem;
  }
  .event-modal__divider {
    margin-top: 0.75rem;
  }
  .event-modal__description-wrap {
    margin-top: 1rem;
    padding-right: 0;
  }
  .event-modal__description {
    max-height: none;
    overflow: visible;
    font-size: 1rem;
    line-height: 1.75;
  }
  .event-modal__scrollbar {
    display: none;
  }
}
.fixed-menu {
  position: fixed;
  right: 0rem;
  bottom: 0;
  z-index: 1210;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  border-top-left-radius: 0.625rem;
  transition:
    opacity 0.1s,
    visibility 0.1s;
  background-color: #ffd900;
  padding-block: 1rem 0.6875rem;
  padding-inline: 1rem;
}
@media screen and (max-width: 767px) {
  .fixed-menu {
    right: 0;
    bottom: 0;
    flex-direction: column;
    gap: 0.0625rem;
    width: 4rem;
    height: 4rem;
    padding-block: 0.8125rem 0.5rem;
    padding-inline: 1rem;
  }
}
.fixed-menu:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.fixed-menu__label {
  display: none;
}
@media screen and (max-width: 767px) {
  .fixed-menu__label {
    display: block;
    color: #003557;
    font-size: 0.5rem;
    line-height: 1;
    text-align: center;
  }
}
.fixed-menu__icon {
  width: 100%;
  height: 100%;
  opacity: 1;
  transform: scale(1);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .fixed-menu__icon {
    display: none;
  }
}
.fixed-menu__icon-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .fixed-menu__icon-sp {
    display: block;
    width: 2rem;
    height: 2rem;
    opacity: 1;
    transform: scale(1);
    transition:
      opacity 0.3s ease,
      transform 0.3s ease;
  }
}
.fixed-menu__close-line {
  position: absolute;
  width: 2.75rem;
  height: 0.25rem;
  background-color: #003557;
  opacity: 0;
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .fixed-menu__close-line {
    width: 1.75rem;
    height: 0.1875rem;
  }
}
.fixed-menu__close-line--first,
.fixed-menu__close-line--second {
  transform: rotate(0) scaleX(0.65);
}
.is-drawer-open {
  overflow: hidden;
}
.is-drawer-open .fixed-menu,
.fixed-menu[aria-expanded="true"] {
  z-index: 99;
}
.is-drawer-open .modal,
.is-drawer-open .modal__close {
  z-index: 96;
}
.is-drawer-open .fixed-menu__icon,
.is-drawer-open .fixed-menu__label,
.is-drawer-open .fixed-menu__icon-sp {
  opacity: 0;
  transform: scale(0.72);
}
.is-drawer-open .fixed-menu__close-line {
  opacity: 1;
}
.is-drawer-open .fixed-menu__close-line--first {
  transform: rotate(45deg) scaleX(1);
}
.is-drawer-open .fixed-menu__close-line--second {
  transform: rotate(-45deg) scaleX(1);
}
.drawer[hidden] {
  display: none;
}
.drawer {
  position: fixed;
  inset: 0;
  z-index: 98;
  pointer-events: none;
}
.drawer.is-active {
  pointer-events: auto;
}
.drawer__overlay {
  position: absolute;
  inset: 0;
  z-index: 90;
  background-color: #000000a6;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.drawer.is-active .drawer__overlay {
  opacity: 1;
}
.drawer__panel {
  position: absolute;
  inset: 4rem 1.5rem;
  z-index: 90;
  overflow-y: auto;
  background-color: #003557;
  color: #fff;
  opacity: 0;
  transform: translate(110%);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}
@media screen and (max-width: 767px) {
  .drawer__panel {
    inset-block-start: 4.5rem;
    inset-block-end: auto;
    inset-inline: 0.5rem;
    block-size: min(40.0625rem, 100dvh - 7rem);
  }
}
.drawer.is-active .drawer__panel {
  opacity: 1;
  transform: translate(0);
}
@media (prefers-reduced-motion: reduce) {
  .drawer__overlay,
  .drawer__panel {
    transition: none;
  }
}
.drawer__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 67.5rem);
  margin-inline: auto;
  padding: 6.75rem 1.5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .drawer__inner {
    width: min(100%, 20.875rem);
    padding: 3.0625rem 0 1.75rem;
  }
}
.drawer__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}
.drawer__title-main {
  color: transparent;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  -webkit-text-stroke: 1px #ffd900;
  text-stroke: 1px #ffd900;
}
@media screen and (max-width: 767px) {
  .drawer__title-main {
    font-size: 2rem;
  }
}
.drawer__title-sub {
  padding: 0.25rem 1.5rem;
  border-radius: 0.3125rem;
  background-color: #ffd900;
  color: #003557;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .drawer__title-sub {
    width: 100%;
    font-size: 0.875rem;
  }
}
.drawer__nav {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .drawer__nav {
    margin-top: 1.75rem;
  }
}
.drawer__apps {
  margin-top: 2.625rem;
}
@media screen and (max-width: 767px) {
  .drawer__apps {
    margin-top: 1.625rem;
  }
}
.float-ticket {
  position: fixed;
  bottom: 0;
  left: 50%;
  z-index: 140;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100% - 2.5rem, 30rem);
  min-height: 6rem;
  padding: 1rem 2.125rem;
  border-radius: 0.625rem 0.625rem 0 0;
  background-color: #ffd900;
  transform: translate(-50%);
}
@media screen and (max-width: 767px) {
  .float-ticket {
    left: 0;
    width: 100%;
    min-height: 4rem;
    padding-block: 0.5rem;
    padding-inline: 1rem 4rem;
    border-radius: 0;
    transform: none;
  }
}
.float-ticket__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: min(100%, 25.8125rem);
  min-height: 4rem;
  padding: 0.625rem 1.75rem;
  border: 2px solid #003557;
  border-radius: 999px;
  background-color: #fff;
  color: #003557;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .float-ticket__link {
    width: min(100%, 19.375rem);
    gap: 0.5rem;
    min-height: 3rem;
    padding-block: 0.5rem;
    padding-inline: 1.125rem;
    background-color: #003557;
    color: #ffd900;
    font-size: 0.875rem;
  }
}
.float-ticket__link:hover {
  background-color: #003557;
  color: #ffd900;
}
.float-ticket__link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}
.float-ticket__icon {
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.14307%2014.4851V11.4287C2.14307%2010.6709%202.44409%209.94419%202.9799%209.40837C3.51572%208.87255%204.24245%208.57153%205.00021%208.57153H35.0002C35.758%208.57153%2036.4847%208.87255%2037.0205%209.40837C37.5563%209.94419%2037.8574%2010.6709%2037.8574%2011.4287V14.6072C37.8572%2015.0559%2037.7251%2015.4946%2037.4774%2015.8686C37.2298%2016.2427%2036.8775%2016.5356%2036.4645%2016.7108C35.8154%2016.9856%2035.2621%2017.4462%2034.8743%2018.0347C34.4864%2018.6233%2034.2813%2019.3134%2034.2849%2020.0182C34.2884%2020.723%2034.5003%2021.4111%2034.894%2021.9957C35.2877%2022.5803%2035.8456%2023.0354%2036.4974%2023.3037C36.8995%2023.4698%2037.2434%2023.7515%2037.4855%2024.1131C37.7276%2024.4747%2037.857%2024.9%2037.8574%2025.3351V28.5715C37.8574%2029.3293%2037.5563%2030.056%2037.0205%2030.5918C36.4847%2031.1277%2035.758%2031.4287%2035.0002%2031.4287H5.00021C4.24245%2031.4287%203.51572%2031.1277%202.9799%2030.5918C2.44409%2030.056%202.14307%2029.3293%202.14307%2028.5715V25.5265C2.14307%2024.548%202.71664%2023.6601%203.6095%2023.258C4.23775%2022.9753%204.77088%2022.5171%205.14465%2021.9384C5.51842%2021.3597%205.71689%2020.6853%205.71613%2019.9964C5.71538%2019.3075%205.51544%2018.6335%205.1404%2018.0556C4.76536%2017.4777%204.23123%2017.0206%203.60235%2016.7394C3.16782%2016.5443%202.79891%2016.2278%202.54002%2015.828C2.28112%2015.4282%202.14328%2014.9621%202.14307%2014.4858M27.8574%2016.4287C28.4257%2016.4287%2028.9707%2016.2029%2029.3726%2015.801C29.7744%2015.3992%2030.0002%2014.8541%2030.0002%2014.2858C30.0002%2013.7175%2029.7744%2013.1725%2029.3726%2012.7706C28.9707%2012.3687%2028.4257%2012.143%2027.8574%2012.143C27.289%2012.143%2026.744%2012.3687%2026.3421%2012.7706C25.9403%2013.1725%2025.7145%2013.7175%2025.7145%2014.2858C25.7145%2014.8541%2025.9403%2015.3992%2026.3421%2015.801C26.744%2016.2029%2027.289%2016.4287%2027.8574%2016.4287ZM27.8574%2022.143C28.4257%2022.143%2028.9707%2021.9172%2029.3726%2021.5153C29.7744%2021.1135%2030.0002%2020.5684%2030.0002%2020.0001C30.0002%2019.4318%2029.7744%2018.8867%2029.3726%2018.4849C28.9707%2018.083%2028.4257%2017.8572%2027.8574%2017.8572C27.289%2017.8572%2026.744%2018.083%2026.3421%2018.4849C25.9403%2018.8867%2025.7145%2019.4318%2025.7145%2020.0001C25.7145%2020.5684%2025.9403%2021.1135%2026.3421%2021.5153C26.744%2021.9172%2027.289%2022.143%2027.8574%2022.143ZM27.8574%2027.8572C28.4257%2027.8572%2028.9707%2027.6315%2029.3726%2027.2296C29.7744%2026.8278%2030.0002%2026.2827%2030.0002%2025.7144C30.0002%2025.1461%2029.7744%2024.601%2029.3726%2024.1992C28.9707%2023.7973%2028.4257%2023.5715%2027.8574%2023.5715C27.289%2023.5715%2026.744%2023.7973%2026.3421%2024.1992C25.9403%2024.601%2025.7145%2025.1461%2025.7145%2025.7144C25.7145%2026.2827%2025.9403%2026.8278%2026.3421%2027.2296C26.744%2027.6315%2027.289%2027.8572%2027.8574%2027.8572Z'%20fill='%23003557'/%3e%3c/svg%3e")
    center/contain no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.14307%2014.4851V11.4287C2.14307%2010.6709%202.44409%209.94419%202.9799%209.40837C3.51572%208.87255%204.24245%208.57153%205.00021%208.57153H35.0002C35.758%208.57153%2036.4847%208.87255%2037.0205%209.40837C37.5563%209.94419%2037.8574%2010.6709%2037.8574%2011.4287V14.6072C37.8572%2015.0559%2037.7251%2015.4946%2037.4774%2015.8686C37.2298%2016.2427%2036.8775%2016.5356%2036.4645%2016.7108C35.8154%2016.9856%2035.2621%2017.4462%2034.8743%2018.0347C34.4864%2018.6233%2034.2813%2019.3134%2034.2849%2020.0182C34.2884%2020.723%2034.5003%2021.4111%2034.894%2021.9957C35.2877%2022.5803%2035.8456%2023.0354%2036.4974%2023.3037C36.8995%2023.4698%2037.2434%2023.7515%2037.4855%2024.1131C37.7276%2024.4747%2037.857%2024.9%2037.8574%2025.3351V28.5715C37.8574%2029.3293%2037.5563%2030.056%2037.0205%2030.5918C36.4847%2031.1277%2035.758%2031.4287%2035.0002%2031.4287H5.00021C4.24245%2031.4287%203.51572%2031.1277%202.9799%2030.5918C2.44409%2030.056%202.14307%2029.3293%202.14307%2028.5715V25.5265C2.14307%2024.548%202.71664%2023.6601%203.6095%2023.258C4.23775%2022.9753%204.77088%2022.5171%205.14465%2021.9384C5.51842%2021.3597%205.71689%2020.6853%205.71613%2019.9964C5.71538%2019.3075%205.51544%2018.6335%205.1404%2018.0556C4.76536%2017.4777%204.23123%2017.0206%203.60235%2016.7394C3.16782%2016.5443%202.79891%2016.2278%202.54002%2015.828C2.28112%2015.4282%202.14328%2014.9621%202.14307%2014.4858M27.8574%2016.4287C28.4257%2016.4287%2028.9707%2016.2029%2029.3726%2015.801C29.7744%2015.3992%2030.0002%2014.8541%2030.0002%2014.2858C30.0002%2013.7175%2029.7744%2013.1725%2029.3726%2012.7706C28.9707%2012.3687%2028.4257%2012.143%2027.8574%2012.143C27.289%2012.143%2026.744%2012.3687%2026.3421%2012.7706C25.9403%2013.1725%2025.7145%2013.7175%2025.7145%2014.2858C25.7145%2014.8541%2025.9403%2015.3992%2026.3421%2015.801C26.744%2016.2029%2027.289%2016.4287%2027.8574%2016.4287ZM27.8574%2022.143C28.4257%2022.143%2028.9707%2021.9172%2029.3726%2021.5153C29.7744%2021.1135%2030.0002%2020.5684%2030.0002%2020.0001C30.0002%2019.4318%2029.7744%2018.8867%2029.3726%2018.4849C28.9707%2018.083%2028.4257%2017.8572%2027.8574%2017.8572C27.289%2017.8572%2026.744%2018.083%2026.3421%2018.4849C25.9403%2018.8867%2025.7145%2019.4318%2025.7145%2020.0001C25.7145%2020.5684%2025.9403%2021.1135%2026.3421%2021.5153C26.744%2021.9172%2027.289%2022.143%2027.8574%2022.143ZM27.8574%2027.8572C28.4257%2027.8572%2028.9707%2027.6315%2029.3726%2027.2296C29.7744%2026.8278%2030.0002%2026.2827%2030.0002%2025.7144C30.0002%2025.1461%2029.7744%2024.601%2029.3726%2024.1992C28.9707%2023.7973%2028.4257%2023.5715%2027.8574%2023.5715C27.289%2023.5715%2026.744%2023.7973%2026.3421%2024.1992C25.9403%2024.601%2025.7145%2025.1461%2025.7145%2025.7144C25.7145%2026.2827%2025.9403%2026.8278%2026.3421%2027.2296C26.744%2027.6315%2027.289%2027.8572%2027.8574%2027.8572Z'%20fill='%23003557'/%3e%3c/svg%3e")
    center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .float-ticket__icon {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.float-ticket__arrow {
  width: 1.125rem;
  height: 1.5rem;
  flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='18'%20height='24'%20viewBox='0%200%2018%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M18%2012L0%20-7.86805e-07L-1.04907e-06%2024L18%2012Z'%20fill='%23003557'/%3e%3c/svg%3e")
    center/contain no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='18'%20height='24'%20viewBox='0%200%2018%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M18%2012L0%20-7.86805e-07L-1.04907e-06%2024L18%2012Z'%20fill='%23003557'/%3e%3c/svg%3e")
    center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .float-ticket__arrow {
    width: 0.75rem;
    height: 1rem;
  }
}
.page-top {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .page-top {
    margin-block-start: 2.5rem;
    margin-inline: auto;
  }
}
.page-top__button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  min-width: 16.375rem;
  color: transparent;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .page-top__button {
    gap: 0.5rem;
    min-width: 8.625rem;
  }
}
@media (hover: hover) {
  .page-top__button:hover {
    opacity: 0.85;
  }
}
.page-top__button:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 0.5rem;
}
.page-top__icon {
  width: 1.5rem;
  height: 1.125rem;
}
@media screen and (max-width: 767px) {
  .page-top__icon {
    width: 0.75rem;
    height: 0.5625rem;
  }
}
.page-top__text {
  color: transparent;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  -webkit-text-stroke: 1px #ffd900;
  text-stroke: 1px #ffd900;
}
@media screen and (max-width: 767px) {
  .page-top__text {
    font-size: 1.25rem;
  }
}
.product-card {
  display: block;
  width: 18.75rem;
  height: 26.25rem;
  overflow: hidden;
  border: 2px solid #003557;
  border-radius: 0.9375rem;
  background-color: #fff;
  color: #003557;
}
@media screen and (max-width: 767px) {
  .product-card {
    width: 12.5rem;
    height: 18rem;
  }
}
.product-card--link {
  text-decoration: none;
}
.product-card__image {
  aspect-ratio: 1/1;
  overflow: hidden;
  background-color: #ced3d9;
}
.product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 0.25s ease;
}
@media (hover: hover) {
  .product-card--link:hover .product-card__image img {
    scale: 1.08;
  }
}
.product-card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 7.5rem;
  padding: 1.25rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .product-card__body {
    min-height: 5.5rem;
    padding-block: 0.75rem;
    padding-inline: 1.125rem;
  }
}
.product-card__name {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .product-card__name {
    min-height: 2.5rem;
    font-size: 0.875rem;
    line-height: 1.45;
  }
}
.product-card__price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
  margin-top: 0.25rem;
  line-height: 1.2;
  white-space: nowrap;
}
.product-card__price span {
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .product-card__price span {
    font-size: 1rem;
  }
}
.product-card__price small {
  font-size: 0.875rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .product-card__price small {
    font-size: 0.625rem;
  }
}
.title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}
.title__main {
  color: transparent;
  font-family: Eurostile, sans-serif;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  -webkit-text-stroke: 1.5px #003557;
  text-stroke: 1.5px #003557;
  word-break: break-word;
  paint-order: stroke;
}
@media screen and (max-width: 767px) {
  .title__main {
    font-size: 2rem;
    -webkit-text-stroke: 0.0625rem #003557;
    text-stroke: 0.0625rem #003557;
  }
}
.title__sub {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 1.5rem;
  border-radius: 5px;
  background-color: #003557;
}
@media screen and (max-width: 767px) {
  .title__sub {
    min-height: 1.75rem;
    padding-block: 0.25rem;
    padding-inline: 1.5rem;
  }
}
.title__sub-text {
  color: #ffd900;
  font-family:
    Noto Sans JP,
    sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  word-break: break-word;
}
@media screen and (max-width: 767px) {
  .title__sub-text {
    font-size: 0.875rem;
  }
}
.title--yellow .title__main {
  -webkit-text-stroke-color: #ffd900;
  text-stroke-color: #ffd900;
}
.title--yellow .title__sub {
  background-color: #ffd900;
}
.title--yellow .title__sub-text {
  color: #003557;
}
.footer {
  position: relative;
  margin-top: 7.5rem;
  padding-block: 4.875rem 10rem;
  overflow: hidden;
  border-top-left-radius: 50% 6rem;
  border-top-right-radius: 50% 6rem;
  background-color: #003557;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .footer {
    margin-top: 5rem;
    min-height: 60.125rem;
    padding-block: 5rem 6.25rem;
    border-top-left-radius: 50% 6.25rem;
    border-top-right-radius: 50% 6.25rem;
  }
}
.footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer__logo {
  display: block;
  width: 10.375rem;
}
@media screen and (max-width: 767px) {
  .footer__logo {
    width: 8.125rem;
  }
}
.footer__title {
  margin-top: 2.75rem;
  color: transparent;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  -webkit-text-stroke: 1px #ffd900;
  text-stroke: 1px #ffd900;
}
@media screen and (max-width: 767px) {
  .footer__title {
    margin-top: 2.5rem;
    font-size: 1.25rem;
  }
}
.footer__apps {
  width: 100%;
}
.footer__app-list {
  margin-top: 1.625rem;
}
@media screen and (max-width: 767px) {
  .footer__app-list {
    margin-top: 1.5rem;
  }
}
.footer__follow {
  margin-top: 2.125rem;
}
@media screen and (max-width: 767px) {
  .footer__follow {
    margin-top: 2.5rem;
  }
}
.footer__follow .footer__title {
  margin-top: 0;
}
.footer__sns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.375rem;
  margin-top: 1.375rem;
}
@media screen and (max-width: 767px) {
  .footer__sns {
    gap: 0.875rem;
    margin-top: 1.5rem;
  }
}
.footer__sns-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
}
@media screen and (max-width: 767px) {
  .footer__sns-link {
    width: 1.875rem;
    height: 1.875rem;
  }
}
.footer__sns-link img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
}
.footer__nav {
  width: min(100%, 49.125rem);
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .footer__nav {
    width: min(100%, 20.375rem);
    margin-top: 3rem;
  }
}
.footer__nav-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, auto);
  grid-auto-flow: column;
  column-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .footer__nav-list {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
  }
}
.footer__nav-item {
  border-top: 1px solid rgba(255, 255, 255, 0.75);
}
.footer__nav-item:nth-child(2n) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.75);
}
@media screen and (max-width: 767px) {
  .footer__nav-item:nth-child(2n) {
    border-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .footer__nav-item:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.75);
  }
}
.footer__nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.9375rem;
  padding-inline: 1rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .footer__nav-link {
    min-height: 3.25rem;
    padding-inline: 0;
    font-size: 0.875rem;
  }
}
.footer__nav-link:hover {
  opacity: 0.8;
}
.footer__nav-link img {
  flex: 0 0 auto;
  width: 0.5625rem;
  height: 0.75rem;
}
.footer__copyright {
  margin-top: 4.875rem;
  color: #ffd900;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    margin-top: 3rem;
    color: #fff;
    font-size: 0.75rem;
  }
}
.footer__copyright a {
  color: inherit;
  transition: opacity 0.3s;
}
.footer__copyright a:hover {
  opacity: 0.8;
}
.inner {
  margin: 0 auto;
  max-width: 65.625rem;
  padding-right: 1.5625rem;
  padding-left: 1.5625rem;
  width: 100%;
  height: inherit;
}
@media screen and (max-width: 767px) {
  .inner {
    padding-right: 1rem;
    padding-left: 1rem;
    max-width: 33.75rem;
  }
}
.inner--xl {
  max-width: 77.75rem;
}
.inner--l {
  max-width: 66.75rem;
}
.inner--m {
  max-width: 64.375rem;
}
.inner--s {
  max-width: 53.125rem;
}
.access-brexarena {
  padding-block: 4.875rem 10rem;
  background-color: #fff;
  margin-top: -1px;
}
@media screen and (max-width: 767px) {
  .access-brexarena {
    padding-block: 3rem 4rem;
  }
}
.access-brexarena__title {
  text-align: center;
}
.access-brexarena__venue {
  display: grid;
  grid-template-columns: minmax(0, 18.75rem) auto minmax(0, 18.75rem);
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.625rem;
}
@media screen and (max-width: 767px) {
  .access-brexarena__venue {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 0.625rem;
    margin-top: 1.5rem;
  }
}
.access-brexarena__venue-line {
  height: 0.25rem;
  background-color: #003557;
}
.access-brexarena__venue-name {
  color: #003557;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .access-brexarena__venue-name {
    font-size: 0.875rem;
  }
}
.access-brexarena__major {
  margin-block-start: 3.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .access-brexarena__major {
    margin-block-start: 2rem;
  }
}
.brex-access-major {
  position: relative;
  overflow: hidden;
  width: min(100%, 62.5rem);
  min-height: 69.8125rem;
  border: 3px solid #003557;
  border-radius: 0.3125rem;
  background-color: #fff;
  color: #003557;
}
@media screen and (max-width: 767px) {
  .brex-access-major {
    width: min(100%, 22.375rem);
    min-height: 0;
    border-width: 2px;
  }
}
.brex-access-major__title {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 3.4375rem;
  padding-block: 0.625rem 0.75rem;
  padding-inline: 1rem;
  background-color: #003557;
  color: #ffd900;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .brex-access-major__title {
    min-height: 2.75rem;
    font-size: 1rem;
  }
}
.brex-access-major__title:after {
  position: absolute;
  bottom: -1.4375rem;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 1.4375rem solid #003557;
  border-inline: 1.125rem solid transparent;
  content: "";
  transform: translate(-50%);
}
@media screen and (max-width: 767px) {
  .brex-access-major__title:after {
    bottom: -1.125rem;
    border-top-width: 1.125rem;
    border-inline-width: 0.875rem;
  }
}
.brex-access-major__tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 8.3125rem));
  justify-content: center;
  gap: 3rem;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .brex-access-major__tabs {
    grid-template-columns: repeat(4, minmax(4.625rem, 1fr));
    gap: 0.375rem;
    padding-inline: 0.625rem;
    margin-block-start: 2.125rem;
  }
}
.brex-access-major__tab {
  display: grid;
  justify-items: center;
  gap: 1rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #003557;
  font: inherit;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .brex-access-major__tab {
    gap: 0.5rem;
  }
}
.brex-access-major__tab:hover {
  opacity: 0.75;
}
.brex-access-major__tab:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
  border-radius: 0.5rem;
}
.brex-access-major__icon {
  position: relative;
  display: block;
  overflow: hidden;
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 3.125rem;
}
@media screen and (max-width: 767px) {
  .brex-access-major__icon {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.brex-access-major__icon-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease;
}
.brex-access-major__icon-image--active,
.brex-access-major__tab.is-active .brex-access-major__icon-image--default {
  opacity: 0;
}
.brex-access-major__tab.is-active .brex-access-major__icon-image--active {
  opacity: 1;
}
.brex-access-major__label {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .brex-access-major__label {
    display: grid;
    align-items: center;
    min-height: 2.125rem;
    font-size: 0.6875rem;
  }
}
.brex-access-major__panels {
  padding-block: 2.625rem 6rem;
}
@media screen and (max-width: 767px) {
  .brex-access-major__panels {
    padding-block: 1.75rem 2rem;
  }
}
.brex-access-major__panel {
  max-height: 42.5rem;
  padding-inline: 1.75rem;
  overflow-x: hidden;
  overflow-y: auto;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  scrollbar-color: #ffd900 rgba(0, 53, 87, 0.15);
  scrollbar-width: thin;
}
@media screen and (max-width: 767px) {
  .brex-access-major__panel {
    max-height: 32.5rem;
    padding-inline: 1rem;
  }
}
.brex-access-major__panel::-webkit-scrollbar {
  width: 0.25rem;
}
.brex-access-major__panel::-webkit-scrollbar-track {
  background-color: #00355726;
}
.brex-access-major__panel::-webkit-scrollbar-thumb {
  background-color: #ffd900;
}
.brex-access-major__panel[hidden] {
  display: none;
}
.brex-access-major__lead {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 2.125rem;
  padding-block: 0.25rem;
  padding-inline: 1.5rem;
  border: 3px solid #ffd900;
  border-radius: 0.3125rem;
  color: #003557;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .brex-access-major__lead {
    min-height: 1.875rem;
    padding-inline: 0.875rem;
    border-width: 2px;
    font-size: 0.9375rem;
  }
}
.brex-access-major__lead--large {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .brex-access-major__lead--large {
    font-size: 1.25rem;
  }
}
.brex-access-major a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
.brex-access-major__text {
  margin-top: 1.625rem;
  font-size: 1.25rem;
  line-height: 1.35;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .brex-access-major__text {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.55;
  }
}
.brex-access-major__walk-slider {
  position: relative;
  margin-top: 2.375rem;
}
@media screen and (max-width: 767px) {
  .brex-access-major__walk-slider {
    margin-top: 1.75rem;
  }
}
.brex-access-major__walk-slider .splide__track {
  overflow: hidden;
  padding-bottom: 0.625rem;
}
.brex-access-major__walk-list {
  align-items: stretch;
}
.brex-access-major__walk-slider .splide__pagination {
  position: static;
  gap: 1.125rem;
  margin-top: 2.125rem;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .brex-access-major__walk-slider .splide__pagination {
    gap: 0.75rem;
    margin-top: 1.5rem;
  }
}
.brex-access-major__walk-slider .splide__pagination__page {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  background-color: #c6c6c6;
  opacity: 1;
  transform: none;
}
@media screen and (max-width: 767px) {
  .brex-access-major__walk-slider .splide__pagination__page {
    width: 0.75rem;
    height: 0.75rem;
  }
}
.brex-access-major__walk-slider .splide__pagination__page.is-active {
  background-color: #003557;
  transform: none;
}
.brex-access-major__walk-slider .splide__pagination__page:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 0.1875rem;
}
.brex-access-major__walk-item {
  position: relative;
  text-align: left;
}
.brex-access-major__walk-item:after {
  position: absolute;
  top: 10.375rem;
  right: -2.5rem;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #003557;
  content: "";
  clip-path: polygon(0 25%, 58% 25%, 58% 0, 100% 50%, 58% 100%, 58% 75%, 0 75%);
}
@media screen and (max-width: 767px) {
  .brex-access-major__walk-item:after {
    top: 7.6875rem;
    right: -1.5rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.brex-access-major__walk-item--last:after {
  content: none;
}
.brex-access-major__walk-item img {
  width: 100%;
  aspect-ratio: 400/224;
  object-fit: cover;
}
.brex-access-major__walk-item span {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  margin-inline: auto;
  margin-bottom: 1.125rem;
  border-radius: 50%;
  background-color: #003557;
  color: #fff;
  font-size: 1.125rem;
}
.brex-access-major__walk-item h4 {
  margin-top: 1.125rem;
  color: #003557;
  font-size: 1rem;
  line-height: 1.4;
}
.brex-access-major__walk-item p {
  margin-top: 0.25rem;
  color: #505050;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .brex-access-major__walk-item p {
    font-size: 0.8125rem;
  }
}
.brex-access-major__table-wrap {
  overflow-x: auto;
  margin-top: 1.125rem;
}
.brex-access-major__table {
  width: min(100%, 45rem);
  margin-inline: auto;
  border: 1px solid #003557;
  border-collapse: collapse;
  font-size: 1.25rem;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .brex-access-major__table {
    min-width: 40.625rem;
    font-size: 0.875rem;
  }
}
.brex-access-major__table th,
.brex-access-major__table td {
  padding: 0.625rem 0.75rem;
  border-left: 1px solid #003557;
  border-bottom: 1px solid #003557;
  vertical-align: middle;
}
.brex-access-major__table th:first-child,
.brex-access-major__table td:first-child {
  border-left: 0;
  text-align: left;
}
.brex-access-major__table th {
  background-color: #003557;
  color: #fff;
  text-align: center;
}
.brex-access-major__notes,
.brex-access-major__note,
.brex-access-major__common-note,
.brex-access-major__detail {
  color: #003557;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .brex-access-major__notes,
  .brex-access-major__note,
  .brex-access-major__common-note,
  .brex-access-major__detail {
    font-size: 0.75rem;
  }
}
.brex-access-major__notes {
  width: min(100%, 45rem);
  margin: 1.125rem auto 0;
}
.brex-access-major__notes--alert {
  color: #e8373c;
}
.brex-access-major__detail {
  width: min(100%, 45rem);
  margin: 2.25rem auto 0;
}
.brex-access-major__detail .brex-access-major__lead {
  display: flex;
  width: fit-content;
  margin-inline: auto;
  font-weight: 700;
}
.brex-access-major__detail h4 {
  margin-top: 1.5rem;
  color: #003557;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}
.brex-access-major__detail p + p {
  margin-top: 0.75rem;
}
.brex-access-major__lrt-map {
  width: min(100%, 55rem);
  margin: 1.5rem auto 0;
}
.brex-access-major__lrt-info {
  width: min(100%, 45rem);
  margin: 1.5rem auto 0;
  border: 1px solid #003557;
  text-align: left;
}
.brex-access-major__lrt-info div {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  border-top: 1px solid #003557;
}
@media screen and (max-width: 767px) {
  .brex-access-major__lrt-info div {
    grid-template-columns: 5.75rem minmax(0, 1fr);
  }
}
.brex-access-major__lrt-info div:first-child {
  border-top: 0;
}
.brex-access-major__lrt-info dt,
.brex-access-major__lrt-info dd {
  padding: 1.125rem;
  font-size: 1rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .brex-access-major__lrt-info dt,
  .brex-access-major__lrt-info dd {
    padding: 0.75rem;
    font-size: 0.8125rem;
  }
}
.brex-access-major__lrt-info dt {
  display: grid;
  place-items: center;
  background-color: #003557;
  color: #fff;
}
.brex-access-major__lrt-route {
  width: min(100%, 30rem);
  margin: 2.375rem auto 0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .brex-access-major__lrt-route {
    width: min(100%, 18.75rem);
    margin-top: 1.75rem;
  }
}
.brex-access-major__lrt-route-item {
  position: relative;
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .brex-access-major__lrt-route-item {
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.75rem;
  }
}
.brex-access-major__lrt-route-item + .brex-access-major__lrt-route-item {
  margin-top: 2.625rem;
}
@media screen and (max-width: 767px) {
  .brex-access-major__lrt-route-item + .brex-access-major__lrt-route-item {
    margin-top: 2rem;
  }
}
.brex-access-major__lrt-route-item:not(:last-child):after {
  position: absolute;
  top: 2.25rem;
  left: 1.0625rem;
  width: 0;
  height: 3.5rem;
  border-left: 2px dashed #003557;
  content: "";
}
@media screen and (max-width: 767px) {
  .brex-access-major__lrt-route-item:not(:last-child):after {
    top: 2rem;
    left: 0.9375rem;
    height: 2.875rem;
  }
}
.brex-access-major__lrt-route-number {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background-color: #003557;
  color: #fff;
  font-size: 1.125rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .brex-access-major__lrt-route-number {
    width: 2rem;
    height: 2rem;
    font-size: 1rem;
  }
}
.brex-access-major__lrt-route-title {
  color: #003557;
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .brex-access-major__lrt-route-title {
    font-size: 0.875rem;
  }
}
.brex-access-major__lrt-route-text {
  margin-top: 0.125rem;
  color: #505050;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .brex-access-major__lrt-route-text {
    font-size: 0.8125rem;
  }
}
.brex-access-major__note {
  width: min(100%, 45rem);
  margin: 1.5rem auto 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .brex-access-major__note {
    text-align: left;
  }
}
.brex-access-major__shuttle-images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 27.5rem));
  justify-content: center;
  margin-top: 2.125rem;
}
@media screen and (max-width: 767px) {
  .brex-access-major__shuttle-images {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.brex-access-major__time-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 12.5rem));
  justify-content: center;
  align-items: flex-start;
  gap: 1.125rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .brex-access-major__time-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.625rem;
  }
}
.brex-access-major__time-column {
  overflow: hidden;
  border: 1px solid #003557;
  border-radius: 0.625rem;
}
.brex-access-major__time-column p {
  display: grid;
  place-items: center;
  min-height: 3.75rem;
  padding: 0.5rem;
  background-color: #003557;
  color: #fff;
  font-size: 1rem;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .brex-access-major__time-column p {
    min-height: 3.25rem;
    font-size: 0.75rem;
  }
}
.brex-access-major__time-column li {
  display: grid;
  place-items: center;
  min-height: 2.25rem;
  border-top: 1px solid #003557;
  font-size: 1rem;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .brex-access-major__time-column li {
    min-height: 2rem;
    font-size: 0.8125rem;
  }
}
.brex-access-major__common-note {
  position: absolute;
  left: 3.375rem;
  bottom: 3rem;
  width: min(100% - 6.75rem, 55rem);
}
@media screen and (max-width: 767px) {
  .brex-access-major__common-note {
    position: static;
    width: auto;
    margin-block: 0.5rem 1.5rem;
    margin-inline: 0.875rem;
  }
}
.access {
  padding-block: 4.875rem 10rem;
  padding-inline: 0;
  background-color: #fff;
  margin-top: -1px;
}
@media screen and (max-width: 767px) {
  .access {
    padding-block: 3rem 4rem;
    padding-inline: 0;
  }
}
.access__title {
  text-align: center;
}
.access__venue {
  display: grid;
  grid-template-columns: minmax(0, 18.75rem) auto minmax(0, 18.75rem);
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.625rem;
}
@media screen and (max-width: 767px) {
  .access__venue {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 0.625rem;
    margin-top: 1.5rem;
  }
}
.access__venue-line {
  height: 0.25rem;
  background-color: #003557;
}
.access__venue-name {
  color: #003557;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .access__venue-name {
    font-size: 0.875rem;
  }
}
.access__image {
  overflow: hidden;
  width: min(100%, 62.5rem);
  margin: 2rem auto 0;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .access__image {
    width: min(100%, 22.375rem);
    margin-top: 1.625rem;
    border-radius: 0.625rem;
  }
}
.access__image img {
  display: block;
  width: 100%;
  aspect-ratio: 5/2;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .access__image img {
    aspect-ratio: 358/293;
  }
}
.access__address {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: fit-content;
  max-width: 100%;
  margin: 1.75rem auto 0;
  color: #0f1011;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .access__address {
    align-items: flex-start;
    width: min(100%, 20.375rem);
    margin-block-start: 1.5rem;
    margin-inline: auto;
    font-size: 0.875rem;
  }
}
.access__address:hover {
  opacity: 0.75;
}
.access__address:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.access__address img {
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .access__address img {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.0625rem;
  }
}
.access__maps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 30rem));
  justify-content: center;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .access__maps {
    grid-template-columns: 1fr;
    width: min(100%, 20.375rem);
    gap: 0;
    margin-block-start: 1.5rem;
    margin-inline: auto;
  }
}
.access__map {
  background-color: #fff;
}
.access__map img {
  display: block;
  width: 100%;
  height: auto;
}
.access__major {
  margin-block-start: 3.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .access__major {
    margin-block-start: 2rem;
  }
}
.access-major {
  position: relative;
  overflow: hidden;
  width: min(100%, 62.5rem);
  border: 3px solid #003557;
  border-radius: 0.3125rem;
  background-color: #fff;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .access-major {
    width: min(100%, 22.375rem);
    min-height: 0;
    border-width: 2px;
    padding-bottom: 0;
  }
}
.access-major.is-car-note-hidden {
  padding-bottom: 0;
}
.access-major__title {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 3.4375rem;
  padding-block: 0.625rem 0.75rem;
  padding-inline: 1rem;
  background-color: #003557;
  color: #ffd900;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access-major__title {
    min-height: 2.75rem;
    font-size: 1rem;
  }
}
.access-major__title:after {
  position: absolute;
  bottom: -1.4375rem;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 1.4375rem solid #003557;
  border-inline: 1.125rem solid transparent;
  content: "";
  transform: translate(-50%);
}
@media screen and (max-width: 767px) {
  .access-major__title:after {
    bottom: -1.125rem;
    border-top-width: 1.125rem;
    border-inline-width: 0.875rem;
  }
}
.access-major__tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 8.3125rem));
  justify-content: center;
  gap: 3rem;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .access-major__tabs {
    grid-template-columns: repeat(4, minmax(4.625rem, 1fr));
    gap: 0.375rem;
    padding-inline: 0.625rem;
    margin-block-start: 2.125rem;
  }
}
.access-major__tab {
  display: grid;
  justify-items: center;
  gap: 1rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #003557;
  font: inherit;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .access-major__tab {
    gap: 0.5rem;
  }
}
.access-major__tab:hover {
  opacity: 0.75;
}
.access-major__tab:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
  border-radius: 0.5rem;
}
.access-major__icon {
  position: relative;
  display: block;
  overflow: hidden;
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .access-major__icon {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.access-major__icon-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease;
}
.access-major__icon-image--active,
.access-major__tab.is-active .access-major__icon-image--default {
  opacity: 0;
}
.access-major__tab.is-active .access-major__icon-image--active {
  opacity: 1;
}
.access-major__label {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access-major__label {
    display: grid;
    align-items: center;
    min-height: 2.125rem;
    font-size: 0.6875rem;
  }
}
.access-major__panels {
  padding-block: 2.625rem 3rem;
  padding-inline: 3.375rem;
}
@media screen and (max-width: 767px) {
  .access-major__panels {
    padding-block: 1.75rem 1.75rem;
    padding-inline: 0.875rem;
  }
}
.access-major__panel {
  max-height: 43.75rem;
  overflow-x: hidden;
  overflow-y: auto;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  scrollbar-color: #ffd900 rgba(0, 53, 87, 0.15);
  scrollbar-width: thin;
}
@media screen and (max-width: 767px) {
  .access-major__panel {
    max-height: 28.125rem;
  }
}
.access-major__panel::-webkit-scrollbar {
  width: 0.25rem;
}
.access-major__panel::-webkit-scrollbar-track {
  background-color: #00355726;
}
.access-major__panel::-webkit-scrollbar-thumb {
  background-color: #ffd900;
}
.access-major__panel[hidden] {
  display: none;
}
.access-major__lead,
.access-major__heading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 2.125rem;
  padding-block: 0.25rem;
  padding-inline: 1.5rem;
  border: 3px solid #ffd900;
  border-radius: 0.3125rem;
  color: #003557;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access-major__lead,
  .access-major__heading {
    min-height: 1.875rem;
    padding-inline: 0.875rem;
    border-width: 2px;
    font-size: 0.9375rem;
  }
}
.access-major__lead--large {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .access-major__lead--large {
    font-size: 1.25rem;
  }
}
.access-major__route + .access-major__route {
  margin-top: 2.25rem;
}
@media screen and (max-width: 767px) {
  .access-major__route + .access-major__route {
    margin-top: 1.5rem;
  }
}
.access-major__text {
  margin-top: 1.625rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access-major__text {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.55;
  }
}
.access-major__note,
.access-major__notes,
.access-major__common-note {
  color: #003557;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .access-major__note,
  .access-major__notes,
  .access-major__common-note {
    font-size: 0.75rem;
  }
}
.access-major__note {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access-major__note {
    margin-top: 1.5rem;
    text-align: left;
  }
}
.access-major a {
  color: inherit;
  text-decoration: underline !important;
  text-underline-offset: 0.1875rem;
}
.access-major__table-wrap {
  overflow-x: auto;
  margin-top: 1.125rem;
}
.access-major__table {
  width: min(100%, 45rem);
  margin-inline: auto;
  border: 1px solid #003557;
  border-collapse: collapse;
  font-size: 1.25rem;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .access-major__table {
    min-width: 40.625rem;
    font-size: 0.875rem;
  }
}
.access-major__table th,
.access-major__table td {
  padding: 0.625rem 0.5rem;
  border-left: 1px solid #c8d2dc;
  border-bottom: 1px solid #c8d2dc;
  vertical-align: middle;
  text-align: center;
}
.access-major__table th:first-child,
.access-major__table td:first-child {
  border-left: 0;
}
.access-major__table th {
  background-color: #003557;
  color: #fff;
  font-weight: 700;
}
.access-major__table td {
  color: #003557;
  font-weight: 400;
}
.access-major__table strong {
  color: #e8373c;
  font-weight: 700;
}
.access-major__notes {
  width: min(100%, 45rem);
  margin: 1.125rem auto 0;
}
.access-major__notes p + p {
  margin-top: 0.125rem;
}
.access-major__common-note {
  position: absolute;
  left: 3.375rem;
  bottom: 3rem;
  width: min(100% - 6.75rem, 55rem);
  text-align: left;
}
@media screen and (max-width: 767px) {
  .access-major__common-note {
    position: static;
    width: auto;
    margin-block: 0.5rem 1.5rem;
    margin-inline: 0.875rem;
  }
}
.access-major__sub-route {
  margin-top: 2rem;
}
.access-major__shuttle-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 26.25rem));
  justify-content: center;
  gap: 2.25rem 2.5rem;
  margin-top: 2.375rem;
}
@media screen and (max-width: 767px) {
  .access-major__shuttle-grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    margin-top: 1.625rem;
  }
}
.access-major__timetable-title {
  margin-bottom: 0.875rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access-major__timetable-title {
    font-size: 0.8125rem;
  }
}
.access-major__time-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: flex-start;
  gap: 1.125rem;
}
@media screen and (max-width: 767px) {
  .access-major__time-columns {
    gap: 0.625rem;
  }
}
.access-major__time-column {
  overflow: hidden;
  border: 1px solid #003557;
  border-radius: 0.625rem;
}
.access-major__time-column p {
  display: grid;
  place-items: center;
  min-height: 3.75rem;
  padding: 0.5rem;
  background-color: #003557;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .access-major__time-column p {
    min-height: 3.25rem;
    font-size: 0.75rem;
  }
}
.access-major__time-column li {
  display: grid;
  place-items: center;
  min-height: 2.25rem;
  border-top: 1px solid #003557;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .access-major__time-column li {
    min-height: 2rem;
    font-size: 0.8125rem;
  }
}
.access-major__parking {
  align-self: start;
  padding: 0.875rem;
  background-color: #003557;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access-major__parking {
    padding: 0.75rem;
  }
}
.access-major__parking p {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.45;
}
.access-major__parking p:first-child {
  display: inline-block;
  padding: 0.5rem 0.625rem;
  border: 2px solid #ffd900;
  border-radius: 0.625rem;
  font-size: 1.125rem;
}
.access-major__parking strong {
  color: #ffd900;
  font-size: 1.25em;
}
.access-major__parking dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.125rem;
  margin-top: 0.625rem;
  font-size: 0.75rem;
  font-weight: 700;
}
.access-major__parking div {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.access-major__parking dt {
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.access-major__parking dd:before {
  display: inline-grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.375rem;
  border-radius: 0.25rem;
  background-color: #65bde9;
  color: #fff;
  content: "P";
}
.access-major__parking div + div dd:before {
  width: 2rem;
  height: 0.75rem;
  border-radius: 0;
  background-color: #e8373c;
  content: "";
  clip-path: polygon(0 25%, 65% 25%, 65% 0, 100% 50%, 65% 100%, 65% 75%, 0 75%);
}
.contents {
  padding-block: 5.25rem 4.5rem;
}
@media screen and (max-width: 767px) {
  .contents {
    padding-block: 4.875rem 3.5rem;
  }
}
.contents__title {
  display: flex;
  justify-content: center;
}
.contents__nav {
  margin-top: 2.5625rem;
}
@media screen and (max-width: 767px) {
  .contents__nav {
    margin-top: 1.5rem;
  }
}
.events {
  position: relative;
  padding-block: 5rem 9.75rem;
  overflow: hidden;
  border-top: 0.625rem solid #ffd900;
  border-bottom: 0.625rem solid #ffd900;
  border-left: 0.9375rem solid #ffd900;
  border-right: 0.9375rem solid #ffd900;
  border-radius: 50%/10rem;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .events {
    margin-top: 1rem;
    padding-block: 5rem 4rem;
    border-width: 0.5rem;
    border-radius: 50%/6.25rem;
  }
}
.events__title {
  display: flex;
  justify-content: center;
}
.events__featured {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem;
  width: min(100%, 62.5rem);
  margin-top: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .events__featured {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
  }
}
.events__pickup {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem;
  width: min(100%, 61.25rem);
  margin-top: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .events__pickup {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 10.1875rem));
    justify-content: center;
    gap: 1rem;
    width: min(100%, 21.375rem);
    margin-top: 1rem;
  }
}
.events__standard-heading {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: min(100%, 45rem);
  margin-block-start: 4.125rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .events__standard-heading {
    width: min(100%, 22.375rem);
    margin-top: 2.875rem;
  }
}
.events__mascot {
  position: absolute;
  left: 0;
  bottom: -1.5rem;
  width: 6.25rem;
  height: auto;
  animation: events-mascot-sway 2.6s ease-in-out infinite;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .events__mascot {
    bottom: -1.25rem;
    width: 5.125rem;
    left: -0.625rem;
  }
}
.events__bubble {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40.625rem;
  min-height: 3.125rem;
  border: 0.25rem solid #003557;
  background-color: #fff;
  color: #003557;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.events__bubble:after {
  position: absolute;
  bottom: -1.0625rem;
  left: 50%;
  width: 1.75rem;
  height: 1.75rem;
  border-right: 3px solid #003557;
  border-bottom: 3px solid #003557;
  background-color: #fff;
  content: "";
  transform: translate(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .events__bubble {
    max-width: 21.75rem;
    min-height: 2.5rem;
    font-size: 0.875rem;
  }
  .events__bubble:after {
    bottom: -0.8125rem;
    width: 1.25rem;
    height: 1.25rem;
    border-width: 0.25rem;
  }
}
.events__standard {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  width: min(100%, 62.5rem);
  margin-top: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .events__standard {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: min(100%, 21.375rem);
    margin-top: 2rem;
  }
}
@keyframes events-mascot-sway {
  0%,
  to {
    transform: rotate(-4deg);
  }
  50% {
    transform: rotate(4deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .events__mascot {
    animation: none;
  }
}
.guide {
  position: relative;
  background-color: #003557;
  border-radius: 6.25rem;
  padding-block: 4rem 5rem;
  margin-top: -6.25rem;
}
@media screen and (max-width: 767px) {
  .guide {
    min-height: 30rem;
    margin-top: -3.125rem;
    padding-block: 2.5rem 5rem;
    padding-inline: 0;
    border-radius: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .guide .inner {
    padding-inline: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .guide .title__main {
    max-width: none;
  }
}
.guide__bnr {
  display: block;
  margin-top: 2.5rem;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .guide__bnr {
    width: min(100%, 20.375rem);
    margin-block-start: 1.625rem;
    margin-inline: auto;
  }
}
@media (hover: hover) {
  .guide__bnr:hover {
    opacity: 0.85;
  }
}
.guide__bnr picture,
.guide__bnr img {
  display: block;
}
.guide__bnr img {
  width: 100%;
  height: auto;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .guide__bnr img {
    aspect-ratio: 326/184;
    object-fit: cover;
  }
}
.guide__btn {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .guide__btn {
    margin-block-start: 1.5rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .guide__btn .c-btn {
    width: min(100%, 19.375rem);
    min-height: 4rem;
    padding-block: 0.75rem;
    padding-inline: 1.75rem 2.75rem;
    background-color: #ffd900;
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .guide__btn .c-btn__icon {
    right: 1.75rem;
    width: 0.5625rem;
    height: 0.75rem;
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 4rem;
  background-color: #ffd900;
  z-index: 100;
  padding-top: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .header {
    height: 2rem;
    padding-top: 0.125rem;
  }
}
.header__inner {
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header__logo {
  position: absolute;
  width: 6rem;
  height: 6rem;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .header__logo {
    width: 3.375rem;
    height: 3.375rem;
  }
}
.header__logo a {
  display: block;
  padding: 1.375rem 1rem;
  background-color: #ffd900;
  border-bottom-right-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .header__logo a {
    padding-block: 0.75rem;
    padding-inline: 0.5rem;
  }
}
.header__text {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .header__text {
    font-size: 0.5rem;
  }
}
.kids {
  position: relative;
  isolation: isolate;
  margin-top: -6.25rem;
  clip-path: inset(0);
}
@media screen and (max-width: 767px) {
  .kids {
    margin-top: -3.125rem;
  }
}
.kids:before {
  position: sticky;
  top: 0;
  display: block;
  width: 100%;
  height: calc(100dvh + 6.25rem);
  margin-bottom: calc(-100dvh - 6.25rem);
  border-radius: 6.25rem;
  background: url(../images/img_pc_bg04.webp) center center/cover no-repeat;
  content: "";
  pointer-events: none;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .kids:before {
    border-radius: 3.125rem;
    background-image: url(../images/img_sp_bg04.webp);
  }
}
.kids__title {
  position: relative;
  display: grid;
  grid-template-columns: 6.25rem auto 6.25rem;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .kids__title {
    grid-template-columns: 3.1875rem auto 3.1875rem;
    gap: 0;
  }
}
.kids__container {
  position: relative;
  z-index: 1;
  padding-top: 4.25rem;
  padding-bottom: 13.75rem;
}
@media screen and (max-width: 767px) {
  .kids__container {
    padding-block: 2.625rem 8.125rem;
  }
}
.kids__title .title__main {
  font-family: Fredoka, sans-serif;
  color: #ffd900;
  font-weight: 600;
  -webkit-text-stroke: 0.3125rem #003557;
  text-stroke: 0.3125rem #003557;
  paint-order: stroke;
  font-size: 4.25rem;
  margin-bottom: 0.25rem;
}
@media screen and (max-width: 767px) {
  .kids__title .title__main {
    max-width: none;
    font-size: 3.1875rem;
    -webkit-text-stroke-width: 0.1875rem;
    text-stroke-width: 0.1875rem;
    white-space: nowrap;
  }
}
.kids__mascot {
  display: block;
  width: 6.25rem;
  height: auto;
  animation: kids-mascot-sway 3.8s ease-in-out infinite;
  margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
  .kids__mascot {
    width: 3.1875rem;
    margin-top: 2.25rem;
  }
}
@media screen and (max-width: 767px) {
  .kids__mascot--brecky {
    margin-left: 1.25rem;
  }
}
.kids__mascot--berry {
  animation-delay: 0.7s;
}
@media screen and (max-width: 767px) {
  .kids__mascot--berry {
    margin-left: -1.25rem;
  }
}
.kids__content {
  max-width: 59.25rem;
  display: grid;
  grid-template-columns: 31.25rem minmax(0, 22.5rem);
  justify-content: center;
  gap: 4.125rem;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .kids__content {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-top: 2.125rem;
  }
}
.kids__photos {
  position: relative;
  min-height: 31.25rem;
}
@media screen and (max-width: 767px) {
  .kids__photos {
    min-height: 23.0625rem;
    max-width: 22.375rem;
    width: 100%;
    margin-inline: auto;
  }
}
.kids__photo {
  position: absolute;
  display: block;
  border-radius: 1.25rem;
  object-fit: cover;
  box-shadow: 0 0.625rem 1.5rem #00000029;
}
@media screen and (max-width: 767px) {
  .kids__photo {
    border-radius: 1.25rem;
    box-shadow: none;
  }
}
.kids__photo--large {
  top: 0;
  left: 1rem;
  width: 17.5rem;
  height: 17.5rem;
}
@media screen and (max-width: 767px) {
  .kids__photo--large {
    left: 1.125rem;
    width: 11.875rem;
    height: 11.875rem;
  }
}
.kids__photo--small {
  top: 8.5625rem;
  right: 1.375rem;
  width: 14.375rem;
  height: 14.375rem;
}
@media screen and (max-width: 767px) {
  .kids__photo--small {
    top: 5.75rem;
    right: 0rem 20;
    width: 9.6875rem;
    height: 9.6875rem;
  }
}
.kids__photo--medium {
  top: 18.875rem;
  left: 4rem;
  width: 15.3125rem;
  height: 15.3125rem;
}
@media screen and (max-width: 767px) {
  .kids__photo--medium {
    top: 12.6875rem;
    left: 3rem;
    width: 10.375rem;
    height: 10.375rem;
  }
}
.kids__body {
  margin-top: 3.25rem;
}
@media screen and (max-width: 767px) {
  .kids__body {
    width: min(100%, 22.375rem);
    margin-inline: auto;
    margin-top: 0;
  }
}
.kids__description {
  position: relative;
  padding: 1rem;
  color: #003557;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .kids__description {
    width: min(100%, 22.375rem);
    padding-block: 1rem;
    padding-inline: 1.0625rem;
    font-size: 0.875rem;
  }
}
.kids__description:before,
.kids__description:after {
  position: absolute;
  width: 1rem;
  height: 1rem;
  border-color: #003557;
  content: "";
}
.kids__description:before {
  top: 0;
  left: 0;
  border-top: 0.25rem solid;
  border-left: 0.25rem solid;
}
.kids__description:after {
  right: 0;
  bottom: 0;
  border-right: 0.25rem solid;
  border-bottom: 0.25rem solid;
}
.kids__button {
  width: min(100%, 22.5rem);
  margin-top: 2rem;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .kids__button {
    display: flex;
    width: min(100%, 19.375rem);
    min-height: 4rem;
    margin-block-start: 1.25rem;
    margin-inline: auto;
  }
}
.kids__button-text small {
  display: block;
  font-size: 0.75rem;
}
@media screen and (max-width: 767px) {
  .kids__button-text small {
    font-size: 0.6875rem;
  }
}
.kids__tel:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.kids__tel {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: fit-content;
  margin: 2rem auto 0;
  color: #0f1011;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .kids__tel {
    margin-block-start: 1rem;
    margin-inline: auto;
    font-size: 1rem;
  }
}
.kids__tel:hover {
  opacity: 0.75;
}
.kids__tel-icon {
  display: block;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .kids__tel-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}
@keyframes kids-mascot-sway {
  0%,
  to {
    transform: rotate(-4deg);
  }
  50% {
    transform: rotate(5deg);
  }
}
.kv {
  padding-top: 4rem;
  padding-inline: 1.5rem;
}
@media screen and (max-width: 767px) {
  .kv {
    padding-top: 2rem;
    padding-inline: 0.5rem;
  }
}
.match {
  padding-block-start: 6.5rem;
}
@media screen and (max-width: 767px) {
  .match {
    padding-block-start: 2.25rem;
  }
}
@media screen and (max-width: 767px) {
  .match__inner {
    padding-inline: 1rem;
  }
}
.match__container {
  position: relative;
  max-width: 62.5rem;
  margin-inline: auto;
  padding: 2.4375rem 5rem 2.9375rem;
  border: 1px solid #ffd900;
  border-radius: 0.625rem;
  background-color: #ffffff80;
  color: #003557;
}
@media screen and (max-width: 767px) {
  .match__container {
    padding: 2rem 0.625rem;
  }
}
.match__heading {
  position: absolute;
  top: 0;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13.375rem;
  height: 2rem;
  border-radius: 0.625rem;
  background-color: #ffd900;
  font-size: 1.25rem;
  line-height: 1;
  text-align: center;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .match__heading {
    width: 10rem;
    height: 1.5rem;
    border-radius: 0.3125rem;
    font-size: 0.875rem;
  }
}
.match__teams {
  display: grid;
  grid-template-columns: minmax(0, 15rem) minmax(0, 12.5rem) minmax(0, 15rem);
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .match__teams {
    grid-template-columns: 6.25rem 4rem 6.25rem;
    gap: 0;
  }
}
.match__team {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.match__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12.5rem;
  height: 12.5rem;
}
@media screen and (max-width: 767px) {
  .match__logo {
    width: 6.25rem;
    height: 6.25rem;
  }
}
.match__team--home .match__logo img {
  width: 12.375rem;
}
@media screen and (max-width: 767px) {
  .match__team--home .match__logo img {
    width: 6rem;
  }
}
.match__team--away .match__logo img {
  width: 11.25rem;
}
@media screen and (max-width: 767px) {
  .match__team--away .match__logo img {
    width: 5.625rem;
  }
}
.match__team-name {
  margin-top: 0rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .match__team-name {
    font-size: 0.625rem;
  }
}
.match__center {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .match__center {
    margin-top: 2.75rem;
  }
}
.match__vs {
  font-size: 1.5rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .match__vs {
    font-size: 0.875rem;
  }
}
.match__venue {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .match__venue {
    position: absolute;
    top: 10.625rem;
    left: 50%;
    flex-direction: row;
    gap: 0.875rem;
    margin-top: 0;
    transform: translate(-50%);
    white-space: nowrap;
  }
}
.match__venue-label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 3.5rem;
  min-height: 1.625rem;
  padding: 0.0625rem 0.75rem;
  border-radius: 0.3125rem;
  background-color: #003557;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .match__venue-label {
    min-width: 3.125rem;
    min-height: 1.375rem;
    font-size: 0.75rem;
  }
}
.match__venue-name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .match__venue-name {
    font-size: 0.875rem;
  }
}
.match__schedule {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  gap: 2.5rem;
  margin-top: 1.9375rem;
}
@media screen and (max-width: 767px) {
  .match__schedule {
    gap: 1rem;
    margin-top: 4.1875rem;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }
}
@media screen and (max-width: 767px) {
  .match__schedule::-webkit-scrollbar {
    display: none;
  }
}
.match-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 auto;
  width: 15rem;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .match-date {
    width: calc(50% - 0.5rem);
  }
}
.match-date__partner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 11.5625rem;
  height: 2.875rem;
  border-radius: 0.625rem;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .match-date__partner {
    width: 10rem;
    height: 2.5rem;
  }
}
.match-date__present {
  margin-top: 0.375rem;
  font-size: 1rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .match-date__present {
    margin-top: 0.5625rem;
    font-size: 0.75rem;
  }
}
.match-date__day {
  margin-top: 0.0625rem;
  font-size: 3rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .match-date__day {
    margin-top: 0.25rem;
    font-size: 2rem;
  }
}
.match-date__weekday {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 4.125rem;
  min-height: 1.375rem;
  margin-top: 0.1875rem;
  padding: 0.0625rem 0.75rem;
  border-radius: 0.625rem;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .match-date__weekday {
    min-width: 3.375rem;
    min-height: 1rem;
    margin-top: 0.25rem;
    font-size: 0.625rem;
  }
}
.match-date__weekday--sat {
  background-color: #001fba;
}
.match-date__weekday--sun {
  background-color: red;
}
.match-date__time {
  margin-top: 0.25rem;
  font-size: 1rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .match-date__time {
    margin-top: 0.5rem;
    font-size: 0.75rem;
  }
}
.font_main {
  font-family:
    Noto Sans JP,
    sans-serif;
}
.font_en,
.font-en,
.en-font {
  font-family: Eurostile, sans-serif;
}
.text_center {
  text-align: center;
}
.text-size-heading {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .text-size-heading {
    font-size: 1.25rem;
  }
}
.text-size-body {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .text-size-body {
    font-size: 0.875rem;
  }
}
.color_main {
  color: #003557;
}
.color_sub {
  color: #ffd900;
}
main {
  overflow: clip;
}
main:after {
  position: fixed;
  content: "";
  top: 0;
  width: 100%;
  height: 100%;
  left: 0;
  pointer-events: none;
  border-inline: 1.5rem solid #ffd900;
  border-bottom: 4rem solid #ffd900;
  z-index: 99;
}
@media screen and (max-width: 767px) {
  main:after {
    border-inline-width: 0.5rem;
  }
}
main:before {
  position: fixed;
  content: "";
  width: 100%;
  height: calc(100% + 6.25rem);
  top: 0;
  left: 0;
  border-radius: 6.25rem;
  background: url(../images/img_pc_bg01.webp) center center/cover no-repeat;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  main:before {
    background: url(../images/img_sp_bg01.webp) center center/cover no-repeat;
    border-radius: 3.125rem;
  }
}
.preview {
  padding-block-start: 5rem;
}
@media screen and (max-width: 767px) {
  .preview {
    padding-block-start: 4.875rem;
  }
}
.preview__container {
  width: min(100%, 62.5rem);
  margin-inline: auto;
  padding: 4rem 2.4375rem;
  border: 1px solid #ffd900;
  border-radius: 0.625rem;
  background-color: #00355780;
}
@media screen and (max-width: 767px) {
  .preview__container {
    width: min(100%, 22.375rem);
    padding: 2.5rem 1rem 2.125rem;
  }
}
.preview__title {
  display: flex;
  justify-content: center;
}
.preview__content {
  display: grid;
  grid-template-columns: 30rem minmax(0, 25.75rem);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .preview__content {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
}
.preview__image {
  overflow: hidden;
  border-radius: 0.625rem;
  aspect-ratio: 1/1;
}
.preview__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.preview__body {
  min-width: 0;
  color: #fff;
  font-weight: 700;
}
.preview__heading {
  overflow: hidden;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .preview__heading {
    font-size: 1rem;
  }
}
.preview__text-wrap {
  position: relative;
  margin-top: 1rem;
  padding-right: 1.75rem;
}
@media screen and (max-width: 767px) {
  .preview__text-wrap {
    padding-right: 1rem;
  }
}
.preview__text {
  max-height: 26.75rem;
  overflow-x: hidden;
  overflow-y: auto;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  scrollbar-width: none;
}
@media screen and (max-width: 767px) {
  .preview__text {
    max-height: 16.25rem;
    font-size: 0.875rem;
  }
}
.preview__text:focus-visible {
  outline: 2px solid #ffd900;
  outline-offset: 4px;
}
.preview__text::-webkit-scrollbar {
  display: none;
}
.preview__text p + p {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .preview__text p + p {
    margin-top: 1.125rem;
  }
}
.preview__scrollbar {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 0.25rem;
  background-color: #ffffff40;
}
.preview__scrollbar-thumb {
  position: absolute;
  top: var(--preview-scrollbar-top, 0);
  left: 0;
  width: 100%;
  height: var(--preview-scrollbar-height, 80%);
  background-color: #ffd900;
}
.roster {
  padding-block-start: 5rem;
}
.roster:before {
  position: sticky;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  margin-bottom: calc(-100dvh - 2.5rem);
  height: calc(100dvh + 6.25rem);
  background: url(../images/img_pc_bg02.webp) center center/cover no-repeat;
  border-radius: 6.25rem;
}
@media screen and (max-width: 767px) {
  .roster:before {
    background: url(../images/img_sp_bg02.webp) center center/cover no-repeat;
    border-radius: 3.125rem;
    margin-bottom: calc(-100dvh - 6.25rem);
  }
}
.roster__container {
  position: relative;
  width: min(100%, 62.5rem);
  margin-inline: auto;
  padding-inline: 2rem;
}
@media screen and (max-width: 767px) {
  .roster__container {
    padding: 2.5rem 1rem 3rem;
    border-radius: 3rem;
  }
}
.roster__title {
  display: flex;
  justify-content: center;
}
.roster__list {
  display: grid;
  grid-template-columns: repeat(4, 10rem);
  justify-content: center;
  gap: 2.5rem 2rem;
  width: min(100%, 46rem);
  margin: 2.5rem auto 0;
}
@media screen and (max-width: 767px) {
  .roster__list {
    grid-template-columns: repeat(3, 6.875rem);
    gap: 0.625rem 0.875rem;
    width: min(100%, 22.375rem);
    margin-top: 1.5rem;
  }
}
.roster__item {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .roster__item:last-child:nth-child(3n + 1) {
    grid-column: 2;
  }
}
.roster__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 10rem;
  color: #003557;
  font: inherit;
}
@media screen and (max-width: 767px) {
  .roster__card {
    width: 6.875rem;
  }
}
.roster__card:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.roster__image {
  display: block;
  width: 10rem;
  aspect-ratio: 1/1;
  overflow: hidden;
  border: 5px solid transparent;
  border-radius: 0.625rem;
  transition:
    border-color 0.3s ease,
    transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .roster__image {
    width: 6.875rem;
    border-width: 0;
  }
}
.roster__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.roster__card:hover .roster__image {
  border-color: #ffd900;
}
.roster__name {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.4375rem;
  margin-top: 0.5rem;
  color: #003557;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4375;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .roster__name {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    line-height: 1.4;
  }
}
@media (prefers-reduced-motion: reduce) {
  .roster__image {
    transition: none;
  }
  .roster__card:hover .roster__image {
    transform: none;
  }
}
.is-roster-modal-open {
  overflow: hidden;
}
.roster-modal__panel {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #003557;
  color: #fff;
}
.roster-modal__scroll {
  position: relative;
  z-index: 1;
  width: min(100%, 46.1875rem);
}
.roster-modal__content {
  display: grid;
  grid-template-columns: 23.4375rem minmax(0, 1fr);
  align-items: center;
  gap: 2rem;
}
.roster-modal__image {
  overflow: hidden;
  border-radius: 1.25rem;
  aspect-ratio: 600/800;
}
.roster-modal__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.roster-modal__body {
  min-width: 0;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
.roster-modal__name {
  color: #ffd900;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
}
.roster-modal__number {
  margin-top: 0.25rem;
  color: #ffd900;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}
.roster-modal__catch {
  margin-top: 1.5rem;
  color: #ffd900;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}
.roster-modal__profile-title {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.625rem;
  margin-top: 1.5rem;
}
.roster-modal__profile-title span {
  height: 2px;
  background-color: #fff;
}
.roster-modal__profile-title p {
  font-family: Eurostile, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
.roster-modal__profile {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.5rem;
  text-align: left;
}
.roster-modal__profile-row {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.roster-modal__profile-row dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.4375rem;
  min-height: 1.75rem;
  padding: 0.125rem 0.5rem;
  background-color: #f1f1f1;
  color: #003557;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  flex-shrink: 0;
}
.roster-modal__profile-row dd {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
.roster-modal__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 20rem;
  min-height: 3.1875rem;
  margin-top: 2.5rem;
  padding: 0.625rem 1rem;
  border: 2px solid #003557;
  border-radius: 999px;
  background-color: #ffd900;
  color: #003557;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  transition: opacity 0.3s ease;
}
.roster-modal__button:hover {
  opacity: 0.75;
}
.roster-modal__button img {
  width: 0.75rem;
  height: 0.9375rem;
}
.roster-modal__nav:focus-visible,
.roster-modal__button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}
.roster-modal__nav {
  position: absolute;
  top: 50%;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: #fff;
  transition:
    opacity 0.3s ease,
    transform 0.35s ease;
  transform: translate(110vw, -50%);
}
.roster-modal.is-active .roster-modal__nav {
  transform: translateY(-50%);
}
.roster-modal__nav:hover {
  opacity: 0.75;
}
.roster-modal__nav img {
  width: 0.75rem;
  height: 0.9375rem;
}
.roster-modal__nav--prev {
  left: 5rem;
}
.roster-modal__nav--prev img {
  transform: rotate(180deg);
}
.roster-modal__nav--next {
  right: 5rem;
}
@media screen and (max-width: 767px) {
  .roster-modal__panel {
    inset-block-start: 4.5rem;
    inset-block-end: auto;
    inset-inline: 0.5rem;
    display: block;
    block-size: min(40.0625rem, 100dvh - 7rem);
    overflow: hidden;
  }
  .roster-modal__panel:before {
    width: 2.875rem;
    height: 1.375rem;
  }
  .roster-modal__panel:after {
    display: none;
  }
  .roster-modal__scroll {
    width: min(100%, 17.8125rem);
    height: 100%;
    margin-inline: auto;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
  }
  .roster-modal__scroll::-webkit-scrollbar {
    display: none;
  }
  .roster-modal__content {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-block: 2rem 2.5rem;
    padding-inline: 0;
  }
  .roster-modal__image {
    order: 2;
    width: 17.8125rem;
    margin-top: 1.0625rem;
  }
  .roster-modal__body {
    display: contents;
  }
  .roster-modal__name {
    order: 0;
    font-size: 1rem;
  }
  .roster-modal__number {
    order: 1;
    margin-top: 0.25rem;
    font-size: 0.875rem;
  }
  .roster-modal__catch {
    order: 3;
    margin-top: 1.125rem;
    font-size: 1rem;
  }
  .roster-modal__profile-title {
    order: 4;
    width: 100%;
    margin-top: 1.25rem;
  }
  .roster-modal__profile-title p {
    font-size: 1rem;
  }
  .roster-modal__profile {
    order: 5;
    gap: 1rem;
    width: 100%;
    margin-top: 1.25rem;
  }
  .roster-modal__profile-row dt {
    width: 4.875rem;
    min-height: 1.375rem;
    font-size: 0.75rem;
  }
  .roster-modal__profile-row dd {
    font-size: 0.875rem;
  }
  .roster-modal__button {
    order: 6;
    width: 17.8125rem;
    min-height: 3rem;
    margin-top: 1.5rem;
    font-size: 0.875rem;
  }
  .roster-modal__nav {
    top: 18.0625rem;
    width: 3rem;
    height: 3rem;
    transform: translate(110vw);
  }
  .roster-modal.is-active .roster-modal__nav {
    transform: translate(0);
  }
  .roster-modal__nav--prev {
    left: 0.5rem;
  }
  .roster-modal__nav--next {
    right: 0.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .roster-modal__button,
  .roster-modal__nav {
    transition: none;
  }
}
.schedule {
  padding-block-start: 5rem;
}
@media screen and (max-width: 767px) {
  .schedule {
    padding-block-start: 4.5rem;
  }
}
.schedule__title {
  display: flex;
  justify-content: center;
}
.schedule__tabs {
  max-width: 43.125rem;
  display: flex;
  justify-content: center;
  gap: 1.125rem;
  margin-inline: auto;
  margin-top: 2.25rem;
}
@media screen and (max-width: 767px) {
  .schedule__tabs {
    width: min(100%, 21.375rem);
    gap: 1rem;
    margin-top: 1.5rem;
  }
}
.schedule__tabs:has(.schedule__tab:only-child) {
  display: none;
}
@media screen and (max-width: 767px) {
  .schedule__tabs:has(.schedule__tab:nth-child(3)) {
    gap: 0.375rem;
  }
}
.schedule__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(33.3333333333% - 0.75rem);
  min-height: 2.375rem;
  border-radius: 999px;
  background-color: #f4f5f6;
  color: #ced3d9;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .schedule__tab {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    min-height: 2.5rem;
    font-size: 0.875rem;
  }
}
.schedule__tab:hover {
  opacity: 0.75;
}
.schedule__tab:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.schedule__tab.is-active {
  background-color: #ffd900;
  color: #003557;
}
.schedule__panels {
  width: min(100%, 43.125rem);
  margin-top: 1.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .schedule__panels {
    width: min(100%, 21.375rem);
    margin-top: 1.5rem;
  }
}
.schedule__panel[hidden] {
  display: none;
}
.schedule__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .schedule__list {
    gap: 0.5rem;
  }
}
.schedule__item {
  display: grid;
  grid-template-columns: 6.75rem 1fr;
  align-items: center;
  min-height: 4rem;
  padding: 0.625rem 1.5rem;
  border-radius: 0.3125rem;
  background-color: #fff;
  color: #003557;
}
@media screen and (max-width: 767px) {
  .schedule__item {
    grid-template-columns: 4.375rem minmax(0, 1fr);
    min-height: 3rem;
    padding-block: 0.5rem;
    padding-inline: 0.9375rem;
  }
}
.schedule__item--highlight {
  background-color: #ffd900;
}
.schedule__time {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.25rem;
  min-width: 0;
  padding-right: 1.25rem;
  border-right: 2px solid #003557;
  font-family: Eurostile, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  justify-content: center;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .schedule__time {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    min-height: 2rem;
    padding-right: 0.875rem;
    font-size: 0.8125rem;
  }
}
.schedule__time span {
  font-family:
    Noto Sans JP,
    sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .schedule__time span {
    font-size: 0.625rem;
    line-height: 1;
  }
}
.schedule__text {
  min-width: 0;
  padding-left: 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .schedule__text {
    padding-left: 0.6875rem;
    font-size: 0.875rem;
  }
}
.schedule__notes {
  width: min(100%, 40rem);
  margin-top: 1.5rem;
  margin-inline: auto;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .schedule__notes {
    width: min(100%, 20.375rem);
    margin-top: 1.25rem;
    font-size: 0.75rem;
  }
}
.schedule__notes p + p {
  margin-top: 0.125rem;
}
@media (prefers-reduced-motion: reduce) {
  .schedule__tab {
    transition: none;
  }
}
.shop-block {
  position: relative;
  padding-block-start: 4.75rem;
}
@media screen and (max-width: 767px) {
  .shop-block {
    padding-block-start: 3rem;
  }
}
.shop-block:before {
  position: sticky;
  top: 0;
  display: block;
  width: 100%;
  height: calc(100dvh + 6.25rem);
  margin-bottom: calc(-100dvh - 6.25rem);
  border-radius: 6.25rem;
  background: url(../images/img_pc_bg03.webp) center center/cover no-repeat;
  content: "";
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .shop-block:before {
    border-radius: 3.125rem;
    background-image: url(../images/img_sp_bg03.webp);
  }
}
.shop-block > section {
  position: relative;
}
.gourmet {
  padding-block-start: 4rem;
}
@media screen and (max-width: 767px) {
  .gourmet {
    padding-block-start: 2.375rem;
  }
}
@media screen and (max-width: 767px) {
  .gourmet .inner {
    padding-inline: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .gourmet .product-slider__slider {
    padding-inline-start: 0.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .goods .product-slider__slider {
    padding-inline-start: 0.9375rem;
  }
}
.gourmet__container,
.goods__container {
  position: relative;
  width: min(100%, 61.25rem);
  margin-inline: auto;
}
.gourmet__title,
.goods__title {
  display: flex;
  justify-content: center;
}
.gourmet__mascot {
  position: absolute;
  top: -0.8125rem;
  right: 4.5rem;
  width: 11.5625rem;
  animation: shop-mascot-sway 2.6s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .gourmet__mascot {
    top: -0.375rem;
    right: 0.4375rem;
    width: 4.4375rem;
  }
}
.gourmet__lead {
  width: min(100%, 43rem);
  margin: 1.5rem auto 0;
  color: #003557;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .gourmet__lead {
    width: min(100%, 20.4375rem);
    margin-block-start: 1.5rem;
    margin-inline: auto;
    font-size: 0.875rem;
  }
}
.product-slider {
  width: min(100%, 61.25rem);
  margin: 1.75rem auto 0;
}
@media screen and (max-width: 767px) {
  .product-slider {
    width: min(100%, 23.375rem);
    margin-block-start: 1.625rem;
    margin-inline: auto;
  }
}
.product-slider__slider {
  overflow: visible;
}
.product-slider__slider.is-static {
  visibility: visible;
}
.product-slider .splide__track {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .product-slider .splide__track {
    overflow: visible;
  }
}
.product-slider .splide__list {
  align-items: stretch;
}
.product-slider__slider.is-static .splide__list {
  display: flex;
  gap: 2.5rem;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .product-slider__slider.is-static .splide__list {
    gap: 1.5rem;
  }
}
.product-slider .splide__slide {
  width: 18.75rem;
}
@media screen and (max-width: 767px) {
  .product-slider .splide__slide {
    width: 12.5rem;
  }
}
.product-slider__controls {
  display: grid;
  grid-template-columns: 3rem 3rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .product-slider__controls {
    grid-template-columns: 3rem 3rem 12.375rem;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
  }
}
.product-slider__controls.is-hidden {
  display: none;
}
.product-slider__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid #003557;
  border-radius: 50%;
  background-color: #fff;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .product-slider__arrow {
    width: 3rem;
    height: 3rem;
  }
}
.product-slider__arrow:focus-visible,
.product-slider__progress:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.product-slider__arrow img {
  width: 0.75rem;
  height: 0.9375rem;
}
.product-slider__arrow--prev {
  padding-right: 0.3125rem;
}
.product-slider__arrow--prev img {
  transform: rotate(180deg);
}
.product-slider__arrow--next {
  padding-left: 0.1875rem;
}
.product-slider__progress {
  position: relative;
  height: 1.25rem;
  cursor: grab;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 767px) {
  .product-slider__progress {
    width: 11.375rem;
    margin-inline-start: 1rem;
  }
}
.product-slider__progress:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 0.375rem;
  background-color: #fff;
  content: "";
  transform: translateY(-50%);
}
.product-slider__progress-thumb {
  position: absolute;
  top: 50%;
  left: var(--product-slider-thumb-left, 0);
  width: var(--product-slider-thumb-width, 36%);
  height: 0.375rem;
  background-color: #003557;
  transform: translateY(-50%);
  transition: all 0.45s;
}
.bnr {
  padding-block: 3rem;
}
@media screen and (max-width: 767px) {
  .bnr {
    padding-block: 2rem;
  }
}
.bnr__label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 40rem);
  min-height: 3rem;
  margin-inline: auto;
  border-radius: 0.3125rem;
  background-color: #003557;
  color: #ffd900;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .bnr__label {
    width: min(100%, 20.875rem);
    min-height: 2.5rem;
    padding-inline: 0.75rem;
    font-size: 1rem;
  }
}
.bnr__label:after {
  position: absolute;
  bottom: -0.9375rem;
  left: 50%;
  width: 1.875rem;
  height: 1.875rem;
  background-color: #003557;
  content: "";
  transform: translate(-50%) rotate(45deg);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .bnr__label:after {
    bottom: auto;
    inset-block-start: 100%;
    width: 1.25rem;
    height: 1rem;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: translate(-50%);
  }
}
.bnr__link {
  display: block;
  width: min(100%, 44rem);
  margin: 3rem auto 0;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .bnr__link {
    width: min(100%, 20.875rem);
    margin-top: 1.75rem;
  }
}
a.bnr__link:hover {
  opacity: 0.75;
}
.bnr__link:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.bnr__link img {
  width: 100%;
  border-radius: 0.25rem;
}
@media screen and (max-width: 767px) {
  .bnr--gourmet {
    padding-block: 1.5rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .bnr--gourmet .bnr__label {
    width: min(100%, 20.375rem);
  }
}
@media screen and (max-width: 767px) {
  .bnr--gourmet .bnr__link {
    width: min(100%, 20.25rem);
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .bnr--goods {
    padding-block: 1.5rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .bnr--goods .bnr__label {
    width: min(100%, 20.375rem);
  }
}
@media screen and (max-width: 767px) {
  .bnr--goods .bnr__link {
    width: min(100%, 20.25rem);
    margin-top: 2.5rem;
  }
}
.goods {
  padding-block-start: 5rem;
}
@media screen and (max-width: 767px) {
  .goods {
    padding-block-start: 2.875rem;
  }
}
@media screen and (max-width: 767px) {
  .goods .inner {
    padding-inline: 0.5rem;
  }
}
.goods__mascot {
  position: absolute;
  top: -2.75rem;
  left: 10.25rem;
  width: 10rem;
  animation: shop-mascot-sway 2.6s ease-in-out infinite;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .goods__mascot {
    top: -1.6875rem;
    left: 0.5625rem;
    width: 5.0625rem;
  }
}
.goods__time {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(100%, 31.25rem);
  min-height: 8rem;
  margin: 2.5rem auto 0;
  border: 1px solid #003557;
  border-radius: 0.3125rem;
  background-color: #fff;
  color: #003557;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .goods__time {
    width: min(100%, 20.5rem);
    min-height: 6.3125rem;
    margin-block-start: 1.5rem;
    margin-inline: auto;
  }
}
.goods__time-label {
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #ffd900;
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .goods__time-label {
    min-width: 10.4375rem;
    padding-bottom: 0.1875rem;
    font-size: 0.875rem;
  }
}
.goods__time-range {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 0.625rem;
  font-size: 2rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .goods__time-range {
    gap: 1rem;
    margin-top: 0.5625rem;
    font-size: 1.5rem;
  }
}
.goods__time-range em {
  font-family:
    Noto Sans JP,
    sans-serif;
  font-size: 1.25rem;
  font-style: normal;
}
@media screen and (max-width: 767px) {
  .goods__time-range em {
    font-size: 1rem;
  }
}
.goods__time-note {
  margin-top: 0.625rem;
  color: #dc0017;
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .goods__time-note {
    margin-top: 0.5rem;
    font-size: 0.875rem;
  }
}
.goods__button {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .goods__button {
    margin-top: 1.5rem;
  }
}
.goods__shop-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-width: 25.8125rem;
  min-height: 4rem;
  padding: 0.75rem 1.5rem;
  border: 2px solid #003557;
  border-radius: 999px;
  background-color: #fff;
  color: #003557;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  transition: all 0.45s;
}
@media screen and (max-width: 767px) {
  .goods__shop-link {
    gap: 0.75rem;
    min-width: 0;
    width: min(100%, 19.375rem);
    min-height: 3rem;
    padding-block: 0.625rem;
    padding-inline: 1.375rem;
    background-color: #003557;
    color: #ffd900;
    font-size: 0.875rem;
  }
}
.goods__shop-link:hover {
  background-color: #003557;
  color: #ffd900;
  opacity: 1;
}
.goods__shop-link:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.goods__shop-icon {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M35.0002%209.99992H11.7502L9.90023%204.46659C9.78842%204.13556%209.5754%203.84803%209.29128%203.64466C9.00715%203.44129%208.6663%203.33236%208.31689%203.33326H3.31689V6.66659H7.11689L13.0169%2024.3833C13.2377%2025.0484%2013.6625%2025.6271%2014.231%2026.037C14.7995%2026.4469%2015.4827%2026.6672%2016.1836%2026.6666H28.8336C29.5118%2026.6654%2030.1735%2026.4573%2030.7304%2026.0702C31.2873%2025.6831%2031.7128%2025.1353%2031.9502%2024.4999L36.5502%2012.2499C36.6453%2011.9987%2036.6781%2011.7282%2036.6458%2011.4616C36.6135%2011.1949%2036.517%2010.9401%2036.3646%2010.7189C36.2122%2010.4977%2036.0085%2010.3168%2035.7709%2010.1915C35.5333%2010.0663%2035.2688%2010.0006%2035.0002%209.99992ZM16.6669%2029.9999C15.7828%2029.9999%2014.935%2030.3511%2014.3099%2030.9762C13.6848%2031.6014%2013.3336%2032.4492%2013.3336%2033.3333C13.3336%2034.2173%2013.6848%2035.0652%2014.3099%2035.6903C14.935%2036.3154%2015.7828%2036.6666%2016.6669%2036.6666C17.551%2036.6666%2018.3988%2036.3154%2019.0239%2035.6903C19.649%2035.0652%2020.0002%2034.2173%2020.0002%2033.3333C20.0002%2032.4492%2019.649%2031.6014%2019.0239%2030.9762C18.3988%2030.3511%2017.551%2029.9999%2016.6669%2029.9999ZM28.3336%2029.9999C27.4495%2029.9999%2026.6017%2030.3511%2025.9765%2030.9762C25.3514%2031.6014%2025.0002%2032.4492%2025.0002%2033.3333C25.0002%2034.2173%2025.3514%2035.0652%2025.9765%2035.6903C26.6017%2036.3154%2027.4495%2036.6666%2028.3336%2036.6666C29.2176%2036.6666%2030.0655%2036.3154%2030.6906%2035.6903C31.3157%2035.0652%2031.6669%2034.2173%2031.6669%2033.3333C31.6669%2032.4492%2031.3157%2031.6014%2030.6906%2030.9762C30.0655%2030.3511%2029.2176%2029.9999%2028.3336%2029.9999Z'%20fill='%23003557'/%3e%3c/svg%3e")
    center/contain no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M35.0002%209.99992H11.7502L9.90023%204.46659C9.78842%204.13556%209.5754%203.84803%209.29128%203.64466C9.00715%203.44129%208.6663%203.33236%208.31689%203.33326H3.31689V6.66659H7.11689L13.0169%2024.3833C13.2377%2025.0484%2013.6625%2025.6271%2014.231%2026.037C14.7995%2026.4469%2015.4827%2026.6672%2016.1836%2026.6666H28.8336C29.5118%2026.6654%2030.1735%2026.4573%2030.7304%2026.0702C31.2873%2025.6831%2031.7128%2025.1353%2031.9502%2024.4999L36.5502%2012.2499C36.6453%2011.9987%2036.6781%2011.7282%2036.6458%2011.4616C36.6135%2011.1949%2036.517%2010.9401%2036.3646%2010.7189C36.2122%2010.4977%2036.0085%2010.3168%2035.7709%2010.1915C35.5333%2010.0663%2035.2688%2010.0006%2035.0002%209.99992ZM16.6669%2029.9999C15.7828%2029.9999%2014.935%2030.3511%2014.3099%2030.9762C13.6848%2031.6014%2013.3336%2032.4492%2013.3336%2033.3333C13.3336%2034.2173%2013.6848%2035.0652%2014.3099%2035.6903C14.935%2036.3154%2015.7828%2036.6666%2016.6669%2036.6666C17.551%2036.6666%2018.3988%2036.3154%2019.0239%2035.6903C19.649%2035.0652%2020.0002%2034.2173%2020.0002%2033.3333C20.0002%2032.4492%2019.649%2031.6014%2019.0239%2030.9762C18.3988%2030.3511%2017.551%2029.9999%2016.6669%2029.9999ZM28.3336%2029.9999C27.4495%2029.9999%2026.6017%2030.3511%2025.9765%2030.9762C25.3514%2031.6014%2025.0002%2032.4492%2025.0002%2033.3333C25.0002%2034.2173%2025.3514%2035.0652%2025.9765%2035.6903C26.6017%2036.3154%2027.4495%2036.6666%2028.3336%2036.6666C29.2176%2036.6666%2030.0655%2036.3154%2030.6906%2035.6903C31.3157%2035.0652%2031.6669%2034.2173%2031.6669%2033.3333C31.6669%2032.4492%2031.3157%2031.6014%2030.6906%2030.9762C30.0655%2030.3511%2029.2176%2029.9999%2028.3336%2029.9999Z'%20fill='%23003557'/%3e%3c/svg%3e")
    center/contain no-repeat;
  transition: all 0.45s;
}
@media screen and (max-width: 767px) {
  .goods__shop-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.goods__shop-arrow {
  flex: 0 0 auto;
  width: 0.75rem;
  height: 0.9375rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='18'%20height='24'%20viewBox='0%200%2018%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M18%2012L0%20-7.86805e-07L-1.04907e-06%2024L18%2012Z'%20fill='%23003557'/%3e%3c/svg%3e")
    center/contain no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='18'%20height='24'%20viewBox='0%200%2018%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M18%2012L0%20-7.86805e-07L-1.04907e-06%2024L18%2012Z'%20fill='%23003557'/%3e%3c/svg%3e")
    center/contain no-repeat;
  transition: all 0.45s;
}
@media screen and (max-width: 767px) {
  .goods__shop-arrow {
    width: 0.5625rem;
    height: 0.75rem;
  }
}
@keyframes shop-mascot-sway {
  0%,
  to {
    transform: rotate(-4deg);
  }
  50% {
    transform: rotate(4deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .gourmet__mascot,
  .goods__mascot,
  .product-slider__arrow,
  .bnr__link {
    animation: none;
    transition: none;
  }
}
.slogan {
  padding-block: 5rem;
}
@media screen and (max-width: 767px) {
  .slogan {
    padding-block: 2.5rem 3.5rem;
  }
}
.slogan__container {
  max-width: 62.5rem;
  margin-inline: auto;
  padding-block: 4rem 5.625rem;
  padding-inline: 5rem;
  border: 1px solid #ffd900;
  border-radius: 0.625rem;
  background-color: #00355780;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .slogan__container {
    width: min(100%, 22.375rem);
    min-height: 35.375rem;
    padding-block: 2.5rem;
    padding-inline: 1rem;
    border-radius: 0.625rem;
  }
}
.slogan__title {
  display: flex;
  justify-content: center;
}
.slogan__logo {
  display: block;
  width: min(100%, 44rem);
  margin: 2.5rem auto 0;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .slogan__logo {
    width: min(100%, 20.375rem);
    margin-block-start: 1.625rem;
    margin-inline: auto;
  }
}
.slogan__logo img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .slogan__logo img {
    aspect-ratio: 326/78;
    object-fit: contain;
  }
}
.slogan__description {
  max-width: 52.5rem;
  max-height: 30rem;
  margin-block-start: 2.5rem;
  margin-inline: auto;
  padding-right: 1.75rem;
  overflow-x: hidden;
  overflow-y: auto;
  font-weight: 700;
  line-height: 1.5;
  scrollbar-color: #ffd900 rgba(255, 255, 255, 0.25);
  scrollbar-width: thin;
}
@media screen and (max-width: 767px) {
  .slogan__description {
    max-width: 20.375rem;
    max-height: 18.5rem;
    margin-block-start: 1.5rem;
    margin-inline: auto;
    padding-right: 1rem;
    font-size: 0.875rem;
  }
}
.slogan__description::-webkit-scrollbar {
  width: 0.25rem;
}
.slogan__description::-webkit-scrollbar-track {
  background-color: #ffffff40;
}
.slogan__description::-webkit-scrollbar-thumb {
  background-color: #ffd900;
}
.slogan__lead {
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .slogan__lead {
    font-size: 1.5rem;
  }
}
.slogan__text {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .slogan__text {
    margin-top: 1rem;
  }
}
.slogan__text p + p {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .slogan__text p + p {
    margin-top: 1.25rem;
  }
}
.ticket {
  position: relative;
  overflow: hidden;
  margin-top: 1.5rem;
  padding-top: 3.875rem;
  border: 0.5rem solid #003557;
  border-bottom: 0;
  border-radius: 6.25rem 6.25rem 0 0;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .ticket {
    margin-top: 2.875rem;
    padding-top: 2.5rem;
    padding-inline: 0;
    border-radius: 3.125rem 3.125rem 0 0;
  }
}
.ticket__title {
  position: relative;
  z-index: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ticket__title .title__main {
    max-width: none;
  }
}
.ticket__venue {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.125rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .ticket__venue {
    gap: 0.75rem;
    margin-top: 1.5rem;
  }
}
.ticket__venue-line {
  flex: 1;
  max-width: 13.75rem;
  height: 1px;
  background-color: #003557;
}
@media screen and (max-width: 767px) {
  .ticket__venue-line {
    max-width: 4rem;
  }
}
.ticket__venue-name {
  color: #003557;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ticket__venue-name {
    font-size: 1.25rem;
  }
}
.ticket__maps {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 40.125rem) minmax(0, 32.5rem);
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .ticket__maps {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
}
.ticket__maps--single {
  grid-template-columns: minmax(0, 65.75rem);
}
.ticket__seat-map,
.ticket__seat-info {
  display: flex;
  justify-content: center;
}
.ticket__seat-map img,
.ticket__seat-info img {
  display: block;
  width: 100%;
  height: auto;
}
.ticket__seat-map img {
  max-width: 40.125rem;
}
@media screen and (max-width: 767px) {
  .ticket__seat-map img {
    max-width: 22.375rem;
  }
}
.ticket__maps--single .ticket__seat-map img {
  max-width: 65.75rem;
}
.ticket__seat-info img {
  max-width: 32.5rem;
}
@media screen and (max-width: 767px) {
  .ticket__seat-info img {
    max-width: 22.375rem;
  }
}
.ticket__lead {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 40rem);
  min-height: 3rem;
  margin: 2.875rem auto 0;
  border-radius: 0.3125rem;
  background-color: #003557;
  color: #ffd900;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ticket__lead {
    width: min(100%, 20.375rem);
    min-height: 3rem;
    margin-block-start: 1.5rem;
    margin-inline: auto;
    font-size: 1rem;
  }
}
.ticket__lead:after {
  position: absolute;
  bottom: -0.9375rem;
  left: 50%;
  width: 1.875rem;
  height: 1.875rem;
  background-color: #003557;
  content: "";
  transform: translate(-50%) rotate(45deg);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .ticket__lead:after {
    bottom: -0.75rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.ticket-slider {
  position: relative;
  z-index: 1;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .ticket-slider {
    margin-top: 2.5rem;
    padding-bottom: 1.75rem;
  }
}
.ticket-slider__viewport {
  overflow: visible;
  cursor: grab;
}
.ticket-slider.is-dragging .ticket-slider__viewport {
  cursor: grabbing;
}
.ticket-slider__viewport:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: -3px;
}
.ticket-slider__list {
  align-items: stretch;
}
.ticket-slider__item {
  width: 40rem;
}
.ticket-slider__arrow {
  position: absolute;
  top: 11.625rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border: 0;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #003557;
  box-shadow: 0 0.25rem 0.75rem #0000001f;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .ticket-slider__arrow {
    top: 14.25rem;
    width: 3rem;
    height: 3rem;
  }
}
.ticket-slider__arrow:hover {
  opacity: 0.75;
}
.ticket-slider__arrow:focus-visible,
.ticket-slider__dot:focus-visible,
.ticket__link:focus-visible {
  outline: 3px solid #ffd900;
  outline-offset: 4px;
}
.ticket-slider__arrow img {
  width: 0.75rem;
  height: 0.9375rem;
}
.ticket-slider__arrow--prev {
  left: max(1.5rem, 50vw - 24.375rem);
  padding-right: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .ticket-slider__arrow--prev {
    left: 0.5rem;
  }
}
.ticket-slider__arrow--prev img {
  transform: rotate(180deg);
}
.ticket-slider__arrow--next {
  right: max(1.5rem, 50vw - 24.375rem);
  padding-left: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .ticket-slider__arrow--next {
    right: 0.5rem;
  }
}
.ticket-slider__dots {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .ticket-slider__dots {
    margin-top: 0.875rem;
  }
}
.ticket-slider__dot {
  width: 1.25rem;
  height: 1.25rem;
  border: 0;
  border-radius: 50%;
  background-color: #ced3d9;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .ticket-slider__dot {
    width: 0.625rem;
    height: 0.625rem;
  }
}
.ticket-slider__dot.is-active {
  background-color: #003557;
}
.seat-card {
  --seat-card-color: #e94d40;
  overflow: hidden;
  border: 2px solid var(--seat-card-color);
  border-radius: 0.625rem 0.625rem 0.3125rem 0.3125rem;
  background-color: #fff;
  height: 100%;
}
.seat-card--green {
  --seat-card-color: #007800;
}
.seat-card--coral {
  --seat-card-color: #f3735b;
}
.seat-card--blue {
  --seat-card-color: #1b69b5;
}
.seat-card--orange {
  --seat-card-color: #f58220;
}
.seat-card--navy {
  --seat-card-color: #003557;
}
.seat-card__title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding-inline: 1.25rem;
  background-color: var(--seat-card-color);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .seat-card__title {
    min-height: 2.5rem;
    font-size: 1rem;
  }
}
.seat-card__body {
  padding: 1.375rem 1.5rem 2.75rem;
}
@media screen and (max-width: 767px) {
  .seat-card__body {
    padding-block: 1rem 1.5rem;
    padding-inline: 1.0625rem;
  }
}
.seat-card__catch {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  padding: 0.5rem 1rem;
  border-radius: 0.3125rem;
  background-color: #003557;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .seat-card__catch {
    padding-block: 0.5rem;
    padding-inline: 1rem;
    font-size: 0.875rem;
  }
}
.seat-card__content {
  display: grid;
  grid-template-columns: 20rem minmax(0, 1fr);
  gap: 1.5rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .seat-card__content {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 1rem;
  }
}
.seat-card__image {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 0.3125rem;
  object-fit: cover;
}
.seat-card__text {
  color: #0f1011;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .seat-card__text {
    width: min(100%, 17.5rem);
    margin-block-start: 0.625rem;
    margin-inline: auto;
    font-size: 0.875rem;
  }
}
.ticket__button {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
}
.ticket__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-width: 22.5rem;
  min-height: 4rem;
  padding: 0.75rem 1.5rem;
  border: 2px solid #003557;
  border-radius: 999px;
  background-color: #fff;
  color: #003557;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .ticket__link {
    gap: 0.5rem;
    min-width: 0;
    width: min(100%, 20.875rem);
    min-height: 3.5rem;
    padding: 0.625rem 1.125rem;
    font-size: 0.875rem;
  }
}
.ticket__link:hover {
  background-color: #003557;
  color: #fff;
}
.ticket__link img:first-child {
  width: 2.5rem;
  height: 2.5rem;
}
@media screen and (max-width: 767px) {
  .ticket__link img:first-child {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.ticket__link img:last-child {
  width: 0.75rem;
  height: 0.9375rem;
}
.ticket__link:hover img {
  filter: brightness(0) invert(1);
}
.u-animation {
  --animation-duration: 0.35s;
  --animation-delay: 0s;
  --animation-easing: cubic-bezier(0.44, 0.42, 0.24, 1.55);
  --animation-scale-from: 0.88;
  --animation-origin: center center;
  opacity: 0;
  transform: scale(var(--animation-scale-from));
  transform-origin: var(--animation-origin);
  will-change: opacity, transform;
}
.u-animation.is-inview {
  opacity: 1;
  transform: scale(1);
  transition:
    opacity var(--animation-duration) linear var(--animation-delay),
    transform var(--animation-duration) var(--animation-easing) var(--animation-delay),
    background-color 0.3s ease,
    border-color 0.3s ease,
    color 0.3s ease;
}
.u-animation--title {
  --animation-duration: 0.35s;
  --animation-easing: cubic-bezier(0.49, 0.25, 0.3, 1.31);
  --animation-scale-from: 0.88;
  --animation-origin: center bottom;
}
.u-animation--title-sub {
  --animation-duration: 0.3s;
  --animation-delay: 0.15s;
  --animation-scale-from: 0.88;
}
.u-animation--text {
  --animation-duration: 0.4s;
  --animation-scale-from: 0.96;
}
.u-animation--card {
  --animation-duration: 0.35s;
  --animation-scale-from: 0.92;
}
.u-animation--decor {
  --animation-duration: 0.3s;
  --animation-scale-from: 0.75;
}
.u-animation--decor-small {
  --animation-duration: 0.3s;
  --animation-scale-from: 0.7;
}
.u-animation--decor-large {
  --animation-duration: 0.3s;
  --animation-scale-from: 0.82;
}
.u-animation--button {
  --animation-duration: 0.35s;
  --animation-delay: 0.05s;
  --animation-scale-from: 0.88;
}
.u-animation--image {
  --animation-duration: 0.45s;
  --animation-scale-from: 0.94;
}
.u-animation--image-large {
  --animation-duration: 0.45s;
  --animation-scale-from: 0.96;
}
.u-animation--pop {
  --animation-duration: 0.52s;
  --animation-easing: cubic-bezier(0.18, 0.82, 0.32, 1.42);
  --animation-scale-from: 0.68;
}
.u-animation--badge {
  --animation-duration: 0.28s;
  --animation-delay: 0.15s;
  --animation-scale-from: 0.72;
}
.u-animation--list {
  --animation-duration: 0.3s;
  --animation-scale-from: 0.94;
}
.u-animation--hover-card,
.u-animation--hover-button {
  --animation-hover-duration: 0.2s;
  --animation-hover-easing: cubic-bezier(0.44, 0.42, 0.24, 1.55);
}
.u-animation--hover-card.is-inview:hover {
  transform: scale(1.04);
  transition-delay: 0s;
  transition-duration: var(--animation-hover-duration);
  transition-timing-function: var(--animation-hover-easing);
}
.u-animation--hover-button.is-inview:hover {
  transform: translateY(-0.125rem) scale(1.06);
  transition-delay: 0s;
  transition-duration: var(--animation-hover-duration);
  transition-timing-function: var(--animation-hover-easing);
}
.u-animation-stagger > * {
  --animation-delay: min(calc(var(--animation-index, 0) * 0.08s), 0.35s);
}
.u-animation-stagger--cards > * {
  --animation-delay: calc((var(--animation-col, 0) * 0.07s) + (var(--animation-row, 0) * 0.08s));
}
.u-animation-stagger--badges > * {
  --animation-delay: calc(0.15s + (var(--animation-index, 0) * 0.05s));
}
.u-animation-stagger--list > * {
  --animation-delay: min(calc(var(--animation-index, 0) * 0.06s), 0.3s);
}
.u-animation--delay-none {
  --animation-delay: 0s;
}
@media (prefers-reduced-motion: reduce) {
  .u-animation {
    opacity: 1;
    transform: none;
    transition: none;
    will-change: auto;
  }
  .u-animation.is-inview {
    transition: none;
  }
}
