@charset "utf-8";

/**top**/
.p-search {
	input[type="search"] {
		height:50px;
	}
	#top_jobtype {
		&:not(.show) {
			opacity:.66;
			pointer-events:none;
			.msg {
				display:inline;	
			}
		}
		&.show {
			.msg {
				display:none;	
			}
		}
		option {
/* 			&:not(.show) {
				display:none;
			} */
		}
	}
}

dd {
	&.jobtype {
/* 		&.loaded {
			label, .msg {
				display:none!important;
			}
		} */
		.msg {
			color:#FFFFFF;
			font-size:.9rem;
			background-color:var(--LMAIN);
			padding:.5em;
			width:100%;
		}
/* 		&:has(.show) .msg {
			display:none;
		} */
	}
}

/**archive**/
#contents {
	&.job-search {
		justify-content:space-between;
		flex-wrap:wrap;
		.archive_ttl {
			width:100%;
			display:grid;
			grid-template-columns:1fr auto;
			align-items:center;
			padding-bottom:.5em;
			border-bottom:1px solid var(--LMAIN);
			margin-bottom:30px;
			h1 {
				font-size:1.7rem;
			}
			.results {
				font-size:.9rem;
				span {
					font-size:1.2rem;
					color:var(--ACC);
					margin:0 .2em;
				}
			}
		}
		.job_sidebar {
			padding:20px;
			h3 {
				font-size:.9rem;
			}
			dl {
				margin-bottom:20px;
				dt {
					font-size:.9rem;
					margin-bottom:.5em;
				}
				dd {
					input,select,textarea {
						background-color:var(--MAIN);
						border-color:var(--LMAIN);
						color:var(--WHT);
					}
					textarea {
						min-height:5em;
					}
					.msg {
						color:#FFFFFF;
						font-size:.9rem;
						background-color:var(--LMAIN);
						padding:.5em;
						width:100%;
					}
					&:not(:last-child) {
						margin-bottom:15px;
					}
					&:has(label) {
						display:flex;
						flex-wrap:wrap;
						gap:.66em;
					}
					label {
						font-size:.8rem;
						display:grid;
						grid-template-columns:auto 1fr;
						input {
							background-color:var(--ACC);
							&:checked {
								&::before,&::after {
									background-color: var(--MAIN)!important;
								}
							}
						}
/* 						&:not(.show) {
							display:none;
						} */
					}
				}
			}
			input[type="submit"] {
				background-color:var(--ACC);
				color:var(--WHT);
				font-size:1rem;
				width:100%;
				border:2px solid var(--ACC);
				height:2.4em;
				border-radius:3px;
				font-weight:600;
			}
			.featured {
				margin-top:30px;
				dd {
					ul {
						display:flex;
						flex-wrap:wrap;
						gap:.33em;
						li {
							margin:0;
							padding:0;
							list-style:none;
							line-height:1;
							&::before {
								content:none;
							}
							a {
								display:grid;
								padding:0 .66em;
								height:2.4em;
								align-items:center;
								justify-content:center;
								font-size:.7rem;
								border:2px solid var(--LMAIN);
								border-radius:3px;
							}
						}
					}
				}
			}
		}
		.lib-column__main {
			order:2;
			padding:0;
			width:calc(100% - 290px);
			.search_list {
				display:grid;
				grid-row-gap:20px;
				li {
					margin:0;
					padding:0;
					&::before {
						content:none;
					}
				}
				.job_item {
					a {
						display:block;
						position:relative;
						padding:20px;
					}
					svg {
						display:inline;
						width:1em;
					}
					.info {
						display:flex;
						flex-wrap:wrap;
						align-items:center;
						gap:.5em;
						&.info1 {
							margin-bottom:.8em;
							padding-right:3em;
						}
						&.info2 {
							margin-top:.8em;
							column-gap:1.5rem;
						}
						.job {
							display:flex;
							flex-wrap:wrap;
							gap:.33em;
							li {
								line-height:1;
								display:grid;
								padding:0 .66em;
								height:2.4em;
								align-items:center;
								justify-content:center;
								font-size:.7rem;
								border-radius:3px;
								background-color:var(--ACC);
								color:var(--MAIN);
								font-weight:600;
							}
						}
						.area_wrap {
							display:flex;
							align-items:center;
							font-size:.8rem;
							column-gap:.2em;
							.area {
								display:flex;
								flex-wrap:wrap;
								gap:.33em;
							}
						}
						.position,.salary {
							display:flex;
							align-items:center;
							font-size:.8rem;
							column-gap:.2em;
							svg {
								font-size:1.2rem;
							}
						}
						.salary {
							font-size:1rem;
							color:var(--ACC);
						}
					}
					.jobttl {
						font-size:1.3rem;
						line-height:1.5;
						margin-bottom:.5em;
						color: var(--ACC);
					}
					.jobdesc {
						font-size:.9rem;
						margin:0;
					}
					.arrow {
						font-size:1.2rem;
						position:absolute;
						background-color:var(--MAIN);
						width:2.2em;
						height:2.2em;
						display:grid;
						border:1px solid var(--LMAIN);
						display:grid;
						align-items:center;
						justify-content:center;
						border-radius:50%;
						position:absolute;
						z-index:1;
						top:15px;
						right:20px;
					}
				}
			}
		}
		&.job-search-single {
			row-gap:30px;
			.job_header {
				padding:30px;
				width:100%;
				li {
					margin:0;
					padding:0;
					&::before {
						content:none;
					}
				}
				.info {
					display:grid;
					grid-template-columns:1fr auto;
					align-items:center;
					margin-bottom:.8em;
					.info_item {
						display:flex;
						flex-wrap:wrap;
						gap:.5em;
						.job {
							display:flex;
							flex-wrap:wrap;
							gap:.5em;
							li {
								line-height:1;
								display:grid;
								padding:0 .66em;
								height:2.4em;
								align-items:center;
								justify-content:center;
								font-size:.7rem;
								background-color:var(--ACC);
								color:var(--MAIN);
								font-weight:600;
								border-radius:3px;
							}
						}
						.position {
							line-height:1.2;
							display:grid;
							padding:0.5em .66em;
							min-height:2.4em;
							align-items:center;
							justify-content:center;
							font-size:.7rem;
							border:1px solid var(--WHT);
							border-radius:3px;
						}
					}
					.date {
						font-size:.8rem;
					}
				}
				.jobttl {
					font-size:1.5rem;
					line-height:1.5;
				}
				.featured {
					display:flex;
					flex-wrap:wrap;
					gap:.5em;
					margin-top:1.2em;
					margin-bottom:2em;
					li {
						line-height:1;
						display:grid;
						padding:0 .66em;
						height:2.4em;
						align-items:center;
						justify-content:center;
						font-size:.7rem;
						background-color:var(--MAIN);
						color:var(--WHT);
						border:1px solid var(--LMAIN);
						font-weight:600;
						border-radius:3px;
					}
				}
				.info2 {
					border-top:1px solid var(--LMAIN);
					padding-top:20px;
					display:grid;
					grid-template-columns:repeat(4,auto);
					justify-content:space-between;
					grid-column-gap:30px;
					line-height:1;
					dt {
						font-size:.8rem;
						margin-bottom:1em;
					}
					dd {
						font-size:.9rem;
						line-height:1.5;
					}
					.salary {
						li {
							color:var(--ACC);
							font-size:1.1rem;
							font-weight:600;
						}
					}
				}
			}
			.lib-column__side {
				width:330px;
				.job_sidebar {
					.entry {
						.consultant {
							display:grid;
							grid-template-columns:auto 1fr;
							grid-column-gap:1em;
							font-size:.9rem;
							align-items:center;
							border-bottom:1px solid var(--LMAIN);
							padding-bottom:2em;
							p {
								display:grid;
								line-height:1;
								grid-row-gap:.66em;
								span {
									font-size:.7rem;
								}
							}
							.icon {
								width:3em;
								height:3em;
								background-color:var(--LMAIN);
								border-radius:50%;
								display:grid;
								align-items:center;
								justify-content:center;
								svg {
									display:inline;
									transform:translateX(.1em);
								}
							}
						}
						.form {
							padding:30px 0;
							border-bottom:1px solid var(--LMAIN);
							margin-bottom:20px;
							display:grid;
							h3 {
								text-align:center;
								border:none;
								margin:0 0 .66em;
								padding:0;
								font-size:1.1rem;
								& + p {
									font-size:.8rem;
									text-align:center;
									margin:0;
								}
							}
							.entryform {
								padding-top:20px;
								margin-bottom:10px;
								dt {
									font-size:.8rem;
									margin-bottom:.2em;
									span {
										color:#ff0000;
										font-size:1rem;
										margin-left:.2em;
									}
								}
								dd {
									&:not(:last-child) {
										margin-bottom:10px;
									}
									.codedropz-upload-wrapper {
										h3 {
											font-size:.8rem;
										}
										font-size:.8rem;
									}
								}
							}
							& > .wpcf7,form {
								display:contents;
							}
							div.submit {
								position:relative;
								.wpcf7-spinner {
									position:absolute;
									left:50%;
									bottom:0;
									transform:translate(-50%,110%);
									background-color:var(--ACC);
								}
							}
							.consultant_link {
								display:block;
								grid-area:4/1/5/2;
								line-height:1;
								font-size:.9rem;
								word-break:break-all;
								text-align:center;
								margin-bottom:1.5em;
								display:none;
								&::after {
									content:none!important;
								}
							}
							& + dl {
								text-align:center;
								dt {
									font-size:.8rem;
									line-height:1;
									margin-bottom:.66em;
								}
								dd {
									line-height:1;
									a {
										font-size:1rem;
										color:var(--ACC);
									}
								}
							}
						}
					}
				}
			}
			.lib-column__main {
/* 				width:calc(100% - 380px); */
				width:100%;
				order:unset;
				svg {
					width:1.2em;
					display:inline;
				}
				.job_detail {
					.highlights {
						padding:20px;
						margin-bottom:15px;
						li {
							margin:0;
							padding:0;
							&::before {
								content:none;
							}
						}
						dt {
							display:grid;
							grid-template-columns:1em 1fr;
							align-items:center;
							color:var(--ACC);
							grid-column-gap:.5em;
							font-size:.9rem;
							margin-bottom:1em;
						}
						dd {
							ul {
								display:grid;
								grid-row-gap:.5em;
								font-size:.9rem;
								li {
									line-height:1.5;
									display:grid;
									grid-template-columns:auto 1fr;
									grid-column-gap:.66em;
									svg {
										color:var(--ACC);
									}
								}
							}
						}
					}
					.detail_item {
						padding-top:40px;
						h2 {
							font-size:1.2rem;
							line-height:1.5;
							font-weight:500;
							padding-left:.8em;
							border-left:4px solid var(--LMAIN);
						}
						.text {
							font-size:.9rem;
						}
						ul {
							li {
								&::before {
									background-color:var(--WHT);
								}
							}
						}
					}
				}
			}
			.entrybtn {
				display:grid;
				justify-items:center;
				width:100%;
				padding-top:30px;
				grid-template-columns:1fr;
				a {
					width:100%;
				}
			}
		}
	}
}

