@charset "utf-8";

/* clearfix */
.cf {
	zoom: 1;
}

.cf:before, .cf:after {
	content: "";
	display: table;
}

.cf:after {
	clear: both;
}



/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

  全デバイス共通のスタイルとスマートフォンおよび小型タブレット向けレイアウトの指定

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/


/**************************************************

 body

**************************************************/

body {
  width: 100%;
  background-color:#FFF;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color:#666;
	letter-spacing:0.1em;
}
stage {
	width:100%;
}
h1 {
	width:100%;
  margin:10px 0;
	font-size:10px;
	text-align:center;
	color:#666;
}
h2 {
	margin:100px 0 50px 0;
	padding:40px 0 10px 80px;
	font-size:20px;
	background:url(../images/mark_happyclover.png) no-repeat left; 
	border-bottom:3px dotted #80ba63;
}
h2.mrgTsmall {
	margin:50px 0;
	padding:40px 0 10px 80px;
	font-size:20px;
	background:url(../images/mark_happyclover.png) no-repeat left; 
	border-bottom:3px dotted #80ba63;
}
h3 {
	margin:0 0 15px;
	padding:10px 10px 5px;
	font-size:18px;
	font-weight:bold;
	line-height:1.6;
	background: #fafad2;
	border: 1px dashed #80ba63;
}
a {
  color:#666;
  text-decoration:none;
}
a:hover {
  color:#80ba63;
  text-decoration:none;
}
ul {
	  list-style-type:none;
}
.mrgR10 {
	margin-right:10px;
}
.mrgTB75 {
	margin:75px 0;
}
.textRight {
	text-align:right;
}
.btnContact {
	margin:35px auto;
	width:350px;
	max-width:90%;
	position: relative;
	z-index: 2;
	background-color: #80ba63;
	border: 3px solid #9acd32;
	color: #fff;
	text-align:center;
	line-height: 50px;
}
.btnContact:hover {
	background-color: #fff;
	border-color: #80ba63;
	color: #80ba63;
}
.btnContact::before,
.btnContact::after {
	top: 0;
	width: 50%;
	height: 100%;
	background-color: #80ba63;
}
.btnContact::before {
	right: 0;
}
.btnContact::after {
	left: 0;
}
.btnContact:hover::before,
.btnContact:hover::after {
	width: 0;
	background-color: #80ba63;
}



/**************************************************

 header

**************************************************/

header {
	width:100%;
  text-align:center;
  position:relative;
  overflow:hidden;
}
header ul#s_nav {
  margin:0 0 10px;
  position:relative;
  left:50%;
  float:left;
}
header ul#s_nav li {
  float:left;
  position:relative;
  left: -50%;
}
header ul#s_nav li a {
  display:block;
  font-size:0.9em;
  margin-right:20px;
}
header img {
  height:auto;
  max-width:234px;
}


/**************************************************

 mainImage

**************************************************/

div#mainImageWrap {
	width:100%;
	margin:0;
	padding:0;
	border-top:solid 5px #80ba63;
	border-bottom:solid 5px #80ba63;
}
div#mainImageWrap p {
  width:100%;
	margin:0 auto;
	padding:15px 0 6px 0;
	font-size:20px;
	color:#FFFFFF;
	font-weight:bold;
	background-color:#80ba83;
	text-align:center;
	vertical-align:middle;
	line-height:1.5;
}
div#mainImage {
	width:100%;
  text-align:center;
}
div#mainImage img {
  width:100%;
  height:auto;
  max-width:960px;
}



/**************************************************

 グローバルナビゲーションのスタイル（今は設定なし、いずれページが増えたら）

**************************************************/

nav ul {
  margin-bottom: 15px;
}
nav ul li {
  text-align: center;
  float: left;
  width: 50%;
  border-bottom: 2px solid #000;
}
nav ul li:nth-child(odd) {
  width: 49%;
  border-right: 1px dotted #000;
}
nav ul li a{
  display: block;
  width: 100%;
}



/**************************************************
 
 コンテンツエリア全体のスタイル

**************************************************/

div#contents {
	width:100%;
  margin:15px 0;
	padding:0;
	overflow:hidden;
	height:100%;
}



/**************************************************

 コンテンツ --> subImage

**************************************************/

div#subImage {
	width:100%;
	margin:25px 0 75px;
  text-align:center;
	background:none;
}
div#subImage img {
  width:100%;
  height:auto;
  max-width:960px;
}
div#subImage p {
	margin:0;
	padding:0;
}



/**************************************************

 コンテンツ --> messageWrap

**************************************************/

section#messageWrap {
	width:100%;
	margin:50px auto;
	padding:0;
	max-width:960px;
}
section#messageWrap p {
	margin:0 8%;
	font-size:15px;
	line-height:1.6;
}
section#messageWrap .txtL {
	font-size:20px;
	font-weight:bold;
	text-shadow:
	-1px -1px 0px #CCC,
	1px -1px 0px #CCC,
	1px 1px 0px #CCC,
	-1px 1px 0px #CCC,
	2px 2px 4px rgba(0, 0, 0, 0.5);
}



