@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .mainImg03 {
	position: relative;
	background-color: #0074D9;
}
#main .mainImg03 .photo {
	margin: max(-5.6vw,-107px) max(-6.6vw,-126px) 0 0;
	position: relative;
}
#main .mainImg03 .photo:after {
	width: min(64vw,1233px);  
	height: min(41vw,777px);
	background: url(../img/recruit/index/bg01.png) no-repeat right top;
	background-size: 100% auto;
	position: absolute;  
	bottom: max(-22vw,-421px);
	right: min(22vw,420px);  
	content: ""; 
}
#main .mainImg03 .photo > img {
	margin-bottom: max(-3.1vw,-58px);
	width: 100%;
}
#main .mainImg03 .photo > img.pc{
	margin-bottom: max(-3.1vw,-58px);
	  width: 100%;
	  /* max-width: 1200px !important;
	  margin-left: calc( calc(100vw - 1200px) / 2 ); */
	  max-width: 1100px !important;
	  margin-left: calc( calc(100vw - 1400px) / 2 );
	  margin-top: 60px;
	}
#main .mainImg03 .content {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 100%;
	padding-top: min(14vw,260px);
	max-width: inherit;
}
#main .mainImg03 h2 {
	/* padding: 70px 20px 0; */
	padding: 0px 20px 0;
	font-size: min(8.3vw,15.8rem);
	color: #0074D9;
	position: relative;
	max-width: min(91.1vw,1750px);
	/* margin: 0 auto; */
	margin: 20px auto;
	text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.4);
}
#main .mainImg03 h2 .txtImg {
	position: absolute;
	top: 0;
	left: min(16vw,305px);
	z-index: -1;
}
#main .mainImg03 .photo span {
	position: absolute;
	right: 0;
	bottom: max(-9.4vw,-180px);
}
#main .bgBox {
	position: relative;
	z-index: 2;
	background-color: #EEEEEE;
}
#main .bgBox .comList {
	margin-bottom: 61px;
	position: relative;
	top: -19px;
}
#main .centerTxt {
	margin-bottom: 90px;
	text-align: center;
	/* font-size: min(3vw,3.2rem); */
	font-size:2rem;
	letter-spacing: 0.08em;
	line-height: 2;
	color: #1A1A1A;
	font-weight: 700;
	font-weight:500;
	font-feature-settings: "palt";
}
#main .photoInner {
	margin-bottom: 230px;
}
#main .photoList {
	display: flex;
}
#main .photoList02 {
	position: relative;
	z-index: 2;
}
#main .photoList li {
	margin: 0 5px 12px;
}
#main .photoList01 li {
	filter: drop-shadow(10px 150px 10px rgba(0, 0, 0, 0.17));
}
#main .work {
	padding-bottom: 167px;
	display: flex;
	justify-content: space-between;
	background-color: #fff;
}
#main .work .photoBox {
	margin: -55px min(7vw,130px) 0 -12px;
	width: calc(50% + 50px);
}
#main .work .photoBox img {
	width: 100%;
}
#main .work .textBox {
	padding-right: 50px;
	flex: 1;
	margin-top: -15px;
}
#main .work .textBox .sub {
	padding-bottom: 50px;
	width: 100%;
	max-width: 690px;
}
#main .work p {
	margin-bottom: 40px;
	font-weight: 500;
	line-height: 2;
}
#main .work h3 {
	margin-bottom: 62px;
	padding-top: min(5.3vw,100px);
	/* font-size: 8rem; */
	font-size: 5rem;
	color: #0074D9;
	line-height: 1;
	position: relative;
	z-index: 1;
}
#main .work h3 span {
	position: absolute;
	top: -31px;
	left: min(2vw,37px);
	z-index: -1;
	margin-right: max(-4vw,-70px);
	display: block;
}
#main .work .comLink05 {
	padding-top: 10px;
}
#main .staff {
	padding-bottom: 70px;
	background-color: #0074D9;
}
#main .staff .ttlBox {
	max-width: 1500px;
	margin: 0 auto 28px;
	padding: 2px 20px;
	display: flex;
}
#main .staff .ttlBox h3 {
	/* font-size: min(5vw,8rem); */
	font-size: 6rem;
	line-height: 1;
	color: #fff;
	padding: 100px min(2.1vw,40px) 0 min(4vw,70px);
	position: relative;
	z-index: 1;
}
#main .staff .ttlBox h3 span {
	position: absolute;
	top: 0;
	left: 0;
	margin: max(-3vw,-57px) max(-14vw,-250px) 0 max(-3vw,-49px);
	z-index: -1;
}
#main .staff .ttlBox p {
	padding-top: 100px;
	font-weight: 700;
	color: #EEEEEE;
	line-height: 2.14;
	position: relative;
	z-index: 2;
}
#main .staff .jsBox {
	margin-bottom: 47px;
	position: relative;
}
#main .staff .jsBox .prev {
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: min(6.5vw,123px);
	transition: all ease 0.3s;
}
#main .staff .jsBox .next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: min(7.3vw,140px);
	transition: all ease 0.3s;
}
#main .staff .jsBox .fooUl .slick-slide {
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}
#main .staff .jsBox .fooUl .slick-slide > div {
	margin: 0;
}
#main .staff .jsBox .fooUl li {
	margin: 0 auto;
	padding-right: min(27vw,500px);
	opacity: 0.31;
	transition: all ease 0.3s;
}
#main .staff .jsBox .fooUl .active li {
	opacity: 1;
}
#main .staff .jsBox .fooUl li a {
	display: block;
	position: relative;
}
#main .staff .jsBox .fooUl li .sub {
	position: absolute;
	top: calc(50% + 60px);
	transform: translateY(-50%);
	left: min(28.2vw,540px);
	opacity: 0;
	visibility: hidden;
}
#main .staff .jsBox .fooUl .active li .sub {
	opacity: 1;
	visibility: visible;
}
#main .staff .jsBox .fooUl li p {
	margin-right: -100px;
	max-width: 800px;
	font-size: 3.5rem;
	letter-spacing: 0.1em;
	color: #fff;
	font-weight: 700;
	white-space: nowrap;
	font-feature-settings: "palt";
}
#main .staff .jsBox .fooUl li.voice05 p {
  text-align: right;
}
/* #main .staff .jsBox .fooUl li p.small {
	font-size: 3.5rem;
} */
#main .staff .jsBox .fooUl li p span {
	margin-bottom: 15px;
	display: block;
	padding: 10px 10px 19px 55px;
	background: #fff;
	color: #101010;
	transition: all ease 0.3s;
}
#main .staff .jsBox .fooUl li p span.voice05 {
  margin-left: 360px;
	padding: 10px 25px 19px 25px;
}
#main .staff .jsBox .fooUl li p .txtSpan {
	margin-left: 95px;
	padding-left: 40px;
	padding-right: 25px;
}
#main .staff .jsBox .fooUl li.voice01 p .txtSpan {
	margin-left: 15px;
}
#main .staff .jsBox .fooUl li.voice05 p .txtSpan {
  margin-left: 45px;
}
#main .staff .jsBox .fooUl .arrow {
	margin: 40px 0 0 100px;
}
#main .staff .comLink02 {
	width: 348px;
}
#main .staff .comLink02 span {
	padding-right: 40px;
	/* min-height: 90px; */
	min-height: 70px;
	/* font-size: 2.7rem; */
	font-size: 2rem;
	border-radius: 14px;
	/* background-size: 49px auto; */
	background-size: 30px auto;
	background-position: right 30px center;
}
#main .shuho {
	/* padding: 200px 0 146px; */
	padding: 120px 0 146px;
	background-color: #EEEEEE;
}
#main .shuho .content {
	max-width: 1340px;
}
#main .shuho h3 {
	margin-bottom: 40px;
	/* font-size: 7rem; */
	font-size: 5rem;
	color: #000000;
	line-height: 1;
	position: relative;
	z-index: 1;
}
#main .shuho h3 span {
	position: absolute;
	top: 50%;
	left: min(21vw,400px);
	margin-right: max(-5.3vw,-100px);
	z-index: -1;
	transform: translateY(-50%);
}
#main .shuho .text {
	margin-bottom: 100px;
	font-weight: 500;
	line-height: 2.14;

	z-index: 99;
  position: relative;
}
.comBox {
	margin: 0 -30px;
	position: relative;
	z-index: 1;
}
.comBox:after {
	width: 100%;  
	height: calc(100% + 190px);
	background: linear-gradient(rgba(103, 103, 103, 0) 0%, #747474 100%);
	position: absolute;  
	top: -260px;
	left: 0;  
	content: ""; 
	z-index: -1;
}
.comBox a {
	/* min-height: 600px; */
	min-height: 400px;
}
.comBox .sub {
	padding: 0 4px;
	box-sizing: border-box;
	width: 33.33%;
}
.comBox .sub .photo {
	border-radius: 22px;
}
.comBox .comLink02 span {
	font-weight: 700;
}
#main .sec {
	/* padding: 165px 0 260px; */
	padding: 80px 0 160px;
	background-color: #fff;
}
#main .sec .content {
	max-width: 1480px;
	position: relative;
}
#main .sec .photoBox {
	position: absolute;
	/* top: calc(50% + 87px); */
	top: calc(50% + 50px);
	right: -88px;
	max-width: 1080px;
	width: 62%;
	transform: translateY(-50%);
}
#main .sec h3 {
	margin-bottom: 45px;
	padding-top: 120px;
	/* font-size: 7rem; */
	font-size: 5rem;
	line-height: 1;
	color: #292929;
	position: relative;
}
#main .sec h3 span {
	position: absolute;
	top: 0;
	left: 0;
	margin: -4px 0 0 max(-3.5vw,-67px);
}
#main .sec p {
	margin: 0 10px 40px;
	font-size: 2.3rem;
	font-weight: 600;
	font-weight: 500;
	color: #1A1A1A;
	position: relative;
	z-index: 1;
}
#main .sec .comLink04 {
	width: 299px;
	position: relative;
	z-index: 1;
}
#main .sec .comLink04 a {
	padding: 5px 45px;
	/* min-height: 77px; */
	min-height: 70px;
	border-radius: 7px;
	/* font-size: 2.1rem; */
	font-size: 2rem;
	justify-content: flex-start;
	/* background-size: 41px auto; */
	background-size: 30px auto;
	background-position: right 30px center;
	background-color: #0096DF;
	border: 2px solid #0096DF;
}
#main .btmBox {
	/* padding: 152px 0 167px; */
	padding: 80px 0 80px;
	background-color: #EEEEEE;
}
#main .btmBox .link {
	max-width: 1321px;
	margin: 0 auto;
	padding: 0 20px;
}
#main .btmBox .link a {
	/* min-height: 251px; */
	min-height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 18px;
	color: #fff;
	/* font-size: 4.9rem; */
	font-size: 2.6rem;
	border-radius: 18px;
	font-weight: 700;
	position: relative;
	background: linear-gradient(-90deg,#70bcff 0%, #014af3 100%);
	
	/* �ǉ� */
	max-width: 600px;
  margin: 0 auto;
}
#main .btmBox .link a:hover {
	opacity: 0.7;
}
#main .btmBox .link a:after {
	/* width: 72px;  
	height: 72px; */
	width: 40px;  
	height: 40px;
	background: url(../img/common/icon06.png) no-repeat right top;
	background-size: 100% auto;
	position: absolute;  
	top: 50%;
	transform: translateY(-50%);
	right: 60px;  
	content: ""; 
}
#main .btmBox .link span {
	width: 100%;
	text-align: center;
}
#main .btmBox .link a small {
	/* margin-bottom: 10px; */
	margin-bottom: 7px;
	display: block;
	/* font-size: 2.9rem; */
	font-size: 1.8rem;
}

