@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;
}
#header.header-wide {
	min-width: 320px;
}
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;
}
}

@media screen and (max-width: 979px) {
/* !headerContent
---------------------------------------------------------- */
#headerContent {
	position: relative;
	width: 100%;
	padding: 0;
}
#headerContent.headerContent-wide {
	width: 100%;
	height: 100%;
}
	#headerContentIn {
		width: 100%;
	}
		#headerLogo {
			padding: 16px 19px 21px;
			line-height: 0;
			text-align: center;
      font-size: 0;
		}
      #headerLogo a {
        display: inline-block;
        height: 27px;
        overflow: hidden;
      }
        #headerLogo a img:first-child {
          margin-top: 5px;
        }
		#headerMenuBtn {
			display: block;
			/* padding-top: 26px; */
			width: 76px;
			height: 50px;
			position: absolute;
			left:0;
			top: 0;
			bottom: 0;
			margin: auto 0;
			cursor: pointer;
			text-indent: -9999px;
			/* background: url(/common/images/header/btn_dropmenu_open01.png) no-repeat center center; */
			background-size: 20px;
			/* transition:transform 0.3s linear 0s; */
		}
		#headerMenuBtn span, #headerMenuBtn span:before, #headerMenuBtn span:after{
			display: block;
			width: 24px;
			height: 3px;
			border-radius:5px;
			background-color: #707070;
			top:0;
			bottom:0;
			left:0;
			right:0;
			margin:auto;
			/* transition:all 0.3s ease 0s; */
		}
		#headerMenuBtn span::before{
			content:"";
			transform:translateY(-8px);
		}
		#headerMenuBtn span::after{
			content:"";
			transform:translateY(5px);
		}
		#headerMenuBtn.is-active{
			transform:rotateY(180deg);
		}
		#headerMenuBtn.is-active span{
			background-color: transparent;
		}
		#headerMenuBtn.is-active span::before, #headerMenuBtn.is-active span::after{
			/* transform-origin:left; */
		}
		#headerMenuBtn.is-active span::before{
			transform:rotate(45deg) translate(1px, -1px);
		}
		#headerMenuBtn.is-active span::after{
			transform:rotate(-45deg) translate(3px, -1px);
		}
	#headerLinks {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	#headerContentIn {
		width: 100%;
	}
		#headerLogo {
			padding: 8px 7px 14px;
		}
      #headerLogo a {
        height: 23px;
      }
			#headerLogo img {
				width: auto;
				height: 25px;
			}
			#headerLogo a img {
				margin-top: 3px;
			}
			#headerLogo a img:first-child {
				margin-top: 7px;
			}
		#headerMenuBtn {
			padding-top: 0;
			width: 45px;
			height: 45px;
		}
			#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 {
		display: block;
		width: 45px;
		height: 45px;
		position: absolute;
		right:0;
		top: 0;
		bottom: 0;
		margin: auto 0;
		cursor: pointer;
		text-indent: -9999px;
		/* background: url(/common/images/header/btn_header_search03_2x.png) no-repeat center; */
		/* background-size: 50%; */
		/* transition:transform 0.3s linear 0s; */
		background: none;
	}
	.js-search-trigger-rw span{
		display: block;
		width: 100%;
		height: 100%;
		background: url(/common/images/header/btn_header_search03_2x.png) no-repeat center;
		background-size: 50%;
		/* transition:opacity 0s linear 0.15s; */
	}
	.js-search-trigger-rw.is-active span{
		opacity: 0;
	}
	.js-search-trigger-rw.is-active {
		transform:rotateY(180deg);
		background: none;
	}
	.js-search-trigger-rw::before, .js-search-trigger-rw::after {
		content:"";
		display: block;
		width: 24px;
		height: 3px;
		border-radius:5px;
		background-color: #707070;
		position: absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
		margin:auto;
		/* transition:opacity 0s ease 0.15s; */
		opacity:0;
	}
	.js-search-trigger-rw.is-active::before, .js-search-trigger-rw.is-active::after {
		opacity: 1;
	}
	.js-search-trigger-rw::before{
		transform:rotate(45deg);
	}
	.js-search-trigger-rw::after{
		transform:rotate(-45deg);
	}

}
@media screen and (max-width: 979px) {
	#dropMenuWrap_sp {
		display: none;
		width: 100%;
		position: absolute;
		left: 0;
		top: 140px;
		z-index: 10001;
		overflow: hidden;
	}
		#dropMenuWrap_sp #headerLinks_sp {
			display: none;
			min-height: 1%;
			float: none;
			margin-top: -1px;
			width: 100%;
			height: auto;
			border-top: 1px solid #777;
			background-color: #555;
			overflow: hidden;
			position:relative;
			z-index: 10001;
		}
		#dropMenuWrap_sp.open #headerLinks_sp {
			display: block;
		}
		#headerLinks_sp:after {
			clear: both;
			content: ".";
			display: block;
			height: 0;
			visibility: hidden;
		}
			#headerLinks_sp ul {
			}
				#headerLinks_sp li {
					display: table;
					float: left;
					position: static;
					padding: 0;
					width: 50%;
					height: 47px;
					border-bottom: 1px solid #777;
					border-right: 1px solid #777;
					background: none;
					box-sizing: border-box;
				}
					#headerLinks_sp li a {
						display: table-cell;
						vertical-align: middle;
						padding-left: 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-size: 100%;
						font-weight: 600 !important;
						text-decoration: none;
					}
					#headerLinks_sp li a:focus,
					#headerLinks_sp li a:hover {
						text-decoration: none;
					}
					#headerLinks_sp 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) {
					#headerLinks_sp li a {
						background-image: url(/common/images/header/ico_header_arrow_l01_2x.png);
						background-size: 6px 12px;
					}
					#headerLinks_sp li a.external {
						background-image: url(/common/images/header/ico_header_external02_2x.png);
						background-size: 11px 10px;
					}
				}
}
@media screen and (max-width: 767px) {
	#dropMenuWrap_sp {
		top: 110px;
	}
			#headerLinks_sp li a {
				padding: 0 26px 0 10px;
				height: 50px;
				background-position: 89.87% center !important;
				font-size: 85.71%;
			}
			#headerLinks_sp li a.external { background-position: 89.87% center !important; }
}

