@charset "UTF-8";
/*======================================
    Font size
======================================*/
/*======================================
    media
======================================*/
/*======================================
    color
======================================*/
/*======================================
    font
======================================*/
@font-face {
  font-family: "JosefinSans";
  src: url(../fonts/JosefinSans-VariableFont_wght.ttf) format("truetype"), url(../fonts/JosefinSans-Italic-VariableFont_wght.ttf) format("truetype");
}
@font-face {
  font-family: "gemola";
  src: url(../fonts/gemola-wooyn.ttf) format("truetype");
}
/*======================================
    common
======================================*/
html {
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
}

body {
  background-color: #fff;
}

img {
  width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover, a:focus {
  cursor: pointer;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
@media screen and (max-width: 767px) {
  br.is_pc {
    display: none;
  }
}

br.is_sp {
  display: none;
}
@media screen and (max-width: 767px) {
  br.is_sp {
    display: block;
  }
}

.sr-only {
  display: none;
}

@media screen and (min-width: 1025px) {
  .pc_only {
    display: none;
  }
}

/*======================================
    layout
======================================*/
.inner {
  width: 90%;
  max-width: 67.5rem;
  margin-left: auto;
  margin-right: auto;
}

/*======================================
    text
======================================*/
.text_vertical {
  writing-mode: vertical-rl;
}

.text_white {
  color: #fff;
}

.bold {
  font-weight: 700;
}

/*======================================
    pattern
======================================*/
.element_center {
  margin-left: auto;
  margin-right: auto;
}

.element_right {
  margin-left: auto;
}

.c-img_frame {
  position: relative;
  aspect-ratio: 624/458;
}
.c-img_frame::before {
  content: "";
  position: absolute;
  top: 0;
  inset: 0;
  background: url(../img/common/img_frame.svg) no-repeat center/cover;
}
.c-img_frame img {
  height: 100%;
  object-fit: cover;
}

.bg-dark {
  background-color: #233a64;
}

.bg-blue {
  background-color: #267ba4;
}

.bg-brown {
  background-color: #8e6f3f;
}

.link_out {
  position: relative;
  padding-right: 1.25em;
}
.link_out::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1em;
  aspect-ratio: 14/12;
  background: url(../img/common/link_out_white.svg) no-repeat center/contain;
}

/*======================================
    section
======================================*/
.c-section_title_type01 {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 0.25rem;
}
.c-section_title_type01.-center {
  text-align: center;
  align-items: center;
}
.c-section_title_type01.-white {
  color: #fff;
}
.c-section_title_type01.lang-en,
.c-section_title_type01 p {
  font-size: 3.4375rem;
  letter-spacing: 0.08em;
  font-family: "gemola", serif;
}
@media screen and (max-width: 767px) {
  .c-section_title_type01.lang-en,
  .c-section_title_type01 p {
    font-size: 1.875rem;
  }
}
.c-section_title_type01.lang-en span.md,
.c-section_title_type01 p span.md {
  font-size: 0.64em;
}
.c-section_title_type01 h2 {
  font-size: 1.25rem;
  line-height: 1.9;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .c-section_title_type01 h2 {
    font-size: 0.9375rem;
  }
}

.c-section_lead {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 767px) {
  .c-section_lead {
    line-height: 1.8571428571;
    margin-top: 0.625rem;
  }
}
.c-section_lead.-center {
  text-align: center;
}
.c-section_lead.-white {
  color: #fff;
}

.c-section_text {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.055em;
  line-height: 1.75;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .c-section_text {
    font-size: 0.875rem;
  }
}

/*======================================
    parts
======================================*/
.c-calendar_wrap {
  width: 100%;
  max-width: 50rem;
  margin: 0 auto;
}
.c-calendar_wrap #my-fullcalendar {
  line-height: 1.1538461538;
  font-feature-settings: "palt";
  --fc-border-color: rgba(89, 89, 89, 0.5);
}
.c-calendar_wrap #my-fullcalendar .fc-col-header-cell {
  height: 2.5rem;
  border: none;
  border-bottom: 1px solid var(--fc-border-color);
}
.c-calendar_wrap #my-fullcalendar th {
  border: none;
}
.c-calendar_wrap #my-fullcalendar .fc-col-header-cell-cushion {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  font-feature-settings: "palt";
}
.c-calendar_wrap #my-fullcalendar .fc-daygrid-day {
  min-height: 7.875rem;
  height: 7.875rem;
}
.c-calendar_wrap #my-fullcalendar .fc-daygrid-day-top {
  flex-direction: row;
  padding-top: 0.25rem;
}
.c-calendar_wrap #my-fullcalendar .fc-daygrid-day-number {
  font-size: 1rem;
  letter-spacing: 0.03em;
  font-feature-settings: "palt";
  font-weight: 500;
  color: #000;
}
.c-calendar_wrap #my-fullcalendar .fc-daygrid-event {
  border-radius: 0.625rem;
  padding: 0.375rem 0.375rem;
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}
.c-calendar_wrap #my-fullcalendar .fc-event-start {
  margin-left: 0.5rem;
}
.c-calendar_wrap #my-fullcalendar .fc-event-end {
  margin-right: 0.5rem;
}
.c-calendar_wrap #my-fullcalendar .fc-event-title {
  font-size: 0.8125rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-calendar_wrap #my-fullcalendar .fc-event-title {
    -webkit-line-clamp: 4;
  }
}
.c-calendar_wrap #my-fullcalendar .fc-day-today {
  background-color: rgba(0, 133, 226, 0.2);
  border: 2px solid #267ba4;
}
.c-calendar_wrap #my-fullcalendar .fc-scrollgrid {
  border: none;
}

/* 臨時休館 */
.fc-event-cat-temporarily-closed .fc-event-title {
  text-align: center;
}

/* 無料開放日 */
/* 通常イベント */
/* 休館日 */
.c-calendar_header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: flex-end;
  margin-bottom: 3rem;
  column-gap: 1.25rem;
}

.c-calendar_title {
  font-size: 1.3125rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  font-feature-settings: "palt";
  grid-column: 2/3;
  grid-row: 1/2;
  text-align: center;
}
.c-calendar_title .c-calendar_title_month {
  font-size: 2em;
}
.c-calendar_title .c-calendar_title_month_unit {
  font-size: 1.24em;
}

.c-calendar_button {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  font-feature-settings: "palt";
  position: relative;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
.c-calendar_button:hover, .c-calendar_button:focus {
  opacity: 0.7;
}
.c-calendar_button::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  aspect-ratio: 1/1;
  width: 1.1875rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
}
.c-calendar_button .c-calendar_nav_month {
  font-size: 1.6em;
}

.c-calendar_prev {
  grid-column: 1/2;
  grid-row: 1/2;
  padding-left: 2.1em;
}
.c-calendar_prev:hover::before, .c-calendar_prev:focus::before {
  transform: translate(-10%, -50%);
}
.c-calendar_prev::before {
  background-image: url(../img/common/calendar_prev.svg);
  left: 0;
}

.c-calendar_next {
  grid-column: 3/4;
  grid-row: 1/2;
  text-align: right;
  padding-right: 2.1em;
}
.c-calendar_next:hover::before, .c-calendar_next:focus::before {
  transform: translate(10%, -50%);
}
.c-calendar_next::before {
  right: 0;
  background-image: url(../img/common/calendar_next.svg);
}

.c-calendar_cats {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 1.75rem;
  row-gap: 0.625rem;
  margin-top: 1.5rem;
}

.c-calendar_cat {
  display: flex;
  align-items: center;
  column-gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.095em;
  line-height: 1.5;
  font-feature-settings: "palt";
}
.c-calendar_cat .color {
  display: block;
  aspect-ratio: 1/1;
  width: 1.43em;
  background-color: #bdbdbd;
}

.status {
  color: #267ba4;
}
.c-parallax {
  height: 34.375rem;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-parallax {
    height: 9rem;
  }
}

.c-parallax_img {
  position: absolute;
  inset: 0;
  height: 150%;
}
.c-parallax_img img {
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

/*======================================
    news
======================================*/
.c-news_list:nth-child(n+2) {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #000;
}

.c-news_list_link {
  display: grid;
  grid-template-columns: 9.75rem auto;
  column-gap: 1.25rem;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-news_list_link {
    grid-template-columns: 6rem auto;
  }
}
.c-news_list_link:hover, .c-news_list_link:focus {
  opacity: 0.7;
}
.c-news_list_link:hover .c-news_list_title, .c-news_list_link:focus .c-news_list_title {
  color: #267ba4;
}
.c-news_list_link:hover .c-news_list_meta::before, .c-news_list_link:focus .c-news_list_meta::before {
  border-color: #267ba4;
  transform: translate(0.25rem, -50%) rotate(-45deg);
}

.c-news_list_date {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.9333333333;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  position: relative;
  padding-right: 1.75rem;
}
@media screen and (max-width: 767px) {
  .c-news_list_date {
    padding-right: 0;
    text-align: center;
    font-size: 0.8125rem;
    justify-content: center;
  }
}
.c-news_list_date::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #000;
}

.c-news_list_meta {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-right: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-news_list_meta {
    row-gap: 0.25rem;
    padding-right: 1.875rem;
  }
}
.c-news_list_meta::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.75rem;
  transform: translateY(-50%) rotate(-45deg);
  aspect-ratio: 1/1;
  width: 0.75rem;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  transition: transform 0.3s ease, border-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-news_list_meta::before {
    right: 0.875rem;
  }
}

.c-news_list_title {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.9333333333;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  transition: color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-news_list_title {
    font-size: 0.8125rem;
    -webkit-line-clamp: 2;
    line-height: 1.5384615385;
  }
}

.c-news_cat {
  display: block;
  width: fit-content;
  font-size: 0.75rem;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2;
  padding: 0 0.625rem;
  border-radius: 62.5rem;
  background-color: #267ba4;
}
.c-news_cat.-important {
  background-color: #8e6f3f;
}

.c-news_archive_link {
  font-size: 0.875rem;
  color: #fff;
  letter-spacing: 0.235em;
  font-weight: 700;
  width: fit-content;
  display: block;
  text-decoration: underline;
  margin: 1.25rem auto 0;
  transition: opacity 0.3s ease;
}
.c-news_archive_link:hover, .c-news_archive_link:focus {
  opacity: 0.7;
}

/*======================================
    modal
======================================*/
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.58);
  padding: 3.75rem 0;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  overflow: auto;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.modal.search_form_modal .modal_body {
  max-width: unset;
  width: 94.6875%;
}
.modal.search_form_modal .modal_contents {
  max-width: 67.5rem;
  margin-left: auto;
  margin-right: auto;
}
.modal::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.modal.active {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 767px) {
  .modal {
    padding: 2.5rem 0;
  }
}

