@charset "utf-8";
/* CSS Document */

/*----- header ----- */
header {
	padding: .5rem 0 0 0;
}
header .inner img{
	width: 100%;
}
header .inner{
	position: relative;
}
header h3{
	font-size: 0.8rem;
	position: absolute;
}
header h1{
	display: inline-block;
	margin: 1.3rem 0 0 0;
	width: 18.05rem;
}
header h2{
	display: inline-block;
	margin:1.1rem 0 0 0;
	width: 12.42rem;
	vertical-align: top;
}
header dl{
	display: inline-block;
	vertical-align: top;
}
header dt{
	font-size: 0.9rem;
	line-height: 1.2rem;
}
header dd{
	float: left;
	width: 18.25rem;
}
header dd:last-child{
	float: left;
	width: 19.13rem;
}
header h4{
	position: absolute;
	right: 0;
	top: .8rem;
}
header nav{
	text-align: center;
	margin: .8rem 0 1.2rem 0;
	background: url(../images/nav_bg.gif) repeat-x 0 top;
}
header nav li{
	display: inline-block;
}
header .drawer-toggle{
	display: none;
}	
	
/*----- footer ----- */
footer{
	text-align: center;
}
footer iframe{
	max-width: 1365px;
	width: 100%;
	height: 230px;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 2%;
}
footer dl{
	margin: 1.5rem 0;
}
footer dd{
	display: inline-block;
}
footer dd img{
	width: auto;
}
footer .privacy{
	border-top: solid 1px #e7e7e7;
	padding: 5px 0;
}
footer .privacy a{
	font-size: .9rem;
}
footer .privacy a:before{
	content: "　";
	background: url(../images/icon_p.png) no-repeat 0 0;
	width: 21px;
	height: 20px;
	margin-right: 0.5rem;
	display: inline-block;
}


/*----- 共通パーツ ----- */
.inner{
	max-width: 1365px;
	margin-left:auto;
	margin-right:auto;
}
a.btn01{
	background: #008f64;
	font-size: 1.25rem;
	font-weight: 800;
	color: #fff;
	padding:0.5rem 0.9rem 0.4rem 0.9rem;
	display: inline-block;
}
table{
	border: solid 1px #dbdbdb;
}
table th{
	width: 22%;
	text-align: center;
	vertical-align: middle;
	padding: 0.5rem 1.1rem;
	background: #d1edb2;
	border-bottom: solid 1px #dbdbdb;
}
table td{
	vertical-align: middle;
	padding: 0.5rem 1.1rem;
	border-bottom: solid 1px #dbdbdb;
	font-size: .9rem;
}
.main_vis_under {
	position: relative;
	max-width: 1365px;
	width: 100%;
	min-height: 162px;
	margin-left: auto;
	margin-right: auto;
}
.main_vis_under h2{
	position: absolute;
	left: 30px;
	top: 35%;
}
.ttl01{
	background: url(../images/bg01.png) no-repeat 0 0,
		url(../images/bg02.png) repeat-x 0 bottom;
	font-size: 1.6rem;
	font-weight: 600;
	color: #008f64;
	padding: 0 0 0.2rem 1.2rem;
	margin-top: -0.1rem;

}

.recruit_01 .ttl01 span {
	color: #cc003d;
	margin: 0 0 0 .6em;
}

.ttl02{
	background: url(../images/faq/icon.png) no-repeat 0 0.7rem;
	border-bottom: solid 2px #008f64;
	font-size: 1.3rem;
	font-weight: 600;
	color:#008f64;
	padding: 0 0 0 1.2rem;
}
.pc_only{display: inline;}
.sp_only{display: none;}


