
/* CSS Document */

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

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

.main-image {
	width: 100%;
	position: relative;
	line-height: 0;
	z-index: 6!important;
	margin: 80px auto 0;
}
.main-image .title {
	position: absolute;
	left: 5%;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	z-index: 1;
}
.main-image .title .title_en{
	color: #fff;
	font-size: 4.0rem;
	line-height: 1.8em;
	font-family: 'Barlow', sans-serif;
	letter-spacing: 0.05em;
	font-weight: 500;
}
.main-image .title .title_jp{
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.8em;
	letter-spacing: 0.05em;
}
.main-image .main_soushoku{
	width: 45%;
	position: absolute;
	bottom: -10%;
	right: 0;
}



@media only screen and (min-width:1px) and (max-width: 768px) {
.main-image {
	width: 100%;
	position: relative;
	line-height: 0;
	z-index: 6!important;
	margin: 70px auto 0;
}

.main-image .title .title_en{
	color: #fff;
	font-size: 3.0rem;
	line-height: 1.6em;
	font-family: 'Barlow', sans-serif;
	letter-spacing: 0.05em;
	font-weight: 500;
}
.main-image .title .title_jp{
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.6em;
	letter-spacing: 0.05em;
}	
	
}
@media only screen and (min-width:1px) and (max-width: 480px) {


.main-image .title {
	position: absolute;
	left: 5%;
	top: 40%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	z-index: 1;
}
.recruit .main-image .title {
	position: absolute;
	left: 5%;
	top: 20%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	z-index: 1;
}
.main-image .title .title_en{
	color: #fff;
	font-size: 4.0rem;
	line-height: 1.6em;
	font-family: 'Barlow', sans-serif;
	letter-spacing: 0.05em;
	font-weight: 500;
}
.main-image .title .title_jp{
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.6em;
	letter-spacing: 0.05em;
}	
}



/*************
 ABOUT
 当社の特長
*************/

.about article{
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
}
.about section{
	margin: 0 auto 6%;
}
.about section .catch{
	font-size: 2.2rem;
	text-align: center;
	font-weight: 500;
	line-height: 2.0em;
	position: relative;
	padding: 20px 10px 30px;
}
.about section .catch::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 200px;
	height: 4px;
	margin: auto;
  background: linear-gradient(to right, #2ea9e8, #174f9e);
}

.about .no{
	width: 100px;
}
.about .pointl .Txt{
	width: 50%;
	margin: 5% 50% 5% auto;
}
.about .pointr .Txt{
	width: 50%;
	margin: 5% auto 5% 50%;
}

.about .pointl .pointcatch,
.about .pointr .pointcatch{
	font-size: 1.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	color: #fff;
	font-weight: 500;
	background: #174f9e;
}
.about .pointl p,
.about .pointr p{
	margin: 3% auto 5%;
}
.about .pointl .Photo{
	position: absolute;
	width: 48%;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}
.about .pointr .Photo{
	position: absolute;
	width: 48%;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}
.about .pointl .soushokul{
	position: absolute;
	width: 45%;
	left: 0;
	top: -10%;
	z-index: -1;
}
.about .pointr .soushokur{
	position: absolute;
	width: 45%;
	right: 0;
	top: -10%;
	z-index: -1;
}

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


.about section .catch{
	font-size: 2.0rem;
	padding: 20px 10px 20px;
}	
	
.about .pointl p,
.about .pointr p{
	margin: 3% auto 2%;
}
	
.about .pointl .Txt{
	width: 50%;
	margin: 3% 50% 3% auto;
}
.about .pointr .Txt{
	width: 50%;
	margin: 3% auto 3% 50%;
}

