@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200&family=Shippori+Mincho+B1:wght@700&display=swap");
#pagetitle.recruitcatch {
	position: relative;
	margin-top: 50px;
	background: url(../../recruit/upload/images/recruitvisual.jpg) no-repeat center center;
	background-size: cover;
	overflow: hidden;
}
#pagetitle.recruitcatch:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(245, 243, 236, 0.17);
	backdrop-filter: blur(7px);
	filter: brightness(0.84);
	z-index: 1;
}
#pagetitle.recruitcatch:after {
	content: "";
	display: block;
	position: absolute;
	width: min(980px, 60%);
	height: 110%;
	bottom: -10%;
	right: 0%;
	background: url(../images/logoicon.svg) no-repeat bottom left;
	background-size: auto calc(100% + 150px);
	opacity: 0.3;
	z-index: 2;
}
#pagetitle.recruitcatch > div {
	padding-top: 80px;
	padding-bottom: 80px;
	z-index: 5;
}
@media screen and (max-width: 959px) {
	#pagetitle.recruitcatch > div {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}
@media screen and (max-width: 767px) {
	#pagetitle.recruitcatch > div {
		padding-top: 30px;
		padding-bottom: 40px;
	}
}
#pagetitle.recruitcatch h1 {
	margin-bottom: 40px;
	color: #fff;
}
#pagetitle.recruitcatch h1:before {
	color: #fff;
}
#pagetitle.recruitcatch p {
	margin-top: 20px;
	font-size: min(1.5625vw, 20px);
	line-height: 1.5;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	#pagetitle.recruitcatch p {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle.recruitcatch p {
		font-size: min(3.2vw, 12px);
	}
}
#pagetitle.recruitcatch p strong {
	font-size: min(4.6875vw, 60px);
	font-weight: 700;
}
@media screen and (max-width: 959px) {
	#pagetitle.recruitcatch p strong {
		font-size: min(5.8536585366vw, 48px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle.recruitcatch p strong {
		font-size: min(7.8898071625vw, 29.5867768595px);
	}
}
#pagetitle.recruitcatch p + p {
	margin-top: 1.5em;
}