@media all and (min-width: 897px) {
	.comBox .txt {
		line-height: 2.06;
		font-weight: 700;
		font-size: 1.6rem;
	}
	.comBox .ttl {
		font-size: 1.2rem;
	}
	.comBox .ttl span {
		font-size: min(2.8vw,3.9rem);
		margin-top: 0;
	}
	.comBox .comLink02 {
		width: 170px;
	}
	.comBox .comLink02 span {
		padding-right: 30px;
		font-size: 1.5rem;
		min-height: 44px;
		font-size: 1.5rem;
		background-size: 25px auto;
	}
	.comBox .comLink02 span.small {
		font-size: 1.4rem;
	}
	.comBox .sub a:hover .photoBox {
		width: 105%;
		height: 107%;
		border-radius: 27px;
		filter: drop-shadow(-5px 2px 9px rgba(0, 0, 0, 0.4));
	}
	.comBox .sub a:hover .photo::after {
		border-radius: 27px;
	}
	.comBox .jsSub {
		margin: 0 0 35px;
	}
	.comBox .sub a:hover .photo img {
		border-radius: 27px;
	}
	#main .sec .comLink04 a:hover {
		color: #0096DF;
		background-color: #fff;
	}
	#main .staff .jsBox .next:hover,
	#main .staff .jsBox .prev:hover {
		opacity: 0.7;
	}
	#main .staff .jsBox .fooUl li a:hover .photoBox {
		opacity: 0.7;
	}
	#main .staff .jsBox .fooUl li a:hover p span {
		color: #fff;
		background: linear-gradient(-90deg,#70cbff 0%, #001eb6 100%);
	}
	#main .staff .jsBox .fooUl li a:hover .arrow {
		display: block;
		width: 79px;
		height: 79px;
		text-indent: -9999px;
		background: url(../img/common/icon09.png) no-repeat;
		background-size: 100% auto;
	}
	#main .staff .jsBox .fooUl li a:hover .arrow img {
		visibility: hidden;
	}
	#main .staff .jsBox .fooUl li a:hover p {
		font-size: 4.2rem;
	}
}

