/****************************** mobile,cpmmon ******************************/

/* -----------------------------------
 ヘッダーバー
----------------------------------- */
.header_con {
  height: var(--header_height);
  width: 100%;
  padding-left: var(--side_padding);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  top: 0px;
  transition: 0.3s;
  box-sizing: border-box;
  z-index: 9997;
}
.logoCon h1,
.logoCon>div {
  display: flex;
}
.logoCon a {
	position: relative;
}
.logoCon a,
.nav_logo_con {
  display: flex;
  align-items: center;
}
.logoCon a span,
.nav_logo_con span {
  font-size: 1.2rem;
  font-weight: 900;
  color: #fff;
  word-break: keep-all;
}
.header_logo,
.nav_logo_con img {
  width: 110px;
  margin-top: 10px;
}
.header_logo {
	z-index: 9995;
  filter: var(--svg_white);
}
.header_cc .header_logo {
  filter: inherit;
}
.logoCon p {
  font-size: 10px;
  line-height: 14px;
  font-weight: 500;
  letter-spacing: 0px;
  transform: translate(0px, -4px);
}

/* メニュー内見出し */
.nav_content {
  padding-top: 20px;
  padding-left: var(--side_padding);
  padding-right: var(--side_padding);
}
.nav_logo_con {
  height: var(--header_height);
  filter: var(--svg_white);
}

/* ナビゲーションリスト */
.nav_list {
  padding-top: 15px;
  margin-bottom: 20px;
}
.nav_item {
	font-size: 1.4rem;
  font-weight: 600;
  position: relative;
  border-bottom: 1px solid var(--line_dark_gray_color);
}
.nav_item span {
	display: block;
}
.nav_item_ancr {
  position: relative;
  padding-bottom: 12px;
  padding-left: 5px;
  color: #fff;
}
.nav_item:not(:first-child) .nav_item_ancr {
  padding-top: 12px;
}
/* プラスボタン */
.nav_item_have_child .nav_item_ancr:after, .nav_item_have_child .nav_item_ancr:before {
  content: '';
  background: var(--general_color);
  width: 10px;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 5px;
}
.nav_item_have_child .nav_item_ancr:before {
  transform: translate(-50%,0);
}
.nav_item_have_child .nav_item_ancr:after {
  transform: translate(-50%,0) rotate(90deg);
  transition: 0.3s;
}
.nav_item_have_child .open:after {
  transform: translate(-50%,0) rotate(0deg);
}

/* 小メニューリスト */
.nav_child_list {
  font-size: 1.3rem;
  font-weight: 500;
}
.nav_child_list {
  padding-left: 10px;
  transition: 0.3s;
  /* height: 90px; */
}
.nav_child_item {
}
.nav_child_item:not(:last-child) {
  margin-bottom: 5px;
}
.nav_child_item a {
  position: relative;
  padding-left: 13px;
}
.nav_child_item a:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 1px;
  width: 8px;
  background: var(--general_color);
}
.nav_child_list_hide {
  opacity: 0;
  height: 0px!important;
}

/* サブメニューリスト */
.nav_sub_list {
  font-weight: 600;
  margin-bottom: 50px;
}
.nav_sub_item {
  font-size: 1.2rem;
  position: relative;
  padding-left: 15px;
}
.nav_sub_item:not(:last-child) {
  margin-bottom: 10px;
}
.nav_sub_item a {
  color: #fff;
}
.nav_sub_item a:before {
  content: '';
  position: absolute;
  top: 6px;
  left: 0px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}

/* コピーライト */
.m_copy_right {
  font-size: 1.2rem;
  font-weight: 600;
  /* overflow: hidden; */
}

/* メニュー表示・非表示 */
/* .blkBack {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	transition: 0.3s;
	visibility: visible;
	z-index: 9996;
}
.blkBackHide {
	visibility: hidden;
	opacity: 0;
	transition-delay: .2s
} */
.close, .open {
	transition : .3s;
}
.close {
  opacity: 0;
  visibility: hidden;
}
.open {
  opacity: 1;
  visibility: visible;
}

/* -----------------------------------
 メニュー
----------------------------------- */

/* メニュー画面全体 */
#nav {
	height: 100vh;
	width: 100%;
	background: var(--base_color);
  color: #fff;
	position: fixed;
	/* position: absolute; */
	top: 0;
	right: 0;
	z-index: 9997;
  overflow: auto;
}

/* メニュー要素全体 */
#menuItem {
  position: relative;
  width: 100%;
  padding-bottom: 25px;
  box-sizing: border-box;
}

/* メニュー内見出し */
.nav_head_con {
  margin-bottom: 40px;
}
.nav_logo_con {
  display: flex;
  filter: var(--svg_white);
  padding-left: var(--side_padding);
  align-items: center;
}
.nav_head_con a {
  font-size: 10px;
}

/* -----------------------------------
 お問い合わせ・SNS
----------------------------------- */
/* SNSリスト */
.hd_sns_list {
  /* display: flex; */
  justify-content: flex-start;
}