/**************************************************

 コンテンツ --> worksWrap

**************************************************/

section#worksWrap {
	margin:0 auto;
	padding:0;
	width:100%;
	max-width:960px;
	overflow:hidden;
	height:100%;
}
section#worksWrap article {
  margin:15px 0;
  text-align: center;
  width: 100%;
  float: left;
}
section#worksWrap article img {
  max-width: 94%;
  max-height: 270px;
  border:2px solid #9acd32;
} 
section#worksWrap article p {
  text-align:center;
  font-size:14px;
  font-weight: bold;
  line-height:1.6em;
  padding:15px;
}



/**************************************************

 コンテンツ --> planWrap

**************************************************/

section#planWrap {
	margin:0 auto;
	padding:0;
	width:100%;
	max-width:960px;
	line-height:1.6;
}
div#planWrapS {
  display:-webkit-box;
  display:-moz-box;
  display:-ms-box;
  display:-webkit-flexbox;
  display:-moz-flexbox;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:-ms-flex;
  display:flex;
  -webkit-box-lines:multiple;
  -moz-box-lines:multiple;
  -webkit-flex-wrap:wrap;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}
section#planWrap article {
  margin:0 0 50px;
	text-align: center;
  width: 100%;
	min-height:200px;
  float: left;
}
section#planWrap article p {
	margin:0 3%;
	font-size:15px;
	text-align:left;
}
section#planWrap article p.textPlanL {
	margin:15px 3% 5px;
	font-size:16px;
	font-weight:bold;
}
section#planWrap article p.textPlan {
	margin:15px 8% 5px;
	font-size:15px;
}
section#planWrap article .textAtn {
	font-size:13px;
	font-weight:bold;
}
section#planWrap article ul {
	margin:0 3% 0 10%;
	list-style-image:url(../images/mark_check.gif);
	font-size:15px;
	text-align:left;
}
section#planWrap article li {
	margin-bottom:5px;
	line-height:1.4;
}
div#planWrapAtn {
	width:94%;
	margin:0 3%;
}
div#planWrapAtn p {
	text-align:left;
}
div#planWrapAtn ul {
	margin-left:14px;
	list-style-type:none;
	font-size:14px;
	font-weight:bold;
	line-height:1.4;
}
div#planWrapAtn li {
	margin:10px 0;
}
div#planWrapAtn li:before {
	margin-left:-14px;
	content:"※";
}



/**************************************************

 コンテンツ --> snsWrap

**************************************************/

section#snsWrap {
	margin:0 auto;
	padding:0;
	width:100%;
	max-width:960px;
	line-height:1.6;
}
section#snsFacebook {
	margin:0 3% 50px;
	padding:5%;
	width:80%;
/*	min-width:500px; */
	text-align:center;
	border:solid 2px #9acd32;
  border-radius: 10px;        /* CSS3草案 */  
	-webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
  -moz-border-radius: 10px;   /* Firefox用 */  
}
section#snsTwitter {
	margin:0 3% 50px;
	padding:5%;
	width:80%;
	text-align:center;
	border:solid 2px #9acd32;
  border-radius: 10px;        /* CSS3草案 */  
	-webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
  -moz-border-radius: 10px;   /* Firefox用 */  
}



/**************************************************
 
 お問い合わせフォーム

**************************************************/

div#contactWrap {
	width:100%;
	margin:0;
	padding:0;
	border-top:solid 5px #80ba63;
}
section#formWrap {
	width:100%;
	margin:0 auto;
	color:#555;
	line-height:120%;
	font-size:90%;
}
section#formWrap p {
	margin:15px 0;
}
section#formWrap table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
section#formWrap table.formTable td,table.formTable th{
	border:1px solid #9acd32;
	padding:10px;
	vertical-align:top;
}
section#formWrap table.formTable th{
	width:30%;
	font-weight:normal;
	background:#80ba63;
	text-align:left;
	color:#FFF;
}
input.btnSend {
	margin:35px auto;
	width:150px;
	max-width:30%;
	position: relative;
	z-index: 2;
	background-color: #80ba63;
	border: 3px solid #9acd32;
	color: #fff;
	text-align:center;
	line-height: 30px;
}
input.btnSend:hover {
	background-color: #fff;
	border-color: #80ba63;
	color: #80ba63;
}
input.btnSend::before,
input.btnSend::after {
	top: 0;
	width: 50%;
	height: 100%;
	background-color: #80ba63;
}
input.btnSend::before {
	right: 0;
}
input.btnSend::after {
	left: 0;
}
input.btnSend:hover::before,
input.btnSend:hover::after {
	width: 0;
	background-color: #80ba63;
}
p.error_messe{
	margin:5px 0;
	color:red;
}
textarea {
	width:75%;
}



/**************************************************
 
 ページトップへボタンのスタイル

**************************************************/

