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

#mv .main_image{
	padding:0 30px 0 120px;
	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;
	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{
	margin-top:34px;
	padding:73px 0;
}

#about h2{
	color: #54BDFF;
	font-size: 18px;
	font-weight: 600;
	line-height: 140%; /* 25.2px */
	padding-top:30px;
	max-width:1000px;
	margin:auto;
	box-sizing:border-box;
	position:relative;
}

#about h3{
	font-size: 32px;
	font-weight: 600;
	line-height: 180%; /* 57.6px */
}

#about p{
	font-size: 14px;
	font-weight: 500;
	line-height: 160%; /* 22.4px */
	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{
	border-radius: 22px;
	width: 204px;
	height: 58px;
	line-height: 58px;
	margin-top: 48px;
}

#solution{
	margin-top:70px;
}

#solution h2{
	color: #54BDFF;
	font-size: 18px;
	font-weight: 600;
	line-height: 140%; /* 25.2px */
	padding-top:30px;
	max-width:1000px;
	margin:auto;
	box-sizing:border-box;
	position:relative;
	text-align: center;
}

#solution h3{
	font-size: 32px;
	font-weight: 600;
	line-height: 200%; /* 64px */
	text-align: center;
	margin-top: 20px;
}

#solution h4{
	font-size: 28px;
	font-weight: 600;
	line-height: 140%; /* 39.2px */
	text-align: left;
	margin-top: 24px;
}

#solution p{
	font-size: 14px;
	font-weight: 500;
	line-height: 160%; /* 22.4px */
	margin-top: 24px;
}

#solution .mark span{
	color: #9E98FF;
	font-size: 18px;
	font-weight: 400;
	line-height: 100%; /* 18px */
}

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

#solution .solution_wrap .solution_no{
	display: flex;
    justify-content: flex-start;
    align-items: center;
}

#solution .solution_wrap .solution_no > div{
	leading-trim: both;
	font-family: "Futura 100";
	font-size: 68px;
	font-weight: 300;
	line-height: 100%; /* 68px */
}

#solution .solution_wrap .solution_no p{
	font-size: 20px;
	font-weight: 600;
	line-height: 140%; /* 28px */
	margin-top:12px;
	margin-left: 20px;
}

#solution .solution_wrap .solution_no p span{
	display: block;
	color: #6B6B6B;
	font-size: 14px;
	font-weight: 600;
	line-height: 160%; /* 22.4px */
}

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

#solution h5 span{
	color: #FFAB71;
	font-size: 18px;
	font-weight: 600;
	line-height: 140%; /* 25.2px */
}

#solution .solution_box{
	max-width:1100px;
	margin:80px auto 0 auto;
	border-radius: 40px;
	position:relative;
}

#solution .solution_box.box1{
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
}

#solution .solution_box.box1 .text_area{
	flex: 1;
	margin-right: 70px;
}

#solution .solution_box.box1 .flow{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
}

#solution .solution_box.box1 .flow span{
color: #9E98FF;
font-size: 24px;
font-weight: 600;
line-height: 150%; /* 36px */
}

#solution .solution_box.box1 .solution_img{
	width: 320px;
}

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

#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;
}

#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:1100px;
}

#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 .solution_box{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}

.solution_wrap.solution03 .solution_box .text_area{
	max-width: 640px;
}

.solution_wrap.solution03 .solution_box .image_area{
	flex: 1;
	text-align: 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 .solution03 dl{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	max-width: 1100px;
	margin: 60px auto 0 auto;
}

#solution .solution03 dl dt{
	flex: 1;
}

#solution .solution03 dl dt p{
	font-size: 24px;
	font-weight: 600;
	line-height: 150%; /* 36px */
}

#solution .solution03 dl dd{
	width: 380px;
	margin-right: 110px;
}

#solution .solution03 dl dd img{
	border-radius: 30px;
}

#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;
}

#lounge .lounge_wrap{
	max-width: 1200px;
	margin: auto;
}

#lounge .title_en{
color:#6B6B6B;
font-size: 14px;
font-weight: 350;
line-height: 100%; /* 14px */
margin-bottom: 0;
}

#lounge h2{
	color:#54BDFF;
	font-size: 24px;
	font-weight: 600;
	line-height: 140%; /* 33.6px */
	padding-top:30px;
}

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

#lounge svg{
	max-width:100%;
}

#service{
	margin-top:100px;
}

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

#service .title_en{
	margin-bottom: 0;
}

#service h2{
	color: #54BDFF;
	font-size: 24px;
	font-weight: 600;
	line-height: 140%; /* 33.6px */
	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:#5EE1FF;
	text-align:center;
	color:#fff;
	padding:2px 14px;
	margin-right:10px;
}


.map_sp{
	display:none;
}


ul.station_list{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 3px;
	margin-top: 20px;
}
ul.station_list li .image {
	overflow: hidden;
}
ul.station_list li .image img {
	transition: all 0.4s;
}
ul.station_list li:hover .image img {
  transform: scale(1.05);
}


@media only screen and (min-width: 825px) {
		
	header.top path{
		fill: #fff;
	}

	header.top  .g_menu a{
		color: #fff;
	}

	.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;
		padding-top:80px;
		padding-bottom:80px;
	}

	#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{
	}

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

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

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

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


	#about{
		padding: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;
	}
	#solution{
		margin-top: 30px;
	}
	#solution h3{
		font-size: 20px;
	}
	#solution .solution_box{
		margin-top: 30px;
	}
	#solution .solution_wrap .solution_no > div{
		width: 50px;
		font-size: 30px;
	}
	#solution .solution_wrap .solution_no p{
		font-size: 17px;
		flex: 1;
	}
	ul.station_list {
		grid-template-columns: repeat(2, 1fr);
	}
	#solution p{
		margin-top: 10px;
		margin-bottom: 20px;
	}
	#solution h4{
		font-size: 20px;
	}

}

