@charset "utf-8";
/* --------------------------------------------------

	css/tpl_header.css

-------------------------------------------------- */

/* ------------------------
	header common
------------------------ */
 .home #header {
  position: absolute;
  bottom: 0px;
  left: 0px;
  z-index: 9999;
}

#header {
  width: 100%;
  min-width: 1060px;
  height: 104px !important;
  position: fixed;
  z-index: 9999;
}

@media screen and (max-width: 768px) {
  #header {
    width: 100%;
    height: 61px !important;
    background: rgba(255,255,255,1) !important;
	min-width: 10px;
	position: relative;
	display: block;
  }
  
}
#header_inner {
  width:100%;
  margin: 0 auto;
  position: relative;
  padding-top: 31px;
  z-index: 1;
}


/* ヘッダーをページ上部に固定 */
 .header_fix #header {
  position: fixed;
  width: 100%;
  top: 0px;
  left: 0px;
  z-index: 9999;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
  background: rgba(255,255,255,0.9);
}

 .header_fix {
  padding-top: 60px;
}

 .home.header_fix {
  padding-top: 0px;
}


/* ロゴ */
#header_logo{
  position: relative;
  width: 980px;
  margin: auto;
}
#header_logo h1{
  width: 150px;
  position: absolute;
  top: 10px;
  float: left;
  font-size: 0;
  margin: 1px 0;
}

/* グローバルメニュー */
 #global_menu {
  z-index: 20;
  position: absolute;
  width:100%;
  height: 100%;
  left: 0;
  top: 0px;
  background: #212121;
}

 #global_menu>ul {
  /*font-size: 0;*/
  position: relative;
  text-align: left;
  width: 980px;
  margin: 5px auto 0;
}

 #global_menu>ul>li {
  /*font-size: 1%;*/
  position: relative;
  display: inline-block;
}

 #global_menu>ul>li>a {
  font-size: 12px;
  /*font-weight:bold;*/
  text-decoration: none;
  height: 20px;
  line-height: 20px;
  display: block;
  color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#global_menu>ul>li:nth-child(even){
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	padding: 0 20px;
    margin: 0 20px;
}

#global_menu ul ul {
  display: none;
  width: 140px;
  position: absolute;
  top: 24px;
  left: 0px;
  margin: 0;
  padding: 0;
}

 #global_menu ul ul ul {
  left: 100%;
  top: 0;
  margin: 0;
  border: none;
}

 #global_menu ul ul li {
  line-height: 150%;
  padding: 0;
  margin: 0;
  text-align: left;
  position: relative;
  display: block;
}

 #global_menu ul ul a {
  display: block;
  font-size: 11px;
  background: #141e3a;
  border: none;
  position: relative;
  padding: 14px 35px 12px 35px;
  height: auto;
  line-height: 160%;
  margin: 0;
  text-align: left;
  box-shadow: none;
  color: #fff;
}

 /*#global_menu ul ul a:hover {
  text-decoration: none;
  border: none;
  color: #fff;
}*/

 #global_menu ul ul li.menu-item-has-children>a:before {
  margin: 0;
  display: block;
  top: 20px;
  right: 10px;
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0px 4px 4px;
  border-color: transparent transparent transparent #fff;
}

/* トップページのみドロップダウンの方向を変える */
 .home #global_menu ul ul {
  bottom: 60px;
  top: auto;
}

 .home #global_menu ul ul ul {
  bottom: 0;
  top: auto;
}

 .home #header.type2 #global_menu ul ul {
  top: 60px;
  bottom: auto;
}

 .home #header.type2 #global_menu ul ul ul {
  top: 0;
  bottom: auto;
}

 #global_menu>ul>li.active>a,
 #global_menu li.current-menu-item>a,
 #global_menu>ul>li>a:hover {
  color: #fff;
}

#global_menu>ul>li.langEng-Change a:hover{
  background: #cc343b;
  color: #fff;
  transition: .2s;
}

#global_menu>ul>li.langEng-Change{
	border: none !important;
	background: #fff;
	border-radius: 1px;
	float: right;
	padding: 0;
}
#global_menu>ul>li.langEng-Change a{
	display: block;
	color: #212121;
	padding: 0 20px;
	transition: .2s;
}

@media screen and (max-width: 768px) {
#global_menu ul ul {
  top: 60px;
}
#header_logo {
    position: relative;
    width: 100%;
    margin: auto;
}
#header_inner {
  width:100%;
  margin: 0 auto;
  position: relative;
  padding-top: 5px;
  background: #000;
}
/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */

/* メニューボタン */
a.menu_button {
  position: absolute;
  right: 0px;
  z-index: 9;
  border-left: 1px solid #ddd;
  display: inline-block;
  font-size: 11px;
  color: #333;
  width: 56px;
  height: 56px;
  line-height: 56px;
  text-decoration: none;
}

