@import url('https://fonts.googleapis.com/css?family=Inconsolata');
body {
  margin: 0;
}

.headerLogo a {
  cursor: pointer;
  height: auto;
  display: block;
}

.nav-unshown {
  display: none;
}

.nav ul {
  list-style: none;
  display: inline-block;
}

.nav a {
  text-decoration: none;
  color: #000;
  transition: color .4s;
}

.navMenus {
  display: inline-block;
  top: 30px;
}

.header {
  font-family: 'Inconsolata', Helvetica, Arial, sans-serif;
  width: 100vw;
  height: 100px;
  z-index: 10;
  box-shadow: 0px 2px rgba(0, 0, 0, 0.05);
}

.headerContent {
  height: 100%;
  background: transparent;
  /* transition: background .4s; */
  transition: opacity .6s cubic-bezier(.39, .575, .565, 1);
}

.logos {
  display: block;
  text-align: center;
  padding-top: 30px;
}

.headerLogo {
  margin: 0 auto;
  display: block;
  width: 200px;
  overflow: hidden;
}

.mainLogo {
  width: 200px;
  border-style: none;
}

.subLogo {
  height: 25px;
}

.nav {
  position: absolute;
  top: 16px;
  font-weight: 100;
  font-size: 16px;
}

/* フルスクリーンレイアウト */
@media screen and (min-width: 1025px) {
  #smartphone-nav-header{
    display: none;
  }
  .nav-icon {
    display: none;
  }
  .navPrimary {
    position: absolute;
    vertical-align: top;
    width: 200px;
    right: -28vw;
  }
  .navPrimary>li, .navSecondary>li {
    position: relative;
    display: inline-block;
  }
  .navSecondary {
    position: absolute;
    vertical-align: top;
    width: 400px;
    left: 64vw;
  }
  .navPrimary>li>a, .navSecondary>li>a {
    letter-spacing: .15em;
    font-size: 13px;
    line-height: 20px;
    text-transform: uppercase;
    font-weight: 600;
  }
  .navPrimaryAccount, .navSecondarySchedule, .navSecondaryManager {
    margin-left: 50px;
  }
}

:root {
  --start-position: 140px;
  --nav-dist: 90px;
}


.lineTag:hover::after {
  opacity: 1;
  animation: underline 1s forwards;
}

@keyframes underline {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

.lineTag:after {
  opacity: 0;
  content: '';
  flex-direction: column;
  display: flex;
  bottom: 15px;
  width: 100%;
  height: 2px;
  background-color: var(--blue-dark);
}


/*  スマホ用レイアウト */
@media screen and (max-width: 1024px) {
  /* Menuと表示される部分 */
  #smartphone-nav-header {
    font-family: 'Roboto', 'Open Sans', sans-serif;
    color: var(--white);
    font-size: 50px;
    display: block;
    height: 85px;
    text-align: center;
    padding-top: 17px;
    background: var(--blue-dark);
  }
  /* サイドバー */
  #navs {
    position: relative;
    width: 50vw;
    background: var(--background);
    transform: translateX(-50vw);
    height: calc(100vh);
    z-index: 2;
    margin-top: -80px;
  }
  .slidein {
    position: relative;
  }
  /* アイコン */
  .nav-icon {
    margin-left: 22px;
    top: 26px;
    position: absolute;
  }
  /* アイコンの本体 */
  .nav-icon:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0c9";
    /*アイコンのユニコード*/
    color: var(--gray);
    /*アイコン色*/
    font-weight: 700;
    font-size: 50px !important;
  }
  /* ナビを縦長に並び替え */
  .nav {
    position: fixed;
    left: 0;
    overflow: hidden;
    z-index: 1;
    font-size: 2em;
  }
  /* Login Logoutの部分 */
  .navPrimary {
    position: fixed;
    top: calc(var(--start-position) - 30px);
    padding-left: 40px;
  }
  .navSecondary {
    position: fixed;
    padding-left: 40px;
  }
  .navSecondaryHome {
    position: fixed;
    top: calc(var(--start-position) + var(--nav-dist));
  }
  .navSecondaryManager {
    position: fixed;
    top: calc(var(--start-position) + var(--nav-dist)*2);
  }
  .navSecondarySchedule {
    position: fixed;
    top: calc(var(--start-position) + var(--nav-dist)*3);
  }
  .navPrimaryAccount{
    position: fixed;
    top: calc(var(--start-position) + var(--nav-dist)*4);
  }
  /*閉じる用の薄黒カバー*/
  #nav-close {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: var(--gray);
    transition: .3s ease-in-out;
    opacity: 0;
  }
}

/* スマホ用レイアウトのサイドバーアニメーション */
.slide-bar-in{
  display: block;
  animation: slide-bar-in 0.5s forwards;
}

.slide-bar-out{
  animation: slide-bar-out 0.5s forwards;
}

.slide-bar-back-in{
  z-index: 2;
  display: block;
  animation: slide-bar-back-in 0.5s forwards;
}

.slide-bar-back-out{
  z-index: 0;
  animation: slide-bar-back-out 0.5s forwards;
}

/* navsをスライド表示させるアニメーション */
@keyframes slide-bar-in{
  from{
    transform: translateX(-50vw);
  }
  to{
    transform: translateX(0);
  }
}

@keyframes slide-bar-out{
  from{
    transform: translateX(0);
  }
  to{
    transform: translateX(-50vw);
  }
}

/* 対象: #nav-close */
/* 背景の薄い黒を表示させるアニメーション */
@keyframes slide-bar-back-in{
  from{
    opacity: 0;
  }
  to{
    opacity: 0.5;
  }
}

@keyframes slide-bar-back-out{
  from{
    opacity: 0.5;
  }
  to{
    opacity: 0;
  }
}

