@charset "utf-8";

/* !background
---------------------------------------------------------- */
#header + div {
	background-color: #fff;
}

/* !common
---------------------------------------------------------- */
#header .ico {
	margin-left: 5px;
	vertical-align: baseline;
}

/* !header
---------------------------------------------------------- */
#header {
	padding-top: 30px;
	width: 100%;
	min-width: 980px;
	background-color: #fff;
	color: #333;
	text-align: left;
}
	#header a {
		color: #333;
	}

  #headerLogo a {
    display: flex;
    align-items: center;
    gap: 20px;
  }

	#headerContent {
		margin: 0 auto;
		width: 980px;
		text-align: left;
		display: block;
		min-height: 1%;
	}
	#headerContent:after {
		clear: both;
		content:".";
		display: block;
		height: 0;
		visibility: hidden;
	}
		#headerLogo {
			float: left;
		}
		#headerSearch {
			float: right;
			margin-top: 3px;
			width: 230px;
			height: 35px;
			position: relative;
		}
			#headerSearch input {
				position: absolute;
				top: 0;
				outline: none;
			}
			#headerSearch input[type=text] {
				padding: 10px 5px;
				width: 195px;
				height: 15px;
				line-height: 15px;
				background-color: #e5e5e5;
				border: none;
				left: 0;
			}
			#headerSearch input[type=submit] {
				left: 195px;
				width: 35px;
				height: 35px;
				text-indent: -9999px;
				background: url(/common/images/header/btn_header_search01.gif) no-repeat left top;
				border: none;
				cursor: pointer;
			}
		#headerLinks {
			float: right;
      width: 230px;
			display: block;
			min-height: 1%;
      margin-top: 10px;
		}
		#headerLinks:after {
			clear: both;
			content:".";
			display: block;
			height: 0;
			visibility: hidden;
		}
			#headerLinks li {
				float: right;
				padding: 0 20px 0 15px;
				background: url(/common/images/header/ico_header_arrow01.png) no-repeat left 0.45em;
				line-height: 1.5;
			}
				#headerLinks li a {
					font-size: 85.71%;
					text-decoration: none;
				}
				#headerLinks li a:hover,
				#headerLinks li a:focus {
					text-decoration: underline;
				}
	#headerMenuBtn {
		display: none;	
	}
/* is-fixed */
#header.is-fixed:not(.is-rw) {
    height: 51px;
    padding: 0;
    position: fixed;
    top: -150px;
    z-index: 10000;
}
    #header.is-fixed:not(.is-rw) #headerContent {
        position: relative;
    }
    #header.is-fixed:not(.is-rw) #headerLogo {
        margin-top: 12px;
    }
        #header.is-fixed:not(.is-rw) #headerLogo img {
            width: 120px;
            height:auto;
        }
        #header.is-fixed:not(.is-rw) #headerLogo img:last-child {
          width: 200px;
        }
        #header.is-fixed #headerLogo img,
        #header.is-fixed #headerLinks li {
                display: none;
        }
        #header.is-fixed #headerLogo img:first-child {
          display:inline-block;
        }
		#header.is-fixed:not(.is-rw) #headerLinks {
            width: 290px;
        }
		#header.is-fixed:not(.is-rw) #headerSearch {
            width: 170px;
            position: absolute;
            right: 0;
            top: 8px;
            margin: 0;
            padding: 0;
        }
            #header.is-fixed:not(.is-rw) #headerSearch input[type=text] {
                width: 125px;
            }
            #header.is-fixed:not(.is-rw) #headerSearch input[type=submit] {
                left: 135px;
            }
    #header.is-fixed:not(.is-rw) #headerSearch form .close {
      display:block;
      position:absolute;
      right: -220px;
      top: 0;
      cursor:pointer;
    }
		#header.is-fixed:not(.is-rw) #headerLinks li:first-child {
            display: block;
            margin: 5px 190px 0 0;
            padding-right: 0;
		}
            #header.is-fixed:not(.is-rw) #headerLinks li:first-child a {
                font-size: 79%;
            }
        .js-search-trigger-rw {
            display: none;
        }

