@charset "utf-8";
/* CSS Document */

.recruit_photo {
	.recruit_photo_image {
		display: block;
	}
	.recruit_photo_image:nth-of-type(1) {
	}
	.recruit_photo_image:nth-of-type(2) {
	}
	.recruit_photo_image:nth-of-type(3) {
	}
	.recruit_photo_image:nth-of-type(4) {
	}
}

.recruit_lists {
	.recruit_list {
	}
	.recruit_list.closed {
		position: relative;
	}
	.recruit_list.closed:after {
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		white-space: pre;
		content: 'こちらの職種の募集は\A締め切りました';
		color: #fff;
		font-weight: bold;
		text-align: center;
		line-height: 1.4;
		background: rgba(0,0,0,0.7);
		border-radius: 3px;
	}
	.recruit_list_title {
		color: var(--color_lightblue);
	}
	.detail_lists {
	}
	.detail_list {
		border-bottom: 2px dotted var(--color_gray);
	}
	.detail_list:last-child {
		border-bottom: none;
	}
	.detail_list_title {
	}
	.detail_list_text {
	}
	.recruit_list_btn {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: transparent;
		border: none;
		border-radius: 0;
		font: inherit;
		outline: none;

		color: #fff;
		font-weight: bold;
		background: var(--color_lightblue);
		border-radius: 2px;
		box-shadow: 1px 1px 5px rgba(0,0,0,0.3);
	}
	.recruit_list_btn:before {
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		content: "\f358";
	}
}

#Form {
	.Form_tilte {
		display: inline-block;
		border: 1px solid var(--color_gray);
	}
	.form_01 {
		box-shadow: 0 0 5px rgba(0,0,0,0.3);
	}
	.form_02 {
	}
}

.from_lists {
	.from_list {
		border-bottom: 1px solid #ccc;
	}
	.from_question {
		font-weight: bold;
	}
	.from_question_inn {
	}
	.required {
		color: #fff;
		background: var(--color_pink);
		border-radius: 100px;
	}
	.from_answer {
		.input_short_20 {
			width: 20% !important;
		}
	}
}

.from_btn {
	.from_btn_forward,
	.from_btn_back {
		display: block;
		text-align: center;
		border-radius: 100px !important;
		background-color: #fff !important;
	}
	.from_btn_forward {
		color: var(--color_lightblue) !important;
		border: 1px solid var(--color_lightblue) !important;
	}
	.from_btn_back {
		color: #555;
		border: 1px solid #555;
	}
}

.contact_notice {	
	.contact_notice_text {
		color: #555;
	}
}

/* confirmで使用 */
.contact_preface {
	.contact_preface_text {
		font-weight: bold;
		text-align: center;
	}
	.contact_preface_text strong {
		color: var(--color_lightblue);
	}
}

/* completeで使用 */
.complete {
	.complete_title {
		color: var(--color_lightblue);
		font-weight: bold;
		text-align: center;
	}
	.complete_text {
	}
	.complete_btn {
		display: flex;
		justify-content: center;
		.complete_btn_link {
			color: var(--color_lightblue);
			text-align: center;
			border: 1px solid var(--color_lightblue);
			border-radius: 100px;
		}
	}
}


/* --------------------------------------------------
PC
-------------------------------------------------- */
@media screen and (min-width: 768px) {

	.recruit_photo {
		display: grid;
		gap: 7px;
		.recruit_photo_image {
			display: block;
		}
		.recruit_photo_image:nth-of-type(1) {
			grid-column: 1 / 2;
			grid-row: 1 / 3;
		}
		.recruit_photo_image:nth-of-type(2) {
			grid-column: 2 / 3;
			grid-row: 1 / 2;
		}
		.recruit_photo_image:nth-of-type(3) {
			grid-column: 3 / 4;
			grid-row: 1 / 2;
		}
		.recruit_photo_image:nth-of-type(4) {
			grid-column: 2 / 4;
			grid-row: 2 / 3;
		}
	}

	.recruit_lists {
		margin-bottom: 50px;
		.recruit_list {
			position: relative;
			margin-bottom: 30px;
		}
		.recruit_list.closed {
		}
		.recruit_list.closed:after {
			top: 59px;
			left: 11px;
			width: calc(100% - 22px);
			height: calc(100% - 71px);
			font-size: 32px;
		}
		.recruit_list_title {
			font-size: 24px;
		}
		.detail_lists {
			border: 1px solid var(--color_gray);
			border-radius: 3px;
			padding: 10px;
		}
		.detail_list {
			display: flex;
			flex-wrap: wrap;
		}
		.detail_list_title,
		.detail_list_text {
			line-height: 1.7;
			padding: 10px 15px;
		}
		.detail_list_title {
			width: 17.5%;
		}
		.detail_list_text {
			width: 82.5%;
		}
		.recruit_list_btn {
			position: absolute;
			bottom: 14px;
			right: 14px;
			display: flex;
			justify-content: center;
			align-items: center;
			width: 120px;
			height: 50px;
			border: 2px solid #fff;
		}
		.recruit_list_btn:before {
			font-size: 15px;
			margin-right: 5px;
		}
	}

	#Form {
		.Form_tilte {
			font-size: 18px;
			margin-bottom: 10px;
			padding: 10px 15px;
		}
		.form_01 {
			padding-bottom: 25px;
		}
		.form_02 {
			padding: 25px 0;
		}
	}

	.from_lists {
		padding: 10px 20px;
		.from_list {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: space-between;
			padding: 20px;
		}
		.from_question {
			width: 30%;
			font-size: 14px;
			line-height: 1.4;
		}
		.from_question_inn {
			display: flex;
			align-items: center;
			justify-content: space-between;
		}
		.required {
			font-size: 12px;
			font-weight: normal;
			margin-left: 10px;
			padding: 0 12px;
		}
		.from_answer {
			width: 65%;
			font-size: 14px;
			.input_short_20 {
				margin-right: 3px;
			}
		}
	}

	.from_btn {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		.from_btn_forward,
		.from_btn_back {
			width: 220px;
			font-size: 16px !important;
			margin: 0 10px;
			padding: 10px 0;
		}
		.from_btn_forward {
		}
		.from_btn_back {
		}
	}

	.contact_notice {
		padding: 5px 25px 10px;
		.contact_notice_text {
			line-height: 1.7;
		}
	}

	/* confirmで使用 */
	.contact_preface {
		.contact_preface_text {
			font-size: 20px;
			line-height: 1.4;
			margin-bottom: 20px;
		}
		.contact_preface_text strong {
			margin: 0 4px;
		}
	}

	/* completeで使用 */
	.complete {
		.complete_title {
			font-size: 32px;
			margin-bottom: 12px;
		}
		.complete_text {
			font-size: 15px;
			line-height: 1.7;
			padding: 0 30px;
		}
		.complete_btn {
			padding: 20px 0;
			.complete_btn_link {
				width: 220px;
				font-size: 16px;
				padding: 10px 0;
			}
		}
	}
}


