/* ================================================================================

	SPハンバーガーボタン

================================================================================ */

/* SP設定
----------------------------------------------- */
@media (max-width: 922px) {
  .toggle {
    display: block;
    text-align: center;
    width: 15.8vw;
    height: 11.8vw;
    position: absolute;
    top: 4vw;
    right: 3vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    z-index: 9998;
  }

  .trigger_text {
    font-family: "M PLUS 1p", "Noto Sans JP", sans-serif;
    color: #ffffff;
    font-weight: 100;
    letter-spacing: 0.25em;
    padding-right: 3vw;
    font-size: 3.1vw;
  }

  .trigger,
  .trigger span {
    display: inline-block;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
  }
  .trigger {
    position: relative;
    width: 50%;
    height: 37%;
  }
  .trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    background-color: #ffffff;
  }
  .trigger span:nth-of-type(1) {
    top: 0;
  }
  .trigger span:nth-of-type(2)::after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    background-color: #ffffff;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
  }
  .trigger span:nth-of-type(3) {
    bottom: 0;
  }

  /* 線の太さ */
  .trigger span,
  .trigger span:nth-of-type(2)::after {
    height: 1px;
  }
  .trigger span:nth-of-type(2) {
    top: 50%;
    margin-top: -1px; /* 太さの半分の値 */
  }

  .trigger:before {
    content: "MENU";
    font-family: "M PLUS 1p", "Noto Sans JP", sans-serif;
    color: #ffffff;
    font-weight: 100;
    letter-spacing: 0.25em;
    padding-right: 3vw;
    font-size: 3.1vw;
    top: -0.5vw;
    right: 8vw;
    position: absolute;
  }
  .trigger.active:before {
    content: "CLOSE";
    font-family: "M PLUS 1p", "Noto Sans JP", sans-serif;
    color: #000000;
    font-weight: 100;
    letter-spacing: 0.25em;
    padding-right: 3vw;
    font-size: 3.1vw;
    top: -0.5vw;
    right: 8vw;
    position: absolute;
  }
}

/* ================================================================================

	ハンバーガーボタンのアニメーション

================================================================================ */

/* ①オーソドックス
-------------------------------------------------------- */
.trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) scale(0);
  transform: translateY(8px) scale(0);
}
.trigger.active span:nth-of-type(2) {
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg);
  background-color: #000000;
}
.trigger.active span:nth-of-type(2)::after {
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
  background-color: #000000;
}
.trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) scale(0);
  transform: translateY(-8px) scale(0);
}

/* ================================================================================

	ハンバーガーメニューの中身 PC

================================================================================ */

/* PC設定
-------------------------------------------------------- */
@media screen and (min-width: 923px) {
  .toggle {
    display: none;
  }

  .toggleWrap {
    display: none;
  }
}

/* ================================================================================

	ハンバーガーメニューの中身 SP

================================================================================ */