/* !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.gNavi-wide ul {
    width: 100%;
  }
	#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: 600 !important;
				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; }
}

@media screen and (max-width: 979px) {
	#gNaviLinks_sp {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		display: flex;
		align-items: center;
	}

	#gNaviLinks_sp li a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 50px;
		height: 50px;
		text-decoration: none;
	}

	#gNaviLinks_sp li a i {
		font-size: 24px;
		color: #707070;
		vertical-align: middle;
	}

	#gNaviLinks_sp li a i:before {
		display: block;
		width: 24px;
		height: 24px;
		background: url(/common/images/icons/ico_header_gnav_sp.png) no-repeat;
		background-size: 126px auto;
	}
}

@media screen and (max-width: 767px) {
	#gNaviLinks_sp li a {
		width: 35px;
		height: 45px;
	}
	#gNaviLinks_sp li a i {
		font-size: 20px;
	}
	#gNaviLinks_sp li a i:before {
		display: block;
		width: 20px;
		height: 20px;
		background: url(/common/images/icons/ico_header_gnav_sp.png) no-repeat;
		background-size: 104px auto; 
	}
}

@media screen and (max-width: 320px) {
	#gNaviLinks_sp li a {
		width: 30px;
		height: 45px;
	}
}

/* !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;
  }
  .openSpeed {
    -webkit-transition: right 0.25s ease-out;
    transition: right 0.25s ease-out;
  }
  .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;
  }
}
/* !mobile-menu
---------------------------------------------------------- */
@media screen and (max-width: 979px) {
	.mobile-menu {
		top:64px;
	}
	.mobile-navigation {
		top:64px;
	}
}
@media screen and (max-width: 767px) {
	.mobile-menu{
		top: 45px;
	}
	.mobile-navigation {
		top:45px;
	}
}