/* --------------------------------------------------
スマホ
-------------------------------------------------- */
@media all and (max-width: 767px) {

	#Form input[type='text'],
	#Form textarea {
		width: 100%;
	}

	.recruit_photo {
		.recruit_photo_image {
			display: block;
		}
		.recruit_photo_image:nth-of-type(1) {
			width: 100%;
		}
		.recruit_photo_image:nth-of-type(2),
		.recruit_photo_image:nth-of-type(3),
		.recruit_photo_image:nth-of-type(4) {
			display: none;
		}
	}

	.recruit_lists {
		.recruit_list {
			border: 1px solid #eee;
			margin-bottom: 6vw;
			padding: 3vw 3vw 6vw;
		}
		.recruit_list.closed {
		}
		.recruit_list.closed:after {
			top: 13vw;
			left: 11px;
			width: calc(100% - 4vw);
			height: calc(100% - 15.5vw);
			font-size: 6.5vw;
		}
		.recruit_list_title {
			font-size: 4vw;
		}
		.detail_lists {
			margin-bottom: 2vw;
		}
		.detail_list {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
		}
		.detail_list_title,
		.detail_list_text {
			font-size: 3.5vw;
			line-height: 1.4;
			padding: 3.5vw 2vw;
		}
		.detail_list_title {
			width: 27.5%;
			font-weight: bold;
		}
		.detail_list_text {
			width: 72.5%;
		}
		.recruit_list_btn {
			display: block;
			width: 50vw;
			font-size: 3.25vw;
			margin: 0 auto;
			padding: 2.5vw 0;
		}
		.recruit_list_btn:before {
			font-size: 4vw;
			border-radius: 3px;
			margin-right: 1.5vw;
		}
	}

	#Form {
		.Form_tilte {
			font-size: 4vw;
			margin-bottom: 2vw;
			padding: 2vw 3vw;
		}
		.form_01 {
			border-radius: 5px;
			padding-bottom: 5vw;
		}
		.form_02 {
		}
	}

	.from_lists {
		margin-bottom: 4vw;
		padding: 2vw;
		.from_list {
			padding: 3.5vw 2.5vw;
		}
		.from_question {
			font-size: 3.75vw;
			font-weight: bold;
		}
		.from_question_inn {
			display: flex;
			align-items: center;
		}
		.required {
			font-size: 2.5vw;
			margin-left: 2vw;
			padding: 0.25vw 3vw;
		}
		.from_answer {
			display: flex;
			align-items: center;
			.input_short_20 {
				margin-right: 1vw;
			}
		}
	}

	.from_btn {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		.from_btn_forward,
		.from_btn_back {
			width: 48%;
			font-size: 3.75vw !important;
			margin: 1%;
			padding: 3vw 0;
		}
		.from_btn_forward {
		}
		.from_btn_back {
		}
	}

	.contact_notice {
		padding: 0 2vw;
		.contact_notice_text {
			font-size: 3vw;
			line-height: 1.7;
			margin-bottom: 6vw;
			padding: 2vw 3vw;
		}
	}

	/* confirmで使用 */
	.contact_preface {
		.contact_preface_text {
			font-size: 5.25vw;
			line-height: 1.7;
			margin-bottom: 4vw;
		}
		.contact_preface_text strong {
			margin: 0 1vw;
		}
	}

	/* completeで使用 */
	.complete {
		.complete_title {
			font-size: 6.25vw;
			margin-bottom: 3vw;
		}
		.complete_text {
			font-size: 3.25vw;
			line-height: 1.7;
		}
		.complete_btn {
			padding: 7.5vw 0;
			.complete_btn_link {
				width: 48%;
				font-size: 3.75vw;
				padding: 3vw 0;
			}
		}
	}
}
