@charset "utf-8";
/*------------------------------------------------------------
	recruit
------------------------------------------------------------*/
#main .comBox01 {
	line-height: 1.8;
}

.recruit-headline {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	border: 1px solid #105998;
	padding: 26px calc(15px + 1em);
	margin: 55px 0 58px;
	position: relative;
}

.recruit-headline::before,
.recruit-headline::after {
	content: "";
	display: block;
  width: 15px;
  height: calc(100% + 2px);
  background-color: #105998;
  position: absolute;
  top: -1px;
  mix-blend-mode: multiply;
}

.recruit-headline::before {
  left: -1px;
}

.recruit-headline::after {
  right: -1px;
}

.recruit-summary {
	display: flex;
	gap: 43px;
	margin-bottom: 66px;
}

.recruit-summary-img {
	max-width: 325px;
	width: 100%;
}

.recruit-summary-catch {
	font-size: 2rem;
	margin-bottom: 15px;
}

.recruit-summary-point {
	background-color: rgba(255, 194, 0, 0.1);
	padding: 28px 20px;
	margin: 53px 0 0;
	position: relative;
}

.recruit-summary-point::before {
	content: "";
	display: block;
	width: 130px;
	height: auto;
	aspect-ratio: 500/184;
	background: url(../img/recruit/saiyo_point.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: -25px;
	left: 6px;
}

.recruit-nav-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 55px;
}

.recruit-nav-list a {
	height: 68px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border: 1px solid #cec6c5;
	border-radius: 4px;
}

.recruit-nav-list a::after {
	content: "";
	display: block;
	width: 0;
  height: 0;
  border-style: solid;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 10px solid #cec6c5;
  border-bottom: 0;
}

.recruit-nav-list a:hover {
	background-color: #f2f2f2;
}

.recruit-subheadline {
	font-size: 2.4rem;
	font-weight: 700;
	border-bottom: 5px dotted #534741;
	padding: 14px 0 6px;
}

.recruit-description {
	margin-bottom: 64px;
}

.recruit-description-img {
	margin: 32px 0 20px;
}

.recruit-description-catch {
	font-size: 1.8rem;
	font-weight: 700;
	background-color: #e1dfd6;
	padding: 9px 15px;
	margin: 38px 0 20px;
}

.recruit-guidelines {
	margin-bottom: 66px;
}

.recruit-guidelines-contents {
	width: 100%;
	border-collapse: collapse;
  border-spacing: 0;
	border: 1px solid #ccc;
	border-bottom: none;
  margin: 40px 0 0;
}

.recruit-guidelines-contents th {
	width: 27%;
	font-weight: 400;
	vertical-align: middle;
	background-color: #eae9e2;
	border-bottom: 1px solid #ccc;
	padding: 0 33px;
}

.recruit-guidelines-contents td {
	width: 73%;
	border-bottom: 1px solid #ccc;
	padding: 1em 22px;
}

.recruit-guidelines-contents .maplink {
	color: #29abe2;
	text-decoration: underline;
	margin-left: 20px;
}

.recruit-entry {
	margin-bottom: 120px;
}

.recruit-about-catch-wrap {
	display: flex;
	align-items: center;
	gap: 45px;
	margin: 32px 0 37px;
}

.recruit-about-catch {
	flex-shrink: 0;
	font-size: 3.4rem;
	font-weight: 500;
	font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "HiraMinProN-W3", "Times New Roman", "MS PMincho", serif;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}

.recruit-about-img {
	margin-bottom: 27px;
}

.recruit-about-subheadline {
	font-size: 2rem;
	font-weight: 700;
	margin-top: 1.5em;
}

.recruit-about .aboutlink {
	width: 300px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
	font-size: 2rem;
	font-weight: 400;
	color: #fff;
	background-color: #2b6aa0;
	margin: 50px 0 220px;
}

.recruit-about .aboutlink::after {
	content: "→";
	display: block;
}

.recruit-about .aboutlink:hover {
	opacity: .7;
}

#main .comBox {
	max-width: 1002px;
}

.entry-form {
	margin-top: 34px;
}

.privacy-policy {
	margin: 36px 0 52px;
}

.privacy-policy-content {
	height: 430px;
	font-size: 1.5rem;
	line-height: 2;
	border: 2px solid #ccc;
	padding: 30px 34px;
	overflow-y: auto;
	box-sizing: border-box;
}

