@charset "utf-8";

/*---page_top---*/

/*PC用*/
@media screen and (min-width:641px) {

/*----Wrapper---*/

#wrapper {
	background:url(../images/top/bg02.png) no-repeat center top;
}

/*----Keyvisual---*/

#keyvisual .visual_inner {
	background:none;
	margin:0 auto;
	padding:47px 0 0 30px;
	width:1180px;
	height:503px;
	position:relative;
}
#keyvisual .visual_inner ul {
	padding:0;
	font-size:26px;
	height:477px;
}
#keyvisual .visual_inner .slides_contact  {
position: relative;
    width: 96%!important;
}
#keyvisual .visual_inner .slides_contact span  {
position: absolute;
bottom: 138px;
right:19px;
}

/* 追加 20150513 */
.countar {
	background:url(../images/top/countar_bg.png) no-repeat;
	position:absolute;
	height: 214px;
	width: 240px;
	top: 312px;
	right: -24px;
	z-index: 10000;
	display: none;
}

.countar .countar_inner {
    position: relative;
}

.countar .countar_inner p.countar01 {
    position: absolute;
    display: block;
    text-align: right;
    color: #fff;
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 18px;
    top: 44px;
    right: 5px;
}

.countar .countar_inner p.countar02 {
    position: absolute;
    display: block;
    text-align: right;
    color: #fff;
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 18px;
    top: 107px;
    right: 5px;
}

/*----Maincolumn---*/