#pagetitle.people {
	position: relative;
	display: flex;
	margin-top: -20px;
	height: min(600px, 31.25vw);
	background: none no-repeat center center;
	background-size: cover;
	transition: opacity 800ms;
}
#pagetitle.people:has(~ main .pagesplit > .current) {
	opacity: 0;
}
@media screen and (max-width: 767px) {
	#pagetitle.people:has(~ main .pagesplit > .current) {
		opacity: 1;
	}
}
@media screen and (max-width: 959px) {
	#pagetitle.people {
		height: min(400px, 41.6666666667vw);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle.people {
		margin-top: -10px;
		height: auto;
		aspect-ratio: 4 / 3;
	}
}
#pagetitle.people > div {
	margin-bottom: 45px;
}
@media screen and (max-width: 959px) {
	#pagetitle.people > div {
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 767px) {
	#pagetitle.people > div {
		margin-bottom: 20px;
	}
}
#pagetitle.people:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100px;
	bottom: 0;
	left: 0;
	background: linear-gradient(to bottom, rgba(0, 72, 152, 0) 0%, #004898 100%);
}
#pagetitle.people h1 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 15px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	#pagetitle.people h1 {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle.people h1 {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
#pagetitle.people h1 span {
	font-size: min(1.09375vw, 14px);
}
@media screen and (max-width: 959px) {
	#pagetitle.people h1 span {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle.people h1 span {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
#pagetitle.people .catch {
	display: inline-flex;
	align-items: center;
	margin-bottom: 10px;
	padding: 10px 20px;
	min-height: 70px;
	font-size: min(2.265625vw, 29px);
	line-height: 1.4;
	font-weight: 500;
	background: #fff;
}
@media screen and (max-width: 959px) {
	#pagetitle.people .catch {
		font-size: min(2.8292682927vw, 23.2px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle.people .catch {
		font-size: min(4.2666666667vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle.people .catch {
		padding: 10px 15px;
		min-height: 60px;
	}
}

.recruitnavi {
	background: #004898;
}
.recruitnavi.fixed {
	position: fixed;
	width: 100%;
	top: 100px;
	left: 0;
	z-index: 5;
	transition: top 600ms;
}
.hideheader .recruitnavi.fixed {
	top: 50px;
}
@media screen and (max-width: 959px) {
	.recruitnavi.fixed {
		top: 50px;
	}
}
@media screen and (max-width: 767px) {
	.recruitnavi.fixed {
		display: none;
	}
}
.recruitnavi.fixed > div {
	transition: padding 600ms;
}
.hideheader .recruitnavi.fixed > div {
	padding-top: 10px;
	padding-bottom: 10px;
}
@media screen and (max-width: 959px) {
	.recruitnavi.fixed > div {
		padding-top: 10px;
		padding-bottom: 10px;
	}
}
.recruitnavi.fixed a {
	height: 40px;
}
.hideheader .recruitnavi.fixed a {
	height: 30px;
}
@media screen and (max-width: 959px) {
	.recruitnavi.fixed a {
		height: 30px;
	}
}
.recruitnavi.fixed a:after {
	display: none;
}
.recruitnavi > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 15px 40px;
}
@media screen and (max-width: 959px) {
	.recruitnavi > div {
		padding: 10px 20px;
	}
}
@media screen and (max-width: 767px) {
	.recruitnavi > div {
		padding: 7.5px 15px;
	}
}
.recruitnavi ul {
	display: flex;
	border-left: 1px solid #fff;
}
.recruitnavi ul li {
	flex: 1;
	border-right: 1px solid #fff;
}
.recruitnavi a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 60px;
	font-size: min(1.171875vw, 15px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	transition: opacity 0.2s, background 0.2s, height 600ms;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	.recruitnavi a {
		font-size: min(1.4634146341vw, 12px);
	}
}
@media screen and (max-width: 767px) {
	.recruitnavi a {
		font-size: min(2.6666666667vw, 10px);
		line-height: 1.3;
	}
}
.recruitnavi a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	.recruitnavi a {
		padding: 5px;
	}
}
.recruitnavi a:after {
	content: "";
	display: block;
	width: 8px;
	height: 6px;
	margin-top: 12px;
	background: url(../images/down.svg) no-repeat center center;
}

.recruitaboutcatch {
	position: relative;
	margin-bottom: -90px;
	padding: 80px 0px 170px;
	z-index: 0;
}
@media screen and (max-width: 959px) {
	.recruitaboutcatch {
		padding: 40px 0px 130px;
	}
}
@media screen and (max-width: 767px) {
	.recruitaboutcatch {
		padding-bottom: 80px;
		margin-bottom: -45px;
	}
}
.recruitaboutcatch:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 50%;
	margin-left: -50vw;
	background: url(../../recruit/upload/images/recruitabout.jpg) no-repeat center center;
	background-size: cover;
	z-index: -3;
}
.recruitaboutcatch p {
	font-size: min(2.96875vw, 38px);
	line-height: 1.7;
	font-weight: 700;
	color: #fff;
	font-family: 'Shippori Mincho B1', serif;
}
@media screen and (max-width: 959px) {
	.recruitaboutcatch p {
		font-size: min(3.7073170732vw, 30.4px);
	}
}
@media screen and (max-width: 767px) {
	.recruitaboutcatch p {
		font-size: min(5.9174435262vw, 22.1904132231px);
	}
}
.recruitaboutcatch p:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 50%;
	margin-left: -50vw;
	background: #fff;
	opacity: 0.33;
	z-index: -2;
}
.recruitaboutcatch p:after {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 50%;
	margin-left: -50vw;
	background: #004898;
	mix-blend-mode: hard-light;
	opacity: 0.33;
	z-index: -1;
}

