@charset "utf-8";
@import url("reset.css");
@import url("m_menu.css");
@import url("../slider/flexslider.css");



/*共通設定-------------------------------------------------------------------------------------------------------------------------------------*/
/*基本設定*/
html{
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif,"游明朝体", "Yu Mincho", YuMincho;
	line-height:1.5;
	}
main {
    display: block;
	position: relative;
	padding: 0 0 5em;
}	


/*リンク*/
section a:link img{
	transition: all 0.3s linear;
	}
section a:hover img{
	transform:scale(1.1);
	}
.btn a{
	text-align: center;
	display: block;
	transition: all 0.2s linear;
	color: #fff;
	background-color: #028a4a;
	line-height: 2.5em;
	text-decoration: none;
	width: 200px;
	margin: 0 auto;
	border-radius: 10px;
}
.btn a:hover,.btn a:active{
	background-color: #02aa60;
	text-decoration: none;
}
.btn2 a{
	text-align: center;
	display: block;
	transition: all 0.2s linear;
	color: #fff;
	border: 2px solid #fff;
	line-height: 2.5em;
	text-decoration: none;
	width: 200px;
	margin: 1.5em auto 0;
	border-radius: 10px;
}
.btn2 a:hover,.btn2 a:active{
	background-color: rgba(2,138,74,0.60);
	text-decoration: none;
}
#tec_t ul li a{
	transition: all 0.2s linear;
	display: block;
	border: 1px solid #028a4a;
	background-color: #fff;
	color: #028a4a;
	font-size: 125%;
	text-decoration: none;
	padding: 2em 0;
}
#tec_t ul li a:hover,#tec_t ul li a:active{
	background-color: #A0D4BC;
}
#f_menu dl dd a{
	transition: all 0.2s linear;
	color: #028a4a;
	text-decoration: none;
	font-size: 150%;
}
#f_menu dl dd a:hover,#f_menu dl dd a:active{
	color: #02aa60;
	text-decoration: none;
}
#f_menu ul li a{
	text-decoration: none;
	color: #028a4a;
	transition: all 0.2s linear;
}
#f_menu ul li a:hover,#f_menu ul li a:active{
	text-decoration:none;
	color: #02aa60;
}
		
/*ヘッダー*/
header {
	width:100%;
	position: relative;
}
#h_top{
	margin:0 auto;
	display: flex;
	justify-content:space-between;
}
#h_top h1{
	width:25%;
	position: relative;
}
#h_top h1 img{
	position: absolute;
	top: 50%;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	width: 252px;
}
#top_menu{
	width: 75%;
}
#message{
	width: 80%;
	position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 11;
	font-size: 300%;
	color: #fff;
	text-align: center;
	font-family: "游明朝体", "Yu Mincho";
	text-shadow: 
	black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
}
.flexslider{
	z-index: 0;
}
#s_wrap{
	width: 100%;
	z-index: 1;
	position: absolute;
	bottom:0;
}
#s_wrap img{
	width: 100%;
	height: 20px;
	vertical-align: bottom;
}

/*メイン*/

/*effect関連*/
.effect h2{
	transition: .8s ease-in;
	transition-delay: 0s;
}
.effect ul,.effect div,.effect p{
	transition: .8s ease-in;
	transition-delay: 250ms;
}

