@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main {
	padding-top: 0;
}
#main .mainVisual {
	margin: 0 auto 8rem;
	max-width: 144rem;
	position: relative;
	height: auto;
}
#main .mainVisual .mainImg {
	position: relative;
}
#main .mainVisual .mainImg::before {
	content: "";
	position: absolute;
	right:calc(100% - 1px);
	bottom: 0;
	width: 999rem;
	height: 10rem;
	background: url(../img/common/bg02.png) repeat center top / 10rem;
}
#main .mainVisual img {
	width: 100%;
} 
#main .mainVisual .car {
	position: absolute;
	width: 29.6rem;
	bottom: 7.1rem;
	left: 3rem;
	z-index: 1;
	transition-delay: 0.5s;
}
@media all and (max-width: 896px) {
	#main .mainVisual {
		margin-bottom: 8.8rem;
	}
	#main .mainVisual .car {
		width: 30.667vw;
		bottom: 12.533vw;
		left: 4vw;
	}
}
#main .comService {
	margin-bottom: -10rem;
}
@media all and (min-width: 897px) {
	#main .comService .comMidTxt {
		margin-bottom: 13.1rem;
	}
}
@media all and (max-width: 896px) {
	#main .comService { 
		margin-bottom: -3rem;
	}
	#main .comService .comMidTxt {
		margin-bottom: 10.5rem;
	}
}
/* bgBox */
#main .vision .bgBox {
	position: absolute;
	width: 144rem;
	left: 50%;
	transform: translateX(-50%);
}
@media all and (max-width: 896px) {
	#main .vision .bgBox {
		width: 100%;
		left: auto;
		right: 0;
		transform: none;
	}
	#main .vision .bgBox::before {
		display: none;
	}
}
#main .vision .bgBox img {
	max-width: inherit;
	width: 100%;
}
/* vision */
#main .vision {
	margin-bottom: 14.7rem;
	position: relative;
}
#main .vision .bgBox {
	top: -8rem;
}
#main .vision .bgBox img {
	border-radius: 0;
}
#main .vision .bgBox::before {
	content: "";
	position: absolute;
	left:calc(100% - 10rem);
	bottom: 0;
	width: 999rem;
	height: 10rem;
	background: url(../img/common/bg02.png) repeat center top / 10rem;
}
#main .vision .imgBox {
	display: flex;
	position: relative;
	justify-content: flex-end;
	gap: 6rem;
}
#main .vision .textBox {
	margin: 6.9rem 0 2rem;
	width: 44.6rem;
}
#main .vision .textBox p {
	margin-bottom: 3rem;
}
#main .vision .photoBox {
	width: 61rem;
	position: relative;
}
#main .vision img {
	width: 100%;
	border-radius: 0 30px;
}
#main .vision .photo01 {
	position: relative;
}
#main .vision .photo02 {
	margin: 14.1rem 6.9rem 0 auto;
	width: 30rem;
	aspect-ratio: 1/1;
	position: relative;
}
#main .vision .photo02 img {
	height: 100%;
	object-fit: cover;
}
#main .vision .photo03 {
	width: 24.5rem;
	position: absolute;
	left: -7.3rem;
	bottom: 13.9rem;
	aspect-ratio: 49/40;
}
#main .vision .photo03 img {
	height: 100%;
	object-fit: cover;
	border-radius: 3rem;
}
#main .vision .photo03 .icon {
	bottom: auto;
	top: calc(100% - 1.5rem);
	width: 33.1rem;
	right: auto;
	left: 5.3rem;
}
#main .vision .photo03 .icon img {
	border-radius: 0;
}
#main .vision .icon {
	width: 10.8rem;
	position: absolute;
	right: -0.5rem;
	bottom: -3.5rem;
	display: block;
	border-radius: 0;
	background-color: transparent;
}
#main .vision .icon img {
	border-radius: 0;
}
#main .vision .icon01 {
	width: 6.9rem;
	right: auto;
	left: -2rem;
	bottom: 4rem;
	z-index: 1;
}
#main .vision .icon02 {
	width: 5.3rem;
	left: -3.8rem;
	top: -1.6rem;
	right: auto;
	bottom: auto;
}
#main .vision .icon03 {
	width: 8.4rem;
	right: -4.8rem;
	bottom: -0.6rem;
}
#main .vision .icon04 {
	width: 4.8rem;
	right: auto;
	left: -3.1rem;
	top: 9.8rem;
	bottom: auto;
}
@media all and (max-width: 896px) {
	#main .vision {
		margin-bottom: 14.3rem;
	}
	#main .vision .bgBox {
		top: -8.8rem;
	}
	#main .vision .imgBox {
		display: block;
	}
	#main .vision .textBox {
		width: auto;
	}
	#main .vision .textBox p {
		margin-bottom: 2rem;
	}
	#main .vision .photoBox {
		margin: 7rem 1rem 0 auto;
		width: 72vw;
	}
	#main .vision img {
		border-radius: 0 1.327rem;
	}
	#main .vision .icon {
		width: 5rem;
		right: 0;
		bottom: -1.8rem;
	}
	#main .vision .icon02 {
		width: 2.7rem;
		left: -2.3rem;
		top: -0.8rem;
		right: auto;
		bottom: auto;
	}
	#main .vision .icon03 {
		width: 4.5rem;
		right: -1.9rem;
		bottom: -2.9rem;
	}
	#main .vision .icon04 {
		width: 3.5rem;
		right: auto;
		left: -2.5rem;
		top: 2.9rem;
		bottom: auto;
	}
	#main .vision .photo02 {
		margin: 30.4vw 0 0 auto;
		width: 37.333vw;
	}
	#main .vision .photo03 {
		width: 32vw;
		left: -7.467vw;
		bottom: 33.6vw;
	}
	#main .vision .photo03 img {
		border-radius: 0 2rem 2rem 0;
	}
	#main .vision .photo03 .icon {
		width: 41.067vw;
		left: 5.333vw;
		top: calc(100% - 2.133vw);
	}
}
/* company */
#main .company {
	padding-top: 32.5rem;
	position: relative;
}
#main .company .imgBox {
	justify-content: space-between;
	align-items: flex-start;
	gap: 3rem;
	position: relative;
	z-index: 2;
}
#main .company .subInner {
	padding-top: 2.8rem;
	width: 43.7rem;
}
#main .company .textBox {
	width: 50rem;
	position: relative;
	min-height: 38.5rem;
}
#main .company .subInner p {
	margin-bottom: 5.1rem;
}
#main .company .posImg {
	width: 16rem;
	position: absolute;
	right: 13px;
	bottom: 2.1rem;
}
@media all and (max-width: 896px) {
	#main .company {
		padding-top: 18rem;
	}
	#main .company .imgBox {
		padding-bottom: 8.5rem;
		display: block;
	}
	#main .company .textBox {
		padding: 0 2.8rem;
		width: auto;
	}
	#main .company .photo {
		margin: 0 -2.8rem 5rem auto;
		width: auto;
		border-radius: 2rem 0 0 2rem;
		overflow: hidden;
	}
	#main .company .photo img {
		width: 100%;
	}
	#main .company .posImg {
		width: 9.7rem;
		right: 0rem;
		bottom: -7.4rem;
	}
	#main .company .subInner {
		width: auto;
	}
	#main .company .textBox {
		min-height: inherit;
	}
	#main .company .headLine02 {
		margin-bottom: 2.3rem;
	}
}
/* recruit */
#main .recruit {
	padding: 27.4rem 0 14.9rem;
	position: relative;
	z-index: 1;
	margin-top: -3.5rem;
}
#main .recruit .headLine02 {
	margin-bottom: -7.8rem;
	position: relative;
	z-index: 10;
}
#main .recruit .topImg {
	margin-bottom: 7rem;
	border-radius: 3rem 3rem 0 0;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