.modal_body {
  width: 90%;
  max-width: 67.5rem;
  display: inline-block;
  vertical-align: middle;
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 2.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modal_body {
    padding: 1.25rem 1.25rem 2.5rem;
  }
}

.modal_close {
  width: 2.5rem;
  height: 2.5rem;
  background: url(../img/common/modal_close.svg) no-repeat center/contain;
  margin-left: auto;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(30%, -50%);
}

.modal_close_text {
  position: static;
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.25rem;
  background: unset;
  height: auto;
  font-size: 0.8125rem;
  text-decoration: underline;
  letter-spacing: 0.095em;
  font-feature-settings: "palt";
  line-height: 1.75;
  display: block;
  transition: opacity 0.3s ease;
  margin-top: 1.25rem;
}
.modal_close_text:hover, .modal_close_text:focus {
  opacity: 0.7;
}

.modal_gallery_text {
  font-size: 0.8125rem;
  text-align: justify;
  letter-spacing: 0.055em;
  line-height: 1.9230769231;
  font-feature-settings: "palt";
  margin: 1.25rem 0;
}
.modal_gallery_text .sub-title {
  display: block;
  font-weight: 700;
  font-size: 1.2em;
}

.modal_contents {
  text-align: left;
}

.modal_open {
  cursor: pointer;
}

.modal_gallery_swiper_wrap {
  position: relative;
  margin-bottom: 1.875rem;
  margin-top: 0.625rem;
}

.modal_gallery_swiper_slide {
  aspect-ratio: 328/190;
  background-color: #fff;
}
.modal_gallery_swiper_slide img {
  height: 100%;
  object-fit: cover;
}

.modal_gallery_swiper_pagination {
  bottom: 0 !important;
  transform: translateY(calc(100% + 0.625rem));
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 0.875rem;
  row-gap: 0.25rem;
}
.modal_gallery_swiper_pagination .swiper-pagination-bullet {
  margin: 0 !important;
  width: 0.5625rem;
  height: 0.5625rem;
  border: 1px solid #267ba4;
  background-color: #fff;
  opacity: 1;
}
.modal_gallery_swiper_pagination .swiper-pagination-bullet-active {
  background: #267ba4;
}

.modal_gallery_swiper_prev,
.modal_gallery_swiper_next {
  display: block;
  width: 1.4375rem;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 3;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .modal_gallery_swiper_prev,
  .modal_gallery_swiper_next {
    width: 1.75rem;
  }
}

.modal_gallery_swiper_prev {
  transform: translate(-150%, -50%);
  left: 0;
  background-image: url(../img/common/modal_gallery_prev.svg);
}
@media screen and (max-width: 767px) {
  .modal_gallery_swiper_prev {
    transform: translate(-50%, -50%);
  }
}

.modal_gallery_swiper_next {
  transform: translate(150%, -50%);
  right: 0;
  background-image: url(../img/common/modal_gallery_next.svg);
}
@media screen and (max-width: 767px) {
  .modal_gallery_swiper_next {
    transform: translate(50%, -50%);
  }
}

.modal_gallery_thumb_swiper_slide {
  height: auto;
  background-color: #fff;
}

/*======================================
    page
======================================*/
.p-section_title {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 1.25rem;
}
.p-section_title.-center {
  align-items: center;
  text-align: center;
}
.p-section_title h1 {
  line-height: 1.4137931034;
  font-size: 1.8125rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-section_title h1 {
    font-size: 0.9375rem;
  }
}
.p-section_title h2 {
  font-size: 1.375rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  line-height: 1.8636363636;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-section_title h2 {
    font-size: 0.9375rem;
  }
}
.p-section_title p {
  font-size: 3.4375rem;
  font-family: "gemola", serif;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-section_title p {
    font-size: 1.875rem;
  }
}
.p-section_title p .md {
  font-size: 0.64em;
}

/*======================================
    archive
======================================*/
.a-page_title {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 0.625rem;
  margin-bottom: 3.125rem;
}
.a-page_title.-center {
  align-items: center;
  text-align: center;
}
.a-page_title h1,
.a-page_title .h1 {
  font-size: 1.25rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  line-height: 1.9;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .a-page_title h1,
  .a-page_title .h1 {
    font-size: 0.9375rem;
  }
}
.a-page_title p,
.a-page_title .p {
  font-size: 3.4375rem;
  font-family: "gemola", serif;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .a-page_title p,
  .a-page_title .p {
    font-size: 1.875rem;
  }
}

.a-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  color: #fff;
  column-gap: 0.875rem;
  position: relative;
  max-width: 100%;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5rem;
  margin-top: 3.125rem;
}
.a-pagination.-brown .page.current,
.a-pagination.-brown .page-numbers.current {
  color: #8e6f3f;
}
.a-pagination.-brown .prev {
  background-image: url(../img/common/arrow_slide_prev.svg);
}
.a-pagination.-brown .next {
  background-image: url(../img/common/arrow_slide_next.svg);
}
.a-pagination .page,
.a-pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 1.875rem;
  border-radius: 0.3125rem;
  border: 1px solid #fff;
}
.a-pagination .page.current,
.a-pagination .page-numbers.current {
  background-color: #fff;
  color: #233a64;
}
.a-pagination a {
  transition: opacity 0.3s ease;
}
.a-pagination a:hover, .a-pagination a:focus {
  opacity: 0.7;
}
.a-pagination .dots {
  border: none;
}
.a-pagination .prev,
.a-pagination .next {
  aspect-ratio: 1/1;
  width: 1.5rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  border: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.a-pagination .prev {
  background-image: url(../img/common/arrow_slide_prev_blue.svg);
  left: 0;
}
.a-pagination .next {
  background-image: url(../img/common/arrow_slide_next_blue.svg);
  right: 0;
}

/*======================================
    single
======================================*/
.s_box {
  background-color: #fff;
  border-radius: 1.125rem;
  padding: 3.125rem;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}

.s_title {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.5625rem;
  font-feature-settings: "palt";
  line-height: 1.5;
}

.s_box_inner {
  max-width: 28.75rem;
  margin: 1.25rem auto 2.5rem;
}

.s_eye {
  margin: 1.25rem auto;
}
.s_eye img {
  height: auto;
}

.s_meta {
  display: flex;
  align-items: flex-end;
  column-gap: 0.625rem;
  margin-bottom: 1rem;
}

.s_meta_date {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1.5;
  font-feature-settings: "palt";
}

.s_detail:nth-child(n+2) {
  margin-top: 0.625rem;
}

.s_detail_dl {
  display: grid;
  grid-template-columns: 4rem auto;
  align-items: start;
  column-gap: 0.375rem;
}
.s_detail_dl dt {
  font-size: 0.8125rem;
  letter-spacing: 0.095em;
  width: 4rem;
  font-feature-settings: "palt";
  line-height: 1.6153846154;
  text-align: center;
  min-height: 1.5rem;
  border-radius: 0.6875rem;
  border: 2px solid #8e6f3f;
  display: flex;
  align-items: center;
  justify-content: center;
}
.s_detail_dl dd {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.3333333333;
  font-feature-settings: "palt";
}

.s_contents {
  line-height: 1.6666666667;
  font-feature-settings: "palt";
  letter-spacing: 0.055em;
  font-size: 0.9375rem;
  text-align: justify;
  margin-top: 1.25rem;
}
.s_contents.-border {
  padding-top: 2.5rem;
  border-top: 1px solid #000;
}

.s_pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  max-width: 21.5625rem;
  margin: 3.125rem auto 0;
  width: 100%;
  column-gap: 1.25rem;
}
.s_pagination.-brown .s_pagination_prev {
  background-image: url(../img/common/arrow_slide_prev.svg);
}
.s_pagination.-brown .s_pagination_next {
  background-image: url(../img/common/arrow_slide_next.svg);
}
.s_pagination a {
  display: block;
  transition: opacity 0.3s ease;
}
.s_pagination a:hover, .s_pagination a:focus {
  opacity: 0.7;
}