/* SP設定
------------------------------------------- */
@media (max-width: 922px) {
  .toggleWrap {
    position: fixed;
    background-color: #ffffff;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    z-index: 9997;
    opacity: 0;
    padding: 23vw 0 0;
  }
  .toggleWrap.toggleWrap_pc {
    display: none;
  }

  .animation {
    opacity: 1;
  }

  /* ロゴ
	-------------------------------------------------------- */
  .navi_logo {
    position: absolute;
    width: 32vw;
    z-index: 9999;
    top: 7vw;
    left: 7vw;
  }
  .navi_logo img {
    width: 100%;
  }

  /* 検索窓
	-------------------------------------------------------- */
  .search_form {
    position: relative;
    z-index: 1;
    background-color: #fff;
    border-radius: 20px;
    border: 1px solid #000;
    margin: 0 7vw;
  }
  .search_form #form1 {
    height: 9vw;
  }
  .search_form #sbox1 {
    padding: 0 0 0 4vw;
    width: 76vw;
    margin-top: 1.7vw;
  }
  .search_form input:focus {
    outline: none;
  }
  .search_form img {
    width: 8vw;
    padding: 0 3vw 0 0;
    margin-top: 1vw;
  }

  /* 翻訳
	-------------------------------------------------------- */
  .h_translate {
    position: relative;
    padding: 6vw 7vw;
  }
  .h_translate ul {
    font-size: 0;
    text-align: left;
  }
  .h_translate ul li {
    position: relative;
    display: inline-block;
  }
  .h_translate ul li:not(:first-child) {
    margin-left: 6vw;
  }
  .h_translate ul li:not(:first-child):before {
    content: "/";
    position: absolute;
    font-size: 4.5vw;
    font-weight: 300;
    color: #000000;
    top: -0.3vw;
    left: -4.1vw;
  }
  .h_translate ul li a {
    font-size: 4.5vw;
    font-weight: 300;
    font-family: "Nunito Sans", "Noto Sans JP", sans-serif;
    color: #000000;
  }
  .h_translate ul li a.link_active {
    font-weight: 700;
  }

  /* お問い合わせ
	-------------------------------------------------------- */
  .h_contact a {
    position: relative;
    display: block;
    background-color: #000000;
    font-size: 3.8vw;
    font-weight: 500;
    color: #ffffff;
    width: 100%;
    text-align: center;
    padding: 4vw 0 4.5vw;
    letter-spacing: 0.1em;
  }

  /* ナビ
	-------------------------------------------------------- */
  .toggleWrap .mainNav {
    position: relative;
    padding: 0 7vw;
  }
  .toggleWrap .mainNav > li {
    border-bottom: 1px solid;
    transform: rotate(0.05deg);
  }
  .toggleWrap .mainNav > li:first-child {
    border-top: 1px solid;
  }
  .toggleWrap .mainNav > li:last-of-type {
    border-bottom: none;
  }
  .toggleWrap .mainNav > li.pushy-submenu > button {
    font-family: inherit; /* buttonバグ対策 */
  }
  .toggleWrap .mainNav > li > a,
  .toggleWrap .mainNav > li.pushy-submenu > button {
    position: relative;
    display: block;
    text-decoration: none;
    padding: 4vw 8vw;
    font-size: 4.2vw;
    font-weight: 500;
    width: 100%;
    letter-spacing: 0.25em;
  }
  .mainNav-top {
    font-size: 3.6vw;
    padding-left: 4px;
  }

  /* サブメニュー
	-------------------------------------------------------- */
  .toggleWrap .pushy-submenu {
  }
  .toggleWrap .pushy-submenu > button {
    background: transparent;
    border: 0;
    cursor: pointer;
  }
  .toggleWrap .pushy-submenu > button::after {
    display: block;
    position: absolute;
    margin: 0;
    top: 50%;
    left: 0;
    content: "＋";
    font-size: 5.5vw;
    line-height: 1;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: transform 1s;
    font-weight: 300;
  }

  .toggleWrap .pushy-submenu ul {
    /*transition: all 0.4s ease-in-out;*/
  }
  .toggleWrap .pushy-submenu ul li {
    /*transition: all 0.2s 0.2s ease-in-out;*/
    position: relative;
  }
  .toggleWrap .pushy-submenu ul li a {
    display: block;
    color: #000000;
    font-size: 3.8vw;
    font-weight: 500;
    line-height: 2.4;
  }

  /* サブメニュー閉じる */
  .pushy-submenu-closed {
    border-bottom: 1px solid;
  }
  .pushy-submenu-closed ul {
    max-height: 0;
    overflow: hidden;
    visibility: hidden;
  }
  .pushy-submenu-closed li {
    opacity: 0;
  }

  /* サブメニュー開く */
  .toggleWrap .pushy-submenu-open {
  }
  .toggleWrap .pushy-submenu-open ul {
    background-color: #e8f3f9;
    padding: 4vw 10vw;
    visibility: visible;
  }
  .toggleWrap .pushy-submenu-open li {
    opacity: 1;
  }
  .toggleWrap .pushy-submenu-open > a::after,
  .toggleWrap .pushy-submenu-open > button::after {
    content: "－";
  }

  /* サブ見出し */
  .toggleWrap .f_navi_subtitle {
    color: #1d82c5;
    font-size: 4vw;
    font-weight: 500;
    padding-top: 0;
  }
  .toggleWrap .f_navi_subnav {
    padding-left: 3vw;
  }

  /* メニューを閉じる時のスタイル
	display:none; を使用せず、opacityを使うとfadeっぽくなる
	-------------------------------------------------------- */
  .hide {
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
  }

  /* アニメーションはメニューの開閉時のみでいいので
	.toggleWrapに書かず、別にclassを用意
	-------------------------------------------------------- */
  .animation {
    -webkit-transition-property: opacity, visibility;
    transition-property: opacity, visibility;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }

  /* メニューオープン時のみ、メニューの後ろのコンテンツをスクロールさせない
	iOS safariには別途対応が必要（jQueryに記述）
	-------------------------------------------------------- */
  .no-scroll {
    overflow: hidden;
  }
}

/* ================================

　  英語用CSS

================================= */

/* PC
--------------------------------- */
@media screen and (min-width: 768px) {
}

/* SP
--------------------------------- */
@media screen and (max-width: 767px) {
  .single-eng .toggleWrap .mainNav > li > a,
  .toggleWrap .mainNav > li.pushy-submenu > button {
    letter-spacing: 0.02em;
  }
}

/* ================================

　  中国語用CSS

================================= */

/* PC
--------------------------------- */
@media screen and (min-width: 768px) {
}

/* SP
--------------------------------- */
@media screen and (max-width: 767px) {
}
