/*------------------------
important-news
------------------------*/
.important-news {
  /* layout */
  width: 100%;
  height: auto;
  /* spacing */
  padding-block-start: var(--space-8, 8px);
  /* style */
  background: var(--color-background-lightgray);
}
.important-news__container {
  /* layout */
  width: 100%;
  height: auto;
  /* style */
  border: var(--border-width-md, 1px) solid var(--border-important);
  border-radius: var(--rounded-12);
  background: var(--color-background-default);
  overflow: hidden;
}
.important-news__wrapper {
  /* layout */
  display: flex;
  /* spacing */
  gap: var(--space-none, 0);
  /* size */
  width: 100%;
  height: auto;
}
.important-news__heading {
  /* layout */
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--space-2, 2px);
  /* size */
  width: fit-content;
  height: auto;
  /* spacing */
  padding-block: var(--space-16, 16px);
  padding-inline: var(--space-8, 8px);
  /* style */
  background: var(--color-background-important-subtle);
  /* typography */
  color: var(--color-text-important);
  font-size: var(--font-size-22);
  font-weight: var(--fontweight-bold);
  line-height: 1.5;
  letter-spacing: var(--tracking-4);
}
.important-news__heading::before {
  /* layout */
  content: "";
  /* size */
  width: 32px;
  height: auto;
  aspect-ratio: 1;
  /* style */
  background: url(/core/img/ico-important.png) no-repeat center center / contain;
}
.important-news__list {
  /* layout */
  display: flex;
  flex-direction: column;
  gap: var(--space-8, 8px);
  justify-content: center;
  /* spacing */
  padding-block: var(--space-8, 8px);
  padding-inline: var(--space-16, 16px);
  /* style */
  margin: 0;
}
.important-news__item {
  /* position */
  position: relative;
  /* layout */
  display: flex;
  column-gap: var(--space-8, 8px);
  /* spacing */
  padding-inline-start: var(--space-16, 16px);
}
.important-news__item::before {
  /* layout */
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.75em;
  /* 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;
  width: fit-content;
  height: auto;
}
.important-news__date {
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-18);
  font-weight: var(--fontweight-regular);
}
.important-news__title {
  margin: 0;
}
.important-news__title a {
  /* typography */
  color: var(--color-text-default-link);
  font-size: var(--font-size-18);
  font-weight: var(--fontweight-regular);
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 0.1em;
}
.important-news__title a:hover,
.important-news__title a:focus {
  /* style */
  text-decoration-thickness: 3px;
}
.important-news__link:focus-visible {
  /* style */
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
}
@media (width < 992px) {
  .important-news__wrapper {
    flex-direction: column;
  }
  .important-news__heading {
    /* size */
    width: 100%;
    /* spacing */
    padding-block: var(--space-6, 6px);
    /* typography */
    font-size: var(--font-size-20);
  }
  .important-news__heading::before {
    /* size */
    width: 24px;
  }
  .important-news__list {
    /* spacing */
    padding-block: var(--space-8, 8px);
  }
  .important-news__item {
    flex-direction: column;
  }
}
@media (width < 768px) {
  .important-news__heading {
    padding-inline: var(--space-8, 8px);
  }
  .important-news__list {
    /* spacing */
    padding-inline: var(--space-12, 12px) var(--space-8, 8px);
  }
  .important-news__item::before {
    /* layout */
    inset-block-start: 0.5em;
  }
  .important-news__date {
    font-size: var(--font-size-14);
  }
  .important-news__title a {
    font-size: var(--font-size-16);
  }
}
/*------------------------
main
------------------------*/
.main {
  /* layout */
  width: 100%;
  height: auto;
  /* spacing */
  padding-block-start: var(--space-16, 16px);
  padding-block-end: var(--space-32, 32px);
  /* style */
  background: var(--color-background-lightgray);
}
.main__container {
  /* layout */
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-8, 8px) var(--space-40, 40px);
  /* size */
  width: 100%;
  height: auto;
}
/*------------------------
open-info
------------------------*/
.open-info {
  grid-column: 1 / 3;
  grid-row: 1;
  /* layout */
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  gap: var(--space-16, 16px);
  /* spacing */
  padding-inline: var(--space-16, 16px);
  padding-block: var(--space-16, 16px) var(--space-24, 24px);
  /* size */
  width: 100%;
  height: fit-content;
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-md, 1px) solid var(--border-lightgray);
  border-radius: var(--rounded-12);
}
.open-info__title {
  /* layout  */
  width: 100%;
  height: auto;
  /* spacing */
  padding-inline: var(--space-16, 16px);
  padding-block: var(--space-8, 8px);
  /* background */
  background: var(--color-background-bold);
  /* typography */
  color: var(--color-text-inverse);
  font-size: var(--font-size-24);
  font-weight: var(--fontweight-bold);
  letter-spacing: var(--tracking-10);
  text-align: center;
}
.open-info__today {
  /* layout */
  width: 100%;
  height: auto;
  /* spacing */
  padding-inline: var(--space-16, 16px);
}
.open-info__date {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.open-info__date-text {
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-26);
  font-weight: var(--fontweight-regular);
  line-height: 1.4;
  letter-spacing: var(--tracking-4);
}
.open-info__day {
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-18);
  font-weight: var(--fontweight-regular);
  line-height: 1.4;
  letter-spacing: var(--tracking-4);
}
/* open-info__container */
.open-info__container {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-16, 16px);
  /* layout */
  width: 100%;
  height: auto;
}
.open-info__item {
  /* layout */
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--space-none, 0);
  /* size */
  width: 100%;
  height: auto;
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-md, 1px) solid var(--border-default);
  border-radius: var(--rounded-12);
  overflow: hidden;
}
.open-info__mark {
  --mark-size: 40px;
  /* layout */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-8, 8px);
  /* spacing */
  padding-inline: var(--space-12, 12px);
  padding-block: var(--space-16, 16px);
  /* size */
  width: fit-content;
  height: 100%;
}
.open-info__mark-wrap {
  /* layout */
  display: flex;
  align-items: center;
  justify-content: center;
  /* size */
  width: var(--mark-size);
  height: var(--mark-size);
  /* style */
  background: none;
}
/* ステータスアイコンの背景画像 */
#status-icon {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