.about .pointl .soushokul{
	position: absolute;
	width: 60%;
	left: 0;
	top: -15%;
	z-index: -1;
}
.about .pointr .soushokur{
	position: absolute;
	width: 60%;
	right: 0;
	top: -15%;
	z-index: -1;
}
}
@media only screen and (min-width:1px) and (max-width: 768px) {

.about section .catch{
	font-size: 1.8rem;
	padding: 20px 10px 20px;
}	
	
.about .no{
	width: 100px;
}
.about .pointl .Txt{
	width: 90%;
	margin: 5% 10% 0% auto;
}
.about .pointr .Txt{
	width: 90%;
	margin: 5% auto 0% 10%;
}

.about .pointl .pointcatch,
.about .pointr .pointcatch{
	font-size: 1.6rem;
	padding: 15px 10px;
}
.about .pointl .Photo{
	position: relative;
	width: 90%;
	right: inherit;
	top: inherit;
	transform: translateY(0%);
	-webkit- transform: translateY(0%);
	margin: 0 0 5% auto;
}
.about .pointr .Photo{
	position: relative;
	width: 90%;
	left: inherit;
	top: inherit;
	transform: translateY(0%);
	-webkit- transform: translateY(0%);
	margin: 0 auto 5% 0;
}
}
@media only screen and (min-width:1px) and (max-width: 480px) {


.about .no{
	width: 80px;
}
.about .pointl .Txt{
	width: 100%;
	margin: 5% auto 0% auto;
}
.about .pointr .Txt{
	width: 100%;
	margin: 5% auto 0% auto;
}
.about .pointl .soushokul{
	display: none;
}
.about .pointr .soushokur{
	display: none;
}
	
	
}


/*************
 PRODUCT
 製作実績
*************/

.product article{
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
}
.product section{
	margin: 0 auto 6%;
}
.product section h2{
	text-align: center;
	font-weight: 500;
	line-height: 2.0em;
	position: relative;
	padding: 20px 10px 20px;
}
.product section h2::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 180px;
	height: 4px;
	margin: auto;
  background: linear-gradient(to right, #2ea9e8, #174f9e);
}

.product .Productbox{
	display: flex;
	justify-content: flex-start;
	align-content: flex-start;
	flex-wrap: wrap;
}
.product .Productbox .item{
	width: 33.3333%;
	padding: 10px;
}
.product .Productbox .item .Photo{
	margin: 3% auto;
	width: 100%;
}
.product .Productbox .item h3{
	font-weight: 400;
	padding: 5px;
	background: #174f9e;
	color: #fff;
	text-align: center;
	letter-spacing: 0.05em;
}
.product .Productbox .item p{
	text-align: center;
}

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

.product section h2{
	padding: 20px 10px 10px;
}
	
.product .Productbox .item{
	width: 50%;
	padding: 10px;
}
	
}
@media only screen and (min-width:1px) and (max-width: 480px) {
	
.product .Productbox .item{
	width: 50%;
	padding: 10px 5px;
}
		
.product .Productbox .item p{
	font-size: 1.3rem;
}
}


/*************
 COMPANY
 会社情報
*************/

.company article{
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
}
.company section{
	margin: 0 auto 6%;
}
.company section h2{
	text-align: center;
	font-weight: 500;
	line-height: 2.0em;
	position: relative;
	padding: 20px 10px 20px;
}
.company section h2::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 180px;
	height: 4px;
	margin: auto;
  background: linear-gradient(to right, #2ea9e8, #174f9e);
}

.company .Greeting{
	margin: 5% auto;
	display: flex;
	flex-wrap: wrap;
}
.company .Greeting .Txt{
	width: 65%;
	padding: 0 20px;
}
.company .Greeting .Photo{
	width: 35%;
	padding: 0 20px;
}
.company .Greeting .Sign{
	width: 100%;
	text-align: right;
}
.company .Greeting .Sign img{
	max-width:274px;
	margin: 3% 20px 3% auto;
}