#main .recruit .topImg img {
	width: 100%;
}
#main .recruit .textBox {
	flex: 1;
}
#main .recruit .textBox p {
	margin-bottom: 5rem;
}
#main .recruit .photoBox {
	width: 50.5rem;
	gap: 2.5rem;
	display: flex;
	align-items: flex-start;
}
#main .recruit .photoBox > * {
	width: calc(50% - 1.249rem);
}
#main .recruit .photo01 {
	margin-top: 8.9rem;
}
#main .recruit .photo01 img {
	border-bottom-left-radius: 3rem;
}
#main .recruit .photo02 img {
	border-bottom-right-radius: 3rem;
}
#main .recruit .headLine01 {
	margin-bottom: 4rem;
}
@media all and (min-width: 897px) {
	#main .recruit .bgBox01 {
		left: calc(50% - 24rem);
	}
	#main .recruit .bgBox02 {
		left: calc(50% - 5.5rem);
	}
}
@media all and (max-width: 896px) {
	#main .recruit {
		margin: 5.5rem 0 9.6rem;
		padding: 18.4rem 0 6.5rem;
	}
	#main .recruit .headLine02 {
		margin-bottom: 4rem;
	}
	#main .recruit .bgBox02,
	#main .recruit .bgBox01 {
		transform: scaleX(1);
	}
	#main .recruit .topImg {
		margin-bottom: 2rem;
		border-radius: 2rem 2rem 0 0;
		aspect-ratio: 319/220;
	}
	#main .recruit .topImg img {
		height: 100%;
		object-fit: cover;
	}
	#main .recruit .imgBox {
		flex-direction: column-reverse;
		position: relative;
		z-index: 1;
	}
	#main .recruit .photoBox {
		width: auto;
		gap: 0;
		justify-content: space-between;
	}
	#main .recruit .photoBox > * {
		width: calc(50% - 0.9rem);
	}
	#main .recruit .photo02 img {
		border-bottom-right-radius: 2rem;
	}
	#main .recruit .photo01 img {
	border-bottom-left-radius: 2rem;
	}
	#main .recruit .photo01 {
		margin-top: 7.8rem;
	}
	#main .recruit .headLine01 {
		margin: 4.9rem -2rem 2.9rem 0;
	}
}
#main .newsBox .content02 {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#main .newsBox .headLine02 {
	margin-top: -1rem;
	width: 30rem;
}
#main .newsBox .innerBox {
	width: 81.8rem;
}
#main .newsBox .newsList li {
	border-top: 1px solid #D9D9D9;
}
#main .newsBox .newsList li:last-child {
	border-bottom: 1px solid #D9D9D9;
}
#main .newsBox .newsList a {
	padding: 0.5rem 4rem 0.5rem 0;
	min-height: 8.9rem;
	display: flex;
	align-items: center;
	font-weight: 500;
	line-height: 1.5;
	position: relative;
}
#main .newsBox .newsList a::before {
	width: 3rem;
	height: 3rem;
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 100%;
	background: #026EE4 url(../img/common/arrow04.png) no-repeat center center / 1.4rem;
	transition: 0.3s;
	box-sizing: border-box;
	border: 1px solid #026EE4;
}
#main .newsBox .newsList p {
	line-height: 1.5;
	letter-spacing: 0;
}
#main .newsBox .newsList .text {
	flex: 1;
}
#main .newsBox .newsList time {
	width: 10rem;
	font-weight: 400;
	color: #737373;
}
#main .newsBox .newsList .tag {
	margin-right: 2.5rem;
	width: 10rem;
}
#main .newsBox .newsList .tag p {
	margin: 0 auto;
	padding: 0.3rem;
	width: fit-content;
	min-width: 8rem;
	border-radius: 3rem;
	background: #026EE4;
	color: #FFF;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 400;
}
#main .newsBox .newsList .tag p + p {
	margin-top: 0.5rem;
}
#main .newsBox .comBtn01 {
	margin: 5rem 0 0 auto;
	width: fit-content;
}
@media all and (min-width: 897px) {
	#main .newsBox .newsList a:hover::before {
		background-color: #fff;
		background-image: url(../img/common/arrow08.png);
	}
}
@media all and (max-width: 896px) {
	#main .newsBox .content02 {
		display: block;
	}
	#main .newsBox .content02 > * {
		width: auto;
	}
	#main .newsBox .headLine02 {
		margin: 0 auto 6.1rem;
	}
	#main .newsBox .newsList a {
		padding: 2.5rem 4rem 2.5rem 0;
		flex-wrap: wrap;
		min-height: inherit;
		align-items: flex-start;
	}
	#main .newsBox .newsList .text {
		margin-top: 0.7rem;
		width: 100%;
		font-size: 1.4rem;
		line-height: 1.78;
		font-weight: 400;
		flex: auto;
	}
	#main .newsBox .newsList .tag {
		margin: 0;
		display: flex;
		flex-wrap: wrap;
		flex: 1;
		gap: 0.5rem;
	}
	#main .newsBox .newsList .tag p {
		margin: 0;
		padding: 0 0 0.05rem;
		font-size: 1.3rem;
	}
	#main .newsBox .newsList time {
		width: 9rem;
	}
	#main .newsBox .comBtn01 {
		margin-right: auto;
	}
}