@charset "UTF-8";

/* ▼▼▼ トピックス
=====================================*/
/* ▼ 一覧
----------------------------------------*/
#new_post{
	padding-top: 0;
	}
	#new_post .flex_box .photo{
		width: 44.5%;
		margin-right: 4%;
		position: relative;
		border: 1px solid #E2E2E2;
	}
	#new_post .flex_box .photo:hover{
		opacity: .7;
		cursor: pointer;
	}
	#new_post .flex_box .post_photo::before{
		content: "";
		display: block;
		padding-top: 62.5%;
	}
	#new_post .txt{
		word-break: break-all;
	}
	#new_post .flex_box .txt{
		width: calc(100% - 48.5%);
	}
	#new_post .post_title{
		margin-bottom: 5px;
		font-size: 24px;
		font-weight: 500;
		line-height: 1.6;
	}
	#new_post .post_txt{
		margin-bottom: 20px;
		font-size: 100%;
	}
	#new_post .post_detail{
		display: flex;
	}

	.post_detail{
		display: flex;
		align-items: center;
	}
	.post_data{
		margin: 0 20px 5px 0;
		color: #2C3981;
		font-size: 14px;
		line-height: 1;
	}
	#new_post .post_data{
		width: 90px;
		height: 24px;
		padding: 1px;
		margin: 0;
		color: #333;
		font-size: 14px;
	}
	#new_post .post_cat{
		width: calc(100% - 90px);
	}

#recent_post{
	padding-top: 0;
	}
	.recent_post_main ul.post_list{
		position: relative;
		z-index: 1;
	}
	.recent_post_main ul.post_list > li{
		display:block;
		width: 45%;
		background: #fff;
		padding: 3%;
		margin:0 5% 5% 0;
		border: 1px solid rgba(224, 234, 244,.3);
		box-shadow: 3px 3px 10px #E2ECF4;
		border-radius: 10px;
		overflow: hidden;
	}
	.recent_post_main ul.post_list > li a{
		display: block;
	}
	.recent_post_main ul.post_list > li .post_photo{
		background: #fff;
		border: 1px solid #E2E2E2;
		margin-bottom: 10px;
	}
	.recent_post_main ul.post_list > li .post_photo::before{
		content: "";
		display: block;
		padding-top: 62.5%;
	}
	.recent_post_main ul.post_list > li .post_txt{
		margin-bottom: 10px;
	}

.pagenav{
	width: 300px;
	margin: 0 auto;
	line-height: 30px;
	position: relative;
	z-index: 99999;
	overflow: hidden;
	}
	.pagenav ol{
		width: 210px;
		margin: 0 auto 80px;
		overflow: hidden;
	}
	.pagenav ol li{
		float: left;
		width: 30px;
		margin-right: 15px;
		font-size: 24px;
		color: #2C3981;
		text-align: center;
		}
	.pagenav ol li:last-child{margin-right: 0;}
	.pagenav ol li a{
		display: block;
		color: #ACACAC;
		text-decoration: underline;
	}

