.menu-link a {
  /* layout */
  display: grid;
  grid-template-columns: 1fr auto;
  place-items: center start;
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  padding-inline: var(--space-16, 16px) var(--space-12, 12px);
  padding-block: var(--space-24, 24px);
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-md, 1px) solid transparent;
  outline: var(--border-width-lg, 2px) solid var(--border-bold-link);
  border-radius: var(--rounded-12, 12px);
  /* typography */
  color: var(--color-text-bold-link);
  font-size: var(--font-size-20);
  font-weight: var(--fontweight-bold);
  line-height: 1.2;
  text-decoration: none;
  /* transition */
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease;
}
.menu-link a::after {
  /* layout */
  content: "";
  /* size */
  width: 12px;
  height: auto;
  aspect-ratio: 1;
  /* style */
  border-right: 3px solid var(--border-bold-link);
  border-bottom: 3px solid var(--border-bold-link);
  transform: rotate(-45deg);
  /* animation */
  transition: transform 0.3s ease-in-out;
}
.menu-link a:hover,
.menu-link a:focus {
  /* style */
  background: var(--color-background-hover-default);
  border-color: var(--border-inverse);
}
.menu-link a:hover::after,
.menu-link a:focus::after {
  /* transform */
  transform: translateX(4px) rotate(-45deg);
}
@media (width < 768px) {
  .menu-link a {
    font-size: var(--font-size-18);
  }
  .menu-link a:after {
    width: 10px;
  }
}
/*------------------------
section-title
------------------------*/
.section-title {
  /* layout */
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-2, 2px);
  place-items: center;
  /* position */
  position: relative;
  /* size */
  width: fit-content;
  height: auto;
  /* spacing */
  padding-block-end: var(--space-4, 4px);
  /* typography */
  color: var(--color-text-bold-heading);
  font-size: var(--font-size-28);
  font-weight: var(--fontweight-bold);
  line-height: 1.2;
  letter-spacing: var(--tracking-6);
}
.section-title::after {
  /* layout */
  content: "";
  grid-column: 1;
  grid-row: 2;
  /* size */
  width: 270px;
  height: auto;
  aspect-ratio: 270 / 35;
  /* style */
  background: url(/core/img/deco-title.png) no-repeat center center / contain;
}
@media (width < 768px) {
  .section-title {
    font-size: var(--font-size-24);
  }
  .section-title::after {
    width: 200px;
  }
}
/*------------------------
body.top
------------------------*/
body.top {
  /* style */
  background: var(--color-background-subtle);
}

/*------------------------
important-news
------------------------*/
.important-news {
  /* layout */
  width: 100%;
  height: auto;
  /* spacing */
  margin-block-start: var(--space-16, 16px);
  padding-inline: var(--space-16, 16px);
  padding-block: var(--space-8, 8px) var(--space-12, 12px);
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-lg, 2px) solid var(--border-important);
  border-radius: var(--rounded-16, 16px);
}
.important-news__container {
  /* layout */
  display: flex;
  flex-direction: column;
  gap: var(--space-8, 8px);
  /* size */
  width: 100%;
  height: auto;
}
.important-news__heading {
  /* size */
  width: fit-content;
  height: auto;
  /* spacing */
  /* typography */
  color: var(--color-text-important);
  font-size: var(--font-size-20);
  font-weight: var(--fontweight-bold);
  line-height: 1.5;
  letter-spacing: var(--tracking-6);
}
.important-news__heading.border-title::before {
  background: var(--border-important);
}
.important-news__list {
  /* layout */
  display: flex;
  flex-direction: column;
  gap: var(--space-2, 2px);
  /* style */
  list-style: none;
  padding: 0;
  margin: 0;
}
.important-news__item {
  /* position */
  position: relative;
  /* layout */
  display: flex;
  flex-direction: column;
  /* spacing */
  padding-inline-start: var(--space-12, 12px);
}
.important-news__item::before {
  /* layout */
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: calc(var(--space-8, 8px) + 0.25em);
  transform: translateY(-50%);
  /* size */
  width: 6px;
  height: 6px;
  /* style */
  background-color: var(--marker-important);
  border-radius: var(--rounded-full);
}
.important-news__meta {
  /* layout */
  display: flex;
  align-items: center;
  gap: var(--space-16, 16px);
}
.important-news__date {
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-14);
  font-weight: var(--fontweight-regular);
}
.important-news__title {
  margin: 0;
}
.important-news__link {
  /* typography */
  color: var(--color-text-default-link);
  font-size: var(--font-size-18);
  font-weight: var(--fontweight-regular);
  line-height: 1.5;
  letter-spacing: var(--tracking-1);
  text-decoration: none;
  /* transition */
  transition: color 0.3s ease-in-out;
}
.important-news__link:hover,
.important-news__link:focus {
  /* style */
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 0.2em;
}
.important-news__link:focus-visible {
  /* style */
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
}
@media (width < 768px) {
  .important-news__date,
  .important-news__title {
    font-size: var(--font-size-14);
  }
  .important-news__link {
    font-size: var(--font-size-16);
  }
}
/*------------------------
main
------------------------*/
.main {
  position: relative;
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  padding-block-end: calc(var(--space-24, 24px) + 64px);
  /* style */
  background: var(--color-background-subtle);
}
.main::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 64px;
  background: url(/core/img/deco-section01.png) repeat-x;
  background-position: 0 0;
  background-size: auto 64px;
  background-repeat: repeat-x;
}
.main__container {
  /* layout */
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "open-info search" "mypage search";
  row-gap: var(--space-16, 16px);
  column-gap: var(--space-32, 32px);
  place-items: center;
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  margin-block-start: var(--space-16, 16px);
}
.open-info {
  grid-area: open-info;
  /* layout */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--space-8, 8px);
  /* size */
  width: 100%;
  max-width: 345px;
  height: auto;
  /* spacing */
  padding-block: var(--space-12, 12px) var(--space-16, 16px);
  padding-inline: var(--space-16, 16px);
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-lg, 2px) solid var(--border-theme);
  outline: var(--border-width-lg, 2px) solid var(--border-inverse);
  border-radius: var(--rounded-16, 16px);
}
.open-info__container {
  /* size */
  width: 100%;
  height: auto;
}
.open-info__title {
  /* layout */
  display: grid;
  grid-template-rows: auto 1fr;
  gap: var(--space-4, 4px);
  place-items: center;
  /* position */
  position: relative;
  /* size */
  width: 100%;
  height: auto;
}
.open-info__title span {
  /* layout */
  grid-column: 1;
  grid-row: 2;
  /* typography */
  color: var(--color-text-bold-heading);
  font-size: var(--font-size-28);
  font-weight: var(--fontweight-bold);
  line-height: 1.3;
  letter-spacing: var(--tracking-6);
  text-align: center;
}
.open-info__title::before {
  /* layout */
  content: "";
  grid-column: 1;
  grid-row: 1;
  /* size */
  width: 56px;
  height: auto;
  aspect-ratio: 1;
  /* style */
  background: url(/core/img/ico-open.png) no-repeat center center / contain;
}
.open-info__item {
  /* layout */
  display: flex;
  flex-direction: column;
  gap: var(--space-8, 8px);
}
.open-info__today {
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-20);
  font-weight: var(--fontweight-regular);
  line-height: 1.5;
  text-align: center;
}
.open-info__today span {
  /* spacing */
  padding-inline: var(--space-4, 4px);
  /* typography */
  color: var(--color-text-bold-heading);
  font-size: 1.25em;
  font-weight: var(--fontweight-bold);
}

