.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	line-height: 0;
}

.container {
	width: 100%;
}

.container_block {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.pc-none {display: none;}

/*-------ブロック-------*/

/*3*3ブロック*/
.container_block-5-3 {
	width: 60%;
	float: left;
}
.container_block-5-3_1 {
	position: relative;
	width: calc(100% / 3);
	float: left;
	height: 100%;
}
/*3*2ブロック*/
.container_block-5-3-2 {
	width: 60%;
	float: left;
}
.container_block-5-3-3_1 {
	position: relative;
	width: calc(100% / 3);
	float: left;
	height: calc(100% / 2);
}
/*2ブロック*/
.container_block-5-2 {
	width: 40%;
	float: left;
}
.container_block-5-2_1 {
	position: relative;
	width: calc(100% / 2);
	float: left;
	height: 100%;
}
.block_spaser {
	position: relative;
	width: 100%;
	padding-bottom: 100%;
}
/*.block-content {
	display: table;
	width: 100%;
	height: 100%;
	position: absolute;
	margin:auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}*/
.block-content {
	width: 100%;
	height: 100%;
	position: absolute;
	margin-top: -50px;
	margin-right:auto;
	margin-bottom:auto;
	margin-left:auto;
	top: 50%;
	bottom: 0;
	left: 0;
	right: 0;
}
.block-content a {
	text-align: center;
	width: 100%;
	text-decoration: none;
}
/*-------カラム-------*/

/*2カラム*/
.container_block_col-2 {
	width: 488px;
	margin-right:24px;
	float: left;
}
.container_block_col-2:nth-child(2) {
	margin-right:0px;
}

.container_block_col-2-list li {
	width: 488px;
	margin-right:24px;
	float: left;
}
.container_block_col-2-list li:nth-child(even) {
	margin-right:0px;
}

/*3カラム*/
.container_block_col-3 {
	width: 300px;
	margin-right:50px;
	margin-bottom: 40px;
	float: left;
}
.container_block_col-3:nth-child(3n) {
	margin-right:0px;
}
ul.container_block_col-3-list{
	list-style: none;
}
.container_block_col-3-list li {
	width: 300px;
	margin-right:50px;
	margin-bottom: 40px;
	float: left;
}
.container_block_col-3-list li:nth-child(3n) {
	margin-right:0px;
}
.container_block_col-3 img {
	width: 100%;
}

/*4カラム*/
.container_block_col-4 {
	width: 205px;
	margin-right:60px;
	float: left;
}
.container_block_col-4:last-child {
	margin-right:0px;
}
.container_block_col-4-list {
	list-style: none;
}
.container_block_col-4-list li {
	width: 205px;
	margin-right:60px;
	margin-bottom:30px;
	float: left;
}
.container_block_col-4-list li:nth-child(4n) {
	margin-right:0px;
}
.container_block_col-4-list img {
	max-width: 100%;
}

/*------------------------
table
------------------------*/
.table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

.table-th-gray th,
.table-th-gray td {
	border:solid 1px #8A8A8A;
	text-align: left;
	padding: 10px;
}
.table-th-gray th {
	background: #f1f1f1;
}
.table-th-gray td {
	background: #fff;
}

/*------------------------
common
------------------------*/
.text-center {
	text-align: center !important;
}
.mb0 {margin-bottom: 0 !important;}
.mb20 {
	margin-bottom: 20px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}

/*------------------------
sp
------------------------*/
@media screen and (max-width: 640px) {
	/*-------------
	bace.css
	-------------*/
	.pc-none {display: block;}
	.container_block {
		box-sizing:border-box;
		padding: 0 10px;
		width: 100%;
	}
	/*-------ブロック-------*/

	/*3*3ブロック*/
	.container_block-5-3 {
		width: 100%;
		float: none;
	}
	.container_block-5-3_1 {
		position: relative;
		width: 100%;
		float: none;
		height: 100%;
	}
	/*3*2ブロック*/
	.container_block-5-3-2 {
		width: 100%;
		float: left;
	}
	.container_block-5-3-3_1 {
		position: relative;
		width: 100%;
		float: left;
		height: 100%;
	}
	/*2ブロック*/
	.container_block-5-2 {
		width: 100%;
		float: none;
	}
	.container_block-5-2_1 {
		position: relative;
		width: 100%;
		float: none;
		height: 100%;
	}
	.block_spaser {
		position: relative;
		width: 100%;
		padding-bottom: 100%;
	}
	.block-content {
		display: table;
		width: 100%;
		height: 100%;
		position: absolute;
		margin:auto;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}
	.block-content a {
		display: table-cell;
		/*display: inline-block;*/
		vertical-align: middle;
		text-align: center;
		width: 100%;
		text-decoration: none;
	}
	/*2カラム*/
	.container_block_col-2 {
		width: 100%;
		margin-bottom: 10px;
		float: none;
	}

	.container_block_col-2-list li {
		width: 100%;
		margin-bottom: 10px;
		float: none;
	}

	/*3カラム*/
	.container_block_col-3 {
		width: 100%;
		margin-bottom: 10px;
		float: none;
	}

	/*4カラム*/
	.container_block_col-4 {
		width: 100%;
		margin-bottom: 10px;
		float: none;
	}
	.container_block_col-4-list li {
		width: 100%;
		margin-bottom: 30px;
		float: none;
	}

	.container_block_col-4-list li img {
		margin: 0 auto;
		display: block;
	}
}

/*エフェクト*/
/*ボタンエフェクト1*/
.button {
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .8s;
	transition: all .8s;
}
.button {
	position: relative;
	z-index: 2;
	color: #333;
	line-height: 48px;
}
.button::after {
	top: 3%;
	left: 3%;
	width: 94%;
	height: 94%;
	border: 2px solid #fff;
	opacity: 0;
}
.button:hover::after {
	opacity: 1;
}
.button:hover {
	background:#000;
}

/*ボタンエフェクト2*/
.button02 {
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
}
.button02::before,
.button02::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button02,
.button02::before,
.button02::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .8s;
	transition: all .8s;
}
.button02 {
	position: relative;
	z-index: 2;
	color: #333;
	line-height: 48px;
}
.button02::after {
	top: 3%;
	left: 3%;
	width: 94%;
	height: 94%;
	border: 2px solid #000;
	opacity: 0;
}
.button02:hover::after {
	opacity: 1;
}
.button02:hover {
	background:#fff;
}