@charset "utf-8";
/* CSS Document */


/*** スマホ　798px以下 **************/


.top_main{
	margin-top:70px;
}

h2{
	text-align: center;
	margin:auto;
}

/* MV設定 */
#mv{
	position: relative;
}	

h2#mv_h2 {
text-align: left;
line-height:1.3em;	
position: absolute;
top:50%;
left:0%;
font-size:3.3rem;
text-shadow: 2px 1px 3px rgba(0, 0, 0, 0.4);	
color:#fff;
letter-spacing: 0.4rem;	
background-color:rgba(40,167,225,0.4);	
padding:7%;	
}

h2#mv_h2 span.tsunagu{
	color:#eb6112;
	}


#mv img {
  width: 100%;
  height: 280px;
   object-fit: cover;
   object-position: 50% 0%;
}



.bgrade {
  padding-bottom:80px;	
  height:100%;	
         background-image: linear-gradient(359deg, rgba(255, 255, 255, 1), rgba(237, 185, 155, 0.18) 30%, rgba(255, 255, 255, 1));
}

.top_catch{
	width:100%;
	text-align: center;
}


.top_catch div.inbox{
	width:80%;
	max-width:600px;
	margin: 0 auto;
}

#top_catch_h2 img{
	width:80%;
	margin-left:auto;
	margin-right:auto;
}

	
.top_catch p{
line-height: 3.4rem;
font-size:1.7rem;	
}
.top_catch p span{
display: inline-block;
}


h2.top_h2{
	font-size:2.9rem;
	font-weight: 600;
	line-height: 4rem;
		width:90%;
	margin: auto;
}

h2.top_h2 span{
	padding:0;
	display: block;
	width:100%;/******/
	font-size:1.8rem;
	font-weight:800;
	transform: scaleY(0.9);/******/
	margin:0 auto;/******/
}

h2.color1 span{
	color: #28A7E1;
}

h2.color2 span{
	color:#fff;
}

h2.color3 span{
	color:#fff;
}

h2.color4 span{
	color:#28A7E1;
}
h2.a1{
	font-size: 2.5rem;
}

/***about********************/

.top_about ul li h3{
	color:#054d75;
	font-size:2.5rem;
	line-height:2rem;
	top: 4%;
}

.top_about ul li img{
	width:30%;
	margin: 0 auto;
	top: 35%;
}

.top_about p{
	width:85%;
	margin: 30px auto;
	font-weight:600;
		line-height: 2.5rem;
}

/******servise**************/
.top_service{
	background:#28A7E1; 
	padding:50px 0 50px;
	margin-top:-10px;
}
.top_service h2 {
	color:#fff;
}

.top_service h3{
	text-align: center;
	font-size:1.5rem;
	font-weight: bold;
}

.top_service ul {
width:90%;
max-width: 450px;	
margin:30px auto;	
}

.top_service ul li{
display: block;	
background: #fff;	
width:70%;
margin:40px auto 0;	
text-align: center;	
padding:10px;	
}

.top_service ul li p{
	width:90%;
	margin:0 auto;
	margin-bottom:20px;
	text-align: left;
		font-size: 1.4rem;
	font-weight: bold;
}

.top_service ul li img{
	width:100%;
    margin:0 auto;
}

.top_service ul li h3{
	font-size: 2.2rem;
}

/******case********************/
.top_case{
color: #fff;
position: relative;	
}

.top_case ul li h3{
	font-size: 2.2rem;
}

.top_case p{
width:70%;
margin:0 auto;
font-size: 1.6rem;	
line-height: 3rem;
text-align: left;
font-weight: bold;	
}

.top_case ul{
width:90%;
max-width: 450px;	
margin:30px auto;	
}

.top_case ul li{
display: block;	
background: #fff;	
width:70%;
margin:30px auto;	
text-align: center;	
padding:10px;
border:1px solid #28A7E1;	
}

.top_case ul li a:hover{
	opacity:0.8;
	transition: 0.5s;
}

.top_case ul li p{
	width:90%;
	margin:0 auto;
	margin-bottom:20px;
	font-size: 1.4rem;
}

.top_case ul li img{
	width:100%;
    margin:0 auto;
}

/******news********************/
.top_news{
	background: #F8F8F8;
	padding:50px 0 80px;
}

