@charset "UTF-8";

/*-------------------------------------------
header
-------------------------------------------*/
#header {
  width: 100%;
  background-color: #f9faff;
  position: fixed;
  z-index: 999;
}
#header .site-title {
  padding: 20px 16px;
}
#header .site-title a {
  display: inline-block;
  color: #05276b;
  font-size: 32px;
}
#navi {
  background-color: #05276b;
}
#navi a {
  color: #fff;
}
#navi ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
#navi li {
  font-size: 0.875rem;
  padding: 10px 60px 10px 0;
}
/* ハンバーガーメニューのデザイン（SP用） */
.hamburger-menu {
  display: none;
  position: absolute;
  top: 15px;
  right: 20px;
  width: 40px;
  height: 30px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 1000;
}
.hamburger-menu span {
  display: block;
  width: 100%;
  height: 4px;
  background-color: #05276b;
  margin: 6px 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.hamburger-menu.open span {
  height: 2px;
}
.hamburger-menu.open span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.hamburger-menu.open span:nth-child(2) {
  opacity: 0;
}
.hamburger-menu.open span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/*-------------------------------------------
SP
-------------------------------------------*/
@media screen and (max-width: 767px) {
  /*-------------------------------------------
  header
  -------------------------------------------*/
  #header .site-title {
    padding: 20px 16px;
  }
  #navi {
    overflow-x: scroll;
  }
  #navi li {
    padding: 5vh 0 5vh 0;
    font-size: 1.5rem;
  }
  /* SP時のナビゲーションメニュー */
  .hamburger-menu {
    display: block;
  }
  #navi {
    display: none;
    position: absolute;
    top: 60px;
    right: 0;
    width: 100%;
    background-color: #05276b;
    text-align: center;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }
  #navi ul {
    flex-direction: column;
    padding: 20px 0;
  }
  /* メニュー開閉時のスタイル */
  #navi.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
  }
  /* メニューの開閉アニメーション */
  @keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(-60px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes fadeOut {
    from {
      opacity: 1;
      transform: translateY(0);
    }
    to {
      opacity: 0;
      transform: translateY(-60px);
    }
  }
}
