@charset "UTF-8";
.lead {
  padding-top: 11.25rem;
  padding-bottom: 17.875rem;
  padding-inline: 0;
  background: -webkit-linear-gradient(315deg, #E5F5FF 0%, #008FDB 70%);
  background: linear-gradient(135deg, #E5F5FF 0%, #008FDB 70%);
  position: relative;
}
@media only screen and (max-width: 768px) {
  .lead {
    padding-top: 8.5714285714rem;
    padding-bottom: 10rem;
  }
}
.lead::before {
  content: "";
  display: block;
  width: 100%;
  height: 31.25rem;
  position: absolute;
  top: -20.625rem;
  background: url(../images/lead/img_lead_wave_01.svg) no-repeat center/100%;
  z-index: 10;
}
@media only screen and (max-width: 768px) {
  .lead::before {
    background-size: 150%;
    top: -17.5rem;
  }
}
.lead::after {
  content: "";
  display: block;
  width: 100%;
  height: 31.25rem;
  position: absolute;
  bottom: -0.3125rem;
  background: url(../images/lead/img_lead_wave_02.svg) no-repeat center bottom/100%;
}
.lead__ttl {
  width: 32.5rem;
  margin-inline: auto;
}
@media only screen and (max-width: 768px) {
  .lead__ttl {
    margin-inline: 0;
    width: 21.4285714286rem;
  }
}
.lead__summary {
  font-family: "Noto Serif JP", serif;
  color: #ffffff;
  text-align: center;
  margin-top: 3rem;
  font-size: max(15px, 1.25vw);
  letter-spacing: 0.07em;
  line-height: 2.3;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .lead__summary {
    text-align: left;
  }
}

.greeting {
  padding-top: 11.125rem;
  padding-bottom: 5rem;
  background: url(../images/greeting/bg_greeting_01.svg) top/100% no-repeat, #ffffff;
  background-position: 0 2.5rem;
}
@media only screen and (max-width: 768px) {
  .greeting {
    background-size: 150%;
    background-position: 0 0.7142857143rem;
    padding-top: 4.4285714286rem;
    padding-bottom: 1.4285714286rem;
  }
}
.greeting .wrapper {
  max-width: 76.625rem;
}
.greeting .ttl--en {
  font-size: 5.375rem;
}
@media only screen and (max-width: 768px) {
  .greeting .ttl--en {
    font-size: 3.4285714286rem;
  }
}
.greeting .ttl--jp {
  margin-top: 1.5rem;
}
.greeting__content {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 3.625rem;
}
@media only screen and (max-width: 768px) {
  .greeting__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.greeting__img {
  width: 19.5625rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .greeting__img {
    width: 100%;
  }
}
.greeting__img > img {
  margin-top: -4.875rem;
}
@media only screen and (max-width: 768px) {
  .greeting__img > img {
    margin-top: 8.5333333333vw;
    width: 14.2857142857rem;
  }
}
.greeting__message {
  margin-top: 3.5rem;
}
@media only screen and (max-width: 768px) {
  .greeting__message {
    width: 100%;
    margin-top: 1.5rem;
  }
}
.greeting__message p:not(:first-of-type) {
  margin-top: 0.75rem;
}
.greeting__message p:not(:last-of-type) {
  padding-right: 1rem;
}
.greeting__name {
  text-align: right;
  font-size: 1.375rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-top: 1.375rem !important;
}
@media only screen and (max-width: 768px) {
  .greeting__name {
    font-size: 1.2142857143rem;
  }
}
.greeting__name::first-line {
  font-size: 1rem;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  .greeting__name::first-line {
    font-weight: 600;
    font-size: 1rem;
  }
}

.news {
  background: #ffffff;
}
.news .wrapper {
  max-width: 76.75rem;
  margin-top: -5.625rem;
  margin-inline: auto;
  padding: 4.75rem 5rem 1.625rem 4.875rem;
  background: #ffffff;
  position: relative;
  z-index: 5;
}
@media only screen and (max-width: 768px) {
  .news .wrapper {
    margin-top: 0;
    padding: 3.2857142857rem 1.4285714286rem 2.8571428571rem;
  }
}
.news .ttl {
  margin-top: -0.625rem;
}
.news .ttl--en {
  font-size: 4.5rem;
}
@media only screen and (max-width: 768px) {
  .news .ttl--en {
    font-size: 3.2857142857rem;
  }
}
.news .ttl--jp {
  display: inline-block;
  margin-top: 0.875rem;
}
@media only screen and (max-width: 768px) {
  .news .ttl--jp {
    margin-top: 1.2857142857rem;
  }
}
.news .flex {
  gap: 3.5rem;
}
@media only screen and (max-width: 768px) {
  .news .flex {
    gap: 0;
  }
}
.news-list {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .news-list {
    margin-top: 9.0666666667vw;
  }
}
.news-list__item {
  padding-top: 2.125rem;
  padding-bottom: 1.875rem;
  padding-right: 3.75rem;
  border-bottom: 0.0625rem #155686 dashed;
  gap: 0.875rem !important;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .news-list__item {
    padding-top: 1.1428571429rem;
    padding-bottom: 1.2857142857rem;
  }
}
.news-list__item:first-of-type {
  padding-top: 1.75rem;
}
@media only screen and (max-width: 768px) {
  .news-list__item:first-of-type {
    padding-top: 0;
  }
}
.news-list__date {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  letter-spacing: 0.06em;
  font-weight: 900;
  min-width: 13.4375rem;
}
.news-list__category {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 0.875rem;
  padding: 0.5rem 1.25rem 0.5rem;
  border-radius: 1.125rem;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-size: 0.9375rem;
  font-weight: bold;
  letter-spacing: 0;
  background: #155686;
  color: #ffffff;
}
@media only screen and (max-width: 768px) {
  .news-list__category {
    font-size: 0.8571428571rem;
    margin-left: 0.4285714286rem;
    padding: 0.4375rem 1rem 0.5rem;
  }
}
.news-list__ttl {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.06em;
  line-height: 1.5;
  font-weight: 600;
  text-decoration: underline;
  width: 100%;
  color: #000000;
}
.news-list__ttl:hover {
  text-decoration: none;
}
.news-list__ttl::after {
  content: "";
  display: block;
  width: 2.0625rem;
  height: 2.0625rem;
  background: url(../images/btn_plus_01.svg) center/100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0.625rem;
}
@media only screen and (max-width: 768px) {
  .news-list__ttl::after {
    width: 1.7142857143rem;
    height: 1.7142857143rem;
  }
}

.news-content {
  display: none;
}
.news-content__ttl {
  font-size: 1.625rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  .news-content__ttl {
    font-size: 1.4285714286rem;
  }
}
.news-content__ttl--sub {
  margin-top: 3rem;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
  .news-content__ttl--sub {
    font-size: 1.1428571429rem;
    margin-top: 2rem;
  }
}

.modaal-container p {
  margin-top: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .modaal-container p {
    margin-top: 1rem;
  }
}
.modaal-container p:first-of-type {
  margin-top: 2.25rem;
}
@media only screen and (max-width: 768px) {
  .modaal-container p:first-of-type {
    margin-top: 1rem;
  }
}
.modaal-container img {
  margin: 1.5rem 0 0;
}

.message {
  padding-top: 106px;
  padding-bottom: 200px;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(rgba(167, 208, 232, 0.5))), #ffffff;
  background: -webkit-linear-gradient(top, #fff 0%, rgba(167, 208, 232, 0.5) 100%), #ffffff;
  background: linear-gradient(to bottom, #fff 0%, rgba(167, 208, 232, 0.5) 100%), #ffffff;
  overflow-x: hidden;
}
@media only screen and (max-width: 768px) {
  .message {
    padding-top: 60px;
    padding-bottom: 78px;
  }
}
.message .ttl {
  text-align: center;
}
.message .ttl--en {
  color: #155686;
}
.message .ttl--jp {
  margin-top: 1.75rem;
}
@media only screen and (max-width: 768px) {
  .message .ttl--jp {
    margin-top: 1.2857142857rem;
  }
}
.message-swiper_01 {
  margin-top: 4.5rem;
}
@media only screen and (max-width: 768px) {
  .message-swiper_01 {
    margin-top: 3rem;
  }
}
.message-swiper_02 {
  margin-left: -142px;
}
@media only screen and (max-width: 768px) {
  .message-swiper_02 {
    margin-left: -77px;
  }
}
.message .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}
.message .swiper-slide {
  width: 284px !important;
}
@media only screen and (max-width: 768px) {
  .message .swiper-slide {
    width: 154px !important;
  }
}
.message .swiper-slide img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.message .swiper-slide a {
  width: 100%;
}
.message .swiper-slide a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/message/bg_message_01.png) center/cover;
  position: absolute;
  top: 0;
  left: 0;
}
.message .swiper-slide a::after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../images/btn_plus_02.svg) center/cover;
  position: absolute;
  bottom: 18px;
  right: 16px;
}
@media only screen and (max-width: 768px) {
  .message .swiper-slide a::after {
    width: 24px;
    height: 24px;
    bottom: 10px;
    right: 11px;
  }
}
.message .swiper-slide .wrap3 .swiper-slide {
  height: calc((100% - 10px) / 2);
}
.message *:focus {
  outline: none !important;
}