.top_news ul{
	width:85%;
	max-width:500px;
	margin: 30px auto;
	z-index: 1;	
}

.top_news ul li{
	width:100%;
	height:80px;
	margin: 0 auto;
	z-index: 1;	
	border-bottom:.5px solid #8F8989;
	margin-bottom:30px;
	position: relative;
	padding-bottom: 5px;
}

.top_news ul .inbox{
	display: flex;
}

.top_news ul li span.news_cate{
	display: block;
	width:90px;
	color:#fff;
	font-weight: bold;
	line-height: 3rem;
	background-color: #28A7E1;
	text-align: center;
	font-size: 1.5rem;
}

.top_news ul li time{
	display: block;
	width:120px;
	color: #8F8989;
	text-align: center;
}

.top_news ul li ._title{
	display: block;
	color:#8F8989;
	vertical-align:bottom;
	position: absolute;
	bottom:5px;
	top: 45%;
}


/*******************************************/
/* 画面サイズ 798px～*/
@media screen and (min-width: 798px) {
	
.top_main{
	margin-top:70px;
}

h2{
	text-align: center;
	margin:auto;
}

/* MV設定 */
#mv{
	position: relative;
}	

h2#mv_h2 {
text-align: left;
line-height:1.3em;	
position: absolute;
top:50%;
left:0%;
font-size:3.3rem;
text-shadow: 2px 1px 3px rgba(0, 0, 0, 0.4);	
color:#fff;
letter-spacing: 0.4rem;	
background-color:rgba(40,167,225,0.4);	
padding:7%;	
}

h2#mv_h2 span.tsunagu{
	color:#eb6112;
	}


#mv img {
  width: 100%;
  height: 280px;
   object-fit: cover;
   object-position: 50% 0%;
}



.bgrade {
  padding-bottom:80px;	
  height:100%;	
         background-image: linear-gradient(359deg, rgba(255, 255, 255, 1), rgba(237, 185, 155, 0.18) 30%, rgba(255, 255, 255, 1));
}

.top_catch{
	width:100%;
	text-align: center;
}


.top_catch div.inbox{
	width:80%;
	max-width:600px;
	margin: 0 auto;
}

#top_catch_h2 img{
	width:80%;
	margin-left:auto;
	margin-right:auto;
}

	
.top_catch p{
line-height: 3.4rem;
font-size:1.7rem;	
}
.top_catch p span{
display: inline-block;
}


h2.top_h2{
	font-size:2.9rem;
	font-weight: 600;
	line-height: 4rem;
		width:90%;
	margin: auto;
}

h2.top_h2 span{
	padding:0;
	display: block;
	width:100%;/******/
	font-size:1.8rem;
	font-weight:800;
	transform: scaleY(0.9);/******/
	margin:0 auto;/******/
}

h2.color1 span{
	color: #28A7E1;
}

h2.color2 span{
	color:#fff;
}

h2.color3 span{
	color:#fff;
}

h2.color4 span{
	color:#28A7E1;
}
h2.a1{
	font-size: 2.5rem;
}

/***about********************/

.top_about ul li h3{
	color:#054d75;
	font-size:2.5rem;
	line-height:2rem;
	top: 4%;
}

.top_about ul li img{
	width:30%;
	margin: 0 auto;
	top: 35%;
}

.top_about p{
	width:85%;
	margin: 30px auto;
	font-weight:600;
		line-height: 2.5rem;
}

/******servise**************/
.top_service{
	background:#28A7E1; 
	padding:50px 0 50px;
	margin-top:-10px;
}
.top_service h2 {
	color:#fff;
}

.top_service h3{
	text-align: center;
	font-size:1.5rem;
	font-weight: bold;
}

.top_service ul {
width:90%;
max-width: 450px;	
margin:30px auto;	
}

.top_service ul li{
display: block;	
background: #fff;	
width:70%;
margin:40px auto 0;	
text-align: center;	
padding:10px;	
}

.top_service ul li p{
	width:90%;
	margin:0 auto;
	margin-bottom:20px;
	text-align: left;
		font-size: 1.4rem;
	font-weight: bold;
}

.top_service ul li img{
	width:100%;
    margin:0 auto;
}

.top_service ul li h3{
	font-size: 2.2rem;
}