.company .maplink{
	background: #174f9e;
	color: #fff;
	margin: 0 10px;
	padding: 1px 20px;
	display: inline-block;
	font-size: 0.9em;
	max-width: 240px;
}
@media only screen and (min-width:1px) and (max-width: 960px) {
.company .Greeting .Txt{
	width: 55%;
	padding: 0 20px;
}
.company .Greeting .Photo{
	width: 45%;
	padding: 0 20px;
}
}
@media only screen and (min-width:1px) and (max-width: 768px) {

.company section h2{
	padding: 20px 10px 10px;
}
.company .Greeting .Txt{
	width: 100%;
	padding: 0 10px;
}
.company .Greeting .Photo{
	width: 50%;
	margin: 3% 25%;
}
	
.company .Greeting .Sign{
	width: 100%;
	text-align: center;
}
.company .Greeting .Sign img{
	max-width:274px;
	width: 80%;
	margin: 3% auto;
}
.company .maplink{
	display: block;
	margin: 10px auto;
	text-align: center;
	padding: 5px 20px;
}
}
@media only screen and (min-width:1px) and (max-width: 480px) {

.company .Greeting .Photo{
	width: 80%;
	margin: 3% 10%;
}
	
	
}

/*************
EQUIPMENT 設備情報
*************/

.equipment article{
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
}
.equipment section{
	margin: 0 auto 6%;
}
.equipment section h2{
	text-align: center;
	font-weight: 500;
	line-height: 2.0em;
	position: relative;
	padding: 20px 10px 20px;
}
.equipment section h2::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 180px;
	height: 4px;
	margin: auto;
  background: linear-gradient(to right, #2ea9e8, #174f9e);
}

.equipment .EquipmentBox{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 3% auto;
}
.equipment .EquipmentBox .Setubi{
	width: 50%;
	padding: 10px;
}
@media only screen and (min-width:1px) and (max-width: 960px) {

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

.equipment section h2{
	padding: 20px 10px 10px;
}
.equipment .EquipmentBox .Setubi{
	width: 100%;
	padding: 0;
}
}
@media only screen and (min-width:1px) and (max-width: 480px) {

	
}


/*************
CONTACT お問い合わせ
*************/

.contact article{
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
}
.contact section{
	margin: 0 auto 6%;
}
.contact section h2{
	text-align: center;
	font-weight: 500;
	line-height: 2.0em;
	position: relative;
	padding: 20px 10px 20px;
}
.contact section h2::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 180px;
	height: 4px;
	margin: auto;
  background: linear-gradient(to right, #2ea9e8, #174f9e);
}

.contact .w30{
	width: 30%;
}
.contact .w60{
	width: 60%;
}
.contact .w100{
	width: 100%;
}
.contact input {
	font-size: 1.6rem;
}
.contact input[type="checkbox"] {
	margin: 0 0.5em;
}
.contact input[type="text"],
.contact textarea {
	color: #000!important;
	border: 1px solid #ccc;
	background: #FFF;
	padding: 3px;
}
.contact input[type="email"] {
	border: 1px solid #999;
	border-radius: 4px;
	background: #FFF;
	margin: 10px 10px 10px 0;
	padding: 3px;
}

.contact select {
	font-size: 1.6rem;
	border: 1px solid #999;
	margin: 10px 0;
}

.contact .Sendbtn{
	margin: 5% auto;
	width: 70%;
	display: flex;
	justify-content: center;
}
.contact .Sendbtn .btnblue,
.contact .Sendbtn .btnglay{
	width: 50%;
	display: block;
	text-align: center;
}
.contact .Sendbtn .btnblue input{
	background: #014da3;
	color: #fff;
	display: block;
	padding: 15px 10px;
	width: 100%;
}
.contact .Sendbtn .btnglay input{
	background: #a4a9ae;
	color: #fff;
	display: block;
	padding: 15px 10px;
	width: 100%;
}


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

.contact section h2{
	padding: 20px 10px 10px;
}
.contact .w30{
	width: 50%;
}
.contact .w60{
	width: 100%;
}
.contact .w100{
	width: 100%;
}
.contact .Sendbtn{
	margin: 5% auto;
	width: 90%;
	display: flex;
	justify-content: center;
}
.contact .Sendbtn .btnblue input{
	padding: 10px 10px;
	width: 100%;
	font-size: 1.4rem;
}
.contact .Sendbtn .btnglay input{
	padding: 10px 10px;
	width: 100%;
	font-size: 1.4rem;
}
}

/*************
RECRUIT 採用情報
*************/