.open-info__content {
  /* layout */
  display: flex;
  flex-direction: column;
  gap: var(--space-4, 4px);
  justify-content: center;
  align-items: center;
}
.open-info__heading {
  /* layout */
  display: flex;
  /* position */
  position: relative;
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  padding-block-end: var(--space-2, 2px);
  /* typography */
  color: var(--color-text-bold-heading);
  font-size: var(--font-size-22);
  font-weight: var(--fontweight-bold);
  line-height: 1.5;
}
.open-info__heading::after {
  /* layout */
  content: "";
  /* position */
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  /* size */
  width: 100%;
  height: var(--border-width-md, 1px);
  background: var(--border-subtle);
}
.open-info__text {
  /* size */
  width: 100%;
  height: auto;
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-18);
  font-weight: var(--fontweight-regular);
  line-height: 1.5;
}
.open-info__link {
  margin-block-start: var(--space-16, 16px);
}
.open-info .status--closed #status-badge {
  color: var(--border-important);
}
/*------------------------
myPage
------------------------*/
.mypage {
  grid-area: mypage;
  /* layout */
  display: flex;
  flex-direction: column;
  gap: var(--space-8, 8px);
  /* size */
  width: 100%;
  max-width: 345px;
  height: auto;
  /* spacing */
  padding-block: var(--space-8, 8px) var(--space-16, 16px);
  padding-inline: var(--space-16, 16px);
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-lg, 2px) solid var(--border-theme);
  outline: var(--border-width-lg, 2px) solid var(--border-inverse);
  border-radius: var(--rounded-16, 16px);
}
.mypage__title {
  /* spacing */
  padding-block-end: var(--space-8, 8px);
  /* typography */
  color: var(--color-text-bold-heading);
  font-size: var(--font-size-28);
  font-weight: var(--fontweight-bold);
  line-height: 1.5;
  letter-spacing: var(--tracking-6);
  text-align: center;
}
.mypage__container {
  /* layout */
  display: flex;
  flex-direction: column;
  gap: var(--space-12, 12px);
  justify-content: center;
  align-items: center;
}
.mypage__login a {
  /* layout */
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--space-8, 8px);
  place-items: center;
  /* size */
  width: fit-content;
  height: auto;
  /* spacing */
  padding-inline: var(--space-12, 12px) var(--space-24, 24px);
  padding-block: var(--space-6, 6px);
  /* style */
  background: var(--color-background-default);
  border-radius: var(--rounded-full);
  border: var(--border-width-md, 1px) solid var(--border-bold);
  outline: var(--border-width-lg, 2px) solid var(--border-theme-link);
  /* transition */
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease,
    outline-color 0.3s ease;
}
.mypage__login a::before {
  /* layout */
  grid-column: 1;
  content: "";
  /* size */
  width: 36px;
  height: auto;
  aspect-ratio: 1;
  /* style */
  background: url(/core/img/ico-user.png) no-repeat center center / contain;
}
.mypage__login a {
  grid-column: 2;
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-22);
  font-weight: var(--fontweight-bold);
  line-height: 1.5;
}
.mypage__login a::after {
  /* layout */
  grid-column: 3;
  content: "";
  /* size */
  width: 12px;
  height: auto;
  aspect-ratio: 1;
  /* style */
  border-right: 3px solid var(--border-bold-link);
  border-bottom: 3px solid var(--border-bold-link);
  transform: rotate(-45deg);
}
.mypage__login a:hover,
.mypage__login a:focus {
  /* style */
  background-color: var(--color-background-hover-default);
  border-color: var(--border-inverse);
}

