body {
	font-family: "Yu Mincho", "YuMincho", serif;
}

body {
	font-weight: 400;
}

body {
	color: #333;
}

.u-desktop {
	display: none;
}

h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-size: clamp(20px, 1.25rem, 30px);
	margin-bottom: clamp(10px, 1rem, 20px);
}

.requirement {
	padding-bottom: clamp(20px, 6.25rem, 120px);
	font-family: "Noto Sans JP", sans-serif;
}

.requirement__top {
	margin-bottom: clamp(10px, 2.8125rem, 50px);
}

.requirement__top .flex {
	display: flex;
	flex-direction: column;
	gap: clamp(10px, 0.5rem, 20px);
	align-items: flex-start;
	margin-bottom: 1rem;
}

.requirement__top .flex .category {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: clamp(14px, 0.9375rem, 17px);
	padding: clamp(10px, 0.25rem, 20px) clamp(10px, 0.75rem, 20px);
	background-color: #333;
	color: #fff;
	border-radius: 8px 0 8px 0;
}

.requirement__top .flex h1 {
	margin-bottom: 0;
	font-size: clamp(20px, 1.25rem, 30px);
}

.requirement__top__desc {
	font-size: clamp(16px, 1.125rem, 24px);
	font-weight: 600;
	font-family: "Yu Mincho", "YuMincho", serif;
}

.requirement__business-content,
.requirement__skills {
	margin-bottom: clamp(10px, 2.8125rem, 50px);
}

.requirement__business-content p,
.requirement__skills p {
	line-height: 1.7;
	font-size: clamp(14px, 0.9375rem, 17px);
	font-weight: 400;
	font-family: "Noto Sans JP", sans-serif;
}

.requirement__conditions__table {
	border-collapse: collapse;
	margin: clamp(40px, 2.5rem, 75px) 0 clamp(30px, 1.875rem, 50px);
	width: 100%;
}

.requirement__conditions__table tr {
	display: flex;
	flex-direction: column;
}

.requirement__conditions__table tr th,
.requirement__conditions__table tr td {
	font-size: clamp(14px, 1rem, 17px);
	font-weight: 400;
	font-family: "Noto Sans JP", sans-serif;
}

.requirement__conditions__table tr th {
	background-color: #F8F7F3;
	padding: clamp(10px, 0.9375rem, 20px);
	text-align: left;
	border: 1px none;
	width: 100%;
	font-weight: 700;
	display: flex;
	align-items: center;
}

.requirement__conditions__table tr td {
	padding: clamp(10px, 0.9375rem, 20px);
	border-top: none;
	width: 100%;
}

.requirement__conditions__table tr:last-of-type td {
	border-bottom: none;
}

.requirement__form h2 {
	margin-bottom: clamp(10px, 0.375rem, 20px);
}

.requirement__form p {
	font-size: clamp(14px, 0.9375rem, 17px);
	font-weight: 400;
	font-family: "Noto Sans JP", sans-serif;
}

.requirement__form .form {
	margin-top: clamp(10px, 2.5rem, 50px);
}

.requirement__form .form__item {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: clamp(10px, 1rem, 20px);
}

.requirement__form .form__item p {
	font-size: clamp(14px, 0.9375rem, 17px);
	font-weight: 700;
}

.requirement__form .form__item .wpcf7-form-control-wrap {
	width: 100%;
}

.requirement__form .form__item input,
.requirement__form .form__item textarea {
	width: 100%;
	background-color: #FCFCFC;
	padding: 5px 10px;
	border: 1px solid #BCB9B9;
	box-sizing: border-box;
	resize: none;
	font-size: clamp(14px, 0.9375rem, 17px);
	font-weight: 400;
	font-family: "Noto Sans JP", sans-serif;
}

.requirement__form .form__item input {
	height: 40px;
}

.requirement__form .form__item.ai-fl {
	align-items: flex-start;
}

.requirement__form .form__jobs span {
	display: block;
}

.requirement__form .form__jobs span:first-of-type {
	font-size: clamp(16px, 1.0625rem, 20px);
	font-weight: 700;
	width: 134px;
}

.requirement__form .form__jobs span:last-of-type {
	font-size: clamp(18px, 1.25rem, 22px);
	font-weight: 600;
}

.requirement__form .form__accept {
	margin: clamp(10px, 2.75rem, 50px) 0 clamp(10px, 1.4375rem, 30px);
	text-align: center;
}

.requirement__form .form__accept span:not(.wpcf7-list-item-label) {
	width: 100%;
	display: flex;
	justify-content: center;
}

.requirement__form .form__accept .wpcf7-list-item {
	margin: 0 0 0 0;
	padding: clamp(10px, 1.25rem, 30px) 0;
}

.requirement__form .form__accept .wpcf7-list-item label {
	display: flex;
	justify-content: center;
	gap: clamp(10px, 0.3125rem, 15px);
	align-items: center;
	width: fit-content;
}

.requirement__form .form__accept label {
	font-size: clamp(16px, 1rem, 18px);
	font-family: "Noto Sans JP", sans-serif;
}

.requirement__form .form__accept label a {
	font-size: 1em;
	color: #333333;
	text-decoration: underline;
	text-underline-offset: 0.3125rem;
	font-family: "Noto Sans JP", sans-serif;
}

.requirement__form .form__accept input {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	border: 1px solid #333333;
}

.requirement__form .form__accept .wpcf7-list-item-label {
	cursor: pointer;
	position: relative;
	font-size: clamp(14px, 0.875rem, 16px);
}

.requirement__form .form__accept input[type=checkbox] {
	opacity: 0;
	position: absolute;
	z-index: -1;
}

