@charset "UTF-8";
.c-heading-primary--bg {
	margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
	.c-heading-primary--bg {
		margin-bottom: 25px;
	}
}

/* mail */
.p-link-mail {
	display: inline-block;
	position: relative;
	color: #CC0000;
	margin-left: 20px;
	border-bottom: 1px solid transparent;
	transition: all 0.3s ease;
}
@media only screen and (min-width: 768px) {
	.p-link-mail:hover {
		border-bottom: 1px solid #CC0000;
	}
}
.p-link-mail::before {
	content: "\e93d";
	display: inline-block;
	position: absolute;
	top: 2px;
	left: -20px;
	font-size: 1.6rem;
	font-family: "icomoon" !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: inherit;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
@media only screen and (max-width: 767px) {
	.p-link-mail::before {
		font-size: 1.4rem;
		top: 0;
	}
}

/* p-news-pickup  */
.p-news-pickup {
	margin-top: 100px;
}
@media only screen and (max-width: 767px) {
	.p-news-pickup {
		margin-top: 80px;
	}
}
.p-news-pickup .c-news__detail {
	padding-top: 8px;
	padding-bottom: 0;
}
@media only screen and (max-width: 767px) {
	.p-news-pickup .c-news__detail {
		padding-bottom: 13px;
	}
}
.p-news-pickup .c-news__item:first-child .c-news__detail {
	padding-top: 0;
}

/* p-lead  */
.p-lead .p-lead__text {
	margin-top: 35px;
}
@media only screen and (max-width: 767px) {
	.p-lead .p-lead__text {
		margin-top: 20px;
	}
}

.p-lead__mv {
	position: relative;
}
.p-lead__mv .p-lead__catch {
	position: absolute;
	top: 54px;
	left: 40px;
}
@media only screen and (max-width: 767px) {
	.p-lead__mv .p-lead__catch {
		top: 50%;
		left: 20px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}
.p-lead__mv + .p-lead__text {
	margin-top: 20px;
}

.p-process .p-process__step {
	margin-top: 40px;
}
.p-process .p-step__contact {
	margin-top: 20px;
}
@media only screen and (max-width: 767px) {
	.p-process .p-step__contact {
		margin-top: 10px;
		padding-top: 10px;
	}
}
.p-process .p-step__contact__text {
	display: flex;
}
@media only screen and (max-width: 767px) {
	.p-process .p-step__contact__text {
		display: inline-block;
		line-height: 1.57;
	}
	.p-process .p-step__contact__text + .p-step__contact__text {
		margin-top: 10px;
	}
}
.p-process .p-step__contact__text span {
	font-weight: 700;
}
@media only screen and (max-width: 767px) {
	.p-process .p-step__contact__text .p-link-mail {
		display: inline-block;
	}
}
.p-process .p-step__contact__title {
	flex: 0 0 95px;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
}
@media only screen and (max-width: 767px) {
	.p-process .p-step__contact__title {
		font-size: 1.4rem;
		text-align: left;
		padding-bottom: 10px;
	}
}
.p-process .p-step__contact .c-box {
	display: flex;
}
.p-process .p-step__contact .c-box__body {
	border-left: 1px solid #e9e8e2;
}
.p-process .c-list-ex {
	margin-top: 30px;
}
@media only screen and (max-width: 767px) {
	.p-process .c-list-ex {
		margin-top: 20px;
	}
}

.p-faq .p-faq__items {
	margin-top: 23px;
}
@media only screen and (max-width: 767px) {
	.p-faq .p-faq__items {
		margin-top: 32px;
	}
}

.p-contact .p-contact__caution {
	margin-top: 40px;
}
@media only screen and (max-width: 767px) {
	.p-contact .p-contact__caution {
		margin-top: 30px;
	}
}
.p-contact .p-contact__caution__text {
	margin-top: 15px;
}
.p-contact .p-contact__box {
	margin-top: 35px;
}
@media only screen and (max-width: 767px) {
	.p-contact .p-contact__box {
		margin-top: 25px;
	}
}

.p-list-detail {
	overflow: hidden;
}
.p-list-detail dt {
	clear: both;
	float: left;
	width: 100px;
	margin-right: 12px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
}
@media only screen and (max-width: 767px) {
	.p-list-detail dt {
		float: none;
	}
}
.p-list-detail dd {
	float: left;
	line-height: 1.5;
}
@media only screen and (max-width: 767px) {
	.p-list-detail dd {
		float: none;
		margin-top: 3px;
	}
}
.p-list-detail dd:not(:last-child) {
	margin-bottom: 25px;
}

/* 新卒採用 */
.p-recruit-graduate .p-target .p-target__text {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
}
@media only screen and (max-width: 767px) {
	.p-recruit-graduate .p-target .p-target__text {
		font-size: 1.8rem;
	}
}
.p-recruit-graduate .p-target .p-target__ex {
	margin-top: 8px;
}
.p-recruit-graduate .p-jobtype .c-table th {
	width: 270px;
}
@media only screen and (max-width: 767px) {
	.p-recruit-graduate .p-jobtype .c-table th {
		width: 100%;
	}
}
.p-recruit-graduate .p-jobtype .c-table th span {
	display: block;
	font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
	.p-recruit-graduate .p-jobtype .c-table th span {
		display: inline;
	}
}
@media only screen and (max-width: 767px) {
	.p-recruit-graduate .p-jobtype .c-table th,
	.p-recruit-graduate .p-jobtype .c-table td {
		display: block;
		clear: both;
		float: left;
		width: 100%;
		border-bottom: none;
	}
}
.p-recruit-graduate .p-jobtype .p-jobtype__block + .p-jobtype__block {
	margin-top: 80px;
}
@media only screen and (max-width: 767px) {
	.p-recruit-graduate .p-jobtype .p-jobtype__block + .p-jobtype__block {
		margin-top: 40px;
	}
}
.p-recruit-graduate .p-contact {
	padding-left: 40px;
	padding-right: 40px;
}
@media only screen and (max-width: 767px) {
	.p-recruit-graduate .p-contact {
		padding-left: 0;
		padding-right: 0;
	}
	.p-recruit-graduate .p-contact .c-section__heading,
	.p-recruit-graduate .p-contact .c-section__body__upper {
		padding-left: 5.21%;
		padding-right: 5.21%;
	}
}
.p-recruit-graduate .p-contact .p-entry {
	margin-top: 100px;
}
@media only screen and (max-width: 767px) {
	.p-recruit-graduate .p-contact .p-entry {
		margin-top: 80px;
	}
}

/* 募集要項 詳細 */
.p-recruit-detail .p-jobtype__table th {
	min-width: 260px;
	padding-right: 20px;
}
.p-recruit-detail .p-entry-detail {
	margin-top: 40px;
}
.p-recruit-detail .p-entry-detail__btn {
	max-width: 300px;
	margin-top: 15px;
}
.p-recruit-detail .c-text-catch + .c-heading-secondary {
	margin-top: 50px;
}
@media only screen and (max-width: 767px) {
	.p-recruit-detail .c-text-catch + .c-heading-secondary {
		margin-top: 30px;
	}
}