#maincolumn {
	padding: 0px 0 0 0;
}
#maincolumn h3 {
	margin-bottom:10px;
	padding:0;
	height:auto;
}
#maincolumn .consultation {
	position: relative;
}
#maincolumn .consultation span {
	position: absolute;
    bottom: 30px;
    right: 189px;
}
#maincolumn .introduce {
	position: relative;
}
#maincolumn .introduce span {
	position: absolute;
    bottom: 26px;
    left: 73px;

}
#maincolumn #reason {
	float: left;
	margin: 0;
	padding: 0 0 30px;
	width: 600px;
}
#maincolumn #reason .menu_construction {
	background:url(../images/top/bg01.jpg) no-repeat;
	padding:0 0 22px 18px;
}
#maincolumn #reason .menu_construction li {
	float:left;
	margin-right:14px;
	width:179px;
	font-size:16px;
	font-weight:bold;
	text-align:center;
}
#maincolumn #reason .menu_construction li a {
	color:#48352d;
	text-decoration:none;
}
#maincolumn #reason .menu_construction li a:hover {
	color:#aaaaaa;
}
#maincolumn #reason .menu_construction li img {
	vertical-align:top;
}
#maincolumn #reason .menu_construction li span.ttl_const01,
#maincolumn #reason .menu_construction li span.ttl_const02,
#maincolumn #reason .menu_construction li span.ttl_const03 {
	display:block;
	padding:22px 0 0 0;
	height:30px;
}
#maincolumn #reason .menu_construction li span.ttl_const01 {
	background:url(../images/top/bg_const01.jpg) no-repeat;
}
#maincolumn #reason .menu_construction li span.ttl_const02 {
	background:url(../images/top/bg_const02.jpg) no-repeat;
}
#maincolumn #reason .menu_construction li span.ttl_const03 {
	background:url(../images/top/bg_const03.jpg) no-repeat;
}
#maincolumn #top_news {
	float: right;
	margin: 0;
	padding: 0 0 30px;
	width: 230px;
}
#maincolumn #top_news h3 {
	margin: 0;
}
#maincolumn #top_news .news_inner {
	background:url(../images/top/bg02.jpg) no-repeat;
	padding:0 10px 30px;
}
#maincolumn #top_news .news_inner .news_inner_box {
	height: 265px;
	overflow:auto;
	margin-bottom: 20px;
}
#maincolumn #top_news .news_inner .news_inner_box dl {
	margin:0 0 20px;
	width:185px;
	clear:both;
}
#maincolumn #top_news .news_inner .news_inner_box dt {
	background:url(../images/top/ico_top_news.png) no-repeat left center;
	padding:0 0 0 13px;
	color:#4c9a00;
	font-weight:bold;
}
#maincolumn #top_news .news_inner .news_inner_box dd {
	padding:0 0 0 13px;
}
#maincolumn #top_news .news_inner .news_inner_box dd a {
	color:#48352d;
}
#maincolumn #top_news .news_inner .news_inner_box dd a:hover {
	color:#aaaaaa;
}
#maincolumn #top_case {
	margin: 0 0 30px;
	clear:both;
	overflow:hidden;
}
#maincolumn #top_case h3 {
	margin-bottom:20px;
}
#maincolumn #top_case ul {
	width:865px;
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
#maincolumn #top_case ul li {
	background:#FFFFFF;
	float:left;
	margin-right:14px;
	padding:9px 9px 14px;
	width:182px;
	text-align:center;
	border:1px solid #C6C6C6;
}
#maincolumn #top_case ul li span.case_pic {
	display:block;
	margin-bottom:13px;
}
#maincolumn #top_case ul li span.case_pic img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    object-position: center;
}
#maincolumn #top_case ul li span.category{
	border: 1px solid #2F2820;
	display: table;
	margin-bottom: 10px;
	padding:0 5px;
}
#maincolumn #top_case ul li span.case_txt {
	display:block;
	margin-bottom:12px;
	padding:0 3px;
	text-align:left;
}
#maincolumn #top_case ul li span.d_txt{
	display: block;
	margin:12px 0;
	padding:0 3px;
	text-align:left;
}
#maincolumn #top_case ul li span.case_btn {
	display:block;
}
#maincolumn #top_blog {
	margin: 0 0 35px;
	clear:both;
}
#maincolumn #top_blog h3 {
	margin-bottom:24px;
}
#maincolumn #top_blog .m_l21 {
	margin-left:-21px;
}
#maincolumn #top_blog .box {
	float:left;
	background:#FFFFFF;
	padding:10px;
	margin-left:21px;
	width:393px;
	border:1px solid #C6C6C6;
}
#maincolumn #top_blog .box .blog_pic {
	float:left;
	width:160px;
}
#maincolumn #top_blog .box .blog_pic img{
	width: 100%;
	height: 120px;
	object-fit: cover;
	object-position: center;
}
#maincolumn #top_blog .box .blog_txt {
	float:right;
	width:215px;
	line-height:180%;
}
#maincolumn #top_blog .box .blog_txt span {
	color:#4c9a00;
	font-size:14px;
	font-weight:bold;
}
#maincolumn #top_astrength {
	margin: 0 0 30px;
	position:relative;
	clear:both;
}
#maincolumn #top_astrength .txt {
	width:510px;
	color:#FFFFFF;
	font-size:14px;
	line-height:180%;
	position:absolute;
	left:18px;
	top:150px;
}
#maincolumn #top_faq {
	margin: 0 0 30px;
	clear:both;
}
#maincolumn #top_faq h3 {
	margin-bottom:0;
}
#maincolumn #top_faq ul {
	background:#FFFFFF;
	padding:20px 0 24px 28px;
}
#maincolumn #top_faq ul li {
	background:url(../images/top/img_q.jpg) no-repeat left center;
	float:left;
	padding:0 0 0 30px;
	width:360px;
	font-size:14px;
	font-weight:bold;
	line-height:220%;
}
#maincolumn #top_faq ul li a {
	text-decoration:none;
}

#maincolumn .top_seo {
  line-height: 1.8;
  font-size: 14px;
  background: #FFFFFF;
  padding: 20px 0 24px 28px;
}

}

/*SP用*/
@media screen and (max-width:640px) {

/*----Keyvisual---*/

#keyvisual .visual_inner {
	background:none;
	margin:0 auto;
	padding: 0;
	width: 100%;
	height: 97vw;
	position:relative;
}
#keyvisual .visual_inner ul {
	padding:0;
	font-size:26px;
}
#keyvisual .visual_inner .slides_contact  {
	position: relative;
}
#keyvisual .visual_inner .slides_contact span  {
	width: 39vw;
	position: absolute;
	bottom: 19vw;
	right: 13vw;
}
#keyvisual .visual_inner ul.flex-direction-nav{
	display: none;
}

.countar {
	display: none;
}

/*----Maincolumn---*/

