:root {
  --color-background: #fff;
  --color-background-high: #f9e7e7;
  --color-text: #5e565a;
  --color-text-high: #7d938a;
  --color-gold: gold;
  --swiper-theme-color: var(--color-text);
  --swiper-navigation-size: 1rem;
  --swiper-pagination-bottom: 0px;
  --swiper-scrollbar-sides-offset: 0px;
  --swiper-scrollbar-bottom: 0px;
  --swiper-scrollbar-drag-bg-color: var(--color-gold);
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-background: #222;
    --color-background-high: #363234;
    --color-text: #f9e7e7;
    --color-text-high: #7d938a;
    --swiper-theme-color: var(--color-text);
  }
}

html {
  scroll-padding-top: var(--header-height, 175px);
  scroll-behavior: smooth;
}

@media screen and (min-width: 1008px) {
  html {
    scroll-padding-top: var(--header-height, 200px);
  }
}

body {
  min-height: 100vh;
  background-color: var(--color-background);
  color: var(--color-text);
  flex-direction: column;
  font-family: Playfair Display, serif;
  font-size: 1rem;
  display: flex;
}

h1, h2, h3 {
  margin: 0;
  font-family: Great Vibes, cursive;
}

h1 {
  font-size: 2rem;
  font-weight: 400;
}

@media screen and (min-width: 1008px) {
  h1 {
    font-size: 2.5rem;
  }
}

h2 {
  font-size: 1.5rem;
  font-weight: 300;
}

@media screen and (min-width: 1008px) {
  h2 {
    font-size: 2rem;
  }
}

h3 {
  color: var(--color-text);
  align-items: center;
  gap: .5rem;
  font-family: Merienda, cursive;
  font-size: 1.5rem;
  display: flex;
}

h4, p {
  margin: 0;
}

i {
  font-size: .75rem;
}

a {
  color: var(--color-text-high);
  text-decoration: none;
}

button {
  color: var(--color-text);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  display: flex;
}

button:before {
  content: "";
  width: 40px;
  height: 40px;
  position: absolute;
}

main {
  flex-direction: column;
  flex-grow: 1;
  gap: 1.5rem;
  display: flex;
}

footer {
  background-color: var(--color-background-high);
  justify-content: center;
  align-items: center;
  display: flex;
}

footer .NavigationList {
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}

iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  margin-top: 2rem;
}

@media screen and (min-width: 1008px) {
  iframe {
    aspect-ratio: 16 / 9;
  }
}

.u-NoList {
  margin: 0;
  padding: 0;
  list-style: none;
}

.Header {
  z-index: 10;
  background-color: var(--color-background-high);
  background: linear-gradient(126deg, var(--color-background-high) 0%, var(--color-background) 50%, var(--color-background-high) 100%);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  display: flex;
  position: sticky;
  top: 0;
}

@media screen and (max-width: 1008px) {
  .Header.Header--Scrolled [data-collapse-on-scroll] {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
  }

  .Header.Header--Scrolled .Ring {
    width: 1rem;
  }
}

.Header [data-collapse-on-scroll] {
  max-height: 2.5rem;
  transition: max-height .3s ease-in-out, opacity .1s ease-in-out;
}

.Header .Header__Main {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.Header .Header__Title {
  flex-direction: column;
  align-items: center;
  display: flex;
}

.Header .Header__BurgerMenu {
  position: absolute;
  left: 1rem;
}

@media screen and (min-width: 1008px) {
  .Header .Header__BurgerMenu {
    display: none;
  }
}

.Header .Header__Navigation {
  position: relative;
}

.Header .Header__Navigation:before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: var(--color-text);
  background: linear-gradient(to right, transparent 0%, var(--color-text) 50%, transparent);
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 1008px) {
  .Header .Header__Navigation {
    display: none;
  }
}

.TitleWrapper {
  flex-direction: column;
  align-items: center;
  display: flex;
}

@media screen and (min-width: 1008px) {
  .TitleWrapper {
    flex-direction: row;
  }
}

.Rings {
  align-items: center;
  display: flex;
}

