/* レイアウト */

html,body {
	height:100%;
	background:#ffffff;
}

.wrapper {

}

.header {
	background: #ffffff;
	width: 100%;
	margin: 0;
	padding: 0;
}

.header_top {
	/* display: table; */
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.header_top_left {
	display: table-cell;
	width: 40%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.header_top_right {
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.header_top_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

.header_middle {
	/* display: table; */
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.header_middle_left {
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.header_middle_right {
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.header_middle_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

.header_bottom {
	/* display: table; */
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.header_bottom_left {
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.header_bottom_right {
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.header_bottom_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

main {
	width: 100%;
	margin: 0;
	padding: 0;
}

footer {
	background: #2c2c2c;
	width: 100%;
	margin: 0;
	padding: 0;
}

.footer_top {
	/* display: table; */
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.footer_top_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.footer_top_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.footer_top_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

.footer_middle {
	/* display: table; */
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.footer_middle_left {
	position: relative;
	display: table-cell;
	width: 40%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: bottom;
}

.footer_middle_right {
	position: relative;
	display: table-cell;
	width: 60%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: bottom;
}

.footer_middle_inner {
	display: table;
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
}

.footer_bottom {
	/* display: table; */
	background: linear-gradient(#2c2c2c, #315c84);
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.footer_bottom_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.footer_bottom_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.footer_bottom_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

/* パンくず */

.breadcrumbs {
	/* display: table; */
	background: #f6f6f6;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.breadcrumbs_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

/* メインインデックスレイアウト */

.index_top {
	background: #ffffff url("http://www.fast-sp.com/wp-content/themes/constlayout2/images/index_top_back.jpg") no-repeat top center;
	background-attachment: fixed;
	background-size: cover;
	position: relative;
	width: 100%;
	height: 100vh;
	margin: 0;
	padding: 0;
}

.index_top_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.index_top_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.index_top_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

.index_middle {
	/* display: table; */
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.index_middle_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.index_middle_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.index_middle_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

.index_bottom {
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.index_bottom_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.index_bottom_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.index_bottom_inner {
	display: table;
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

.index_infomation {
	background: #ffffff;
	display: table;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.index_infomation_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

.index_seminar {
	background: #ffffff;
	display: table;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.index_seminar_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

/* アーカイブレイアウト */

.archive_top {
	/* display: table; */
	position: relative;
	background: #b6b6b6;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
	border-bottom: 1px solid #b6b6b6;
}

.archive_top_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.archive_top_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.archive_top_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	height: 300px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

.archive_middle {
	/* display: table; */
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.archive_middle_left {
	position: relative;
	display: table-cell;
	width: 74%;
	margin: 0;
	padding: 0 2rem 0 0;
	vertical-align: top;
}

.archive_middle_right {
	position: relative;
	display: table-cell;
	width: 26%;
	margin: 0;
	padding: 0 0 0 2rem;
	vertical-align: top;
}

.archive_middle_inner {
	display: table;
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 3rem 1rem 2rem;
	vertical-align: top;
}

.archive_bottom {
	/* display: table; */
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.archive_bottom_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.archive_bottom_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.archive_bottom_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

/* 固定ページレイアウト */

.page_top {
	/* display: table; */
	position: relative;
	background: #b6b6b6;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
	border-bottom: 1px solid #b6b6b6;
}

.page_top_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.page_top_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.page_top_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	height: 300px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

.page_middle {
	/* display: table; */
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.page_middle_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.page_middle_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.page_middle_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 3rem 1rem 2rem;
	vertical-align: top;
}

.page_bottom {
	/* display: table; */
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.page_bottom_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.page_bottom_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.page_bottom_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

/* 単一記事レイアウト */

.single_top {
	/* display: table; */
	position: relative;
	background: #b6b6b6;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
	border-bottom: 1px solid #b6b6b6;
}

.single_top_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.single_top_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.single_top_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	height: 300px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

.single_middle {
	/* display: table; */
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.single_middle_left {
	position: relative;
	display: table-cell;
	width: 70%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.single_middle_right {
	position: relative;
	display: table-cell;
	width: 30%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.single_middle_inner {
	display: table;
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 3rem 1rem 2rem;
	vertical-align: top;
}

.single_bottom {
	/* display: table; */
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.single_bottom_left {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 3rem 0 0;
	vertical-align: top;
}

.single_bottom_right {
	position: relative;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 0 0 0 3rem;
	vertical-align: top;
}

.single_bottom_inner {
	/* display: table; */
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	vertical-align: top;
}

/*スマートフォン*/

@media only screen and (max-width: 768px) {

	/* レイアウト */

	header {
		position: relative;
		top: 0;
	}

	.header_top,
	.header_top_left,
	.header_top_right,
	.header_top_inner,
	.header_middle,
	.header_middle_left,
	.header_middle_right,
	.header_middle_inner,
	.header_bottom,
	.header_bottom_left,
	.header_bottom_right,
	.header_bottom_inner,
	.main_top,
	.main_top_left,
	.main_top_right,
	.main_top_inner,
	.main_middle,
	.main_middle_left,
	.main_middle_right,
	.main_middle_inner,
	.main_bottom,
	.main_bottom_left,
	.main_bottom_right,
	.main_bottom_inner,
	.footer_top,
	.footer_top_left,
	.footer_top_right,
	.footer_top_inner,
	.footer_middle,
	.footer_middle_left,
	.footer_middle_right,
	.footer_middle_inner,
	.footer_bottom,
	.footer_bottom_left,
	.footer_bottom_right,
	.footer_bottom_inner,
	.breadcrumbs_inner {
		display: block;
		width: 100%;
	}

	.main_top_inner {
		min-height: 150px;
	}

	/* インデックスレイアウト */

	.index_top,
	.index_top_left,
	.index_top_right,
	.index_top_inner,
	.index_middle,
	.index_middle_left,
	.index_middle_right,
	.index_middle_inner,
	.index_bottom,
	.index_bottom_left,
	.index_bottom_right,
	.index_bottom_inner,
	.index_infomation,
	.index_infomation_left,
	.index_infomation_right,
	.index_infomation_inner {
		display: block;
		width: 100%;
	}

	.index_top_left {
		background-size: cover;
		min-width: 100%;
	}

	.index_top_right {
		min-width: 100%;
		height: 0;
	}

	/* アーカイブレイアウト */

	.archive_top,
	.archive_middle,
	.archive_bottom {
		display: block;
		width: 100%;
		padding: 0;
	}

	.archive_top_inner,
	.archive_middle_inner,
	.archive_bottom_inner {
		display: block;
		width: 100%;
		padding: 0 0.5;
	}

	.archive_top_left,
	.archive_top_right,
	.archive_middle_left,
	.archive_middle_right,
	.archive_bottom_left,
	.archive_bottom_right {
		display: block;
		width: 100%;
		padding: 0;
	}

	/* 固定ページレイアウト */

	.page_top,
	.page_top_left,
	.page_top_right,
	.page_top_inner,
	.page_middle,
	.page_middle_left,
	.page_middle_right,
	.page_middle_inner,
	.page_bottom,
	.page_bottom_left,
	.page_bottom_right,
	.page_bottom_inner {
		display: block;
		width: 100%;
	}

	/* 単一記事レイアウト */

	.single_top,
	.single_top_left,
	.single_top_right,
	.single_top_inner,
	.single_middle,
	.single_middle_left,
	.single_middle_right,
	.single_middle_inner,
	.single_bottom,
	.single_bottom_left,
	.single_bottom_right,
	.single_bottom_inner {
		display: block;
		width: 100%;
	}
}