/* ▼ 詳細
----------------------------------------*/
.detail .aside_box > article{
	padding-right: 3%
	}
	.article{
		background: #F4F8FD;
		padding: 6% 6% 0;
		overflow: hidden;
	}
	.article .subject{
		margin-bottom: 20px;
		color: #2C3981;
		font-size: 24px;
		font-weight: 500;
		line-height: 1.5;
		}
		.article .post_detail{
			border-bottom: 1px solid #D8D8D8;
			padding-bottom: 20px;
			margin-bottom: 40px;
		}
		.article .post_data{
			margin-right: 40px;
		}
		.article .post_cat{
			position: relative;
		}
		.article .post_cat li:nth-child(3n){
			margin-right: 10px;
		}
		.article .post_cat::before{
			content: "";
			width: 1px;
			height: 85%;
			background: #D8D8D8;
			position: absolute;
			top: -2px;
			left: -20px;
		}
		.article .photo_list{
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}
		.article .photo_list figure{
			width: 48%;
			margin-bottom: 30px;
			text-align: center;
		}
		.article .photo_list figure img{
			margin-bottom: 5px;
		}
		.article .photo_list figcaption{
			color: #656565;
			font-size: 14px;
		}
		.article .txt_box{
			margin-bottom: 40px;
		}
		.article table{
			width: 100%;
			border: 1px solid #D8D8D8;
			border-collapse: collapse;
			margin-bottom: 40px;
		}
		.article table th,
		.article table td{
			padding: 10px 15px;
			font-weight: normal;
			background: #fff;
			border: 1px solid #D8D8D8;
		}
		.article table th{
			background: #C3D8F2;
		}
		.article table tr th:not(:last-child){
			border-right: 1px solid #fff;
		}
		.article ul.link_list{
			margin-bottom: 40px;
		}
		.article ul.link_list li{
			padding-left: 25px;
			position: relative;
		}
		.article ul.link_list li::before{
			display: inline-block;
			content: "";
			width: 18px;
			height: 18px;
			position: absolute;
			top: 5px;
			left: 0;
		}
		.article ul.link_list li.link::before{
			content: url(../img/post/icon_link.svg);
		}
		.article ul.link_list li.pdf::before{
			content: url(../img/post/icon_pdf.svg);
		}
		.article ul.link_list li a{
			color: #2C3981;
			text-decoration: underline;
		}

		/* 同じカテゴリの記事 */
		#same_cat{
			position: relative;
			z-index: 1;
		}
		#same_cat .title{
			border-top: 1px solid #D8D8D8;
			border-bottom: 1px solid #D8D8D8;
			padding:  15px 0 15px 40px;
			font-size: 20px;
			font-weight: 500;
			color: #2C3981;
		}
		#same_cat .title::before{
			width: 25.76px;
			height: 25px;
			top: 16px;
		}
		.same_cat_list{
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
		}
		.same_cat_list > li{
			display: flex;
			width: 48%;
			margin-bottom: 60px;
		}
		.same_cat_list > li:last-child{
			margin-bottom: 0;
		}
		.same_cat_list > li .txt{
			flex: 1.3;
			margin-right: 10px;
		}
		.same_cat_list .post_data{
			margin: 0;
		}
		.same_cat_list .post_title{
			margin-bottom: 5px;
			font-size: 14px;
			font-weight: 500;
			word-break: break-all;
		}
		.same_cat_list .post_cat li{
			margin: 0 8px 8px 0;
		}
		.same_cat_list .post_cat li:nth-child(2n){
			margin-right: 0;
		}
		.same_cat_list .post_cat li a{
			width: 86px;
			height: 21px;
			font-size: 12px;
		}
		.same_cat_list > li .photo{
			flex: 1;
		}
		.same_cat_list > li .photo a{
			display: block;
		}
		.same_cat_list > li .post_photo{
			background: #fff;
			border: 1px solid #E2E2E2;
			margin-bottom: 10px;
		}
		.same_cat_list > li .post_photo::before{
			content: "";
			display: block;
			padding-top: 100%;
		}

/* ▼▼▼ 480px〜768px
=====================================*/
@media screen and (max-width: 768px){

	/* ▼ 一覧
	----------------------------------------*/
	#new_post{
		/* padding: 0 010px; */
		}
		#new_post .flex_box .photo{
			width: 100%;
			margin: 0 auto 10px;
		}
		#new_post .flex_box .txt{
			width: 100%;
		}
		#new_post .txt h2{
			margin-bottom: 15px;
		}
		#new_post .title_icon img{
			width: 174.39px;
		}
		#new_post .post_title{
			font-size: 20px;
		}
		#new_post .post_txt{
			margin-bottom: 15px;
		}
#recent_post{
	padding-bottom: 20px;
}
	.recent_post_main ul.post_list{
		display: block;
		max-height: unset;
	}
	.recent_post_main ul.post_list > li{
		width: 95%;
		padding: 6%;
		margin: 0 auto 30px;
	}
	.recent_post_main ul.post_list > li .post_photo{
		border: 1px solid #E2E2E2;
		margin-bottom: 10px;
	}
	.recent_post_main ul.post_list > li .post_txt{
		margin-bottom: 10px;
	}

	.pagenav ol{
		margin: 20px auto 60px;
	}
	/* ▼ 詳細
	----------------------------------------*/
	.detail .aside_box > article{
		padding: 0;
		}
		.article .subject{
			margin-bottom: 15px;
			font-size: 20px;
			}
			.article .post_detail{
				padding-bottom: 10px;
				margin-bottom: 30px;
			}
			.article .photo_list{
				display: block;
			}
			.article .photo_list figure{
				width: 100%;
				margin-bottom: 20px;
			}
			.article .txt_box{
				margin-bottom: 30px;
			}
			.article table{
				margin-bottom: 30px;
			}
			.article ul.link_list{
				margin-bottom: 30px;
			}

			/* 同じカテゴリの記事 */
			#same_cat .title{
				font-size: 18px;
			}
			.same_cat_list{
				display: block;
			}
			.same_cat_list > li{
				width: 100%;
				margin-bottom: 40px;
			}
			.same_cat_list .post_cat li a{
				width: 83px;
				font-size: 11px;
			}
}