h2{
	text-align: center;
}
h2 dl{
	font-size: 150%;
	font-weight: normal;
	-webkit-transform: skewX(150deg);
-moz-transform: skewX(150deg);
transform: skewX(150deg);
border-right: 1px solid #028a4a;
border-left: 1px solid #028a4a;
	display: inline-block;
	padding: 0 4%;
}
h2 dt{
	transform: skewX(-150deg);
	display: block;
	margin: 0 8px 0 0;
}
h2 dd{
	transform: skewX(-150deg);
	font-size: 50%;
	color: #028a4a;
	display: block;
	margin: 0 0 0 16px;
}
h3{
	margin: 0 auto;
	font-weight: normal;
	text-align: center;
	color: #fff;
}
h3 span{
	font-size: 150%;
	display: block;
}
#info,#works{
	margin: 3.5em auto;
	text-align: left;
}
#info ul{
	width: 900px;
	margin: 3em auto;
}
#info ul li:nth-child(n+2){
	margin: 1em 0 0;
}
#info ul li dl{
	display: flex;
	justify-content:space-between;
}
#info ul li dl dt{
	width: 13%;
	color: #028a4a;
}
#info ul li dl dd{
	width: 85%;
}
#info ul li dl dd a{
	color:#028a4a;
	text-decoration: none;
}
#info ul li dl dd a:hover,#info ul li dl dd a:active{
	text-decoration:underline;
}
#tec_t{
	width: 100%;
	padding: 3.5em 0;
	text-align: left;
	background-image:url(../img/top/back01.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size:cover;
}
#tec_t ul{
	width: 900px;
	margin: 2em auto 3em;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	text-align: center;
}
#tec_t ul li{
	width: 45%;
}
#tec_t ul li img{
	width: 124px;
	display: block;
	margin: 0 auto;
}
#tec_t p,#works p{
	margin: 3em auto 0;
	text-align: center;
}
#works ul{
	width: 100%;
	margin: 2em auto 3em;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	text-align: center;
}
#works ul li{
	width: 33.333%;
	background-color: #f7f8f8;
}
#works ul li:nth-child(odd){
	background-color: #f4f4f5;
}
#works ul li dl dt{
	position: relative;
	z-index: 0;
	overflow:hidden;
}
#works ul li dl dt span{
	position:absolute;
	top:0;
	left:0;
	padding: 0.25em 2%;
	color: #fff;
	z-index: 1;
	font-size: 80%;
}
#works ul li dl dd{
	padding: 0.5em 2% 0.5em;
	text-align: left;
}
.green{
	background-color: #028a4a;
}
.gray{
	background-color: #636363;
}
.blue{
	background-color: #02528a;
}
#recruit{
	width: 100%;
	padding: 3.5em 0;
	text-align: left;
	background-image: url(../img/top/back02.png);
	background-color: #028a4a;
	background-position: center center;
	background-repeat: no-repeat;
	background-size:cover;
}
/*フッター*/
footer{
	width: 100%;
	background-image: url(../img/base/footer_img.png);
	background-repeat: repeat-x;
	background-position: center top;
	background-size: 641px auto;
	padding: 8em 0 0;
}
#f_menu{
	margin: 0 auto 4em;
	display: flex;
	flex-direction: row;
	font-size: 83%;
}
#f_menu dl{
	width: 40%;
	text-align: left;
}
#f_menu dl dt{
	width: 184px;
	margin: 0 0 1em;
}
#f_menu dl dd{
	vertical-align: middle;
}
#f_menu dl dd span{
	background-color: #028a4a;
	color: #fff;
	padding: 0.25em 2%;
	margin: 0 10px 0 0;
}
#f_menu dl dd span.fax{
	background-color: #fff;
	color: #028a4a;
	text-decoration: none;
	font-size: 150%;
	padding:0;
	margin:0;
}

#f_menu ul{
	width: 30%;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}
#f_menu ul li{
	width: 48%;
}
#f_menu ul li:nth-child(n+2){
	margin: 0 0 0 1%;
}
address{
	color: #fff;
	width:100%;
	background-color: #028a4a;
	font-size: 80%;
	padding: 0.5em 0;
	font-style: normal;
	}
address span{
	display: block;
	margin: 0 auto;
	}
/*TOPへ戻るボタン設定*/
#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	font-size: 90%;
	z-index: 999;
}
#page-top a {
	background-color: #fff;
	text-decoration: none;
	color: #028a4a;
	width: 100px;
	padding-top: 0.5em;
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 0.5em;
	text-align: center;
	display: block;
	transition: all 0.2s linear;
	border: 2px solid #028a4a;
	border-radius: 10px;
}
#page-top a:hover {
	text-decoration: none;
	background-color: #A0D4BC;
	color: #028a4a;
}
	
		

/*共通設定ここまで-------------------------------------------------------------------------------------------------------------------------------------*/

/* pc */
@media screen and (min-width: 1300px)  {

/*ヘッダー*/
#h_top{
	width:1280px;
}
	
/*メイン*/
h3,#info,#works,#tec_t p,#works p{
	width: 1280px;
}

/*フッター*/
#f_menu,address span{
	width: 1280px;
}
}

/* tablet以下共通 ------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 1299px)  {
	
/*ヘッダー*/
#h_top{
	width:96%;
}
	
/*メイン*/
h3,#info,#works,#tec_t p,#works p{
	width:96%;
}
/*フッター*/
#f_menu,address span{
	width: 96%;
}

}
/* tablet以下共通ここまで ------------------------------------------------------------------------------------------*/

