/* kv */

@media (min-width: 768px) {
  .kv-wrapper {
    background: url(../images/recruit/kv_pc.webp) no-repeat center / cover;
  }
}
@media (max-width: 767px) {
  .kv-wrapper {
    background: url(../images/recruit/kv_sp.webp) no-repeat right top / cover;
  }
}

.kv-title,
.kv-subtitle {
	color: white;
}

.kv-title-wrapper {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.kv-title {
	line-height: calc(100 / 68);
}

.kv-subtitle {
	letter-spacing: .04em;
	line-height: calc(36 / 20);
}

.kv-dummy {
	position: absolute;
	color: white;
}

.kv-nav-item {
	letter-spacing: .04em;
	line-height: 1.2;
}

.kv-nav-item._active {
	text-decoration: underline;
}

.kv-nav-item-separator {
	line-height: 1;
}

@media (min-width: 1601px) {
	.kv {
		padding-left: 60px;
		padding-right: 60px;
		padding-bottom: 20px;
	}

	.kv-wrapper {
		height: 400px;
		padding-left: 80px;
	}

	.kv-title {
		font-size: 54px;
	}

	.kv-subtitle {
		font-size: 16px;
	}

	.kv-dummy {
		right: 59px;
		bottom: 36px;
		font-size: 68px;
	}

	.kv-nav {
		margin-top: 22px;
	}

	.kv-nav-item {
		font-size: 14px;
	}

	.kv-nav-item-separator {
		font-size: 15px;
		margin-left: 11px;
		margin-right: 11px;
	}
}

@media (max-width: 1600px) and (min-width: 768px) {
	.kv {
		padding-left: calc(100vw * 60 / 1600);
		padding-right: calc(100vw * 60 / 1600);
		padding-bottom: calc(100vw * 20 / 1600);
	}

	.kv-wrapper {
		height: calc(100vw * 400 / 1600);
		padding-left: calc(100vw * 80 / 1600);
	}

	.kv-title {
		font-size: calc(100vw * 54 / 1600);
	}

	.kv-subtitle {
		font-size: calc(100vw * 16 / 1600);
	}

	.kv-dummy {
		right: calc(100vw * 59 / 1600);
		bottom: calc(100vw * 36 / 1600);
		font-size: calc(100vw * 68 / 1600);
	}

	.kv-nav {
		margin-top: calc(100vw * 22 / 1600);
	}

	.kv-nav-item {
		font-size: calc(100vw * 14 / 1600);
	}

	.kv-nav-item-separator {
		font-size: calc(100vw * 15 / 1600);
		margin-left: calc(100vw * 11 / 1600);
		margin-right: calc(100vw * 11 / 1600);
	}
}

@media (min-width: 768px) {
}

@media (max-width: 767px) {
	.kv {
		padding-left: 20px;
		padding-bottom: 20px;
	}

	.kv-wrapper {
		height: 200px;
		padding-left: 23px;
	}

	.kv-content {
		gap: 13px;
	}

	.kv-title {
		font-size: 35px;
	}

	.kv-subtitle {
		font-size: 12px;
	}

	.kv-dummy {
		right: 20px;
		bottom: 15px;
		font-size: 23px;
		opacity: .72;
	}

	.kv-nav {
		margin-top: 22px;
		padding-right: 20px;
	}

	.kv-nav-item {
		font-size: 14px;
	}

	.kv-nav-item-separator {
		font-size: 15px;
		margin-left: 11px;
		margin-right: 11px;
	}
}

/* Contact */

.contact-form-pre-text {
	color: #3E3A39;
	line-height: 1.75;
}

.contact-form-error {
	color: #D02620;
	line-height: 2;
}

.contact-form-error-wrapper {
	list-style: none;
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 0;
}

.contact-form-row:not(._last_row) {
	border-bottom: 1px solid #CCCCCC;
}

.contact-form-row-label._required:after {
	color: #D02620;
	content: "*";
}

.contact-form-row-input,
.contact-form-select,
.contact-form-textarea,
.contact-form-row-submit {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #CCCCCC;
	border-radius: 0;
	padding-left: 1em;
	padding-right: 1em;
}

.contact-form-textarea {
	color: #3E3A39;
	font-weight: normal;
	overflow-y: auto;
}

.contact-form-row-input._confirm {
	border: none;
	padding-left: 0;
	padding-right: 0;
}

.contact-form-row-input:read-only {
	outline: none;
}

.contact-form-textarea {
	max-height: 200px;
	padding-top: 1em;
	padding-bottom: 1em;
	resize: none;
	width: 100%;
}

.contact-form-row-input {
	width: 100%;
}

.contact-form-select {
	width: auto;
}

.contact-form-select-arrow {
	position: absolute;
	pointer-events: none;
	z-index: 1;
}

.contact-form-row-value {
	font-weight: 400;
}

.contact-form-row-back,
.contact-form-row-submit {
	height: 100%;
	text-align: center;
	width: 100%;
}

.contact-form-row-back {
	background-color: white;
	border: 1px solid black !important;
}

.contact-form-row-submit {
	background-color: black;
	border: none;
	color: white;
}

.contact-form-row-back-arrow,
.contact-form-row-submit-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.contact-form-row-back-arrow {
	left: 2em;
}

.contact-form-row-submit-arrow {
	right: 2em;
}

.contact-complete {
	background-color: #F5F5F5;
}

.contact-complete-title {
	line-height: 1.3;
}

.contact-complete-text {
	font-weight: 400;
	line-height: 1.75;
}

.contact-complete-notes {
	font-weight: normal;
	line-height: 2;
}

.contact-complete-action {
	position: relative;
	background-color: black;
	color: white;
	cursor: pointer;
}

.contact-complete-action-arrow {
	position: absolute;
	top: 50%;
	left: 2em;
	transform: translateY(-50%);
}

@media (min-width: 1601px) {
	.contact-container {
		max-width: 900px;
	}

	.contact-title {
		gap: 10px;
		margin-bottom: 60px;
	}

	.contact-title-heading {
		font-size: 40px;
	}

	.contact-title-subheading {
		font-size: 16px;
	}

	.contact-form-pre {
		margin-bottom: 55px;
	}

	.contact-form-pre-text {
		font-size: 16px;
		margin-bottom: 20px;
	}

	.contact-form-error {
		font-size: 14px;
		margin-top: 5px;
	}

	.contact-form-row {
		font-size: 16px;
		padding-top: 25px;
		padding-bottom: 20px;
	}

	.contact-form-row-label {
		width: 260px;
	}

	.contact-form-row-value._buttons {
		gap: 60px;
	}

	.contact-form-row-input:not(._confirm),
	.contact-form-select:not(._confirm) {
		height: 50px;
	}

	.contact-form-postcode-symbol + .contact-form-row-input:not(._confirm) {
		margin-left: 10px;
	}

	.contact-form-sex,
	.contact-form-address {
		gap: 10px;
	}

	.contact-form-select {
		width: 245px;
	}

	.contact-form-select-arrow {
		top: 13px;
		right: 10px;
		width: 15px;
	}

	.contact-form-row-agreed-label {
		margin-top: 25px;
	}

	.contact-form-row-submit-label {
		font-size: 14px;
		height: 65px;
		width: 295px;
	}

	.contact-form-row-back-arrow,
	.contact-form-row-submit-arrow {
		width: 8px;
	}

	.contact-complete {
		padding: 65px 80px;
	}

	.contact-complete-title {
		font-size: 30px;
		margin-bottom: 30px;
	}

	.contact-complete-text {
		font-size: 16px;
		margin-bottom: 20px;
	}

	.contact-complete-actions {
		margin-top: 80px;
	}

	.contact-complete-notes {
		font-size: 14px;
	}

	.contact-complete-action {
		font-size: 14px;
		height: 65px;
		width: 295px;
	}

	.contact-complete-action-arrow {
		width: 8px;
	}
}

@media (max-width: 1600px) and (min-width: 768px) {
	.contact-container {
		max-width: calc(100vw * 900 / 1600);
	}

	.contact-title {
		gap: calc(100vw * 10 / 1600);
		margin-bottom: calc(100vw * 60 / 1600);
	}

	.contact-title-heading {
		font-size: calc(100vw * 40 / 1600);
	}

	.contact-title-subheading {
		font-size: calc(100vw * 16 / 1600);
	}

	.contact-form-pre {
		margin-bottom: calc(100vw * 55 / 1600);
	}

	.contact-form-pre-text {
		font-size: calc(100vw * 16 / 1600);
		/*margin-bottom: calc(100vw * 20 / 1600);*/
	}

	.contact-form-error {
		font-size: calc(100vw * 14 / 1600);
		margin-top: calc(100vw * 5 / 1600);
	}

	.contact-form-row {
		font-size: calc(100vw * 16 / 1600);
		padding-top: calc(100vw * 25 / 1600);
		padding-bottom: calc(100vw * 20 / 1600);
	}

	.contact-form-row-label {
		width: calc(100vw * 260 / 1600);
	}

	.contact-form-row-value._buttons {
		gap: calc(100vw * 60 / 1600);
	}

	.contact-form-row-input:not(._confirm),
	.contact-form-select:not(._confirm) {
		height: calc(100vw * 50 / 1600);
	}

	.contact-form-postcode-symbol + .contact-form-row-input:not(._confirm) {
		margin-left: calc(100vw * 10 / 1600);
	}

	.contact-form-sex,
	.contact-form-address {
		gap: calc(100vw * 10 / 1600);
	}

	.contact-form-select {
		width: calc(100vw * 245 / 1600);
	}

	.contact-form-select-arrow {
		top: calc(100vw * 13 / 1600);
		right: calc(100vw * 10 / 1600);
		width: calc(100vw * 15 / 1600);
	}

	.contact-form-row-agreed-label {
		margin-top: calc(100vw * 25 / 1600);
	}

	.contact-form-row-submit-label {
		height: calc(100vw * 65 / 1600);
		width: 100%;
		max-width: 200px;
}

	.contact-form-row-back-arrow,
	.contact-form-row-submit-arrow {
		width: 8px;
	}

	.contact-complete {
		padding: calc(100vw * 65 / 1600) calc(100vw * 80 / 1600);
	}

	.contact-complete-title {
		font-size: calc(100vw * 30 / 1600);
		margin-bottom: calc(100vw * 30 / 1600);
	}

	.contact-complete-text {
		font-size: calc(100vw * 16 / 1600);
		margin-bottom: calc(100vw * 20 / 1600);
	}

	.contact-complete-actions {
		margin-top: calc(100vw * 80 / 1600);
	}

	.contact-complete-notes {
		font-size: calc(100vw * 14 / 1600);
	}

	.contact-complete-action {
		font-size: calc(100vw * 14 / 1600);
		height: calc(100vw * 65 / 1600);
		width: calc(100vw * 295 / 1600);
	}

	.contact-complete-action-arrow {
		width: calc(100vw * 8 / 1600);
	}
}

@media (min-width: 768px) {
  
  .job-box .contact-form-row {
    font-size: min(3vw,18px) !important;
  }
  
}

@media (max-width: 767px) {
	.contact-title {
		margin-bottom: 30px;
	}

	.contact-title-heading {
		font-size: 30px;
	}

	.contact-title-subheading {
		font-size: 10px;
	}

	.contact-form-pre-text {
		font-size: 16px;
		margin-bottom: 20px;
	}

	.contact-form-error {
		font-size: 14px;
		margin-top: 5px;
	}

	.contact-form-row {
		align-items: stretch;
		flex-direction: column;
		font-size: 16px;
		gap: 10px;
		padding-top: 25px;
		padding-bottom: 20px;
	}

	.contact-form-row-label {
	}

	.contact-form-row-value._buttons {
    flex-direction: column-reverse;
gap: 20px;
}

	.contact-form-row-input:not(._confirm),
	.contact-form-select:not(._confirm) {
		height: 50px;
	}

	.contact-form-postcode-symbol + .contact-form-row-input:not(._confirm) {
		margin-left: 10px;
	}

	.contact-form-sex,
	.contact-form-address {
		gap: 10px;
	}

	.contact-form-select {
	}

	.contact-form-select-arrow {
		top: 13px;
		right: 10px;
		width: 15px;
	}

	.contact-form-row-agreed-label {
		margin-top: 25px;
	}

	.contact-form-row-submit-label {
		font-size: 14px;
		height: 65px;
		width: 100%;
	}

	.contact-form-row-back-arrow,
	.contact-form-row-submit-arrow {
		width: 8px;
	}

	.contact-form-row-back-arrow {
		left: 1em;
	}

	.contact-form-row-submit-arrow {
		right: 1em;
	}

	.contact-form-textarea {
		height: 150px;
	}

	.contact-complete {
		padding: 30px;
	}

	.contact-complete-title {
		font-size: 24px;
		margin-bottom: 30px;
	}

	.contact-complete-text {
		font-size: 14px;
		margin-bottom: 20px;
	}

	.contact-complete-actions {
		margin-top: 40px;
	}

	.contact-complete-notes {
		font-size: 12px;
	}

	.contact-complete-action {
		font-size: 14px;
		height: 65px;
		width: 295px;
	}

	.contact-complete-action-arrow {
		width: 8px;
	}
}

.requirement-container {
	background-color: #F5F5F5;
}

.requirement-form {
	margin-left: auto;
	margin-right: auto;
}

.requirement .contact-form-row._first_row {
	border-top: 1px solid #CCCCCC;
}

@media (min-width: 1601px) {
	.requirement {
		margin-bottom: 40px;
		padding: 0 60px 60px;
	}

	.requirement-container {
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.requirement-form {
		max-width: 900px;
	}

	.requirement-title {
		gap: 10px;
		margin-bottom: 60px;
	}

	.requirement-title-heading {
		font-size: 40px;
	}

	.requirement-title-subheading {
		font-size: 16px;
	}
}

@media (max-width: 1600px) and (min-width: 768px) {
	.requirement {
		margin-bottom: calc(100vw * 40 / 1600);
		padding: calc(100vw * 60 / 1600);
	}

	.requirement-container {
		padding-top: calc(100vw * 100 / 1600);
		padding-bottom: calc(100vw * 100 / 1600);
	}

	.requirement-form {
		max-width: calc(100vw * 900 / 1600);
	}

	.requirement-title {
		gap: calc(100vw * 10 / 1600);
		margin-bottom: calc(100vw * 60 / 1600);
	}

	.requirement-title-heading {
		font-size: calc(100vw * 40 / 1600);
	}

	.requirement-title-subheading {
		font-size: calc(100vw * 16 / 1600);
	}
}

@media (min-width: 768px) {
}

@media (max-width: 767px) {
	.requirement {
		margin-bottom: 55px;
	}

	.requirement-container {
		padding: 50px 20px;
	}

	.requirement-title {
		margin-bottom: 30px;
	}

	.requirement-title-heading {
		font-size: 26px;
	}

	.requirement-title-subheading {
		font-size: 10px;
	}
}

.complete-container {
	background-color: #F5F5F5;
}

.contact-complete {
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 1601px) {
	.complete {
		margin-bottom: 40px;
		padding: 60px;
	}

	.contact-complete {
		max-width: 900px;
	}
}

@media (max-width: 1600px) and (min-width: 768px) {
	.complete {
		margin-bottom: calc(100vw * 40 / 1600);
		padding: calc(100vw * 60 / 1600);
	}

	.contact-complete {
		max-width: calc(100vw * 900 / 1600);
	}
}

@media (min-width: 768px) {
}

@media (max-width: 767px) {
	.complete {
		margin-bottom: 40px;
	}
}




/* ------------------------------------

add 230713

------------------------------------*/
@media (min-width: 768px) {
.footer { margin-top: 60px;}
.complete + .footer { margin-top: 0;}

.entry + .footer { margin-top: 0; border-top: #CCCCCC 1px solid;}

}
@media (min-width: 1024px) {
.footer { margin-top: 150px;}
}


.contact-btnWrap { margin-top: 60px; display: flex; justify-content: center; align-items: center; gap: 60px; flex-direction: row-reverse;}
.contact-btnWrap > * { position: relative; width: 100%; max-width: 200px; border: #000 1px solid; }
.contact-btnWrap > * label { display: block; height: calc(100vw * 66 / 1600); }
.contact-btnWrap > * input { padding: 0; background-color: transparent; height: 100%; font-size: calc(100vw * 16 / 1600); font-weight: bold; }
.contact-btnWrap-submit { background-color: #000; }
.contact-btnWrap-submit input { color: #fff;}
.contact-btnWrap-back input { color: #000;}

@media (max-width: 1023px) {
.contact-btnWrap > * label { height: 50px; }
}
@media (max-width: 767px) {
.contact-btnWrap { margin: 30px 0 60px; gap: 20px; flex-direction: column;}
.contact-btnWrap > * { max-width: initial; }
.contact-btnWrap > * label { height: 60px; }
.contact-btnWrap > * input { font-size: 14px; }
}


.contact-btnWrap._recruit {}
.contact-btnWrap._recruit > * { border: #d02620 1px solid; }
.contact-btnWrap._recruit .contact-btnWrap-submit { background-color: #d02620; }
.contact-btnWrap._recruit .contact-btnWrap-submit input { color: #fff;}
.contact-btnWrap._recruit .contact-btnWrap-back input { color: #d02620;}