.requirement__form .form__accept .wpcf7-list-item-label::before {
	border: 1px solid #333;
	content: "";
	display: inline-block;
	margin-right: 10px;
	position: relative;
	top: -1px;
	vertical-align: middle;
	width: clamp(22px, 1.5rem, 26px);
	height: clamp(22px, 1.5rem, 26px);
}

.requirement__form .form__accept input[type=checkbox]:checked + .wpcf7-list-item-label::after {
	background: url(../../images/contact/contact-check-icon.svg) no-repeat center/contain;
	content: "";
	display: block;
	position: absolute;
	top: 0.7em;
	transform: translateY(-50%);
	left: 4px;
	width: clamp(16px, 1rem, 18px);
	height: clamp(16px, 1rem, 18px);
}

.requirement__form .form__accept input[type=checkbox]:checked + .wpcf7-list-item-label::before {
	background-color: #333;
}

.requirement__form .form__btn {
	display: flex;
	justify-content: center;
}

.requirement__form .form__btn input[type=submit] {
	width: clamp(200px, 16.5625rem, 300px);
	line-height: clamp(10px, 3.125rem, 60px);
	font-size: clamp(16px, 1.0625rem, 20px);
	background-color: #333333;
	border-radius: 8px;
	color: white;
	border: 1px solid #333;
	transition: 0.3s;
}

.requirement__form .form__btn input[type=submit]:hover {
	color: #333;
	background-color: white;
}

.requirement__form .form__btn .wpcf7-spinner {
	position: absolute;
}

.requirement .wpcf7 form .wpcf7-response-output {
	font-family: "Noto Sans JP", sans-serif;
	margin: 2.5rem auto 0;
	width: 18.75rem;
	border-radius: 0.5rem;
}

.requirement .wpcf7 form .wpcf7-response-output.wpcf7-validation-errors {
	border-color: #FE0000;
	color: #FE0000;
	text-align: center;
}

@media screen and (min-width: 1001px) {

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

h2 {
	font-size: 2rem;
	margin-bottom: 1.5rem;
}

.requirement {
	padding-bottom: 8.75rem;
}

.requirement__top {
	margin-bottom: 4.5625rem;
}

.requirement__top .flex {
	flex-direction: row;
	gap: 2.125rem;
	align-items: center;
	margin-bottom: 1.875rem;
}

.requirement__top .flex .category {
	font-size: 1.25rem;
	padding: 0.5rem 1rem;
}

.requirement__top .flex h1 {
	font-size: 2rem;
}

.requirement__top__desc {
	font-size: 1.75rem;
}

.requirement__business-content,
.requirement__skills {
	margin-bottom: 4rem;
}

.requirement__business-content p,
.requirement__skills p {
	font-size: 1.0625rem;
}

.requirement__conditions {
	padding-right: 5rem;
}

.requirement__conditions__table {
	margin: 0 0 7.25rem;
}

.requirement__conditions__table tr {
	flex-direction: row;
	justify-content: space-between;
}

.requirement__conditions__table tr th,
.requirement__conditions__table tr td {
	font-size: 1.0625rem;
}

.requirement__conditions__table tr th {
	width: 20%;
	padding: 1.5625rem 0 1.5625rem 3.125rem;
	border-bottom: 1px solid #fff;
}

.requirement__conditions__table tr td {
	width: 80%;
	padding: 1.5625rem 1.25rem 1.5625rem 4.375rem;
	border-top: 1px solid #BCB9B9;
}

.requirement__conditions__table tr:last-of-type td {
	border-bottom: 1px solid #BCB9B9;
}

.requirement__form {
	padding-right: 5rem;
}

.requirement__form p {
	font-size: 1.0625rem;
}

.requirement__form .form {
	margin-top: 4.375rem;
}

.requirement__form .form__item {
	flex-direction: row;
	align-items: center;
	gap: 16px;
	margin-bottom: 1.5625rem;
}

.requirement__form .form__item p {
	width: 134px;
	font-size: 1.0625rem;
}

.requirement__form .form__item .wpcf7-form-control-wrap {
	width: calc(100% - 16px - 134px);
}

.requirement__form .form__item input,
.requirement__form .form__item textarea {
	width: 100%;
	padding: 8px 14px;
}

.requirement__form .form__item input {
	height: auto;
}

.requirement__form .form__jobs span:first-of-type {
	text-align: left;
	font-size: 1.0625rem;
}

.requirement__form .form__jobs span:last-of-type {
	font-size: 1.5rem;
}

.requirement__form .form__accept .wpcf7-list-item {
	padding: 1.875rem 0;
}

.requirement__form .form__accept .wpcf7-list-item label {
	gap: 0.625rem;
}

.requirement__form .form__accept label {
	font-size: 1.25rem;
}

.requirement__form .form__accept .wpcf7-list-item-label {
	font-size: 1rem;
}

.requirement__form .form__accept .wpcf7-list-item-label::before {
	width: 1.75rem;
	height: 1.75rem;
}

.requirement__form .form__accept input[type=checkbox]:checked + .wpcf7-list-item-label::after {
	width: 1.25rem;
	height: 1.25rem;
}

.requirement__form .form__btn input[type=submit] {
	font-size: 1.1875rem;
	line-height: 3.75rem;
}

.requirement .wpcf7 form .wpcf7-response-output {
	width: 30rem;
	padding: 0.875rem 1rem;
	margin-top: 3.75rem;
}

.requirement .wpcf7 form .wpcf7-response-output.wpcf7-validation-errors {
	font-size: 1.25rem;
}

}


/*# sourceMappingURL=recruit-detail.css.map */