.s_pagination_prev,
.s_pagination_next {
  width: 1.5rem;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.s_pagination_prev.-disabled,
.s_pagination_next.-disabled {
  visibility: hidden;
}

.s_pagination_prev {
  grid-column: 1/2;
  grid-row: 1/2;
  background-image: url(../img/common/arrow_slide_prev_blue.svg);
}

.s_pagination_all {
  grid-column: 2/3;
  grid-row: 1/2;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.235em;
  font-feature-settings: "palt";
  line-height: 1.5;
  text-decoration: underline;
}

.s_pagination_next {
  grid-column: 3/4;
  grid-row: 1/2;
  background-image: url(../img/common/arrow_slide_next_blue.svg);
  margin-left: auto;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.header {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, #fff 51%, #fff 100%);
  position: fixed;
  top: 0.625rem;
  left: 0;
  width: 100%;
  z-index: 500;
  transition: transform 1s ease;
}
@media screen and (min-width: 1025px) {
  .header.fv-hide {
    transform: translateX(100%);
  }
  .header.fv-hide.trigger {
    transform: translateX(0);
  }
  .header.fv-footer, .header.fv-footer.fv-hide, .header.fv-footer.fv-hide.trigger {
    transform: translateX(100%);
  }
}
@media screen and (max-width: 1024px) {
  .header {
    background: none;
    top: 0;
    transform: translate(0);
    background-color: #fff;
    border-radius: 0 0 0 3.125rem;
    left: unset;
    right: 0;
    max-width: 25rem;
    overflow: hidden;
    transform: translateX(100%);
  }
  .header.show {
    transform: translateX(0);
  }
}

.header_inner {
  max-width: 92.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .header_inner {
    width: 82%;
  }
}

.header_wrap {
  display: flex;
  align-items: center;
  column-gap: 2.5rem;
  background-color: #fff;
  max-width: 68.5rem;
  margin-left: auto;
  border-radius: 62.5rem 0 0 62.5rem;
  min-height: 6.25rem;
  padding: 1.25rem 2.5rem;
}
@media screen and (max-width: 1024px) {
  .header_wrap {
    border-radius: 0;
    padding: 0;
    flex-wrap: wrap;
    padding: 2rem 0 3.125rem;
    align-items: start;
    row-gap: 1.5rem;
  }
}

.header_head {
  display: block;
  max-width: 7.875rem;
}
@media screen and (max-width: 1024px) {
  .header_head {
    width: 4.625rem;
    order: 1;
    align-self: center;
  }
}

.header_nav {
  display: grid;
  align-items: center;
  column-gap: 2.875rem;
  row-gap: 0.875rem;
  margin-left: auto;
}
@media screen and (max-width: 1024px) {
  .header_nav {
    display: contents;
  }
}

.header_nav_lists {
  grid-column: 1/2;
  grid-row: 1/2;
}
@media screen and (max-width: 1024px) {
  .header_nav_lists {
    order: 3;
    width: calc(50% - 2.5rem);
    text-align: left;
    justify-content: start !important;
  }
}

.header_icon_nav_lists {
  grid-column: 1/2;
  grid-row: 2/3;
}
@media screen and (max-width: 1024px) {
  .header_icon_nav_lists {
    order: 4;
    width: calc(50% - 1.25rem);
    text-align: left;
    justify-content: start !important;
  }
}

@media screen and (min-width: 1025px) {
  .header_sp_wrap {
    display: contents;
  }
}
@media screen and (max-width: 1024px) {
  .header_sp_wrap {
    order: 2;
    display: flex;
    flex-direction: column-reverse;
    flex: 1;
    align-items: start;
    row-gap: 0.25rem;
  }
}

.header_nav_status {
  grid-column: 2/3;
  grid-row: 1/2;
  border: 1px solid #a5a5a5;
  border-radius: 0.1875rem;
  min-width: 6.25rem;
  min-height: 2.25rem;
  padding: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header_nav_status_text {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.5em;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
.header_nav_status_text .status {
  font-size: 1.5em;
  letter-spacing: 0.07em;
  line-height: 1;
}

.header_nav_langs {
  grid-column: 2/3;
  grid-row: 2/3;
  text-align: center;
  font-weight: 700;
}

.header_nav_langs_link {
  font-weight: 600;
  font-family: "JosefinSans", sans-serif;
  font-style: italic;
  font-weight: 400;
  font-feature-settings: "palt";
  display: inline-block;
  transition: opacity 0.3s ease;
}
.header_nav_langs_link:hover, .header_nav_langs_link:focus {
  opacity: 0.7;
}
.header_nav_langs_link.-current {
  text-decoration: underline;
}

.c-nav.header_nav_lists,
.c-icon-nav.header_icon_nav_lists {
  justify-content: flex-end;
}
.c-nav.header_nav_lists .c-nav_list_link::after,
.c-nav.header_nav_lists .c-icon-nav_list_link::after,
.c-icon-nav.header_icon_nav_lists .c-nav_list_link::after,
.c-icon-nav.header_icon_nav_lists .c-icon-nav_list_link::after {
  background-color: #f5d52e;
  height: 0.625rem;
}

/*======================================
    drawer
======================================*/
.drawer-icon {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 600;
  font-size: 0.75rem;
  text-align: center;
  color: #231815;
  padding: 0.75rem;
  background-color: #fff;
}
@media screen and (min-width: 1025px) {
  .drawer-icon {
    display: none;
  }
}
.drawer-icon.active .drawer-bar.-bar1, .drawer-icon.active .drawer-bar.-bar2 {
  transform: translate(-50%, -50%) rotate(25deg);
  top: 50%;
}
.drawer-icon.active .drawer-bar.-bar2 {
  opacity: 0;
}
.drawer-icon.active .drawer-bar.-bar3 {
  transform: translate(-50%, -50%) rotate(-25deg);
  top: 50%;
}

.drawer-icon-bars {
  width: 2.125rem;
  height: 0.75rem;
  position: relative;
  margin-top: 0.375rem;
}

.drawer-bar {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 100%;
  left: 50%;
  height: 1px;
  background-color: #231815;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.drawer-bar.-bar1 {
  top: 0;
}
.drawer-bar.-bar2 {
  top: 50%;
}
.drawer-bar.-bar3 {
  top: 100%;
}

.footer {
  color: #fff;
  padding-top: 3.75rem;
  padding-bottom: 6.25rem;
}

.footer_inner {
  position: relative;
}

.c-button_top {
  display: block;
  width: 7.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #211815;
  text-align: center;
  position: absolute;
  bottom: 1.25rem;
  right: 2.5rem;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 768px) {
  .c-button_top {
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .c-button_top {
    position: static;
    margin-left: auto;
    width: 100%;
    color: #fff;
    margin-top: 1.875rem;
    margin-bottom: 1.5rem;
  }
}
.c-button_top:hover, .c-button_top:focus {
  opacity: 0.9;
}
.c-button_top:hover .text::before, .c-button_top:focus .text::before {
  transform: translate(-50%, -5%);
}
.c-button_top .text {
  display: block;
  position: relative;
  font-weight: 300;
  padding-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .c-button_top .text {
    font-style: italic;
  }
}
@media screen and (max-width: 767px) {
  .c-button_top .text {
    padding-top: 2.5rem;
    font-size: 0.9375rem;
    font-weight: 700;
    padding-top: 1.25rem;
  }
}
.c-button_top .text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  transition: transform 0.3s ease;
}
@media screen and (min-width: 768px) {
  .c-button_top .text::before {
    aspect-ratio: 48/52;
    width: 3rem;
    background: url(../img/common/icon_top.svg) no-repeat center/contain;
  }
}
@media screen and (max-width: 767px) {
  .c-button_top .text::before {
    width: 1.3125rem;
    aspect-ratio: 21/12;
    background-color: #8e6f3f;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  }
}
@media screen and (min-width: 768px) {
  .c-button_top .sp {
    display: none;
  }
}

.c-nav {
  display: flex;
  column-gap: 3.75rem;
  row-gap: 0.625rem;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-nav {
    row-gap: 1.25rem;
  }
}

.c-nav_list_link {
  display: block;
  line-height: 1.9285714286;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.095em;
  transition: opacity 0.3s ease;
  position: relative;
  z-index: 1;
}
.c-nav_list_link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 6.25rem;
  background-color: #fff;
  opacity: 0;
  transform: translateY(0.125rem);
  transition: transform 0.5s ease, opacity 0.5s ease;
  z-index: -1;
}
.c-nav_list_link:hover::after, .c-nav_list_link:focus::after {
  opacity: 1;
  transform: translateY(0);
}

.c-icon-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 2.875rem;
  row-gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .c-icon-nav {
    row-gap: 1.25rem;
  }
}
.c-icon-nav.-white {
  color: #fff;
}
.c-icon-nav.-white .c-icon-nav_list_link.-calendar::before {
  background-image: url(../img/common/nav_calendar_white.svg);
}
.c-icon-nav.-white .c-icon-nav_list_link.-information::before {
  background-image: url(../img/common/nav_info_white.svg);
}
.c-icon-nav.-white .c-icon-nav_list_link.-ticket::before {
  background-image: url(../img/common/nav_ticket_white.png);
}
.c-icon-nav.-white .c-icon-nav_list_link.-access::before {
  background-image: url(../img/common/nav_access_white.svg);
}

.c-icon-nav_list_link {
  display: block;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.095em;
  line-height: 2.0769230769;
  position: relative;
  z-index: 1;
}
.c-icon-nav_list_link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.c-icon-nav_list_link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 6.25rem;
  background-color: #fff;
  opacity: 0;
  transform: translateY(0.125rem);
  transition: transform 0.5s ease, opacity 0.5s ease;
  z-index: -1;
}
.c-icon-nav_list_link:hover::after, .c-icon-nav_list_link:focus::after {
  opacity: 1;
  transform: translateY(0);
}
.c-icon-nav_list_link.-calendar {
  padding-left: 1.5em;
}
.c-icon-nav_list_link.-calendar::before {
  width: 1.3em;
  aspect-ratio: 17/19;
  background-image: url(../img/common/nav_calendar.svg);
}
.c-icon-nav_list_link.-information {
  padding-left: 1.9em;
}
.c-icon-nav_list_link.-information::before {
  width: 1.7em;
  aspect-ratio: 22/20;
  background-image: url(../img/common/nav_info.svg);
}
.c-icon-nav_list_link.-ticket {
  padding-left: 1.82em;
}
.c-icon-nav_list_link.-ticket::before {
  width: 1.62em;
  aspect-ratio: 21/18;
  background-image: url(../img/common/nav_ticket.png);
}
.c-icon-nav_list_link.-access {
  padding-left: 1.28em;
}
.c-icon-nav_list_link.-access::before {
  width: 1.08em;
  aspect-ratio: 14/22;
  background-image: url(../img/common/nav_access.svg);
}

@media screen and (max-width: 767px) {
  .footer_nav {
    display: none;
  }
}

.footer_icon_nav {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .footer_icon_nav {
    display: none;
  }
}

.footer_logo {
  display: block;
  max-width: 9.875rem;
  margin: 5.25rem auto 2.125rem;
}
@media screen and (max-width: 767px) {
  .footer_logo {
    max-width: 9.125rem;
    margin-top: 0;
  }
}

.footer_policy {
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: underline;
  letter-spacing: 0.11em;
  line-height: 2.2666666667;
  transition: opacity 0.3s ease;
  position: relative;
  padding-right: 1.5em;
}
.footer_policy::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1em;
  aspect-ratio: 14/12;
  background: url(../img/common/icon_link_out.svg) no-repeat center/contain;
}
.footer_policy:hover, .footer_policy:focus {
  opacity: 0.7;
}

.footer_copyright {
  font-size: 0.75rem;
  margin-top: 0.875rem;
  text-align: center;
}
.footer_copyright small {
  font-size: inherit;
  letter-spacing: 0.26em;
  line-height: 3.1666666667;
}

/*======================================
    TOP
======================================*/
.t-fv {
  height: min(100svh, 52.5rem);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .t-fv {
    height: 30.875rem;
  }
}

.t-fv_logo_wrap {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 92.5rem;
  z-index: 2;
  padding-top: min(3.7037037037vh, 2.5rem);
  padding-left: min(2.1621621622vw, 2rem);
}
@media screen and (max-width: 767px) {
  .t-fv_logo_wrap {
    padding-top: 0.625rem;
    padding-left: 0.75rem;
  }
}

.t-fv_logo {
  width: 7.75rem;
}
@media screen and (max-width: 767px) {
  .t-fv_logo {
    width: 4.5rem;
  }
}

.t-fv_mask_wrap {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: min(6svh, 5rem);
  aspect-ratio: 1184/678;
  height: min(80.7svh, 42.375rem);
  width: min(80vw, 74rem);
}
@media screen and (max-width: 767px) {
  .t-fv_mask_wrap {
    transform: translate(-50%, -50%);
    width: 25.25rem;
    height: 14.5rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -20%);
    z-index: 2;
  }
}
.t-fv_mask_wrap::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-53%, 72%);
  aspect-ratio: 572/88;
  background: url(../img/top/fv_text.svg) no-repeat center/contain;
  width: 48.3%;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .t-fv_mask_wrap::before {
    width: min(70vw, 24.375rem);
  }
}

