
  .sp_navi{
  position: fixed;
  right: 0;
  top: 0;
  width: 70px;
  height: 70px;
  background-color: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.16);
}

.global-nav {
  position: fixed;
  right: -320px; /* これで隠れる */
  top: 0;
  width: 300px; /* スマホに収まるくらい */
  height: 100vh;
  padding-top: 70px;
  background-color: #0f3381;
  transition: all .6s;
  z-index: 999;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}
.hamburger {
  position: absolute;
  right: 0;
  top: 0;
  width: 70px; /* クリックしやすいようにちゃんと幅を指定する */
  height: 70px; /* クリックしやすいようにちゃんと高さを指定する */
  cursor: pointer;
  z-index: 999;
  background-color: #0f3381;
}

.global-nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.global-nav__item {
  text-align: center;
  padding: 0 14px;
}
.global-nav__item a {
  display: block;
  padding: 8px 0;
  border-bottom: 1px solid #eee;
  text-decoration: none;
  color: #111;
  color: #ffffff;
}
.global-nav__item a:hover {
  background-color: #eee;
}
.hamburger__line {
  position: absolute;
  left: 13px;
  width: 45px;
  height: 3px;
  background-color: #ffffff;
  transition: all .6s;

}
.hamburger__line--1 {
  top: 14px;
}
.hamburger__line--2 {
  top: 24px;
}
.hamburger__line--3 {
  top: 34px;
}
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all .6s;
  cursor: pointer;
}
/* 表示された時用のCSS */
.nav-open .global-nav {
  right: 0;
  z-index: 999;
}
.nav-open .black-bg {
  opacity: .8;
  visibility: visible;
}
.nav-open .hamburger__line--1 {
  transform: rotate(45deg);
  top: 20px;
}
.nav-open .hamburger__line--2 {
  width: 0;
  left: 50%;
}
.nav-open .hamburger__line--3 {
  transform: rotate(-45deg);
  top: 20px;
}

.navi_f {
  position: absolute;
  bottom: 2px;
  left: 0;
  right: 0;
  margin: auto;
  width: 3.3em;
  color: #ffffff;
}

@media all and  (min-width: 768px)
{
  .sp_navi{
  display: none;
}


}

/*##################################################################
pc_header
##################################################################*/


.pc_header{
  display: none;
}

@media all and  (min-width: 768px)
{

.pc_header{
  display: block;
  position: fixed;
  background-color: rgba(255,255,255,0.7);
  width: 100%;
  z-index: 999;

}

.pc_n_li{
  max-width: 1000px;
  margin: 15px auto;
  font-weight: 700;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.pc_n_li li{
  margin-right: 35px;
}

.pc_n_li li:last-child{
  margin-right: 0px;
}

.pc_n_li li a {
    position: relative;
      display: inline-block;
      text-decoration: none;
  }

  .pc_n_li li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #0f3381;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }

  .pc_n_li li a:hover::after {
    transform: scale(1, 1);
  }

}
