@charset "UTF-8";
#header #hamburger {
  width: 36px;
  height: 26px;
  position: fixed;
  top: 23px;
  right: 35px;
  z-index: 99999;
  overflow: visible;
  cursor: pointer;
}
#header #hamburger .hamburger--container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#header #hamburger .hamburger--container .hamburger--bars {
  transition: 0.3s ease;
  position: absolute;
  left: 0;
  height: 2px;
  width: 100%;
  background-color: #00437C;
}
#header #hamburger .hamburger--container .hamburger--bars-01 {
  top: 0;
}
#header #hamburger .hamburger--container .hamburger--bars-02 {
  top: 11.5px;
}
#header #hamburger .hamburger--container .hamburger--bars-03 {
  top: 23px;
}
#header #hamburger:hover .hamburger--container .hamburger--bars {
  opacity: 0.6;
}

@media all and (max-width: 640px) {
  #header #hamburger {
    width: 30px;
    height: 16px;
    top: 10px;
    right: 20px;
  }
  #header #hamburger .hamburger--container .hamburger--bars-02 {
    top: 8px;
  }
  #header #hamburger .hamburger--container .hamburger--bars-03 {
    top: 16px;
  }
}
.fsmenu {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 888;
  overflow: hidden;
  display: none;
}
.fsmenu .fsmenu--container {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  width: 100vw;
  z-index: 100;
  display: grid;
  place-items: center;
  overflow: hidden auto;
  background: #00437C;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.fsmenu .fsmenu--container .fsmenu--inner {
  margin: auto;
  max-width: 880px;
  padding: 40px;
}
.fsmenu .fsmenu--container::-webkit-scrollbar {
  display: none;
}
.fsmenu h2 {
  text-align: center;
  margin-bottom: 20px;
}
.fsmenu ul#mainmenu {
  margin-bottom: 40px;
}
.fsmenu ul#mainmenu li {
  margin-top: 2rem;
}
.fsmenu ul#mainmenu li a {
  border: solid 1px white;
  display: block;
  text-align: center;
  color: white;
  padding: 15px;
  border-radius: 5px;
}
.fsmenu ul#mainmenu li a span.jp,
.fsmenu ul#mainmenu li a span.en {
  display: block;
  letter-spacing: 1px;
  line-height: 1.4;
}
.fsmenu ul#mainmenu li a span.en {
  font-size: 20px;
}
.fsmenu ul#mainmenu li a span.jp {
  font-size: 14px;
}
.fsmenu ul#mainmenu li a:hover {
  background-color: #065498;
}
.fsmenu #submenu .btns {
  display: block;
  border-bottom: solid 1px white;
  color: white;
  font-size: 16px;
  line-height: 1.4;
  padding: 0 0 8px 0;
}
.fsmenu #submenu .btns span {
  display: inline-block;
  background-color: white;
  width: 4px;
  margin-right: 8px;
  height: 12px;
  line-height: 1.4;
}
.fsmenu #submenu #torikumi-btn {
  cursor: pointer;
}
.fsmenu #submenu #torikumi-btn:hover,
.fsmenu #submenu a:hover {
  opacity: 0.6;
}
.fsmenu #torikumi-menu {
  margin-top: 25px;
  display: none;
  padding-left: 25px;
}
.fsmenu #torikumi-menu ul {
  display: inline-block;
  margin-right: 35px;
}
.fsmenu #torikumi-menu ul li {
  margin-bottom: 6px;
  list-style-type: disc;
  color: white;
  list-style-position: inside;
  text-indent: -0.9em;
  padding-left: 0.9em;
  line-height: 1.4;
}
.fsmenu #torikumi-menu ul li a {
  color: white;
}
.fsmenu #torikumi-menu ul li a:hover {
  text-decoration: underline;
}
.fsmenu #torikumi-btn::after {
  content: "";
  position: absolute;
  top: 40%;
  right: 20px;
  width: 10px;
  height: 10px;
  border-right: 2px solid white;
  border-bottom: 2px solid white;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 0.3s ease;
}
.fsmenu #torikumi-btn.is-open::after {
  transform: translateY(-20%) rotate(-135deg);
}