@media all and (max-width: 896px) {
	#main .mainImg03 {
		margin-bottom: 65px;
	}
	#main .mainImg03 .photo {
		margin: -6px 0 0 0;
		top: -7px;
	}
	#main .mainImg03 .photo > img {
		margin-bottom: -10px;
	}
	#main .mainImg03 .content {
		top: auto;
		transform: none;
		padding: 0;
		bottom: -30px;
		z-index: 1;
	}
	#main .mainImg03 .photo::after {
		display: none;
	}
	#main .bgBox .comList {
		top: auto;
		margin-bottom: 22px;
	}
	#main .mainImg03 h2 {
		padding: 0 18px;
		max-width: inherit;
		box-sizing: border-box;
		font-size: 5.3rem;
		color: #005BAB;
		text-shadow: none;
		/* tuika */
		margin-top: -150px;
	}
	#main .mainImg03 h2 .txtImg {
		top: auto;
		bottom: -50px;
		left: 60px;
		width: 186px;
	}
	#main .centerTxt {
		margin: 0 20px 46px;
		text-align: left;
		font-size: 1.8rem;
		line-height: 2;
		font-weight: 600;
		font-weight: 500;
		font-feature-settings: "palt";
	}
	#main .photoList li {
		margin: 0 2px 5px;
		filter: none;
		height: 150px;
		position: relative;
	}
	#main .photoList li img {
		width: auto;
		height: 150px;
		object-fit: cover;
	}
	#main .photoInner {
		margin-bottom: 106px;
	}
	#main .work .photoBox {
		width: 145px;
		margin: -36px -10px 0 0px;
	}
	#main .work .textBox .sub {
		max-width: inherit;
		width: auto;
		padding-bottom: 0;
		padding-right: 20px;
	}
	#main .work h3 {
		margin: 0 -5px 23px 0;
		padding-top: 18px;
		font-size: 2.6rem;
		text-align: right;
	}
	#main .work h3 span {
		margin: 0;
		width: 241px;
		left: auto;
		right: -14px;
		top: -35px;
	}
	#main .work p {
		margin-bottom: 0;
		font-size: 1.4rem;
		line-height: 1.714;
	}
	#main .work .textBox {
		margin-top: 100px;
		padding-right: 0;
	}
	#main .work .comLink05 {
		padding-top: 14px;
	}
	#main .work {
		padding-bottom: 119px;
	}
	#main .staff {
		padding: 42px 0 44px;
	}
	#main .staff .ttlBox {
		margin-bottom: 18px;
		max-width: inherit;
		display: block;
		padding-right: 0;
	}
	#main .staff .ttlBox h3 {
		font-size: 2.6rem;
		padding: 0;
		margin: 0 -5px 20px;
	}
	#main .staff .ttlBox p {
		padding: 0;
		font-size: 1.4rem;
		line-height: 1.714;
	}
	#main .staff .ttlBox h3 span {
		margin: -57px -40px 0 -49px;
		width: 284px;
		left: 38px;
		top: -5px;
	}
	#main .staff .jsBox .fooUl .slick-track {
		margin-left: -50px;
	}
	#main .staff .jsBox .fooUl li {
		width: auto;
		padding-right: 40px;
	}
	#main .staff .jsBox .fooUl .photo {
		width: 268px;
	}
	#main .staff .jsBox .fooUl li .sub {
		right: auto;
		left: 100px;
	}
	#main .staff .jsBox .fooUl li p,
	#main .staff .jsBox .fooUl li p.small {
		max-width: max-content;
		font-size: 1.5rem;
	}
	#main .staff .jsBox .fooUl li p span {
		padding: 2px 15px;
		margin-bottom: 5px;
	}
	#main .staff .jsBox .fooUl li p span.voice05 {
    margin-left: 150px;
		padding: 2px 15px;
		margin-bottom: 5px;
	}
	#main .staff .jsBox .fooUl .arrow {
		width: 19px;
		margin: 15px 0 0 120px;
	}
	#main .staff .jsBox .fooUl li p .txtSpan {
		margin-left: 30px;
		padding: 2px 5px;
	}
  #main .staff .jsBox .fooUl li.voice05 p .txtSpan {
    margin-left: 20px;
  }
	#main .staff .jsBox .next {
		width: 19px;
		right: 10px;
		top: calc(50% + 22px);
	}
	#main .staff .jsBox .prev {
		width: 19px;
		left: 10px;
		top: calc(50% + 22px);
	}
	#main .staff .jsBox {
		margin-bottom: 26px;
	}
	#main .staff .comLink02 {
		width: 160px;
	}
	#main .staff .comLink02 span {
		min-height: 41px;
		font-size: 1.1rem;
		border-width: 1px;
		border-radius: 3px;
		background-size: 15px auto;
		background-position: right 20px center;
	}
	#main .shuho {
		padding: 60px 0 48px;
	}
	#main .shuho h3 {
		font-size: 2rem;
		margin-bottom: 13px;
	}
	#main .shuho h3 span {
		top: -42px;
		transform: none;
		margin: 0 -15px 0 0;
		left: 85px;
		max-width: 264px;
	}
	#main .shuho .text {
		margin-bottom: 25px;
		font-size: 1.4rem;
		line-height: 1.714;
	}
	.comBox {
		margin: 0 19px;
	}
	.comBox::after { 
		display: none;
	}
	.comBox .sub {
		padding: 0;
		margin-bottom: 10px;
		width: auto;
	}
	.comBox a {
		min-height: 170px;
	}
	.comBox .sub .photo {
		border-radius: 10px;
	}
	.comBox .ttl {
		font-size: 1rem;
	}
	.comBox .ttl span {
		font-size: 2rem;
		margin-top: 8px;
	}
	.comBox .ttl span::after {
		width: 16px;
		margin-top: -5px;
		height: 16px;
	}
	#main .sec {
		padding: 0 0 58px;
	}
	#main .sec h3 {
		margin-bottom: 17px;
		font-size: 2rem;
		padding-top: 77px;
	}
	#main .sec h3 span {
		margin-left: -17px;
		max-width: 374px;
		margin-right: -22px;
	}
	#main .sec p {
		margin: 0 0 30px;
		font-size: 1.4rem;
		line-height: 1.43;
	}
	#main .sec .comLink04 {
		width: 168px;
		margin: 0;
	}
	#main .sec .comLink04 a {
		padding: 5px 5px;
		min-height: 51px;
		border-radius: 3px;
		font-size: 1.4rem;
		background-size: 18px auto;
		background-position: right 30px center;
	}
	#main .sec .photoBox {
		right: -19px;
		width: 81.7%;
		top: calc(50% + 56px);
		max-width: 330px;
	}
	#main .btmBox {
		padding: 52px 0 51px;
	}
	#main .btmBox .link a {
		min-height: 64px;
		font-size: 1.8rem;
		border-radius: 10px;
	}
	#main .btmBox .link a small {
		font-size: 1.4rem;
		margin-bottom: -2px;
	}
	#main .btmBox .link a::after { 
		width: 20px;
		height: 20px;
		right: 27px;
	}
	#main .btmBox .link {
		max-width: 375px;
	}
}

