#contents_main {
	max-width: 1200px;
	margin: 0 auto;
}
.title_area {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

#contents_main .main_column.p50_l {
	width: calc(50% - 8px);
	margin-right: 8px;
	float: left;
}
#contents_main .main_column.p50_r {
	width: calc(50% - 8px);
	margin-left: 8px;
	float: right;
}
@media screen and (max-width: 640px) {
	#contents_main .main_column.p50_l,
	#contents_main .main_column.p50_r {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		float: none;
	}
}
.main_column.next50 {
	clear: both;
}
.main_column_middle {
	padding: 0;
}


.index_module {
	overflow: hidden;
	margin-top: 32px;
	/*padding-bottom: 10px;*/
}
.index_module ul {
	padding: 0 18.5px;
	/*border-bottom: 6px solid #0080CB;*/
	/*box-shadow: 0px 10px 10px -10px rgba(0,0,0,0.5);*/
}


/* ------ index_module ------ */

.index_module ul.tile1{
	width: 100%;
	padding: 0 12px;
}
.index_module ul.tile2,
.index_module ul.tile3 {
	width: 100%;
	margin: 0 auto;
	padding: 0 2px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
		flex-wrap: wrap;
}
.index_module ul.tile2 li,
.index_module ul.tile3 li {
	float: none;
	margin-bottom: 44px;
	padding: 0 4px;
}
.index_module ul.tile1 li a,
.index_module ul.tile2 li a {
	padding: 0;
}
.index_module ul.tile1 li a:hover,
.index_module ul.tile2 li a:hover,
.index_module ul.tile3 li a:hover {
	text-decoration: none;
}
.index_module ul.tile1 li .image_text .image,
.index_module ul.tile2 li .image_text .image,
.index_module ul.tile3 li .image_text .image {
	width: 100%;
	height:0;
	float: none;
	position: relative;
	overflow: hidden;
	border-top: 6px solid transparent;
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
}
.index_module ul.tile1 li a:hover .image_text .image,
.index_module ul.tile2 li a:hover .image_text .image,
.index_module ul.tile3 li a:hover .image_text .image {
	border-top: 6px solid #0080CB;
	border-right: 6px solid #0080CB;
	border-left: 6px solid #0080CB;
}
.index_module ul.tile1 li .image_text .image:before,
.index_module ul.tile2 li .image_text .image:before,
.index_module ul.tile3 li .image_text .image::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	height: 100%;
	width: 100%;
	background: rgba(255,255,255,0.35);
	z-index: 1;
}
.index_module ul.tile1 li a:hover .image_text .image:before,
.index_module ul.tile2 li a:hover .image_text .image:before,
.index_module ul.tile3 li a:hover .image_text .image::before{
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}
.index_module ul.tile1 .image_text .image img,
.index_module ul.tile2 .image_text .image img,
.index_module ul.tile3 .image_text .image img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: width 2s linear;
	-moz-transition: width 2s linear;
	-o-transition: width 2s linear;
	transition: width 2s linear;
	width: 100%;
	height: auto;
}
.index_module a:hover img {
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}
.index_module ul.tile1 .image_text .item_icon,
.index_module ul.tile2 .image_text .item_icon,
.index_module ul.tile3 .image_text .item_icon {
	text-align: right;
	background-color: #0080CB;
	color: #FFFFFF;
	font-size: 1.125rem;
	padding: 7.5px 12px;
	margin: 0 6px 0 6px;
}
.index_module ul.tile1 a:hover .image_text .item_icon,
.index_module ul.tile2 a:hover .image_text .item_icon,
.index_module ul.tile3 a:hover .image_text .item_icon {
	background-color: #FFFFFF;
	color: #0080CB;
	border-right: 6px solid #0080CB;
	border-left: 6px solid #0080CB;
	border-bottom: 6px solid #0080CB;
	margin: 0;
}
.index_module ul.tile1 .image_text .description,
.index_module ul.tile2 .image_text .description,
.index_module ul.tile3 .image_text .description {
	color: #4D4D4D;
	font-size: 0.75rem;
	text-align: left;
	padding: 38px 10px 0 10px;
}
.index_module ul.tile1 a:hover .image_text .description,
.index_module ul.tile2 a:hover .image_text .description,
.index_module ul.tile3 a:hover .image_text .description {
	padding-top: 32px;
}

/* tile1 */
.index_module ul.tile1 {
	margin-top: 0;
}
.index_module ul.tile1 li,
.index_module ul.tile1 li:first-child {
	border-top: none;
	margin-bottom: 44px;
	border-bottom: none;
}
.index_module ul.tile1 .image_text .image {
	padding-bottom: 7.7319%;
	margin-right: 0;
}
.p50_l .index_module ul.tile1 .image_text .image,
.p50_r .index_module ul.tile1 .image_text .image {
	padding-bottom: 15.7342%;
	margin-right: 0;
}

/* tile2 */
.index_module ul.tile2 li{
	border: none;
}
.index_module ul.tile2 li:nth-child(1),
.index_module ul.tile2 li:nth-child(2){
	border: none;
}
.index_module ul.tile2 li>div.image_text {
	padding: 0;
}
.index_module ul.tile2 .image_text .image {
	padding-bottom: 15.7342%;
	margin: 0;
}

/* tile3 */
.index_module ul.tile3 li {
	width: 33.33%;
	margin-right: 0;
	box-shadow: none;
}
.index_module ul.tile3 .image_text .image {
	padding-bottom: 24.0237%;
}
.index_module ul.tile3 li .image_text .text {
	padding: 0;
}
.index_module ul.tile3 li .image_text .text div.item_icon {
	margin-bottom: 0;
}


/* ------ article_module ------ */

.article_module {
	margin: 25px auto 0 auto;
	padding: 0 50px 25px 50px;
}



/* 1280px：コンテンツ縮小
------------------------------ */
@media print, screen and (max-width: 1279px) {
	#contents_main {
		margin: 0;
		padding: 0 40px;
		max-width: 1280px;
	}
	.main_column,
	.main_column.bc_circuit {
		margin-left: auto;
		margin-right: auto;
	}
}

/* 979px：コンテンツ縮小
------------------------------ */
@media print, screen and (max-width: 979px) {
	#contents_main {
		margin: 0;
		padding: 0 1rem;
		max-width: 1280px;
	}
  .article_module {
    margin: 1rem auto 0 auto;
    padding: 0 1rem 1rem 1rem;
  }
  h3 {
    min-width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .index_module ul.tile2 li,
  .index_module ul.tile3 li {
    width: 100%;
  }
  .index_module ul.tile1 li .image_text .image,
  .index_module ul.tile2 li .image_text .image,
  .index_module ul.tile3 li .image_text .image {
    max-width: 100%;
  }
}