@charset "utf-8";

@media screen and (max-width: 979px) {
/* !header layout
---------------------------------------------------------- */
#header {
    position: fixed;
    left: 0;
    top: 0 !important;
	padding-top: 0;
	min-width: 320px;
	border-bottom: 1px solid #ccc;
    z-index: 10000;
}
body.openSpeed #header {
  -webkit-transition: left 0.25s ease-out;
  transition: left 0.25s ease-out;
}
body.closeSpeed #header {
  -webkit-transition: left 0.15s ease-out;
  transition: left 0.15s ease-out;
}
body.open #header {
  /* left: -270px; */
  left: -270px;
}
}

@media screen and (max-width: 979px) {
/* !headerContent
---------------------------------------------------------- */
#headerContent {
	padding: 0;
	width: 100%;
	position: relative;
}
	#headerContentIn {
	}
		#headerLogo {
			padding: 16px 19px 21px;
		}
  #header.is-fixed:not(.is-rw) #headerLogo {
    margin-top: 0 !important;
    padding-top: 11px;
  }
      #headerLogo a {
        height: 27px;
      }
        #headerLogo a img:first-child {
          margin-top: 5px;
        }
		#headerMenuBtn {
			display: block;
			padding-top: 26px;
			width: 76px;
			height: 50px;
			position: absolute;
			right: 0;
			top: 0;
			bottom: 0;
			margin: auto 0;
			cursor: pointer;
			text-indent: -9999px;
			background: url(/cms/common/images/header/btn_dropmenu_open02.png) no-repeat center center;
			background-size: 30px;
		}
		#headerMenuBtn.open {
			background-color: #333;
			background-image: url(/cms/common/images/header/btn_dropmenu_close01.png);
		}
		
	#headerLinks {
		display: none;	
	}
}
@media screen and (max-width: 767px) {
	#headerContentIn {
		width: 100%;
	}
		#headerLogo {
			padding: 8px 7px 14px;
		}
      #headerLogo a {
        height: 23px;
        gap: 8px;
      }
			#headerLogo img {
				width: auto;
				height: 25px;
			}
			#headerLogo a img {
				margin-top: 7px;
			}
			#headerLogo a img:last-child {
        display: none !important;
			}
		#headerMenuBtn {
			padding-top: 0;
			width: 45px;
			height: 35px;
		}
			#headerMenuBtn img {
				width: 23px;
				height: auto;	
			}
}

@media screen and (max-width: 979px) {
	#headerSearch {
		display: none;
		float: none;
		margin: 0 auto;
		padding: 15px 0;
		width: 100%;
		position: absolute;
		left: 0;
		top: 75px;
		z-index: 10001;
		background-color: #333;
	}
	#headerSearch.show {
		display: block;
	}
		#headerSearch form {
			display: block;
			margin: 0 auto;
			width: 363px;
			position: relative;
		}
		#headerSearch input {
		   -webkit-appearance: none;
		   border-radius: 0;
		}
		#headerSearch input[type=text] {
			width: 340px;
			background-color: #666;
			color: #fff;
		}
		#headerSearch input[type=submit] {
			left: 350px;
			background-image: url(/common/images/header/btn_header_search02.gif);
		}
	@media (-webkit-min-device-pixel-ratio: 2) {
		#headerSearch input[type=submit] {
			background-image: url(/common/images/header/btn_header_search02_2x.gif);
			background-size: 35px 35px;	
		}
	}
    #header.is-fixed #headerLogo img {
        display:  inline-block;
    }
    .js-search-trigger-rw {
        display: block;
        position: absolute;
        right: 73px;
        top: 0;
        bottom: 0;
        width: 17px;
        height: 17px;
        margin: auto 0;
        background: url(/common/images/header/btn_header_search03_2x.png) no-repeat 0 top;
        background-size: 17px;
        z-index: 10001;
    }

}
@media screen and (max-width: 767px) {
	#headerSearch {
		top: 45px;
	}
		#headerSearch form {
			width: 300px;
		}
		#headerSearch input[type=text] {
			width: 255px;
		}
		#headerSearch input[type=submit] {
			left: 265px;
		}
    .js-search-trigger-rw {
        right: 50px;
    }
}
@media screen and (max-width: 979px) {
	#dropMenuWrap_sp {
		display: none;
		width: 100%;
		position: absolute;
		left: 0;
		top: 140px;
		z-index: 10001;
		overflow: hidden;
	}
}
@media screen and (max-width: 767px) {
	#dropMenuWrap_sp {
		top: 110px;
	}
}

/* !gNavi
---------------------------------------------------------- */
@media screen and (max-width: 979px) {
#dropMenuWrap_sp.open #gNavi {
	display: block;	
}
#gNavi {
	display: none;
	margin: 0;
	background-color: #333;
	position: relative;
	z-index: 10000;
}
	#gNavi ul {
		margin: 0 auto;
		width: 100%;
		height: auto;
		border-top: 1px solid #777;
		overflow: hidden;
		display: block;
		min-height: 1%;
	}
	#gNavi ul:after {
		clear: both;
		content: ".";
		display: block;
		height: 0;
		visibility: hidden;
	}
		#gNavi li {
			display: table;
			float: left;
			position: static;
			padding: 0;
			width: 50%;
			height: 47px;
			border-bottom: 1px solid #777;
			border-right: 1px solid #777;
			box-sizing: border-box;
		}
			#gNavi li a {
				display: table-cell;
				vertical-align: middle;
				padding: 0 48px 0 21px;
				height: 47px;
				background-image: url(/common/images/header/ico_header_arrow_l01.png);
				background-repeat: no-repeat;
				background-position: 92.44% center !important;
				text-indent: 0;
				color: #fff;
				font-weight: bold;
				text-decoration: none;
			}
			#gNavi li a.external {
				background-image: url(/common/images/header/ico_header_external02.png);	
				background-position: 92.44% center !important;
			}
		@media (-webkit-min-device-pixel-ratio: 2) {
			#gNavi li a {
				background-image: url(/common/images/header/ico_header_arrow_l01_2x.png);
				background-size: 6px 12px;
			}
			#gNavi li a.external {
				background-image: url(/common/images/header/ico_header_external02_2x.png);	
				background-size: 11px 10px;
			}
		}
}
@media screen and (max-width: 767px) {
			#gNavi li a {
				padding: 0 26px 0 10px;
				height: 50px;
				background-position: 89.87% center !important;
				font-size: 85.71%;
			}
			#gNavi li a.external { background-position: 89.87% center !important; }
}

/* !dropMenu
---------------------------------------------------------- */
@media screen and (max-width: 979px) {
#dropMenuWrap {
	display: none;
}
}
/* !slide menu
---------------------------------------------------------- */
@media screen and (max-width: 979px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
  body,
  #top {
    right: 0;
  }
  .closeSpeed {
    -webkit-transition: right 0.15s ease-out;
    transition: right 0.15s ease-out;
  }
  .top-close {
    right: 270px !important;
  }
  #top .header {
    border-bottom: none;
  }
  #top .header.header-fixed {
    border-bottom: 1px solid #535353;
  }
}