/* CSS Document */

#subject{
	padding-bottom: 0;
	}

#post{
	padding: 0;
	background: #fff;
	border-radius: 12px;
	box-shadow: 2px 3px 3px rgba(0,0,0,0.1);
	overflow: hidden;
	}

#postHeader{
	display: flex;
	flex-direction: column;
	padding: 1.5em;
	padding-bottom: 0;
	}
	#postHeader h2{
		font-weight: bold;
		font-size: 1.75em;
		line-height: 1.5em;
		}
	#postHeader h2+div{
		margin-bottom: 1em;
		order: -1;
		}
	#postHeader h2+div+div{
		margin-top: 1.5em;
		}
	#postHeader dl{
		display: -ms-grid;
		-ms-grid-columns: 5em 1em auto;
		display: grid;
		grid-template-columns: 5em auto;
		grid-gap: 0.5em 1em;
		}
		#postHeader dt{
			-ms-grid-column: 3;
			-ms-grid-row: 1;
			font-weight: bold;
			line-height: 1.5em;
			align-self: flex-end;
			text-align: left;
			}
			_:-ms-lang(x)::-ms-backdrop, #postHeader dt{
				margin-bottom: 0.5em;
				}
		#postHeader dt+dd{
			-ms-grid-column: 1;
			-ms-grid-row: 1;
			-ms-grid-row-span: 3;
			grid-row: 1 / 3;
			}
		#postHeader dt+dd+dd{
			-ms-grid-column: 3;
			-ms-grid-row: 2;
			font-size: 0.875em;
			align-self: flex-start;
			}
		#postHeader dd{}
			#postHeader dd:first-child:last-child{
				-ms-grid-column: 1;
				-ms-grid-column-span: 3;
				grid-column: 1 / 3;
				}
			#postHeader dd .thumb{
				padding-top: 100%;
				border-radius: 100%;
				}
	#postHeader figure{
		margin: -1.5em;
		margin-bottom: 1.5em;
		order: -2;
		}
	#postHeader .fr-view{
		color: #000;
		line-height: 1.7em;
		}

#postIndex{
	padding-bottom: 0 !important;
	}

#profile{
	display: contents;
	}
	#profile h2{
		display: none;
		}
	#profile h2+div,
	#profile section{
		padding: 0;
		background: #fff;
		border-radius: 12px;
		box-shadow: 2px 3px 3px rgba(0,0,0,0.1);
		overflow: hidden;
		}
	#profile 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;
		}
	#profile h3+div{
		padding: 1.5em;
		}

#profileCard{
	display: flex;
	flex-direction: column;
	order: -1;
	}
	#profileCard figure{
		order: -1;
		}
		#profileCard dl{
			position: relative;
			padding: 1.5em;
			padding-top: 6em;
			z-index: 1;
			}
		#profileCard dt{
			font-size: 1.1em;
			font-weight: bold;
			line-height: 1.5em;
			text-align: center;
			}
		#profileCard dt+dd{
			position: absolute;
			top: -5em;
			left: calc(50% - 5em);
			width: 10em;
			}
		#profileCard dt+dd+dd{
			margin-top: 1em;
			color: #666;
			line-height: 1.7em;
			text-align: left;
			}
		#profileCard dd{}
			#profileCard dd .thumb{
				padding-top: 100%;
				border-radius: 100%;
				}

#postIndex{}
	#postIndex h3{
		display: flex;
		align-items: center;
		font-weight: bold;
		font-size: 1.25em;
		}
		#postIndex h3 i{
			margin-right: 0.5em;
			}
	#postIndex h3+div{
		margin-top: 1.5em;
		}
	#postIndex ul{
		display: flex;
		flex-wrap: wrap;
		margin: -0.5em;
		}
	#postIndex li{
		margin: 0.5em;
		}
		#postIndex li a{
			display: block;
			padding: 1em;
			border: 1px solid #b2b6bc;
			border-radius: 6px;
			color: inherit;
			font-weight: bold;
			text-decoration: none;
			}