#status-icon.open {
  background-image: url("/core/img/ico-status-open.png");
}

#status-icon.closed {
  background-image: url("/core/img/ico-status-close.png");
}
.open-info__mark span {
  align-self: start;
  justify-self: center;
  /* size */
  width: fit-content;
  height: fit-content;
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-18);
  font-weight: var(--fontweight-bold);
  line-height: 1;
  letter-spacing: 0.12em;
  text-align: center;
}
.open-info__content {
  /* layout */
  display: flex;
  flex-direction: column;
  /* spacing */
  padding-inline: var(--space-12, 12px) var(--space-4, 4px);
  padding-block: var(--space-16, 16px);
}
.open-info__heading {
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-22);
  font-weight: var(--fontweight-bold);
  line-height: 1.2;
  letter-spacing: var(--tracking-10);
}
.open-info__text {
  /* spacing */
  margin: 0;
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-30);
  font-weight: var(--fontweight-bold);
  line-height: 1.2;
  letter-spacing: var(--tracking-7);
}
.open-info__text span {
  /* layout */
  display: block;
  /* spacing */
  margin-top: 0.2em;
  /* typography */
  color: var(--color-text-default);
  font-size: calc(16 / 30 * 1em);
  font-weight: var(--fontweight-regular);
  letter-spacing: var(--tracking-7);
}
.open-info__next-text {
  /* typography */
  color: var(--color-text-default);
  font-size: var(--font-size-18);
  font-weight: var(--fontweight-regular);
  line-height: 1.4;
  letter-spacing: var(--tracking-4);
  text-align: center;
}
@media (width < 768px) {
  .open-info {
    gap: var(--space-12, 12px);
  }
  .open-info__title {
    font-size: var(--font-size-18);
  }
  .open-info__date-text {
    font-size: var(--font-size-22);
    line-height: 1.2;
  }
  .open-info__day {
    font-size: var(--font-size-16);
    line-height: 1.2;
  }
  .open-info__container {
    gap: var(--space-8, 8px);
  }
  .open-info__mark {
    --mark-size: 32px;
    gap: var(--space-none, 0);
  }
  .open-info__heading {
    /* typography */
    font-size: var(--font-size-18);
  }
  .open-info__text {
    /* typography */
    font-size: var(--font-size-24);
  }
  .open-info__text span {
    font-size: calc(14 / 24 * 1em);
  }
}
/* status:open, open-weekend */
.open .open-info__item,
.open-weekend .open-info__item {
  border-color: var(--border-subtle);
}
.open .open-info__mark,
.open-weekend .open-info__mark {
  background: var(--color-background-accent-subtler);
}
/* status:close */
.close .open-info__item {
  border-color: var(--border-gray);
}
.close .open-info__mark {
  background: var(--color-background-gray);
}
.close .open-info__heading {
  letter-spacing: 0;
}
/*------------------------
slider
------------------------*/
.SP_slider.slide-info {
  display: none;
}
.slide-info {
  grid-column: 3 / 7;
  grid-row: 1;
  /* layout */
  width: 100%;
  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%;
  min-height: 200px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  /* style */
  border-radius: var(--rounded-16, 16px);
}
.slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  box-sizing: border-box;
  /* 画像読み込み最適化 */
  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: 13px;
  height: 13px;
  background: var(--color-background-gray);
  border-radius: var(--rounded-full);
  margin: 0 5px;
  /* style */
  border: 1px solid var(--border-gray);
  outline: 1px solid transparent;
  outline-offset: 2px;
  /* transition */
  transition: all 0.2s ease;
  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);
}
.slick-dots {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  inset-block-end: 4px;
}
/* play-stop */
.buttons {
  display: grid;
  place-items: center;
}
.buttons .button.js-play-toggle {
  /* layout */
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  place-items: center;
  gap: var(--space-6, 6px);
  /* size */
  min-width: 78px;
  width: fit-content;
  height: fit-content;
  max-height: 28px;
  /* spacing */
  margin: 0;
  padding-inline: var(--space-8, 8px);
  padding-block: var(--space-6, 6px);
  /* style */
  background-color: var(--color-background-bold);
  border: var(--border-width-md, 1px) solid var(--border-inverse);
  outline: var(--border-width-lg, 2px) solid var(--border-bold);
  border-radius: var(--rounded-4);
  /* typography */
  color: var(--color-text-inverse);
  font-size: var(--font-size-14);
  font-weight: var(--fontweight-bold);
  line-height: 1;
  letter-spacing: var(--tracking-5);
  text-transform: uppercase;
  text-align: center;
  /* transition */
  transition: all 0.2s ease 0s;
}
.buttons .button.js-play-toggle:hover,
.buttons .button.js-play-toggle:focus-within {
  background: var(--color-background-hover-subtler);
}
.buttons .button.js-play-toggle[aria-pressed="true"]::before {
  /* layout */
  content: "";
  position: relative;
  display: inline-block;
  width: 0;
  height: 0;
  margin-inline-start: var(--space-2, 2px);
  /* style */
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent var(--border-inverse);
}
.buttons .button.js-play-toggle[aria-pressed="false"]::before {
  /* layout */
  content: "";
  display: inline-block;
  /* position */
  position: relative;
  /* size */
  width: 3px;
  height: 12px;
  /* spacing */
  margin-inline: 3px;
  /* style */
  background: var(--border-inverse);
  box-shadow: 6px 0 0 var(--border-inverse);
}
.buttons .button {
  text-indent: 0;
}
/* 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: var(--color-background-bold);
  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 */
  background: transparent;
  box-shadow: none;
  border-top: 2px solid var(--border-inverse);
  border-right: 2px solid var(--border-inverse);
  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-subtler);
}
@media (width < 992px) {
  .slick-prev,
  .slick-next {
    display: none;
  }
}
/*------------------------
mainVisual layout
------------------------*/
.search-box {
  grid-column: 1 / -1;
  grid-row: 2;
}
@media (width < 992px) {
  .main__container {
    grid-template-columns: repeat(5, 1fr);
    gap: var(--space-8, 8px) var(--space-16, 16px);
  }
  .open-info {
    grid-column: 1 / 3;
  }
  .slide-info {
    grid-column: 3 / 6;
  }
}
@media (width < 768px) {
  .main__container {
    grid-column: 1 /-1;
    gap: var(--space-8, 8px) var(--space-16, 16px);
  }
  .PC_slider.slide-info {
    display: none;
  }
  .SP_slider.slide-info {
    display: block;
  }
  .open-info {
    grid-column: 1 /-1;
    grid-row: 1;
    padding-inline: var(--space-16, 16px);
  }
  .slide-info {
    grid-column: 1 /-1;
    grid-row: 3;
  }
  .search-box {
    grid-column: 1 /-1;
    grid-row: 2;
    padding-inline: var(--space-16, 16px);
  }
  .slide {
    border-radius: 0;
  }
}
/*------------------------
search-box
------------------------*/
.search-box {
  /* layout */
  display: grid;
  place-items: center;
  /* size */
  width: 100%;
  height: auto;
  margin-inline: auto;
  /* spacing */
  padding-inline: var(--space-16, 16px);
  padding-block: var(--space-16, 16px);
  /* style */
  background: var(--color-background-white);
  border-radius: var(--rounded-12);
  border: var(--border-width-md, 1px) solid var(--border-inverse);
}
.search-box__container {
  /* layout */
  display: grid;
  grid-auto-flow: row;
  gap: var(--space-16, 16px);
  /* size */
  width: 100%;
  height: auto;
}
.search-box__wrapper {
  /* layout */
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--space-24, 24px);
  /* size */
  width: 100%;
  height: auto;
}
.search-box__form {
  display: flex;
  flex-direction: column;
  /* spacing */
  padding-inline: var(--space-16, 16px);
  padding-block: var(--space-8, 8px) var(--space-16, 16px);
  /* style */
  background: var(--color-background-subtler);
  border: var(--border-width-md, 1px) solid var(--border-bg-subtler);
  border-radius: var(--rounded-8);
}
.search-box__form-title {
  /* layout */
  width: fit-content;
  height: auto;
  /* position */
  position: relative;
  /* spacing */
  padding-inline-start: 0.65em;
  margin-block-end: var(--space-2, 2px);
  /* typography */
  color: var(--color-text-default-heading);
  font-size: var(--font-size-26);
  font-weight: var(--fontweight-bold);
  line-height: 1.5;
  letter-spacing: var(--tracking-4);
}
.search-box__form-title::before {
  /* layout */
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 8px;
  height: 1em;
  /* style */
  background: var(--border-bold);
  border-radius: var(--rounded-full);
}
.search-box__form-inner {
  display: flex;
  width: 100%;
  height: auto;
  gap: var(--space-8, 8px);
}
.search-box__form-input {
  flex: 1;
  /* spacing */
  padding-block: var(--space-6, 6px);
  padding-inline: var(--space-12, 12px);
  /* style */
  border-radius: var(--rounded-6, 6px);
  border: var(--border-width-md, 1px) solid var(--border-default);
  /* transition */
  transition: background-color 0.3s ease-in-out;
}
.search-box__form-input:hover,
.search-box__form-input:focus-visible {
  /* style */
  background: var(--color-background-hover-subtle);
  box-shadow: none;
  outline: none;
}
.search-box__form-submit {
  /* layout */
  display: grid;
  place-items: center;
  /* size */
  width: fit-content;
  min-width: 101px;
  height: auto;
  min-height: 50px;
  /* spacing */
  padding-inline: var(--space-8, 8px);
  padding-block: var(--space-6, 6px);
  /* style */
  background: var(--color-background-bold);
  border: var(--border-width-md, 1px) solid var(--border-inverse-link);
  outline: var(--border-width-lg, 2px) solid var(--border-bold-link);
  border-radius: var(--rounded-6, 6px);
  cursor: pointer;
  /* typography */
  color: var(--color-text-inverse-link);
  font-size: var(--font-size-24);
  font-weight: var(--fontweight-bold);
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  /* transition */
  transition: background-color 0.3s ease-in-out;
}
.search-box__form-submit:hover,
.search-box__form-submit:focus-within {
  /* style */
  background: var(--color-background-hover-subtler);
}
.my-lib {
  /* layout */
  display: grid;
  place-items: center;
  width: fit-content;
  height: auto;
}
.my-lib a {
  display: grid;
  grid-template-columns: auto 1fr;
  place-items: center;
  gap: var(--space-8, 8px);
  /* size */
  width: fit-content;
  height: auto;
  /* spacing */
  padding-inline: var(--space-24, 24px);
  padding-block: var(--space-16, 16px);
  /* style */
  background: var(--color-background-accent-subtler);
  border-radius: var(--rounded-8, 8px);
  border: var(--border-width-lg, 2px) solid var(--border-inverse-link);
  outline: var(--border-width-md, 1px) solid var(--border-subtle-link);
  /* transition */
  transition: background-color 0.3s ease-in-out;
}
.my-lib a:hover,
.my-lib a:focus-within {
  /* style */
  background: var(--color-background-hover-subtle);
}
.my-lib__icon {
  display: grid;
  place-items: center;
  width: calc(64px + var(--space-4, 4px) * 2);
  height: calc(64px + var(--space-4, 4px) * 2);
  aspect-ratio: 1;
  /* spacing */
  padding: var(--space-4, 4px);
  /* style */
  background: var(--color-background-accent-subtler);
  border-radius: var(--rounded-6, 6px);
  border: var(--border-width-xl, 4px) solid var(--border-accent-subtler);
  outline: var(--border-width-md, 4px) solid var(--border-black);
}
.my-lib__icon img {
  width: 100%;
  height: auto;
  border-radius: var(--rounded-6, 6px);
  border: var(--border-width-md, 1px) solid var(--border-black);
  background: var(--color-background-white);
}
.my-lib__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-4, 4px);
}
.my-lib__label {
  /* typography */
  color: var(--color-text-default-link);
  font-size: var(--font-size-22);
  font-weight: var(--fontweight-bold);
  line-height: 1.2;
  letter-spacing: var(--tracking-4);
}
.my-lib__desc {
  /* typography */
  color: var(--color-text-default-link);
  font-size: var(--font-size-14);
  font-weight: var(--fontweight-regular);
  line-height: 1.3;
}
/*------------------------
search-box__links
------------------------*/
.search-box__link {
  width: 100%;
}
.search-box__link-list {
  /* layout */
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-16, 16px);
}
.search-box__link-item {
  /* layout */
  width: 100%;
  height: auto;
}
.search-box__link-item a {
  display: grid;
  grid-template-columns: auto 1fr;
  place-items: center;
  gap: var(--space-8, 8px);
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  padding-inline: var(--space-12, 12px);
  padding-block: var(--space-12, 12px);
  /* style */
  background: var(--color-background-subtler);
  border: var(--border-width-lg, 2px) solid var(--border-inverse-link);
  outline: var(--border-width-md, 1px) solid var(--border-bold-link);
  border-radius: var(--rounded-8);
  /* transition */
  transition: all 0.3s ease;
}
.search-box__link-item a:hover,
.search-box__link-item a:focus-within {
  /* style */
  background: var(--color-background-subtle);
}
.search-box__link-icon {
  display: grid;
  place-items: center;
  max-width: 64px;
  max-height: 64px;
  aspect-ratio: 1;
}
.search-box__link-icon img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.search-box__link a span {
  /* layout */
  place-self: center start;
  /* typography */
  color: var(--color-text-default-link);
  font-size: var(--font-size-20);
  font-weight: var(--fontweight-bold);
  line-height: 1.2;
  letter-spacing: var(--tracking-4);
}
@media (width < 992px) {
  .search-box__link-icon {
    max-width: 48px;
    max-height: 48px;
  }
}
@media (width < 768px) {
  .open-info {
    /* size */
    width: calc(100% - var(--space-16, 16px));
    /* spacing */
    margin-inline: var(--space-8, 8px);
  }
  .search-box {
    /* size */
    width: calc(100% - var(--space-16, 16px));
    /* spacing */
    margin-inline: var(--space-8, 8px);
  }
  .search-box__container {
    gap: var(--space-8, 8px);
  }
  .search-box__wrapper {
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    row-gap: var(--space-8, 8px);
  }
  .search-box__form {
    padding-inline: var(--space-8, 8px);
  }
  .search-box__form-title {
    font-size: var(--font-size-22);
  }
  .search-box__form-inner {
    flex-direction: column;
  }
  .search-box__form-input {
    width: 100%;
    min-height: 48px;
  }
  .search-box__form-submit {
    /* layout */
    place-self: end center;
    /* size */
    width: fit-content;
    min-width: unset;
    min-height: unset;
    /* spacing */
    padding-block: var(--space-4, 4px);
    padding-inline: var(--space-12, 12px);
    /* typography */
    font-size: var(--font-size-20);
  }
  .my-lib {
    width: 100%;
  }
  .my-lib a {
    width: 100%;
    grid-template-columns: auto auto;
    column-gap: var(--space-24, 24px);
  }
  .my-lib__icon {
    place-self: center end;
  }
  .my-lib__content {
    place-self: center start;
  }
  .search-box__link-item a {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    row-gap: var(--space-4, 4px);
    /* size */
    width: 100%;
    height: auto;
    min-height: 115px;
    /* spacing */
    padding-inline: var(--space-8, 8px);
    padding-block: var(--space-8, 8px);
  }
  .search-box__link a span {
    place-self: center;
    font-size: var(--font-size-16);
    text-align: center;
  }
}
@media (width < 576px) {
  .search-box {
    padding-inline: var(--space-8, 8px);
  }
  .search-box__link-list {
    gap: var(--space-8, 8px);
  }
  .search-box__link-item a {
    min-height: 110px;
    padding-inline: var(--space-none, 0);
  }
  .search-box__link a span {
    font-size: var(--font-size-14);
  }
}
/*------------------------
top-info
------------------------*/
.infomation__container {
  /* layout */
  display: flex;
  flex-direction: column;
  gap: var(--space-none, 0);
  /* size */
  width: 100%;
  height: auto;
  /* spacing */
  padding-block: var(--space-48, 48px) var(--space-64, 64px);
}
.top-info__tabs {
  /* layout */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-24, 24px);
  /* size */
  width: 100%;
  height: auto;
}
.top-info__tab {
  display: grid;
  place-items: center;
  grid-template-rows: 1fr 4px;
  /* size */
  min-height: 62px;
  /* spacing */
  padding-inline: var(--space-12, 12px);
  padding-block: var(--space-12, 12px) 0;
  /* style */
  background: var(--color-background-disabled-theme);
  border: var(--border-width-lg, 2px) solid transparent;
  border-radius: var(--rounded-12) var(--rounded-12) 0 0;
  margin-block-end: -2px;
  /* typography */
  color: var(--color-text-disabled);
  font-size: var(--font-size-24);
  font-weight: var(--fontweight-bold);
  letter-spacing: var(--tracking-6);
  text-align: center;
  /* transition */
  transition: all 0.3s ease-in-out;
  /* cursor */
  cursor: pointer;
}
.top-info__tab::after {
  /* layout */
  content: "";
  /* size */
  height: 4px;
  width: 132px;
}
.top-info__tab[aria-selected="true"] {
  /* size */
  min-height: 63px;
  /* position */
  position: relative;
  z-index: var(--stack-foreground);
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-lg, 2px) solid var(--border-bold);
  border-bottom: none;
  /* typography */
  color: var(--color-text-default);
  line-height: 1.5;
}
.top-info__tab[aria-selected="true"]::after {
  /* layout */
  content: "";
  /* size */
  height: 4px;
  width: 132px;
  /* style */
  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);
}
.top-info__tab:focus-visible {
  /* style */
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
  z-index: 1;
}
.top-info__content {
  /* layout */
  position: relative;
}
.top-info__panel {
  /* layout */
  display: none;
  padding: var(--space-24, 24px);
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-lg, 2px) solid var(--border-bold);
  border-radius: 0 0 var(--rounded-12) var(--rounded-12);
}
.top-info__panel[aria-hidden="false"] {
  /* layout */
  display: block;
}
.infomation__link {
  display: grid;
  place-items: center;
  /* spacing */
  margin-block-start: var(--space-24, 24px);
}
@media (max-width: 768px) {
  .infomation__container {
    padding-block: var(--space-32, 32px) var(--space-40, 40px);
  }
  .top-info__tabs {
    gap: var(--space-8, 8px);
  }
  .top-info__tab {
    font-size: var(--font-size-20);
  }
  .top-info__tab[aria-selected="true"]::after {
    width: 100px;
  }
}
/*------------------------
deco-heading
------------------------*/
.deco-heading {
  /* layout */
  display: inline grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  place-items: center;
  gap: var(--space-4, 4px);
  /* position */
  position: relative;
  /* size */
  width: fit-content;
  height: auto;
  /* spacing */
  margin-inline: auto;
  /* typography */
  color: var(--color-text-default-heading);
  font-size: var(--font-size-32);
  font-weight: var(--fontweight-bold);
  line-height: 1.2;
  text-align: center;
  letter-spacing: var(--tracking-8);
}
.deco-heading::after {
  /* layout */
  content: "";
  /* position */
  /* size */
  width: 68px;
  height: 22px;
  /* style */
  background: url(/core/img/deco-title.png) no-repeat center center / contain;
}
@media (width < 768px) {
  .deco-heading {
    font-size: var(--font-size-24);
  }
  .deco-heading::after {
    width: 56px;
  }
}
/*------------------------
page-links
------------------------*/
.page-links {
  /* layout */
  padding-block: var(--space-40, 40px) var(--space-48, 48px);
  /* style */
  background: var(--color-background-lightgray);
}
.page-links__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-32, 32px);
  align-items: center;
  justify-content: center;
}
.page-links__list {
  /* layout */
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-24, 24px) var(--space-32, 32px);
  /* size */
  width: 100%;
  height: auto;
  /* style */
  list-style: none;
  padding: 0;
  margin: 0;
}
.page-links__item {
  /* layout */
  display: grid;
  place-items: center;
  /* size */
  width: 100%;
  height: auto;
}
.page-links__item a {
  /* layout */
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  place-items: center;
  gap: var(--space-2, 2px);
  /* size */
  width: 100%;
  height: auto;
  min-height: 160px;
  /* spacing */
  padding-block: var(--space-12, 12px) var(--space-8, 8px);
  padding-inline: var(--space-12, 12px);
  /* style */
  background: var(--color-background-default);
  border: var(--border-width-lg, 2px) solid var(--border-bold-link);
  border-radius: var(--rounded-8);
  /* transition */
  transition: all 0.3s ease;
}
.page-links__item a:hover,
.page-links__item a:focus-within {
  /* style */
  background: var(--color-background-hover-default);
}
.page-links__icon {
  /* layout */
  display: grid;
  place-items: center;
  /* size */
  width: 100%;
  max-width: 88px;
  height: auto;
}
.page-links__icon img {
  /* layout */
  display: block;
  width: 100%;
  height: auto;
}
.page-links__item a span {
  /* typography */
  color: var(--color-text-default-link);
  font-size: var(--font-size-18);
  font-weight: var(--fontweight-bold);
  line-height: 1.2;
  text-align: center;
}
@media (width < 768px) {
  .page-links {
    /* layout */
    padding-block: var(--space-32, 32px) var(--space-40, 40px);
  }
  .page-links__container {
    gap: var(--space-24, 24px);
  }
  .page-links__list {
    /* layout */
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--space-12, 12px) var(--space-16, 16px);
  }
  .page-links__icon {
    max-width: 64px;
  }
  .page-links__item a {
    /* size */
    min-height: 128px;
    /* spacing */
    padding-inline: var(--space-8, 8px);
    padding-block: var(--space-8, 8px) var(--space-4, 4px);
  }
  .page-links__item a span {
    font-size: var(--font-size-16);
  }
}
/*------------------------
banner-links
------------------------*/
.banner-links {
  /* layout */
  padding-block: var(--space-80, 80px);
}
.banner-links__list {
  /* layout */
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-16, 16px) var(--space-32, 32px);
  /* style */
  list-style: none;
  padding: 0;
  margin: 0;
}
.banner-links__item {
  /* layout */
  width: 100%;
}
.banner-links a {
  /* layout */
  display: block;
  width: 100%;
  height: 100%;
  /* style */
  border: var(--border-width-md, 1px) solid var(--border-bold);
  outline: var(--border-width-xl, 4px) solid transparent;
  border-radius: var(--rounded-8, 8px);
  overflow: hidden;
  /* transition */
  transition: all 0.3s ease-in-out;
}
.banner-links a:hover,
.banner-links a:focus {
  /* style */
  outline-color: var(--border-focus);
}
.banner-links__img {
  /* layout */
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  /* style */
  border-radius: var(--rounded-8, 8px);
  border: var(--border-width-md, 1px) solid var(--border-inverse);
  overflow: hidden;
}
.banner-links__img img {
  /* layout */
  inset: 0;
  width: 100%;
  height: auto;
  /* style */
  object-fit: cover;
}
@media (max-width: 768px) {
  .banner-links {
    /* layout */
    padding-block: var(--space-40, 40px);
  }
  .banner-links__list {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-8, 8px) var(--space-12, 12px);
  }
  .banner-links__item:first-child {
    grid-column: span 2;
  }
}
/*------------------------
related-sites-links
------------------------*/
.related-sites-links {
  /* layout */
  padding-block: var(--space-40, 40px) var(--space-48, 48px);
  /* style */
  background: var(--color-background-lightgray);
}
.related-sites-links__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-32, 32px);
  align-items: center;
  justify-content: center;
  /* size */
  width: 100%;
  height: auto;
}
.related-sites-links__list {
  /* layout */
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(auto, 256px));
  grid-auto-flow: row;
  gap: var(--space-16, 16px) var(--space-32, 32px);
  /* size */
  width: 100%;
  height: auto;
}
.related-sites-links__item {
  /* layout */
  width: 100%;
}
.related-sites-links a {
  /* layout */
  display: block;
  width: 100%;
  height: 100%;
  /* style */
  border: var(--border-width-md, 1px) solid var(--border-bold);
  outline: var(--border-width-xl, 4px) solid transparent;
  border-radius: var(--rounded-8, 8px);
  overflow: hidden;
  /* transition */
  transition: outline-color 0.3s ease-in-out;
}
.related-sites-links a:hover,
.related-sites-links a:focus {
  /* style */
  outline-color: var(--border-focus);
}
.related-sites-links__img {
  /* layout */
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 256 / 64;
  /* style */
  border-radius: var(--rounded-8, 8px);
  border: var(--border-width-md, 1px) solid var(--border-inverse);
  overflow: hidden;
}
.related-sites-links__img img {
  /* layout */
  inset: 0;
  width: 100%;
  height: auto;
}
@media (max-width: 768px) {
  .related-sites-links {
    /* layout */
    padding-block: var(--space-32, 32px) var(--space-40, 40px);
  }
  .related-sites-links__container {
    gap: var(--space-24, 24px);
  }
  .related-sites-links__list {
    gap: var(--space-8, 8px);
  }
}
@media (width < 576px) {
  .related-sites-links__list {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: row;
  }
}
