@charset "utf-8";
.naviWrap{
  z-index: 2;
}
.naviLists {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 16px;
}
.naviList {
  position: relative;
  transition: all .3s;
}

.naviLists .naviList{
  border-top: 4px solid #000857;
  border-bottom: 4px solid #000857;
}
.naviLists .naviList:nth-child(6), .naviLists .naviList:nth-child(7) {
  border-top: none;
  border-bottom: none;
}
.naviLists .naviList:hover {
  border-bottom: 4px solid #AD8600;
}
.naviLists .naviList:nth-child(6):hover, .naviLists .naviList:nth-child(7):hover {
  border-bottom: none;
}
.naviList::before {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  transition: all .3s;
}
.naviList a {
  display: block;
  text-align: center;
  color: #fff;
  transition: all .3s;
  padding: 1em 1.4em;
}
.naviList.contact a{
  background: #AD0000;
  border: 4px solid #db5555;
  padding: .4em 1.3em;
    width: 145px;
}
.naviList.contact a:hover{
  background: #fff;
  color: #AD0000;
  font-weight: bold;
}
.naviList.nav-award a{
  background: #AD8600;
  border: 4px solid #cea61b;
  padding: .4em 1em;
   width: 145px;
}
.naviList.nav-award a:hover{
  background: #fff;
  color: #AD8600;
  font-weight: bold;
}
.naviList.nav-award a span, .naviList.contact a span {
  display: block;
}

.naviList.interview a{
  padding: .5em 1em;
    font-size: .9em;
}
.naviList.interview a span {
  display: block;
}

.dropLists {
  display: none;/*デフォルトでは非表示の状態にしておく*/
  width: 100%;
  position: absolute;
  top: 60px;
  left: 0;
}
.naviList:hover .dropLists {
  display: block;/*Gナビメニューにホバーしたら表示*/
}
.dropList {
  background-color: #003558;
  transition: all .3s;
  position: relative;
}
.dropList:not(:first-child)::before{
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
.dropList:hover {
  background-color: #000857;
}
.dropList a {
  color: #fff;
  text-decoration: none;
  position: relative;
  font-size: 0.8rem;
  padding: 1.5em 1.5em 1.5em 1em;
}
.dropList a::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: rotate(135deg);
  position: absolute;
  right: 8px;
  top: calc(50% - 5px);
}
.dropLists {
  visibility: hidden;/*デフォルトでは非表示の状態にしておく*/
  opacity: 0;/*不透明度0*/
  transition: all .3s;/*表示の変化を0.3秒に指定*/
  width: 100%;
  position: absolute;
  top: 60px;
  left: 0;
}
.naviList:hover .dropLists {
  visibility: visible;/*Gナビメニューにホバーしたら表示*/
  opacity: 1;/*不透明度1*/
}
.dropLists {
    transform: scaleY(0);/*デフォルトでは非表示の状態にしておく*/
    transform-origin: center top;/*変形を適応する基準をtopとする*/
    transition: all .3s;/*表示の変化を0.3秒に指定*/
    width: 150%;
    position: absolute;
    top: 60px;
    left: 50%;
}
.naviList:hover .dropLists {
    transform: scaleY(1);/*Gナビメニューにホバーしたら表示*/
    transform: scaleY(1) translateX(-50%);
}
.naviWrapFix{
  width: 100%;
  left: 0;
  background: #000857;
}
.naviWrapFix > ul > li{
  width: calc(100% / 7);
}
.naviWrapFix > ul > .naviList.contact a {
  width: 100%;
}
.naviWrapFix > ul > .naviList.nav-award a {
  width: 100%;
}


/* --------------------------
スマホメニュー
-----------------------------*/
/* ロゴ */
.header-sp .sp-header-logo a img {
width: 150px;
    height: auto;
    padding: .4em .4em .4em .8em;

}

.header-sp  {
  height: 60px;
    position: fixed;
    z-index: 9999;
    width: 100%;
    top: 0;
    background: #000857;
}

/* ハンバーガーメニュー */
.menu-btn {
  position: fixed;
    top: 7px;
    right: 10px;
    display: flex;
    height: 48px;
    width: 48px;
    justify-content: center;
    align-items: center;
    z-index: 9991;
    background-color: #AD0000;
    border-radius: 5px;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  background-color: #fff;
  position: absolute;
}

.menu-btn span:before {
  bottom: 8px;
}

.menu-btn span:after {
  top: 8px;
}

