@charset "UTF-8";
/* ハンバーガーメニューのスタイリング */
body {
  @import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans&display=swap");
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
  display: flex;
  flex-flow: column;
  min-height: 100vh;
}
body a {
  color: var(--bs-tertiary-color);
}

img {
  max-width: 100%; /* 1 */
  height: auto; /* 1 */
  vertical-align: middle; /* 2 */
  font-style: italic; /* 3 */
  background-repeat: no-repeat; /* 4 */
  background-size: cover; /* 4 */
  shape-margin: 0.75rem; /* 5 */
}

main {
  flex: 1;
}

.header {
  position: fixed;
  height: 100px;
  width: 100%;
  z-index: 999; /*最前面へ*/
  /*以下はレイアウトのためのCSS*/
  text-align: center;
}
.header .nav-item a {
  color: var(--bs-body-color);
}
.header.invert {
  background: rgba(255, 255, 255, 0.8);
}
.header.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
.header.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.header h1 {
  margin: 0.5rem 1rem;
}
.header .navbar-collapse {
  justify-content: flex-end;
  margin: 0.5rem;
}
@media (max-width: 991.98px) {
  .header .navbar-nav {
    padding: 3rem 0;
  }
  .header .navbar-toggler {
    border-color: rgba(var(--bs-body-color), 0.8);
    background-color: #353434;
    padding: 0.5rem;
  }
  .header .navbar-toggler:focus {
    box-shadow: none !important;
  }
  .header .navbar-collapse {
    justify-content: flex-end;
    margin: 0.5rem 0;
  }
  .header .header__logo {
    max-width: 324px;
  }
  .header .header__nav__overlay {
    height: 100vh;
    background-color: rgba(var(--bs-wihite), 0.8);
    /*padding-top: 3.5rem*/
  }
  .header .header__nav .navbar-collapse {
    overflow-y: auto;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
  }
  .header .header__nav .navbar-collapse .nav-link {
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 0;
    padding-right: 0;
    border-bottom: 2px solid var(--bs-body-color);
    color: var(--bs-white);
  }
  .header .header__nav__bg {
    background-color: var(--bs-body-color);
    height: 100vh;
  }
  .header .navbar-toggler {
    z-index: 2;
    position: fixed;
    right: 10px;
    top: 10px;
  }
  .header .navbar-toggler i {
    display: none;
  }
  .header .navbar-toggler[aria-expanded=true] .navbar-toggler-icon {
    background: 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header .navbar-toggler[aria-expanded=true] .navbar-toggler-icon i {
    display: block;
  }
}
.header .navbar-dark .navbar-brand {
  /* サイトタイトル */
  color: rgb(212, 108, 228);
}

.footer {
  width: 100%;
}

.mb-8 {
  margin-bottom: 8rem;
}

.mb-9 {
  margin-bottom: 9rem;
}

.mb-10 {
  margin-bottom: 10rem;
}

.text-white {
  color: var(--bs-white);
}

.page-top {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  width: 60px;
  border-radius: 100%;
  background-color: var(--bs-body-color);
  color: var(--bs-white);
  position: fixed;
  right: 50px;
  z-index: 900;
}
.page-top:hover {
  color: var(--bs-white);
  background-color: var(--bs-tertiary-color);
  opacity: 0.9;
}
.page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}
.page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}

@media (max-width: 575.98px) {
  .header .nav-item a {
    color: var(--bs-white);
  }
}
@media (max-width: 767.98px) {
  .page-top {
    right: 10px;
  }
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/*# sourceMappingURL=style.css.map */

.maintenance{
  background-color: #f8f6f6;
  padding:4rem 2rem;
  border-radius: 1rem;
}