
body{
}
#contents_area {
	/*padding: 0 0 120px 0;*/
	position: relative;
	z-index: 100;
    text-align: center;
}
.bold { font-weight: bold!important;}

/*-----------------------------------------------
main
-------------------------------------------------*/
#main {
	position: relative;
	max-width: 100%;
	padding-top: 56%; 
	margin-top: -5%;
}
#main .main_img {
	position: fixed;	
	left: 0;
	top: 0px;
	width: 100%;
	z-index: -1;
}
#main .catch {
	position: absolute;
	top: 20%;
	left:0%;
	width: 100%;
	margin: 10% auto;
}
#main .catch p {
	color: #000;
	line-height: 1.2em;
	text-align: center;
	text-shadow:0px 0px 6px #FFF;
}
/*-----------------------------------------------
main
-------------------------------------------------*/
.f-1l {
	font-size: 60px;
}
.f-2l {
	font-size: 20px;
	font-weight: bold;
}


/*-----------------------------------------------
top_section
-------------------------------------------------*/
.top_section h2{
	font-size: 30px;
	margin: 50px 0 70px;
	text-align: center;
}
.top_section h4{
	font-size: 20px;
	margin: 70px 0 20px;
}
.top_section h3{
	font-size: 24px;
	line-height: 2.0em;
	margin: 30px 0 10px;
	border-bottom: solid 2px #000;
}
.inner_wrap{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.cont_box{
	width: 100%;
	max-width: 780px;
	float: left;
	margin-bottom: 100px;
}
.cont_box p{
	font-size: 1.0em;
	line-height: 1.6em;
}

.cont_catch p{
	font-size: 16px;
	line-height: 1.7em;
	text-align: center;
}
.cont_catch .sp{
	display: none;
}
.feature{
	width:50%;
	padding: 4px;
	margin-bottom: 10px;
	background: #FFF;
	float: left;
	box-sizing: border-box;
}
.feature h4{
	margin: 0px;
	padding-top: 20px;
	font-weight: bold;
}
.feature img{
	width:100%;
}


.feature_r{
	width:780px;
	background: #FFF;
	margin-bottom: 50px;
}
.feature_r img{
	float: left;
	width:50%;
}
.feature_r_text{
	width:45%;
	max-width:385px;
	float: right;
	margin-right: 3%;
}
.feature_r h4{
	margin: 0px 0 30px;
	padding-top: 20px;
}
.feature_l{
	width:100%;
	max-width:780px;
	background: #FFF;
}
.feature_l img{
	float: right;
	width:50%;
}
.feature_l_text{
	width:45%;
	max-width:385px;
	float: left;
	margin-right: 3%;
}
.feature_l h4{
	margin: 0px 0 30px;
	padding-top: 20px;
}
.feature_l .pc{
	display: block;
}
.feature_l .pc img{
	width:100%;
}
.feature_l .sp{
	display: none;
}
.feature2box{
	width:100%;
	max-width:780px;
}

.feature2{
	width:32%;
	height: 300px;
	margin: 0 1% 30px 0;
	max-width:250px;
	background: #FFF;
	float: left;
}
.feature2 img{
	width:100%;
	margin: 10px 0 5px;
}
.feature2 p{
	font-size: 1.0em;
	line-height: 1.2em;
	margin-bottom: 10px;
}
.feature2_inner{
	width:100%;
}
.feature2_inner img{
	width:30%;
	float: left;
	margin-right: 5px;
}
.feature2_inner p{
	font-size: 14px;
}
.feature3{
	width:100%;
}
.feature3 h3{
	font-size: 24px;
	line-height: 1.8em;
	margin: 0;
	border-bottom: solid 2px #000;
}
.feature3 h5{
	font-size: 22px;
	line-height: 1.8em;
	margin: 1.0em 0 0.5em ;
	font-weight: bold;
}
.feature3 .feature_l{
	margin-bottom: 50px;
}
.feature_w_box{
	width: 100%;
	text-align: center;
}
.feature_w_box img{
	height: 210px;
	float: left;
}
.digital_ic_key{
	padding: 20px;
	margin-bottom: 50px;
	border: solid 1px #CCC;
}
.digital_ic_key p{
	margin-bottom: 5px;
}
.digital_ic_key h6{
	font-size: 18px;
	line-height: 1.4em;
	margin-bottom:  0.5em ;
	font-weight: bold;
	border-bottom: solid 1px #000;
}


/*-----------------------------------------------
コンテンツ内サブメニュー
-------------------------------------------------*/
.submenu_box{
	width: 200px;
	float: right;
	font-size: 14px;
	line-height: 26px;
}
 .menu_ttl{
 	margin: 50px 0 1px;
	padding:5px 0px 5px 20px;
	background: #000;
	color: #FFF;
}
.menu_carrent {
	padding:5px 0px 5px 20px;
	background: #FFF;
	border-bottom: 2px solid #DDD;
}
.menu_carrent a{
	color: #000;
}
.menu_other {
 	margin-bottom: 2px;
	padding:5px 0px 5px 20px;
	background: #DDD;
}
.menu_other a{
	color: #000;
}

/*-----------------------------------------------
others	製品ページ下のリンクボタン
-------------------------------------------------*/
.others{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 30px 0 20px;
}
ul.others_box {
	margin:0 0 10px;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	width: 97%;
	max-width: 1000px;
	margin: 0 auto;
	padding-left: 3%;
}
li.box200 {
    margin: 0 1% 40px 0;
    list-style:none;
	width:	32%;
	background:  #333;
	background-color: #333;
	border-radius: 10px;
	overflow: hidden;
}
li.box202 {
    margin: 0 1% 40px 0;
    list-style:none;
	width:	32%;
	background:  #333 url(/commons/img/img_material02.png) no-repeat left center;
	background-color: #333;
	border-radius: 10px;
	overflow: hidden;
}
li.box200 p, li.box202 p, li.box203 p{
	font-size: 16px;
	color: #FFF;
	text-align: center;
	line-height: 70px;
}

li.box203 {
    margin: 0 1% 40px 0;
    list-style:none;
	width:	32%;
	background:  #333 url(/commons/img/img_material03.png) no-repeat left center;
	background-color: #333;
	border-radius: 10px;
	overflow: hidden;
}
footer {
	position: relative;
	z-index: 100;
}
#keysystem{
  height: 120px;
}
@media only screen and (max-width: 1000px) {
	#main .catch {
		margin: 10% auto 0;
	}
	.cont_box{
	width: 98%;
	float: none;
	margin: 0 auto;
	overflow: hidden;
	}
	.submenu_box{
	display: none;
	}
	li.box200, li.box202, li.box203 {
    	margin: 0 15% 30px 15%;
    	list-style:none;
		width:	70%;
	}
	li.box200 p ,li.box202 p,  li.box206 p{
    	line-height: 60px;
	}
}