.Ring {
  width: 2rem;
  aspect-ratio: 1;
  background: radial-gradient(#0000 0% 50%, var(--color-gold) 50%, #ffe54f 50%, var(--color-gold) 70% 100%);
  border-radius: 50%;
  transition: width .3s ease-in-out;
}

@media screen and (min-width: 1008px) {
  .Ring {
    width: 2.5rem;
  }
}

.Ring:nth-child(1) {
  transform: translate(25%, 5%);
}

.Ring:nth-child(2) {
  transform: translate(-25%, -5%);
}

.Section {
  flex-direction: column;
  gap: 1rem;
  padding: 1rem 1.5rem;
  display: flex;
}

@media screen and (min-width: 1008px) {
  .Section {
    width: 100%;
    max-width: 60rem;
    margin: 0 auto;
    padding: 3rem 5rem;
  }
}

.Section .Section__Content {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.Divider {
  width: 85%;
  height: 1px;
  background: linear-gradient(to right, transparent 0%, var(--color-text) 50%, transparent);
  background: linear-gradient(to right, transparent 0%, var(--color-gold) 50%, transparent);
  margin: 0 auto;
}

.Banner {
  width: 100%;
  height: 10rem;
}

.Banner .Banner__Image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 1008px) {
  .Banner {
    height: 15rem;
  }
}

.Drawer {
  width: 100%;
  height: 100%;
  z-index: 100;
  opacity: 0;
  background-color: #00000080;
  transition: opacity .3s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
}

.Drawer[aria-hidden="true"] {
  display: none;
}

.Drawer.Drawer--Visible {
  opacity: 1;
}

.Drawer.Drawer--Visible .Drawer__Content {
  left: 0;
}

.Drawer .Drawer__Content {
  width: 85%;
  height: 100%;
  background-color: var(--color-background);
  flex-direction: column;
  gap: 2rem;
  padding: 1.5rem;
  transition: all .3s ease-in-out;
  display: flex;
  position: absolute;
  left: -100%;
}

.Drawer .Drawer__Header {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.Drawer .Drawer__Header .Ring {
  width: 1.5rem;
}

.Drawer .Drawer__Close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
}

.NavigationList {
  align-items: center;
  gap: 2rem;
  padding: 1rem;
  display: flex;
}

.NavigationList.NavigationList--Vertical {
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  display: flex;
}

.NavigationList .NavigationList__Item {
  font-size: 1.25rem;
}

.Link {
  color: var(--color-text);
  position: relative;
}

.Link:before {
  content: "";
  width: 0;
  height: 1px;
  background-color: var(--color-text);
  background: linear-gradient(to right, transparent 0%, var(--color-gold) 50%, transparent);
  transition: width .3s ease-in-out;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(100%);
}

.Link:hover:before {
  width: 100%;
}

.List {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.List .List__Item {
  padding-left: 1rem;
  position: relative;
}

.List .List__Item:before {
  content: "";
  width: .25rem;
  height: .25rem;
  background-color: var(--color-gold);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
}

.PasswordOverlay {
  z-index: 100;
  background: var(--color-background);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: none;
  position: fixed;
  inset: 0;
}

.PasswordOverlay.PasswordOverlay--Active {
  display: flex;
}

.PasswordOverlay .PasswordOverlay__DefaultState, .PasswordOverlay .PasswordOverlay__PasswordState, .PasswordOverlay .PasswordOverlay__SuccessState {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  display: none;
}

.PasswordOverlay .PasswordOverlay__DefaultState--Active, .PasswordOverlay .PasswordOverlay__PasswordState--Active, .PasswordOverlay .PasswordOverlay__SuccessState--Active {
  display: flex;
}

.PasswordOverlay .PasswordOverlay__SuccessState .Ring {
  width: 5rem;
  transition: transform .5s ease-in-out;
}

.PasswordOverlay .PasswordOverlay__SuccessState--Loading .Ring {
  width: 5rem;
}

.PasswordOverlay .PasswordOverlay__SuccessState--Loading .Ring:nth-child(1) {
  transform: translate(125%, 5%);
}

.PasswordOverlay .PasswordOverlay__SuccessState--Loading .Ring:nth-child(2) {
  transform: translate(-125%, -5%);
}

.PasswordOverlay input {
  border: 2px solid var(--color-text);
  background-color: var(--color-background-high);
  text-align: center;
  max-width: 10rem;
  color: var(--color-text);
  border-radius: 100vmax;
  padding: 1rem;
  font-size: 2rem;
}

.PasswordOverlay input:focus, .PasswordOverlay input:active {
  border-color: var(--color-text-high);
  outline: none;
}

.TimeTable {
  flex-direction: column;
  gap: 2rem;
  display: flex;
}

.TimeTable li {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.Time {
  gap: 1rem;
  display: flex;
}

.Time svg {
  width: 2rem;
  height: 2rem;
}

.swiper {
  width: 100%;
}

.swiper.ThumbsSwiper .swiper-slide {
  cursor: pointer;
}

.swiper.ThumbsSwiper img {
  aspect-ratio: 1;
  object-fit: cover;
}

.swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}

.swiper-slide.swiper-slide-thumb-active {
  border: 1px solid var(--color-gold);
}

.swiper-slide .Tag {
  background-color: var(--color-background);
  color: var(--color-gold);
  border-radius: 100vmax;
  align-items: center;
  gap: .5rem;
  padding: .25rem .5rem .25rem .25rem;
  font-family: Merienda, cursive;
  display: none;
  position: absolute;
  top: .25rem;
  left: .25rem;
}

.swiper-slide[data-new="true"] .Tag {
  display: flex;
}

.swiper-button-prev, .swiper-button-next {
  width: calc(var(--swiper-navigation-size) * 3);
  height: calc(var(--swiper-navigation-size) * 3);
  background-color: var(--color-background);
  color: var(--color-text);
  border: 1px solid var(--color-text);
  cursor: pointer;
  border-radius: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 1008px) {
  .swiper-button-prev, .swiper-button-next {
    display: none;
  }
}

.swiper-pagination {
  background-color: var(--color-background);
  justify-content: center;
  align-items: center;
  padding: .5rem;
  display: flex;
}

.DownloadLink {
  color: var(--color-text);
  align-items: center;
  gap: .5rem;
  display: flex;
}

/*# sourceMappingURL=index.b2d9cf43.css.map */
