/*!
 * SlickNav Responsive Mobile Menu v1.0.6
 * (c) 2015 Josh Cope
 * licensed under MIT
 */
.slicknav_btn {
  position: relative;
  display: block;
  vertical-align: middle;
  float: right;
  padding: 0.7em 0.625em 0.438em 0.625em;
  line-height: 1.125em;
  cursor: pointer;
}
.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar {
  margin-top: 15px;
}
.slicknav_menu {
  *zoom: 1;
}
.slicknav_menu .slicknav_menutxt {
  display: block;
  line-height: 1.188em;
  float: left;
}
.slicknav_menu .slicknav_icon {
  float: left;
  width: 1.125em;
  height: 0.875em;
  margin: -0.188em 0 0 0.438em;
}
.slicknav_menu .slicknav_icon:before {
  background: transparent;
  width: 1.125em;
  height: 0.875em;
  display: block;
  content: "";
  position: absolute;
}
.slicknav_menu .slicknav_no-text {
  margin: 0;
}
.slicknav_menu .slicknav_icon-bar {
  display: block;
  width: 1.4em;
  height: 0.25em;
}
.slicknav_menu:before {
  content: " ";
  display: table;
}
.slicknav_menu:after {
  content: " ";
  display: table;
  clear: both;
}
.slicknav_nav {
  clear: both;
}
.slicknav_nav ul {
  display: block;
}
.slicknav_nav li {
  display: block;
}
.slicknav_nav .slicknav_arrow {
  font-size: 0.8em;
  margin: 0 0 0 0.4em;
}
.slicknav_nav .slicknav_item {
  cursor: pointer;
}
.slicknav_nav .slicknav_item a {
  display: inline;
}
.slicknav_nav .slicknav_row {
  display: block;
}
.slicknav_nav a {
  display: block;
}
.slicknav_nav .slicknav_parent-link a {
  display: inline;
}
.slicknav_brand {
  float: left;
}
.slicknav_menu {
  font-size: 16px;
  box-sizing: border-box;
}
.slicknav_menu * {
  box-sizing: border-box;
}
.slicknav_menu .slicknav_menutxt {
  color: #a4dae6;
  font-weight: bold;
  text-shadow: 0 1px 3px #000;
  display: none;
}
.slicknav_menu .slicknav_icon-bar {
  background-color: #a4dae6;
}
.slicknav_btn {
  margin: 8px 5px 6px;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.slicknav_nav {
  margin: 80px 0 0 0;
  padding: 140px 135px;
  list-style: none;
  background: url("../images/menu_bg.png") 0 0 no-repeat;
  background-size: 100% auto;
}
.slicknav_nav ul {
  list-style: none;
  overflow: hidden;
  padding: 0;
  margin: 0 0 0 20px;
}
.slicknav_nav .slicknav_row {
  padding: 5px 10px;
  margin: 2px 5px;
}
.slicknav_nav .slicknav_row:hover {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  background: #ccc;
  color: #fff;
}
.slicknav_nav a {
  padding: 12px 10px 10px 10px;
  margin: 10px 15px;
  text-decoration: none;
}
.slicknav_nav a:hover {
  opacity: 0.7;
}
.slicknav_nav .slicknav_txtnode {
  margin-left: 15px;
}
.slicknav_nav .slicknav_item a {
  padding: 0;
  margin: 0;
}
.slicknav_nav .slicknav_parent-link a {
  padding: 0;
  margin: 0;
}
.slicknav_brand {
  color: #fff;
  font-size: 18px;
  line-height: 30px;
  padding: 7px 12px;
  height: 44px;
}
/*---------- 追記 ----------*/
.slicknav_menu .slicknav_icon-bar {
  width: 50px;
  height: 3px;
  border-radius: 3px;
}
.slicknav_menu .slicknav_icon {
  float: left;
  width: auto;
  height: auto;
  margin: 0;
}
.slicknav_nav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/*==================================
ハンバーガーが開いた状態で × に変形
==================================*/
.slicknav_btn.slicknav_open .slicknav_icon-bar {
  transition: all .3s ease;
}
.slicknav_menu .slicknav_btn.slicknav_open .slicknav_icon-bar {
  width: 50px;
}
/* 1本目 → 45度回転 */
.slicknav_btn.slicknav_open .slicknav_icon-bar:nth-child(1) {
  transform: rotate(45deg) translate(15px, 10px);
}
/* 2本目 → 非表示 */
.slicknav_btn.slicknav_open .slicknav_icon-bar:nth-child(2) {
  opacity: 0;
}
/* 3本目 → -45度回転 */
.slicknav_btn.slicknav_open .slicknav_icon-bar:nth-child(3) {
  transform: rotate(-45deg) translate(16px, -10px);
}
/*==================================
768px
==================================*/
@media screen and (max-width : 768px) {
  .slicknav_nav {
    margin: 10.666666666666668vw 0 0 0;
    padding: 15vw 15vw;
  }
  .slicknav_btn {
    padding: 0.438em 0.625em 0.438em 0.625em;
    margin: 0.8vw 1.3333333333333335vw 0.8vw;
  }
  .slicknav_menu .slicknav_btn.slicknav_open .slicknav_icon-bar {
    width: 6.666666666666667vw;
  }
  .slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar {
    margin-top: 2vw;
  }
  .slicknav_menu .slicknav_icon-bar {
    width: 6.666666666666667vw;
    height: 0.4vw;
    border-radius: 0.4vw;
  }
  .slicknav_btn.slicknav_open .slicknav_icon-bar:nth-child(1) {
    transform: rotate(45deg) translate(2vw, 1.3333333333333335vw);
  }
  .slicknav_btn.slicknav_open .slicknav_icon-bar:nth-child(3) {
    transform: rotate(-45deg) translate(2.1333333333333333vw, -1.3333333333333335vw);
  }
}