@charset "utf-8";
@media screen and (max-width:768px) {

  /* Nav
-----------------------------------------*/
  .Nav {
    margin-top: 60px;
    border-top: solid 1px #F5F4F0;
    border-bottom: solid 1px #F5F4F0;
  }

  @media screen and (max-width: 1000px) {
    .Nav {
      position: relative;
      border-top: none;
    }
  }

  .Nav .navbtn {
    display: none;
  }

  @media screen and (max-width: 1000px) {
    .Nav .navbtn {
      display: block;
      position: absolute;
      top: -50px;
      right: 10px;
    }
  }

  @media screen and (max-width: 1000px) {

    .Nav .navbtn a,
    .Nav .navbtn a.close {
      display: block;
      position: relative;
      width: 40px;
      height: 40px;
      background-color: #3E4145;
    }

    .Nav .navbtn a::before,
    .Nav .navbtn a.close::before {
      position: absolute;
      top: 10px;
      left: 10px;
      content: "";
      width: 20px;
      height: 3px;
      background-color: #FFF;
      transition: .2s;
    }

    .Nav .navbtn a.open::before {
      top: 19px;
      transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
    }

    .Nav .navbtn a::after,
    .Nav .navbtn a.close::after {
      position: absolute;
      bottom: 10px;
      left: 10px;
      content: "";
      width: 20px;
      height: 3px;
      background-color: #FFF;
      transition: .2s;
    }

    .Nav .navbtn a.open::after {
      bottom: 18px;
      transform: rotate(-135deg);
      -webkit-transform: rotate(-135deg);
    }
  }

  @media screen and (max-width: 1000px) {
    .Nav .navbtn a span {
      display: block;
      overflow: hidden;
      width: 1px;
      height: 1px;
    }

    .Nav .navbtn a span::after,
    .Nav .navbtn a.close span::after {
      position: absolute;
      top: 18px;
      left: 10px;
      content: "";
      width: 20px;
      height: 3px;
      background-color: #FFF;
    }

    .Nav .navbtn a.open span::after {
      display: none;
    }
  }

  .Nav ul.close {
    display: none;
    border-top: solid 1px #F5F4F0;
  }

  .Nav>ul {
    margin: 0 auto;
    max-width: 1000px;
  }

  @media screen and (max-width: 1000px) {
    .Nav>ul {
      display: none;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: 9;
      background-color: #FFF;
      border: 1px solid #5AA1D8;
    }
  }

  .Nav>ul>li {
    position: relative;
    font-size: 15px;
    display: inline-block;
  }

  @media screen and (max-width: 1000px) {
    .Nav>ul>li {
      display: block;
      border-bottom: solid 1px #dddddd;
    }
  }

  .Nav>ul>li a {
    display: block;
    position: relative;
    text-decoration: none;
    padding: 19px 15px;
    font-size: 15px;
    color: #3E4145;
    background-color: #fff;
    z-index: 2;
  }

  .Nav>ul>li.parent>a {
    padding-right: 25px;
  }

  .Nav>ul>li.parent>a::before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 8px;
    width: 6px;
    height: 6px;
    margin: -6px 0 0 0;
    border-top: solid 2px #5AA1D8;
    border-right: solid 2px #5AA1D8;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }

  @media screen and (max-width: 1000px) {
    .Nav>ul>li.parent.open>a::before {
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
    }
  }

  @media screen and (max-width: 1000px) {
    .Nav>ul>li.parent.open {
      border-bottom: none;
    }
  }

  .Nav>ul>li.parent.open>a {
    color: #FFF;
  }

  .Nav>ul>li.parent.open>a::after {
    background: #3E4145;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  @media screen and (max-width: 1000px) {
    .Nav>ul>li.parent.open>a {
      color: #FFF;
    }
  }

  .Nav>ul>li a:hover {
    color: #fff;
  }

  .Nav>ul>li a::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
  }

  .Nav>ul>li a,
  .Nav>ul>li a::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
  }

  .Nav>ul>li a::after {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(.5);
    transform: scale(.5);
  }

  .Nav>ul>li a:hover::after {
    background: #3E4145;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  /* 2階層 */
  .Nav>ul>li>ul {
    display: none;
    position: absolute;
    top: 53px;
    left: 0;
    width: auto;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 9;
  }

  @media screen and (max-width: 1000px) {
    .Nav>ul>li>ul {
      background-color: #fbfbfb;
      position: static;
    }
  }

  .Nav>ul>li>ul li {
    white-space: nowrap;
  }

  .Nav>ul>li>ul li a {
    position: relative;
    padding: 12px 27px 12px 27px;
  }

  @media screen and (max-width: 1000px) {
    .Nav>ul>li>ul li a {
      border-bottom: solid 1px #dddddd;
      background-color: #EEE;
    }
  }

  .Nav>ul>li>ul li a::before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    width: 6px;
    height: 6px;
    margin: -6px 0 0 0;
    border-top: solid 2px #5AA1D8;
    border-right: solid 2px #5AA1D8;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  .Nav>ul>li>ul li a:hover {
    text-decoration: underline;
  }

  @media screen and (max-width: 1000px) {
    .Nav>ul>li>ul li a:hover {
      background-color: #FFF;
    }
  }

  .Nav>ul>li>ul li ul li a {
    padding-left: 42px;
  }

  .Nav>ul>li>ul li ul li a::before {
    left: 20px;
  }
}

/* menu */
.header .global {
  background: #CB1C1D;
  margin-top: .5em;
  border-top: 1px solid #CB1C1D;
  border-bottom: 1px solid #CB1C1D;
}

.header .global ul {
  width: 95%;
}

.header .global li {
  width: 16.666%;
}

.header .global>ul>li {
  border-left: 1px solid #CB1C1D;
}

.header .global a {
  color: #fff;
  text-decoration: none;
  display: block;
  text-align: center;
  padding: 1.0em 0.5em;
}

.header .global li.current>a,
.header .global a:hover {
  background: #fff;
  color: #CB1C1D;
}

/* メガドロップ部分 */
.menu {
  position: relative;
  width: 100%;
}

ul.second {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
}

li.first ul.second {
  position: absolute;
  top: 56px;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  padding: 20px 2%;
  background: #faebe3;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  border: 3px solid #fff;
  z-index: 10;
}

li.first:hover ul.second {
  top: 50px;
  visibility: visible;
  opacity: 1;
}

li.first ul.second>li {
  float: left;
  width: 25%;
}

li.first ul.second>li a {
  color: #3E4145;
}

li.first ul.second:hover+li {
  background: #fff;
}

ul.secondThreeRow {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
}

li.first ul.secondThreeRow {
  position: absolute;
  top: 56px;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  padding: 20px 2%;
  background: #faebe3;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  border: 3px solid #fff;
  z-index: 10;
}

li.first:hover ul.secondThreeRow {
  top: 50px;
  visibility: visible;
  opacity: 1;
}

li.first ul.secondThreeRow>li {
  float: left;
  width: 33%;
}

li.first ul.secondThreeRow>li a {
  color: #3E4145;
}

li.first ul.secondThreeRow:hover+li {
  background: #fff;
}

@media screen and (max-width: 820px) {
  .header .global a {
    font-size: 0.9em;
  }
}