/* !gNavi
---------------------------------------------------------- */
#gNavi {
	display: block;
	margin-top: 29px;
  border-bottom: 1px solid #ccc;
}
	#gNavi ul {
		display: flex;
    justify-content: center;
		margin: 0 auto;
		/* width: 980px; */
    max-width: 785px;
		height: 49px;
		position: relative;
		z-index: 10001;
	}
 #gNavi ul:before {
    position: absolute;
    left:0;
    top: 0;
    width: 1px;
    height: 39px;
    background-color: #c6c6c6;
    content: "";
}

		#gNavi li {
    overflow: hidden;
    position: relative;
    float: left;
    width: 196px;
    height: 49px;
		}
  #gNavi li:first-child {
    margin-left: 1px;
    width: 195px;
  }
  #gNavi li:after {
    position: absolute;
    right:0;
    top: 0;
    width: 1px;
    height: 39px;
    background-color: #c6c6c6;
    content: "";
  }
			#gNavi li a {
     margin-right: 1px;
     display: -webkit-flex;
     display: flex;
     -webkit-align-items: center;
     align-items: center;
     -webkit-justify-content: center;
     justify-content: center;
     height: 39px;
     padding-bottom: 10px;
     text-align: center;
     font-size: 15px;
     font-weight: bold;
     position: relative;
     text-decoration: none;
     line-height: 1.3;
			}
   #gNavi li.current a { padding-bottom: 0; }
   #gNavi li.current a:hover,
   #gNavi li.current.active a { padding-bottom: 10px; }
   #gNavi li.active a,
   #gNavi li a:hover {
     background-color: #333 !important;
     color: #fff;
   }
   #gNavi li.current a {
     /* background-color: #f0f0f0 !important; */
      background-color: #f0f0f0 !important;
   }
   #gNavi li.current a:hover,
   #gNavi li.current.active a {
     background-color: #333 !important;
   }

/* is-fixed */
#header.is-fixed:not(.is-rw) #gNavi {
    width: 980px;
    margin: -35px auto 0;
}
    #header.is-fixed:not(.is-rw) #gNavi ul {
        width: 546px;
        height: 44px;
        margin-left: 140px;
    }
    #header.is-fixed:not(.is-rw) #gNavi ul:before,
    #header.is-fixed:not(.is-rw) #gNavi li:after {
       height: 35px;
}
        #header.is-fixed:not(.is-rw) #gNavi ul li {
            width: 109px;
            height: 44px;
        }
			#header.is-fixed:not(.is-rw) #gNavi li a {
				height: 35px;
    padding-bottom: 9px;
    font-size: 12px;
			}

