/* sm-core-css */

.sm{box-sizing:border-box;position:relative;z-index:9999;-webkit-tap-highlight-color:rgba(0,0,0,0);}
.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;}
.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right;}
.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0;}
.sm ul{display:none;}
.sm li,.sm a{position:relative;}
.sm a{display:block;}
.sm a.disabled{cursor:default;}
.sm::after{content:"";display:block;height:0;font:0px/0 serif;clear:both;overflow:hidden;}
.sm *,.sm *::before,.sm *::after{box-sizing:inherit;}

/* sm-clean.css */

#main-menu {
	width: 100%;
	float: left;
	margin-right: 0;
	padding-right: 0;
	box-sizing: border-box;
	margin-top: 0px;

}

/* Mobile menu toggle button */
.main-menu-btn {
  float: right;
  margin: 0 10px 14px;
  position: relative;
  display: inline-block;
  width: 29px;
  height: 29px;
  text-indent: 29px;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* = icon */
.main-menu-btn-icon,
.main-menu-btn-icon:before,
.main-menu-btn-icon:after {
  position: absolute;
  top: 50%;
  left: 2px;
  height: 2px;
  width: 24px;
  background: #333;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}
.main-menu-btn-icon:before {
  content: '';
  top: -7px;
  left: 0;
}
.main-menu-btn-icon:after {
  content: '';
  top: 7px;
  left: 0;
}

/* x icon */
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon {
  height: 0;
  background: transparent;
}
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before {
  top: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after {
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* hide menu state checkbox (keep it visible to screen readers) */
#main-menu-state {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

/* hide the menu in mobile view */
#main-menu-state:not(:checked) ~ #main-menu {
  display: none;
}
#main-menu-state:checked ~ #main-menu {
  display: block;
}

.sm-clean a {
  font-size: 14px;
	padding: 12px;
}

.sm-clean a:active {
	background-color: #eee;
}

.sm-clean a.spMember {
	background-color: #f5f5f5;
}

.sm-clean a.spMember:active {
	background-color: #e5e5e5;
}

/* +-繧｢繧､繧ｳ繝ｳ */
.sm-clean a .sub-arrow {
  position: absolute;
  top: 50%;
  margin-top: -17px;
  left: auto;
  right: 4px;
  width: 34px;
  height: 34px;
  overflow: hidden;
  font: bold 16px/30px "Lucida Grande",monospace !important;
  text-align: center;
}
.sm-clean a .sub-arrow::before {
  content: '+';
}
.sm-clean a.highlighted .sub-arrow::before {
  content: '-';
}

.sm-clean > li {
  border-top: 1px solid #eee;

}
.sm-clean > li:first-child {
  border-top: 1;
}
.sm-clean ul {
  background: #f5f5f5;
	padding: 3%;
}

.menuSubWrapper {
	display: inline-block;
	width: 100%;
}

.sm-clean .menuSub {
	float: left;
	margin-right: 0;
}

.sm-clean .menuSub:nth-child(1) {
	width: 57%;
	margin-bottom: 6%;
	margin-right: 3%;
}
.sm-clean .menuSub:nth-child(2) {
	width: 40%;
}
.sm-clean .menuSub:nth-child(3) {
	width: 57%;
	clear: both;
	margin-right: 3%;
}
.sm-clean .menuSub:nth-child(4) {
	width: 40%;
}

.sm-clean .menuSubtitle {
	font-weight: bold;
}

.sm-clean .menuSub a {
	background: url(../image/common/arrow.svg) 2px center no-repeat;
	background-size: 4px 7px;
	padding-left: 12px;
	padding-top: 4px;
	padding-bottom: 4px;
	font-size: 12px;
	margin-top: 6px;
	margin-bottom: 6px;
}

.sm-clean .menuSub a:active {
	background-color: #ddd;
	color: #000;
}

header .headerMain input#searchBox {
	padding: 10px 40px 10px 10px; 
	position: relative;
	left:0;
	top:0; 
	border-radius:30px;
	outline:0;
	border: 1px solid #d3d3d3;
	width: 96%;
	margin: 10px 2%;
	-webkit-appearance: none;
	font-size: 16px;
}

header .headerMain button#searchButton {
	height: 36px;
	border:none;
	font-size:16px;
	position: absolute;
	padding-left: 10px;
	top: 13px;
	right: 16px;
	padding-right: 10px;
}

@media (min-width: 640px) {
  /* Switch to desktop layout
  -----------------------------------------------
     These transform the menu tree from
     collapsible to desktop (navbar + dropdowns)
  -----------------------------------------------*/
  /* start... (it's not recommended editing these rules) */
	
	ul#main-menu {
		width: 96%;
		float: right;
		margin-right: -300px;
		padding-right: 300px;
		box-sizing: border-box;
		margin-top: 10px;
		border-left: 1px solid #000;
	}
	
	.main-menu-btn {
	  position: absolute;
	  top: -99999px;
	}
	/* always show the menu in desktop view */
	#main-menu-state:not(:checked) ~ #main-menu {
	  display: block;
	}
	
	.sm-clean ul {
	  position: absolute;
	}
	
	.sm-clean > li 	{
		float: left;
		width: 16.5%;
		text-align: center;
		border-right: 1px solid #000;
	}
	
	.sm-clean a .sub-arrow::before {
    display: none;
  }
	
	.sm-clean a:hover {
		background-color: #fff;
	}
	
	.sm-clean a:active {
  	background-color: #fff;
  }
	
	.sm-clean li {
    border-top: 0;
	}
	
	/* 蜷ｹ縺榊�ｺ縺� 荳芽ｧ貞､� */
  .sm-clean ul li::before,
  .sm-clean ul li::after {
    content: '';
    position: absolute;
    top: -18px;
    left: 10px;
    width: 0;
    height: 0;
    overflow: hidden;
    border-width: 9px;
    border-style: dashed dashed solid dashed;
    border-color: transparent transparent #bbbbbb transparent;
  }
	
	/* 蜷ｹ縺榊�ｺ縺� 荳芽ｧ貞�� */
  .sm-clean ul li::after {
    top: -16px;
    left: 11px;
    border-width: 8px;
    border-color: transparent transparent #fff transparent;
  }
	
	/* 蜷ｹ縺榊�ｺ縺玲棧 */
  .sm-clean ul.mega-menu {
    border: 1px solid #bbbbbb;
		background: #fff;
    border-radius: 5px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
		padding: 0;
	}
	
	/* 蜷ｹ縺榊�ｺ縺怜�� */
  .sm-clean a {
    border: 0 !important;
		padding-top: 2px;
		padding-bottom: 2px;
		font-weight: normal;
		font-style: normal;
	}
	
	.sm-clean .menuSubWrapper {
		margin: 20px 0 20px 20px;
		width: 550px;
		max-width: 100%;
	}
	
	.sm-clean .menuSub {
		float: left;
		width: 200px;
		margin: 0;
	}
	
	.sm-clean .menuSub:nth-child(1) {
		width: auto;
		margin-bottom: 0%;
		float: left;
		margin-right: 70px;
	}
	.sm-clean .menuSub:nth-child(2) {
		width: auto;
		float: left;
		margin-right: 100px;
	}
	.sm-clean .menuSub:nth-child(3) {
		width: auto;
		float: left;
		clear: none;
		margin-bottom: 30px;
		margin-right: 30px;
	}
	.sm-clean .menuSub:nth-child(4) {
		width: auto;
		float: left;
		margin-right: 30px;
	}
	
	li.onlySP {
		display: none;
	}
	
}