.message-content {
  display: none;
}
.message-content__inner {
  gap: 3rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.message-content__img img {
  width: 17.75rem;
}
.message-content__img img:first-of-type {
  margin-top: 0;
}
@media only screen and (max-width: 768px) {
  .message-content__img img {
    margin-inline: auto;
  }
}
.message-content__ttl {
  font-size: 1.625rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  .message-content__ttl {
    font-size: 1.4285714286rem;
  }
}
.message-content__ttl + p:first-of-type {
  margin-top: 1.25rem;
}
.message-content__txt > *:first-child {
  margin-top: 0 !important;
}
.message-content__txt p {
  margin-top: 1.25rem;
}
.message-content__name {
  margin-top: 2rem;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  text-align: right;
}
.message-content__name--title {
  text-align: right;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.5;
}
.message-content__name--title + .message-content__name {
  margin-top: 0.375rem;
}

.history {
  padding-inline: 0;
}
.history .swiper {
  padding-right: 6.25rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .history .swiper {
    padding-right: 0;
  }
}
.history .swiper-wrapper {
  margin-left: 6.9444444444vw;
  margin-right: 3rem;
  padding-bottom: 3rem;
  cursor: -webkit-grab;
  cursor: grab;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .history .swiper-wrapper {
    margin-left: 5.3333333333vw;
    padding-bottom: 1.7142857143rem;
  }
}
.history .swiper-slide {
  height: auto;
}
.history .swiper-slide > div {
  width: 100%;
  height: 100%;
}
.history .swiper-button-prev,
.history .swiper-button-next {
  position: absolute;
  top: 3.125rem;
  width: 4rem;
  height: 4rem;
}
@media only screen and (max-width: 768px) {
  .history .swiper-button-prev,
  .history .swiper-button-next {
    width: 2.8571428571rem;
    height: 2.8571428571rem;
    top: 7.1428571429rem;
  }
}
.history .swiper-button-prev {
  right: 11.375rem;
  left: unset;
}
@media only screen and (max-width: 768px) {
  .history .swiper-button-prev {
    right: 5.1428571429rem;
  }
}
.history .swiper-button-prev::after {
  content: "";
  display: block;
  background: url(../images/btn_prev_02.svg) no-repeat center/contain;
  width: 100%;
  height: 100%;
}
.history .swiper-button-next {
  right: 6.25rem;
}
@media only screen and (max-width: 768px) {
  .history .swiper-button-next {
    right: 1.4285714286rem;
  }
}
.history .swiper-button-next::after {
  content: "";
  display: block;
  background: url(../images/btn_next_02.svg) no-repeat center/contain;
  width: 100%;
  height: 100%;
}
.history .swiper-scrollbar {
  left: 6.5972222222vw;
}
.history .swiper-horizontal > .swiper-scrollbar,
.history .swiper-scrollbar.swiper-scrollbar-horizontal {
  width: calc(100% - 6.9444444444vw);
  opacity: 0.5;
}
.history .wrapper {
  max-width: 76.5rem;
}
.history .ttl {
  color: #000000;
}
.history .ttl--jp {
  color: #000000;
}
.history-lead {
  color: #000000;
  padding-top: 9.5rem;
  padding-inline: 1.25rem;
  padding-bottom: 7.625rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .history-lead {
    padding-top: 4.5714285714rem;
    padding-bottom: 4.8571428571rem;
    padding-inline: 0;
  }
}
.history-lead__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}
.history-lead__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: url(../images/history/lead/bg_history_lead_01.jpg) top/cover;
  z-index: -1;
}
.history-lead .ttl--jp {
  display: inline-block;
  margin-top: 1.25rem;
}
.history-lead__content {
  gap: 4.5rem;
  margin-top: 4.125rem;
}
@media only screen and (max-width: 768px) {
  .history-lead__content {
    margin-top: 2.2857142857rem;
    gap: 2.5714285714rem;
  }
}
.history-lead__summary p:not(:first-of-type) {
  margin-top: 1.125rem;
}
.history-lead__img {
  width: 17.875rem;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  padding-top: 0.1875rem;
}
@media only screen and (max-width: 768px) {
  .history-lead__img {
    width: 14.4285714286rem;
    margin-inline: auto;
  }
}
.history-lead__name {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.5;
  margin-top: 0.875rem;
}
@media only screen and (max-width: 768px) {
  .history-lead__name {
    margin-top: 0.8571428571rem;
  }
}
.history-lead__organization__ttl {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  margin-top: 5.875rem;
  font-size: 1.5625rem;
  font-weight: bold;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .history-lead__organization__ttl {
    margin-top: 3.6428571429rem;
    font-size: 1.1428571429rem;
  }
}
.history-lead__organization__ttl--date {
  font-size: 0.9375rem;
  letter-spacing: 0.06em;
  margin-left: 1.0416666667vw;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .history-lead__organization__ttl--date {
    font-size: 0.7142857143rem;
  }
}
.history-lead__organization__img {
  overflow-x: auto;
  margin-top: 3rem;
  margin-right: -4.8611111111vw;
  padding-bottom: 0.75rem;
}
@media only screen and (max-width: 768px) {
  .history-lead__organization__img {
    margin-top: 2.2857142857rem;
  }
}
.history-lead__organization__img--pc {
  width: 79.1666666667vw;
  margin-left: 0;
}
@media only screen and (max-width: 768px) {
  .history-lead__organization__img--pc {
    display: none;
  }
}
.history-lead__organization__img--sp {
  max-width: unset;
  width: 59rem;
  display: none;
}
@media only screen and (max-width: 768px) {
  .history-lead__organization__img--sp {
    display: block;
    margin-right: 5.3333333333vw;
  }
}
.history-year {
  padding-inline: 0;
  color: #ffffff;
}
.history-year__sec {
  padding-top: 1.75rem;
  padding-bottom: 4.25rem;
}
@media only screen and (max-width: 768px) {
  .history-year__sec {
    padding-top: 5rem;
    padding-bottom: 5rem;
    padding-inline: 0;
  }
}
.history-year__1871 {
  background: url(../images/history/year/bg_history_1871.jpg) left/cover;
  padding-top: 7rem;
}
@media only screen and (max-width: 768px) {
  .history-year__1871 {
    padding-top: 4.7142857143rem;
    background: url(../images/history/year/bg_history_1871--sp.jpg) left/cover;
  }
}
.history-year__1912 {
  background: url(../images/history/year/bg_history_1912.jpg) left/cover;
}
@media only screen and (max-width: 768px) {
  .history-year__1912 {
    background: url(../images/history/year/bg_history_1912--sp.jpg) left/cover;
  }
}
.history-year__1927 {
  background: url(../images/history/year/bg_history_1927.jpg) left/cover;
}
@media only screen and (max-width: 768px) {
  .history-year__1927 {
    background: url(../images/history/year/bg_history_1927--sp.jpg) left/cover;
  }
}
.history-year__1954 {
  background: url(../images/history/year/bg_history_1954.jpg) left/cover;
}
@media only screen and (max-width: 768px) {
  .history-year__1954 {
    background: url(../images/history/year/bg_history_1954--sp.jpg) left/cover;
  }
}
.history-year__1989 {
  background: url(../images/history/year/bg_history_1989.jpg) left/cover;
}
@media only screen and (max-width: 768px) {
  .history-year__1989 {
    background: url(../images/history/year/bg_history_1989--sp.jpg) left/cover;
  }
}
.history-year__2019 {
  background: url(../images/history/year/bg_history_2019.jpg) left/cover;
}
@media only screen and (max-width: 768px) {
  .history-year__2019 {
    background: url(../images/history/year/bg_history_2019--sp.jpg) left/cover;
  }
}
.history-year__ttl {
  margin-top: 4.125rem;
  margin-left: 6.9444444444vw;
}
@media only screen and (max-width: 768px) {
  .history-year__ttl {
    margin-top: 3.7142857143rem;
    margin-left: 5.3333333333vw;
  }
}
.history-year__ttl--num {
  font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Noto Serif JP", serif;
  font-size: 5rem;
  letter-spacing: 0.04em;
  font-weight: 600;
}
@media only screen and (max-width: 768px) {
  .history-year__ttl--num {
    font-size: 3.5714285714rem;
  }
}
.history-year__ttl--jp {
  font-size: 1.5rem;
  letter-spacing: 0;
  font-weight: 600;
}
@media only screen and (max-width: 768px) {
  .history-year__ttl--jp {
    font-size: 1.1428571429rem;
  }
}
.history-year__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 18.25rem;
  min-width: 18.25rem;
  color: #ffffff;
}
@media only screen and (max-width: 768px) {
  .history-year__item {
    min-width: 18.7142857143rem;
  }
}
.history-year__item:last-of-type {
  width: 27.75rem;
}
.history-year__item:last-of-type .history-year__txt {
  max-width: 14.9375rem;
}
.history-year__item:last-of-type img {
  max-width: 14.9375rem;
  margin-left: 0;
}
.history-year__item--noicon {
  padding-top: 6.625rem;
}
@media only screen and (max-width: 768px) {
  .history-year__item--noicon {
    padding-top: 5.5714285714rem;
  }
}
.history-year__item--noicon .history-year__summary::before {
  width: calc(100% + 1px);
}
.history-year__term {
  font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Noto Serif JP", serif;
  font-size: 2.5rem;
  letter-spacing: 0;
  font-weight: 600;
  display: block;
  padding-bottom: 2.6875rem;
  position: relative;
  height: 6.625rem;
}
@media only screen and (max-width: 768px) {
  .history-year__term {
    font-size: 2rem;
    height: 5.5714285714rem;
  }
}
.history-year__term--era {
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  font-weight: bold;
}
.history-year__term::before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
  left: 0;
  bottom: -1.75rem;
  background: url(../images/history/year/icon_history_circle_01.svg) center/cover;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .history-year__term::before {
    width: 3.2857142857rem;
    height: 3.2857142857rem;
    bottom: -1.6428571429rem;
  }
}
.history-year__summary {
  padding-top: 2.875rem;
  padding-right: 3.5rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .history-year__summary {
    padding-top: 2.8571428571rem;
  }
}
.history-year__summary::before {
  content: "";
  width: calc(100% - 3.5rem);
  height: 2px;
  display: block;
  background: #ffffff;
  position: absolute;
  right: 0;
  top: 0;
}
@media only screen and (max-width: 768px) {
  .history-year__summary::before {
    width: calc(100% - 3.2857142857rem);
  }
}
.history-year__summary.border-none::before {
  all: unset;
}
.history-year__summary.border-none .history-year__txt {
  max-width: unset;
}
.history-year__date {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.5;
}
.history-year__img {
  margin-top: 1.5rem;
}
.history-year__txt {
  margin-top: 0.875rem;
  font-size: min(1.125rem, 19px);
  letter-spacing: 0.08em;
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
  .history-year__txt {
    margin-top: 1rem;
  }
}
.history-year__txt > strong {
  font-size: 2.25rem;
  font-weight: bold;
}
.history-year .swiper-button-prev,
.history-year .swiper-button-next {
  position: absolute;
  top: 6.375rem;
}
@media only screen and (max-width: 768px) {
  .history-year .swiper-button-prev,
  .history-year .swiper-button-next {
    top: 5.8571428571rem;
  }
}
.history-year .swiper-button-prev::after {
  content: "";
  display: block;
  background: url(../images/btn_prev_01.svg) no-repeat center/contain;
  width: 100%;
  height: 100%;
}
.history-year .swiper-button-next::after {
  content: "";
  display: block;
  background: url(../images/btn_next_01.svg) no-repeat center/contain;
  width: 100%;
  height: 100%;
}
.history-year .swiper-wrapper {
  margin-top: 1.125rem;
}
@media only screen and (max-width: 768px) {
  .history-year .swiper-wrapper {
    margin-top: 1.4285714286rem;
    margin-left: 5.3333333333vw;
  }
}
.history-building {
  padding-top: 7rem;
  padding-bottom: 2.5rem;
  padding-inline: 0;
  background: -webkit-linear-gradient(315deg, rgb(174, 207, 224) 0%, #fff 100%);
  background: linear-gradient(135deg, rgb(174, 207, 224) 0%, #fff 100%);
}
@media only screen and (max-width: 768px) {
  .history-building {
    padding-top: 4.8571428571rem;
    padding-bottom: 2.1428571429rem;
  }
}
.history-building__lead {
  margin-left: 6.9444444444vw;
  max-width: 56.9444444444vw;
  margin-top: 2rem;
  letter-spacing: 0;
}
@media only screen and (max-width: 768px) {
  .history-building__lead {
    width: 100%;
    margin-inline: 0;
    max-width: 100%;
    padding-inline: 5.3333333333vw;
    margin-top: 1.1428571429rem;
  }
}
.history-building__item {
  width: 26.5625rem;
}
@media only screen and (max-width: 768px) {
  .history-building__item {
    width: 22.5714285714rem;
  }
}
.history-building__term {
  font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Noto Serif JP", serif;
  font-size: 2.5rem;
  letter-spacing: 0;
  font-weight: 600;
  display: block;
  padding-bottom: 1.375rem;
  position: relative;
  color: #155686;
}
@media only screen and (max-width: 768px) {
  .history-building__term {
    padding-bottom: 1.1428571429rem;
    font-size: 2.2857142857rem;
  }
}
.history-building__term--era {
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  font-weight: bold;
}
.history-building__term::before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
  left: 0;
  bottom: -1.75rem;
  background: url(../images/history/building/icon_history_circle_02.svg) center/cover;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .history-building__term::before {
    width: 3.2857142857rem;
    height: 3.2857142857rem;
  }
}
.history-building__summary {
  padding-top: 2.125rem;
  padding-right: 4.125rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .history-building__summary {
    padding-top: 2.5714285714rem;
    padding-right: 2.5714285714rem;
  }
}
.history-building__summary::before {
  content: "";
  width: calc(100% - 3.5rem);
  height: 2px;
  display: block;
  background: #155686;
  position: absolute;
  right: 0;
  top: 0;
}
@media only screen and (max-width: 768px) {
  .history-building__summary::before {
    width: calc(100% - 3.2857142857rem);
  }
}
.history-building__date {
  margin-left: 0.25rem;
  color: #155686;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .history-building__date {
    margin-left: 0;
  }
}
.history-building__img {
  margin-top: 1rem;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .history-building__img {
    margin-top: 0.8571428571rem;
  }
}
.history-building__ttl {
  font-size: 1.375rem;
  font-weight: bold;
  margin-top: 0.875rem;
}
@media only screen and (max-width: 768px) {
  .history-building__ttl {
    font-size: 1.2857142857rem;
    margin-top: 1rem;
  }
}
.history-building__ttl + p:not(.history-building__address) {
  margin-top: 1.5rem;
}
.history-building__address {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  color: #155686;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  .history-building__address {
    margin-top: 0.5714285714rem;
  }
}
.history-building__address--icon {
  padding: 0.5rem 0.5rem 0.5rem 0.625rem;
  background: #155686;
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: bold;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media only screen and (max-width: 768px) {
  .history-building__address--icon {
    padding: 0.2857142857rem;
    font-size: 0.9285714286rem;
  }
}
.history-building__address--txt {
  display: block;
  font-size: 0.9375rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.9;
}
@media only screen and (max-width: 768px) {
  .history-building__address--txt {
    letter-spacing: 0.04em;
    font-size: 0.8571428571rem;
  }
}
.history-building__address + p {
  margin-top: 1.125rem;
}
@media only screen and (max-width: 768px) {
  .history-building__address + p {
    margin-top: 0.5714285714rem;
  }
}
.history-building .swiper-wrapper {
  margin-top: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .history-building .swiper-wrapper {
    margin-top: 15.4666666667vw;
  }
}
.history-building .swiper-button-prev,
.history-building .swiper-button-next {
  top: 3.625rem;
}
@media only screen and (max-width: 768px) {
  .history-building .swiper-button-prev,
  .history-building .swiper-button-next {
    top: 11.4285714286rem;
  }
}
.history-uniform {
  padding-top: 7rem;
  padding-bottom: 4rem;
  padding-inline: 0;
  background: -webkit-linear-gradient(315deg, rgb(174, 207, 224) 0%, #fff 100%);
  background: linear-gradient(135deg, rgb(174, 207, 224) 0%, #fff 100%);
}
@media only screen and (max-width: 768px) {
  .history-uniform {
    padding: 4.8571428571rem 0 4.1428571429rem;
  }
}
.history-uniform__lead {
  margin-top: 2.625rem;
  margin-left: 6.9444444444vw;
  max-width: 56.9444444444vw;
}
@media only screen and (max-width: 768px) {
  .history-uniform__lead {
    max-width: 100%;
    margin-inline: 5.3333333333vw;
  }
}
.history-uniform__item {
  width: 15.875rem;
}
@media only screen and (max-width: 768px) {
  .history-uniform__item {
    width: 14.7142857143rem;
  }
}
@media only screen and (max-width: 768px) {
  .history-uniform__item:last-of-type {
    margin-right: 2.8571428571rem;
  }
}
.history-uniform__term {
  font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Noto Serif JP", serif;
  font-size: 2rem;
  letter-spacing: 0;
  font-weight: 600;
  display: block;
  position: relative;
  color: #155686;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .history-uniform__term {
    font-size: 2rem;
  }
}
.history-uniform__term-group {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  padding-bottom: 2.875rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media only screen and (max-width: 768px) {
  .history-uniform__term-group {
    padding-bottom: 2.5714285714rem;
  }
}
.history-uniform__term-group:first-of-type::before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
  left: 0;
  bottom: -1.75rem;
  background: url(../images/history/building/icon_history_circle_02.svg) center/cover;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .history-uniform__term-group:first-of-type::before {
    width: 3.2857142857rem;
    height: 3.2857142857rem;
  }
}
.history-uniform__term--era {
  display: block;
  margin-inline: auto;
  font-family: "Noto Serif JP", serif;
  font-size: max(12px, 0.8333333333vw);
  font-weight: bold;
  color: #155686;
  margin-top: 0.375rem;
}
@media only screen and (max-width: 768px) {
  .history-uniform__term--era {
    letter-spacing: 0em;
    font-size: 0.8571428571rem;
  }
}
.history-uniform__term--dash {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  height: 100%;
}
.history-uniform__term--dash > p {
  display: table-cell;
  margin-left: 0.75rem;
  margin-right: 0.375rem;
  font-size: 1.875rem;
  letter-spacing: 0.08em;
  color: #155686;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  .history-uniform__term--dash > p {
    font-size: 1.7142857143rem;
    margin-left: 0.4285714286rem;
    margin-right: 0;
    letter-spacing: 0;
  }
}
.history-uniform__summary {
  padding-top: 3.25rem;
  padding-right: 3.375rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .history-uniform__summary {
    padding-top: 2rem;
    padding-right: 2.7857142857rem;
  }
}
.history-uniform__summary::before {
  content: "";
  width: calc(100% - 3.5rem);
  height: 2px;
  display: block;
  background: #155686;
  position: absolute;
  right: 0;
  top: 0;
}
@media only screen and (max-width: 768px) {
  .history-uniform__summary::before {
    width: calc(100% - 3.2857142857rem);
  }
}
.history-uniform__summary img {
  height: auto;
}
.history-uniform__ttl {
  color: #155686;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  font-weight: bold;
  margin-top: 0;
}
@media only screen and (max-width: 768px) {
  .history-uniform__ttl {
    margin-top: 0.4285714286rem;
    font-size: 1rem;
  }
}
.history-uniform .swiper {
  margin-top: 3rem;
}
@media only screen and (max-width: 768px) {
  .history-uniform .swiper {
    margin-top: 0;
  }
}
.history-uniform .swiper-wrapper {
  margin-top: 3.25rem;
}
@media only screen and (max-width: 768px) {
  .history-uniform .swiper-wrapper {
    margin-top: 2.2857142857rem;
  }
}
@media only screen and (max-width: 768px) {
  .history-uniform .swiper-button-prev,
  .history-uniform .swiper-button-next {
    top: 25.2857142857rem;
  }
}
.history-uniform .swiper-uniform_01 {
  margin-top: 0;
}
.history-uniform .swiper-uniform_01 .ttl-uniform {
  margin-top: 3rem;
}
.history-uniform .swiper-uniform_01 .swiper-button-prev,
.history-uniform .swiper-uniform_01 .swiper-button-next {
  top: 1.75rem;
}
@media only screen and (max-width: 768px) {
  .history-uniform .swiper-uniform_01 .swiper-button-prev,
  .history-uniform .swiper-uniform_01 .swiper-button-next {
    top: 2.4285714286rem;
  }
}
.history-uniform .swiper-uniform_01 .swiper-wrapper {
  margin-top: 2.25rem;
}
.history-uniform .swiper-uniform_02 {
  margin-top: 2.875rem;
}
.history-uniform .swiper-uniform_02 .ttl-uniform {
  margin-top: 0;
}
.history-uniform .swiper-uniform_02 .swiper-wrapper {
  margin-top: 2.25rem;
}
@media only screen and (max-width: 768px) {
  .history-uniform .swiper-uniform_02 .swiper-wrapper {
    margin-top: 2.5714285714rem;
  }
}
.history-uniform .swiper-uniform_02 .ttl-uniform {
  margin-top: 0.75rem;
}
@media only screen and (max-width: 768px) {
  .history-uniform .swiper-uniform_02 .ttl-uniform {
    margin-top: 1.7142857143rem;
  }
}
.history-uniform .swiper-uniform_02 .swiper-button-prev,
.history-uniform .swiper-uniform_02 .swiper-button-next {
  top: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .history-uniform .swiper-uniform_02 .swiper-button-prev,
  .history-uniform .swiper-uniform_02 .swiper-button-next {
    top: 1.625rem;
  }
}

.history-uniform__item:last-of-type .history-uniform__summary::before {
  display: none;
}

.movie {
  padding: 6rem 1.3888888889vw 3.75rem;
  background: #155686;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .movie {
    padding-top: 11.7333333333vw;
    padding-inline: 5.3333333333vw;
    padding-bottom: 3.2vw;
  }
}
.movie::after {
  content: "";
  display: block;
  width: 116.9444444444vw;
  height: 116.9444444444vw;
  position: absolute;
  border-radius: 50%;
  bottom: -88.5416666667vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #E5F5FF;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .movie::after {
    bottom: -65.0666666667vw;
  }
}
.movie .ttl {
  text-align: center;
  color: #ffffff;
}
.movie .ttl--jp {
  color: #ffffff;
}
.movie-decoration {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 4.7222222222vw;
  max-width: 63.8888888889vw;
  z-index: 3;
}
@media only screen and (max-width: 768px) {
  .movie-decoration {
    height: 1px;
  }
}
.movie-decoration::before {
  content: "";
  display: block;
  width: 26.3888888889vw;
  height: 15.2777777778vw;
  position: absolute;
  top: -8.4722222222vw;
  left: -24.3055555556vw;
  background: url(../images/movie/decoration_movie_01.png) center/100% no-repeat;
}
@media only screen and (max-width: 768px) {
  .movie-decoration::before {
    width: 42.6666666667vw;
    top: -16vw;
    left: -29.3333333333vw;
  }
}
.movie-decoration::after {
  content: "";
  display: block;
  width: 18.0555555556vw;
  height: 11.1111111111vw;
  position: absolute;
  top: -3.4722222222vw;
  right: -20.8333333333vw;
  background: url(../images/movie/decoration_movie_02.png) center/100% no-repeat;
}
@media only screen and (max-width: 768px) {
  .movie-decoration::after {
    width: 26.6666666667vw;
    height: 26.6666666667vw;
    top: -21.3333333333vw;
    right: -20.8vw;
  }
}
.movie-decoration--bottom {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 1px;
  max-width: 63.8888888889vw;
  z-index: 3;
}
.movie-decoration--bottom::before {
  content: "";
  display: block;
  width: 12.5vw;
  height: 11.1111111111vw;
  position: absolute;
  bottom: 0.8333333333vw;
  left: -17.3611111111vw;
  background: url(../images/movie/decoration_movie_03.png) center/100% no-repeat;
}
@media only screen and (max-width: 768px) {
  .movie-decoration--bottom::before {
    width: 26.6666666667vw;
    height: 42.6666666667vw;
    bottom: -24.5333333333vw;
    left: -21.3333333333vw;
  }
}
.movie-decoration--bottom::after {
  content: "";
  display: block;
  width: 12.5vw;
  height: 15.2777777778vw;
  position: absolute;
  bottom: 6.9444444444vw;
  right: -18.0555555556vw;
  background: url(../images/movie/decoration_movie_04.png) center/contain no-repeat;
}
@media only screen and (max-width: 768px) {
  .movie-decoration--bottom::after {
    width: 24vw;
    height: 37.3333333333vw;
    bottom: -21.8666666667vw;
    right: -28.8vw;
  }
}
.movie iframe {
  display: block;
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
  position: relative;
  margin-top: 6rem;
  margin: 0 auto;
  width: 100%;
  max-width: 63.8888888889vw;
  z-index: 3;
}
@media only screen and (max-width: 768px) {
  .movie iframe {
    max-width: 100%;
    margin-top: 8.5333333333vw;
  }
}

