@charset "utf-8";
@import url("reset.css");
@import url("m_menu.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,.entry a{
	text-align: center;
	display: block;
	transition: all 0.2s linear;
	color: #fff!important;
	background-color: #028a4a;
	line-height: 2.5em;
	text-decoration: none!important;
	width: 150px;
	margin: 0.5em auto 0;
	border-radius: 10px;
}
.btn a:hover,.btn a:active,.entry a:hover,.entry a:active{
	background-color: #02aa60;
	text-decoration: none!important;
}
.map a{
	text-align: center;
	transition: all 0.2s linear;
	color: #fff!important;
	background-color: #028a4a;
	line-height: 2.5em;
	text-decoration: none;
	margin: 0 auto;
	padding: 0 1.5%;
	border-radius: 10px;
}
.map a:hover,.map a:active{
	color: #fff!important;
	background-color: #02aa60;
	text-decoration: none!important;
}
#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;
	border-bottom: 2px solid #EFEEEE;
}
#h_top{
	margin:0 auto;
	display: flex;
	justify-content:space-between;
}
#h_top #logo{
	width:25%;
	position: relative;
}
#h_top #logo img{
	position: absolute;
	top: 50%;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	width: 252px;
}
#top_menu{
	width: 75%;
}

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

h1{
	margin: 0 auto;
	font-size: 150%;
	color: #fff;
	font-weight: normal;
	z-index: 0;
}
h1:after{
	display: block;
	font-size:16px;
}

#main_title{
	position: relative;
	width: 100%;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding: 5em 0;
	z-index: -2;
}
#main_title hr{
	border: none;
	position: absolute;
	top: 21%;
  left: -10%;
  -webkit-transform: translate(0%, -21%) scaleX(1);
	transform: translate(0%, -21%) scaleX(1);
	background-color: rgba(2,138,74,0.80);
	padding: 3em 0;
	width: 60%;
transform:skewX(150deg);
	z-index: -1;
}
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;
}

/*フッター*/
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;
}

/*下線アニメーション*/
@keyframes myframe {
  from {
  width: 0%;
  }
  to {
  width: 100%;
  }
}
.underline::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  height: 2px;
  background: #028a4a;
  animation: myframe 1s ease-in 1.5s both;
}
		

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

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

/*ヘッダー*/
#h_top{
	width:1280px;
}
	
/*メイン*/
h1,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%;
}
	
/*メイン*/
h1,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 #logo{
	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;
	}

/*メイン*/
	main{
		margin: 5em 0 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 #logo{
	width:100%;
	position: static;
}
#h_top #logo img{
	position:static;
	width: 230px;
	top: 50%;
  left: 5%;
   -webkit-transform: translate(5%, 0%);
	transform: translate(5%, 0%);
	padding: 1em 0;
}
	
/*メイン*/
main{
	margin: 5em 0 0;
	padding: 0;
	}
#main_title{
	background-size:cover;
	padding: 4em 0;
}
#main_title hr{
	display: block;
	position: absolute;
	top: 16%;
  -webkit-transform: translate(0%, -16%);
	transform: translate(0%, -16%);
	padding: 3em 0;
transform: skewX(150deg);
}
	
/*フッター*/
#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 #logo img{
	padding: 0.75em 0;
}
	
/*メイン*/
#main_title{
	padding: 3em 0;
	z-index: -2;
}
#main_title hr{
	width: 90%;
	top: 10%;
  -webkit-transform: translate(0%, -10%);
	transform: translate(0%, -10%);
	transform: skewX(150deg);
}
	
/*フッター*/
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%;
}
}