.mypage__text-link a {
  --_block-end: var(--space-2, 2px);
  --_arrow-width: 11px;
  --_trans-widht: 4px;
  /* position */
  position: relative;
  display: grid;
  grid-template-columns: auto auto;
  place-items: center start;
  gap: var(--space-4, 4px);
  /* position */
  position: relative;
  /* size */
  width: fit-content;
  height: auto;
  /* spacing */
  padding-inline: var(--space-12, 12px)
    calc(var(--space-16) + var(--_trans-widht));
  padding-block: var(--space-6, 6px);
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-18);
  font-weight: var(--fontweight-bold);
  line-height: 1.2;
}

.mypage__text-link a::before {
  /* layout */
  content: "";
  /* position */
  position: absolute;
  inset-inline-start: var(--space-8, 8px);
  inset-block-end: calc(var(--_block-end) * -1);
  /* size */
  width: 0%;
  height: var(--border-width-lg, 2px);
  /* style */
  background: var(--border-theme);
  /* animation */
  transition: width 0.3s ease-in-out;
}
.mypage__text-link a::after {
  /* layout */
  content: "";
  /* size */
  width: var(--_arrow-width);
  height: auto;
  aspect-ratio: 1;
  /* style */
  border-right: 3px solid var(--border-bold-link);
  border-bottom: 3px solid var(--border-bold-link);
  transform: rotate(-45deg);
  /* animation */
  transition: transform 0.3s ease-in-out;
}
.mypage__text-link a:hover,
.mypage__text-link a:focus {
  /* style */
  text-decoration: none;
}
.mypage__text-link a:hover::before,
.mypage__text-link a:focus::before {
  /* size */
  width: calc(100% - calc(var(--_arrow-width) * 2) - var(--space-16, 16px));
}
.mypage__text-link a:hover::after,
.mypage__text-link a:focus::after {
  /* transform */
  transform: translateX(var(--_trans-widht)) rotate(-45deg);
}
@media (width < 768px) {
  .mypage__text-link a {
    font-size: var(--font-size-16);
  }
  .mypage__text-link a:after {
    width: 9px;
  }
  .mypage__text-link a:hover::before,
  .mypage__text-link a:focus::before {
    /* size */
    width: calc(
      100% - calc(var(--_arrow-width) * 2) - calc(var(--_trans-widht) * 2)
    );
  }
}
/*------------------------
search-box
------------------------*/
.search-box {
  grid-area: search;
  place-self: start center;
  /* layout */
  display: grid;
  place-items: center;
  gap: var(--space-16, 16px);
  /* size */
  width: 100%;
  height: auto;
}
.search-box__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-16, 16px);
  justify-content: center;
  align-items: center;
  /* size */
  width: 100%;
  height: auto;
}
.search-box__form {
  /* layout */
  display: flex;
  flex-direction: column;
  row-gap: var(--space-8, 8px);
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  padding-block: var(--space-16, 16px);
  padding-inline: var(--space-16, 16px);
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-lg, 2px) solid var(--border-theme);
  outline: var(--border-width-lg, 2px) solid var(--border-inverse);
  border-radius: var(--rounded-16, 16px);
}
.search-box__form-title {
  /* size */
  width: fit-content;
  height: auto;
  /* typography */
  color: var(--color-text-bold-heading);
  font-size: var(--font-size-24);
  font-weight: var(--fontweight-bold);
  letter-spacing: var(--tracking-6);
}
.search-box__form-inner {
  /* layout */
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: var(--space-12, 12px);
  /* size */
  width: 100%;
  height: auto;
}
.search-box__form-input {
  /* size */
  width: 100%;
  height: auto;
  min-height: var(--button-size--min-mobile);
  /* spacing */
  padding-inline: var(--space-12, 12px);
  padding-block: var(--space-6, 6px);
  /* style */
  border: var(--border-width-md, 1px) solid var(--border-default);
  border-radius: var(--rounded-8, 8px);
  /* typography */
  font-size: var(--font-size-18);
  font-weight: var(--fontweight-regular);
  line-height: 1.2;
  letter-spacing: var(--tracking-2);
}
.search-box__form-submit {
  /* d */
  display: grid;
  place-items: center;
  /* size */
  width: fit-content;
  height: auto;
  min-height: var(--button-size--min-mobile);
  /* spacing */
  padding-inline: var(--space-24, 24px);
  padding-block: var(--space-6, 6px);
  /* style */
  background: var(--color-background-bold);
  border: var(--border-width-md, 1px) solid var(--border-inverse);
  outline: var(--border-width-lg, 2px) solid var(--border-bold-link);
  border-radius: var(--rounded-8);
  /* typography */
  color: var(--color-text-inverse);
  font-size: var(--font-size-22);
  font-weight: var(--fontweight-regular);
  line-height: 1.2;
  letter-spacing: var(--tracking-10);
  text-align: center;
  /* transition */
  transition: background-color 0.3s ease-in-out;
}
.search-box__form-link {
  /* layout */
  display: grid;
  place-items: center;
  gap: var(--space-16, 16px);
  /* size */
  width: 100%;
  height: auto;
}
.search-box__form-link-list {
  /* layout */
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-flow: row;
  gap: var(--space-12, 12px) var(--space-16, 16px);
  place-items: center start;
  /* size */
  width: 100%;
  height: auto;
}
.search-box__form-link-item {
  /* layout */
  display: grid;
  place-items: center;
  /* size */
  width: 100%;
  height: auto;
}
.search-box__form-link-item a {
  /* layout */
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--space-4, 4px);
  place-items: center start;
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  padding-inline: var(--space-8, 8px) var(--space-12, 12px);
  padding-block: var(--space-8, 8px);
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-lg, 2px) solid var(--border-bold);
  border-radius: var(--rounded-12, 12px);
  outline: var(--border-width-md, 1px) solid var(--border-theme-link);
  /* typography */
  color: var(--color-text-bold-link);
  font-size: var(--font-size-18);
  font-weight: var(--fontweight-bold);
  line-height: 1.2;
  letter-spacing: var(--tracking-2);
  /* transition */
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease,
    outline-color 0.3s ease;
}
.search-box__form-link-item a::after {
  /* layout */
  grid-column: 3;
  content: "";
  /* size */
  width: 12px;
  height: auto;
  aspect-ratio: 1;
  /* style */
  border-right: 3px solid var(--border-bold-link);
  border-bottom: 3px solid var(--border-bold-link);
  transform: rotate(-45deg);
}
.search-box__form-link-item a span {
  /* layout */
  display: grid;
  place-items: center;
  /* size */
  width: 64px;
  height: auto;
  aspect-ratio: 1;
}
.search-box__form-link-item a span img {
  /* size */
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}
.search-box__form-link-item a:hover,
.search-box__form-link-item a:focus-within {
  /* style */
  background-color: var(--color-background-hover-default);
  border-color: var(--border-inverse);
}
.search-box__outlink-list {
  /* layout */
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12, 12px) var(--space-16, 16px);
  /* size */
  width: 100%;
  height: auto;
}
@media (width < 992px) {
  .main__container {
    grid-template-rows: auto 1fr;
    place-items: start center;
    column-gap: var(--space-16, 16px);
    /* spacing */
    margin-block-start: var(--space-12, 12px);
  }
  .open-info__title {
    grid-template-columns: auto auto;
    width: fit-content;
    column-gap: var(--space-12, 12px);
    row-gap: 0;
  }
  .open-info__title::before {
    grid-column: 1;
    grid-row: 1;
    width: 32px;
  }
  .open-info__title span {
    grid-column: 2;
    grid-row: 1;
    font-size: var(--font-size-24);
  }
  .open-info__today {
    font-size: var(--font-size-20);
  }
  .open-info__heading {
    font-size: var(--font-size-20);
  }
  .open-info__text {
    font-size: var(--font-size-16);
  }
  .mypage__title {
    font-size: var(--font-size-24);
  }
  .mypage__login a span {
    font-size: var(--font-size-20);
  }
  .search-box__form-link-item a {
    font-size: var(--font-size-16);
  }
  .search-box__form-link-item a span {
    width: 32px;
  }
  .search-box__form-link-item a::after {
    width: 9px;
  }
  .search-box__form-title {
    font-size: var(--font-size-20);
  }
  .search-box__form-inner {
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--space-8, 8px);
  }
  .search-box__form-input {
    font-size: var(--font-size-16);
  }
  .search-box__form-submit {
    /* size */
    min-height: auto;
    /* spacing */
    margin-inline-start: auto;
    padding-inline: var(--space-12, 12px);
    /* typography */
    font-size: var(--font-size-18);
  }
}
@media (width < 768px) {
  .main__container {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "open-info mypage" "search search";
    place-items: start center;
    row-gap: var(--space-16, 16px);
  }
  .open-info {
    max-width: unset;
  }
  .mypage {
    width: 100%;
    max-width: unset;
    padding-inline: var(--space-8, 8px);
  }
}
@media (width < 576px) {
  .main__container {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas: "open-info" "mypage" "search";
    place-items: start center;
    row-gap: var(--space-12, 12px);
  }
  .open-info__link {
    margin-block-start: var(--space-8, 8px);
  }
  .mypage {
    max-width: unset;
    padding-inline: var(--space-4, 4px);
  }
  .mypage__title {
    padding-block-end: 0;
  }
  .mypage__container {
    gap: var(--space-8, 8px);
  }
  .search-box {
    gap: var(--space-8, 8px);
  }
  .search-box__form-link-list {
    column-gap: var(--space-8, 8px);
    row-gap: var(--space-8, 8px);
  }
  .search-box__form-link-item a {
    column-gap: 0;
    /* size */
    min-height: 58.4px;
    /* spacing */
    padding-inline: var(--space-2, 2px) var(--space-6, 6px);
    /* typography */
    letter-spacing: var(--tracking-none);
  }
  .search-box__form-link-item a span {
    margin-inline-end: var(--space-2, 2px);
  }
}
/*------------------------
top-info
------------------------*/
.top-info {
  position: relative;
  /* size */
  width: 100%;
  height: auto;
  /* style */
  background: var(--color-background-subtler);
}
.top-info::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 64px;
  background: url(/core/img/deco-section02.png) repeat-x;
  background-position: 0 0;
  background-size: auto 64px;
  background-repeat: repeat-x;
}
.top-info__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-16, 16px);
  justify-content: center;
  align-items: center;
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  padding-block: var(--space-32, 32px)
    calc(var(--space-32, 32px) + var(--space-64, 64px));
}
.top-info__wrapper {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "news calendar" "news group";
  gap: var(--space-16, 16px) var(--space-32, 32px);
  place-items: start center;
  /* size */
  width: 100%;
  height: auto;
}
.top-info__inner {
  grid-area: news;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* size */
  width: 100%;
  height: auto;
}
.top-info__calendar {
  grid-area: calendar;
}
.top-info__group {
  grid-area: group;
}
/*------------------------
top-info__inner
------------------------*/
.top-info__tabs {
  /* layout */
  display: flex;
  gap: 0;
  margin-block-end: 0;
  /* size */
  width: 100%;
  height: auto;
}
.top-info__tab {
  /* position */
  position: relative;
  /* spacing */
  padding-inline: var(--space-4, 4px);
  padding-block: var(--space-12, 12px);
  /* size */
  width: 100%;
  height: auto;
  /* style */
  background: var(--color-background-disabled-theme);
  border: var(--border-width-lg, 2px) solid transparent;
  border-bottom: none;
  border-radius: var(--rounded-12, 12px) var(--rounded-12, 12px) 0 0;
  margin-block-end: 0;
  /* typography */
  font-size: var(--font-size-22);
  font-weight: var(--fontweight-bold);
  line-height: 1.3;
  color: var(--color-text-gray-link);
  /* transition */
  transition: background-color 0.3s ease-in-out, color 0.3s ease;
  /* cursor */
  cursor: pointer;
}
.top-info__tab[aria-selected="true"] {
  /* style */
  background: var(--color-background-default);
  border-color: var(--color-bold);
  /* typography */
  color: var(--color-text-default);
  font-weight: var(--fontweight-bold);
  position: relative;
  z-index: 1;
}
.top-info__tab:not([aria-selected="true"])::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: calc(var(--border-width-lg, 2px) * -1);
  width: calc(100% + var(--border-width-lg, 2px) * 2);
  height: var(--border-width-lg, 2px);
  background: var(--border-bold);
}
.top-info__tab:hover:not([aria-selected="true"]) {
  /* style */
  background: var(--color-background-hover-default);
  /* typography */
  color: var(--color-text-bold-link);
}
.top-info__tab:focus-visible {
  /* style */
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
  z-index: 1;
}
.top-info__content {
  /* position */
  position: relative;
  /* size */
  width: 100%;
  height: auto;
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-lg, 2px) solid var(--border-bold);
  border-top: none;
  border-radius: 0 0 var(--rounded-8) var(--rounded-8);
}
.top-info__panel {
  /* layout */
  display: none;
  padding-block: var(--space-8, 8px) var(--space-24, 24px);
  padding-inline: var(--space-16, 16px);
}
.top-info__panel[aria-hidden="false"] {
  /* layout */
  display: block;
}
.infomation__link {
  /* layout */
  display: grid;
  place-items: center;
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  margin-block-start: var(--space-16, 16px);
  padding-block-start: var(--space-16, 16px);
}
.info__link {
  place-self: start;
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  margin-block-start: var(--space-16, 16px);
}
.info__link ul {
  /* layout */
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8, 8px) var(--space-16, 16px);
  /* size */
  width: 100%;
  height: auto;
  /* style */
  list-style: none;
  padding: 0;
  margin: 0;
}
/*------------------------
top-info__calendar
------------------------*/
.top-info__calendar {
  display: flex;
  flex-direction: column;
  gap: var(--space-8, 8px);
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  padding-block: var(--space-16, 16px) var(--space-24, 24px);
  padding-inline: var(--space-16, 16px);
  /* style */
  background: var(--color-background-white-opacity);
  border-radius: var(--rounded-16, 16px);
}
.info-section__title {
  /* typography */
  color: var(--color-text-bold-heading);
  font-size: var(--font-size-22);
  font-weight: var(--fontweight-bold);
  line-height: 1.3;
  letter-spacing: var(--tracking-4);
  text-align: center;
}
.calendar-link {
  margin-inline: auto;
}
/*------------------------
calendar
------------------------*/
.calendar {
  /* layout */
  position: relative;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  padding: var(--space-6, 6px);
  /* style */
  background: var(--color-neutral-20);
  border-radius: var(--rounded-4, 4px);
}
.calendar table {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  /* border: 5px solid #ccc; */
  border-spacing: 0;
  background: var(--color-background-default);
}
.calendar table thead {
  background: var(--color-neutral-5);
}
.calendar .year_month td {
  padding: 0.4em 0 0.3em;
  font-size: 1.2em;
  font-weight: 600;
  background-color: var(--color-neutral-5);
}
.calendar tr.year_month th {
  font-size: var(--font-size-22);
}
.calendar thead .calendar_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  margin: auto;
  border: 2px var(--color-neutral-20) solid;
  border-radius: 4px;
  cursor: pointer;
}
.calendar thead .calendar_btn[data-flg="next"] img {
  transform: rotate(180deg);
}
.calendar .week th {
  width: 2em;
  height: 2em;
  background-color: var(--color-neutral-5);
  vertical-align: center;
  border-bottom: 1px var(--color-neutral-20) solid;
  font-size: var(--font-size-16);
}
.calendar .week th:nth-child(1) {
  background-color: #f7abab;
}
.calendar .week th:nth-child(7) {
  background-color: #7fb3fe;
}
.calendar .day {
  height: 2.5em;
  font-size: var(--font-size-18);
}