@media only screen and (max-width: 800px) {

	.cont_catch .pc{
	display: none;
	}
	.cont_catch .sp{
	display: block;
	padding: 2%;
	}
	.cont_catch .sp p{
	text-align: left;
	}
}

@media only screen and (max-width: 640px) {
	#contents_area{
		padding: 0; 
	}
	#main .catch {
		/*display: none;*/
	}
	.top_section h2{
	font-size: 24px;
	margin: 30px 0 10px;
	font-weight: bold;
	line-height: 1.3em;
	letter-spacing: -0.1em;
	}
	.top_section h3{
	width: 94%;
	margin: 20px 0 5px;
	font-size: 24px;
	line-height: 1.4em;
	}
	.top_section h4{
	margin: 20px 0 0px;
	}
	.f-1l {
		font-size: 24px;
	}
	.f-2l {
		font-size: 18px;
	}

	.feature2{
		width:49%;
		max-width:initial;
		height: 300px;
		margin: 0 1% 30px 0;
	}
	.feature2box{
	width: 94%;
	margin: 10px 3% 10px;
	}
	.feature3 h3{
		margin: 0.5em 0 0.5em 3%;
	}
	.feature3 h5{
		margin: 0.5em 0 0.5em 3%;
		line-height: 1em;
	}
	.feature_r{
	width: 94%;
	margin: 10px 3% 10px;
	}
	.feature_r img{
	float: none;
	width: 100%;
	}
	.feature_r_text{
	width: 100%;
	max-width: initial;
	float: none;
	margin: 10px 0 20px;
	}
	.feature_l{
	width: 94%;
	margin: 10px 3% 10px;
	}
	.feature_l img{
	float: none;
	width: 100%;
	}
	.feature_l_text{
	width: 100%;
	max-width: initial;
	padding: 0;
	float: none;
	margin-bottom: 30px;
	}
	.feature_l p{
	margin: 10px 0 10px;
	}
	.feature_w_box img{
	height: 300px;
	float: none;
	}
	li.box200, li.box202,  li.box203 {
    	margin: 0 10% 10px 10%;
    	list-style:none;
		width:	80%;
	}
	li.box200 p, li.box202 p,  li.box203 p {
    	line-height: 50px;
	}
	#keysystem{
	height: 30px;
	}
}
@media only screen and (max-width: 480px) {
	.feature_l .pc{
	display: none;
	}
	.feature_l .sp{
	display: block;
	}
	.feature, .feature2{
	width: 100%;
	height: initial;
	margin-bottom: 30px;
	float: none;
	}
}