main section {
	padding: 150px 0px;
}
main .section_tit {
	margin-bottom:60px;
}

/* main banner */
.main_visual {
	width: 100%;
	height: 710px;
	background-image: url('../images/main/bg_intro.png');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
	display: flex;
	justify-content: center;
}

.main_visual_content {
	display: flex;
	padding: 65px 30px 0;
	justify-content: center;
	width:100%;
	max-width:1800px;
}

.main_visual .main_visual_text {
	flex-basis: 40%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.main_visual .main_visual_img {
	flex-basis: 60%;
	align-self: flex-end;
	position:relative;
	display:flex;
	justify-content:flex-end;
}

.main_visual .main_visual_img img {
	width: 100%;
	max-width: 792px;
}

.main_visual .tit_page {
	font-size: var(--page-font-size);
	color: var(--white-color);
	line-height: 1.0;
	margin: 0px;
	font-weight: var(--font-bold);
	white-space: nowrap;
	text-align: left;
}

.main_visual .desc_page {
	font-size: var(--stit-font-size);
	color: var(--white-color);
	line-height: 1.4;
	margin: 35px 0 65px;
}

.main_visual .main_visual_btn {
	display: flex;
	justify-content: flex-start;
	gap: 16px;
}

.main_visual.sub_page {
	height:620px;
}
.main_visual.sub_page .tit_page {
	font-size: var(--intro-font-size);
	margin: 24px 0 50px;
	line-height: 1.5;
	color: var(--text-color);
}

.main_visual.sub_page .subtit_page {
	font-size: var(--stit-font-size);
	font-weight: var(--font-bold);
	padding: 0 5px;
	position: relative;
	width: fit-content;
	color: var(--primary-color);
}

.main_visual.sub_page .subtit_page::before {
	display: inline-block;
	content: '';
	width: 100%;
	height: 60%;
	position: absolute;
	left: 0;
	top: 60%;
	background: var(--primary-light-color);
}

main .solution_area {
	display:flex;
	gap:30px;
}
main .solution_box {
	width: calc(50% - 15px);
}
main .solution_box:nth-child(2) {
	display:flex;
	flex-direction: column;
	gap:30px;
}
main .solution_item {
	border-radius: var(--normal-border-radius);
	padding:60px 50px;
	position: relative;
}
main .solution_title {
	font-size:var(--mtit-font-size);
	font-weight:var(--font-bold);
}
main .solution_desc {
	font-size:var(--xlarge-font-size);
	margin:24px 0 40px;
	line-height:1.5;
}
main .solution_btn {
	font-size: var(--medium-font-size);
	font-weight: var(--font-medium);
	border-bottom:1px solid var(--text-light-gray);
	color:var(--text-light-gray);
	display:inline-flex;
	align-items: center;
	gap:4px;
	transition:all 0.3s;
}
main .solution_btn:hover {
	font-weight: var(--font-bold);
}
main .solution_btn:hover::after {
	border-width:2px;
}
main .solution_btn::after {
	display:inline-block;
	content:'';
	width:8px;
	height:8px;
	color:var(--text-light-gray);
	border-right:1px solid var(--text-light-gray);
	border-bottom:1px solid var(--text-light-gray);
	transform: rotate(315deg);
}
main .solution_item .solution_img img {
	position: absolute;
	width: 100%;
	height: 100%;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	object-fit: contain;
	max-width: 616px;
}
main .solution_item.one {
	background:var(--primary-light-color);
	padding-bottom: 70%;
}
main .solution_item.one .solution_img {
	position:absolute;
	width:90%;
	padding-bottom: 43.83%;
	bottom:60px;
	left: 50%;
	transform: translateX(-50%);
}
main .solution_item.one .solution_title {
	color:var(--primary-color);
}
main .solution_item.remote {
	background:var(--success-light-color);
}
main .solution_item.remote .solution_title {
	color:var(--success-color);
}
main .solution_item.tensor {
	background:var(--warning-light-color);
}
main .solution_item.tensor .solution_title {
	color:var(--warning-color);
}
main .solution_box:nth-child(2) .solution_item {
	padding-right:46%;
	flex:1;
}
main .solution_box:nth-child(2) .solution_img {
	position:absolute;
	width:43%;
	padding-bottom:34.29%;
	top:50%;
	right:25px;
	transform: translateY(calc(-50% + 10px));
}
main .solution_box:nth-child(2) .solution_img img {
	max-width: 288px;
	max-height: 230px;
}

@media all and (max-width:1440px) {
}
@media all and (max-width:1024px) {
	main section {
		padding:100px 0;
	}
	main .section_tit {
		margin-bottom:30px;
	}
	.main_visual {
		height: 100vh;
	}
	.main_visual.sub_page {
		height:800px;
		max-height: 100vh;
	}
	.main_visual_content {
		width: 100%;
        align-items: center;
       	justify-content: center;
		flex-direction: column;
		padding: 100px 40px 0;
		gap: 30px;
	}
	.main_visual.sub_page .main_visual_content {
		padding:120px 0 0;
	}
	.main_visual .main_visual_text {
		align-items: center;
	}
	.main_visual .tit_page,
	.main_visual .desc_page {
		text-align: center !important;
		white-space: normal;
	}
	.main_visual .main_visual_btn {
		justify-content: center;
	}
	.main_visual .main_visual_img {
		width:100%;
	}
	.main_visual.sub_page .main_visual_img {
		align-self: center;
	}
	.main_visual .main_visual_img img {
		position:absolute;
		left:50%!important;
		right:50%!important;
		transform: translateX(-50%);
	}
	.main_visual .partner_badge ul {
		width: 100%;
	}
	.main_visual .partner_badge ul li img {
		width: 70px;
	}
	main .main_content .content_area {
		padding: 0px !important;
	}
	main .solution_area {
		flex-direction: column;
	}
	main .solution_box {
		width:100%;
	}
	main .solution_item {
		padding:40px;
	}
	main .solution_item.one .solution_img {
		width: 43%;
		padding-bottom: 48.7%;
		top: 50%;
		right: 15px;
		left:auto;
		transform: translateY(-50%);
	}
	main .solution_item.one {
		padding-bottom:40px;
		padding-right:46%;
	}
	main .solution_box .solution_item {
		height:360px;
	}
	main .solution_box:nth-child(2) .solution_item{
		flex-basis: 360px;
	}
}
@media all and (max-width:768px) {
	
	main .main_content section {
		padding: 50px 30px;
	}
	.main_visual.sub_page .tit_page {
		margin:	20px 0 30px;
	}
}
@media all and (max-width:480px) {
	.main_visual_content{
		padding:100px 0 0;
	}
	.main_visual .main_visual_text {
		padding:0 16px;
	}
	.main_visual .desc_page{
		margin:20px 40px;
	}
	.main_visual .desc_page br {
		display:none;
	}
	main .solution_item .solution_img {
		display:none;
	}
	main .solution_box .solution_item {
		padding:24px!important;
		height:260px;
	}
	main .solution_box:nth-child(2) .solution_item {
		flex-basis:260px;
	}
}