.privacy-policy-title {
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 26px;
}

.privacy-policy-list {
	margin-top: 18px;
}

.privacy-policy-list li {
	border-top: 2px dotted #534741;
	padding: 10px 0 18px;
}

.privacy-policy-subtitle {
	font-size: 1.8rem;
	font-weight: 700;
}

.privacy-policy-btn {
	text-align: center;
	margin-top: 20px;
}

.privacy-policy-btn p {
	margin-bottom: 20px;
}

.privacy-policy-btn label {
	font-size: 1.9rem;
	font-weight: 700;
	cursor: pointer;
}

.privacy-policy-btn input[type="checkbox"] {
	width: 14px;
	height: 14px;
	border: 1px solid #000;
}

.entry-form dl {
	display: flex;
	gap: 14px 30px;
	padding: 40px 0;
	border-bottom: 2px dotted #534741;
}

.entry-form dl.remarks {
	flex-direction: column;
	border-bottom: none;
}

.entry-form dt {
	flex-shrink: 0;
	width: 245px;
	font-size: 2rem;
	font-weight: 700;
	box-sizing: border-box;
	padding: 7px 0 0 5px;
}

.entry-form dt.required::after {
	content: "必須";
	width: 50px;
	height: 25px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	background-color: #ed1c24;
	margin-left: 10px;
	position: relative;
	top: -3px;
}

.entry-form dd .form-fields {
	display: flex;
	gap: 9px;
}

.entry-form dd .form-error {
	display: none;
	font-size: 1.5rem;
	color: #dc3232;
	margin-top: 6px;
}

.entry-form dd .form-error.is-visible {
  display: block;
}

.entry-form dd .form-error + .form-error {
	margin-top: 0;
}

.entry-form input.is-error,
.entry-form textarea.is-error,
.entry-form select.is-error {
  border-color: #e32222;
}

.entry-form .form-summary-error,
.entry-form .form-success {
	display: none;
}

.entry-form .form-summary-error.is-visible {
	display: block;
	width: 100%;
  box-sizing: border-box;
  margin: 0 0 30px;
  padding: 16px 20px;
  font-size: 1.5rem;
  color: #c62828;
  background: #fff5f5;
  border: 1px solid #dc3232;
}

.entry-form .form-success.is-visible {
	display: block;
	width: 100%;
  box-sizing: border-box;
  margin: 30px 0 0;
  padding: 16px 20px;
  font-size: 1.5rem;
  color: #333;
  background: #f6f6f6;
  border: 1px solid #ccc;
}

.entry-form dl.remarks dd {
	display: block;
}

.recruit-entry .wpcf7-response-output {
	display: none !important;
}

.recruit-entry .wpcf7-spinner {
  display: none !important;
}

.entry-form input,
.entry-form  textarea {
	font-size: 1.5rem;
	box-sizing: border-box;
	border: 1px solid #999;
	padding: 10px 8px;
}

.entry-form input[type="text"] {
	width: 200px;
	height: 45px;
}

.entry-form  input[type="email"] {
	width: 600px;
	height: 45px;
}

.entry-form  textarea {
	width: 100%;
	height: 180px;
}

.entry-form dl.remarks textarea {
	height: 200px;
}

.entry-form  input.lg,
.entry-form  textarea.lg {
	width: 600px;
}

.entry-form input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
	width: 300px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.5em;
	color: #fff;
	background-color: #ed1c24;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	margin: 80px auto 0;
	padding: 0;
}
.entry-form input[type="submit"]:hover {
	opacity: .7;
}

