
/* CSS Document */

/*==================================================

top-contents
=================================================*/

.top-image {
	width: 100%;
	position: relative;
	line-height: 0;
	z-index: 6!important;
	margin: 80px auto 0;
}
.top-image .catch {
	position: absolute;
	left: 5%;
	top: 15%;
	z-index: 1;
	width: 40%;
}
.top-image .catch .catch01{
	max-width: 500px;
}
.top-image .catch p{
	color: #fff;
	line-height: 2.0em;
	margin: 40px 0 auto;
	
}
.top-image .photo {
	width: 100%;
	overflow: hidden;
	
}
.top-image .main_soushoku{
	width: 45%;
	position: absolute;
	bottom: -5%;
	right: 0;
}

.news .inner{
	position: relative;
	max-width: 800px;
	margin: 0 auto;
	width: 96%;
}
.news h2{
	color: #174f9e;
	position: relative;
}
.news h2::after{
	content: "";
	position: absolute;
	left: 0;
	bottom:0;
	height: 3px;
	width: 120px;
  background: linear-gradient(to right, #2ea9e8, #174f9e);
}
.news h3
{color: #174f9e;
text-align: left;
font-size: 1.5rem;
padding: 5px;
font-weight: 400;}

.news .tBtn a{
	background: #174f9e;
	width: 200px;
	padding: 10px;
	text-align: center;
	margin: 5% 0 5% auto;
	color: #fff;
	display: block;
}

.about .soushoku_about{
	position: absolute;
	top: -6.2%;
	left: 0;
	width: 35%;
	z-index: 15;
}
.about .soushoku_aboutb{
	position: absolute;
	bottom: -5.5%;
	left: 0;
	width: 35%;
}
.about .Photo{
	position: relative;
	z-index: 10;
}
.about .Txt{
	position: absolute;
	right: 10%;
	bottom: -100px;
	background: #fff;
	width: 300px;
	display: block;
	padding: 10px 20px;
}
.about h2{
	color: #174f9e;
	position: relative;
	text-align: right;
}
.about h2::after{
	content: "";
	position: absolute;
	right: 0;
	bottom:0;
	height: 3px;
	width: 150px;
  background: linear-gradient(to right, #2ea9e8, #174f9e);
}
.about h3
{color: #174f9e;
text-align: right;
font-size: 1.5rem;
padding: 5px;
font-weight: 400;}

.about p{color: #000;
font-size: 1.4rem;
	padding: 20px 0;
}
.about .blueback{
	background: #f4f8fc url("../img/common/point_back.svg") left top repeat;
	padding: 0 0 5%;
}
.about .pointbox{
	max-width: 1200px;
	margin: 0 auto;
	
}
.about .point{
	width: 33.3333%;
	padding: 0px 3%;
}
.about .point2{
	margin-top: 15%;
}
.about .point3{
	margin-top: 30%;
}
.about .point4{
	margin-top: -10%;
}
.about .point5{
	margin-top: 5%;
}
.about .point .no{
	max-width: 100px;
}
.about .point .pointcatch{
	background: #174f9e;
	color: #fff;
	padding: 20px 10px;
	border-right:5px solid #fff;
	text-align: center;
}
.about .point .pointphoto{
	border-right:5px solid #fff;
	border-bottom:5px solid #fff;
	
}
.product{
	padding: 3% 0;
}

.product h2{
	color: #174f9e;
	position: relative;
text-align: left;
}
.product h2::after{
	content: "";
	position: absolute;
	left: 0;
	bottom:0;
	height: 3px;
	width: 150px;
  background: linear-gradient(to right, #2ea9e8, #174f9e);
}
.product h3
{color: #174f9e;
text-align: left;
font-size: 1.5rem;
padding: 5px;
font-weight: 400;}

.product .Txt{
	width: 30%;
}
.product .Txt .tBtn a{
	background: #174f9e;
	width: 200px;
	padding: 5px 10px;
	text-align: center;
	margin: 8% 0;
	color: #fff;
	display: block;
}
.product .Photo{
	width: 70%;
	z-index: -1;
}

.btn .tBtn{
	position: relative;
	width: 50%;
	margin: 0 auto 3%;
}
.btn .tBtn .Txt{
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 40%;
}
.btn .tBtn .Txt h2{
	color: #fff;
	text-align: center;
}
.btn .tBtn .Txt h3{
	color: #fff;
	font-size: 1.8rem;
	font-weight: normal;
	text-align: center;
}

.recruit .tBtn{
	position: relative;
}
.recruit .tBtn .Txt{
	position: absolute;
	left: 10%;
	top: 35%;
}

.recruit .tBtn .Txt h2{
	color: #fff;
	text-align: center;
}
.recruit .tBtn .Txt h3{
	color: #fff;
	font-size: 1.6rem;
	font-weight: normal;
}
.contact .tBtn{
	text-align: center;
	margin: 5% auto;
}
.contact .tBtn a{
	max-width: 300px;
	width: 80%;
	color: #fff;
  background: linear-gradient(to right, #2785ca, #174f9e);
	padding: 15px;
	text-align: center;
	margin: auto;
	display: block;
	font-weight: 500;
	font-size: 2.0rem;
	font-family: 'Barlow', sans-serif;
}


.pc-img{
	display: block;
}
.sp-img{
	display: none;
}

@media only screen and (min-width:1px) and (max-width: 960px) {

.about .point{
	width: 33.3333%;
	padding: 0px 2%;
}
.about .point .no{
	max-width: 90px;
}
.about .point .pointcatch{
	padding: 15px 10px;
	font-size: 1.4rem;
}
	
}
@media only screen and (min-width:1px) and (max-width: 768px) {
.top-image {
	width: 100%;
	position: relative;
	line-height: 0;
	z-index: 6!important;
	margin: 70px auto 0;
}
.top-image .catch {
	position: absolute;
	left: 5%;
	top: 10%;
	z-index: 1;
	width: 60%;
}
.top-image .catch .catch01{
	max-width: 500px;
}
.top-image .catch p{
	color: #fff;
	line-height: 2.0em;
	font-size: 1.4rem;
	margin: 20px 0 auto;
	
}
	
.about .soushoku_about{
	display: none;
}
.about .soushoku_aboutb{
	display: none;
}
	
.news h3 {
font-size: 1.4rem;}

	
.news .tBtn a{
font-size: 1.4rem;
}
	
	
.about .Txt{
	position: absolute;
	right: 2%;
	bottom: -80px;
	background: #fff;
	width: auto;
	display: block;
	padding: 5px 20px;
}
	
.about .pointbox{
	max-width: 1200px;
	margin: 3% auto 0;
	
}
.about .point{
	width: 50%;
	padding: 0px 5%;
}
.about .point2{
	margin-top: 15%;
}
.about .point3{
	margin-top: -10%;
}
.about .point4{
	margin-top: 5%;
}
.about .point5{
	margin-top: 0%;
}
.product .Txt{
	width: 40%;
}
.product .Photo{
	width: 60%;
}

.product .Txt .tBtn a{
font-size: 1.4rem;
	width: 180px;
}
	
.btn .tBtn .Txt{
	top: 30%;
}
	
.btn .tBtn .Txt h3,
.recruit .tBtn .Txt h3{
	font-size: 1.5rem;
}
.recruit .tBtn .Txt{
	position: absolute;
	left: 5%;
	top: 30%;
}

}
@media only screen and (min-width:1px) and (max-width: 480px) {


.top-image .catch {
	position: absolute;
	left: 5%;
	top: 20%;
	z-index: 1;
	width: 60%;
}
.top-image .catch .catch01{
	max-width: 500px;
}
.top-image .catch p{
	color: #fff;
	line-height: 1.6em;
	font-size: 1.2rem;
	margin: 20px 0 auto;
	
}
.top-image .main_soushoku{
	width: 50%;
	position: absolute;
	bottom: -4%;
	right: 0;
}
.about .Txt{
	position: relative;
	right: inherit;
	bottom: inherit;
	background: #fff;
	width: auto;
	display: inline-block;
	padding: 5px 20px;
	margin: -20px 10px 0 30px;
}
.about .point .no{
	max-width: 80px;
}
.about .point{
	width: 50%;
	padding: 0px 2%;
}
	
.about .point .pointcatch{
	font-size: 1.2rem;
	line-height: 1.6em;
	padding: 10px 5px;
}
	
.product{
	padding: 8% 0;
}
.btn .tBtn .Txt{
	top: 20%;
}
	
.btn .tBtn .Txt h3,
.recruit .tBtn .Txt h3{
	font-size: 1.4rem;
	line-height: 1.5em;
}
.recruit .tBtn .Txt{
	position: absolute;
	left: 3%;
	top: 30%;
}
.pc-img{
	display: none;
}
.sp-img{
	display: block;
}
}