.calendar .day td {
  position: relative;
  width: 2em;
  height: 2.5em;
  color: var(--color-neutral-80);
  background: var(--color-background-default);
  z-index: 2;
}
.calendar .day td span {
  position: relative;
  z-index: 2;
}
.calendar .day td:after {
  position: absolute;
  content: "";
  display: block;
  top: calc(50% - 0.95em);
  left: calc(50% - 1em);
  width: 2em;
  height: 2em;
  z-index: -1;
}
.calendar .day .red {
  color: #8f0f0f;
}
.calendar .day .blue {
  color: #00468c;
}
.calendar .day .closed {
}
.calendar .day .closed:after {
  background-color: var(--calendar-close);
  border-radius: 50%;
}
.calendar .day .event {
}
.calendar .day .event:after {
  background-color: var(--calendar-event);
}

.calendar .day .afternoon::after {
  background-color: var(--calendar-close);
  transform: translate(-50%, -50%) rotate(45deg);
  width: 60%;
  height: 60%;
  top: 50%;
  left: 50%;
}

.btn_calender {
  text-align: center;
}
.calendar img {
  max-width: 192px;
}
.calendar .attention span {
  position: relative;
  padding-left: 2em;
}
.calendar .attention span:before {
  position: absolute;
  content: "";
  display: block;
  top: 5px;
  width: 10px;
  left: 0px;
  height: 10px;
  background: #fface4;
  border: 1px solid var(--border-inverse);
}