.t-fv_text {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(250%, -188%);
  z-index: 3;
  font-size: min(2.027027027vw, 1.875rem);
  line-height: 1.4;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .t-fv_text {
    font-size: 1.5rem;
    transform: translate(-50%, -170%);
    white-space: nowrap;
  }
}
.t-fv_text span {
  font-weight: 700;
}

.t-fv_text_en {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-286%, -212%);
  z-index: 3;
  font-size: min(1.5540540541vw, 1.4375rem);
  font-family: "JosefinSans", sans-serif;
  line-height: 1.347826087;
  text-align: right;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .t-fv_text_en {
    font-size: 0.8125rem;
    transform: translate(-170%, -300%);
  }
}

.t-fv_mask {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  z-index: 2;
  -webkit-mask-image: url("../img/top/fv_mask.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-image: url("../img/top/fv_mask.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .t-fv_mask {
    width: 25.25rem;
  }
}

.t-fv_swiper {
  width: 100%;
  height: 100%;
}

.t-fv_swiper_slide {
  width: 100%;
  height: 100%;
}
.t-fv_swiper_slide img {
  height: 100%;
  object-fit: cover;
}

.t-fv_canvas {
  position: absolute;
  top: 0;
  inset: 0;
  display: block;
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .t-fv_canvas {
    height: 130%;
    top: unset;
    bottom: 0;
  }
}

.t-nav {
  padding-bottom: 1.25rem;
  position: relative;
}

#navWaveCanvas {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6.25rem;
  z-index: 2;
  transform: translateY(100%) scale(1, -1);
}
@media screen and (max-width: 767px) {
  #navWaveCanvas {
    height: 3.125rem;
  }
}

.t-nav_important {
  max-width: 38.4375rem;
  margin-left: auto;
  margin-right: auto;
}
.t-nav_important .c-news_list_title {
  font-size: 0.9375rem;
}

.c-important {
  display: grid;
  grid-template-columns: 11.5rem auto;
  border-radius: 0.625rem;
  overflow: hidden;
  min-height: 3.125rem;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .c-important {
    overflow: visible;
    position: relative;
    grid-template-columns: 1fr;
  }
}

.c-important_head {
  height: 100%;
  background-color: #8e6f3f;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-important_head {
    width: 11rem;
    border-radius: 0.5625rem;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-0.625rem);
    height: 3.125rem;
  }
}

.c-important_title {
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.9333333333;
  padding-left: 2.4em;
  letter-spacing: 0.05em;
  position: relative;
}
.c-important_title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1.8em;
  aspect-ratio: 1/1;
  background: url(../img/top/icon_important.svg) no-repeat center/contain;
}

.c-important_body {
  padding: 0.625rem 1.5rem;
}
.c-important_body .c-news_list_link {
  grid-template-columns: 7.25rem auto;
}
@media screen and (max-width: 767px) {
  .c-important_body .c-news_list_link {
    display: flex;
    flex-direction: column;
    row-gap: 0.375rem;
  }
}
.c-important_body .c-news_list_link .c-news_list_date {
  justify-content: start;
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .c-important_body .c-news_list_link .c-news_list_date {
    justify-content: flex-end;
  }
  .c-important_body .c-news_list_link .c-news_list_date::before {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .c-important_body .c-news_list_link .c-news_list_title {
    font-size: 0.875rem;
  }
}
.c-important_body .c-news_list_link:hover .c-news_list_title, .c-important_body .c-news_list_link:focus .c-news_list_title {
  color: #8e6f3f;
}

.t-nav_head {
  display: flex;
  column-gap: 1.125rem;
  padding-top: 1.75rem;
  margin-bottom: 1.75rem;
}
@media screen and (max-width: 1024px) {
  .t-nav_head {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.625rem;
    max-width: 18rem;
    padding-top: 1.25rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.25rem;
    max-width: 31.25rem;
  }
}
@media screen and (max-width: 767px) {
  .t-nav_head {
    max-width: 18rem;
  }
}

.t-nav_box {
  background-color: #fff;
  border-radius: 0.625rem;
  overflow: hidden;
  padding: 0.625rem;
}

.t-nav_status {
  flex: 1;
}
@media screen and (max-width: 1024px) {
  .t-nav_status {
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
.t-nav_status .c-calendar_status {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .t-nav_status .c-calendar_status {
    min-height: 5.25rem;
  }
}
.t-nav_status .c-calendar_status_head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  column-gap: 1rem;
  row-gap: 0.625rem;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .t-nav_status .c-calendar_status_head {
    column-gap: 0.3125rem;
  }
}
.t-nav_status .c-calendar_status_head_text,
.t-nav_status .c-calendar_status_head_time {
  font-size: 1.3125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
  .t-nav_status .c-calendar_status_head_text,
  .t-nav_status .c-calendar_status_head_time {
    font-size: 0.9375rem;
  }
}
.t-nav_status .c-calendar_status_head_text {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.625rem;
  column-gap: 0.5em;
  align-items: flex-end;
}
.t-nav_status .c-calendar_status_head_text span.status {
  font-size: 1.67em;
  font-weight: 700;
  color: #267ba4;
}
@media screen and (max-width: 1024px) {
  .t-nav_status .c-calendar_status_head_text span.status {
    font-size: 1.6em;
  }
}
.t-nav_status .c-calendar_status_body {
  margin-top: 1.25rem;
  padding-top: 0.625rem;
  border-top: 1px solid #000;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .t-nav_status .c-calendar_status_body {
    margin-top: 0.625rem;
    padding-top: 0.25rem;
  }
}
.t-nav_status .c-calendar_status_body_text {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.9333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
  .t-nav_status .c-calendar_status_body_text {
    font-size: 0.8125rem;
  }
}

.t-nav_link {
  width: 9.25rem;
  display: flex;
  flex-direction: column;
  min-height: 8.5rem;
  position: relative;
  transition: filter 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .t-nav_link {
    width: 100%;
    min-height: 7.875rem;
  }
}
.t-nav_link::before {
  content: "";
  position: absolute;
  bottom: 0.625rem;
  right: 0.625rem;
  aspect-ratio: 1/1;
  z-index: 2;
  background: url(../img/common/arrow_circle_gray.svg) no-repeat center/contain;
  width: 1.25rem;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .t-nav_link::before {
    width: 1.125rem;
    bottom: 0.375rem;
    right: 0.375rem;
  }
}
.t-nav_link:hover, .t-nav_link:focus {
  filter: brightness(1.1);
}
.t-nav_link:hover::before, .t-nav_link:focus::before {
  transform: translateX(0.25rem);
}

.t-nav_link_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex: 1;
}
.t-nav_link_icon span {
  display: block;
}
.t-nav_link_icon .calendar {
  width: 43.75%;
}
@media screen and (max-width: 1024px) {
  .t-nav_link_icon .calendar {
    width: 3.3125rem;
  }
}
.t-nav_link_icon .information {
  width: 54.6875%;
}
@media screen and (max-width: 1024px) {
  .t-nav_link_icon .information {
    width: 4.125rem;
  }
}
.t-nav_link_icon .ticket {
  width: 65.625%;
}
@media screen and (max-width: 1024px) {
  .t-nav_link_icon .ticket {
    width: 4.875rem;
  }
}
.t-nav_link_icon .access {
  width: 57.8125%;
}
@media screen and (max-width: 1024px) {
  .t-nav_link_icon .access {
    width: 4.375rem;
  }
}

.t-nav_link_text {
  text-align: center;
  margin-top: auto;
  color: #267ba4;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.0714285714;
  padding-right: 0.5em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .t-nav_link_text {
    font-size: 0.8125rem;
  }
}

.modal_sm {
  max-width: 28.75rem;
}
.modal_sm .modal_contents {
  max-width: 21.125rem;
  margin-left: auto;
  margin-right: auto;
}

.modal_info_title {
  color: #267ba4;
  font-weight: 900;
  font-size: 1.75rem;
  letter-spacing: 0.075em;
  font-feature-settings: "palt";
  padding-left: 2.3em;
  position: relative;
}
.modal_info_title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.78em;
  aspect-ratio: 1/1;
  background: url(../img/top/icon_information.svg) no-repeat center/contain;
  transform: translateY(-50%);
}

.modal_info_lead {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1.625;
  font-feature-settings: "palt";
  margin-top: 0.25rem;
  margin-top: 1.25rem;
}

.modal_info_lists {
  margin-top: 1.25rem;
}

.modal_info_list {
  position: relative;
  padding: 1.5rem 0;
}
.modal_info_list::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  border-radius: 6.25rem;
  background-color: #006d89;
}

.modal_info_list_title {
  font-size: 1.1875rem;
  font-weight: 900;
  letter-spacing: 0.055em;
  line-height: 1.3684210526;
  font-feature-settings: "palt";
  color: #006d89;
  margin-bottom: 0.625rem;
}
.modal_info_list_title .bold {
  font-weight: 700;
}

.modal_info_list_text {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.055em;
  line-height: 1.7333333333;
  font-feature-settings: "palt";
}
.modal_info_list_text a {
  text-decoration: underline;
  color: #006d89;
  transition: opacity 0.3s ease;
  font-weight: inherit;
}
.modal_info_list_text a:hover, .modal_info_list_text a:focus {
  opacity: 0.7;
}

.modal_info_note {
  background-color: #006d89;
  color: #fff;
  border-radius: 0.5rem;
  padding: 0.875rem;
  margin-top: 0.625rem;
}

.modal_info_dl {
  display: grid;
  grid-template-columns: 6.25rem auto;
  column-gap: 0.625rem;
}
.modal_info_dl dt {
  font-weight: 700;
  line-height: 1.375;
  font-feature-settings: "palt";
  letter-spacing: 0.055em;
}
.modal_info_dl dd {
  font-size: 0.875rem;
  line-height: 1.5714285714;
  font-weight: 500;
  letter-spacing: 0.055em;
  font-feature-settings: "palt";
}

.modal_ticket_title {
  font-size: 0.8125rem;
  letter-spacing: 0.095em;
  font-feature-settings: "palt";
  background-color: #8e6f3f;
  color: #fff;
  width: fit-content;
  padding: 0 0.625rem;
  min-width: 4.5rem;
  line-height: 1.8461538462;
  border-radius: 62.5rem;
  text-align: center;
}