#menu-btn-check:checked~.menu-btn span {
  background-color: rgba(255, 255, 255, 0);
  /*メニューオープン時は真ん中の線を透明にする*/
}

#menu-btn-check:checked~.menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#menu-btn-check:checked~.menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}

#menu-btn-check {
  display: none;
}

.sp-menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 9990;
  background-color: #000857;
  transition: all 0.7s;
  /*アニメーション設定*/
  overflow-y: scroll;
  background-image: url(../img/sp-menu-bg.jpg);
}

/* .sp-menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;
  z-index: 80;
  background-color: #3584bb;
  transition: all 0.5s;
  overflow-y: scroll;
} */

.sp-menu-content .sp-menu-list-first {
  padding: 70px 4% 40px;
}

.sp-menu-content .sp-menu-list-first .sp-item-first {
   border-bottom: solid 2px #AD8600;
  list-style: none;
}

.sp-menu-content .sp-menu-list-first .sp-item-first:first-child {
    border-top: solid 2px #AD8600;
}

.sp-menu-content .sp-menu-list-first .sp-item-first a {
  display: flex;
  align-items: center;
  width: 100%;
  font-size: 16px;
  box-sizing: border-box;
  color: #ffffff;
  text-decoration: none;
  position: relative;
  height: 50px;
  padding: 1em .5em;
  /* justify-content: center; */
}

.sp-menu-btn {
  display: flex;
}
.sp-menu-btn a {
  padding-bottom: 2em;
}

.sp-menu-btn a {
  padding: .5em 1em;
    color: #fff;
    border-radius: 5px;
    width: 250px;
    display: block;
    margin: 0 auto .5em;
    text-align: center;
    text-decoration: none;
}
.sp-menu-btn a.header-award {
  background-color: #AD8600;
}
.sp-menu-btn a.header-contact {
  background-color: #AD0000;
}

.sp-menu-content .sp-menu-logo {
  max-width: 200px;
    position: relative;
    top: 3em;
    left: 50%;
    transform: translateX(-50%);
}


#menu-btn-check:checked~.sp-menu-content {
  right: 0;
  /*メニューを画面内へ*/
}



/* ドロップダウンメニュー */
.sp-dropdown {
  position: relative;
}

.acd-check {
  display: none;
}

.acd-label {
  display: block;
  /* padding: 10px; */
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
}

.acd-label::before {
  background: #fff;
  box-sizing: border-box;
  content: '';
  display: block;
  width: 33%;
  height: 3px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 50%;
}

.acd-label:after {
  background: #fff;
  box-sizing: border-box;
  content: '';
  display: block;
  height: 33%;
  width: 3px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 50%;
  transition: all 0.5s;
}

.sp-menu-list {
  height: 0;
  padding: 0;
  transition: all 0.5s;
  visibility: hidden;
  opacity: 0;
  overflow: hidden;
  /* はみ出た部分を非表示　
  border-top: solid 1px #fff;*/
  font-weight: lighter;
}

/* .second-bg {
  background-color: #5971AD;
} */

/* .second-bg .sp-item-second:not(:last-child) {
  border-bottom: solid 1px #fff;
} */

/* .sp-link-second {
  color: #324789 !important;
} */




/* ↓何がクリックされたら何が開くか↓ */
.acd-check-second1:checked+.acd-label-second1+.sp-menu-list-second1 {
  height: auto;
  visibility: visible;
  opacity: 1;
  padding: 0 0 1.5em 1.5em;
}
.acd-check-second1:checked+.acd-label-second1:after {
  transform: translateY(-50%) rotate(90deg);
}


.acd-check-second2:checked+.acd-label-second2+.sp-menu-list-second2 {
  height: auto;
  visibility: visible;
  opacity: 1;
  padding: 0 0 1.5em 1.5em;
}
.acd-check-second2:checked+.acd-label-second2:after {
  transform: translateY(-50%) rotate(90deg);
}
/* ↑何がクリックされたら何が開くか↑ */


@media screen and (max-width:768px) {
  .naviLists{
    justify-content: space-between;
  }
  .naviList{
    width: calc(100%/2);
  }
  .naviList:first-child{
    display: none;
  }
  .naviList:last-child{
    width: 100%;
    margin-top: 0.5em;
  }
  .naviList:nth-child(2)::before,
  .naviList:last-child::before{
    width: 0;
  }

.naviList:hover .dropLists {
  display: none;
}
.naviWrapFix > ul > li{
  width: calc(100%/2);
}
}