.calendar-note {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--space-24, 24px);
  margin-inline: auto;
}
.calendar-note__item {
  display: inline-flex;
  column-gap: var(--space-4, 4px);
  align-items: center;
  margin: 0;
  /* style */
  font-size: var(--font-size-16);
  font-weight: var(--fontweight-regular);
}
.calendar-note__item:first-of-type:before {
  /* layout */
  content: "";
  display: inline-block;
  width: calc(16 / 16 * 1rem);
  height: calc(16 / 16 * 1rem);
  /* style */
  background: #f4b4d0;
  border-radius: 50%;
}
.calendar-note__item:last-of-type:before {
  /* layout */
  content: "";
  display: inline-block;
  width: calc(16 / 16 * 1rem);
  height: calc(16 / 16 * 1rem);
  /* style	 */
  background: #dce49c;
}
.calendar-note__item.is-afternoon:before {
  background-color: var(--calendar-close);
  transform: rotate(45deg);
  border-radius: 0;
}
.calendar_btn {
  position: relative;
  display: grid;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  /* style */
  background: var(--color-background-default);
  border: 2px solid var(--color-neutral-20);
  border-radius: var(--rounded-4, 4px);
  cursor: pointer;
  /* transition */
  transition: background-color 0.3s ease;
}
.calendar_btn[data-flg="next"]::before {
  /* layout */
  content: "";
  position: absolute;
  inset-inline-start: 30%;
  width: 8px;
  height: 8px;
  /* style */
  border-top: 2px solid var(--color-neutral-100);
  border-right: 2px solid var(--color-neutral-100);
  transform: rotate(45deg);
}
.calendar_btn[data-flg="prev"]::before {
  /* layout */
  content: "";
  position: absolute;
  inset-inline-start: 40%;
  width: 8px;
  height: 8px;
  /* style */
  border-top: 2px solid var(--color-neutral-100);
  border-right: 2px solid var(--color-neutral-100);
  transform: rotate(-135deg);
}
.calendar_btn:hover {
  background-color: var(--color-background-hover);
}
/*------------------------
top-info__group
------------------------*/
.top-info__group {
  display: flex;
  flex-direction: column;
  gap: var(--space-8, 8px);
  /* size */
  width: 100%;
  height: auto;
}
/* レスポンシブ対応 */
@media (max-width: 768px) {
  .top-info__wrapper {
    grid-template-columns: 1fr;
    grid-template-areas: "news" "calendar" "group";
    place-items: start center;
    row-gap: var(--space-16, 16px);
  }
  .top-info__calendar {
    grid-area: calendar;
  }
  .top-info__tab {
    /* typography */
    font-size: var(--font-size-18);
  }
  .news-list__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-8, 8px);
  }
}
@media (width < 576px) {
  .calendar .day td {
    width: 1.8em;
    height: 1.8em;
  }
  .calendar .day td span {
    font-size: var(--font-size-16);
  }
  .info__link ul {
    justify-content: flex-start;
  }
}

