@charset "utf-8";
@media screen and ( max-width:1280px) {
  /* PCメニュー非表示 */
  .l-header__wrap {
    display: none;
  }

  /* TAB・SPメニュー表示 */
  div#sp_menu {
    display: block;
  }

  body {
    font-size: 14px;
  }

  body.active {
    height: 100%;
    overflow: hidden;
  }

  h1.top_img_wrap {
    margin-top: 60px;
  }

  #sp_menu .l-header__logoAfter {
    display: none!important;
  }
  #sp_menu .l-header__scrollColor .l-header__logoBefore {
    display: none!important;
  }
  #sp_menu .l-header__scrollColor .l-header__logoAfter {
    display: block!important;
  }

  #sp_menu .l-header__home,
  #sp_menu .l-header__sub{
    padding: 0 3%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }

  /* スライドメニュー */
  div#sp_menu {
    position: fixed;
    top: 0;
    width: 100%;
    height: 60px;
    z-index: 9999;
    display: block;
  }
  div#l-header__toggleMenu {
    position: relative;
    box-sizing: border-box;
    right: 0;
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  div#sp_menu .l-header__navLogo img {
    display: block;
  }
  div#e_f_slider {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.88);
    visibility: hidden;
    opacity: 0;
    transition: all .6s;
    z-index: 900;
    overflow: auto;
  }
  div#e_f_slider.active {
    visibility: visible;
    opacity: 1;
  }
  div#e_f_slider ul li a {
    color: #fff;
    font-size: 15px;
    width: 100%;
    padding-bottom: 0.3rem;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-decoration: none;
    position: relative;
  }
  div#e_f_slider ul li a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #fff;
    bottom: 0px;               /*アンダーラインがaタグの下端から現れる*/
    transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
    transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
    transition: transform 0.3s; /*変形の時間*/
  }
  div#e_f_slider ul li a:hover::after {
    transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
  }
  ul#menu-tab_sp_menu, ul#menu-sub_tab_sp_menu {
    padding: 0;
  }
  ul#menu-tab_sp_menu li a p,
  ul#menu-sub_tab_sp_menu li a p,
  ul#menu-re_tab_sp_menu li a p,
  .nav_recruit a p {
    display: none;
  }
  nav#tab_sp_menu,
  nav#sub_tab_sp_menu{
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: flex-start;
    width: 88%;
    height: 100vh;
    margin: 0 auto;
  }
  nav#tab_sp_menu ul,
  nav#sub_tab_sp_menu ul{
    margin: 0;
    list-style: none;
    padding: 8rem 0;
  }
  nav#tab_sp_menu ul li,
  nav#sub_tab_sp_menu ul li{
    text-align: center;
    margin-bottom: 2.5rem;
  }
  nav#tab_sp_menu ul li:last-child,
  nav#sub_tab_sp_menu ul li:last-child{
    margin: 0;
  }
  nav#tab_sp_menu ul li:nth-last-child(2),
  nav#sub_tab_sp_menu ul li:nth-last-child(2){
    margin-bottom: 3.5rem;
  }
  a.menu_contact {
    padding: 1rem 3rem !important;
    border-radius: 3rem;
    border: 1px solid #fff;
  }
  a.menu_contact:hover{
    background-color: #085862;
    border: 1px solid #085862;
  }
  a.menu_contact:hover::after{
    display: none;
  }

  /* メニューボタン */
  a.sb-toggle-right {
    box-sizing: border-box;
    transition: all 0.3s;
    display: block; 
    position: relative;
    width: 50px; 
    height: 30px; 
    cursor: pointer;
    z-index: 999;
  }
  a.recruit_sp {
    position: absolute;
    top: 19px;
    right: 60px;
    height: 20px;
    display: inline-block;
  }
  a.recruit_sp .recruit_header {
    font-size: 14px;
    font-weight: bold;
    width: 150px;
    font-family: 'メイリオ', 'Meiryo', sans-serif;
    color: #0f4c81;
    letter-spacing: 3px;
  }
  #sp_menu .t_btn_border {
    position: absolute;
    background-color: #fff;
    height: 2px; 
    width: 100%;   
    border-radius: 1px;
    transition: all 0.4s ease-in-out;
  }
  #sp_menu .l-header__sub .t_btn_border {
    background-color: #076a75;
  }
  #sp_menu .l-header__scrollColor .t_btn_border {
    background-color: #076a75;
  }
  #sp_menu .t_btn_border:nth-child(1) {
    top: 10px;
  }
  #sp_menu .t_btn_border:nth-child(2) {
    bottom: 10px;
  }
  #sp_menu .sb-toggle-right.active .t_btn_border:nth-of-type(1) {
    transform: translateY(4px) rotate(-45deg);
    background-color: #fff;
  }
  #sp_menu .sb-toggle-right.active .t_btn_border:nth-child(2) {
    transform: translateY(-4px) rotate(45deg);
    background-color: #fff;
  }
  .overlay  {
    background-color: rgba(0, 0, 0, 0.8);
  }

  /* アコーディオン */
  .menu-item-has-children {
    cursor: pointer;
    display: block;
    position: relative;
  }
  .current_page_parent {
    display: block;
  }
  .sub-menu {
    display: none;
  }
  .sub-menu li a {
    position: relative;
    padding-left: 20px;
    font-weight: 500 !important;
  }
  .sub-menu li a::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0px;
    border-top: 2px solid #085862;
    width: 10px;
  }
}

@media screen and ( max-width:599px) {
  /* メニューボタン */
  nav#tab_sp_menu ul,
  nav#sub_tab_sp_menu ul{
    padding: 5rem 0 10rem;
  }
  #sp_menu .l-header__home,
  #sp_menu .l-header__sub {
    padding: 0 3%;
  }
}