
.topVisual { width: 100%; height: 340px; text-align: center; position: relative; margin: 90px 0 0; background: url(../img/job/top.jpg); background-size: cover; display: flex; align-items: center; justify-content: center; }
.topVisual h2 { background: #005BAB; width: 540px; height: 140px; color: #FFF; font-size: 50px; line-height: 50px; box-sizing: border-box; padding: 25px; }
.topVisual h2 span { display: block; font-size: 20px; }

#recruitTopWrapper { width: 100%; margin: 0; padding: 0; float: left; }
.recruitTopContent { width: 1000px; margin: 120px auto; }
.recruitTopContent .header p { width: 1000px; margin: 0 auto; font-size: 32px; font-weight: 900; line-height: 50px; position: relative; border-bottom: solid 2px #D6D6D6; color: #005BAB; padding: 0 0 10px; }
.recruitTopContent .header p:after { content: ""; border-bottom: solid 2px #005BAB; width: 120px; position: absolute; bottom: -2px; left: 0; }
.recruitTopContent .header p br { display: none; }
.recruitTopContent .header h3 { font-size: 24px; font-weight: 900; line-height: 35px; margin: 40px 0 0; }
.recruitTopContent .header h4 { font-size: 16px; line-height: 30px; }

.recruitTopContent .body { display: flex; justify-content: space-between; align-items: start; margin: 40px 0 0; }
.recruitTopContent .body table { width: 640px; max-width: 100%; font-size: 16px; border-collapse: collapse; }
.recruitTopContent .body th { text-align: left; line-height: 30px; border-bottom: solid 1px #D6D6D6; padding: 20px; color: #005BAB; }
.recruitTopContent .body td { line-height: 30px; border-bottom: solid 1px #D6D6D6; padding: 20px; }
.recruitTopContent .body div { width: 280px; }
.recruitTopContent .body div ul { display: flex; justify-content: space-around; flex-wrap: wrap; }
.recruitTopContent .body div li { font-size: 14px; line-height: 21px; display: block; border: solid 2px #D6D6D6; border-radius: 15px; margin: 5px 0 0; width: 130px; text-align: center; }

.recruitTopContent .footer { display: flex; justify-content: space-around; margin: 40px 0 0; }
.recruitTopContent .footer a.detail { line-height: 76px; font-size: 24px; text-align: center; color: #005BAB; width: 420px; border-radius: 40px; display: block; border: solid 2px #005BAB; background: linear-gradient(to bottom, #FFF, #005BAB11); box-sizing: border-box; }
.recruitTopContent .footer a.entry { width: 420px; height: 80px; display: block; color: #FFF; border-radius: 40px; text-align: center; line-height: 80px; font-size: 24px; border: none; background: linear-gradient(to right, #E60012, #CF0001); }


#recruitWrapper { width: 100%; margin: 0; padding: 120px 0 0; float: left; }
#recruitWrapper h2 { width: 1000px; margin: 0 auto; font-size: 32px; font-weight: 900; line-height: 50px; position: relative; border-bottom: solid 2px #D6D6D6; color: #005BAB; padding: 0 0 10px; }
#recruitWrapper h2:after { content: ""; border-bottom: solid 2px #005BAB; width: 120px; position: absolute; bottom: -2px; left: 0; }
.recruitContent { width: 1000px; margin: 80px auto 0; }
.recruitContent h3 { font-size: 24px; font-weight: 900; line-height: 35px; }

.recruitContent p { font-size: 16px; line-height: 30px; }

.recruitContent .body { display: flex; justify-content: space-between; margin: 40px 0 0; }
.recruitContent .body table { width: 1000px; max-width: 100%; font-size: 16px; border-collapse: collapse; }
.recruitContent .body th { text-align: left; line-height: 30px; border-bottom: solid 1px #D6D6D6; padding: 20px; color: #005BAB; }
.recruitContent .body td { line-height: 30px; border-bottom: solid 1px #D6D6D6; padding: 20px; }

.recruitContent .footer { display: flex; justify-content: space-around; margin: 80px 0 0; }
.recruitContent .footer a.detail { font-size: 14px; line-height: 20px; text-align: center; width: 420px; border-radius: 40px; color: #1A1A1A; display: block; border: solid 2px #005BAB; background: linear-gradient(to bottom, #FFF, #005BAB11); box-sizing: border-box; }
.recruitContent .footer a.detail b { font-size: 30px; line-height: 30px; font-weight: 900; color: #005BAB; display: block; }
.recruitContent .footer a.entry { width: 420px; height: 80px; display: block; color: #FFF; border-radius: 40px; text-align: center; line-height: 80px; font-size: 24px; border: none; background: linear-gradient(to right, #E60012, #CF0001); }

.recruitContent .body2 { display: flex; justify-content: space-between; margin: 80px 0 0; }
.recruitContent .body2 table { width: 1000px; max-width: 100%; font-size: 16px; border-collapse: collapse; }
.recruitContent .body2 th { text-align: left; line-height: 30px; border-bottom: solid 1px #D6D6D6; padding: 20px; color: #005BAB; }
.recruitContent .body2 td { line-height: 30px; border-bottom: solid 1px #D6D6D6; padding: 20px; }

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

@media only screen and (max-width: 1260px) {
	.topVisual { width: 100%; margin: 70px 0 0; }
	.topVisual h2 { }

	#recruitTopWrapper { padding: 0 20px; box-sizing: border-box; }
	.recruitTopContent { width: 100%; margin: 80px auto; }
	.recruitTopContent .header p { width: 100%; }

	.recruitTopContent .body { display: flex; justify-content: space-between; align-items: start; margin: 40px 0 0; }
	.recruitTopContent .body table { width: 400px; font-size: 18px; }

	.recruitTopContent .footer a.detail { width: 340px; }
	.recruitTopContent .footer a.entry { width: 340px; }


	#recruitWrapper { padding: 80px 20px 0; box-sizing: border-box; }
	#recruitWrapper h2 { width: 100%; }

	.recruitContent { width: 100%; margin: 40px 0 0; }

	.recruitContent .body { margin: 40px 0 0; }
	.recruitContent .body table { width: 100%; font-size: 18px; }

	.recruitContent .footer { margin: 40px 0 0; }
	.recruitContent .footer a.detail { width: 340px; }
	.recruitContent .footer a.entry { width: 340px; }
	.recruitContent .body2 { margin: 40px 0 0; }
	.recruitContent .body2 table { width: 100%; font-size: 18px; }

}


@media only screen and (max-width: 520px) {
	.topVisual { padding: 0 20px; box-sizing: border-box; }

	.topVisual { width: 100%; height: 230px; margin: 70px 0 0; padding: 0 40px; }
	.topVisual h2 { width: 100%; height: 110px; color: #FFF; font-size: 32px; line-height: 30px; padding: 30px; }
	.topVisual h2 span { font-size: 12px; }

	#recruitTopWrapper { }
	.recruitTopContent { margin: 80px auto; }
	.recruitTopContent .header p { font-size: 24px; line-height: 40px; }
	.recruitTopContent .header h3 { font-size: 20px; line-height: 30px; }
	.recruitTopContent .header h4 { font-size: 18px; line-height: 30px; }

	.recruitTopContent .body { display: block; }
	.recruitTopContent .body table { }
	.recruitTopContent .body th { padding: 10px; }
	.recruitTopContent .body td { padding: 10px; }
	.recruitTopContent .body div { width: 100%; text-align: center; margin: 40px 0 0; }
	.recruitTopContent .body div ul { display: block; text-align: left; }
	.recruitTopContent .body div li { margin: 5px 5px 0 0; padding: 0 20px; width: auto; display: inline-block; }

	.recruitTopContent .footer { display: flex; justify-content: center; margin: 40px 0 0; }
	.recruitTopContent .footer a.detail { width: 140px; margin: 0 10px; border-radius: 25px; font-size: 16px; line-height: 46px; }
	.recruitTopContent .footer a.entry { width: 140px; margin: 0 10px; border-radius: 25px; font-size: 16px; line-height: 50px; height: 50px; }


	#recruitWrapper { padding: 40px 20px 0; }
	#recruitWrapper h2 { font-size: 24px; line-height: 40px; }
	.recruitContent h3 { font-size: 20px; line-height: 30px; }

	.recruitContent p { font-size: 18px; line-height: 30px; }

	.recruitContent .body { display: block; margin: 40px 0 0; }
	.recruitContent .body th { padding: 10px; }
	.recruitContent .body td { padding: 10px; }
	.recruitContent .body div { text-align: center; margin: 40px 0 0; }

	.recruitContent .footer { display: block; }
	.recruitContent .footer a.detail { margin: 40px auto 0; }
	.recruitContent .footer a.entry { margin: 20px auto 0; }

	.recruitContent .body2 { display: block; }
	.recruitContent .body2 th { padding: 10px; }
	.recruitContent .body2 td { padding: 10px; }

}