@charset "utf-8";

.chapter-body {
	width: 100%;
	margin: 0 auto 20px;
	padding: 0;
}

/* ------ */

.entry {
	position: relative;
	margin-bottom: 40px;
	padding: 20px 0;
	box-sizing: border-box;
	background-color: #fff;
	border-radius: 5px;
	box-sizing: border-box;
}

/* ------ */

.entry__header {
	width: calc(100% - 40px);
	margin: 0 auto 20px;
}

.entry__header > * {
	margin-bottom: 0.25em;
}

.entry__header > *:last-child {
	margin-bottom: 0;
}

.entry__ttl {
	font-weight: 600;
	font-size: 1.6rem;
	word-wrap: break-word;
	
}

.entry__ttl a:first-letter {
}

.entry__ttl a {
	text-decoration: none;
}

.entry__ttl a:hover {
	text-decoration: underline;
}

.entry__date {
	margin: 0;
}

/* ------ */

.entry__body-outer {
	
}

.entry__body {
	position: relative;
	width: calc(100% - 40px);
	margin: auto;
	padding: 30px 0;
}

.entry__body:before {
	position: absolute;
	display: block;
	left: 0;
	top: 0;
	width: 100%;
	height: 1px;
	background-color: rgba(0,0,0,0.1);
	content: "";
}

.entry__body > *:last-child {
	margin-bottom: 0;
}

/* ------ */

.entry__footer {
	position: relative;
	width: calc(100% - 40px);
	margin: auto;
	padding: 10px 0;
	font-size: 1.1rem;
}

.entry__footer:before {
	position: absolute;
	display: block;
	left: 0;
	top: 0;
	width: 100%;
	height: 1px;
	background-color: rgba(0,0,0,0.1);
	content: "";
}

.entry__footer > * {
	margin-bottom: 0;
}

.entry__footer-inner {
	display: flex;
	justify-content: space-between;
	width: 100%;
	border-top: 1px solid rgba(0,0,0,0.1);
	padding-top: 20px;
}

.entry__footer-inner > * {
	margin-bottom: 0;
}

.entry__meta {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.meta__item {
	min-width: 120px;
	margin-right: 0;
	padding: 0 20px 0 0;
	box-sizing: border-box;
}

.meta__item dt,
.meta__item dd {
	padding: 0;
	margin-left: 0;
}

.meta__item dt:after {
	content: " :";
}

.meta__item ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.meta__item li {
	display: inline-flex;
	flex-wrap: wrap;
	margin-right: 0.5em;
	margin-bottom: 0.5em;
}

.meta__item a {
	position: relative;
	
	padding: 0.5em;
	box-sizing: border-box;
	display: inline-block;
	line-height: 1;
	text-decoration: none;
}
.meta__item a:before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	content: "";
	border: 1px solid currentColor;
	border-radius: 5px;
	opacity: 0.3;
	box-sizing: border-box;
	transition: inherit;
}

.meta__item a:hover:before {
	opacity: 1;
}

.post-categories {
	
}

.post-tags {
	
}

.meta__item li:last-child {
	margin-right: 0;
}

@media screen and (min-width: 768px) {
	
	.entry {
		padding: 60px 0;
	}
	
	.entry__header {
		width: calc(100% - 100px);
		margin-bottom: 50px;
	}
	
	.entry__body-outer {
		display: flex;
		justify-content: space-between;
		width: calc(100% - 100px);
		margin: 0 auto;
	}
	
	.entry__body {
		width: calc(77.5% - 60px);
		padding: 40px 0 0;
		margin: 0;
	}
	
	.entry__footer {
		flex-direction: column;
		width: 22.5%;
		max-width: 220px;
		padding: 40px 0 0;
		margin: 0;
	}
	
	.meta__item {
		width: 100%;
		margin-top: 0;
		margin-bottom: 15px;
	}
	
	.entry__body:before,
	.entry__footer:before {
		width: 60px;
	}
	
}

@media screen and (min-width: 1024px) {
	
	.entry__ttl {
		font-size: 2.4rem;
	}
	
	.entry__date:before {
		right: calc(100% + 30px);
	}
	
}


/* -------------------------------------------- */
/* paging */

.paging {
	position: relative;
	display: flex;
	flex-direction: column-reverse;
	width: calc(100% - 50px);
	margin: 20px auto;
}

.paging__detail {
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding-left: 0;
	list-style: none;
}

.paging__detail li {
	
}

.paging__detail a {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.paging__detail a > span {
	display: flex;
	align-items: center;
}

.paging__detail .icon {
	margin: 0.25em;
}


/* ------------------------------------------------- */

@media screen and (min-width: 374px) {
	
}

@media screen and (min-width: 541px) {
	
}

@media screen and (min-width: 768px) {
	.detail .part-header {
		margin-bottom: 40px;
	}
	
	.detail .part-header .ttl {
		font-size: 1.6rem;
	}
	
	
	.paging {
		flex-direction: row;
		justify-content: space-between;
	}
	
	.paging__back-to-index {
		position: relative;
		margin: 0;
	}
	
	.paging__detail {
		
	}
	
	.paging__detail li {
		
	}
}

@media screen and (min-width: 1024px) {
	.paging {
		width: 100%;
	}
	
}