.recruit article{
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
}
.recruit section{
	margin: 0 auto 6%;
}
.recruit section h2{
	text-align: center;
	font-weight: 500;
	line-height: 2.0em;
	position: relative;
	padding: 20px 10px 20px;
}
.recruit section h2::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 180px;
	height: 4px;
	margin: auto;
  background: linear-gradient(to right, #2ea9e8, #174f9e);
}

.recruit .Entrybtn{
	margin: 5% auto;
	width: 60%;
}
.recruit .Entrybtn a{
	background: #014da3;
	color: #fff;
	display: block;
	padding: 15px 10px;
	width: 100%;
	text-align: center;
	font-size: 1.8rem;
}
.recruit .shokushu a{
    position: relative;
    display: inline-block;
    padding: 0 0 0 25px;
    color: #014da3;
    vertical-align: middle;
    text-decoration: none;
}
.recruit .shokushu a::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 5px;
    width: 12px;
    height: 2px;
    background: #014da3;
}
.recruit .shokushu a::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 8px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #014da3;
    border-right: 2px solid #014da3;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

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

.recruit section h2{
	padding: 20px 10px 10px;
}
.recruit .Entrybtn{
	margin: 5% auto;
	width: 90%;
	display: flex;
	justify-content: center;
}
.recruit .Entrybtn a{
	padding: 10px 10px;
	width: 100%;
	font-size: 1.4rem;
}
}

/*************
NEWS 新着情報
*************/

.news article{
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
}
.news section{
	margin: 0 auto 6%;
}
.news section h2{
	text-align: center;
	font-weight: 500;
	line-height: 2.0em;
	position: relative;
	padding: 20px 10px 20px;
}
.news section h2::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 180px;
	height: 4px;
	margin: auto;
  background: linear-gradient(to right, #2ea9e8, #174f9e);
}

.Newsbox{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.Newsbox .Newsmain{
	width: 75%;
	padding: 10px;
}
.Newsbox .NewsNav{
	width: 25%;
	padding: 10px;
}
.Newsbox .Newsmain .article{
	margin: 3% auto 5%;
}
.Newsbox .Newsmain .article h4{
	padding: 10px;
	border-top:2px solid #014da3;
	background: #f3f3f3;
	color: #014da3;
}
.Newsbox .Newsmain .article .date{
	text-align: right;
}
.Newsbox .Newsmain .article .content{
	margin: 3% auto;
}
.Newsbox .Newsmain .article .content img{
	width: auto;
	height: auto;
	max-width: 100%;
}
.Newsbox .NewsNav h5{
	background: #014da3;
	color: #fff;
	text-align: center;
	margin: 0 auto 3%;
}
.Newsbox .NewsNav  ul li{
	padding: 10px 30px;
}
.Newsbox .NewsNav  ul li a{
    position: relative;
    display: inline-block;
    padding: 0 0 0 25px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
}
.Newsbox .NewsNav  ul li a::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 5px;
    width: 12px;
    height: 2px;
    background: #014da3;
}
.Newsbox .NewsNav  ul li a::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 8px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #014da3;
    border-right: 2px solid #014da3;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


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

.news section h2{
	padding: 20px 10px 10px;
}
.Newsbox .Newsmain{
	width: 100%;
	padding: 10px;
}
.Newsbox .NewsNav{
	width: 100%;
	padding: 10px;
}
.Newsbox .NewsNav ul{
	display: flex;
	flex-wrap: wrap;
}
.Newsbox .NewsNav ul li{
	width: 50%;
}
}

div.vid_contents {
width: 100%;/*背景色を横幅いっぱいに広げる*/
	max-width: 520px;
text-align: center;
margin: 3% auto 0;
	background: #f6f8fc;
	padding-bottom: 10px;
/*background: #e6e6e6;/*余白の背景色*/
}
.videocomm{
	margin: 10px auto;
	text-align: center;
	background: #274e99;
	color: #fff;
	max-width: 520px;
	
}
video.vid_main {
width: 100%;
max-width: 300px;/*PC版での最大幅*/
	border:1px solid #dfdfdf;
	background: #fff;
}