.modal_ticket_note {
  position: relative;
  padding-left: 1em;
  font-size: 0.75rem;
  line-height: 1.5833333333;
  letter-spacing: 0.055em;
  font-feature-settings: "palt";
  text-align: justify;
  margin-top: 0.625rem;
}
.modal_ticket_note::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.modal_ticket_table {
  width: 100%;
  border-collapse: collapse;
}
.modal_ticket_table th, .modal_ticket_table td {
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1.7058823529;
  font-feature-settings: "palt";
  border-bottom: 1px solid #000;
  vertical-align: middle;
  height: 3.375rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.modal_ticket_table th {
  padding-left: 0.25rem;
}
.modal_ticket_table th .sm {
  font-size: 0.88em;
}
.modal_ticket_table td {
  width: 7em;
}
.modal_ticket_table td .num {
  font-size: 1.53em;
}
.modal_ticket_table td .lg {
  font-size: 1.18em;
}

.t-nav_news {
  padding: 1.5rem 0 1.875rem 0.1875rem;
}
@media screen and (max-width: 767px) {
  .t-nav_news {
    padding: 1.25rem 0.625rem;
  }
}

.t-information {
  padding-top: 8.125rem;
  padding-bottom: 5rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .t-information {
    padding-bottom: 1.25rem;
    padding-top: 4.375rem;
  }
}
.t-information .c-button_type01 {
  color: #8e6f3f;
}

.c-event_swiper_wrap {
  width: 94%;
  max-width: 86.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.75rem;
  padding-bottom: 3.125rem;
  position: relative;
}
.c-event_swiper_wrap.is-column .c-event_swiper_column {
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  max-width: 67.5rem;
}
.c-event_swiper_wrap.is-column .c-event_column {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.25rem;
  row-gap: 1.5rem;
}
.c-event_swiper_wrap.is-column .c-event_column .c-event_swiper_slide {
  flex: 1;
  width: unset;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .c-event_swiper_wrap.is-column .c-event_column .c-event_swiper_slide {
    min-width: 28.75rem;
    max-width: 33.125rem;
  }
}
@media screen and (max-width: 767px) {
  .c-event_swiper_wrap.is-column .c-event_column .c-event_swiper_slide {
    min-width: 16.25rem;
    max-width: 25rem;
  }
}

.c-event_swiper {
  overflow: visible;
}

.c-event_swiper_slide {
  display: flex;
  flex-direction: column;
  border-radius: 1.25rem;
  overflow: hidden;
  background-color: #fff;
  padding: 1.5rem;
  width: 33.125rem;
  transition: opacity 0.3s ease;
  height: auto;
}
@media screen and (max-width: 767px) {
  .c-event_swiper_slide {
    width: 16.75rem;
    padding: 1.5rem 1.875rem;
  }
}
.c-event_swiper_slide:hover, .c-event_swiper_slide:focus {
  opacity: 0.7;
}
.c-event_swiper_slide:hover .c-event_swiper_slide_more::before, .c-event_swiper_slide:focus .c-event_swiper_slide_more::before {
  transform: translate(0.25rem, -50%);
}
.c-event_swiper_slide:hover .c-event_swiper_slide_img img, .c-event_swiper_slide:focus .c-event_swiper_slide_img img {
  transform: scale(1.1);
}

.c-event_swiper_slide_head {
  margin-right: -1.5rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .c-event_swiper_slide_head {
    margin-right: 0;
  }
}

.c-event_swiper_slide_head_dl {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .c-event_swiper_slide_head_dl {
    flex-direction: column;
    align-items: start;
    row-gap: 0.25rem;
  }
}
.c-event_swiper_slide_head_dl .date {
  font-size: 0.8125rem;
  color: #fff;
  letter-spacing: 0.095em;
  line-height: 1.8461538462;
  display: block;
  padding: 0 1.2em;
  background-color: #8e6f3f;
  border-radius: 62.5rem;
  margin-left: 1.125rem;
}
.c-event_swiper_slide_head_dl .date.is-end {
  background-color: #575757;
}
@media screen and (max-width: 767px) {
  .c-event_swiper_slide_head_dl .date {
    margin-left: 0;
  }
}
.c-event_swiper_slide_head_dl .text {
  font-size: 1.375rem;
  letter-spacing: 0.03em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-event_swiper_slide_head_dl .text {
    font-size: 1.125rem;
  }
}

.c-event_swiper_slide_body {
  display: grid;
  grid-template-columns: 14.375rem auto;
  column-gap: 1rem;
  padding-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .c-event_swiper_slide_body {
    grid-template-columns: 1fr;
    row-gap: 0.625rem;
    padding-top: 0.875rem;
    flex: 1;
    display: flex;
    flex-direction: column;
  }
}

.c-event_swiper_slide_img {
  aspect-ratio: 230/176;
  overflow: hidden;
}
.c-event_swiper_slide_img img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.c-event_swiper_slide_texts {
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .c-event_swiper_slide_texts {
    flex: 1;
  }
}

.c-event_swiper_slide_title {
  font-size: 1.375rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2272727273;
  font-feature-settings: "palt";
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .c-event_swiper_slide_title {
    font-size: 1.1875rem;
    margin-top: 0.625rem;
  }
}

.c-event_swiper_slide_text {
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.6153846154;
  margin-top: 0.625rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  min-height: 0;
  max-height: 6.4615384615em;
  flex: 1;
}
@media screen and (min-width: 768px) {
  .c-event_swiper_slide_text {
    max-width: 13.75rem;
  }
}
@media screen and (max-width: 767px) {
  .c-event_swiper_slide_text {
    margin-bottom: 0.875rem;
  }
}

.c-event_swiper_slide_more {
  text-align: right;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  padding-right: 2.4em;
  position: relative;
  margin-top: 0.875rem;
  margin-top: auto;
}
@media screen and (min-width: 768px) {
  .c-event_swiper_slide_more {
    max-width: 13.75rem;
  }
}
@media screen and (max-width: 767px) {
  .c-event_swiper_slide_more {
    margin-top: auto;
  }
}
.c-event_swiper_slide_more::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  aspect-ratio: 26/15;
  width: 2em;
  background: url(../img/common/arrow_simple_right.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}

.c-swiper_tools {
  width: 100%;
  max-width: 16.875rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .c-swiper_tools {
    max-width: 16.625rem;
  }
}

.c-swiper_button {
  position: static !important;
  width: 1.4375rem;
  height: auto;
  margin: 0 !important;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.c-swiper_button::after {
  display: none;
}

.c-swiper_button_prev {
  background: url(../img/common/arrow_slide_prev.svg) no-repeat center/contain;
}
.c-swiper_button_prev.-arc {
  background-image: url(../img/common/arrow_slide_prev_arc.svg);
}

.c-swiper_button_next {
  background: url(../img/common/arrow_slide_next.svg) no-repeat center/contain;
}
.c-swiper_button_next.-arc {
  background-image: url(../img/common/arrow_slide_next_arc.svg);
}

.c-swiper_track {
  flex: 1;
  position: relative;
  height: 0.6875rem;
}
.c-swiper_track::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transform: translateY(-50%);
}

.c-swiper_bullet {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.6875rem;
  height: 0.6875rem;
  border-radius: 50%;
  background-color: #fff;
  transition: left 1s ease;
}

.c-button_deco_wrap {
  display: grid;
  grid-template-columns: 1fr 21.875rem 1fr;
  column-gap: 1.75rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-button_deco_wrap {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 0.625rem;
    row-gap: 1.625rem;
  }
}

.c-button_deco_roll {
  background-image: url(../img/top/parts_deco_roll.svg);
  background-repeat: repeat-x;
  background-size: 16rem 2rem;
  min-height: 2rem;
}
@media screen and (max-width: 767px) {
  .c-button_deco_roll {
    background-size: 11.25rem 1.5rem;
    grid-row: 2/3;
    grid-column: 2/3;
    background-position: center left;
  }
}
.c-button_deco_roll.-left {
  background-position: center right;
  grid-column: 1/2;
}

.c-button_type01 {
  max-width: 21.875rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  height: 3.375rem;
  border-radius: 6.25rem;
  background-color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.75;
  position: relative;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-button_type01 {
    height: 2.75rem;
    max-width: 17.75rem;
    margin-left: auto;
    margin-right: auto;
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
.c-button_type01::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  aspect-ratio: 32/15;
  background: url(../img/common/arrow_simple_long_right.svg) no-repeat center/contain;
  width: 2rem;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-button_type01::before {
    width: 1.5rem;
    right: 0.875rem;
  }
}
.c-button_type01:hover, .c-button_type01:focus {
  opacity: 0.7;
}
.c-button_type01:hover::before, .c-button_type01:focus::before {
  transform: translate(0.25rem, -50%);
}
.c-button_type01.-sm {
  max-width: 14.625rem;
}
.c-button_type01.-brown {
  background-color: #8e6f3f;
  color: #fff;
}
.c-button_type01.-brown::before {
  background-image: url(../img/common/arrow_simple_right_white.svg);
}

.t-story {
  display: grid;
  grid-template-columns: 1fr;
}

.t-story_contents {
  grid-column: 1/2;
  grid-row: 1/2;
  position: relative;
  z-index: 2;
  color: #fff;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .t-story_contents {
    padding-bottom: 2.5rem;
  }
}
.t-story_contents .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.t-story_parallax {
  height: 43.75rem;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media screen and (max-width: 767px) {
  .t-story_parallax {
    height: 25rem;
  }
}

.t-story_contents_texts {
  text-align: center;
}

.t-story_title {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.049em;
  font-feature-settings: "palt";
  font-size: 1.6875rem;
  line-height: 1.5185185185;
}
@media screen and (max-width: 767px) {
  .t-story_title {
    font-size: 1.1875rem;
  }
}

.t-story_text {
  line-height: 2;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.13em;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .t-story_text {
    font-size: 0.875rem;
    margin-top: 1.25rem;
  }
}

.t-architecture {
  position: relative;
  padding-bottom: 3.75rem;
}
@media screen and (min-width: 768px) {
  .t-architecture .c-section_title_type01 {
    row-gap: 0.75rem;
  }
  .t-architecture .c-section_title_type01 h2 {
    font-size: 1.625rem;
  }
  .t-architecture .c-section_title_type01 p {
    font-size: 3.0625rem;
  }
}
@media screen and (max-width: 767px) {
  .t-architecture {
    padding-bottom: 1.875rem;
  }
}
.t-architecture .c-button_type01 {
  color: #267ba4;
}

.t-architecture_icon {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 8.625rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #267ba4;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .t-architecture_icon {
    width: 4.5rem;
  }
}
.t-architecture_icon span.icon {
  width: 5.5rem;
}
@media screen and (max-width: 767px) {
  .t-architecture_icon span.icon {
    width: 2.875rem;
  }
}

.t-architecture_deco_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 13.75rem;
  padding-top: 0.875rem;
  margin-bottom: 3.375rem;
}
@media screen and (max-width: 767px) {
  .t-architecture_deco_wrap {
    column-gap: 5.25rem;
    padding-top: 0.375rem;
  }
}