/* !dropMenu
---------------------------------------------------------- */
#dropMenuWrap {
	margin-top: -1px;
	width: 100%;
	min-width: 980px;
	background-color: #333;
	border-top: 1px solid #ccc;
	position: absolute;
	z-index: 10000;
	overflow: hidden;
}
	#dropMenu {
		display: none;
		margin: 0 auto;
		width: 980px;
	}
		#dropMenu > li {
			display: none;
			padding: 32px 0 40px;
			min-height: 1%;
		}
		#dropMenu > li:after {
			clear: both;
			content:".";
			display: block;
			height: 0;
			visibility: hidden;
		}
			#dropMenu .dropMenuHeader01 {
				margin-bottom: 35px;
				display: block;
				min-height: 1%;
			}
			#dropMenu .dropMenuHeader01:after {
				clear: both;
				content:".";
				display: block;
				height: 0;
				visibility: hidden;
			}
				#dropMenu .dropMenuHeader01 .category {
					float: left;
					color: #fff;
					font-size: 142.85%;
					font-weight: bold;
				}
					#dropMenu .dropMenuHeader01 .category a {
						padding-left: 18px;
						background: url(/common/images/header/ico_header_arrow02.png) no-repeat left center;
						color: #fff;
						text-decoration: none;
					}
					#dropMenu .dropMenuHeader01 .category a:hover,
					#dropMenu .dropMenuHeader01 .category a:focus {
						text-decoration: underline;
					}
				#dropMenu .dropMenuHeader01 .close {
					float: right;
					cursor: pointer;
				}
					#dropMenu .dropMenuHeader01 .close img {
						width: 31px;
						height: 32px;
					}
			#dropMenu .dropMenuContent01 {
				margin-right: -23px;
				display: block;
				min-height: 1%;
			}
			#dropMenu .dropMenuContent01:after {
				clear: both;
				content:".";
				display: block;
				height: 0;
				visibility: hidden;
			}
				#dropMenu .dropMenuContent01 > li {
					float: left;
					margin-right: 20px;
					width: 230px !important;
				}
				#dropMenu .dropMenuContent01 > li.colspan2 { width: 480px !important; }
				#dropMenu .dropMenuContent01 > li.colspan3 { width: 730px !important; }
			#dropMenu .btnBox01 {
				display: block;
				text-decoration: none;
			}
			#dropMenu .btnBox01 img {
				filter: alpha(opacity=100);
				-moz-opacity: 1;
				opacity: 1;
			}
			#dropMenu .btnBox01:hover img {
				filter: alpha(opacity=85);
				-moz-opacity: 0.85;
				opacity: 0.85;
			}
				#dropMenu .btnBox01 .txtBox {
					display: table;					
					width: 100%;
					background-color: #222;
					color: #fff;
				}
				#dropMenu .btnBox01:hover .txtBox {	background-color: #444;	}
					#dropMenu .btnBox01 .txtBox .inner {
						display: table-cell;
						padding: 0 0 0 14px;
						vertical-align: middle;
					}
						#dropMenu .btnBox01 .inner .tit {
							padding: 2px 0 0 15px;
							background: url(/cms/common/images/header/ico_header_arrow02.png) no-repeat left 54%;
							font-size: 114.28%;
						}
						#dropMenu .btnBox01 .inner .titM  { font-size: 100%;}
						#dropMenu .btnBox01 .inner .titM  span { font-size: 80%;}
						#dropMenu .btnBox01 .inner .titM  .ico { margin-left: 0;}
						#dropMenu .btnBox01 .inner .txt {
							font-size: 85.71%;
							margin: 16px 0 0 16px;
						}
				#dropMenu .btnBox01.type01 {
				}
					#dropMenu .btnBox01.type01 .inner {
						height: 55px;
					}
				#dropMenu .btnBox01.type02 {
					margin-top: 20px;
					position:relative;
				}
				#dropMenu .btnBox01.type02:first-child {
					margin-top: 0;	
				}
					#dropMenu .btnBox01.type02 .img {
						position: absolute;
						left: 0;
						top: 0;
					}
					#dropMenu .btnBox01.type02 .inner {
						padding-left: 98px;
						height: 90px;
					}
					#dropMenu .colspan3 .btnBox01.type02 .inner {
						padding-left: 312px;
						height: 200px;
					}
						#dropMenu .btnBox01.type02 .inner .tit {
							color: #e5e5e5;
							font-size: 87.5%;
						}
						#dropMenu #menu04 .btnBox01.type02 .inner .tit {
							font-size: 114.28%;
						}
						#dropMenu li.colspan3 .btnBox01.type02 .inner .tit {
							color: #fff;
						}		
			#dropMenu .list01 {
			}
				#dropMenu .list01 li {
					display: table;
					padding: 10px 0 8px 31px;
					width: 100%;
					box-sizing: border-box;
					-moz-box-sizing: border-box;
					-webkit-box-sizing: border-box;
					border-bottom: 1px solid #666;
					background: url(/common/images/header/ico_header_arrow02.png) no-repeat 10px 53%;
					font-weight: bold;
				}
				#dropMenu .list01 li:first-child {
					border-top: 1px solid #666;
				}
					#dropMenu .list01 li a {
						display: table-cell;
						vertical-align: middle;
						color: #fff;
						text-decoration:none;
					}
					#dropMenu .list01 li:hover {
						background-color: #444;
					}
/* !mobile-menu
---------------------------------------------------------- */
.mobile-menu {
    display: block;
    background-color: white;
    position: fixed;
    z-index: 10001;
    top: 0 !important;
    right: -270px;
    width: 270px;
    padding-top: 0 !important;
    padding-bottom: 20px;
    font-weight: bold;
    min-height: 100%;
  }