@media all and (max-width: 896px) {
	#main .comBox01 {
		font-size: 1.5rem;
	}
	.recruit-headline {
		font-size: min(4.26vw, 1.8rem);
		padding: 0.5em calc(12px + 1em);
		margin: 20px 0 16px;
	}
	.recruit-headline::before,
	.recruit-headline::after {
		width: 12px;
	}
	.recruit-summary {
		flex-direction: column;
		gap: 16px;
		margin-bottom: 26px;
	}
	.recruit-summary-img {
		max-width: none;
	}
	.recruit-summary-catch {
		font-size: 1.8rem;
		line-height: 1.6;
		padding: 0 10px;
		margin-bottom: 10px;
	}
	.recruit-summary-catch + p {
		padding: 0 10px;
	}
	.recruit-summary-point {
		padding: 30px 10px;
		margin: 35px 0 0;
	}
	.recruit-summary-point::before {
		width: 123px;
		top: -20px;
		left: 0;
	}
	.recruit-nav-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px 14px;
		margin-bottom: 33px;
	}
	.recruit-nav-list a {
		height: 57px;
		gap: 10px;
		border-radius: 3px;
	}
	.recruit-nav-list a::after {
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
		border-top: 8px solid #cec6c5;
	}
	.recruit-subheadline {
		font-size: 2rem;
		padding: 14px 0 0;
	}
	.recruit-description {
		margin-bottom: 48px;
	}
	.recruit-description-img {
		margin: 24px 0 10px;
	}
	.recruit-description-catch {
		font-size: 2rem;
		padding: 7px 12px;
	}
	.recruit-guidelines {
		margin-bottom: 40px;
	}
	.recruit-guidelines-contents {
		font-size: 1.6rem;
		line-height: 1.4;
		border-bottom: 1px solid #ccc;
		margin: 22px 0 0;
	}
	.recruit-guidelines-contents th {
		display: block;
		width: auto;
		border-bottom: none;
		padding: 14px 1em;
	}
	.recruit-guidelines-contents td {
		display: block;
		width: auto;
		border-bottom: none;
		padding: 1em 1em 2em;
	}
	.recruit-guidelines-contents .maplink {
		display: block;
		margin: 10px 0 0 0;
	}
	.recruit-entry {
		margin-bottom: 64px;
	}
	.recruit-about-catch-wrap {
		display: block;
		margin: 18px 0 29px;
	}
	.recruit-about-catch {
		font-size: 2.4rem;
		padding-left: 7px;
		margin-bottom: 12px;
	}
	.recruit-about-img {
		margin-bottom: 14px;
	}
	.recruit-about-subheadline {
		font-size: 1.6rem;
		margin-top: 2em;
	}
	.recruit-about .aboutlink {
		width: 300px;
		height: 50px;
		font-size: 1.6rem;
		margin: 28px 0 0;
	}
	.entry-form {
		margin-top: 20px;
	}
	.privacy-policy {
		margin: 0 0 18px;
	}
	.privacy-policy-content {
		height: 350px;
		border: 1px solid #ccc;
		padding: 25px 12px;
	}
	.privacy-policy-title {
		font-size: 1.8rem;
		margin-bottom: 12px;
	}
	.privacy-policy-list {
		margin-top: 22px;
	}
	.privacy-policy-list li {
		border-top: 4px dotted #534741;
		padding: 18px 0;
	}
	.privacy-policy-subtitle {
		font-size: 1.6rem;
	}
	.privacy-policy-btn {
		margin-top: 24px;
	}
	.privacy-policy-btn p {
		max-width: 312px;
		margin: 0 auto 12px;
	}
	.privacy-policy-btn label {
		font-size: 1.5rem;
	}
	.privacy-policy-btn input[type="checkbox"] {
		width: 11px;
		height: 11px;
	}
	.entry-form dl {
		display: block;
		padding: 26px 0;
		border-bottom: 4px dotted #534741;
	}
	.entry-form dt {
		width: auto;
		font-size: 1.6rem;
		padding: 0;
	}
	.entry-form dt.required::after {
		width: 40px;
		height: 20px;
		font-size: 1.2rem;
	}
  .entry-form .wpcf7-form-control-wrap {
		width: 42%;
	}
	.entry-form dd .form-fields {
		gap: 8px;
	}
	.entry-form dl.remarks dd {
		display: block;
	}
	.entry-form input,
	.entry-form  textarea {
		font-size: 1.2rem;
	}
	.entry-form input[type="text"] {
		width: 100%;
		height: 37px;
	}
	.entry-form  textarea {
		height: 100px;
	}
	.entry-form dl.remarks textarea {
		height: 100px;
	}
	.entry-form  input.lg,
	.entry-form  textarea.lg {
		max-width: 600px;
		width: 94%;
	}
	.entry-form  textarea.lg {
		width: 100%;
	}
	.entry-form input[type="submit"] {
		width: 246px;
		height: 40px;
		font-size: 1.6rem;
		color: #fff;
		background-color: #ed1c24;
		border-radius: 0;
		margin: 33px auto 0;
	}
}