/*------------------------
pickup
------------------------*/
.pickup {
  /* size */
  width: 100%;
  height: auto;
  /* style */
  background: var(--color-background-subtle);
}
.pickup__container {
  /* layout */
  display: flex;
  flex-direction: column;
  gap: var(--space-32, 32px);
  justify-content: center;
  align-items: center;
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  padding-block: var(--space-24, 24px) var(--space-none, 0px);
}
.pickup__wrapper {
  display: flex;
  gap: var(--space-64, 64px);
  /* size */
  width: 100%;
  height: auto;
}
/*------------------------
slider
------------------------*/
.slide-info {
  /* layout */
  width: 100%;
  max-width: calc(
    1120px - calc(216px * 2 + var(--space-24, 24px)) - var(--space-64, 64px)
  );
  height: auto;
  margin-inline: auto;
}
.slider-container {
  /* layout */
  position: relative;
  width: 100%;
  height: auto;
  margin-inline: auto;
}
.slide_box {
  /* layout */
  position: relative;
  width: 100%;
  height: fit-content;
  margin-inline: auto;
}
.slide {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  z-index: var(--stack-slider) !important;
  /* style */
  border-radius: var(--rounded-16, 16px);
  border: var(--border-width-md, 1px) solid var(--border-key-default);
}
.slick-slide {
  z-index: var(--stack-slider) !important;
}
.slick-slide[style*="z-index"] {
  z-index: var(--stack-slider) !important;
}
.slide img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
  box-sizing: border-box;
  aspect-ratio: 4 / 3;
  /* 画像読み込み最適化 */
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  /* スムーズな読み込み */
  transition: opacity 0.3s ease-in-out;
}
.slick-slider {
  display: block;
}
.slick-track {
  display: flex;
}
.slick-slide {
  display: block;
  width: 100%;
}
/* controller */
.slide-control {
  /* layout */
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* position */
  position: relative;
  /* size */
  width: 100%;
  min-height: var(--button-size--min-ios);
  padding-block: var(--space-4, 4px);
}
/* pagination */
.slider-pagination {
  /* layout */
  display: flex;
  align-items: center;
  /* position */
  position: relative;
  /* size */
  width: fit-content;
  height: auto;
}
.slider-pagination .dot {
  /* layout */
  display: inline-block;
  width: 12px;
  height: 12px;
  background: var(--color-background-subtler);
  border-radius: var(--rounded-full);
  margin: 0 5px;
  /* style */
  border: 1px solid var(--border-bold);
  outline: 1px solid transparent;
  outline-offset: 2px;
  /* transition */
  transition: background-color 0.3s ease-in-out;
  cursor: pointer;
}
.slider-pagination .slick-active .dot {
  border-color: var(--border-bold);
  background: var(--color-background-bold);
}
.slider-pagination .dot:hover,
.slider-pagination .dot:focus-within {
  outline-color: var(--border-bold);
  background: var(--color-background-hover-default);
}
#mainSlider .slick-slide {
  pointer-events: none;
}

