@charset "utf-8";
.top-kv_menu {
	display: none;
}
.top-kv_menu.active {
	box-sizing: border-box;
	color: #2a313c;
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	height: 100%;
	justify-content: flex-start;
	margin: 0 auto;
	position: absolute;
	top: 0;
	left: 232px;
	z-index: 99;
}
.top-kv_menu * {
	box-sizing: border-box;
	line-height: 1.6;
	position: relative;
	text-align: left;
}
.top-kv_menu .cat {
  background-color: #e8e8e8;
  border: solid 1px #000;
  border-bottom-style: none;
	border-right-style: none;
  margin: 0;
  max-height: 298px;
  padding: 0;
  width: 180px;
}
.top-kv_menu .cat li {
  align-items: center;
  border: solid 1px #000;
  border-top-style: none;
	border-left-style: none;
	cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  font-weight: bold;
  height: calc(297px / 6);
  justify-content: flex-start;
  list-style: none;
  margin: 0;
  padding: 0 7px;
}
.top-kv_menu .cat li.active {
	background-color: #fff;
	border-right-style: none;
}
.top-kv_menu .cat li::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 100%;
  margin-right: 5px;
  width: 35px;
}
.top-kv_menu .cat li.note::before {
  background-image: url("/parts/top/top-kv_menu/icon_note.svg");
}
.top-kv_menu .cat li.desk::before {
  background-image: url("/parts/top/top-kv_menu/icon_desk.svg");
}
.top-kv_menu .cat li.office::before {
  background-image: url("/parts/top/top-kv_menu/icon_office.svg");
}
.top-kv_menu .cat li.mobile::before {
  background-image: url("/parts/top/top-kv_menu/icon_mobile.svg");
}
.top-kv_menu .cat li.peripheral::before {
  background-image: url("/parts/top/top-kv_menu/icon_peripheral.svg");
}
.top-kv_menu .cat li.service::before {
  background-image: url("/parts/top/top-kv_menu/icon_service.svg");
}
.top-kv_menu > div {
	display: none;
}
.top-kv_menu > div.active {
  align-items: center;
	background-color: #FFF;
	border: solid 1px #000;
	border-left: none;
	display: flex;
	flex-wrap: wrap;
	height: 298px;
	justify-content: flex-start;
	padding: 10px 20px;
	width: 600px;
}
.top-kv_menu > div a {
	color: #000;
	opacity: 1;
	text-decoration: none;
}
.top-kv_menu > div a:hover {
	opacity: 0.8;
}
.top-kv_menu > div p.all {
	display: flex;
	flex-wrap: wrap;
	font-size: 16px;
	font-weight: bold;
	justify-content: flex-start;
	margin: 0;
	padding: 0;
	width: 100%;
}
.top-kv_menu > div p.all::after {
	background-image: url("/img/design/icn/arrow-right-b.png");
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	margin-left: 5px;
	width: 11px;
}
.top-kv_menu > div dl {
	margin: 0;
	padding: 0;
	width: 50%;
}
.top-kv_menu > div dt {
	font-weight: bold;
	margin: 0;
	padding: 0;
	width: 100%;
}
.top-kv_menu > div dl > div {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	height: 90px;
}
.top-kv_menu > div dl:nth-of-type(n+3) > div {
	height: 60px;
}
.top-kv_menu > div dd {
	display: flex;
	justify-content: flex-start;
	margin: 3px 0 0 0;
	padding: 0;
	width: 50%;
}
.top-kv_menu > div dd::before {
	background-image: url("/img/design/icn/arrow-right-b.png");
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	margin-right: 5px;
	width: 11px;
}
.top-kv_menu > div ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.top-kv_menu > .peripheral ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
}
.top-kv_menu > .peripheral li {
	display: flex;
	justify-content: flex-start;
	padding: 5px 0;
	width: calc(100%/3);
}
.top-kv_menu > .peripheral li::before {
	background-image: url("/img/design/icn/arrow-right-b.png");
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	margin-right: 5px;
	width: 11px;
}
.top-kv_menu > .service ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top-kv_menu > .service li {
	margin: 0;
	padding: 5px 0;
	width: 48%;
}
.top-kv_menu > .service img {
	height: auto;
	width: 100%;
}