@charset "utf-8";
#header {
	width: 100%;
  position: relative;
  border-bottom: 0.1px solid #e4e4e4;
  background-color: #fff;
}

/*========= ナビゲーションメニューのためのCSS ===============*/
#header-inner {
	width: 100%;/*横幅指定*/
	max-width: 1080px;
	margin: 0 auto;
	padding-left: 5px;
	padding-right: 5px;
	z-index: 999;/*最前面へ*/
	/*以下はレイアウトのためのCSS*/
	display: flex;
	justify-content: space-between;
  align-items: center;
	vertical-align: center;
}

.header__logo {
  margin-top: 4px;
	margin-left: 10px;
	padding-top: 0;
	line-height: 1.1;
	font-size: 1.5em;
}
.header__logo-live {
	text-align: left;
}
#header-inner .header__logo a {
	display: block;
	font-size: 0.5em;
}
#header-inner .header__logo .header__logo-2 {
	padding-left: 3em;
}
.header__logo-main {
	font-size: 1.2em;
	padding-left: 0;
}
.header__logo-sub {
	/* padding-left: 0; */
	text-align: left;
	font-size: 0.7em;
	font-weight: normal;
}

@media screen and (min-width: 769px) {
  #header-inner {
    height: 70px;
		padding-left: 5px;
		padding-right: 5px;
  }
	.header__logo {
		font-size: 2em;
	}
	#header-inner .header__logo a {
		display: block;
		font-size: 0.6em;
	}
}

.g-nav__sub-list-inner__title {
	display: none;
}

/*==ナビゲーション全体の設定*/
#g-nav {
	color: inherit;
	text-align: center;
	margin-left: auto; /* 右寄せ：検索用虫眼鏡がある場合の対処 */
}
/*ナビゲーションを横並びに*/
#g-nav ul {
  list-style: none;
	line-height: 1.5;
  text-align: left;
}
/*ナビゲーションのリンク設定*/
#g-nav ul li a{
	position: relative;
	display: block;
	text-decoration: none;
	font-size: 16px;
	color: rgb(0, 0, 0);
	transition:all .3s;
}
#g-nav ul li a:hover {
  color: rgb(0, 0, 0, 0.3);
}

/*========= 矢印のCSS ===============*/
#g-nav ul > li.has-child > a::after {
  position: absolute;
  right: 5px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  width: 7px;
  height: 7px;
  border-top: 1px solid rgb(0, 0, 0);
  border-right: 1px solid rgb(0, 0, 0);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
#g-nav ul > li.has-child.active > a::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/*========= ナビゲーション・メガメニューのCSS ===============*/
@media screen and (min-width: 769px) {
  .g-nav__main-list > li > a {
    padding: 0 15px;
  }
	.g-nav__sub-list > .g-nav__sub-list-inner > li > a {
		font-weight: bold;
	}
	.g-nav__sub2-list > li > a {
		padding-left: 15px;
	}
	.g-nav__sub2-list > li > a::before {
		position: absolute;
		left: 0;
		top: -1px;
		bottom: 0;
		margin: auto;
		content: "";
		width: 7px;
		height: 7px;
		border-top: 1px solid rgb(0, 0, 0);
		border-right: 1px solid rgb(0, 0, 0);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#g-nav ul {
		display: flex;
		justify-content: center;
	}
  /* 3階層目は横並びにしない */
  #g-nav > ul > li.has-child > ul {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 4;
    width: 100%;
		padding: 15px 0;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
    background: rgba(238,238,238,.96);
    border-top: 0.1px solid #e4e4e4;
    border-bottom: 0.1px solid #e4e4e4;
  }
  #g-nav > ul > li.has-child.active > ul {
    visibility: visible;
    opacity: 1;
  }
	.g-nav__sub-list-inner__title {
		display: block;
	}
	.g-nav__sub2-list {
		display: flex;
		flex-flow: column;
		margin-top: 2px;
		text-align: left;
	}

  /* メガメニューインナーのテスト用 */
  .g-nav__sub-list-inner {
    display: flex;
    flex-flow: row;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 5px;
    /* background-color: #ccc; */
  }
  .g-nav__sub-list-inner > li {
    margin-right: 40px;
  }
  .g-nav__sub-list-inner > li:nth-last-child(1) {
    margin-right: 0;
  }

}

/*==768px以下の形状*/

@media screen and (max-width:768px){
	#g-nav{
		padding-right: 0;
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
		top:-120%;
    left:0;
		width:100%;
    height: 100vh;/*ナビの高さ*/
		background:rgba(238,238,238,.96);
		/* background:rgba(52, 93, 146, 0.95); */
    /*動き*/
		display: block;
		transition: all 0.6s;
	}

	/*アクティブクラスがついたら位置を0に*/
	#g-nav.panelactive {
		top: 0;
	}

	/*ナビゲーションの縦スクロール*/
	#g-nav,
	#g-nav.panelactive {
		/*ナビの数が増えた場合縦スクロール*/
		position: fixed;
		z-index: 999;
		width: 100%;
		height: 100vh;/*表示する高さ*/
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	#g-nav > ul {
		display: block;
	}

	nav ul ul{
		display: block;
	}

	/* 追加 */
	/*ナビゲーション*/
	#g-nav > ul {
		/*ナビゲーション天地中央揃え*/
		width: 90%;
		margin: 35% auto 0 auto;
		border-top:1px solid rgb(204, 204, 204);
	}

	#g-nav ul ul{
		width: 100%;
		margin: 0;
	}

	nav li.has-child ul,
	nav li.has-child ul ul {
  	position: relative;
		left:0;
		top:100%;
		width:100%;
		visibility:visible;/*JSで制御するため一旦表示*/
		opacity:1;/*JSで制御するため一旦表示*/
		display: none;/*JSのslidetoggleで表示させるため非表示に*/
		transition:none;/*JSで制御するためCSSのアニメーションを切る*/
	}

	nav ul li a{
		border-bottom:1px solid #ccc;
		color: #ccc;
	}
	nav ul li a:hover{
		color:rgb(0, 0, 0, 0.5);
	}
	.g-nav__main-list > li > a {
		padding-top: 15px;
		padding-bottom: 15px;
	}
	.g-nav__sub-list li a {
		padding-top: 5px;
		padding-bottom: 5px;
	}

	.g-nav__link[aria-current]::after {
		background: none;
	}

	/*3階層目を持つliの矢印の設定*/
	#g-nav ul ul li.has-child > a::after {
		position: absolute;
		right: 5px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 7px;
		height: 7px;
		border-top: 1px solid rgb(0, 0, 0);
		border-right: 1px solid rgb(0, 0, 0);
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	#g-nav ul ul li.has-child.active > a::after {
	/* #g-nav > ul > li.has-child > a:hover::after { */
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

}
