/* CSS Document */

#subject{
	padding-top: 0;
	}
	#subject .subject{
		position: relative;
		display: flex;
		flex-direction: column;
		margin-left: 1em;
		padding-top: 1.5em;
		}
		#subject .subject:before{
			margin-left: 2em;
			}
		#subject .subject:after{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			height: 2.5em;
			border-left: 1px solid #1696ac;
			}

#sidebar{}
	#sidebar h2{
		padding: 1em;
		border-bottom: 4px solid #b2b6bc;
		font-size: 1.25em;
		font-weight: bold;
		line-height: 1.5em;
		text-align: center;
		pointer-events: none;
		}
	#sidebar h2+div{
		padding: 1.5em;
		}
	#sidebar nav{}
		#sidebar nav dl+div{
			margin-top: 3em;
			}
			#sidebar nav dl+div a{
				display: flex;
				align-items: center;
				justify-content: center;
				margin: -1.5em;
				padding: 1em;
				background: #edeef4;
				color: inherit;
				text-decoration: none;
				}
			#sidebar nav dl+div i{
				margin-left: 0.5em;
				}

#blogTheme{
	background: #fff;
	border-radius: 12px;
	box-shadow: 2px 3px 3px rgba(0,0,0,0.1);
	overflow: hidden;
	}
	#blogTheme ul{
		display: flex;
		flex-wrap: wrap;
		margin: -0.25em;
		}
	#blogTheme li{
		margin: 0.25em;
		}
		#blogTheme li a{
			position: relative;
			display: block;
			padding: 0.6em 1em;
			padding-right: 2em;
			background: #fff;
			border: 1px solid #b2b6bc;
			border-radius: 2em;
			color: inherit;
			fill: currentColor;
			font-size: 0.875em;
			text-decoration: none;
			}
		#blogTheme li i{
			position: absolute;
			top: cacl(50% - 0.5em);
			right: 0.5em;
			}

.blogList{}
	.blogList dl{
		position: relative;
		border-bottom: 1px solid #b2b6bc;
		}
	.blogList dt{
		font-size: 1.25em;
		font-weight: bold;
		line-height: 1.5em;
		}
	.blogList dd{}
		.blogList dd time{
			font-size: 0.8em;
			}
		.blogList dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			}
	.blogList .thumb{
		border-radius: 12px;
		}

.blogListMin{}
	.blogListMin dl{
		position: relative;
		display: flex;
		}
	.blogListMin dt{
		width: 60%;
		font-size: 0.875em;
		font-weight: bold;
		line-height: 1.5em;
		letter-spacing: 0.05em;
		text-align: left;
		}
	.blogListMin dt+dd{
		width: 40%;
		margin-right: 1em;
		order: -1;
		}
	.blogListMin dd{}
		.blogListMin dd a{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			}
	.blogListMin dl+dl{
		margin-top: 1em;
		}
	.blogListMin .thumb{
		padding-top: 100%;
		border-radius: 8px;
		}




/* for all */
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
#sidebar{}
	#sidebar nav{
		background: #fff;
		border-radius: 12px;
		box-shadow: 2px 3px 3px rgba(0,0,0,0.1);
		overflow: hidden;
		}
		#sidebar nav h3{
			padding: 1em;
			border-bottom: 4px solid #b2b6bc;
			font-size: 1.25em;
			font-weight: bold;
			line-height: 1.5em;
			text-align: center;
			pointer-events: none;
			}
			#sidebar nav h3 i{
				display: none;
				}
		#sidebar nav h3+div{
			padding: 1.5em;
			}
}


/* for mobile */
@media (max-width: 767.98px) {
/*767以下px*/
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下 縦向き*/
.blogList{}
	.blogList dl{
		padding: 1em 0;
		}
	.blogList dt+dd{
		margin: 1em 0;
		}
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下 横向き*/
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*767px以下 横向き, 768px以上,*/
.blogList{}
	.blogList dl{
		display: -ms-grid;
		-ms-grid-columns: 1fr 2fr;
		display: grid;
		grid-template-columns: 1fr 2fr;
		padding: 2em 0;
		}
	.blogList dt{
		-ms-grid-column: 2;
		-ms-grid-row: 1;
		grid-column: 2;
		grid-row: 1;
		}
	.blogList dt+dd{
		-ms-grid-column: 1;
		-ms-grid-row: 1;
		-ms-grid-row-span: 8;
		grid-column: 1;
		grid-row: 1 / 8;
		margin-right: 2em;
		}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*767px以下 横向き, 768px～991px*/
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
}
@media (min-width: 768px) and (max-width: 1199.98px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991.98px) {
/*768px～991px*/
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
#sidebar{}
	#sidebar nav{}
		#sidebar nav h3{
			position: relative;
			width: 100%;
			padding: 1.5em;
			background: #fff;
			border: 1px solid #b2b6bc;
			border-radius: 6px;
			color: inherit;
			font-weight: bold;
			text-align: center;
			text-decoration: none;
			cursor: pointer;
			}
			#sidebar nav h3 i{
				position: absolute;
				top: calc(50% - 0.5em);
				right: 1em;
				}
			#sidebar nav h3.open{}
				#sidebar nav h3.open svg{
					transform: rotate(180deg);
					}
		#sidebar nav h3+div{
			display: none;
			margin-top: 0.5em;
			padding: 1.5em;
			background: #fff;
			border-radius: 12px;
			box-shadow: 2px 3px 3px rgba(0,0,0,0.1);
			overflow: hidden;
			}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
}
@media (min-width: 1200px) {
/*1200px以上*/
}



