@charset "utf-8";
#mv{
	margin:0 30px;
}

#mv .main_image{
	padding:0 30px;
	margin:auto;
	box-sizing:border-box;
	background:url(../image/home/main_image.jpg) no-repeat center center;
	background-size:cover;
	max-width:1860px;
	min-height:670px;
	border-radius:30px;
	display:flex;
	flex-wrap: wrap;
	justify-content:flex-start;
	align-items: center;
	color:#fff;
}

#mv .main_image h2{
	font-size: 42px;
	font-weight: 700;
	line-height: 140%;
}

#mv .main_image p{
	font-size: 18px;
	font-weight: 700;
	line-height: 150%;
	margin-top:17px;
	margin-bottom:40px;
}

#about{
	background:url(../image/home/about_bg.png) no-repeat center center;
	background-size:cover;
	border-radius:30px;
	margin-top:34px;
	padding:73px 0;
}

#about h2{
	font-size: 18px;
	font-weight: 700;
	line-height: 180%;
	padding-top:30px;
	max-width:1000px;
	margin:auto;
	box-sizing:border-box;
	position:relative;
}

#about h3{
	font-size: 42px;
	font-weight: 700;
	line-height: 140%;
}

#about p{
	font-size: 18px;
	font-weight: 700;
	line-height: 150%;
	margin-top:54px;
}

#about .container1000{
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
	align-items: center;
	margin-top:54px;
}

#about .container1000 > div{
	width:50%;
}

#about .container1000 > div.image_area{
	text-align:right;
	padding-left:20px;
}

#about .container1000 > div.image_area img{
	border-radius:30px;
}

#about .btn a{
	margin:72px auto 0 auto;
}

#solution{
	margin-top:70px;
}

#solution h2{
	font-size: 36px;
	font-weight: 700;
	line-height: 150%;
	text-align:center;
	padding-top:80px;
	position: relative;
}

#solution .mark span{
	background: var(--gra, linear-gradient(233deg, #0078D9 34.69%, #182AB0 88.32%));
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 22px;
	font-weight: 600;
	line-height: 180%;
	font-family:"mozaic-geo-variable","游ゴシック体","YuGothic","游ゴシック","Yu Gothic","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,Verdana,sans-serif;
}

#solution .solution_wrap{
	max-width:1200px;
	margin:auto;
	box-sizing:border-box;
	position:relative;
	margin-top:80px;
}

#solution .solution_wrap .solution_no{
	margin-left:60px;
	padding-left:40px;
	border-left:solid 1px #989898;
}

#solution .solution_wrap .solution_no h3{
	font-size: 15px;
	font-weight: 700;
	line-height: 150%;
}

#solution .solution_wrap .solution_no h3 span{
	color:#0078D9;
	font-family:"mozaic-geo-variable","游ゴシック体","YuGothic","游ゴシック","Yu Gothic","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,Verdana,sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 180%;
	margin-right:12px;
}

#solution .solution_wrap .solution_no p{
	font-size: 22px;
	font-weight: 700;
	line-height: 150%;
	margin-top:12px;
}

#solution h5{
	margin-top:42px;
}

#solution h5 span{
	font-size: 20px;
	font-weight: 700;
	line-height: 120%;
	background: var(--gra, linear-gradient(233deg, #0078D9 34.69%, #182AB0 88.32%));
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#solution .solution_box01{
	max-width:780px;
	margin:40px auto 0 auto;
	padding:50px 250px 75px 50px;
	border-radius: 40px;
	background:var(--gra-10, linear-gradient(244deg, #E9F8FF 17.27%, #FAFAFF 59.43%));
	box-shadow: 10px 10px 40px 0px rgba(0, 0, 0, 0.10);
	position:relative;
}

#solution .solution_box01 h4{
	margin-top:18px;
	font-size: 28px;
	font-weight: 700;
	line-height: 140%;
}

#solution .solution_box01 p{
	margin-top:18px;
	font-size: 15px;
	font-weight: 700;
	line-height: 150%;
}

#solution .solution_box01 .flow{
	margin-top:18px;
	position:relative;
	z-index:1;
}