#btnTop {
	/* ▼表示位置を画面の右下に固定*/
	position: fixed; /* ←表示場所を固定*/
	bottom: 50px;   /* ←下端からの距離 */
	right: 18px;    /* ←右端からの距離 */
	width: 10em;     /* ←横?E*/
	z-index:2;
	
	/* ▼最初は非表示にしておく */
	display: none;
	
	/* ▼配色・配置など */
	background-color: #80ba63; /* ←背景色 */
	opacity: 0.75;             /* ←透過度 */
	border-radius: 24px;       /* ←角丸の半径*/
	text-align: center;    /* ←文字位置 */
	font-size: 100%;       /* ←文字サイズ */
	font-weight: bold;     /* ←文字太字*/
	margin: 0px;    /* ←外側の余白 */
	padding: 10px;  /* ←内側の余白 */
}

#btnTop a {
	/* ▼リンクの指定 */
	color: white;          /* ←文字色 */
	text-decoration: none; /* ←下線なし*/
}

#btnTop a:hover {
	/* ▼マウスが載ったとき */
	color:#FFF500;              /* ←文字色 */
	text-decoration: underline; /* ←下線あり*/
}



/**************************************************
 
 フッターのスタイル

**************************************************/

footer {
  border-top:solid 5px #80ba63;
	text-align:center;
}
footer div {
  margin: 20px 0;
}
footer div p {
  font-size: 0.7em;
  line-height: 2.0em;
}
footer div small {
  font-size: 0.6em;
}



/**************************************************

 メディアクエリ

**************************************************/

/* PC向けおよび大型タブレット向けのレイアウトの指定：769px～960px */
@media only screen and (min-width: 769px) {
  header {
		margin:0;
		position:relative;
  	overflow:hidden;
		min-height:70px;
  }
	h1 {
		text-align:left;
	}
	h2 {
		font-size:24px;
	}
	h2.mrgTsmall {
		font-size:24px;
	}
	h3 {
		width:94%;
	}
  div#logoArea {
    text-align:left;
    width:280px;
    float:left;
  }
  nav {
    text-align: center;
    border-bottom: 3px double #000;
    margin: 10px auto 15px auto;
  }
  nav ul li {
    text-align: center;
    float: left;
    width: 16%;
    border-bottom: none;
    border-right: 1px dotted #000;
  }
  nav ul li:nth-child(odd) {
    width: 17%;
    border-bottom: none;
  }
  nav ul li.home {
    border-left: none;
    margin-left: 1px;
  }
  nav ul li.contact {
    border-right: none;
  }
  nav ul li a{
    display: block;
  }
	div#subImage {
		width:100%;
		height:825px;
		margin:75px 0;
  	text-align:center;
		background:url(../images/image_sub_w960.jpg) top center no-repeat;
	}
	div#subImage img {
  	width:100%;
	  height:auto;
  	max-width:960px;
    display:none;
    text-align:center;
	}
	div#subImage p {
		margin:0;
		padding-top:750px;
	}
  section#worksWrap article {
    width: 50%;
  }
	section#planWrap article {
		width:50%;
	} 
  section#snsFacebook {
		margin:0 3% 50px;
		padding:3%;
    width: 40%;
    float: left;
  }
  section#snsTwitter {
		margin:0 3% 50px 0;
		padding:3%;
    width: 33%;
    float: right;
  }
	section#formWrap {
		margin:0 auto;
	}

}


/* PC向けレイアウトの指定：961px以上では固定レイアウト */
@media only screen and (min-width: 961px) {
  header {
	  position:relative;
  	overflow:hidden;
    width:960px;
    margin:0 auto;
  }
	h1 {
		text-align:left;
	}
	h2 {
		font-size:24px;
	}
	h2.mrgTsmall {
		font-size:24px;
	}
 	h3 {
		width:94%;
	}
 div#logoArea {
    text-align:left;
    width:280px;
    float:left;
  }
  div#mainImage {
    width:960px;
    margin:0 auto;
		padding:0;
  }
  nav {
    max-width: 960px;
  }
  nav ul{
    margin-left: auto;
    margin-right: auto;
  }
  nav ul li:nth-child(odd) {
    border-bottom: none;
  }
  nav ul li.home {
    border-left: 1px dotted #000;
  }
  nav ul li.contact {
    border-right: 1px dotted #000;
  }
	div#subImage {
		width:100%;
		height:825px;
		margin:75px 0;
  	text-align:center;
		background:url(../images/image_sub_w960.jpg) top center no-repeat;
	}
	div#subImage img {
  	width:100%;
	  height:auto;
  	max-width:960px;
    display:none;
    text-align:center;
	}
	div#subImage p {
		margin:0;
		padding-top:750px;
	}
  section#worksWrap article {
    width: 50%;
  }
	section#planWrap article {
		width:50%;
	} 
  section#snsFacebook {
		margin:0 3% 50px;
		padding:3%;
    width: 40%;
    float: left;
  }
  section#snsTwitter {
		margin:0 3% 50px 0;
		padding:3%;
    width: 33%;
    float: right;
  }
	section#formWrap {
		margin:0 auto;
		width:960px;
	}

}