/******case********************/
.top_case{
color: #fff;
position: relative;	
}

.top_case ul li h3{
	font-size: 2.2rem;
}

.top_case p{
width:70%;
margin:0 auto;
font-size: 1.6rem;	
line-height: 3rem;
text-align: left;
font-weight: bold;	
}

.top_case ul{
width:90%;
max-width: 450px;	
margin:30px auto;	
}

.top_case ul li{
display: block;	
background: #fff;	
width:70%;
margin:30px auto;	
text-align: center;	
padding:10px;
border:1px solid #28A7E1;	
}

.top_case ul li a:hover{
	opacity:0.8;
	transition: 0.5s;
}

.top_case ul li p{
	width:90%;
	margin:0 auto;
	margin-bottom:20px;
	font-size: 1.4rem;
}

.top_case ul li img{
	width:100%;
    margin:0 auto;
}

/******news********************/
.top_news{
	background: #F8F8F8;
	padding:50px 0 80px;
}

.top_news ul{
	width:85%;
	max-width:500px;
	margin: 30px auto;
	z-index: 1;	
}

.top_news ul li{
	width:100%;
	height:80px;
	margin: 0 auto;
	z-index: 1;	
	border-bottom:.5px solid #8F8989;
	margin-bottom:30px;
	position: relative;
	padding-bottom: 5px;
}

.top_news ul .inbox{
	display: flex;
}

.top_news ul li span.news_cate{
	display: block;
	width:90px;
	color:#fff;
	font-weight: bold;
	line-height: 3rem;
	background-color: #28A7E1;
	text-align: center;
	font-size: 1.5rem;
}

.top_news ul li time{
	display: block;
	width:120px;
	color: #8F8989;
	text-align: center;
}

.top_news ul li ._title{
	display: block;
	color:#8F8989;
	vertical-align:bottom;
	position: absolute;
	bottom:5px;
	top: 45%;
}

}




/* 画面サイズ 1150px～*/
@media screen and (min-width: 1074px) {
	
.top_main{
	margin-top:70px;
}

/* MV設定 */

h2#mv_h2 {
top:30%;
font-size:5rem;	
}

#mv img {
  height: 550px;
}

/.bgrade {
  /padding-bottom:80px;	
  height:100%;	
         background-image: linear-gradient(359deg, rgba(255, 255, 255, 1), rgba(237, 185, 155, 0.18) 30%, rgba(255, 255, 255, 1));
}

h2.top_h2{
	font-size:2.9rem;
	font-weight: 600;
	line-height: 4rem;
		width:90%;
	margin: auto;
}

h2.top_h2 span{
	padding:0;
	display: block;
	width:100%;/******/
	font-size:1.8rem;
	font-weight:800;
	transform: scaleY(0.9);/******/
	margin:0 auto;/******/
}

h2.color1 span{
	color: #28A7E1;
}

h2.color2 span{
	color:#fff;
}

h2.color3 span{
	color:#fff;
}

h2.color4 span{
	color:#28A7E1;
}
h2.a1{
	font-size: 2.5rem;
}

/***about********************/
	.top_about {
		margin:100px auto 0;
	}
	.top_about .top_h2{
		font-size:3.5rem;
		line-height: 5rem;
		margin: 40px auto;
	}
	
	.top_about .top_h2 span{
		margin: 10px auto;
	}	
	
.top_about p{
	width:40%;
	max-width: 600px;
	margin: 30px auto 50px;
	font-weight:600;
	line-height: 2.7rem;
	text-align: center;
}

/******servise**************/
.top_service{
	background:#28A7E1; 
	padding:50px 0 50px;
	margin-top:-10px;
}
.top_service h2 {
	color:#fff;
}

.top_service h3{
	text-align: center;
	font-size:1.5rem;
	font-weight: bold;
}

.top_service ul {
width:100%;
max-width: 1300px;	
display: flex;	
}

.top_service ul li{	
width:40%;
max-width: 290px;	
}

.top_service ul li p{
	width:90%;
	margin:0 auto;
	margin-bottom:20px;
	text-align: left;
	font-size: 1.4rem;
	font-weight: bold;
}

.top_service ul li img{
	width:100%;
    margin:0 auto;
}

.top_service ul li h3{
	font-size: 2.2rem;
}

