/* CSS Reset */
* {margin: 0; padding: 0; color: #343a40; font-weight: normal;}
a {text-decoration: none;}
a:link, a:visited, a:hover, a:active {color: #343a40;}
ul li {list-style: none;}
img {vertical-align: top;}
b {font-weight: bold;}

/* Common */
header {
	position: fixed;
	background: white;
	width: 100%;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #ddd;
	z-index: 1;
}
header h1 a {
	display: flex;
	align-items: center;
	padding: 40px 80px;
}
header h1 a img {
	height: 40px;
	margin-right: 3px;
}
header h1 a span {
	font-size: 1.25rem;
	font-weight: bold;
}

header nav {
	padding: 40px 80px;
}
header nav ul {
	height: 100%;
	display: flex;
	align-items: center;
	margin-right: 30px;
}
header nav ul li {
	margin: 10px;
}
header nav ul li a{
	color: #999 !important;
}
header nav ul li a:hover {
	color: #59007e !important;
}


section {
	padding-top: 120px;
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}

article {
	border-bottom: 1px solid #ddd;
	margin: 30px 0;
	padding-bottom:30px;
}
article:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
article a {
	display: flex;
	height: 200px;
}
article a .list_thumb {
	flex-grow: 1;
	width: 30%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top;
}
article a .list_desc {
	width: 70%;
	flex-grow: 2;
	overflow: hidden;
	margin: 20px;
}
article a .list_desc:hover h2 {
	color: #59007e;
}
article a .list_desc h2 {
	font-weight: bold;
	margin-bottom: 10px;
	font-size: 1.5rem;
}
article a .list_desc p {
	line-height: 1.5;
	margin-bottom: 10px;
	white-space: normal;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.paging {
	text-align: center;
}
.paging a:hover {
	color: #59007e;
	cursor: pointer;
}

.article_desc > a {
	color: #59007e;
	font-size: 0.9rem;
}
.article_desc > h2 {
	font-weight: bold;
	font-size: 1.5rem;
	margin: 10px 0;
}
.article_desc > p {
	color: #999;
	font-size: 0.9rem;
	padding-bottom: 15px;
	border-bottom: 1px solid #ddd;
}

.tt_article_useless_p_margin {
	padding-top: 30px;
	line-height: 1.8;
}
.another_category {
	display: none;
}


footer {
	border-top: 1px solid #ddd;
	margin-top: 30px;
	padding-top: 30px;
}
footer .sns {
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
}
footer .sns img {
	width: 50px;
}
footer div {
	text-align: center;
}
footer .author {
	margin-top: 10px;
	margin-bottom: 40px;
	font-size: 0.9rem;
	color: #999;
}

.tag {
	color: white;
}
.tag a {
	border-radius: 7px;
	border: 1px solid #ddd;
	padding: 5px 10px;
	color: #999;
	display: inline-block;
	margin-bottom: 5px;
}
.tag a:hover {
	border-color: #59007e;
	color: #59007e;
}

.related_article {
	margin-top:40px;
}
.related_article h3 {
	font-size: 1.2rem;
	font-weight: bold;
	color: #59007e;
	margin-bottom: 15px;
}
.related_article ul {
	display: flex;
	height: 180px;
	justify-content: space-between;
}
.related_article ul li {
	height: 100%;
	width: 24.5%;
}
.related_article ul li a {
	height: 100%;
	display: inline-block;
	width: 100%;
	position: relative;
}
.related_article ul li a .related_image {
	display: inline-block;
	height: 100%;
	width: 100%;
}
.related_article ul li a .related_text {
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.related_article ul li a .related_text h4 {
	color: #ddd;
	font-size: 1rem;
	text-align: center;
	margin-bottom: 5px;
}
.related_article ul li a .related_text p {
	color: #ddd;
	font-size: 0.9rem;
	text-align: center;
}
.related_article ul li a:hover .related_text h4, .related_text p {
	color: white;
}

.comment {
	margin-top: 40px;
}

.comment h3 {
	font-size: 1.2rem;
	font-weight: bold;
	color: #59007e;
	margin-bottom: 15px;
}

.comment .comment_write .guest_comment {
	margin-bottom: 10px;
}
.comment .comment_write .guest_comment input {
	width: 47%;
	padding: 8px;
	font-size: 0.9rem;
}

.comment .comment_write .secret_comment label {
	cursor: pointer;
}
@media all and (max-width: 839px) {
	.comment .comment_write .guest_comment input {
		width: 100%;
		margin-bottom: 10px;
	}
}
@media all and (max-width: 833px) {
	.related_article {
		margin-bottom: 210px;
	}
	.related_article ul {
		flex-wrap: wrap;
	}
	.related_article ul li {
		width: 49.7%;
		margin-bottom: 5px;
	}
}
@media all and (max-width: 783px) {
	article a .list_desc p {
		-webkit-line-clamp: 2;
	}
}

@media all and (max-width: 727px) {
	header {
		flex-direction: column;
	}
	header h1 a {
		display: inline-block;
		text-align: center;
		width: 100%;
		text-align: center;
		padding: 20px 0;
	}
	header nav {
		position: absolute;
		padding: 0;
		top: 80px;
		width: 100%;
		border-top: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
		padding: 5px 0;
		background: white;
	}
	header nav ul {
		margin: 0;
		justify-content: center;
	}
	section {
		padding-top: 130px;
	}
	article:last-child {
		margin-bottom: 0;
	}
	article a {
		display: block;
		height: auto;
	}
	article a .list_thumb {
		height: 200px;
		width: 100%;
	}
	article a .list_desc {
		width: 100%;
		margin: 0;
	}
	article a .list_desc h2 {
		margin-top: 20px;
		font-size: 1.2rem;
	}
	article a p:nth-of-type(1) {
		display: none;
	}
}