#solution .solution_box01 .flow img{
	position:relative;
	z-index:2;
}

#solution .solution_box01 .flow > div{
	width:246px;
	height:251px;
	background:url(../image/home/solution_bg01.png)no-repeat center center;
	position: absolute;
	top: -107px;
	left: 334px;
	z-index:0;
	display:flex;
	flex-wrap: wrap;
	justify-content:center;
	align-items: center;
}

#solution .solution_box01 .flow > div span{
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	line-height: 120%;
	background: var(--gra, linear-gradient(160deg, #F85959 5.68%, #F8597F 91.63%));
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
	padding-top: 35px;
}

#solution .solution_box01 .solution_img{
	position:absolute;
	top:0;
	right:-115px;
	bottom:0;
	margin:auto;
	height:227px;
	z-index:2;
}

#solution .solution_box01 .solution_img img{
	border-radius:30px;
}

#solution .solution_wrap.solution02{
	margin-top:160px;
	padding-bottom:160px;
	background:url(../image/home/solution_bg02.png)no-repeat bottom left;
}

#solution .solution_wrap.solution02 .solution_wrap{
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
	align-items:flex-start;
}

#solution .solution_wrap.solution02 .solution_wrap .solution_no{
	width:330px;
}

#solution .solution_wrap.solution02 .solution_box02{
	flex:1;
	max-width:581px;
	border-radius: 40px;
	background: linear-gradient(137deg, #F3FEFF 47.74%, #E7F3FF 92.03%);
	box-shadow: 10px 10px 40px 0px rgba(0, 0, 0, 0.10);
	padding:45px 45px 60px 45px;
}

#solution .solution_wrap.solution02 .solution_box02 h4{
	font-size: 28px;
	font-weight: 700;
	line-height: 140%;
	margin-top:18px;
}

#solution .solution_wrap.solution02 .solution_box02 p{
	font-size: 16px;
	font-weight: 700;
	line-height: 150%;
	margin-top:28px;
}

#solution .solution_wrap.solution02 .solution_box02 p small{
	font-size: 11px;
}

#solution .solution_wrap.solution02 ul.loung_list{
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
	margin:-20px auto 0 auto;
	max-width:830px;
}

#solution .solution_wrap.solution02 ul.loung_list li{
	position:relative;
	width:32.13%;
}

#solution .solution_wrap.solution02 ul.loung_list li img{
	border-radius:20px;
}

#solution .solution_wrap.solution02 ul.loung_list li span{
	position:absolute;
	bottom:0;
	left:0;
	background:#fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 150%;
	padding:2px;
}

#solution .solution_wrap.solution02 dl{
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
	align-items:center;
	margin:65px auto 0 auto;
	max-width:830px;
}

#solution .solution_wrap.solution02 dl dt{
	width:510px;
	padding-right:30px;
}

#solution .solution_wrap.solution02 dl dt h5{
	margin-top:0;
}

#solution .solution_wrap.solution02 dl dt p{
	font-size: 24px;
	font-weight: 700;
	line-height: 150%;
	margin-top:23px;
}

#solution .solution_wrap.solution02 dl dd{
	flex:1;
}

.solution_wrap.solution03{
	background:url(../image/home/solution_bg03.png)no-repeat top right;
}

#solution .solution_box03{
	max-width:840px;
	margin:40px auto 0 auto;
	padding:56px 36px 60px 36px;
	border-radius: 40px;
	background: linear-gradient(237deg, #EDFAF9 35.62%, #FBF4E6 90.77%);
	box-shadow: 10px 10px 40px 0px rgba(0, 0, 0, 0.10);
	position:relative;
}

#solution .solution_box03 .solution_wrap{
	margin-top:18px;
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
}

#solution .solution_box03 .solution_wrap .text_area{
	flex:1;
}

#solution .solution_box03 .solution_wrap .img_area{
	width:356px;
	padding-left:50px;
}

