@charset "utf-8";

/* ========================================================
	top.css => トップページ用CSS
======================================================== */


#top-main{
	background: url(../images/main_bg.jpg);
	text-align: center;
}

#top-main p.demo-img{
		display: none;
	}

@media screen and (max-width: 680px) {
	#top-main{
		background: none;
		padding-top: 60px;
	}
	#top-main .main-img img{
		display: none;
	}
	#top-main .main-img{
		background:url(../images/sp_main.jpg) no-repeat;
		background-size: cover;
		height: 0;
		padding-top:63.4375%;
	}
	
	#top-main p.demo-img{
		margin:10px 0px 10px;
		display: block;
		height: auto;		
	}
}


/* map
============================================================================================================ */
#top-main{
	position: relative;
}
.main_map{
	display: block;
	width: 1105px;
	height: 102px;
	position:absolute;
	bottom: 30px;
	left: 0;
	right: 0;
	margin: auto;
	z-index:100;
}
.main_map:after{
	content:" "; display: block; clear: both;
}
.main_map li a{
	width: 216px;
	height: 130px;
	display: block;
	float: left;
}
.main_map li:nth-of-type(3) a{
	width: 228px;
}
.main_map li:nth-of-type(4) a,
.main_map li:nth-of-type(5) a{
	width: 220px;
}
.main_map li a:hover{
	background:rgba(255,255,255,0.2);
}

.demo_map a{
	display: block;
    width: 162px;
    height: 162px;
    position: absolute;
    top: 70px;
    left: 870px;
    right: 0px;
    margin: auto;
    z-index: 100;
    border-radius: 50%;
}

.demo_map a:hover{
	background:rgba(200,200,200,0.2);
	border-radius: 50%;
}

@media screen and (max-width: 680px) {
	.main_map{
		display: none;
	}
}


/* info
============================================================================================================ */
.info{
	display: table;
	width: 840px;
	margin: 50px auto;
    position: relative;/*一覧を見る追加*/
}
.info > p{
	background: #313d57;
	color: #fff;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	width: 160px;
}
.info > ul{
	background: #fff;
	display: table-cell;
	vertical-align: middle;
	border-right: 1px solid #313d57;
	border-top: 1px solid #313d57;
}
.info > ul li{
	border-bottom: 1px solid #313d57;
	padding: 8px 10px 8px 20px;
}
.info > ul li a,
.info-index a{
	color: #007eb9 !important;
	text-decoration:none !important;
}
.info > ul li a:hover,
.info-index a:hover{
	text-decoration: underline !important;
}
@media screen and (max-width: 680px) {
	.info{
		display: block;
		width: auto;
		margin: 30px auto;
	}
	.info > p{
		display: block;
		width: auto;
		padding: 4px;
	}
	.info > ul{
		display: block;
		border-left: 1px solid #313d57;
	}
}

/*一覧を見る追加*/
.info-index {
    width: 74px;
    position: absolute;
    bottom: -27px;
    right: -5px;
}

@media screen and (max-width: 680px) {
.info-index{
    width: 100%;
    position: relative;
    top: 0px;
    right: 0px;
	padding-top: 5px;
	text-align: right;
	}
}

/* title_f
============================================================================================================ */
.title_f{
	position: relative;
	background: #007fc6;
	text-align: center;
	color: #fff;
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: normal;
	padding: 10px;
}
.title_f:after{
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(0, 127, 198, 0);
	border-top-color: #007fc6;
	border-width: 20px;
	margin-left: -20px;
}
@media screen and (max-width: 680px) {
	.title_f{
		font-size: 18px;
		font-size: 1.8rem;
		padding: 10px;
	}
}


/* product-box
============================================================================================================ */
.product-box{
	background: #F2F2F2;
	/*text-align: center;*/
	padding-bottom: 30px;
}
.product{
	width: 1100px;
	margin: 30px auto;
	display: -webkit-flex;
	display: -moz-flex;
  	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	flex-direction:row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
}
.product > li{
	background-color: #fff;
	display: inline-block;
	width: 48%;
	position: relative;
	margin-right: 1%;
	padding: 20px 30px 25px;
	box-sizing: border-box;
	color: #666;
}

.product > li > a{
	text-decoration:none !important;
}

.product > li > a > p.desc{
	color:#666;
}

