#container_wrapper {
  position: relative;
  width: 100%;
  padding: 10px 0 ;
}
#ttl {
  margin: 15px 0 5px;
  padding: 0 40px;
  padding: 0 calc( 2% + 20px );
}
h1 {
  font-size: 2.4em;
}
#top_cont {
	font-size: 0;
	padding: 0 1%;
}
.block_l {
	display: inline-block;
	position: relative;
	width: 47.9%;
	margin: 1%;
	font-size: 16px
}
.block_l .spot_ttl {
  padding: 5px 20px ;
}
.spot_ttl {
	position: absolute;
	width : 100%;
	max-height: 150px;
	bottom: 0;
	left: 0;
	color: #fff;
	padding: 10px;
	line-height: 1.5;
	background: rgba(0,0,0,0.1);
	background: -webkit-gradient(top, rgba(0,0,0,0.3), rgba(0,0,0,1.0)),
to(rgba(0,0,0,1.0)));
	background: -moz-linear-gradient(top, rgba(0,0,0,0.3), rgba(0,0,0,1.0));
  background: -ms-linear-gradient(top, rgba(0,0,0,0.3), rgba(0,0,0,1.0));
  background: -o-linear-gradient(top, rgba(0,0,0,0.3), rgba(0,0,0,1.0));
  background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,1.0));
  filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorStr=#22000000, endColorStr=#FF000000);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorStr=#22000000, endColorStr=#FF000000)";
}
.spot_ttl p {
	padding: 0 0 5px ;
}
.spot_ttl p:after {
	content: '';
	display: block;
	position: absolute;
	width : 100%;
	height: 30px;
	top: 120px;
	left: 0;
	background: -webkit-gradient(top, rgba(0,0,0,0.3), rgba(0,0,0,1.0)),
to(rgba(0,0,0,1.0)));
	background: -moz-linear-gradient(top, rgba(0,0,0,0.3), rgba(0,0,0,1.0));
  background: -ms-linear-gradient(top, rgba(0,0,0,0.3), rgba(0,0,0,1.0));
  background: -o-linear-gradient(top, rgba(0,0,0,0.3), rgba(0,0,0,1.0));
  background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,1.0));
  filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorStr=#22000000, endColorStr=#FF000000);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorStr=#22000000, endColorStr=#FF000000)";
}
.spot_ttl h2 {
  font-size: 21px;
}

@media (max-width: 1048px) {
	.spot_ttl h2 {
    	font-size: 1.4em;
	}
	#index_bar {
		display: block;
	}
	.block_wrapper:hover {
    	opacity: 1;
	}
	.spot_ttl p {
    	max-height: 0;
    	padding: 0;
    	overflow: hidden;
    	transition: 0.4s;
	}
	.spot_ttl:hover p {
    	max-height: 150px;
    	padding: 0 0 5px;
    	transition: 0.4s;
	}
}

@media (max-width: 767px) {
	.block_l {
		font-size: 14px;
	}
}
@media (max-width: 640px) {
	.block_l {
		width: 97.9%;
	}
}