#postBody{}
	#postBody .title+*{
		margin-top: 1.5em;
		}

#writerList{}
	#writerList dl{
		position: relative;
		display: -ms-grid;
		-ms-grid-columns: 40% 60%;
		display: grid;
		grid-template-columns: 40% 60%;
		}
		#writerList dt{
			-ms-grid-column: 2;
			-ms-grid-row: 1;
			margin-bottom: 0.5em;
			font-weight: bold;
			line-height: 1.5em;
			text-align: left;
			}
		#writerList dt+dd{
			-ms-grid-column: 1;
			-ms-grid-row: 1;
			-ms-grid-row-span: 3;
			grid-row: 1 / 3;
			margin-right: 1em;
			order: -1;
			}
		#writerList dt+dd+dd{
			-ms-grid-column: 2;
			-ms-grid-row: 2;
			font-size: 0.875em;
			line-height: 1.5em;
			text-align: left;
			}
		#writerList dd{}
			#writerList dd a{
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				opacity: 0;
				}
		#writerList .thumb{
			padding-top: 100%;
			border-radius: 100%;
			}
	#writerList dl+dl{
		margin-top: 1em;
		}

#writer{
	padding-top: 0;
	overflow: hidden;
	}
	#writer header,
	#writer section{
		padding: 0;
		}
	#writer h2{
		display: none;
		}
	#writer h2+div{
		background: #fff;
		border-radius: 12px;
		box-shadow: 2px 3px 3px rgba(0,0,0,0.1);
		overflow: hidden;
		}
		#writer h2+div dt{
			font-weight: bold;
			font-size: 1.1em;
			text-align: left;
			}
		#writer h2+div dt+dd{
			order: -1;
			}
		#writer h2+div dt+dd+dd{
			margin-top: 1em;
			line-height: 1.7em;
			text-align: left;
			}
		#writer h2+div .thumb{
			padding-top: 100%;
			border-radius: 100%;
			}
	#writer section{}
		#writer section dl{
			position: relative;
			display: flex;
			flex-direction: column;
			}
		#writer section dt{
			font-weight: bold;
			line-height: 1.5em;
			}
		#writer section dt+dd{
			margin-bottom: 1em;
			order: -1;
			}
		#writer section dd{}
			#writer section dd a{
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				opacity: 0;
				}
		#writer section .thumb{
			padding-top: 100%;
			border-radius: 12px;
			}
	#writer h3{
		display: none;
		}
	#writer .slick-arrow{
		position: absolute;
		z-index: 1;
		}
	#writer .slick-prev{
		left: 0;
		}
	#writer .slick-next{
		right: 0;
		}

#recommend{
	overflow: hidden;
	}
	#recommend h2{
		display: none;
		}
	#recommend h2+section{
		padding-top: 0;
		}
	#recommend h3{
		position: relative;
		padding-left: calc(4px + 0.5em);
		font-weight: bold;
		font-size: 1.5em;
		}
		#recommend h3:before{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 4px;
			height: 1em;
			background: #00b0ca;
			border-radius: 2px;
			}
	#recommend dt{
		font-size: 1.5em;
		}
	#recommend dt+dd+dd{
		margin-top: 1em;
		color: #666;
		line-height: 1.7em;
		}

.title{
	position: relative;
	padding-left: calc(4px + 0.5em);
	font-weight: bold;
	font-size: 1.5em;
	}
	.title:before{
		content: "";
		position: absolute;
		top: 0.15em;
		left: 0;
		width: 4px;
		height: 1em;
		background: #00b0ca;
		border-radius: 2px;
		}