/* 899px以下共通 ------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 899px)  {
	
/*メイン*/
#info ul,#tec_t ul{
	width: 96%;
}
}
/* 899px以下共通ここまで ------------------------------------------------------------------------------------------*/



/* tablet1 */
@media only screen and (min-width: 1024px) and (max-width: 1299px)  {

/*基本設定*/
html{
	font-size: 16px;
	}

/*ヘッダー*/
#h_top h1{
	width:40%;
}
/*メイン*/

}


/* tablet2  */
@media only screen and (min-width: 768px) and (max-width: 1023px) {

/*基本設定*/
html{
	font-size: 85%;
	line-height:1.5;
	position: relative;
	}
	
	
/*ヘッダー*/
#h_wrapper{
	width: 100%;
		position: fixed;
		top:0;
	background-color: #fff;
	z-index: 2;
	box-shadow: 0 3px 5px -3px rgba(0,0,0,0.5);
	}
#h_top{
		height:5em;
	}
.flexslider{
		margin: 5em 0 0!important;
	}

	
/*メイン*/
#v_bottom li{
	padding: 1em 0;
}
	
}

/* tablet3  */
@media only screen and (max-width: 767px) {

/*基本設定*/
html{
	font-size: 85%;
	}
	
/*リンク*/
#tec_t ul li a{
	padding: 0.5em 0;
}
	
/*ヘッダー*/
#h_wrapper{
	width: 100%;
		position: fixed;
		top:0;
	background-color: #fff;
	z-index: 2;
	box-shadow: 0 3px 5px -3px rgba(0,0,0,0.5);
	}
#h_top{
	width: 100%;
	margin:0;
	flex-direction:column;
	height:5em;
}
#h_top h1{
	width:100%;
	position: static;
}
#h_top h1 img{
	position:static;
	width: 230px;
	top: 50%;
  left: 5%;
  -webkit-transform: translate(5%, 0%);
	transform: translate(5%, 0%);
	padding: 1em 0;
}
#message{
	font-size: 200%;
}
.flexslider{
		margin: 5em 0 0!important;
	}
	
/*メイン*/
#info,#works{
	margin: 2.5em auto;
	text-align: left;
}
#info ul{
	margin: 2em auto;
}
#info ul li dl{
	flex-direction: column;
}
#info ul li dl dt{
	width: 100%;
}
#info ul li dl dd{
	width: 100%;
}
#tec_t{
	padding: 2.5em 0;
}
#tec_t ul{
	margin: 1em auto;
	flex-direction: column;
}
#tec_t ul li{
	width: 100%;
	text-align: left;
	position:relative;
}
#tec_t ul li:nth-child(n+2){
	margin: 1em 0 0;
}
#tec_t ul li img{
	width: 150px;
	display: inline;
	vertical-align: middle;
	padding: 0 20px 0 5%;
}
#tec_t ul li span{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
}
#tec_t p,#works p{
	margin: 2em auto 0;
	text-align: center;
}
#works ul{
	margin: 1em auto 2em;
	flex-direction: column;
}
#works ul li{
	width: 100%;
	background-color: #f7f8f8;
}
#works ul li:nth-child(n+2){
	margin: 1em 0 0;
}
#works ul li dl dt span{
	font-size: 100%;
	padding: 0.5em 2%;
}
#works ul li dl dd{
	padding: 0.5em 2% 1em;
}
#recruit{
	background-size:200% auto;
}
	
/*フッター*/
#f_menu{
	margin: 0 auto 4em;
	flex-direction: column;
	font-size: 100%;
}
#f_menu dl{
	width: 100%;
	text-align: left;
}
#f_menu ul{
	width: 100%;
	margin: 1em 0 0;
}
}

/* smartPhone1 */
@media only screen and (max-width: 499px) {
/*基本設定*/
html{
	font-size: 80%;
	}
	
	
/*リンク*/
	
/*ヘッダー*/
#h_top h1 img{
	padding: 0.75em 0;
}
#message{
	font-size: 180%;
}
	
/*メイン*/
main {
	padding: 0 0 2em;
}
#tec_t ul li img{
	width: 130px;
}
	
/*フッター*/
footer{
	width: 100%;
	padding: 8em 0 0;
}
#f_menu{
	margin: 0 auto 2em;
}
#f_menu ul{
	flex-direction: column;
}
#f_menu ul li{
	width: 100%;
}
}