@charset "utf-8";

/* ===========================================
	common
============================================== */
.article_area {
	padding-top: 6.4667rem;
	padding-bottom: 0;
	background-color: var(--white_color);
}

.article_wrap {
	grid-template-columns: 13.7334rem auto;
	grid-template-rows: auto 11.8667rem;
	gap: 5.4667rem 10.2667rem;
}

.cate_ttl,
.cate_list > li > a {
	display: inline-block;
}

.cate_ttl {
	margin-bottom: 1.6rem;
	padding: 4px 10px;
	font-size: 1.0667rem;
}

.cate_ttl::after {
	right: -11px;
	border-top: 12px solid rgba(255, 255, 255, 0);
	border-bottom: 12px solid rgba(255, 255, 255, 0);
	border-left: 11px solid var(--black_color);
}

.cate_list {
	flex-direction: column;
	row-gap: 1.0667rem;
}

.cate_list > li > a {
	padding: 3px 9px 4px;
	font-size: 1rem;
}

.post_article {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	max-width: 52rem;
	width: 100%;
}

.post_date_wrap {
	align-items: center;
	column-gap: 1.6rem;
	margin-bottom: 2.2rem;
}

.post_cate {
	position: static !important;
	padding: 4px 9px 5px;
	font-size: 0.9334rem;
	letter-spacing: 0.05em;
	line-height: 1;
	background-color: var(--black_color);
	border-radius: 5px;
}

.post_ttl_h1 {
	margin-bottom: 3rem;
	font-weight: 500;
	font-size: 1.7334rem;
	line-height: 1.5;
}

.eye_catch_wrap {
	margin-bottom: 4.2667rem;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1024px) {
	.article_area {
		padding-top: 4.2667rem;
	}

	.article_wrap {
		gap: 6vw;
	}

	.cate_list_wrap {
		margin-bottom: 0;
	}

	.cate_ttl {
		margin-bottom: 1.0667rem;
		font-size: 0.9334rem;
	}

	.cate_ttl::after {
		right: -11px;
		border-top: 11px solid rgba(255, 255, 255, 0);
		border-right: 0;
		border-bottom: 11px solid rgba(255, 255, 255, 0);
		border-left: 11px solid var(--black_color);
	}

	.cate_list {
		gap: 8px;
	}

	.cate_list > li > a {
		padding: 2px 8px 3px;
		font-size: 1rem;
	}

	.post_date_wrap {
		margin-bottom: 1.0667rem;
	}

	.post_cate {
		padding: 4px 8px;
		font-size: 0.8rem;
	}

	.post_ttl_h1 {
		font-size: 1.5334rem;
	}

	.eye_catch_wrap {
		margin-bottom: 3.7334rem;
	}
}