/* ---------------------------------
ボタン
--------------------------------- */
/* ボタン */
/* .hd_btn_list {
  display: flex;
} */
/* .hd_btn_tel,
.hd_btn_mail {
  text-align: center;
  line-height: 50px;
  font-size: 3.2rem;
} */
.hd_btn_tel a,
.hd_btn_mail a {
  width: 100%;
  height: 100%;
}
.hd_btn_tel {
  margin-right: 10px;
}
.hd_btn_mail {
  margin-right: 5px;
}
/* 優先度 */
#menuWrapper {
  position: fixed;
  /* position: absolute; */
  top: 0;
  right: 0;
}
#menuWrapper,
#menuButton span,
#menuButton:before,
#menuButton:after {
	z-index: 9998;
}
/* 要素サイズ */
#menuWrapper,
#menuButton {
  width: var(--header_height);
  height: var(--header_height);
	display: block;
  background: var(--base_color);
}
#menuButton {
  position: relative;
  cursor: pointer;
  transition: .3s
}
/* 線について */
#menuButton span,
#menuButton:before,
#menuButton:after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left:0;
  right: 0;
  width: 28px;
  height: 2px;
  margin: auto;
  background: #fff;
  border-radius: 5px;
}
/* アニメーション時間 */
#menuButton span,
#menuButton:before,
#menuButton:after,
#menuButton.active span {
	transition: 0.5s;
}
#menuButton:before,
#menuButton:after {
	content: "";
}
#menuButton:before {
  transform: translate(0, -6px);
}
#menuButton:after {
  transform: translate(0, 6px);
}
#menuButton.active {
  /* background: var(--base_color) */
}
#menuButton.active span {
  transform: scale(0);
}
#menuButton.active:before {
  transform: rotate(45deg);
}
#menuButton.active:after {
  transform: rotate(-45deg);
}

/****************************** 600px ******************************/
@media (min-width: 600px) {

  header .cntct_list {
    display: flex;
    justify-content: space-between;
  }

}

/****************************** 1025px ******************************/
@media (min-width: 1025px){

	/* -----------------------------------
   ヘッダーバー
  ----------------------------------- */
  .header_con {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding-left: 0;
    position: fixed;
    position: absolute;
    top: 0;
    padding: 0 80px;
  }
  /* .header_cc .header_con {
    background: #fff;
  } */

  /* ロゴ */
  .header_logo,
  .nav_logo_con img {
    width: 140px;
  }

  /* メニューバー */
  .close {
    visibility: inherit;
    opacity: 1;
  }
  .nav_logo_con {
    display: none;
  }
	#nav {
		background: none;
		max-width: inherit;
    height: 100%;
		position: relative;
    overflow: inherit;
    margin: 0;
    width: 100%;
    display: flex;
	}
	#menuItem {
    height: 100%;
		padding: 0px;
    transform: translate(0, 0);
    display: flex;
    align-items: center;
	}

  /* メニュー */
  .nav_content {
    padding: 0;
    margin: 0 0 0 auto;
    height: 100%;
    display: flex;
    align-items: center;
  }
  .nav_list {
    padding: 0;
    margin: 0;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
	.nav_item {
    font-weight: 700;
    font-size: 1.5rem;
		margin: 0;
		transition: 0.5s;
		text-align: center;
		position: inherit;
    height: 100%;
    line-height: var(--header_height);
    border: none;
    overflow: inherit;
	}
  .nav_item:not(:first-child) .nav_item_ancr {
    padding-top: 0px;
  }
  .nav_item:not(:first-child) {
		margin-left: 30px;
	}
  .nav_item:not(:last-child) {
		margin-bottom: 0px;
	}
  .nav_item_ancr {
    padding: 0;
    position: relative;
    line-height: inherit;
    cursor: pointer;
    color: #fff;
	}
  .header_cc .nav_item_ancr,
  .nav_item_ancr_moved {
    color: var(--general_color);
	}

  /* PCメニューのボタン */
  .nav_btn_list {
    text-align: center;
    margin-left: 35px;
    height: 35px;
  }
  .nav_btn_list li {
    line-height: 35px;
    border: 1px solid #fff;
    border-radius: 35px;
  }
  .nav_btn_list a {
    color: #fff;
    width: 150px;
    font-size: 1.4rem;
    font-weight: 900;
    line-height: 35px;
  }
  .header_cc .nav_btn_list a {
    color: var(--base_color);
  }
  /* .nav_btn_list i {
    margin-right: 3px;
  } */
  /* .nav_btn_list .moved {
    background: var(--base_color);
    border: 1px solid var(--base_color);
  } */
  /* .nav_btn_list .moved a {
    color: #fff;
  } */
  /* .header_cc .nav_btn_item {
    background: var(--base_color);
    border: 1px solid var(--base_color);
  }
  .header_cc .nav_btn_item a {
    color: #fff;
  } */

  /* -----------------------------------
   ハンバーガーボタン
  ----------------------------------- */
  #menuWrapper {
    display: none;
  }


/****************************** 1400px ******************************/
@media (min-width: 1400px){

  .nav_item {
    font-size: 1.6rem;
  }
  .nav_item:not(:first-child) {
    margin-left: 40px;
  }

}