.photos{}
	.photos li[data-caption]{
		position: relative;
		}
		.photos li[data-caption]:not([data-caption=""]):before{
			content: attr(data-caption);
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			padding: 0.8em;
			background: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,1));
			border-radius: 0 0 12px 12px;
			color: #fff;
			z-index: 1;
			}
	.photos .thumb{
		border-radius: 12px;
		}
	.photos .slide{
		position: relative;
		height: 0;
		opacity: 0;
		transition: opacity 0.2s ease-out;
		}
	.photos .slick-initialized{
		height: auto;
		opacity: 1;
		}
	.photos .slick-list{
		margin: 0 -0.5em;
		}
	.photos .slick-slide{
		margin: 0 0.5em;
		}
	.photos .slick-arrow{
		position: absolute;
		top: 50%;
		z-index: 1;
		}
	.photos .slick-prev{
		left: 0;
		}
	.photos .slick-next{
		right: 0;
		}

.text{}
	.text .fr-view{
		color: #000;
		line-height: 1.7em;
		}

.links{}
	.links ul{
		display: flex;
		}
	.links li{
		display: flex;
		}
		.links li a{
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			padding: 1em;
			padding-right: 3em;
			background: #fff;
			border: 1px solid #b2b6bc;
			border-radius: 6px;
			color: inherit;
			font-weight: bold;
			text-align: center;
			line-height: 1.5em;
			text-decoration: none;
			}
			.links li a:hover{
				background: #e6f3f5;
				border-color: currentColor;
				color: #1696ac;
				}
		.links li i{
			position: absolute;
			top: calc(50% - 0.5em);
			right: 1em;
			}

.comment{}
	.comment dl+dl{
		margin-top: 1em;
		}
	.comment dl{
		display: -ms-grid;
		-ms-grid-columns: 5em 2em auto;
		display: grid;
		grid-template-columns: 5em auto;
		grid-gap: 0 2em;
		align-content: center;
		}
		.comment dt{
			-ms-grid-column: 1;
			-ms-grid-row: 2;
			color: #000;
			font-size: 0.875em;
			font-weight: bold;
			line-height: 1.5em;
			margin-bottom: 0.5em;
			text-align: center;
			}
		.comment dt+dd{
			margin-bottom: 0.5em;
			-ms-grid-column: 1;
			-ms-grid-row: 1;
			order: -1;
			}
		.comment dt+dd+dd{
			position: relative;
			-ms-grid-column: 3;
			-ms-grid-row: 1;
			-ms-grid-row-span: 4;
			grid-column: 2;
			grid-row: 1 / 4;
			align-self: flex-start;
			padding: 1em;
			background: #d2f2f7;
			border-radius: 6px;
			font-weight: bold;
			line-height: 1.5em;
			text-align: left;
			}
			.comment dt+dd+dd:before{
				content: "";
				position: absolute;
				top: 0.8em;
				left: -2em;
				border: 1em solid transparent;
				border-right-color: #d2f2f7;
				transform: scaleY(0.6);
				}
		.comment .thumb{
			padding-top: 100%;
			border-radius: 100%;
			background: rgba(0,0,0,0.05);
			}





/* for all */
@media (max-width: 1199.98px) {
/*1199px以下*/
}
@media (max-width: 991.98px) {
/*991px以下*/
#writer{}
	#writer h2+div{
		padding: 1.5em;
		}
}


/* for mobile */
@media (max-width: 767.98px) {
/*767以下px*/
#post{
	padding-bottom: 2em;
	}
	#post section{
		padding: 0 1.5em;
		}
		#post section > *{
			margin-top: 2em;
			}
#postIndex{
	padding: 1.5em;
	}
#writer{}
	#writer section{
		margin-top: 1em;
		}
	#writer .slick-arrow{
		position: absolute;
		}
	#writer .slick-list{
		margin: 0 -0.5em;
		}
	#writer .slick-slide{
		margin: 0 0.5em;
		}
.links{}
	.links ul{
		flex-direction: column;
		align-items: center;
		}
	.links li{
		width: 100%;
		max-width: 24em;
		}
	.links li+li{
		margin-top: 1em;
		}
}
@media (max-width: 767.98px) and (orientation:portrait) {
/*767px以下 縦向き*/
#sidebar{
	display: flex;
	flex-direction: column;
	}