@media all and (max-width: 374px) {
	#main .staff .ttlBox p {
		font-size: 1.2rem;
	}
	#main .shuho .text {
		font-size: 1.2rem;
	}
	#main .btmBox .link a::after {
		right: 10px;
	}
	#main .staff .jsBox .fooUl .photo {
		width: 240px;
	}
	#main .staff .jsBox .fooUl li .sub {
		top: calc(50% + 40px);
	}
	#main .staff .jsBox .fooUl li p, #main .staff .jsBox .fooUl li p.small {
		font-size: 1.2rem;
	}
}

@media all and (min-width: 897px) and (max-width: 1400px) {
	#main .staff .ttlBox h3 {
		font-size: min(4vw,8rem);
	}
	#main .shuho h3 span {
		margin-right: max(-0.3vw,-100px);
	}
	.comBox {
		margin: 0 -20px;
	}
	#main .staff .jsBox .prev {
		left: min(1.5vw,123px);
	}
	#main .staff .jsBox .next {
		right: min(1.5vw,140px);
	}
	#main .staff .jsBox .fooUl li p {
		font-size: 3.0rem;
	}
	#main .staff .jsBox .fooUl li a:hover p {
		font-size: 3.5rem;
	}
}

@media all and (min-width: 897px) and (max-width: 1700px) {
	#main .sec h3 span {
		margin-left: max(-2vw,-67px);
	}
}

