@charset "utf-8";

/* ========================================================
	writer.css
======================================================== */

/* writer_list
============================================================================================================ */
.writer_list {
	position: relative;
	padding-top: 80px;
	padding-bottom: 120px;
}
.writer_list::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: calc(50% + 450px);
	width: 100vw;
	background-color: #f2f2f2;
	z-index: 2;
}
.writer_list section + section {
	margin-top: 60px;
	padding-top: 60px;
	border-top: 2px solid #e5e5e5;
}
.writer_list section > * {
	position: relative;
	z-index: 2;
}
.writer_list section .ph img {
	border-radius: 100%;
}
.writer_list section .btn {
	margin-top: 30px;
}
@media screen and (min-width: 768px), print {
	.writer_list section .ph {
		float: left;
		width: 200px;
		height: 200px;
	}
	.writer_list section .ph ~ * {
		margin-left: 280px;
	}
	.writer_list section .btn a {
		margin-left: 0;
	}
}
@media screen and (max-width: 767px) {
	.writer_list {
		padding-top: 40px;
		padding-bottom: 80px;
	}
	.writer_list::before {
		right: calc(50% + 100px);
	}
	.writer_list section + section {
		margin-top: 40px;
		padding-top: 40px;
	}
	.writer_list section {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	.writer_list section .ph {
		width: 28vw;
		height: 28vw;
		margin-bottom: 20px;
	}
	.writer_list section h2 {
		width: calc(100% - 28vw - 20px);
		margin-bottom: 20px;
		line-height: 1.4;
	}
	.writer_list section h2 ~ * {
		width: 100%;
	}
	.writer_list section .btn {
		margin-top: 20px;
	}
}

/* writer_info
============================================================================================================ */
.writer_info {
	position: relative;
	margin-top: 80px;
	margin-bottom: 120px;
}
.writer_info .ph {
	position: relative;
}
.writer_info .ph img {
	border-radius: 100%;
}
@media screen and (min-width: 768px), print {
	.writer_info .ph {
		float: left;
		width: 200px;
		height: 200px;
	}
	.writer_info .ph ~ * {
		margin-left: 280px;
	}
	.writer_info .btn a {
		margin-left: 0;
	}
}
@media screen and (max-width: 767px) {
	.writer_info {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		margin-top: 30px;
		margin-bottom: 60px;
	}
	.writer_info .ph {
		width: 28vw;
		height: 28vw;
		margin-bottom: 20px;
	}
	.writer_info h1 {
		width: calc(100% - 28vw - 20px);
		margin-bottom: 20px;
		line-height: 1.4;
	}
	.writer_info h1 ~ * {
		width: 100%;
	}
	.writer_info .btn {
		margin-top: 20px;
	}
}