#thanks-modal {
	&::before {
		content:'';
		display:block;
		width:100%;
		height:100%;
		background-color:rgba(0,0,0,.5);
		position:fixed;
		z-index:9998;
		top:0;
		left:0;
		transition:.3s;
	}
	.msg {
		position:fixed;
		z-index:9999;
		background-color:#FFFFFF;
		top:50%;
		left:50%;
		transform:translate(-50%,-50%);
		transition:.3s;
		border-radius:8px;
		padding:3em;
		box-shadow:0 0 6px rgba(0,0,0,.66);
		width:100%;
		max-width:400px;
		p {
			color:#000000;
			text-align:center;
			line-height:1.5;
		}
		.close {
			position:absolute;
			line-height:1;
			font-size:1.5em;
			z-index:1;
			top:.2em;
			right:.5em;
			color:#000000;
			cursor:pointer;
		}
	}
	&:not(.show) {
		.msg,&::before {
			pointer-events:none;
			opacity:0;
		}
	}
}

@media (hover:hover) {

	/**archive**/
	#contents {
		&.job-search {
			.job_sidebar {
				input[type="submit"] {
					transition:.3s;
					&:hover {
						background-color:var(--WHT);
						color:var(--ACC);
					}
				}
				.featured {
					dd {
						ul {
							li {
								a {
									transition:.3s;
									&:hover {
										background-color:var(--ACC);
										color:var(--WHT);
										border-color:var(--WHT);
									}
								}
							}
						}
					}
				}
			}
			.lib-column__main {
				order:1;
				padding:0;
				.search_list {
					.job_item {
						transition:.3s;
						&:hover {
							border-color:var(--ACC)!important;
						}
						a {
							.arrow, svg, .jobttl {
								transition:.3s;
							}
							&:hover {
								color:var(--WHT);
								.arrow {
									background-color:var(--ACC);
								}
								.jobttl {
									color:var(--ACC);
								}
							}
						}
					}
				}
			}
		}
	}
	
}