#maincolumn {
	padding: 0px 0 0 0;
}
#maincolumn h3 {
	margin-bottom:10px;
	padding:0;
	height:auto;
}
#maincolumn h4 img {
	width: 100%;
	height: 11.5vw;
	object-fit: cover;
}
#maincolumn .consultation {
	position: relative;
}
#maincolumn .consultation span {
	width: 60vw;
	position: absolute;
    bottom: 15px;
    right: 20vw;
}
#maincolumn .introduce {
	position: relative;
}
#maincolumn .introduce span {
	position: absolute;
    bottom: 26px;
    left: 73px;

}
#maincolumn #reason {
	margin: 0;
	padding: 0 0 30px;
	width: 100%;
}
#maincolumn #reason h3 {
	margin: 0 0 30px;
}
#maincolumn #reason .menu_construction {
	background-color: #fff;
	padding: 10px 0;
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
}
#maincolumn #reason .menu_construction li {
	margin: 0 2% 10px;
	width: 46%;
	font-size:16px;
	font-weight: 700;
	text-align:center;
}
#maincolumn #reason .menu_construction li a {
	color:#48352d;
	text-decoration:none;
}
#maincolumn #reason .menu_construction li a:hover {
	color:#aaaaaa;
}
#maincolumn #reason .menu_construction li img {
	vertical-align:top;
}
#maincolumn #reason .menu_construction li span.ttl_const01,
#maincolumn #reason .menu_construction li span.ttl_const02,
#maincolumn #reason .menu_construction li span.ttl_const03 {
	display:block;
	padding:20px 0 10px;
}
#maincolumn #reason .menu_construction li span.ttl_const01 {
	background:url(../images/top/bg_const01.jpg) no-repeat center center;
}
#maincolumn #reason .menu_construction li span.ttl_const02 {
	background:url(../images/top/bg_const02.jpg) no-repeat center center;
}
#maincolumn #reason .menu_construction li span.ttl_const03 {
	background:url(../images/top/bg_const03.jpg) no-repeat center center;
}
#maincolumn #top_news {
	margin: 0;
	padding: 0 0 30px;
	width: 100%;
}
#maincolumn #top_news h3 {
	margin: 0;
}
#maincolumn #top_news h3 img {
	height: 68px;
}
#maincolumn #top_news .news_inner {
	padding:0 10px 30px;
}
#maincolumn #top_news .news_inner .news_inner_box {
	margin-bottom: 20px;
}
#maincolumn #top_news .news_inner .news_inner_box dl {
	display: none;
}
#maincolumn #top_news .news_inner .news_inner_box dl:nth-child(1),
#maincolumn #top_news .news_inner .news_inner_box dl:nth-child(2),
#maincolumn #top_news .news_inner .news_inner_box dl:nth-child(3) {
	margin:0 0 10px;
	width: 100%;
	display: block;
}
#maincolumn #top_news .news_inner .news_inner_box dt {
	background:url(../images/top/ico_top_news.png) no-repeat left center;
	padding:0 0 0 13px;
	color:#4c9a00;
	font-weight: 700;
}
#maincolumn #top_news .news_inner .news_inner_box dd {
	padding:0 0 0 13px;
}
#maincolumn #top_news .news_inner .news_inner_box dd a {
	color:#48352d;
}
#maincolumn #top_news .news_inner .news_inner_box dd a:hover {
	color:#aaaaaa;
}
#maincolumn #top_news p {
	text-align: center;
}
#maincolumn #top_case {
	margin: 0 0 30px;
	clear:both;
	overflow:hidden;
}
#maincolumn #top_case h3 {
	width: 100%;
	margin-bottom:20px;
	overflow: hidden;
}
#maincolumn #top_case h3 img {
	width: 100%;
	height: 46px;
	object-fit: cover;
	object-position: -5px 0;
}
#maincolumn #top_case ul {
	width: 94%;
	margin: 0 auto;
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
#maincolumn #top_case ul li {
	background:#FFFFFF;
	margin: 0 1%;
	padding:9px 9px 14px;
	width: 48%;
	text-align:center;
	border:1px solid #C6C6C6;
}
#maincolumn #top_case ul li span.case_pic {
	display:block;
	margin-bottom:13px;
}
#maincolumn #top_case ul li span.case_pic img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	object-position: center;
}
#maincolumn #top_case ul li span.case_txt {
	display:block;
	margin-bottom:12px;
	padding:0 3px;
	text-align:left;
}
#maincolumn #top_case ul li span.case_btn {
	display:block;
}
#maincolumn #top_blog {
	margin: 0 0 35px;
	clear:both;
}
#maincolumn #top_blog h3 {
	margin-bottom:24px;
}
#maincolumn #top_blog h3 img {
	width: 100%;
	height: 46px;
	object-fit: cover;
	object-position: -5px 0;
}
#maincolumn #top_blog .box {
	background:#FFFFFF;
	padding: 5px;
	margin: 0 auto 10px;
	width: 94%;
	border:1px solid #C6C6C6;
	overflow: hidden;
}
#maincolumn #top_blog .box .blog_pic {
	float:left;
	width: 35%;
}
#maincolumn #top_blog .box .blog_pic img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	object-position: center;
}
#maincolumn #top_blog .box .blog_txt {
	float:right;
	width:62%;
	line-height:180%;
}
#maincolumn #top_blog .box .blog_txt span {
	color:#4c9a00;
	font-size:14px;
	font-weight: 700;
}
#maincolumn #top_astrength {
	margin: 0 0 30px;
	background-color: #2F2820;
}
#maincolumn #top_astrength .txt {
	width: 90%;
	color:#FFFFFF;
	font-size:14px;
	line-height:180%;
	margin: -50px auto 0;
	padding: 0 0 30px;
}
#maincolumn #top_faq {
	width: 96%;
	margin: 0 auto 30px;
}
#maincolumn #top_faq h3 {
	width: 100%;
	margin-bottom: 0;
	overflow: hidden;
}
#maincolumn #top_faq h3 img {
	width: 100%;
	height: 47px;
	object-fit: cover;
	object-position: 0;
}
#maincolumn #top_faq ul {
	background:#FFFFFF;
	padding:20px 10px 24px;
}
#maincolumn #top_faq ul li {
	background:url(../images/top/img_q.jpg) no-repeat left 5px;
	padding:0 0 0 30px;
	font-size:14px;
	font-weight: 700;
	line-height:200%;
}
#maincolumn #top_faq ul li a {
	text-decoration:none;
}