#profile{}
	#profile section{
		margin-top: 2em;
		}
#prBanner{
	order: -1;
	}
#writer{}
	#writer h2+div{}
		#writer h2+div dl{
			display: flex;
			flex-direction: column;
			align-items: center;
			}
		#writer h2+div dt{
			text-align: center;
			}
		#writer h2+div dt+dd{
			margin-bottom: 1em;
			width: 10em;
			}
	#writer .slick-arrow{
		top: 5.6em;
		}
}
@media (max-width: 767.98px) and (orientation:landscape) {
/*767px以下 横向き*/
#writer{}
	#writer .slick-list{
		padding: 0 calc(25vw - 0.5em);
		}
	#writer .slick-arrow{
		top: 5.6em;
		}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
/*767px以下 横向き, 768px以上,*/
#postHeader{}
	#postHeader h2+div+div{
		padding: 0 1em;
		}
#writer{}
	#writer h2+div{}
		#writer h2+div dl{
			display: -ms-grid;
			-ms-grid-columns: 10em 1.5em auto;
			display: grid;
			grid-template-columns: 10em auto;
			grid-gap: 0 1.5em;
			}
		#writer h2+div dt{
			-ms-grid-column: 3;
			-ms-grid-row: 1;
			}
		#writer h2+div dt+dd{
			-ms-grid-column: 1;
			-ms-grid-row: 1;
			-ms-grid-row-span: 4;
			grid-row: 1 / 4;
			}
		#writer h2+div dt+dd+dd{
			-ms-grid-column: 3;
			-ms-grid-row: 2;
			}
#recommend{}
	#recommend dt+dd+dd{
		-ms-grid-column: 2;
		-ms-grid-row: 2;
		}
}
@media (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
/*767px以下 横向き, 768px～991px*/
#profile{}
	_:-ms-lang(x)::-ms-backdrop, #profile{
		display: flex;
		justify-content: space-between;
		width: 100%;
		}
	#profile > *{
		width: calc(50% - 1em);
		}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
#writer{}
	#writer section{
		margin-top: 1.5em;
		}
	#writer .slick-list{
		margin: 0 -0.75em;
		}
	#writer .slick-slide{
		margin: 0 0.75em;
		}
.links{}
	.links ul{
		justify-content: center;
		}
	.links li+li{
		margin-left: 1em;
		}
}
@media (min-width: 768px) and (max-width: 1199.98px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991.98px) {
/*768px～991px*/
#post{
	padding-bottom: 2em;
	}
	#post section{
		padding: 0 2em;
		}
		#post section > *{
			margin-top: 3em;
			}
#postIndex{
	padding: 2em;
	}
#profile{}
	#profile > *{
		width: calc(50% - 1.5em);
		}
#writer{}
	#writer .slick-arrow{
		top: 6em;
		}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
#post{
	padding-bottom: 3em;
	}
	#post section{
		padding: 0 3em;
		}
		#post section > *{
			margin-top: 3em;
			}
#postIndex{
	padding: 3em;
	}
#sidebar{
	display: flex;
	flex-direction: column;
	padding-bottom: 0;
	}
	_:-ms-lang(x)::-ms-backdrop, #sidebar{
		display: block;
		}
#profile{}
	#profile section{
		margin-top: 2em;
		}
#prBanner{
	order: -1;
	}
	_:-ms-lang(x)::-ms-backdrop, #prBanner{
		order: 0;
		}
#writer{}
	#writer h2+div{
		padding: 2em;
		}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
/*992px～1199px*/
#writer{}
	#writer .slick-arrow{
		top: 6.2em;
		}
}
@media (min-width: 1200px) {
/*1200px以上*/
#writer{}
	#writer .slick-arrow{
		top: 6.6em;
		}
}