/******case********************/
.top_case{
color: #fff;
position: relative;	
}
	
.top_case ul {
width:100%;
max-width: 1300px;	
display: flex;	
}

.top_case ul li{	
width:40%;
max-width: 290px;	
}
	
.top_case ul li h3{
	font-size: 2.2rem;
}

.top_case p{
width:70%;
margin:0 auto;
font-size: 1.6rem;	
line-height: 3rem;
text-align: left;
font-weight: bold;	
}

.top_case ul li a:hover{
	opacity:0.8;
	transition: 0.5s;
}

.top_case ul li p{
	width:90%;
	margin:0 auto;
	margin-bottom:20px;
	font-size: 1.4rem;
}

.top_case ul li img{
	width:100%;
    margin:0 auto;
}

/******news********************/
.top_news{
	background: #F8F8F8;
	padding:50px 0 80px;
}

.top_news ul{
	width:85%;
	max-width:500px;
	margin: 30px auto;
	z-index: 1;	
}

.top_news ul li{
	width:100%;
	height:80px;
	margin: 0 auto;
	z-index: 1;	
	border-bottom:.5px solid #8F8989;
	margin-bottom:30px;
	position: relative;
	padding-bottom: 5px;
}

/.top_news ul .inbox{
	display: flex;
}

.top_news ul li span.news_cate{
	display: block;
	width:90px;
	color:#fff;
	font-weight: bold;
	line-height: 3rem;
	background-color: #28A7E1;
	text-align: center;
	font-size: 1.5rem;
}

.top_news ul li time{
	display: block;
	width:120px;
	color: #8F8989;
	text-align: center;
}

.top_news ul li ._title{
	display: block;
	color:#8F8989;
	vertical-align:bottom;
	position: absolute;
	bottom:5px;
	top: 45%;
}


/**************************************/
@media screen and (min-width: 1280px) {
	
	.top_about{
	margin-top:100px;
}
	
	.top_about ul li{
	width:420px;
	height: 420px;	
	}	
	
	top_about ul li h3 {
    font-size: 3.5rem; 
	top:5%;
}	
	
.top_about ul li p {
font-size:1.6rem;
line-height:3.1rem;	
    top: 70%;
}	
	
.top_about ul li img {
    width: 31%;
    margin: 0 auto;
    top: 34%;
}
	

	.top_service h3 {
    font-size: 4rem;
    font-weight: 600;
}	
	.top_service ul li p {
    font-size: 1.6rem;
}	
	
	.top_service ul li h3 {
    font-size: 2.5rem;
		font-weight: 600;
}	
	
.e{
	display: block;
	width:60%;
	max-width:500px;
	padding:50px auto;
}

.top_case .e{
	position: absolute;
	top:-18%;
	right:9%;
	padding:100px auto 50px;
	
}		
	
	
	.backshape1 {
    width: 80%;
    height: 130%;
	top:-20%;	
	}
	
	.top_news h2{
		text-align: left;
		position: absolute;
		top:10%;
		left:10%;
		max-width: 950px;
	}
	
	.top_news ul {
	padding:80px;	
    width: 74%;
    //max-width: 700px;
    margin-left:40%;
	}
	
	.top_news ul li {
    width: 100%;
    height: 90px;
}
	.top_news .btnbox{
		position: absolute;
		left:5%;
		top:40%;
	}

.top_news .e{
	position: absolute;
	top:70%;
	left:10%;
}	
	
	.top_recruit{
		margin-top:500px;
		margin-bottom:420px;	
	}	

	.top_recruit .top_h2{
		text-align: left;
		margin-left:8%;
		max-width: 950px;
	}	
	
	.top_recruit div.flexb{
		width:90%;
		max-width:1800px;
		display: flex;
		justify-content: space-between;
		margin-left:6%;
	}
	
	.top_recruit div.flexb .left{
	max-width:600px;	
	margin-right:20px;		
	}
	
	.top_recruit .btnbox {
		margin-left:0;
	}
	
	.top_recruit .btnbox a{
		margin-left:0;
	}
	
	.top_recruit .flexb .right img {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 1000px;
}
	.top_recruit img.e {
    bottom: -40%;
   left: 10%;
}
	
.top_recruit .flexb .left p {
	max-width:570px;
    text-align: left;
}		

	
}
