@charset "utf-8";

@import url("reset.css");

/* -------------------------------
   BASE
------------------------------- */

/* margin */
.mt-60 {margin-top:-60px!important;}
.mt-50 {margin-top:-50px!important;}
.mt-40 {margin-top:-40px!important;}
.mt-30 {margin-top:-30px!important;}
.mt-20 {margin-top:-20px!important;}
.mt-10 {margin-top:-10px!important;}
.mt0 {margin-top:0!important;}
.mt5 {margin-top:5px!important;}
.mt10 {margin-top:10px!important;}
.mt15 {margin-top:15px!important;}
.mt20 {margin-top:20px!important;}
.mt25 {margin-top:25px!important;}
.mt30 {margin-top:30px!important;}
.mt40 {margin-top:40px!important;}
.mt50 {margin-top:50px!important;}
.mt60 {margin-top:60px!important;}
.mt70 {margin-top:70px!important;}

/* float */
.left { float:left;}
.right { float:right;}
.fNone { float:none!important;}
.clear { clear:both; }

/* align */
.tLeft { text-align:left!important;}
.tCenter { text-align:center!important;}
.tRight { text-align:right!important;}
.vTop { vertical-align:top!important;}
.vMiddle { vertical-align:middle!important;}
.vBottom { vertical-align:bottom!important;}

.nowrap { white-space:nowrap; }

/* color */
.blue { color:#144398;}
.red { color:#A30035;}
.green { color:#AEC533;}
.pink { color:#EA609E;}

/* text */
.normal { font-weight:normal; }
.bold { font-weight:bold; }
.f10 { font-size:10px!important;}
.f11 { font-size:11px!important;}
.f12 { font-size:12px!important;}
.f13 { font-size:13px!important;}
.f15 { font-size:15px!important;}
.f16 { font-size:16px!important;}
.f18 { font-size:18px!important;}
.lh10 { line-height:1!important;}
.lh12 { line-height:1.2!important;}
.lh15 { line-height:1.5!important;}
.lh18 { line-height:1.8!important;}
.lh20 { line-height:2!important;}
.gothic { font-family:Arial,Verdana,Helvetica,Roboto,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro','Meiryo UI','メイリオ',Meiryo,'游ゴシック','Yu Gothic',sans-serif;}
.serif { font-family:Georgia,'Times New Roman','ヒラギノ明朝 ProN W3','Hiragino Mincho ProN','ヒラギノ明朝 Pro','Hiragino Mincho Pro','游明朝','Yu Mincho',HG明朝B,'ＭＳ Ｐ明朝','ＭＳ 明朝',serif;}

/* color */
.block { display:block!important;}
.inline { display:inline!important;}
.inlineBlock { display:inline-block!important;}

/* link */
a {color: #333;text-decoration:underline;}
a:hover {color: #333;text-decoration:none;}

/* transition */
.transition05 {
	-moz-transition-duration:0.5s;
	-o-transition-duration:0.5s;
	-ms-transition-duration:0.5s;
	transition-duration:0.5s;
}


/* -------------------------------
   common
------------------------------- */

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	background: #fff;
	background-image: -webkit-gradient(
			linear,
			left bottom,
			left top,
			color-stop(0, rgb(255,255,255)),
			color-stop(1, rgb(240,240,240))
	);
	background-image: -moz-linear-gradient(
			center bottom,
			rgb(255,255,255) 0%,
			rgb(240,240,240) 100%
	);
	background-attachment: fixed !important;
	font-family:'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro','Meiryo UI','メイリオ',Meiryo,'游ゴシック','Yu Gothic',sans-serif;
}
body {
	font-size:14px;
	line-height:1.5;
}
#wrap {
	padding-bottom: 45px;
}
img {
	max-width: 100%;
	width: auto;
	max-height: 100%;
	height: auto;
}


/* -------------------------------
   header
------------------------------- */

#search-form {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	background: rgba(255,255,255,0.95);
	width: 100%;
	padding: 10px 20px;
	box-shadow: 0 0 10px 0 rgba(0,0,0,.15);
}
#search-form input[type="search"] {
  background-color: #EEE;
  line-height: 40px;
  border-radius: 40px 0 0 40px;
  border: none;
  padding: 0 10px 0 20px;
  width: 240px;
}
#search-form button[type="submit"] {
  background-color: #000;
  color: #FFF;
  line-height: 40px;
  border-radius: 0 40px 40px 0;
  border: none;
  padding: 0 20px;
  width: 80px;
  white-space: nowrap;
}
#header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,0.95);
	width: 100%;
	padding: 10px 20px;
	z-index: 9;
}
#header h1 {
	font-size: 0;
}
#header img {
	width: auto;
	height: 25px;
}
#header a {
	display: block;
	color: #FFF;
	border: 1px solid #FFF;
	padding: 4px 10px;
	text-decoration: none;
	line-height: 15px;
}