.product > li:last-child{
	margin-right: 0;
}
.product > li .name{
	font-size: 18px;
	font-size: 1.8rem;
	color: #1fa3f9;
	margin-top: 15px !important;
}
.product > li .name-s{
	font-size: 14px;
	font-size: 1.4rem;
	color: #1fa3f9;
	margin-top: 18px !important;
}

.product > li img{
	max-width: 100%;
	height: 120px;
}
.product ul{
	border-collapse: separate;
	border-spacing: 2px 0 ;
	display: table;
	width: 100%;
	margin-top: 10px;
}
.product ul li{
	background: #007fc6;
	display: table-cell;
	color: #fff;
	padding: 5px 5px;
	font-size: 12px;
	font-size: 1.5rem;
	vertical-align: middle;
	font-weight: bold;
}
.product .link-s{
	display: block;
	margin: 20px auto 0;
	color:#616465 !important;
	text-decoration:none !important;
}

.catch{border: 1px solid #ff3900;
border-radius: 3px; padding:5px; color:#ff3900; text-align:left;}



@media screen and (max-width: 680px) {
	.product-box{
		padding-bottom: 20px;
		margin: 0 -10px;
	}
	.product{
		width: auto;
		margin: 30px auto;
		display: block;
		padding: 0 10px;
	}
	.product > li{
		display: block;
		width: 100%;
		margin: 0 0 10px;
		padding: 20px 30px 25px;
	}
	.product > li .name{
		font-size: 14px;
		font-size: 1.4rem;
		margin-bottom: 20px;
	}
	.product > li img{
		max-width: 100%;
		height: auto;
	}
	.product ul li{
		padding: 5px 5px;
		font-size: 11px;
		font-size: 1.1rem;
		line-height: 1.2;
	}

}

/* top-scene
============================================================================================================ */
.top-scene{
	padding: 20px 0px 0px;
	/*padding: 65px 0;*/
}
.top-scene a{
	color: #000 !important;
	text-decoration:none !important;
}
.top-scene .title_l{
	color: #182038;
}
.top-scene h3{
	text-align: center;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: normal;
	margin: 10px 0 5px;
}
.top-scene > ul{
	width: 1000px;
	margin: auto;
}
.top-scene > ul > li{
	width: 240px;
	display: inline-block;
	margin: 0 8px 40px 0;
	position: relative;
	overflow: hidden;
}
.top-scene > ul > li:nth-child(4n){
	margin-right: 0;
}
.top-scene li .cap{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 160px;
	background: rgba(0,0,0,.6);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 0;
	color: #fff;
	padding: 20px 10px;
	box-sizing: border-box;
	font-size: 12px;
	font-size: 1.2rem;
}
.top-scene li .cap img{
	display: block;
	margin: 0 auto 15px;
}
.top-scene li a:hover .cap {
	opacity: 1;
}
@media screen and (max-width: 680px) {
	.top-scene{
		padding: 35px 0 0;
	}
	.top-scene h3{
		font-size: 1.4rem;
	}
	.top-scene > ul{
		width: auto;
		display: -webkit-flex;
  		display: flex;
		-webkit-flex-direction: row;
		flex-direction:row;
		-webkit-flex-wrap: wrap;
		flex-wrap:wrap;
	}
	.top-scene > ul > li{
		width: 48%;
		display: block;
		margin: 0 1em 20px 0;
		font-size: 1.2rem;
	}
	.list-d{
		text-indent: -12px;
		padding-left: 12px;
	}
	.top-scene > ul > li:nth-child(2n){
		margin-right: 0;
	}
	.top-scene li .cap{
		display: none;
	}
}



/* slide
============================================================================================================ */
.bn-slide{
	background: #1f293d;
	position: relative;
}
.bn-slide .slider{
	width: 1000px;
	margin: auto;
	position: relative;
}
.bn-slide .slider li{
	width: 460px;
	padding: 20px 10px;
}
.slick-prev, .slick-next {
    width:45px;
    height:66px;
}
.slick-prev:before, .slick-next:before {
    content:"";
}
button.slick-prev, button.slick-next {
    z-index:2;
}
.slick-prev{
	left: 20px;
}
.slick-next{
	right: 20px;
}
.slick-arrow{
	z-index:10;
}
@media screen and (max-width: 680px) {
	.bn-slide{
		margin: 0 -10px;
	}
	.bn-slide .slider{
		width: auto;
	}
	.slick-prev,
	.slick-next{
		width: 22px;
		height: 33px;
	}
	.slick-prev{
		left: 2em;
	}
	.slick-next{
		right:2em;
	}
}