@charset "utf-8";



header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  background: linear-gradient(to bottom, #032596, #006CBC);
  height: 3.5rem;
}
header .inner{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 820px;
  padding: .5rem;
  margin: 0 auto;
}
header .header_logo{
  width: 8rem;
  margin-left: -.5rem;
}
#hmenu{
	position: relative;
  padding: .8rem .5rem .5rem;
  background: #fff;
  z-index: 100;
}
#nav_toggle{
  position: relative;
  width: 1.7rem;
  height: 20px;
  cursor: pointer;     
}

/*ハンバーガーメニュー*/
#nav_toggle,
#nav_toggle span {
  display: block;
  transition: all .4s;
}

  #nav_toggle span{
  position: absolute;
  right: 0;
  width: 100%;
  height: 3px;
  background-color: #333;
  border-radius: 4px;
  }

  #nav_toggle span:nth-child(1){
    top:0;
  }
  #nav_toggle span:nth-child(2){
    top:12px;
    width: 1.2rem;
  }


/*中央ラインの位置がずれながら消える*/
#hmenu.open{
  background: none;
}
#hmenu.open span{
  background-color: #fff;
}
 #hmenu.open #nav_toggle span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
  transform: translateY(6px) rotate(-45deg);
}
@keyframes active-menu-bar02 {
  100% {
    height: 0;
  }
}
 #hmenu.open #nav_toggle span:nth-of-type(2) {
  -webkit-transform: translateY(-19px) rotate(45deg);
  transform: translateY(-19px) rotate(45deg);
  top: 25px;
  width: 100%;

}
  


/*なかのメニュー*/
    #menu{
    position: fixed;
    right:-100%;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index:90;
    background: rgb(255 255 255 / 76%);
    box-sizing: border-box;
}
#menu.open{
  right: 0;
}

#menu a{
  color: #fff;
  display: block;
  padding-bottom: .5rem;
  border-bottom: solid 1px;
  margin-bottom: .5rem;
}

.menu_inner{
	width: 60vw;
	background: #00428E;
	height: 100vh;
	padding: .5rem 1rem;
  padding-top: 4rem;
	text-align: center;
  transition: .5s;
  position: absolute;
  right: -100%;
  top: 0
}
.menu_inner li{
  max-width: 820px;
  margin: .5rem auto;
}
.menu_inner li a{
  transition: .3s;
}
.menu_inner li a:hover{
  opacity: 0.7;
}
#menu.open .menu_inner{
  right: 0;
}

#menu_inner a{
  display: block;
  padding-bottom: .5rem;
  margin-bottom: .5rem;
  font-size: 1.1rem;
  border-bottom: solid 1px #fff;
}


@media screen and (min-width:1280px){
  .menu_inner{
    height: auto;
    padding-top: 6rem;
    padding-bottom: 6rem;
    right: 0;
    width: 100%;
    top: -100%;
  }
  #menu.open .menu_inner{
    top: 0;
  }
}