@media screen and (max-width: 680px) {
	.article_wrap {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.cate_list_wrap {
		grid-column: 1 / 2;
	}

	.post_article {
		grid-column: 1 / 2;
		padding-bottom: 4.667rem;
	}
}

/* ===========================================
	post_nav_area
============================================== */
.post_nav_area {
	grid-column: 1 / 3;
	grid-row: 2 / 3;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding-top: 4.2667rem;
	padding-bottom: 4.2667rem;
	width: 100vw;
	border-top: solid 2px var(--black_color);
	background-size: 128rem;
	background-position: center top;
	background-repeat: repeat;
	background-image: url(../images/common/blue_bg.png);
}

.post_nav_inner {
	justify-content: space-between;
	align-items: center;
	column-gap: 4rem;
	margin-right: auto;
	margin-left: auto;
	max-width: 69.334rem;
	width: 100%;
}

.post_prev_wrap,
.post_next_wrap {
	width: 8.1334rem;
	height: 3.334rem;
}

.post_prev_wrap,
.home_back_wrap,
.post_next_wrap {
	position: relative;
}

.post_prev,
.home_back,
.post_next {
	justify-content: center;
	align-items: center;
	column-gap: 0.7334em;
	padding-top: 1rem;
	padding-bottom: 1rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1.4rem;
}

.post_prev:hover,
.home_back:hover,
.post_next:hover {
	opacity: 0.6;
}

.post_prev {
	padding-left: 2.5334rem;
}

.post_next {
	padding-right: 2.5334rem;
}

.post_prev::before,
.post_next::after {
	content: '';
	position: absolute;
	top: 0.6rem;
	width: 2rem;
	height: 2rem;
	background-size: 2rem;
	background-position: center;
}

.post_prev::before {
	left: 0;
	background-image: url(../images/common/prev.png);
}

.post_next::after {
	right: 0;
	background-image: url(../images/common/next.png);
}

.home_back {
	padding: 8px 1.6rem;
	text-align: center;
	border: solid 2px var(--black_color);
	background-color: var(--white_color);
	border-radius: 9999px;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1140px) {
	.post_nav_inner {
		max-width: calc(100% - 8rem);
	}
}

@media screen and (max-width: 1024px) {
	.post_nav_inner {
		column-gap: 1.5334rem;
	}
}

@media screen and (max-width: 768px) {
	.post_nav_area {
		padding-top: 2.667rem;
		padding-bottom: 4.2667rem;
	}

	.post_nav_inner {
		align-items: flex-start;
		max-width: calc(100% - 4rem);
	}

	.post_prev_wrap,
	.post_next_wrap {
		margin-top: -0.5rem;
		width: 4rem;
		height: 4.8667rem;
	}

	.post_prev,
	.post_next {
		padding-top: 3rem;
		font-size: 1rem;
	}

	.post_prev {
		padding-left: 0;
	}

	.home_back {
		padding: 7px 1.2rem 8px;
		font-size: 1.2rem;
	}

	.post_next {
		padding-right: 0;
	}
}

@media screen and (max-width: 680px) {
	.post_nav_area {
		padding-top: 3.0667rem;
		padding-bottom: 3.2rem;
	}

	.cate_list_wrap {
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
		padding-right: calc(50vw - 50%);
		padding-left: calc(50vw - 50%);
		padding-bottom: 3.2rem;
		background-size: 128rem;
		background-position: center top;
		background-repeat: repeat;
		background-image: url(../images/common/blue_bg.png);
	}

	.cate_list {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

/* ===========================================
	interview_single
============================================== */
.single-interview .article_area {
	padding-bottom: 8.2667rem;
}

.interview_ttl_h2,
.interview_ttl_h2 > span,
.name_catch,
.name_txt,
.name_txt > span {
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.05em;
}

.interview_ttl_h2 {
	margin-bottom: 2.667rem;
	text-align: left;
}

.interview_ttl_h2 > span {
	padding: 5px 0.8rem;
	font-size: 2.5334rem;
	line-height: 2;
	background-color: var(--green_color);
	/*インライン要素の途切れた行に対してもパディングと背景を独立して適用する*/
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.name_wrap {
	margin-bottom: 5.334rem;
}

.name_catch {
	margin-bottom: 0.8rem;
	font-size: 1.2667rem;
	color: #008933;
}

.name_txt {
	font-size: 2.2rem;
}

.name_txt > span {
	font-size: 1.2rem;
}

.main_photo_wrap {
	margin-bottom: 5.334rem;
}

.work_cont {
	margin-bottom: 5.334rem;
	padding: 3.0667rem 4rem 2.7334rem;
	background-color: var(--black_color);
	border-radius: 10px;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-style: normal;
	color: var(--white_color);
	letter-spacing: 0.05em;
}

.work_inner {
	column-gap: 6.667rem;
	padding-bottom: 3.0667rem;
	border-bottom: solid 1px var(--white_color);
}

.work_cont_ttl_wrap {
	width: 17.4667rem;
	align-items: center;
	column-gap: 1.8rem;
}

.work_cont_ttl {
	font-weight: 400;
	font-size: 1.5334rem;
}

.work_cont_txt {
	width: calc(100% - 24.1337rem);
}

.work_cont_txt {
	font-size: 0.9334rem;
	line-height: 2;
}

.license_wrap {
	align-items: center;
	column-gap: 6.8rem;
	padding-top: 2.4667rem;
}

.license_ttl {
	padding: 4px 10px 6px;
	font-size: 1.1334rem;
	color: var(--black_color);
	letter-spacing: 0.05em;
	white-space: nowrap;
	background-color: var(--green_color);
	border-radius: 2px;
}

.license_txt {
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.license_txt > span + span::before {
	content: '／';
	margin-left: -0.5rem;
}

.faq_list_item {
	column-gap: 3.6rem;
	padding-bottom: 5.334rem;
}

.faq_list_item + .faq_list_item {
	padding-top: 5.334rem;
	border-top: solid 1px var(--black_color);
}

.question_item,
.question_wrap > h3 > span {
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-style: normal;
}

.question_wrap {
	max-width: 31.0067rem;
	width: 100%;
}

.question_item {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 9.0667rem;
	margin-bottom: 0.8rem;
	padding-bottom: 4px;
	width: 3.8rem;
	height: 3.8rem;
	font-size: 2.4rem;
	line-height: 1;
	background-color: var(--green_color);
	border-radius: 9999px;
}

.question_wrap > h3 > span {
	padding: 8px 8.5px;
	font-size: 1.667rem;
	color: var(--white_color);
	background-color: var(--black_color);
	letter-spacing: 0.05em;
	line-height: 2.4;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.answer_txt {
	padding-top: 4.6rem;
	width: 100%;
	font-weight: 400;
	font-size: 1.0667rem;
	line-height: 2;
}

.work_photo_wrap {
	margin-bottom: 5.9334rem;
	column-gap: 4rem;
}

.work_photo {
	width: calc(50% - 2rem);
}

.work_photo:nth-child(2) {
	margin-top: 11.8667rem;
}

.schedule_cont {
	position: relative;
	column-gap: 4rem;
	margin-bottom: 5.334rem;
	padding: 3.334rem 2.667rem 3.2rem;
	border: solid 2px var(--black_color);
	border-radius: 10px;
}

.schedule_ttl_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 8px;
	position: absolute;
	top: -3.1334rem;
	left: 1.334rem;
	width: 15.8rem;
	height: 3.1334rem;
	background-color: var(--green_color);
	border: solid 2px var(--black_color);
	border-radius: 5px 5px 0 0;
}

.schedule_ttl {
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1.5334rem;
}

.schedule_list {
	width: calc(100% - 1.6rem);
}

.schedule_list > li {
	display: flex;
	align-items: flex-start;
	column-gap: 1.0667rem;
	padding-bottom: 0.8rem;
	border-bottom: solid 1px #bababa;
}

.schedule_list > li + li {
	padding-top: 1.6rem;
}

.time {
	padding: 8px 9px;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1rem;
	font-style: normal;
	color: var(--white_color);
	letter-spacing: 0.05em;
	line-height: 1;
	background-color: var(--black_color);
	border-radius: 5px;
}

.schedule_list_ttl {
	margin-bottom: 8px;
	font-weight: 500;
	font-size: 1.2667rem;
	letter-spacing: 0.05em;
}

.schedule_list_cont > p {
	font-weight: 400;
	font-size: 0.9334rem;
	line-height: 1.5;
}

.last_photo_wrap {
	margin-bottom: 5.334rem;
}

.more_btn {
	margin-right: auto;
	margin-left: auto;
}

.more_btn::before {
	left: 7rem;
}

.interview_area {
	padding-top: 5.5334rem;
	padding-bottom: 4.0667rem;
}

.interview_area .interview_ttl_h2 {
	position: relative;
	margin-right: auto;
	margin-bottom: 4.2667rem;
	margin-left: auto;
	padding-left: 4.0667rem;
	width: 23.5rem;
	font-size: 1.5334rem;
}

.interview_area .interview_ttl_h2::before {
	content: '';
	position: absolute;
	left: 0;
	width: 3rem;
	height: 2.667rem;
	background-position: center;
	background-size: contain;
	background-image: url(../images/common/interview.png);
}

.interview_cont {
	grid-template-columns: repeat(2, 20.667rem);
	column-gap: 6.9334rem;
	justify-content: center;
	margin-bottom: 0;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1280px) {
	.main_photo_wrap > picture > img {
		width: 100%;
		height: auto;
	}

	.interview_cont {
		grid-template-columns: repeat(2, 16rem);
	}
}

@media screen and (max-width: 1024px) {
	.single-interview .article_area {
		padding-bottom: 5.6rem;
	}

	.interview_ttl_h2 > span {
		font-size: 1.667rem;
		line-height: 2;
	}

	.name_wrap {
		margin-bottom: 2.8667rem;
	}

	.name_catch {
		font-size: 1rem;
	}

	.name_txt {
		font-size: 1.5334rem;
	}

	.name_txt > span {
		font-size: 0.8667rem;
	}

	.main_photo_wrap {
		margin-bottom: 3.7334rem;
	}

	.work_cont {
		margin-bottom: 3.7334rem;
		padding: 3.2rem 1.667rem;
	}

	.work_inner {
		gap: 2.1334rem;
		padding-bottom: 2.1334rem;
	}

	.work_cont_ttl_wrap {
		gap: 1.0667rem;
		width: 15.3rem;
	}

	.work_cont_ttl {
		font-size: 1.2667rem;
	}

	.work_cont_txt {
		width: calc(100% - 15.3rem);
	}

	.license_wrap {
		gap: 1.0667rem;
		padding-top: 2.1334rem;
	}

	.license_ttl {
		padding: 4px 10px 5px;
		font-size: 0.8667rem;
	}

	.faq_list_item {
		gap: 2.1334rem;
		padding-bottom: 3.7334rem;
	}

	.faq_list_item + .faq_list_item {
		padding-top: 2.1334rem;
	}

	.question_wrap {
		max-width: 25.5334rem;
	}

	.question_item {
		margin-bottom: 6px;
		padding-bottom: 2px;
		width: 2.667rem;
		height: 2.667rem;
		font-size: 1.667rem;
	}

	.question_wrap > h3 > span {
		padding: 8px;
		font-size: 1.4rem;
	}

	.answer_txt {
		padding-top: 2.8rem;
	}

	.work_photo_wrap {
		column-gap: 1.0667rem;
	}

	.work_photo {
		width: calc(100% - 0.8rem);
	}

	.schedule_cont {
		margin-bottom: 3.7334rem;
		padding: 2.1334rem 1.667rem 2.667rem;
		gap: 1.0667rem;
	}

	.schedule_ttl {
		font-size: 1.2667rem;
	}

	.schedule_ttl_wrap {
		top: -2.9334rem;
		width: 14.4rem;
		height: 2.9334rem;
	}

	.schedule_list > li {
		padding-bottom: 1.0667rem;
	}

	.schedule_list > li + li {
		padding-top: 1.0667rem;
	}

	.time {
		padding: 4px;
		font-size: 0.9334rem;
	}

	.schedule_list_ttl {
		font-size: 1.1334rem;
		line-height: 1.3;
		margin-bottom: 6px;
	}

	.interview_area {
		padding-top: 4.2667rem;
	}

	.interview_area .interview_ttl_h2 {
		margin-bottom: 3.3rem;
		padding-top: 2.9334rem;
		padding-left: 0;
		width: auto;
		text-align: center;
	}

	.interview_area .interview_ttl_h2::before {
		top: 0;
		right: 0;
		left: 0;
		margin: auto;
	}
}

@media screen and (max-width: 860px) {
	.interview_cont {
		display: grid;
	}
}

@media screen and (max-width: 768px) {
	.main_photo_wrap,
	.last_photo_wrap {
		margin-right: -2rem;
		margin-left: -2rem;
		width: 100vw;
	}

	.work_cont_ttl_wrap,
	.work_inner {
		flex-direction: column;
	}

	.work_cont_ttl_wrap,
	.work_cont_txt {
		width: 100%;
	}

	.faq_list_item {
		flex-direction: column;
	}

	.question_wrap {
		width: 100%;
	}

	.answer_txt {
		padding-top: 0;
	}

	.work_photo:nth-child(2) {
		margin-top: 15vw;
	}

	.schedule_cont + ul {
		margin-bottom: 2.1334rem;
	}

	.more_btn::before {
		left: 3.2rem;
	}

	.interview_cont {
		column-gap: 2.667rem;
	}
}

@media screen and (max-width: 640px) {
	.interview_ttl_h2 > span > br {
		display: none;
	}

	.name_txt {
		line-height: 1.5;
	}

	.name_txt > span:first-of-type {
		display: block;
	}

	.schedule_ttl_wrap {
		top: -1.9rem;
		right: 0;
		left: 0;
		margin: auto;
	}

	.schedule_cont {
		flex-direction: column;
		padding-top: 3.2rem;
	}

	.schedule_list {
		width: 100%;
	}

	.interview_cont {
		grid-template-columns: 1fr;
		row-gap: 2.667rem;
		justify-content: center;
		justify-items: center;
	}
}

@media screen and (max-width: 540px) {
	.license_wrap {
		flex-direction: column;
		align-items: flex-start;
	}

	.license_txt {
		line-height: 1.5;
	}

	.work_photo_wrap {
		flex-direction: column;
		row-gap: 1.0667rem;
	}

	.work_photo {
		width: 100%;
	}

	.work_photo:nth-child(2) {
		margin-top: 0;
	}

	.schedule_list > li {
		flex-direction: column;
		row-gap: 1.0667rem;
	}
}

@media screen and (max-width: 480px) {
	.main_photo_wrap {
		margin-right: -1.334rem;
		margin-left: -1.334rem;
	}
}