#mainSlider .slick-current,
#mainSlider .slick-current a,
#mainSlider .slick-current img {
  pointer-events: auto;
}
.slick-dots {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  inset-block-end: 4px;
}

/* play-stop */
.buttons {
  /* display */
  display: flex;
  gap: var(--space-8, 8px);
  /* position */
  position: relative;
}
.buttons .button.js-stop,
.buttons .button.js-play {
  /* layout */
  position: relative;
  display: grid;
  place-items: center;
  width: var(--button-size--min-ios);
  height: auto;
  aspect-ratio: 1;
  margin: 0;
  /* style */
  background: var(--color-background-disabled-theme);
  border: 1px solid var(--border-bold);
  outline: 2px solid transparent;
  border-radius: var(--rounded-full);
  overflow: visible;
  cursor: pointer;
  /* transition */
  transition: background-color 0.3s ease-in-out, outline-color 0.2s ease;
}
.buttons .button.js-play::before {
  /* layout */
  content: "";
  position: absolute;
  display: inline-block;
  inset-inline-start: 48%;
  inset-block-start: 50%;
  width: 0;
  height: 0;
  /* style */
  border-style: solid;
  border-width: 7px 0 7px 11px;
  border-color: transparent transparent transparent var(--border-black);
  transform: translate(-30%, 0);
}
.buttons .button.js-stop::before,
.buttons .button.js-stop::after {
  /* layout */
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: calc(50% - (2px + 3px));
  width: 4px;
  height: 12px;
  margin: 0;
  /* style */
  background: var(--border-black);
  transform: translateY(-50%);
}
.buttons .button.js-stop::after {
  inset-inline-start: calc(50% + 3px);
}
.buttons .button.js-play[aria-pressed="true"]:hover,
.buttons .button.js-stop[aria-pressed="true"]:hover,
.buttons .button.js-play[aria-pressed="true"]:focus-within,
.buttons .button.js-stop[aria-pressed="true"]:focus-within {
  border-color: var(--border-bold) !important;
}
.buttons .button.js-play[aria-pressed="true"],
.buttons .button.js-stop[aria-pressed="true"] {
  /* style */
  background: var(--color-background-subtler);
}
.buttons .button.js-play[aria-pressed="false"]:hover,
.buttons .button.js-stop[aria-pressed="false"]:hover,
.buttons .button.js-play[aria-pressed="false"]:focus-within,
.buttons .button.js-stop[aria-pressed="false"]:focus-within {
  background: var(--color-background-hover-default);
  border-color: var(--border-bold) !important;
}
/* arrows */
.slick-arrow {
  position: relative;
}
.slick-prev,
.slick-next {
  /* layout */
  width: 50px;
  height: 50px;
  position: absolute;
  display: inline-block;
  z-index: calc(var(--stack-drawer) - 10);
  /* style */
  background-color: var(--color-background-subtler);
  border-radius: var(--rounded-full);
  border: 1px solid var(--border-bold);
  box-shadow: var(--elevation-01);
  /* transition */
  transition: background-color 0.3s ease-in-out;
}
.slick-prev {
  /* layout */
  inset-inline-start: calc(50px / 2 * -1);
}
.slick-next {
  /* layout */
  inset-inline-end: calc(50px / 2 * -1);
}
.slick-prev::before,
.slick-next::before {
  /* layout */
  content: "";
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  margin: 0;
  /* style */
  box-shadow: none;
  border-top: 2px solid var(--border-black);
  border-right: 2px solid var(--border-black);
  border-bottom: none;
  border-left: none;
}
.slick-prev::before {
  /* layout */
  transform: translate(-30%, -50%) rotate(-135deg);
}
.slick-next::before {
  transform: translate(-70%, -50%) rotate(45deg);
}
.slick-prev:hover,
.slick-prev:focus-within,
.slick-next:hover,
.slick-next:focus-within {
  background-color: var(--color-background-hover-default);
}