.event {
  background: #E5F5FF;
  padding-top: 2rem;
  padding-bottom: 8.75rem;
}
@media only screen and (max-width: 768px) {
  .event {
    padding-top: 9.0666666667vw;
    padding-bottom: 21.3333333333vw;
  }
}
.event .wrapper {
  max-width: 71.875rem;
}
@media only screen and (max-width: 768px) {
  .event .wrapper {
    max-width: 100%;
    margin-inline: 5.3333333333vw;
  }
}
.event .ttl {
  text-align: center;
}
.event__item {
  padding: 2.375rem;
  background: #ffffff;
  margin-top: 2.2222222222vw;
  gap: 2.7777777778vw;
}
@media only screen and (max-width: 768px) {
  .event__item {
    margin-top: 1.7142857143rem;
    padding: 1.4285714286rem;
    gap: 1.2857142857rem;
  }
}
.event__item:nth-of-type(2) {
  margin-top: 4.375rem;
}
@media only screen and (max-width: 768px) {
  .event__item:nth-of-type(2) {
    margin-top: 8.5333333333vw;
  }
}
.event__img {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.event__img > img {
  width: 23.8125rem;
}
.event__summary p {
  margin-top: 0.75rem;
}
.event__summary p:first-of-type {
  margin-top: 0.75rem;
}
.event__ttl--date {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  display: inline-block;
  color: #155686;
  font-size: max(14px, 1.1111111111vw);
  font-weight: 900;
  line-height: 1;
  margin-top: 0.25rem;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .event__ttl--date {
    margin-top: 0;
  }
}
.event__ttl--txt {
  font-weight: 900;
  font-family: "Noto Serif JP", serif;
  font-size: max(18px, 1.5277777778vw);
  letter-spacing: 0.08em;
  line-height: 1.8;
  display: block;
  margin-top: 0.5rem;
}

.report {
  padding-top: 5.75rem;
  padding-bottom: 7.375rem;
  background: url(../images/report/bg_report_01.jpg) center/cover;
}
@media only screen and (max-width: 768px) {
  .report {
    padding-top: 17.0666666667vw;
    padding-bottom: 21.3333333333vw;
  }
}
.report .wrapper {
  max-width: 80vw;
}
@media only screen and (max-width: 768px) {
  .report .wrapper {
    max-width: unset;
  }
}
.report .ttl {
  color: #ffffff;
}
.report .ttl--en {
  font-size: 4.5rem;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  .report .ttl--en {
    font-size: 3.4285714286rem;
  }
}
.report .ttl--jp {
  color: #ffffff;
  display: inline-block;
  margin-left: 2.125rem;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .report .ttl--jp {
    display: block;
    margin-top: 1.7142857143rem;
    margin-left: 0;
  }
}
.report__item {
  margin-top: 3.875rem;
  gap: 3rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (max-width: 768px) {
  .report__item {
    margin-top: 2.5714285714rem;
    width: 100%;
    gap: 1.7142857143rem;
  }
}
.report__img {
  width: 12.8571428571rem;
  margin-inline: auto;
}
.report__summary {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.report__summary p {
  font-family: "Noto Serif JP", serif;
  font-size: max(18px, 1.5277777778vw);
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.36;
  color: #ffffff;
}
@media only screen and (max-width: 768px) {
  .report__summary p {
    text-align: center;
  }
}
.report__summary .btn {
  margin-top: 2.5625rem;
}
@media only screen and (max-width: 768px) {
  .report__summary .btn {
    margin-top: 1.7142857143rem;
    width: 23.4375rem;
  }
}

.modaal-inner-wrapper {
  padding-inline: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .modaal-inner-wrapper {
    padding-inline: 2.1428571429rem;
  }
}

.modaal-container {
  position: relative;
  padding: 3.5rem 3.5rem 3.3125rem 3.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 80.5555555556vw;
}
@media only screen and (max-width: 768px) {
  .modaal-container {
    max-width: 82.9333333333vw;
    padding: 1.375rem 1.5rem 1.5rem;
  }
}

.modaal-content-container {
  padding: 0;
}

.modaal-overlay {
  background: #003F6E !important;
  opacity: 0.67;
}

.modaal-close {
  position: absolute;
  top: -1.875rem;
  right: -1.875rem;
  background: url(../images/btn_mdl_close_01.svg) center/cover !important;
  width: 3.5rem;
  height: 3.5rem;
}
@media only screen and (max-width: 768px) {
  .modaal-close {
    width: 2.5714285714rem;
    height: 2.5714285714rem;
    top: -0.7142857143rem;
    right: -0.7142857143rem;
  }
}
.modaal-close::before, .modaal-close::after {
  all: unset;
}

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after {
  all: unset;
}

.modaal-gallery-control {
  position: fixed;
  width: 70px;
  height: 70px;
}
@supports (top: 50svh) {
  .modaal-gallery-control {
    top: 50svh;
  }
}
@supports not (top: 50svh) {
  .modaal-gallery-control {
    top: 50vh;
  }
}
@media only screen and (max-width: 768px) {
  .modaal-gallery-control {
    width: 50px;
    height: 50px;
  }
}

#modaal-gallery-prev {
  padding: 7px;
  left: 1.25rem;
  background: url(../images/btn_mdl_prev_01.svg) center/56px no-repeat;
}
@media only screen and (max-width: 768px) {
  #modaal-gallery-prev {
    left: 0;
    background-size: 40px;
    padding-left: 0;
  }
}
@media only screen and (max-width: 414px) {
  #modaal-gallery-prev {
    left: 0px;
  }
}
#modaal-gallery-prev::before, #modaal-gallery-prev::after {
  all: unset;
}

#modaal-gallery-next {
  padding: 7px;
  right: 1.25rem;
  background: url(../images/btn_mdl_next_01.svg) center/56px no-repeat;
}
@media only screen and (max-width: 768px) {
  #modaal-gallery-next {
    right: 17px;
    background-size: 40px;
    padding-right: 0;
  }
}
@media only screen and (max-width: 414px) {
  #modaal-gallery-next {
    right: 0px;
  }
}
#modaal-gallery-next::before, #modaal-gallery-next::after {
  all: unset;
}

.modaal-gallery-next-inner {
  left: unset;
  margin-left: 0;
}/*# sourceMappingURL=style_contents.css.map */