/* --------------------
	   index.html
--------------------- */
.main_vis{
	background: url(../images/main.png) no-repeat center center;
	background-size: cover;
	width: 100%;
	min-height: 420px;
	position: relative;
}
.main_vis h2{
	position: absolute;
	left: 0;
	right: 0;
	top: 30%;
	bottom: 0;
	text-align: center;
}
.main_vis h2 img{
	max-width: 1046px;
	width: 90%;
	margin-right: 0;
	margin-left: 0;
}
.news{
	max-width: 1365px;
	margin: 0 auto 40px auto;
	border-bottom: solid 1px #008f64;
}
.news h3{
	width: 14%;
	text-align: center;
	float: left;
	padding: 3rem 0 0 0;
}
.news li{
	border-left: solid 1px #008f64;
	display: inline-block;
	width: 17%;
	padding: 0 2%;
	margin:2% -0.5rem 2% 0; 
	vertical-align: top;
}
.news li span{
	color: #008f64;
	font-size: .8rem;
	font-weight: 600;
}
.news li h4{
	font-weight: 600;
	font-size: .9rem;
	line-height: 1.4em;
}
.news li p{
	font-size: .8rem;
	line-height: 1.4em;
}
.top_01{
	text-align: center;
	margin: 0 auto 50px auto;
}
.top_01 h3{
	margin-bottom: 2%;
}
.top_01 h3 img{
	max-width: 983px;
	width: 90%;
}
.top_01 p{
	margin-bottom: 2%;
}
.top_01 h4 a.btn01{
	min-width: 230px;
}
.top_01 .middle_ph img{
	width: 100%;
	max-width: 1365px;
}
.top_02{
	text-align: center;
	margin: 0 auto 3% auto;
	padding-bottom: 3%;
	border-bottom: solid 3px #F2F2F2;
}
.top_02 .right table th{
	border-bottom: solid 1px #dbdbdb;
}
.top_02 h4 img{
	max-width: 1026px;
	width: 100%;
}
.top_03{
	margin: 0 auto 3% auto;
	padding-bottom: 3%;
}
.top_02,
.top_03{
	max-width: 1030px;
	margin-left:auto;
	margin-right:auto;
}
.top_02 .right,
.top_03 .right{
	width: 46.5%;
	display: inline-block;
	vertical-align: top;
	text-align: left;
}
.top_02 .right img,
.top_03 .right img,
.top_02 .left img,
.top_03 .left img{
	width: 100%;
}
.top_02 .left,
.top_03 .left{
	width: 46.5%;
	margin-right: 5.7%;
	display: inline-block;
	vertical-align: top;
	text-align: left;
}
.top_03 .left h4 img{
	width: 92%;
}
.top_03 .left a.btn01{
	min-width: 230px;
	text-align: center;
}
.menu {
	margin-bottom: 5%;
	max-width: 1365px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.menu li{
	display: inline-block;
	margin: .08rem -.1rem .08rem -.1rem;
	position:relative;
	width: 24.8%;
}
.menu li .bg img{
	width: 100%;
}
.menu li h6{
	text-align: center;
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	top: 24%;
}
.menu li h6 img{
	width: 50%;
}


/* --------------------
	  faq
--------------------- */
.main_vis_under.faq{
	background: url(../images/faq/main.jpg) no-repeat 37% 0;
}
.faq_01{
	max-width: 1030px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 4.5rem;
	margin-bottom: 5.5rem;
}
.faq_01 .inner{
	max-width: 930px;
	margin-top: 1.5rem;
}
.faq_01 .btn {
	margin: 2.0rem auto 4.0rem auto;
    /* text-align: center; */
    width: 45.5rem;
}
.faq_01 .btn li{
	display: inline-block;
}
.faq_01 a.btn01{
	width: 345px;
	display: inline-block;
	margin: 0 0.5rem 1rem 0.5rem;
    padding: 0.5rem 0 0.5rem 0;
	text-align: center;
}
.faq_01 dl{
	margin-bottom: 8.0rem;
}
.faq_01 dt{
	background: url(../images/faq/icon_q.png) no-repeat 2.5rem 3.2rem;
	padding: 3.5rem 0 1.5rem 5.5rem;
	font-weight: 600;
}
.faq_01 dd{
	background: url(../images/faq/icon_a.png) no-repeat 2.5rem 1.2rem;
	padding: 1.5rem 0 3.5rem 5.5rem;
	border-bottom: solid 2px #E6E6E6;
}
.faq_01 dd a{
	text-decoration: underline;
}


/* --------------------
	  recruit
--------------------- */
.main_vis_under.recruit{
	background: url(../images/recruit/main.png) no-repeat 34% 0;
}
.recruit_01 .btn {
	margin: 4.0rem 0 6.0rem 0;
	text-align: center;
}
.recruit_01 .btn li{
	display: inline-block;
}
.recruit_01 a.btn01{
	min-width: 288px;
	display: inline-block;
	margin: 0 0.5rem;
	text-align: center;
}
.recruit_01 .inner{
	max-width: 1030px;
	margin-left: auto;
	margin-right: auto;
}
.recruit_02 .inner{
	max-width: 910px;
	margin-left: auto;
	margin-right: auto;
	padding: 3.0rem 0;
}
.recruit_02 .left{
	width: 51%;
	margin-right: 8.0%;
	display: inline-block;
	vertical-align: top;
}
.recruit_02 .left h4{
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
}
.recruit_02 .left p{
	font-size: 0.9rem;
}
.recruit_02 .right{
	width: 40%;
	display: inline-block;
	vertical-align: top;
}
.recruit_02 .right img{
	width: 100%;
}
.recruit_02 table{
	width: 100%;
	margin: 5% 0;
}
.recruit_02 .contact_area{
	text-align: center;
	margin: 0 0 5.0rem 0;
}
.recruit_02 .contact_area li{
	display: inline-block;
}


/* --------------------
	  company
--------------------- */
.main_vis_under.company{
	background: url(../images/company/main.png) no-repeat 33% 0;
}
.company_01 .ttl01{
	max-width: 1030px;
	width: 90%;
	margin: 3.0rem auto 0 auto;
}
.company_01 .inner{
	max-width: 910px;
	margin: 3.0rem auto;
}
.company_01 .left{
	width: 53%;
	margin-right: 8.2%;
	display: inline-block;
	vertical-align: top;
}
.company_01 .left h4{
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
}
.company_01 .left p{
	font-size: 0.9rem;
}
.company_01 .right{
	width: 37%;
	display: inline-block;
	vertical-align: top;
}
.company_01 .right img{
	width: 100%;
}

.ceoImg {
	text-align: center;
}

.ceoImg img {
	max-width: 270px;
}

.company_01 table{
	width: 100%;
	margin: 5% 0;
}
.company_01 .googlemap iframe{
	max-width: 910px;
	width: 100%;
	height: 600px;
}



/* --------------------
	  works
--------------------- */
.main_vis_under.works{
	background: url(../images/works/main.png) no-repeat 30% 0;
}
.works_01 .ttl01{
	max-width: 1030px;
	width: 90%;
	margin: 3.0rem auto 0 auto;
}
.works_01 .inner{
	max-width: 910px;
	width: 90%;
	margin: 3.0rem auto;
}
.works_01 .left{
	width: 53%;
	margin-right: 8.2%;
	display: inline-block;
	vertical-align: top;
}
.works_01 .left h4{
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
}
.works_01 .left p{
	font-size: 0.9rem;
}
.works_01 .right{
	width: 37%;
	display: inline-block;
	vertical-align: top;
}
.works_01 .right img{
	width: 100%;
}
.works_01 ul{
	margin: 3.0rem 0 0 0;
}
.works_01 li{
	width: 31%;
	margin: 0 .4rem 2.8rem .4rem;
	display: inline-block;
	vertical-align: top;
}
.works_01 li img{
	width: 100%;
}
.works_01 li span{
	display: block;
	font-size: 0.8rem;
}
.inline_content{
	text-align: center;
	padding: 8% 7% 3% 7%;
}
.main_photo{
	max-width: 680px;
	width: 100%;
	margin: 0 auto;
}
.main_photo img{
	width: 100%;
}
.inline_content .comment{
	max-width:680px;
	margin: .5rem auto ;
	text-align: left;
	font-size: .9rem;
}



/* --------------------
	  strength
--------------------- */
.main_vis_under.strength{
	background: url(../images/strength/main.png) no-repeat 45% 0;
}
.strength_01 .ttl01{
	max-width: 1030px;
	width: 90%;
	margin: 3.0rem auto 0 auto;
}
.strength_01 .inner{
	max-width: 910px;
	width: 90%;
	margin: 3.0rem auto;
	text-align: center;
}
.strength_01 h4{
	margin: 0 0 1.5rem 0;
}
.strength_01 dl{
	margin: 1.5rem 0 5.5rem 0;
}
.strength_01 dd{
	font-size: .9rem;
	margin: 1.5rem 0 0 0;
}


/* --------------------
	  privacy
--------------------- */
.main_vis_under.privacy{
	background: url(../images/privacy/main.png) no-repeat 45% 0;
}
.privacy_01 .ttl01{
	max-width: 1030px;
	width: 90%;
	margin: 3.0rem auto 0 auto;
}
.privacy_01 .inner{
	max-width: 910px;
	width: 90%;
	margin: 3.0rem auto;
}
.privacy_01 p{
	font-size: 0.9rem;
}
.privacy_01 dl{
	margin: 0 0 4.0rem 0;
}
.privacy_01 dt{
	font-size: 1.0rem;
	font-weight: 600;
	color: #008f64;
	margin: 2.0rem 0 0 0;
}
.privacy_01 dd,
.privacy_01 dd li{
	font-size: 0.9rem;
}
.privacy_01 dd li:before{
	content: "・";
}


/* --------------------
	  business
--------------------- */
.main_vis_under.business{
	background: url(../images/business/main.png) no-repeat 34% 0;
}
.business_01 .ttl01{
	max-width: 1030px;
	width: 90%;
	margin: 3.0rem auto 0 auto;
}
.business_01 .inner{
	max-width: 910px;
	width: 90%;
	margin: 3.0rem auto;
}
.business_01 .left{
	width: 53%;
	margin-right: 8.2%;
	display: inline-block;
	vertical-align: top;
}
.business_01 .left h4{
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
}
.business_01 .left p{
	font-size: 0.9rem;
}
.business_01 .right{
	width: 37%;
	display: inline-block;
	vertical-align: top;
}
.business_01 .right img{
	width: 100%;
}
.business_01 .type_box{
	border: solid 1px #8cd33f;
	margin: 5% 0;
	padding: 5% ;
	box-shadow:0px 0px 4px -1px #e1e1e1;
	position: relative;
}
.frame01{
	position: absolute;
	left: -7px;
	top: -6px;
}
.frame02{
	position: absolute;
	right: -7px;
	bottom: -6px;
}
.business_01 .type_box .left{
	width: 61%;
	margin-right: 7.6%;
	display: inline-block;
}
.business_01 .type_box .left dd{
	font-size: 0.9rem;
	padding-top: 0.7rem;
}
.business_01 .type_box .right{
	width: 30%;
	margin-top: 4%;
	display: inline-block;
}
.business_01 h5{
	font-size: 1.3rem;
	font-weight: 600;
	margin-bottom: 2.0rem;
}
.business_01 h5 span{
	display: block;
	font-weight: 600;
}
.business_01 .management{
	width: 45%;
	display: inline-block;
	vertical-align: top;
	margin: 0 2%;
}
.business_01 .management dt .icon{
	background: #008f64;
	color: #fff;
	font-size:0.9rem;
	position: absolute;
	padding: 5px 13px; 
	left: 0;
	top: 10%;
	display: inline;
}
.business_01 .management dt{
	border-bottom: solid 2px #008f64;
	font-size: 1.1rem;
	font-weight: 600;
	color:#008f64;
	padding: 0.3rem 0 0 3.0rem;
	position: relative;
	line-height: 1.0em;
	display: block;
	min-height: 43px;
}
.business_01 .management dt span{
	font-weight: 600;
	font-size: 0.7rem;
}
.business_01 .management dd{
	margin:.5rem 0 3.0rem 0;
}
.business_01 .management li{
	font-size: .9rem;
	line-height: 1.5em;
} 
.business_01 .management li:before{
	content: "・";
}



/* --------------------
	  contact
--------------------- */
.main_vis_under.contact{
	background: url(../images/contact/main.png) no-repeat 37% 0;
}

.contact_01 .ttl01{
	max-width: 1030px;
	width: 90%;
	margin: 3.0rem auto 0 auto;
}
.contact_01 .inner{
	max-width: 910px;
	width: 90%;
	margin: 3.0rem auto;
}
.contact_01 table td{
	padding: 15px 12px 15px 12px;
}

/* --------------------
	  partner
--------------------- */
.main_vis_under.partner{
	background: url(../images/partner/main.png) no-repeat 45% 0;
}
.partner_01 .ttl01{
	max-width: 1030px;
	width: 90%;
	margin: 3.0rem auto 0 auto;
}
.partner_01 .inner{
	max-width: 910px;
	width: 90%;
	margin: 3.0rem auto;
}
.partner_01 h4{
	margin: 2.0rem 0;
}
.partner_01 h5{
	font-size: 1.0rem;
	margin-bottom: 6.0rem;
}
.partner_01 .youkou{
	text-align: center;
}
.partner_01 .youkou li{
	display: inline-block;
	vertical-align: top;
	margin: 0 2%;
	width: 15%;
}
.partner_01 .youkou li span{
	display: block;
	font-size: 0.9rem;
	margin: 1.5rem 0 0 0;
}
.partner_01 table td{
	padding: 15px 12px 15px 12px;
}

@media screen and (max-width: 768px) {
	.recruit_01 .ttl01 span {
		display: block;
		margin: 0 0 .6em 0;
	}
}