#solution .solution_box03 .solution_wrap h4{
	margin-top:18px;
	font-size: 28px;
	font-weight: 700;
	line-height: 140%;
}

#solution .solution_box03 .solution_wrap p{
	margin-top:18px;
	font-size: 16px;
	font-weight: 700;
	line-height: 150%;
}

#solution .solution_box03 > p{
	margin-top:14px;
	font-size: 20px;
	font-weight: 700;
	line-height: 150%;
}

#solution .solution_box03 .solution_img{
	position:absolute;
	right:-90px;
	bottom:-80px;
	z-index:2;
}

#solution .solution_box03 .solution_img img{
	border-radius:30px;
}

#lounge{
	margin-top:210px;
	padding-top:30px;
	padding-bottom:40px;
	background:url(../image/home/lounge_bg.png)no-repeat center center;
	background-size:cover;
	border-radius:30px;
}

#lounge h2{
	font-size: 36px;
	font-weight: 700;
	line-height: 180%;
	padding-top:30px;
}

#lounge p{
	margin-top:15px;
	max-width:520px;
	font-size: 16px;
	font-weight: 700;
	line-height: 150%;
}

.map svg{
	max-width:100%;
}

#service{
	margin-top:100px;
}

#service .container1320{
	z-index:1;
}

#service h2{
	text-align:center;
	font-size: 36px;
	font-style: normal;
	font-weight: 700;
	line-height: 180%;
	padding-top:15px;
	padding-bottom:28px;
}

#service .service_box{
	border-radius: 40px;
	background: #F6F9FA;
	padding:50px 90px;
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
}

#service .service_box.item02{
	background: #FAF8F6;
	margin-top:10px;
}

#service .service_box h3{
	width:290px;
	font-size: 36px;
	font-weight: 700;
	line-height: 150%;
	padding-top: 20px;
}

#service .service_box h3 small{
	font-size: 18px;
	display:block;
	line-height: 100%;
}

#service .service_box ul.service_list{
	flex:1;
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
}

#service .service_box ul.service_list li{
	width:46%;
}

#service .service_box ul.service_list li .img_area img{
	border-radius:30px;
}

#service .service_box ul.service_list li h4{
	margin-top:20px;
	font-size: 24px;
	font-weight: 700;
	line-height: 150%;
}

#service .service_box ul.service_list li p{
	margin-top:10px;
	font-size: 15px;
	font-weight: 700;
	line-height: 150%;
}

#service .service_box ul.service_list li dl{
	margin-top:20px;
	display:flex;
	flex-wrap: wrap;
	justify-content:flex-start;
	align-items:center;
	font-size: 14px;
	font-weight: 700;
}

#service .service_box ul.service_list li dl dt{
	border-radius: 30px;
	background:#4BD0EF;
	text-align:center;
	color:#fff;
	padding:2px 14px;
	margin-right:10px;
}


.map_sp{
	display:none;
}


@media only screen and (min-width: 825px) {

	.map_link rect{
		opacity:1;
		transition:all 0.4s;
	}

	.map_link:hover rect{
		opacity:0.7;
	}

}

@media (max-width: 1050px) {

	#solution .solution_box01{
		padding-right:50px;
	}

	#solution .solution_box01 .solution_img{
		position:relative;
		top:unset;
		right:unset;
		bottom:unset;
		height:auto;
		margin:30px auto 0 auto;
		text-align:center;
	}

	#solution .solution_box03 .solution_img{
		position:relative;
		top:unset;
		right:unset;
		bottom:unset;
		height:auto;
		margin:30px auto 0 auto;
		text-align:center;
	}


}