/* -------------------------------
   contents
------------------------------- */

#contents {
	padding: 20px;
}

@media screen and (max-width: 640px) {
#contents {
	padding: 20px 10px;
}
}
@media screen and (max-width: 480px) {
#contents {
	padding: 20px 5px;
}
}
#search-form + .catItems {
  margin-top: 60px;
}
.catItems {
	background: rgba(255,255,255,0.5);
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.05);
	padding: 20px;
}
.catItems:nth-child(n+2) {
	margin-top: 20px;
}
.catItems h2.tit {
	padding-bottom: 10px;
	border-bottom: 1px solid #CCC;
	margin-bottom: 20px;
}
.catItems section {
	margin-top: 20px;
}
.catItems h3.tit {
	padding: 10px;
	background: #EEE;
	margin-bottom: 20px;
}
.catItems ul {
	display: flex;
	flex-wrap: wrap;
	margin: -5px;
}
.catItems li {
	width: 25%;
	padding: 5px;
}
.catItems li a {
	display: block;
	min-height: 100%;
	border: 1px solid #EEE;
	padding: 5px;
	text-decoration: none;
}
.catItems li figure {
	position: relative;
	padding-top: calc(100% / 3 * 2);
	margin-bottom: 5px;
}
.catItems li img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
@media screen and (max-width: 640px) {
.catItems li {
	width: 33.3333%;
	padding: 5px;
}
}
@media screen and (max-width: 480px) {
.catItems li {
	width: 50%;
	padding: 5px;
}
}


/* -------------------------------
   detail
------------------------------- */

#itemDetail {
	width: 100%;
}
#itemDetail header .eyecatch {
	float: left;
	width: 50%;
  text-align: center;
}
#itemDetail header .eyecatch a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 66.6666%;
  background-color: #FFF;
}
#itemDetail header .eyecatch a img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#itemDetail header .tit,
#itemDetail header p {
	float: right;
	width: calc(50% - 20px);
	margin-top: 10px;
}
#itemDetail .btns {
  display: flex;
  justify-content: center;
  grid-gap: 10px;
}
#itemDetail .btn {
  text-align: center;
	margin-top: 20px;
}
#itemDetail .btn a {
  display: block;
  background-color: #000;
  color: #FFF;
  max-width: 320px;
  padding: 20px;
  border-radius: 5px;
  text-decoration: none;
  margin: 0 auto;
}
#itemDetail dt {
	background: #EEE;
	padding: 10px;
	margin-top: 20px;
	margin-bottom: 10px;
}
#itemDetail dd {
	overflow: auto;
}
#itemDetail dd ul {
	display: flex;
	flex-wrap: wrap;
	margin-left: -10px;
}
#itemDetail dd li {
	width: 20%;
	padding-left: 10px;
}
#itemDetail dd li:nth-child(n+6) {
	margin-top: 10px;
}
@media screen and (max-width: 640px) {
#itemDetail header .eyecatch,
#itemDetail header .tit,
#itemDetail header p {
	float: none;
	width: 100%;
}
#itemDetail header .eyecatch {
  margin: 20px 0;
}
#itemDetail dd li {
	width: 33.3333%;
}
#itemDetail dd li:nth-child(n+4) {
	margin-top: 10px;
}
}
@media screen and (max-width: 480px) {
#itemDetail dd li {
	width: 50%;
}
#itemDetail dd li:nth-child(n+3) {
	margin-top: 10px;
}
}
aside {
	position: fixed;
	top: 0;
	right: 0;
	width: 20%;
	height: calc(100% - 45px);
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.05);
	background: #FFF;
	padding: 50px 10px 10px 10px;
	z-index: 8;
	overflow: auto;
}
aside:before {
	position: fixed;
	top: 0;
	right: 0;
	width: 20%;
	height: 40px;
	line-height: 40px;
	content: '納入事例';
	text-align: center;
	background: #FFF;
	border-bottom: 1px solid #EEE;
}
aside li:nth-child(n+2) {
	margin-top: 10px;
}

.vbox-container img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	max-width: calc(100% - 80px);
	max-height: calc(100% - 80px);
}
.vbox-container,
.vbox-content {
	height: 100%;
	margin: 0 auto!important;
	background: none!important;
}