@charset "utf-8";
/*-------------------------------------*/
/*	 top  */
/*-------------------------------------*/
#main_area{
background-image: url(../images/index/main_img.png);
position: relative;
background-position: center bottom;
background-repeat: no-repeat;
background-size: cover;
width: 100%;
height: 870px;
}
#main_area h2{
	    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
		max-width: 1000px;
		width: 70%;
}
#about{
	background-color: #F1F5FC;
	position: relative;
	padding-bottom: 150px;
}
#about::before{
	content: "";
	width: 100%;
	height: 96px;
	background-image: url(../images/bg_line.svg);
	background-repeat: repeat-x;
	background-position: center bottom;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}
.top_nintei_row{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.top_nintei_row .img{
	flex: 0 0 380px;
	width: 80%;
	max-width: 380px;
}
.top_nintei_row .txt{
	flex: 1;
	width: 100%;
	padding-left: 40px;
}
.top_nintei_row .txt p{
	color: var(--main-blue);
	font-weight: 500;
}
.img01{
	position: absolute;
	bottom: 0;
	right: 10%;
	z-index: 1;
}
#news{
		background-color: #D5DFF2;
	position: relative;
	border-radius: 50px 50px 0 0;
}
.img02{
	position: absolute;
	top: -50px;
	left: 15%;
	z-index: 1;
}
#banner{
	border-radius: 40px 40px 0 0;
	background-color: #FFFFFF;
position: relative;
padding-top: 150px;
}
#cs{
	border-radius: 40px 40px 0 0;
	background-color: #FFFFFF;
position: relative;
}
#cs p img{
	width: 100%;
}

.comingsoon{
font-size: 362%;
font-weight: 700;
color: var(--main-blue);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.img03{
	position: absolute;
	top:-50px;
	right: 10%;
	z-index: 1;
}
.company_banner{
	display: flex;
	justify-content: space-between;
}
.company_banner li{
	width: 48%;
}
.company_banner li:first-child{
	margin-left: -2px;
}
.company_banner li:last-child{
	margin-right: -2px;
}
.company_banner li a {
border: 2px solid var(--main-blue);
display: block;
position: relative;
text-align: center;
padding: 40px;
}
.company_banner li a h2{
	color: var(--main-blue);
	font-size: 250%;
	font-weight: 700;
	margin-bottom: 40px;
}
.company_banner li a h2 img{
	vertical-align: middle;
	margin-right: 10px;
}
.company_banner li:first-child a {
	background-color: #83C6BA;
	border-radius: 0 10px 10px 0;
	padding-left: 45%;
}
.company_banner li:last-child a {
	background-color: #C6D944;
	border-radius: 10px 0 0 10px;
	padding-right: 45%;
}
.company_banner li .nintei_img {
	content: "";
	max-width: 360px;
	width: 40%;
	position: absolute;
	bottom: 50px;
	left: 10%;
}
.company_banner li .sengen_img {
	content: "";
	max-width: 360px;
	width: 40%;
	position: absolute;
	bottom: 50px;
	right: 10%;
}
@media screen and (max-width: 1200px) {
	.company_banner{
	flex-direction: column;
}
.company_banner li{
	width: 90%;
	max-width: 900px;
}
.company_banner li:first-child{
	margin-left: -2px;
		margin-right: auto;
	text-align: left;
	margin-bottom: 80px;
}
.company_banner li:last-child{
	margin-left: auto;
		margin-right: -2px;
	text-align: right;
}
}
@media screen and (max-width: 991px) {

}
@media screen and (max-width: 768px) {
		#main_area{
background-image: url(../images/index/main_img_sp.png);
position: relative;
background-position: center bottom;
background-repeat: no-repeat;
background-size: cover;
width: 100%;
height: calc( 100dvh - 60px );
}
#main_area h2{
		max-width: 1000px;
		width: 80%;
		    position: absolute;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
		text-align: center;
}
#about{
	padding-bottom: 60px;
}
.top_nintei_row{
	flex-direction: column;
}
.top_nintei_row .img{
	flex: 0;
	width: 80%;
	max-width: 380px;
	margin-bottom: 20px;
}
.top_nintei_row .txt{
	width: 100%;
	padding-left: 0;
}
.img01{
max-width: 100px;
}
.img02{
max-width: 60px;
left: 2%;
}
.img03{
	position: absolute;
	top:-30px;
	right: 10%;
	z-index: 1;
	max-width: 90px;
}
#banner{
padding-top: 80px;
}
.company_banner li:first-child a {
	padding-left: 40px;
}
.company_banner li:last-child a {
	padding-right: 40px;
}
.company_banner li .nintei_img {
	content: "";
	max-width: 100px;
	bottom: auto;
	top: -50px;
	left: 20px;
}
.company_banner li .sengen_img {
	content: "";
	max-width: 100px;
	bottom: auto;
	top: -50px;
	right: 20px;
}
}
@media screen and (max-width: 550px) {
	.company_banner li{
	width: 95%;
}
	.company_banner li a {
display: block;
position: relative;
text-align: center;
padding: 20px;
}
.company_banner li:first-child a {
	padding-left: 20px;
}
.company_banner li:last-child a {
	padding-right: 20px;
}
	.company_banner li a h2{
	font-size: 150%;
	font-weight: 700;
	margin-bottom: 20px;
}
.company_banner li a h2 img{
	vertical-align: middle;
	margin-right: 10px;
	max-width: 50px;
}
.company_banner li .nintei_img {
	content: "";
	max-width: 80px;
	bottom: auto;
	top: -50px;
	left: 20px;
}
.company_banner li .sengen_img {
	content: "";
	max-width: 80px;
	bottom: auto;
	top: -50px;
	right: 20px;
}
.comingsoon{
font-size: 250%;
}
}