.pagenavi {
	margin-top:30px;
    .screen-reader-text {
        display:none;
    }
	.nav-links {
		margin:0;
	}
    .page-numbers {
        display:flex;
        align-items:start;
        justify-content:center;
        gap:.5em .33em;
        li {
			margin:0;
			padding:0;
			&::before {
				content:none;
			}
            a,span {
                background-color:var(--MAIN);
                color:var(--WHT);
                font-size:.8rem;
				aspect-ratio:1;
                min-height:2em;
                line-height:2;
                min-width:2em;
                padding:0 .5em;
				border-radius:50%;
            }
        }
        .current {
            font-weight:700;
			color:var(--MAIN);
			background-color:var(--ACC);
        }
		&.next,&.prev {
			background:none;
			color:var(--WHT);
		}
    }
}

@media screen and (max-width:1200px){
}

@media screen and (max-width:991.9px){

	/**archive**/
	#contents {
		&.job-search {
			display:grid;
			.lib-column__side {
				margin:0 0 30px;
			}
			.lib-column__main {
				width:100%;
			}
			&.job-search-single {
				.lib-column__side {
					width:100%;
					margin:0 0 30px;
				}
				.lib-column__main {
					width:100%;
				}
			}
		}
	}
	
}

@media screen and (max-width:767.9px){

	/**archive**/
	#contents {
		&.job-search {
			&.job-search-single {
				row-gap:20px;
				.job_header {
					padding:20px;
					.info {
						grid-template-columns:1fr;
						grid-row-gap:.66em;
						.info_item {
							order:1;
						}
					}
					.jobttl {
						font-size:1.3rem;
						line-height:1.3;
					}
					.featured {
						gap:.33em;
						margin-top:1em;
						margin-bottom:1em;
					}
					.info2 {
						grid-template-columns:1fr;
						grid-row-gap:20px;
						dt {
							font-size:.8rem;
							margin-bottom:.5em;
						}
						.salary {
							li {
								color:var(--ACC);
								font-size:1.1rem;
								font-weight:600;
							}
						}
					}
				}
				.lib-column__main {
					margin-bottom:30px;
					.job_detail {
						.highlights {
							margin-bottom:0;
						}
						.detail_item {
							padding-top:30px;
						}
					}
				}
			}
		}
	}

	#thanks-modal {
		.msg {
			padding:3em 1em;
			max-width:min(90%,400px);
			p {
				font-size:min(4.2vw,15px);
				&:not(:last-child) {
					margin-bottom:.66em;
				}
			}
		}
	}
	
}