a.menu_button span {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: block;
}
a.menu_button.active .fa-times{
	display: block;
	color: #212121;
}
a.menu_button .fa-times{
	display: none;
}
a.menu_button.active .fa-bars{
	display: none;
}
a.menu_button .fa-bars{
	display: block;
	color: #212121;
}
/* グローバルメニュー */
#global_menu {
  display: none;
  clear: both;
  width: 100%;
  height: 100vh;
  background: rgba(33, 33, 33, 0.9);
  margin: 0;
  top: 61px;
  z-index: 9;
  box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1);
  
}

#global_menu ul {
  margin: 0;
}
#global_menu > ul {
    width: 90%;
	height: 100%;
	padding-bottom: 610px;
    margin: 0px auto;
	position: absolute;
	right: 0 !important;
	left: auto;
	background: #fff;
	overflow: scroll;
}
#global_menu ul ul {
  display: block;
}
#global_menu > ul > li {
	width: 90%;
	display: block;
	margin: auto;
}
#global_menu > ul > li > a {
  position: relative;
  display: block;
  margin: 0;
  padding: 0px 15px;
  height: 50px;
  line-height: 50px;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  background: #333;
  font-size: 13px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/*#global_menu a:hover {
  color: #fff;
}*/
#global_menu .SP_ac_menu li a{
	color: #222222;
}
#global_menu ul ul{
position: relative;
width: auto;
top: auto;
left: auto;
}
#global_menu ul .sp-loginArea .SP_person-new_member{
    width: 100%;
    margin: 40px auto !important;
}
#global_menu ul .sp-loginArea .SP_person-new_member a{
	border: 1px solid #cc343b;
	background: #cc343b;
	color: #fff;
}
#global_menu ul .sp-loginArea a{
	background: #222;
}
#global_menu ul ul a {
    padding: 20px 10px;
    width: 100%;
    text-align: center;
	background: #fff;
	border-top: 1px solid #222222;
}
ul.clearfix.sp-loginArea li {
    width: 45%;
    float: left;
}
ul.clearfix.sp-loginArea li:first-child{
    margin-right:10% !important;
}
#global_menu ul ul ul a {
  padding-left: 42px;
  background: #111;
}

#global_menu ul ul ul ul a {
  padding-left: 55px;
  background: #000;
}

#global_menu li.menu-item-has-children {
  position: relative;
}

#global_menu .child_menu_button {
  display: block;
  position: absolute;
  text-align: center;
  width: 60px;
  height: 49px;
  right: 0px;
  top: 1px;
  z-index: 9;
  cursor: pointer;
}

#global_menu .child_menu_button .icon:before {
  content: '+';
  font-size: 12px;
  color: #aaa;
  text-align: center;
  display: block;
  width: 20px;
  height: 20px;
  line-height: 20px;
  border: 1px solid #555;
  border-radius: 100%;
  position: absolute;
  left: 20px;
  top: 15px;
}

#global_menu .child_menu_button.active .icon:before,
#global_menu .child_menu_button:hover .icon:before {
  color: #fff;
  border-color: #fff;
}

#global_menu li.menu-item-has-children.open>.child_menu_button .icon:before {
  content: '-';
}

#global_menu li.menu-item-has-children.open>ul {
  display: block;
}
#global_menu > ul > li:nth-child(2n) {
    border-right: 0px solid #fff;
    border-left: 0px solid #fff;
    padding: 0 ;
    margin: 0 ;
}
/* メニュー--------------------------*/
  a.menu_button {
    background: rgb(255, 255, 255);
  }

  a.menu_button {
    position: absolute;
    right: 0px;
    z-index: 9;
    display: inline-block;
    font-size: 11px;
    color: rgb(51, 51, 51);
    width: 54px;
    height: 54px;
    line-height: 56px;
    border-left: 1px solid rgb(221, 221, 221);
    text-decoration: none;
  }

  a.menu_button i {
    font-size: 250%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .fa-bars:before {
    content: "\f0c9";
  }

  a.menu_button span {
    text-indent: 100%;
    white-space: nowrap;
    display: block;
    overflow: hidden;
  }

#global_menu>ul>li.langEng-Change{
	border: none !important;
	background: #fff;
	border-radius: 1px;
	float: none;
	padding: 0;
}
#global_menu>ul>li.langEng-Change a{
	display: block;
	color: #fff;
	padding: 0 20px;
}
#global_menu>ul>li>a:hover {
  color: #fff;
  background: #cc343b;
}
 .header_fix {
  padding-bottom: 0px;
}
}/**/