.recruitbusiness {
	display: flex;
	gap: 40px min(40px, 3.125vw);
}
*:not(h1, h2, h3, h4, h5, h6) + .recruitbusiness {
	margin-top: 60px;
}
@media screen and (max-width: 767px) {
	*:not(h1, h2, h3, h4, h5, h6) + .recruitbusiness {
		margin-top: 45px;
	}
}
.recruitbusiness .head {
	width: calc((100% - min(40px, 40/1280*100vw) * 2) / 3);
}
@media screen and (max-width: 767px) {
	.recruitbusiness .head {
		width: 100%;
	}
}
.recruitbusiness .head ul {
	display: flex;
	flex-direction: column;
	border-top: 1px solid #CDD6DD;
}
.recruitbusiness .head ul li {
	border-bottom: 1px solid #CDD6DD;
	overflow-x: clip;
}
@media screen and (max-width: 767px) {
	.recruitbusiness .head ul li {
		flex: 1;
		border-top: 1px solid #CDD6DD;
	}
}
.recruitbusiness .head ul a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 5px min(55px, 4.296875vw) 5px min(85px, 6.640625vw);
	height: 65px;
	font-size: min(1.40625vw, 18px);
	line-height: 1.3;
	font-weight: 400;
	color: #000000;
	transition: box-shadow 600ms;
}
@media screen and (max-width: 959px) {
	.recruitbusiness .head ul a {
		font-size: min(1.756097561vw, 14.4px);
	}
}
@media screen and (max-width: 767px) {
	.recruitbusiness .head ul a {
		font-size: min(3.6800881543vw, 13.8003305785px);
	}
}
@media screen and (max-width: 767px) {
	.recruitbusiness .head ul a {
		height: 45px;
		padding: 5px 55px 5px 85px;
	}
}
.recruitbusiness .head ul a:hover {
	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
}
.recruitbusiness .head ul a:before {
	content: "";
	display: block;
	position: absolute;
	width: min(75px, 5.859375vw);
	height: 100%;
	top: 0;
	left: 0;
	background: none no-repeat center center;
	background-size: 36px auto;
}
@media screen and (max-width: 767px) {
	.recruitbusiness .head ul a:before {
		width: 75px;
	}
}
.recruitbusiness .head ul a:after {
	content: "";
	display: block;
	position: absolute;
	width: min(55px, 4.296875vw);
	height: 100%;
	top: 0;
	right: 0;
	background: url(../images/arrow.svg) no-repeat center center;
}
@media screen and (max-width: 767px) {
	.recruitbusiness .head ul a:after {
		width: 55px;
	}
}
.recruitbusiness .head ul .i01 a:before {
	background-image: url(../../recruit/upload/images/work01.png);
}
.recruitbusiness .head ul .i02 a:before {
	background-image: url(../../recruit/upload/images/research-job04.png);
}
.recruitbusiness .head ul .i03 a:before {
	background-image: url(../../recruit/upload/images/research-job05.png);
}
.recruitbusiness .head ul .i04 a:before {
	background-image: url(../../recruit/upload/images/research-job06.png);
}
.recruitbusiness .head ul .i05 a:before {
	background-image: url(../../recruit/upload/images/research-job07.png);
}
.recruitbusiness .head ul .i06 a:before {
	background-image: url(../../recruit/upload/images/research-job08.png);
}
.recruitbusiness .head ul .i07 a:before {
	background-image: url(../../recruit/upload/images/research-job09.png);
}
.recruitbusiness .head ul .i08 a:before {
	background-image: url(../../recruit/upload/images/research-job10.png);
}
.recruitbusiness .head ul .i09 a:before {
	background-image: url(../../recruit/upload/images/research-job11.png);
}
.recruitbusiness .head ul .i10 a:before {
	background-image: url(../../recruit/upload/images/research-job12.png);
}
.recruitbusiness .head ul div {
	display: none;
}
.recruitbusiness .body {
	position: relative;
	width: calc((100% - min(40px, 40/1280*100vw) * 2) / 3 * 2 + min(40px, 40/1280*100vw));
}
@media screen and (max-width: 767px) {
	.recruitbusiness .body {
		display: none;
	}
}
.recruitbusiness .body > div {
	position: absolute;
	display: flex;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 20px;
	z-index: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0ms 400ms;
}
.recruitbusiness .body > div.show {
	opacity: 1;
	pointer-events: auto;
	transition: opacity 400ms;
}
.recruitbusiness .body > div a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	border-radius: 20px;
	transition: box-shadow 600ms;
}
.recruitbusiness .body > div a:hover {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
.recruitbusiness .body > div a:hover img {
	transform: scale(1.15);
}
.recruitbusiness .body > div a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	min-height: max(min(215px, 16.796875vw), 35%);
	background: linear-gradient(to bottom, rgba(0, 72, 152, 0) 0%, #004898 100%);
	border-radius: 0px 0px 20px 20px;
	z-index: -1;
}
.recruitbusiness .body > div .image {
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	overflow: hidden;
	z-index: -2;
}
.recruitbusiness .body > div img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms;
}
.recruitbusiness .body > div .title {
	width: 100%;
	padding: 0 min(20px, 1.5625vw);
	font-size: min(2.5vw, 32px);
	line-height: 1.3;
	font-weight: 400;
	color: #fff;
	border-radius: 0px 0px 20px 20px;
}
@media screen and (max-width: 959px) {
	.recruitbusiness .body > div .title {
		font-size: min(3.1219512195vw, 25.6px);
	}
}
@media screen and (max-width: 767px) {
	.recruitbusiness .body > div .title {
		font-size: min(5.2906666667vw, 19.84px);
	}
}
.recruitbusiness .body > div .info {
	padding: 10px min(20px, 1.5625vw) min(40px, 3.125vw);
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	.recruitbusiness .body > div .info {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.recruitbusiness .body > div .info {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}

.recruitpeople {
	display: flex;
	gap: 0px min(40px, 3.125vw);
	flex-wrap: wrap;
}
*:not(h1, h2, h3, h4, h5, h6) + .recruitpeople {
	margin-top: 80px;
}
@media screen and (max-width: 767px) {
	*:not(h1, h2, h3, h4, h5, h6) + .recruitpeople {
		margin-top: 60px;
	}
}
.recruitpeople .head {
	display: flex;
	flex-direction: column;
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4);
}
@media screen and (max-width: 959px) {
	.recruitpeople .head {
		width: calc((100% - min(40px, 40/1280*100vw) * 2) / 3);
	}
}
@media screen and (max-width: 767px) {
	.recruitpeople .head {
		width: 100%;
	}
}
.recruitpeople .head .switch {
	position: relative;
	padding-top: 20px;
	margin-top: auto;
}
@media screen and (max-width: 767px) {
	.recruitpeople .head .switch {
		display: none;
	}
}
.recruitpeople .head .switch div {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
}
.recruitpeople .head .switch ul {
	display: flex;
	align-items: center;
	gap: 10px;
}
.recruitpeople .head .switch ul a {
	display: block;
	width: 50px;
	height: 50px;
	text-indent: -10000px;
	background: url(../images/next.svg) no-repeat center center #004898;
	border-radius: 50%;
	overflow: hidden;
	transition: box-shadow 600ms;
}
.recruitpeople .head .switch ul a:hover {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
.recruitpeople .head .switch ul li:nth-child(1) a {
	background-image: url(../images/prev.svg);
}
.recruitpeople .body {
	position: relative;
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4 * 3 + min(40px, 40/1280*100vw) * 2);
}
@media screen and (max-width: 959px) {
	.recruitpeople .body {
		width: calc((100% - min(40px, 40/1280*100vw) * 2) / 3 * 2 + min(40px, 40/1280*100vw));
	}
}
@media screen and (max-width: 767px) {
	.recruitpeople .body {
		width: 100%;
	}
}
.recruitpeople .body ul {
	pointer-events: none;
}
.recruitpeople .body .swiper-slide {
	width: min(290px, 22.65625vw);
	margin-right: min(40px, 3.125vw);
	background: #fff;
	transition: opacity 600ms;
	pointer-events: auto;
}
@media screen and (max-width: 767px) {
	.recruitpeople .body .swiper-slide {
		width: min(140px, 35.8974358974vw);
		margin-right: 10px;
	}
}
.recruitpeople .body li:not(.swiper-slide-active ~ li):not(.swiper-slide-active) {
	opacity: 0;
	pointer-events: none;
}
.recruitpeople .body a {
	position: relative;
	display: block;
	border-radius: 20px;
}
.recruitpeople .body a .image {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	transition: box-shadow 600ms;
}
.recruitpeople .body a img {
	width: 100%;
	transition: transform 600ms;
}
.recruitpeople .body a .title {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	bottom: 0;
	left: 0;
	width: 100%;
	min-height: max(min(100px, 7.8125vw), 35%);
	padding: min(25px, 1.953125vw) min(20px, 1.5625vw) min(20px, 1.5625vw);
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 400;
	color: #fff;
	background: linear-gradient(to bottom, rgba(0, 72, 152, 0) 0%, #004898 100%);
	border-radius: 0px 0px 20px 20px;
}
@media screen and (max-width: 959px) {
	.recruitpeople .body a .title {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	.recruitpeople .body a .title {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
@media screen and (max-width: 767px) {
	.recruitpeople .body a .title {
		padding: 25px 10px 10px;
	}
}
.recruitpeople .body a .title span {
	margin-bottom: 5px;
	font-size: min(1.328125vw, 17px);
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.recruitpeople .body a .title span {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.recruitpeople .body a .title span {
		font-size: min(3.2vw, 12px);
	}
}
.recruitpeople .body a:hover .image {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
.recruitpeople .body a:hover img {
	transform: scale(1.15);
}

.recruitfaq a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: min(30px, 2.34375vw);
	padding: min(20px, 1.5625vw);
	min-height: 240px;
	background: url(../../recruit/upload/images/recruitfaq.jpg) no-repeat center center;
	background-size: cover;
	border-radius: 20px;
	transition: box-shadow 600ms;
}
@media screen and (max-width: 959px) {
	.recruitfaq a {
		min-height: 180px;
	}
}
.recruitfaq a:hover {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
.recruitfaq a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0, 72, 152, 0.4);
	border-radius: 20px;
}
.recruitfaq a .title {
	position: relative;
	font-size: min(2.8125vw, 36px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	z-index: 5;
}
@media screen and (max-width: 959px) {
	.recruitfaq a .title {
		font-size: min(3.512195122vw, 28.8px);
	}
}
@media screen and (max-width: 767px) {
	.recruitfaq a .title {
		font-size: min(5.7127493113vw, 21.4228099174px);
	}
}
.recruitfaq a .info {
	position: relative;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	z-index: 5;
}
@media screen and (max-width: 959px) {
	.recruitfaq a .info {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.recruitfaq a .info {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}

.recruitentry {
	position: relative;
	padding: 125px 0 95px;
}
*:not(h1, h2, h3, h4, h5, h6) + .recruitentry {
	margin-top: 80px;
}
@media screen and (max-width: 767px) {
	*:not(h1, h2, h3, h4, h5, h6) + .recruitentry {
		margin-top: 60px;
	}
}
@media screen and (max-width: 959px) {
	.recruitentry {
		padding: 60px 0 30px;
	}
}
.recruitentry:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 50%;
	margin-left: -50vw;
	background: url(../../recruit/upload/images/recruitentry.jpg) no-repeat center center;
	background-size: cover;
	z-index: -3;
}
.recruitentry:after {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 50%;
	margin-left: -50vw;
	background: rgba(0, 0, 0, 0.11);
	background-size: cover;
	z-index: -2;
}
.recruitentry > a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 50%;
	margin-left: -50vw;
	background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 16.777%, rgba(255, 255, 255, 0.1) 16.777%, rgba(255, 255, 255, 0.1) 33.333%, rgba(255, 255, 255, 0) 33.333%, rgba(255, 255, 255, 0) 66.666%, rgba(255, 255, 255, 0.1) 66.666%, rgba(255, 255, 255, 0.1) 83.333%, rgba(255, 255, 255, 0) 83.333%, rgba(255, 255, 255, 0) 100%);
	background-size: 60px 106px;
	z-index: -1;
}
.recruitentry > a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: min(20px, 1.5625vw);
	width: 100%;
	max-width: 920px;
	min-height: 180px;
	margin: auto;
	font-size: min(2.8125vw, 36px);
	line-height: 1.5;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background: radial-gradient(circle var(--bs) at 40% 35%, #58c9d3 0%, #004898 100%);
	border: 1px solid #CDD6DD;
	border-radius: 90px;
	transition: box-shadow 600ms;
}
@media screen and (max-width: 959px) {
	.recruitentry > a {
		font-size: min(3.512195122vw, 28.8px);
	}
}
@media screen and (max-width: 767px) {
	.recruitentry > a {
		font-size: min(5.7127493113vw, 21.4228099174px);
	}
}
@media screen and (max-width: 959px) {
	.recruitentry > a {
		min-height: 120px;
	}
}
.recruitentry > a:hover {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
.recruitentry p {
	margin-top: 50px;
	font-size: min(1.875vw, 24px);
	line-height: 1.5;
	font-weight: 500;
	color: #fff;
	text-align: center;
}
@media screen and (max-width: 959px) {
	.recruitentry p {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	.recruitentry p {
		font-size: min(3.7333333333vw, 14px);
	}
}
@media screen and (max-width: 959px) {
	.recruitentry p {
		margin-top: 30px;
	}
}
.recruitentry p a {
	color: #fff;
	text-decoration: underline;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.recruitentry p a:hover {
	opacity: 0.7;
}

.recruitwork {
	position: relative;
	display: flex;
	gap: min(40px, 3.125vw);
	width: 100%;
	padding: 80px 0;
}
*:not(h1, h2, h3, h4, h5, h6) + .recruitwork {
	margin-top: 80px;
}
@media screen and (max-width: 767px) {
	*:not(h1, h2, h3, h4, h5, h6) + .recruitwork {
		margin-top: 60px;
	}
}
@media screen and (max-width: 767px) {
	.recruitwork {
		padding: 40px 0;
	}
}
.recruitwork:before {
	content: "";
	display: block;
	position: absolute;
	width: var(--w);
	height: 100%;
	left: 50%;
	top: 0;
	background: #004898;
	border-radius: 30px;
	z-index: -1;
	transform: translateX(-50%);
}
.recruitwork .image {
	flex-shrink: 0;
	width: min(620px, 48.4375vw);
	margin: 0 0 auto auto !important;
}
@media screen and (max-width: 959px) {
	.recruitwork .image {
		width: min(360px, 37.5vw);
	}
}
@media screen and (max-width: 767px) {
	.recruitwork .image {
		display: none;
	}
}
.recruitwork h2 {
	color: #fff !important;
}
.recruitwork h2:before {
	color: #fff !important;
}
.recruitwork dl dt {
	position: absolute;
	font-size: min(3.125vw, 40px);
	line-height: 1;
	font-weight: 100;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
}
@media screen and (max-width: 959px) {
	.recruitwork dl dt {
		font-size: min(3.9024390244vw, 32px);
	}
}
@media screen and (max-width: 767px) {
	.recruitwork dl dt {
		font-size: min(6.1179063361vw, 22.9421487603px);
	}
}
.recruitwork dl dd + dt {
	margin-top: min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
	.recruitwork dl dd + dt {
		margin-top: min(30px, 7.6923076923vw);
	}
}
.recruitwork dl dd {
	margin-top: min(40px, 3.125vw);
	margin-left: 5.25em;
	font-size: min(1.5625vw, 20px);
	line-height: 2;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	.recruitwork dl dd {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.recruitwork dl dd {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
@media screen and (max-width: 767px) {
	.recruitwork dl dd {
		margin-top: min(30px, 7.6923076923vw);
	}
}