@media all and (max-width: 991px) {
  .fsmenu h2 {
    margin-bottom: 15px;
  }
  .fsmenu ul#mainmenu {
    margin-bottom: 20px;
  }
  .fsmenu #submenu .col {
    margin-top: 20px;
  }
  .fsmenu #submenu a {
    letter-spacing: 1px;
  }
  .fsmenu #torikumi-menu {
    margin-top: 10px;
  }
  .row-flex {
    display: flex;
    flex-wrap: wrap;
  }
  .row-flex .col-md-4 {
    width: 100%;
  }
  .order-1 {
    order: 1;
  }
  .order-2 {
    order: 3;
  }
  .order-3 {
    order: 4;
  }
  .order-4 {
    order: 2;
  }
}
@media all and (max-width: 767px) {
  .fsmenu #torikumi-menu {
    padding-left: 28px;
  }
  .fsmenu #torikumi-menu ul li a {
    font-size: 15px;
    letter-spacing: normal;
  }
}
@media all and (max-width: 575px) {
  .fsmenu .fsmenu--container .fsmenu--inner {
    padding: 30px;
  }
  .fsmenu h2 {
    margin-bottom: 15px;
  }
  .fsmenu ul#mainmenu {
    margin-bottom: 20px;
  }
  .fsmenu ul#mainmenu li {
    margin-top: 1.5rem;
  }
  .fsmenu ul#mainmenu li a {
    padding: 12px;
  }
  .fsmenu ul#mainmenu li a span.en {
    font-size: 18px;
  }
  .fsmenu ul#mainmenu li a span.jp {
    font-size: 13px;
  }
  .fsmenu #submenu .col {
    margin-top: 15px;
  }
  .fsmenu #submenu .btns {
    padding: 0 0 6px 0;
    font-size: 15px;
  }
  .fsmenu #torikumi-menu ul li a {
    font-size: 14px;
  }
  .fsmenu #torikumi-btn::after {
    width: 8px;
    height: 8px;
    border-right: 1px solid white;
    border-bottom: 1px solid white;
  }
}
@media all and (max-width: 499px) {
  .fsmenu #torikumi-menu ul {
    display: block;
    margin: auto;
  }
  .fsmenu #torikumi-menu ul li a {
    letter-spacing: normal;
  }
}
.is-active #header .hamburger--container .hamburger--bars {
  background-color: white !important;
}
.is-active #header #hamburger .hamburger--container .hamburger--bars-01 {
  left: 5px;
}
.is-active #header #hamburger .hamburger--container .hamburger--bars-03 {
  left: -5px;
}
.is-active .fsmenu {
  display: block;
  pointer-events: auto;
}
.is-active .fsmenu .fsmenu--container {
  animation: animMenuReveal 0.6s cubic-bezier(0.13, 0.13, 0.02, 1.07) 0s forwards;
}
.is-active .fsmenu .fades {
  opacity: 0;
}
.is-active .fsmenu .fade01 {
  animation: fadeInLeft 0.6s ease 0.2s 1 forwards;
}
.is-active .fsmenu .fade02 {
  animation: fadeInLeft 0.6s ease 0.4s 1 forwards;
}
.is-active .fsmenu .fade03 {
  animation: fadeInLeft 0.6s ease 0.6s 1 forwards;
}
.is-active .fsmenu .fade04 {
  animation: fadeInLeft 0.6s ease 0.8s 1 forwards;
}
.is-active .fsmenu .fade05 {
  animation: fadeInLeft 0.6s ease 1s 1 forwards;
}
.is-active .fsmenu .fade06 {
  animation: fadeInLeft 0.6s ease 1.2s 1 forwards;
}
.is-active .fsmenu .fade07 {
  animation: fadeInLeft 0.6s ease 1.4s 1 forwards;
}
.is-active .fsmenu .fade08 {
  animation: fadeInLeft 0.6s ease 1.6s 1 forwards;
}
.is-active .fsmenu .fade09 {
  animation: fadeInLeft 0.6s ease 1.8s 1 forwards;
}
.is-active .fsmenu .fade10 {
  animation: fadeInLeft 0.6s ease 2s 1 forwards;
}

.close-menu .fsmenu {
  display: block;
  pointer-events: none;
}
.close-menu .fsmenu .fsmenu--container {
  width: 100%;
  left: auto;
  right: 0;
  animation: animMenuClose 0.6s cubic-bezier(0.13, 0.13, 0.02, 1.07) 0.3s forwards;
}
.close-menu .fsmenu .fsmenu--container .fsmenu--inner {
  animation: opacityFadeOut 0.6s ease 0.1s 1 forwards;
}
@keyframes animMenuReveal {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@keyframes animMenuClose {
  0% {
    width: 100%;
  }
  100% {
    width: 0%;
  }
}
@keyframes opacityFadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* 左から右にふわっとフェードイン */
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
  }
}/*# sourceMappingURL=menu.css.map */