@media (max-width: 825px) {

	#mv .main_image{
		min-height:440px;
	}

	#about .container1000{
		display:block;
		padding:0;
	}

	#about .container1000 > div{
		width:100%;
	}

	#about .container1000 > div.image_area{
		margin-top:20px;
		padding-left:0;
	}

	#about .container1000 > div.image_area img{
		width:100%;
		height: 370px;
		object-fit: cover;
	}

	#solution .solution_box01 .solution_img img {
		width: 100%;
		height: 370px;
		object-fit: cover;
	}

	#solution .solution_wrap.solution02 .solution_wrap{
		display:block;
	}

	#solution .solution_wrap .solution_no{
		margin-left:0;
	}

	#solution .solution_wrap.solution02 .solution_box02{
		max-width:unset;
		width:100%;
		margin-top:20px;
	}

	#solution .solution_wrap.solution02{
		padding-bottom:80px;
	}

	#solution .solution_box03 .solution_wrap{
		display:block;
	}

	#solution .solution_box03 .solution_wrap .img_area{
		padding-left:0;
		margin-top:20px;
		width:auto;
		text-align:center;
	}

	#solution .solution_box03 .solution_img img{
		width: 100%;
		height: 370px;
		object-fit: cover;
	}

	#lounge .container1200{
		padding:0;
	}

	#service .service_box{
		display:block;
		padding:30px;
	}


}
@media (max-width: 600px) {
	#mv{
		margin:0 24px;
	}

	#mv .main_image{
		padding:0 24px;
	}

	#mv .main_image h2{
		font-size:30px;
	}

	#mv .main_image .btn.long a{
		width:100%;
	}

	#mv .main_image .mv_text_wrap{
		width:100%;
	}


	#about{
		padding:50px 0;
	}

	#about h3{
		font-size:28px;
	}

	#about p{
		font-size:16px;
		margin-top:26px;
	}

	#about .btn a{
		margin-top:26px;
	}

	#solution .solution_wrap .solution_no{
		padding-left:0;
		border:0;
	}

	#solution .solution_box01 .flow > div{
		position:unset;
	}

	#solution .solution_box01{
		padding:30px;
	}

	#solution .solution_box01 .flow > div{
		height:150px;
		margin:auto;
	}

	#solution .solution_box01 .solution_img{
		margin-top:0;
	}

	#solution .solution_wrap.solution02{
		margin-top:80px;
	}

	#solution .solution_wrap.solution02 .solution_box02{
		padding:30px;
	}

	#solution .solution_wrap.solution02 ul.loung_list li{
		width:100%;
		margin-bottom:20px;
	}

	#solution .solution_wrap.solution02 ul.loung_list li img{
		width:100%;
	}

	#solution .solution_wrap.solution02 dl{
		margin-top:30px;
	}

	#solution .solution_wrap.solution02{
		padding-bottom:0;
	}

	#solution .solution_box03{
		padding:30px;
	}

	#solution .solution_box03 .solution_wrap h4 br{
		display:none;
	}

	#solution .solution_box03 > p br{
		display:none;
	}

	#solution .solution_box01 .solution_img img{
		height:180px;
	}

	#solution .solution_wrap.solution02 ul.loung_list{
		max-width:270px;
	}

	#solution .solution_wrap{
		margin-top:50px;
	}

	#solution .solution_box03 .solution_img img{
		height:180px;
	}


	#lounge{
		margin-top:80px;
	}

	.map.pc_tab{
		display:none;
	}

	.map_sp{
		display:block;
	}

	ul.map_sp_list{
		margin-top:30px;
		display:flex;
		flex-wrap: wrap;
		justify-content:space-between;
	}

	ul.map_sp_list li{
		width:48%;
		margin-bottom:15px;
	}

	ul.map_sp_list li a{
		display:block;
		font-weight:700;
	}

	ul.map_sp_list li a img{
		border-radius:13px;
	}


	#service{
		margin-top:40px;
	}

	#service h2{
		position:relative;
		padding-top:40px;
	}

	#service .service_box{
		padding:24px;
	}

	#service .service_box h3{
		font-size:32px;
	}


	#service .service_box ul.service_list li{
		width:100%;
		margin-bottom:30px;
	}

	#service .service_box ul.service_list li h4{
		font-size:21px;
	}

}