/*------------------------
pickup-links__container
------------------------*/
.pickup-links__container {
  /* position */
  position: relative;
  z-index: calc(var(--stack-slider) + 1);
  /* size */
  width: 100%;
  height: auto;
}
.pickup-links__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--space-24, 24px);
  place-items: center;
  justify-content: center;
  /* size */
  width: 100%;
  height: auto;
}
.pickup-links__item {
  /* position */
  position: relative;
  z-index: calc(var(--stack-slider) + 2);
  /* layout */
  display: grid;
  place-items: center;
  /* size */
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}
.pickup-links__item a {
  /* layout */
  display: grid;
  place-items: center;
  /* size */
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  /* style */
  border-radius: var(--rounded-12, 12px);
  border: var(--border-width-md, 1px) solid var(--border-default);
  outline: var(--border-width-xl, 4px) solid transparent;
  overflow: hidden;
  cursor: pointer;
  /* transition */
  transition: outline-color 0.3s ease-in-out, border-color 0.3s ease;
}
.pickup-links__item a:hover,
.pickup-links__item a:focus-within {
  outline-color: var(--border-bold);
  border-color: var(--border-inverse);
}
.pickup-links__item__image {
  /* layout */
  display: grid;
  place-items: center;
  /* size */
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}
.pickup-links__item a img {
  /* size */
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}
@media (width < 992px) {
  .pickup__wrapper {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
@media (width < 768px) {
  /* .container.pickup {
    grid-template-columns: minmax(var(--space-16, 16px), 1fr) minmax(0, var(--max-content-width)) minmax(var(--space-16, 16px), 1fr);
  } */
  .pickup__container {
    gap: var(--space-16, 16px);
  }
  .pickup__wrapper {
    flex-direction: column;
    gap: var(--space-16, 16px);
  }
  .pickup-links__list {
    display: grid;
    place-items: center;
    width: 100%;
  }
}
@media (width < 576px) {
  .container.pickup {
    grid-template-columns:
      minmax(var(--space-none, 0px), 1fr) minmax(0, var(--max-content-width))
      minmax(var(--space-none, 0px), 1fr);
  }
}
@media (max-width: 660px) {
  .slide-info {
    padding-inline: var(--space-26, 26px);
    box-sizing: border-box;
  }

  .slick-prev,
  .slick-next {
    width: 45px;
    height: 45px;
  }
}
