@charset "UTF-8";
/* Nav
----------------------------*/
.hamburger {
  display: block;
  position: fixed;
  z-index: 99999;
  right: 0;
  top: 0;
  width: 60px;
  height: 60px;
  cursor: pointer;
  text-align: center;
  background: #1361a9;
}
.hamburger:hover {
  opacity: 0.8;
}
.hamburger span {
  display: block;
  position: absolute;
  width: 26px;
  height: 1px;
  left: 18px;
  background: #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 13px;
}
.hamburger span:nth-child(2) {
  top: 22px;
}
.hamburger span:nth-child(3) {
  top: 31px;
}
.hamburger.active span:nth-child(1) {
  top: 22px;
  left: 18px;
  background: #fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.hamburger.active span:nth-child(2), .hamburger.active span:nth-child(3) {
  top: 22px;
  background: #fff;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}
.hamburger p {
  color: #fff;
  position: absolute;
  font-size: 1.2rem;
  bottom: 5px;
  left: 2px;
  right: 0;
  margin: 0;
}
.slide-menu {
  position: fixed;
  z-index: 3;
  top: 0;
  right: 0;
  color: #fff;
  background: #1361a9;
  text-align: center;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
  padding: 6rem 0 0;
  height: 100vh;
  visibility: hidden;
}
.slide-menu .sp-logo {
  transition: all 0.5s 0s ease;
  margin: 1.5rem 1.5rem 0;
  position: absolute;
  top: 0;
  left: 0;
}
.slide-menu.active {
  opacity: 100;
  z-index: 9999;
  visibility: visible;
  width: 100%;
}
.slide-menu > ul {
  margin: 0 auto;
  width: 100%;
  display: flex;
  font-size: 1.5rem;
  flex-wrap: wrap;
  padding: 0;
}
.slide-menu > ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
  position: relative;
  z-index: 99999;
  border-top: solid 1px #ffffff;
}
.slide-menu > ul li a {
  display: block;
  color: #ffffff;
  padding: 2.5rem 1.5rem;
  text-decoration: none;
  position: relative;
  text-align: center;
  font-size: 1.8rem;
}
.slide-menu > ul li a:hover {
  background-color: #1361a9;
  color: #fff;
}
.slide-menu > ul li:last-child {
  border-bottom: solid 1px #d1d1d1;
}
.slide-menu > ul li:last-child:hover {
  opacity: 0.8;
}
.slide-menu > ul li:last-child a {
  color: #fff;
}
.slide-menu > ul li:last-child a::before {
  font-family: "Font Awesome 6 Pro";
  content: '\f0e0';
  display: inline-block;
  position: relative;
  right: 1rem;
  top: -1px;
  color: #fff;
}
/* Extra large devices (large desktops, 1200px and over, .col-xl-*)*/
@media (min-width: 1200px) {
  nav ul {
    padding: 0;
  }
  .pc-nav {
    display: flex;
    align-items: center;
  }
  .pc-nav .global-menu {
    margin: 0;
  }
  .pc-nav .global-menu li {
    display: inline;
    margin-right: 2.5rem;
    transition: all 0.5s 0s ease;
    font-size: 1.6rem;
  }
  .pc-nav .global-menu li:last-of-type a {
    background-color: #006cb7 !important;
    color: #fff !important;
    white-space: pre-wrap;
    text-decoration: none;
    transition: all 0.4s 0s ease;
    border-radius: 9999px;
    padding: 1.25rem 3.5rem;
  }
  .pc-nav .global-menu li:last-of-type a:hover {
    background-color: #005896 !important;
  }
  .pc-nav .global-menu li a {
    color: #fff;
    transition: all 0.5s 0s ease;
    text-shadow: inherit;
    font-weight: 400;
  }
  .pc-nav .global-menu li a:hover {
    text-decoration: none;
  }
  .pc-nav .global-menu li a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #ffffff;
    bottom: -4px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
    opacity: 0.7;
  }
  .pc-nav .global-menu li a:hover::after {
    transform: scale(1, 1); /*ホバー後、x軸方向に1伸長*/
  }
  .pc-nav .global-menu li:last-of-type a::after {
    content: none;
  }
  header.transform .pc-nav li a {
    color: #212324;
  }
  header.transform .pc-nav .global-menu li a::after {
    background: #1361a9;
  }
}