.t-architecture_deco_roll {
  background-image: url(../img/top/parts_deco_roll_lg.svg);
  background-repeat: repeat-x;
  background-size: 19.75rem 2rem;
  min-height: 2rem;
}
@media screen and (max-width: 767px) {
  .t-architecture_deco_roll {
    background-size: 9.375rem 1.125rem;
    background-position: center left;
    min-height: 1.25rem;
  }
}
.t-architecture_deco_roll.-left {
  background-position: center right;
}

.t-architecture_lists {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 2rem;
  max-width: 79.625rem;
  width: 94%;
  margin: 2.5rem auto 1.25rem;
}
@media screen and (max-width: 767px) {
  .t-architecture_lists {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1.25rem;
    column-gap: 1.125rem;
    max-width: 31.25rem;
  }
}

.t-architecture_list_link:hover .t-architecture_list_img .img::before, .t-architecture_list_link:focus .t-architecture_list_img .img::before {
  transform: translateX(0.25rem);
}
.t-architecture_list_link:hover .t-architecture_list_img .img img, .t-architecture_list_link:focus .t-architecture_list_img .img img {
  transform: scale(1.1);
}

.t-architecture_list_img {
  aspect-ratio: 292/306;
  position: relative;
  z-index: 1;
}
.t-architecture_list_img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: -1;
  border-radius: 3.125rem;
  transform: translate(4%, 4%);
}
@media screen and (max-width: 767px) {
  .t-architecture_list_img::before {
    border-radius: 1.4375rem;
  }
}
.t-architecture_list_img span.img {
  border-radius: 3.125rem;
  display: block;
  height: 100%;
  overflow: hidden;
  background-color: black;
  position: relative;
}
@media screen and (max-width: 767px) {
  .t-architecture_list_img span.img {
    border-radius: 1.4375rem;
  }
}
.t-architecture_list_img span.img::before {
  content: "";
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
  aspect-ratio: 1/1;
  width: 2.5rem;
  background: url(../img/common/arrow_circle_simple_right.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .t-architecture_list_img span.img::before {
    width: 1.375rem;
    bottom: 0.625rem;
    right: 0.625rem;
  }
}
.t-architecture_list_img span.img img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.t-architecture_list_text {
  text-align: center;
  font-size: 1.125rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  line-height: 2.1111111111;
  margin-top: 1.5rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .t-architecture_list_text {
    font-size: 0.875rem;
    margin-top: 0.625rem;
  }
}

.t-history {
  position: relative;
  z-index: 1;
  padding: 5.9375rem 0 13.75rem;
}
@media screen and (max-width: 767px) {
  .t-history {
    padding-bottom: 5rem;
    padding-top: 2.5rem;
  }
}
.t-history #waveCanvas2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  inset: 0;
  z-index: -2;
}
@media screen and (max-width: 767px) {
  .t-history #waveCanvas2 {
    height: 60%;
    top: unset;
    bottom: 0;
  }
}
.t-history #waveCanvas3 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  inset: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .t-history #waveCanvas3 {
    height: 60%;
    top: unset;
    bottom: 0;
  }
}