/* Gナビメニューカスタム　SP AXIS_WEB-1283 */
@media screen and (max-width: 767px) {
  #headerLogo img {
      height: 42px;
  }
  #headerLogo a img:first-child {
      margin-top: 1px;
  }
}


.mobile-navigation {
  border-top: 1px solid #d1d1d1;
  background-color: #f5f5f5 !important;
}
.menu-content,
.menu-content .menu-item {
  background-color: #eee;
}
.menu-content li + li .menu-item {
  /* border-color: #ddd; */
  border-top: none;
}
.menu-content li:not(:last-child) .menu-item {
  border-bottom: 1px solid #ddd;
}
.mobile-menu-container ul.menu-content li a.menu-title,
.mobile-menu-container ul.menu-content li a {
  padding-left: 20px;
  margin-left: 20px;
  /* padding-left: 2.8em; */
  font-size: 14px;
  font-weight: 400 !important;

}
.menu-content .menu-item.item_child {
  padding-left: 15px;
  margin-left: 20px;
  /* padding-left: 4.6em; */
  font-size: 13px;
  font-weight: 400 !important;
}
.mobile-menu .mobile-menu-container ul li.current.harf .current a.menu-title {
  font-size: 12px;
  font-weight: 400 !important;
}
.mobile-menu .mobile-menu-container ul li.harf div.line2 a {
  display: flex;
  align-items: center;
  min-height: 48.5px;
}
.mobile-menu .mobile-menu-container ul li.harf div.line2 a > span {
  flex-shrink: 0;
}
@media screen and (max-width: 369px) {
  .mobile-menu .mobile-menu-container ul li.harf div.line2 a > span {
      flex-shrink: 1;
  }
}
.mobile-menu .mobile-menu-container ul li.harf div.line2 a > span > span {
  display: inline-block;
}
.mobile-menu .mobile-menu-container ul li.harf div.line2 a.external-link {
  padding-right: 10px;
}
#menu .harf .external-link:after {
  position: static;
  transform: none;
  margin-right: 0;
  margin-left: 5px;
  flex-grow: 0;
  flex-shrink: 0;
}

ul.menu-content li ul.menu-content {
  margin-left: 20px;
  border-bottom: 1px solid #ddd;
}

.mobile-menu .mobile-menu-container ul li a.menu-title {
  border-top: 1px solid #d1d1d1;
  background-color: #f5f5f5 !important;
  padding: 17px 1.25em;
}
.mobile-menu .mobile-menu-container ul li a.menu-title.menu-item,
.mobile-menu .mobile-menu-container ul li a.menu-item {
  border-top: none;
  background-color: #eee !important;
  padding: 13.5px 1.4em;
}
.mobile-menu .mobile-menu-container ul li a.menu-item.item_child {
  padding: 9px 1.3em;
}
.mobile-menu .mobile-menu-container ul li.harf a {
  padding: 19px 1.68em;
}
.mobile-menu .mobile-menu-container ul li:last-child a.menu-item.item_child {
  border-bottom: none;
}

.mobile-menu-container .menu-inner > li > a.menu-title + .menu-content {
  border-top: 1px solid #d1d1d1;
}
.mobile-menu .mobile-menu-container ul li.harf div,
#menu {
  border-color: #d1d1d1;
}
#menu .external-link:after {
  position: static;
  transform: none;
  margin-right: 0;
  margin-left: 5px;
}
.mobile-search-mini .search-input {
  border-color: #d1d1d1;
  background-color: #eee;
}
.mobile-search-mini .search-input input[type="text"] {
  background-color: #eee;
}
.search-input-btn {
  background-color: #eee;
}

.mobile-menu {
  background-color: #f5f5f5 !important;
}
