@charset "utf-8";
.h_nav {
  width: auto;
  margin-right: 3%;
}
@media screen and (max-width: 980px) {
  .h_nav {
  }
}
  @media only screen and (max-width: 980px) {
    .h_nav {
      height: 0;
      margin-right: 0;
    }
}
#nav {
  width: 100%;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 980px) {
  #nav {
    background-color: rgba(0,0,0,0.90);
  }
}
#nav a{
  text-decoration: none;
}
@media screen and (max-width: 980px) {
  #nav a{
    text-decoration: none;
    display: inline-block;
    width: 100%;
  }
}
/* チェックボックスを非表示 */
#nav input {
  display: none;
}
/* 上部メニュー */
.menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.menu-p {
  line-height: 36px;
  margin-left: 2.5em;
}
/* パソコンでは V を非表示 */
.menu-p .pd {
  display: inline-block;
  width: 10px;
  margin-left: 5px;
  margin-bottom: 2px;
}
/* 上部メニューの最初の項目 */
.menu-p:first-of-type {
  margin-right: 0px;
}

#navMenu {
  display: none;
  cursor: pointer;
  cursor: hand;
}

@media screen and (max-width: 980px) {
  /* スマホの際に V を表示 */
  .menu-p .pd {
    display: inline-block;
    width: auto;
  }
  .menu {
    margin-top: 75px;
    display: none;
  }
  .menu img{
    width: 12px;
    margin-left: 10px;
  }
  .menu-p {
    height: auto;
    width: 100%;
    padding: 0px 20px;
    border-bottom: 1px solid #DDD;
    line-height: 50px;
    margin-left: 0;
  }
  .menu-p:first-child {
    border-top: 1px solid #DDD;
  }
  .menu-p:last-of-type {
    background-color: #339933;
    color: #FFF;
    border-bottom: none;
  }
  .menu-p i {
    padding: 0px 6px;
  }
  /* メニューを移動させないため */
  #navMenu:checked ~ #nav {
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
    z-index: 100;
    top: 0;
  }
}

/* ドロップダウンメニュー */
.menu-p {
  position: relative;
  z-index: 100;
}
.menu-p .menu-c {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  /*margin-left: -30px;*/
  width: 240px;
  box-sizing: border-box;
  padding: 0px 20px;
  background-color: #339933;
  border: 1px solid #339933;
  border-radius: 10px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.30);
  line-height: 50px;
}
.menu-p .menu-c a{
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
  color: #FFF;
  font-weight: normal;
}
@media screen and (max-width: 980px) {
  .menu-p .menu-c {
    margin-left: -30px;
    width: auto;
    border-radius: 0;
    box-shadow: none;
    background-color: #FFF;
    border: 1px solid #DDD;
  }
  .menu-p .menu-c a{
    color: #222;
  }
}

/* パソコン用 */
@media screen and (min-width: 980px) {
  .menu-p:hover .menu-c {
    visibility: visible;
    opacity: 1;
  }
}
/* スマホ用 */
@media screen and (max-width: 980px) {
  /* ハンバーガーメニューがクリックされた時 */
  #navMenu:checked ~ * .menu {
    display: block;
    opacity: 1;
    background-color: #FFF;
  }
  #navMenu:checked ~ * .menu-p {
    max-height: inherit;
    overflow-y: visible;
  }
  #navMenu:checked ~ * .menu-c {
    max-height: 0;
    overflow-y: hidden;
    visibility: hidden;
  }
  /* 子メニュー */
  .menu-p .menu-c {
    border-top: 1px solid #DDD;
    border-left: 1px solid #FFF;
    border-right: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
    position: relative;
    padding: 0 20px;
    opacity: 1;
    top: 0;
    margin-left: auto;
    left: auto;
    width: auto;
  }
  .menu-p > label:hover {
    cursor: pointer;
    cursor: hand;
  }
  /* 子メニューがクリックされた時 */
  #nav input[type="checkbox"]:checked ~ .menu-c {
    max-height: inherit;
    overflow-y: visible;
    visibility: visible;
  }
  .angletoggle:before {
    content: "\f107";
  }
  #nav input[type="checkbox"]:checked ~ * .angletoggle:before {
    content: "\f106";
  }
}
/* 子メニュー */
.menu-c li {
  font-size: 14px;
  border-bottom: 1px solid #FFF;
}
/* 余分な最後の線を消去 */
.menu-c li:last-child {
  border: none;
}
.menu-c li i {
  margin-right: 3px;
}
@media screen and (max-width: 980px) {
  .menu-c li {
    border-bottom: 1px solid #DDD;
  }
}

/* ハンバーガー */
#nav #navbtn {
  display: none;
}
@media screen and (max-width: 980px) {
  #nav #navbtn {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
  }
  #navbtn span {
    display: block;
    width: 40px;
    height: 40px;
  }
  #navbtn span span {
    display: block;
    overflow: hidden;
    width: 1px;
    height: 1px;
  }
  #navbtn span span::before,
  #navbtn span span::after,
  #navbtn span::after {
    position: absolute;
    left:10px;
    content:"";
    width: 20px;
    height: 2px;
    background-color: #339933;
  }
  /* 上の棒 */
  #navbtn span span::before {
    top:10px;
  }
  #navMenu:checked ~ #nav label#navbtn span span::before {
    top:18px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    background-color: #FFF;
  }
  /* 下の棒 */
  #navbtn span::after {
    bottom:12px;
  }
  #navMenu:checked ~ #nav label#navbtn > span::after {
    bottom:20px;
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    background-color: #FFF;
  }
  /* 中の棒 */
  #navbtn span span::after {
    top:18px;
  }
  #navMenu:checked ~ #nav label#navbtn span span::after {
    display: none;
  }
}

.sub-nav{
  display: flex;
  justify-content: flex-end;
  font-weight: normal;
  font-size: 1.4rem;
}
.current-page{
  margin-left: 15px;
}
.current-page:before { 
  content:"／　"
}
.sub-nav .member-nav{
  margin-left: 15px;
}
.sub-nav .member-nav a{
  background-color: #339933;
  padding: 3px 1em;
  color: #FFF;
  font-size: 1.4rem;
  border-radius: 4px;
}