#maincolumn .top_seo {
  line-height: 1.8;
  font-size: 14px;
  background: #FFFFFF;
  width: 96%;
  margin: 0 auto;
  padding: 20px 15px;
}

}

#top_area{
	margin-bottom: 40px;
}
#top_area h2 {
	background: url(../images/bg_h3.jpg) no-repeat;
	margin-bottom: 30px;
	padding: 15px 0 0 53px;
	height: 31px;
	color: #ffffff;
	font-size: 19px;
	line-height: 120%;
}
#top_area .imgarea{
	margin-bottom: 20px;
}
#top_area dl {
	margin: 0;
}
#top_area dl .area_list_i{
	margin-bottom: 20px;
}
#top_area dt{
	background: url(../images/area_sub_ttl.png) no-repeat;
    margin-bottom: 15px;
    padding: 19px 0 8px 50px;
    /* height: 31px; */
    color: #ffffff;
    font-size: 16px;
    line-height: 120%;
    box-sizing: border-box;
}
@media screen and (max-width:641px) {
	#top_area h2 {
		font-size: 15px;
		background-position: -5px;
		margin-bottom: 20px;
	}
	#top_area .top_map_w{
		padding: 0 10px;
	}
}

#top_grants {
	margin-bottom: 40px;
}
#top_grants h2 {
	background: url(../images/bg_h3.jpg) no-repeat;
	margin-bottom: 30px;
	padding: 15px 0 0 53px;
	height: 31px;
	color: #ffffff;
	font-size: 19px;
	line-height: 120%;
}
#top_grants .lead_txt{
	margin-bottom: 20px;
}
#top_grants table{
	width: 100%;
	background: #fff;
	margin-bottom: 30px;
}
@media screen and (max-width:641px) {
	#top_grants h2 {
		font-size: 15px;
		background-position: -5px;
		margin-bottom: 20px;
	}
	#top_grants .top_grants_w{
		padding: 0 10px;
	}
	#top_grants table{
		border-top: 1px solid #48352d;
	}
	#top_grants table th,
	#top_grants table td{
		display: block;
		border-top: 0px;
		text-align: left;
	}
	#top_grants table td{
		border-top: 0px;
	}
}