.mobile-menu + div {
    background-color: #fff;
  }
  .mobile-menu.header-fixed {
    top: 90px;
  }
  .mobile-menu.open {
    right: 0;
  }
  .mobile-menu .mobile-menu-container {
    overflow: hidden;
    overflow-y: auto;
    background: #333;
    position: absolute;
    text-align: left;
 }
  .mobile-menu .mobile-menu-container::-webkit-scrollbar {
    right: 0;
    width: 3px;
  }
  .mobile-menu .mobile-menu-container::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    -webkit-border-radius: 10px;
    border-radius: 10px;
  }
  .mobile-menu .mobile-menu-container::-webkit-scrollbar-thumb{
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background: rgba(0,0,0,0.3);
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
  }
  .mobile-menu .mobile-menu-container::-webkit-scrollbar-thumb:window-inactive{
    background: rgba(0,0,0,0.0);
  }
  .mobile-menu .mobile-menu-container::-webkit-scrollbar-corner{
    background: rgba(0,0,0,0.0);
  }
  .mobile-menu .mobile-navigation {
    background: #000;
    width: 270px;
    height: 69px;
    overflow: hidden;
    border-bottom: solid 1px #4f4f4f;
  }
  .mobile-menu .mobile-navigation ul {
    float: left;
    list-style-type: none;
    margin: 16px 0;
    padding: 0 20px;
    width: 100%;
    box-sizing: border-box;

  }
  .mobile-menu .mobile-navigation ul li {
    display: block;
  }
  .mobile-menu .mobile-navigation ul li.js-mobile-menu a{
    float: right;
    margin: 0;
  }
  .mobile-menu .mobile-navigation ul li.js-mobile-menu a span{
    display: inline-block;
    width: 100%;
    height: 100%;
    background: url("/cms/common/images/header/ico_menu_close_gray01.png") no-repeat 32px center;
    -webkit-background-size: 16px 16px;
            background-size: 16px 16px;
  }
  .mobile-menu .mobile-navigation ul li a{
    position: relative;
    width: 55px;
    height: 38px;
    padding: 0;
  }

  .mobile-menu .mobile-menu-container .brand-list {
    background-position: 96% 8% !important;
  }
  .mobile-menu #SS_searchSubmit {
    margin-top: 0;
    background: url("/cms/common/images/header/ico_search_mobile_gray01.png") no-repeat 50%;
    -webkit-background-size: 20px 20px;
            background-size: 20px 20px;
  }
 #brand-list-cover{
    overflow: hidden;
    margin: 15px 10px;
    width: 250px;
  }
  #brand-list-cover  span{
    display: inline-block;
    float: left;
    width: 124px;
    height: 45px;
    margin-bottom: 1px;
  }
  #brand-list-cover  span:nth-child(odd){
      margin-right: 1px;
  }
  #brand-list-cover  span a{
    padding: 0;
    width: 124px;
    height: 45px;
    display: table-cell;
    vertical-align: middle;
  }
  #brand-list-cover  span img{
    position: relative;
    display: block;
    height: auto;
    margin: 0 auto;
    vertical-align: middle;
  }
  #brand-list-cover  span img{
    width: 124px;
    height: auto;

  }
  .mobile-menu .mobile-menu-close {
    background: url("/cms/common/images/header/ico_menu_close_gray01.png") no-repeat 93% 50%;
    -webkit-background-size: 33px 33px;
    background-size: 33px 33px;
    background-color: #333333;
    height: 50px;
    line-height: 50px;
    margin: 0;
  }
  .mobile-menu .mobile-menu-close a {
    display: block;
    padding-left: 10px;
    color: white;
  }
  .mobile-menu .mobile-menu-close:hover {
    color: #ff0000;
  }
  .mobile-menu .mobile-menu-container ul.menu-panel-root > li {
    border-bottom: 1px solid #777;
    background: url("/cms/common/images/header/ico_arrow_mobile_gray01.png") no-repeat 96% 50%;
    background-color: #333333;
    -webkit-background-size: 11px 10px;
    background-size: 11px 10px;
  }
  .mobile-menu .mobile-menu-container ul.menu-panel-root > li.normal-link {
    border-bottom: 2px solid #777;
    background: url("/cms/common/images/header/ico_arrow_mobile_red01.png") no-repeat 96% 50%;
    -webkit-background-size: 11px 14px;
    background-size: 11px 14px;
    background-color: #222 !important;
}
  .mobile-menu .mobile-menu-container ul.menu-panel li.brand-list >  a {
    border-bottom: 1px solid #4f4f4f;
  }
  .mobile-menu .mobile-menu-container ul.menu-panel > li {
    border-bottom: 1px solid #777;
    background: url("/cms/common/images/header/ico_arrow_mobile_red01.png") no-repeat 96% 50%;
    background-color: #333333;
    -webkit-background-size: 11px 14px;
    background-size: 11px 14px;
  }
  .mobile-menu .mobile-menu-container ul li.current-list {
    background-color: #222222;
  }
  .mobile-menu .mobile-menu-container ul.menu-panel li.current-list {
    border-bottom: solid 2px #777;
  }
  .mobile-menu .mobile-menu-container ul li.current,
  .mobile-menu .mobile-menu-container ul div.current {
    border-bottom: 1px solid #777;
    background: url("/cms/common/images/header/ico_arrow_mobile_red01.png") no-repeat 96% 50%;
    background-color: #333333;
    -webkit-background-size: 11px 14px;
    background-size: 11px 14px;
  }
  .mobile-menu .mobile-menu-container ul div.current {
      background-position: 91% 50%;
  }
  .mobile-menu .mobile-menu-container ul li.blank,
  .mobile-menu .mobile-menu-container ul div.blank {
    background-image: url("/cms/common/images/header/ico_external_link_red01.png");
    -webkit-background-size: 11px 10px;
            background-size: 11px 10px;
  }
  .mobile-menu .mobile-menu-container ul li.harf {
    background-color: #222;
    overflow: hidden;
    background-image: none;
  }
  .mobile-menu .mobile-menu-container ul li.harf div {
    float: left;
    width: 50%;
    background-color: #222;
    border-right: 1px solid #777;
    border-bottom: 1px solid #777;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .mobile-menu .mobile-menu-container ul li.harf div:nth-child(even) {
    border-right: none;
  }
  .mobile-menu .mobile-menu-container ul li.harf div.end {
    border-bottom: none;
  }
  .mobile-menu .mobile-menu-container ul li.harf div.line2 a {
    padding-top: 12px;
    padding-bottom: 11px;
  }
  .mobile-menu .mobile-menu-container ul li a {
    display: block;
    font-size: 12px;
    padding: 21px 30px;
    color: white;
  }
  .mobile-menu .mobile-menu-container ul li.harf a {
    padding: 21px 15px;
  }
  .mobile-menu .mobile-menu-container ul.menu-panel li a {
    padding: 21px 30px;
  }
  .mobile-menu .mobile-menu-container ul li#home-title {
    border-bottom: 2px solid #777;
    background: url("/cms/common/images/header/ico_arrow_mobile_red01.png") no-repeat 96% 50%;
    -webkit-background-size: 11px 14px;
    background-size: 11px 14px;
    background-color: #222 !important;
  }
  .mobile-menu .mobile-menu-container ul li a.menu-title {
    font-weight: bold;
    padding-bottom: 20px;
  }
  .mobile-menu .mobile-menu-container ul.menu-panel > li .sub-list {
    border-top: 1px solid #4f4f4f;
    padding-left: 40px;
    margin-top: -1px;
  }
    .mobile-menu .mobile-menu-container ul.menu-panel > li .sub-list > span {
      display: block;
      border-bottom: 1px solid #4f4f4f;
      background: url("/cms/common/images/header/ico_arrow_mobile_red01.png") no-repeat 96% 50%;
      -webkit-background-size: 11px 14px;
      background-size: 11px 14px;
    }
    .mobile-menu .mobile-menu-container ul.menu-panel > li .sub-list > span.blank {
        background-image: url("/cms/common/images/header/ico_external_link_red01.png");
        -webkit-background-size: 11px 10px;
                background-size: 11px 10px;
    }
    .mobile-menu .mobile-menu-container ul.menu-panel > li .sub-list > span:last-child {
      border-bottom: none;
    }
        .mobile-menu .mobile-menu-container ul.menu-panel > li .sub-list > span a {
          padding-left: 8px;
        }

  .menu-shadow-box {
    width: 11px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-box-shadow:4px 0 5px #161616 inset;
            box-shadow:4px 0 5px #161616 inset;
  }
  .bg-shadow-box {
    background: rgba(0,0,0,0.5);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    z-index: -100;
  }
 #menu {
    width: 270px;
    margin: 0 auto;
    background: #333;
    position: relative;
  }
  .sliding-menu {
    overflow: hidden;
    position: relative;
    height: 100%;
  }

  .sliding-menu ul {
    float: left;
    margin: 0;
    padding: 0;
  }

  .sliding-menu li {
    list-style: none;
    margin: 0 0;
    padding: 0;
  }

  .sliding-menu a {
    display: block;
    padding: 1em;
    color: #3366CC;
    text-decoration: none;
  }

  .sliding-menu a.nav:before {
    float: right;
    margin-left: 1em;
  }

  .sliding-menu a.back {
    background: #333;
    border-bottom: 2px solid #777777;
    color: #FFF;
    font-size: 14px;
    padding: 22px 0px 22px 30px;
    font-weight: normal;
    background: url("/cms/common/images/header/ico_arrow_mobile_gray02.png") no-repeat 5% 50%;
    background-color: #000;
    -webkit-background-size: 11px 14px;
    background-size: 11px 14px;
  }
  .sliding-menu a.back:hover {
    color: #ff0000;
  }

  .sliding-menu a.back:before {
    float: left;
    margin-right: 1em;
  }


  .mobile-search {
    -webkit-transition: left 0.25s ease-out;
    transition: left 0.25s ease-out;
    position: fixed;
    z-index: 1001;
    top: 91px;
    left: 480px;
    color: #333333;
    background-color: white;
    width: 480px;
    font-size: 112.5%;
    padding: 2em 0;
    text-align: center;
  }

  .mobile-search.open {
    left: 0;
  }
  .mobile-search .search-input {
    display: table;
    margin-left: 1.5em;
    border: 1px solid #333333;
    font-size:16px;
  }
  .mobile-search .search-input input[type="text"] {
    font-size: 143.75%;
    width: 350px;
    padding-left: 8px;
    font-weight: bold;
    height: 2em;
    display: table-cell;
  }
  .mobile-search .search-input span {
    display: table-cell;
    padding: 0 20px;
    vertical-align: middle;
    line-height: 1em;
    border-left: 1px solid #333333;
    height: 2em;
  }


  .mobile-search .search-input input[type="submit"] {
    display: inline-block;
    text-indent: -9999px;
  }
  .mobile-search-mini {
    float: left;
  }
  .mobile-search-mini .search-input {
    display: table;
    margin-left: 10px;
    border: 1px solid #4f4f4f;
    background: #333;
    color: #999;
    font-size:12px;
  }
  .mobile-search-mini .search-input input[type="text"] {
    font-size: 12px;
    width: 134px;
    padding: 0 0 0 8px;
    font-weight: bold;
    height: 38px;
    line-height: 1.2;
    display: table-cell;
    color: #fff !important;
    border: none;
    background: none;
    -webkit-appearance: none;
  }
  .mobile-search-mini .search-input span {
    display: table-cell;
    width: 50px;
    vertical-align: middle;
    line-height: 1em;
    border-left: 1px solid #4f4f4f;
    height: 2em;
    background: #222;
  }
  .mobile-search-mini .search-input input[type="submit"] {
    width: 50px;
    height: 38px;
    display: inline-block;
    text-indent: -9999px;
    -webkit-appearance: button;
    cursor: pointer;
    border: none;

  }
  .mobile-search-mini .SS_searchQuery {
    color: #999;
  }