.t-history_wrap {
  display: grid;
  grid-template-columns: 24.5rem auto;
  column-gap: 1.75rem;
}
@media screen and (max-width: 1024px) {
  .t-history_wrap {
    display: flex;
    flex-wrap: wrap;
    row-gap: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .t-history_wrap {
    display: flex;
    flex-direction: column;
    row-gap: 0;
  }
}

.t-history_texts {
  text-align: center;
  color: #211815;
  display: flex;
  flex-direction: column;
  padding-top: 0.625rem;
}
@media screen and (max-width: 1024px) {
  .t-history_texts {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .t-history_texts {
    display: contents;
  }
}

.t-history_title {
  margin-bottom: 0.875rem;
  row-gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .t-history_title h2 {
    font-size: 1.625rem;
    line-height: 1.4615384615;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .t-history_title h2 {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .t-history_title p {
    font-size: 3.0625rem;
    letter-spacing: 0.04em;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .t-history_title p {
    font-size: 2.625rem;
  }
}
@media screen and (max-width: 767px) {
  .t-history_title {
    order: 2;
  }
  .t-history_title h2 {
    font-size: 1.5625rem;
  }
}

.t-history_icon {
  max-width: 7.625rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.625rem;
}
@media screen and (max-width: 767px) {
  .t-history_icon {
    order: 1;
    max-width: 5.875rem;
  }
}

.t-history_img {
  max-width: 39rem;
  min-width: 0;
}
@media screen and (max-width: 1024px) {
  .t-history_img {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .t-history_img {
    order: 4;
    margin-top: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .t-history_lead {
    order: 3;
  }
}

.t-history_button {
  margin-top: 1.875rem;
  padding-right: 2em;
}
@media screen and (max-width: 767px) {
  .t-history_button {
    order: 5;
    max-width: 13.125rem;
    height: 3rem;
  }
}

.t-page-map {
  color: #fff;
  padding: 4rem 0;
}
@media screen and (max-width: 767px) {
  .t-page-map {
    padding: 1.25rem 0;
  }
}

.t-page-map_items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.75rem;
  row-gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .t-page-map_items {
    grid-template-columns: 1fr;
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.t-page-map_item_link {
  min-height: 8.5rem;
  border-radius: 2rem;
  border: 1px solid #fff;
  background-color: #267ba4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0.625rem;
  transition: filter 0.3s ease;
}
@media screen and (max-width: 767px) {
  .t-page-map_item_link {
    min-height: 5.5rem;
    border-radius: 1.375rem;
    border: 0;
  }
}
.t-page-map_item_link:hover, .t-page-map_item_link:focus {
  filter: brightness(1.1);
}

.t-page-map_item_title {
  font-size: 3.125rem;
  font-family: "gemola", serif;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .t-page-map_item_title {
    font-size: 2rem;
  }
}

.t-page-map_item_text {
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .t-page-map_item_text {
    font-size: 0.9375rem;
  }
}
.t-page-map_item_text .underline {
  font-weight: 700;
  font-size: 1.11em;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .t-page-map_item_text .underline {
    font-size: 1.07em;
  }
}

.t-access {
  color: #fff;
  padding: 0.625rem 0 2.25rem;
}
@media screen and (max-width: 767px) {
  .t-access {
    padding-top: 3.125rem;
  }
}

.t-access_title {
  text-align: center;
}
.t-access_title h2 {
  font-size: 0.9375rem;
  letter-spacing: 0.235em;
}
@media screen and (max-width: 767px) {
  .t-access_title h2 {
    letter-spacing: 0.07em;
  }
}
.t-access_wrap {
  display: grid;
  grid-template-columns: auto 21rem;
  column-gap: 2.25rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .t-access_wrap {
    display: flex;
    flex-direction: column;
    row-gap: 2.5rem;
  }
}

.t-access_map {
  aspect-ratio: 598/360;
  overflow: hidden;
  border-radius: 3.125rem;
  max-width: 37.375rem;
  min-width: 0;
  width: 100%;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .t-access_map {
    border-radius: 2.25rem;
    aspect-ratio: 320/290;
    margin-right: auto;
  }
}
.t-access_map iframe {
  height: 100%;
  width: 100%;
  object-fit: cover;
  filter: grayscale(1);
}

.t-access_texts {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.t-access_address {
  position: relative;
  padding-left: 2.625rem;
}
.t-access_address::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.875rem;
  aspect-ratio: 30/44;
  background: url(../img/top/icon_pin.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .t-access_address::before {
    width: 2.125rem;
  }
}
.t-access_address dt {
  font-size: 1.1875rem;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  line-height: 1.4736842105;
}
@media screen and (max-width: 767px) {
  .t-access_address dt {
    font-size: 1.375rem;
  }
}
.t-access_address dd {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .t-access_address dd {
    font-size: 1.0625rem;
  }
}

.t-access_info {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .t-access_info {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}

.t-access_info_dl {
  display: flex;
}
.t-access_info_dl dt, .t-access_info_dl dd {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .t-access_info_dl dd {
    flex: 1;
  }
}
.t-access_info_dl dd a {
  font-weight: inherit;
}

.t-access_contact {
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.075em;
  display: block;
  text-decoration: underline;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .t-access_contact {
    text-align: center;
  }
}
.t-access_contact:hover, .t-access_contact:focus {
  opacity: 0.7;
}

/*======================================
    about
======================================*/
.p-about-wrap {
  padding-bottom: 9.375rem;
  position: relative;
  z-index: 1;
}
.p-about-wrap #waveCanvas2,
.p-about-wrap #waveCanvas3 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 31.25rem;
  z-index: -1;
}

.p-about-fv {
  padding-top: 5.5rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-about-fv {
    padding-top: 3.125rem;
  }
}

.p-about-fv_bottom {
  position: relative;
  margin-top: 1.5rem;
  padding-bottom: 9.375rem;
}

.p-about-fv_canvas {
  position: absolute;
  left: 0;
  width: 100%;
  display: block;
  z-index: -1;
}
.p-about-fv_canvas#waveCanvasTop {
  top: 0;
  height: 50%;
  transform: scale(1, -1);
  opacity: 0.8;
}
.p-about-fv_canvas#waveCanvasBottom {
  bottom: 0;
  height: 200%;
}

@media screen and (max-width: 767px) {
  .p-about-fv_inner {
    display: flex;
    flex-direction: column;
  }
  .p-about-fv_inner .p-section_title {
    display: contents;
  }
  .p-about-fv_inner .p-section_title h1 {
    order: 3;
  }
  .p-about-fv_inner .p-section_title p {
    order: 1;
  }
}

.t-about-fv_lead {
  max-width: 45rem;
  margin: 2rem auto;
  font-feature-settings: "palt";
  text-align: center;
}
@media screen and (max-width: 767px) {
  .t-about-fv_lead {
    order: 4;
    text-align: left;
  }
}

.p-about-fv_wrap {
  max-width: 53.125rem;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 55.8% auto;
  column-gap: 1.25rem;
  margin-top: 2.5rem;
  margin-bottom: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-about-fv_wrap {
    display: contents;
  }
}

.p-about-fv_img {
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-about-fv_img {
    order: 2;
    margin: 1.25rem auto;
    max-width: 18.75rem;
  }
}
.p-about-fv_img img {
  height: 100%;
  object-fit: cover;
}

.p-about-fv_map {
  max-width: 17.125rem;
}
@media screen and (max-width: 767px) {
  .p-about-fv_map {
    order: 5;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.25rem;
  }
}

.p-about-flow {
  position: sticky;
  top: 8.75rem;
  left: 0;
  width: 100%;
  z-index: 499;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.625rem;
  transition: transform 0.3s ease;
  transform-origin: left top;
}
@media screen and (max-width: 1024px) {
  .p-about-flow {
    top: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about-flow.active {
    transform: scale(0.825);
  }
}

.p-about-flow_link {
  font-size: 0.9375rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  width: 10.9375rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  border: 1px solid #8e6f3f;
  color: #8e6f3f;
  background-color: #fff;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.p-about-flow_link.active {
  background-color: #8e6f3f;
  color: #fff;
}

.p-about-fv_text {
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.135em;
  font-feature-settings: "palt";
  font-weight: 500;
  text-align: center;
}

.p-about-architecture {
  color: #fff;
  text-align: center;
  padding-top: 4.625rem;
  overflow: hidden;
  background-color: #1a728d;
}
@media screen and (max-width: 767px) {
  .p-about-architecture {
    padding-top: 1.25rem;
  }
}

.p-about-architecture_inner {
  position: relative;
  z-index: 2;
}

.p-about-head {
  text-align: center;
}

.p-about-head_lead {
  font-size: 1.1875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  line-height: 2.1052631579;
  margin-top: 1.125rem;
}

.p-about-head_text {
  font-size: 0.9375rem;
  letter-spacing: 0.135em;
  font-feature-settings: "palt";
  line-height: 2;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-about-head_text {
    font-size: 0.875rem;
  }
}

.p-about-architecture_section {
  padding: 2.25rem 0 3.75rem;
  border-top: 1px solid #fff;
}
.p-about-architecture_section.-first {
  margin-top: 2.125rem;
}

.p-about-architecture_section_title {
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  line-height: 1.8636363636;
}

.p-about-architecture_section_text {
  font-size: 0.9375rem;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.135em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .p-about-architecture_section_text {
    font-size: 0.875rem;
  }
}

.c-gallery-swiper_wrap {
  position: relative;
  margin-top: 2.25rem;
}

.c-gallery-swiper {
  overflow: visible;
}

.c-gallery-swiper_slide {
  aspect-ratio: 426/264;
  overflow: hidden;
  border-radius: 1.625rem;
  width: 26.625rem;
}
@media screen and (max-width: 767px) {
  .c-gallery-swiper_slide {
    border-radius: 1rem;
    width: 16.25rem;
  }
}
.c-gallery-swiper_slide img {
  height: 100%;
  object-fit: cover;
}

.c-gallery-swiper_play_button {
  display: block;
  width: 1.5rem;
  margin: 0.375rem auto 0;
}

.p-about-architecture_gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 2rem;
  max-width: 63.75rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5rem;
  row-gap: 2.75rem;
}
@media screen and (max-width: 767px) {
  .p-about-architecture_gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-about-architecture_gallery.-column3 {
  max-width: 48.125rem;
}
@media screen and (min-width: 768px) {
  .p-about-architecture_gallery.-column3 {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2.5rem;
  }
}

.p-about-architecture_gallery_link {
  display: block;
  width: 100%;
}
.p-about-architecture_gallery_link:hover .p-about-architecture_gallery_item_img_wrap::after, .p-about-architecture_gallery_link:focus .p-about-architecture_gallery_item_img_wrap::after {
  transform: translateX(0.25rem);
}
.p-about-architecture_gallery_link:hover .p-about-architecture_gallery_item_img img, .p-about-architecture_gallery_link:focus .p-about-architecture_gallery_item_img img {
  transform: scale(1.05);
}

.p-about-architecture_gallery_item_img_wrap {
  aspect-ratio: 230/180;
  position: relative;
  z-index: 1;
}
.p-about-architecture_gallery_item_img_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 1.125rem;
  transform: translate(0.375rem, 0.375rem);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-about-architecture_gallery_item_img_wrap::before {
    border-radius: 0.625rem;
  }
}
.p-about-architecture_gallery_item_img_wrap::after {
  content: "";
  position: absolute;
  bottom: 0.625rem;
  right: 0.625rem;
  aspect-ratio: 1/1;
  width: 1.6875rem;
  background: url(../img/common/arrow_circle_simple_right.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-about-architecture_gallery_item_img_wrap::after {
    width: 1.875rem;
    bottom: 0.625rem;
    right: 0.625rem;
  }
}

.p-about-architecture_gallery_item_label {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-0.625rem, -50%);
  color: #267ba4;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  border-radius: 0.5625rem;
  background-color: #fff;
  padding: 0.3125rem 0.5em;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-about-architecture_gallery_item_label {
    font-size: 0.75rem;
    border-radius: 0.25rem;
  }
}
.p-about-architecture_gallery_item_label.-temp {
  color: #c5001c;
}

.p-about-architecture_gallery_item_img {
  height: 100%;
  overflow: hidden;
  border-radius: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-about-architecture_gallery_item_img {
    border-radius: 0.625rem;
  }
}
.p-about-architecture_gallery_item_img img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  background-color: #000;
}

.p-about-architecture_gallery_item_text {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-about-architecture_gallery_item_text {
    font-size: 0.875rem;
  }
}

.p-about-architecture-video {
  position: relative;
  z-index: 1;
  padding: 6.25rem 0 4.375rem;
  margin-top: 9.375rem;
}
@media screen and (max-width: 767px) {
  .p-about-architecture-video {
    margin-top: 6.25rem;
  }
}
.p-about-architecture-video #waveCanvas5 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 12.5rem;
  z-index: -1;
  transform: translateY(-100%);
}

.p-about-architecture-video_link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  background-color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.005em;
  font-feature-settings: "palt";
  max-width: 32.8125rem;
  margin: 1.875rem auto 0;
  border-radius: 2rem;
  color: #000;
  min-height: 8.5rem;
  transition: opacity 0.3s ease;
}
.p-about-architecture-video_link:hover, .p-about-architecture-video_link:focus {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-about-architecture-video_link {
    font-size: 0.875rem;
    border-radius: 1.25rem;
  }
}
.p-about-architecture-video_link .lg {
  font-size: 2.25em;
  font-family: "gemola", serif;
  letter-spacing: 0.12em;
  line-height: 1;
  display: block;
  margin-bottom: 0.625rem;
}

.p-about-architecture-video_text {
  text-align: center;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.135em;
  font-feature-settings: "palt";
  font-weight: 500;
}

.p-about-history {
  padding-top: 5.25rem;
  padding-bottom: 6.25rem;
}

.p-about-history_section {
  margin-top: 2.5rem;
  padding-top: 3.125rem;
  border-top: 1px solid #000;
}
.p-about-history_section .p-about-architecture_section_title,
.p-about-history_section .p-about-architecture_section_text {
  text-align: center;
}

.p-about-history_graph_sp {
  width: 10.25rem;
  margin-left: auto;
  margin-top: 2.25rem;
}
@media screen and (min-width: 768px) {
  .p-about-history_graph_sp {
    display: none;
  }
}

.p-about-history_graph_wrap {
  overflow: auto;
  padding-bottom: 0.625rem;
  margin-top: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-about-history_graph_wrap {
    padding-right: 1.25rem;
    margin-right: calc(50% - 50vw);
    margin-top: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-about-history_graph {
    width: 50rem;
  }
}

.p-about-history_era {
  display: grid;
  grid-template-columns: 23.125rem auto;
  column-gap: 3.75rem;
  max-width: 59rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-about-history_era {
    grid-template-columns: 1fr;
    row-gap: 1.25rem;
  }
}
.p-about-history_era.-era1 .p-about-history_era_swiper::after {
  background-image: url(../img/page/about_history_frame_era1.svg);
}
.p-about-history_era.-era1 .p-about-history_era_head,
.p-about-history_era.-era1 .p-about-history_era_swiper_next,
.p-about-history_era.-era1 .p-about-history_era_swiper_pagination .swiper-pagination-bullet-active {
  background-color: #9a0b0c;
}
.p-about-history_era.-era1 .p-about-history_era_texts,
.p-about-history_era.-era1 .p-about-history_era_swiper_pagination .swiper-pagination-bullet {
  border-color: #9a0b0c;
}
.p-about-history_era.-era2 .p-about-history_era_swiper::after {
  background-image: url(../img/page/about_history_frame_era2.svg);
}
.p-about-history_era.-era2 .p-about-history_era_head,
.p-about-history_era.-era2 .p-about-history_era_swiper_next,
.p-about-history_era.-era2 .p-about-history_era_swiper_pagination .swiper-pagination-bullet-active {
  background-color: #294287;
}
.p-about-history_era.-era2 .p-about-history_era_texts,
.p-about-history_era.-era2 .p-about-history_era_swiper_pagination .swiper-pagination-bullet {
  border-color: #294287;
}
.p-about-history_era.-era3 .p-about-history_era_swiper::after {
  background-image: url(../img/page/about_history_frame_era3.svg);
}
.p-about-history_era.-era3 .p-about-history_era_head,
.p-about-history_era.-era3 .p-about-history_era_swiper_next,
.p-about-history_era.-era3 .p-about-history_era_swiper_pagination .swiper-pagination-bullet-active {
  background-color: #408085;
}
.p-about-history_era.-era3 .p-about-history_era_texts,
.p-about-history_era.-era3 .p-about-history_era_swiper_pagination .swiper-pagination-bullet {
  border-color: #408085;
}
.p-about-history_era.-era4 .p-about-history_era_swiper::after {
  background-image: url(../img/page/about_history_frame_era4.svg);
}
.p-about-history_era.-era4 .p-about-history_era_head,
.p-about-history_era.-era4 .p-about-history_era_swiper_next,
.p-about-history_era.-era4 .p-about-history_era_swiper_pagination .swiper-pagination-bullet-active {
  background-color: #6a4f35;
}
.p-about-history_era.-era4 .p-about-history_era_texts,
.p-about-history_era.-era4 .p-about-history_era_swiper_pagination .swiper-pagination-bullet {
  border-color: #6a4f35;
}

.p-about-history_era_head {
  font-size: 2.125rem;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.05em;
  line-height: 1.2058823529;
  font-feature-settings: "palt";
  padding: 0 0.25rem;
  color: #fff;
  width: fit-content;
}

.p-about-history_era_texts {
  border-left: 2px solid #000;
  margin-top: 1.875rem;
  padding-left: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-history_era_texts {
    padding-left: 0.625rem;
  }
}

.p-about-history_era_title {
  font-size: 1.625rem;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  line-height: 1.5769230769;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  margin-top: -0.2884615385em;
}

.p-about-history_era_lead {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
  line-height: 1.45;
  font-size: 1.25rem;
  margin-top: 0.625rem;
}

.p-about-history_era_text {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  line-height: 2;
  text-align: justify;
  margin-top: 1rem;
}

.p-about-history_era_gallery {
  min-width: 0;
}

.p-about-history_era_swiper {
  position: relative;
}
.p-about-history_era_swiper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  inset: 0;
  background: url(../img/page/about_history_frame_era1.svg) no-repeat center/cover;
  aspect-ratio: 524/352;
  z-index: 2;
}

.p-about-history_era_swiper_slide {
  aspect-ratio: 524/352;
}
.p-about-history_era_swiper_slide img {
  height: 100%;
  object-fit: cover;
}

.p-about-history_era_swiper_tools {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 1.25rem;
  margin-top: 1.25rem;
}

.p-about-history_era_swiper_pagination {
  display: flex;
  column-gap: 0.375rem;
  position: static;
  flex: 1;
}
.p-about-history_era_swiper_pagination .swiper-pagination-bullet {
  opacity: 1;
  background-color: #fff;
  border: 1px solid #000;
  width: 2.5rem;
  height: 0.375rem;
  border-radius: 0;
  margin: 0 !important;
}
.p-about-history_era_swiper_pagination .swiper-pagination-bullet-active {
  background-color: #000;
}

.p-about-history_era_swiper_next {
  position: static;
  width: 3.5rem;
  height: 1.375rem;
  border-radius: 62.5rem;
  background-color: #000;
  background-image: url(../img/common/arrow_gallery_next.svg);
  background-size: 2rem 0.375rem;
  background-repeat: no-repeat;
  background-position: center 0.375rem;
  margin-left: auto;
  cursor: pointer;
}

.modal_arc_title {
  font-size: 1.8125rem;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #267ba4;
}

.modal_arc_cat {
  margin-bottom: 0;
  width: fit-content;
  transform: translate(0);
  margin-bottom: 0.25rem;
}
.modal_arc_cat.p-about-architecture_gallery_item_label {
  position: static;
  background-color: #267ba4;
  color: #fff;
}
.modal_arc_cat.p-about-architecture_gallery_item_label.-temp {
  background-color: #c5001c;
}

/*======================================
    event
======================================*/
.archive {
  padding: 12.5rem 0;
}
@media screen and (max-width: 767px) {
  .archive {
    padding: 5rem 0;
  }
}

.a-event_lists {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
  column-gap: 1.75rem;
  row-gap: 1.5rem;
  margin: 3.125rem auto;
}
@media screen and (max-width: 767px) {
  .a-event_lists {
    grid-template-columns: 1fr;
    max-width: 31.25rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.a-event_list .c-event_swiper_slide {
  width: 100%;
}

/*======================================
    news
======================================*/
.a-news_lists {
  margin: 3.125rem auto;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}

.s_news_inner {
  max-width: 34.25rem;
}

/*======================================
    contact
======================================*/
.p-contact {
  background-color: #1a728d;
}

.p-contact_wrapper {
  background-color: #fff;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
  padding: 2.375rem 0;
}

.form_item {
  padding: 2.25rem 1.25rem;
}
.form_item:nth-child(n+2) {
  border-top: 2px solid #cccccd;
}

.form_item_row {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 13.75rem auto;
  column-gap: 1.875rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .form_item_row {
    grid-template-columns: 1fr;
    row-gap: 0.375rem;
  }
}
.form_item_row dt label {
  max-width: 13.75rem;
  margin-left: auto;
  font-weight: 500;
  letter-spacing: 0.105em;
  line-height: 1.5;
  column-gap: 1rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .form_item_row dt label {
    justify-content: space-between;
    max-width: 100%;
  }
}
.form_item_row dd.column {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
}
.form_item_row dd input,
.form_item_row dd textarea {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  width: 100%;
  font-size: 1rem;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.055em;
  font-feature-settings: "palt";
  box-shadow: none;
  border-radius: 0.375rem;
  background-color: #ededeb;
  border: none;
  padding: 1.25rem 1.875rem;
  font-weight: 500;
  line-height: 1.5;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}
.form_item_row dd input.input_md,
.form_item_row dd textarea.input_md {
  max-width: 21.25rem;
}
@media screen and (max-width: 767px) {
  .form_item_row dd input,
  .form_item_row dd textarea {
    padding: 0.75rem 0.75rem;
  }
}
.form_item_row dd input::placeholder,
.form_item_row dd textarea::placeholder {
  letter-spacing: 0.135em;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #8e8e8f;
}
.form_item_row dd textarea {
  resize: vertical;
  height: 15rem;
}
.form_item_row dd .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  row-gap: 1.625rem;
}
@media screen and (max-width: 767px) {
  .form_item_row dd .wpcf7-checkbox {
    row-gap: 1.25rem;
    margin-top: 1.25rem;
  }
}
.form_item_row dd .wpcf7-checkbox .wpcf7-list-item {
  margin-left: 0;
  display: block;
}
.form_item_row dd .wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  column-gap: 0.25rem;
}
.form_item_row dd .wpcf7-checkbox .wpcf7-list-item label:hover, .form_item_row dd .wpcf7-checkbox .wpcf7-list-item label:focus {
  cursor: pointer;
}
.form_item_row dd .wpcf7-checkbox .wpcf7-list-item.last {
  width: fit-content;
}
.form_item_row dd .wpcf7-checkbox .wpcf7-list-item input[type=checkbox] {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  width: 1.75rem;
  padding: 0;
  aspect-ratio: 1/1;
  display: block;
  border: 2px solid #cccccd;
  box-shadow: none;
  border-radius: 0;
  background-color: #fff;
  position: relative;
}
.form_item_row dd .wpcf7-checkbox .wpcf7-list-item input[type=checkbox]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  aspect-ratio: 24/18;
  background-image: url(../img/page/form_check.svg);
  background-size: 1.5rem 1.75rem;
  background-repeat: no-repeat;
  background-position: center;
  width: 1.5rem;
  opacity: 0;
  visibility: hidden;
}
.form_item_row dd .wpcf7-checkbox .wpcf7-list-item input[type=checkbox]:checked::after {
  opacity: 1;
  visibility: visible;
}
.form_item_row dd .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
  position: relative;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.065em;
  line-height: 2;
  flex: 1;
}

.form_check_text {
  line-height: 1.75;
}

.wpcf7-not-valid-tip {
  margin-top: 0.25rem;
}

.form_check_other {
  width: calc(100% - 7.5rem);
  margin-left: auto;
  margin-top: -1.875rem;
}
@media screen and (max-width: 767px) {
  .form_check_other {
    width: calc(100% - 2.25rem);
    margin-top: 0.25rem;
  }
}

.required {
  font-size: 0.8125rem;
  letter-spacing: 0.215em;
  color: #fff;
  background-color: #c50018;
  width: 2.8125rem;
  height: 1.5625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 0.3125rem;
}
.required.-disabled {
  opacity: 0;
}

.form_privacy {
  margin-top: 3.125rem;
}
.form_privacy .wpcf7-acceptance {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  display: block;
}
.form_privacy .wpcf7-acceptance .wpcf7-list-item label {
  cursor: pointer;
  display: flex;
  column-gap: 0.625rem;
  align-items: start;
}
.form_privacy .wpcf7-acceptance .wpcf7-list-item label input {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 1.5rem;
  aspect-ratio: 1/1;
  background-color: #edecdf;
  border-radius: 0.25rem;
  box-shadow: none;
  border: none;
  position: relative;
  transform: translateY(10%);
}
.form_privacy .wpcf7-acceptance .wpcf7-list-item label input:checked::before {
  visibility: visible;
  opacity: 1;
}
.form_privacy .wpcf7-acceptance .wpcf7-list-item label input::before {
  content: "";
  position: absolute;
  top: 6%;
  left: 0;
  width: 1.5rem;
  height: 0.5rem;
  border-bottom: 0.25rem solid #c50018;
  border-left: 0.25rem solid #c50018;
  transform: rotate(-45deg);
  visibility: hidden;
  opacity: 0;
}
.form_privacy .wpcf7-acceptance .wpcf7-list-item-label {
  font-weight: 500;
  letter-spacing: 0.105em;
  line-height: 2;
  font-feature-settings: "palt";
  flex: 1;
}
.form_privacy .wpcf7-acceptance .wpcf7-list-item-label a {
  text-decoration: underline;
  font-weight: inherit;
  font-size: 0.9375em;
  transition: opacity 0.3s ease;
}
.form_privacy .wpcf7-acceptance .wpcf7-list-item-label a:hover, .form_privacy .wpcf7-acceptance .wpcf7-list-item-label a:focus {
  opacity: 0.7;
}

.form_submit {
  margin-top: 2.5rem;
}
.form_submit .form_button_submit,
.form_submit input[type=submit] {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  width: 100%;
  max-width: 14.625rem;
  height: 3.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1a728d;
  background-color: #fff;
  border-radius: 62.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  padding-right: 2.5rem;
  background-image: url(../img/common/form_button_arrow.svg);
  background-size: 2rem 0.9375rem;
  background-position: center right 1.875rem;
  background-repeat: no-repeat;
  margin-left: auto;
  border: none;
  box-shadow: none;
  margin-right: auto;
  font-size: 1rem;
  transition: filter 0.3s ease, background-position 0.3s ease;
}
.form_submit .form_button_submit:hover, .form_submit .form_button_submit:focus,
.form_submit input[type=submit]:hover,
.form_submit input[type=submit]:focus {
  background-position: center right 1.625rem;
  cursor: pointer;
}
.form_submit .form_button_submit:disabled,
.form_submit input[type=submit]:disabled {
  filter: grayscale(1);
}
.form_submit .form_button_submit:disabled:hover, .form_submit .form_button_submit:disabled:focus,
.form_submit input[type=submit]:disabled:hover,
.form_submit input[type=submit]:disabled:focus {
  background-position: center right 1.875rem;
  pointer-events: none;
  cursor: default;
}
.form_submit .back_button {
  display: block;
  width: fit-content;
  font-size: 1.125rem;
  color: #fff;
  font-weight: 500;
  margin-left: auto;
  margin-right: auto;
  padding: 0.625rem;
  margin-top: 1rem;
  transition: opacity 0.3s ease;
}
.form_submit .back_button:hover, .form_submit .back_button:focus {
  opacity: 0.7;
}

.wpcf7-response-output,
.wpcf7-spinner {
  display: none;
}

.grecaptcha-badge {
  display: none !important;
}

/*======================================
    thanks
======================================*/
.p-thanks_title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  font-feature-settings: "palt";
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .p-thanks_title {
    font-size: 1.125rem;
  }
}

.p-thanks_texts {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}
.p-thanks_texts p {
  margin-top: 1.75em;
}
.p-thanks_texts .bold {
  font-size: 1.2em;
}

/*# sourceMappingURL=style.css.map */
