@charset "utf-8";
/*
Theme Name: flex_techo
Theme URI:
Author:Mino
Author URI:
Description:
Version: 1.0
License:
License URI:
Tags:
*/

/*
Last Updated:
Author: Ryu
page:
*/

/*----------------------------------------
	全体
----------------------------------------*/

html{
	font-family: '游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	font-size:62.5%;
	color: #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
	font-weight: 500;
}
body{ font-size:1.4rem; font-size: 1.4em; }


img{ vertical-align: bottom; }
a{
	color:#1a6f47;
	transition: all 0.4s;
}
a:hover{
	color:#58b24f;
	transition: all 0.4s;
}
.op img{ transition: all 0.4s; }
.op:hover img{
	opacity:0.70;
	transition: all 0.4s;
}

.btn_hover{
	position: relative;
	display: block;
}
.btn_hover:hover{
	animation:btn_hover 0.6s ease-in-out;
}
@keyframes btn_hover{
	0%{
		top: 0;
	}
	40%{
		top: -10px;
	}
	100%{
		top: 0;
	}
}

#container{ overflow: hidden; }
li{ list-style:none; }
.center{ text-align:center; }


/*----------------------------------------
	text
----------------------------------------*/

p{ line-height: 2; }
.text_bold{ font-weight: 600; }
.text_normal{ font-weight: normal; }
.text_blue{ color: #0073c5; }
.text_sky{ color: #a0d8ff; }
.text_white{ color:#fff; }
.text_green{ color:#115e19; }
.text_gray{ color: #696969; }
.text_red{ color: #e60012; }

.text_11{ font-size:1.1rem !important; }
.text_12{ font-size:1.2rem !important; }
.text_13{ font-size:1.3rem !important; }
.text_14{ font-size:1.4rem !important; }
.text_15{ font-size:1.5rem !important; }
.text_21{ font-size:2.1rem !important; }
.text_22{ font-size:2.2rem !important; }
.text_22{ font-size:2.3rem !important; }
.text_24{ font-size:2.4rem !important; }
.text_26{ font-size:2.6rem !important; }
.text_36{ font-size:3.6rem !important; }
.text_48{ font-size:4.8rem !important; }

.lh_26{ line-height: 2.6 !important; }
.lh_24{ line-height: 2.4 !important; }
.lh_22{ line-height: 2.2 !important; }
.lh_20{ line-height: 2 !important; }
.lh_18{ line-height: 1.8 !important; }
.lh_16{ line-height: 1.6 !important; }
.lh_15{ line-height: 1.5 !important; }
.lh_14{ line-height: 1.4 !important; }
.lh_12{ line-height: 1.2 !important; }
.ls_1{ letter-spacing: 1px; }
.ls_2{ letter-spacing: 2px; }
.ls_3{ letter-spacing: 3px; }
.ls_4{ letter-spacing: 4px; }


	.text_16{ font-size:1.6rem !important; }
	.text_18{ font-size:1.8rem !important; }
	.text_20{ font-size:2.0rem !important; }
	.text_23{ font-size:2.3rem !important; }
	.text_24{ font-size:2.4rem !important; }

	.text_28{ font-size:2.8rem !important; }
	.text_30{ font-size:3.0rem !important; }
	.text_32{ font-size:3.2rem !important; }
	.text_42{ font-size:4.2rem !important; }
	.text_40{ font-size:4rem !important; }
	.text_50{ font-size:5rem !important; }
	.text_55{ font-size:5.5rem !important; }
	.ls_4{ letter-spacing: 4px; }



@media screen and (max-width: 799px){

	.text_23{ font-size:2.1rem !important; }
	.text_30{ font-size:2.6rem !important; }


}/*END*/


@media screen and (max-width: 599px){

	.text_23{ font-size: 1.8rem !important; }
	.text_30{ font-size: 2.2rem !important; }


}/*END*/


@media screen and (max-width: 479px){

	.text_16{ font-size: 1.5rem !important; }
	.text_20{ font-size: 1.7rem !important; }
	.text_23{ font-size: 1.7rem !important; }
	.text_24{ font-size: 1.9rem !important; }


}/*END*/


/*----------------------------------------
	layout
----------------------------------------*/

.frame_1350{
	width: 100%;
	max-width: 1390px;
	position: relative;
	box-sizing: border-box;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}
.frame_1350_wide{
	width: 100%;
	max-width: 1390px;
	position: relative;
	box-sizing: border-box;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}
.frame_870{
	width: 100%;
	max-width: 910px;
	position: relative;
	box-sizing: border-box;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}
.frame_1100{
	width: 100%;
	max-width: 1140px;
	position: relative;
	box-sizing: border-box;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}
.frame_1050{
	width: 100%;
	max-width: 1090px;
	position: relative;
	box-sizing: border-box;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}
.frame_700{
	width: 100%;
	max-width: 740px;
	position: relative;
	box-sizing: border-box;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}



@media print, screen and (min-width: 1200px) {



}/*END*/


@media screen and (max-width: 1300px){

	.frame_1350{
		max-width: 720px;
	}

}/*END*/

@media screen and (max-width: 1140px){

	.frame_1050,
	.frame_1100,
	.frame_1350_wide{
		max-width: 720px;
	}

}/*END*/

@media screen and (max-width: 799px){

	.frame_1050,
	.frame_1100,
	.frame_1350,
	.frame_1350_wide{
		max-width: 90%;
	}


}/*END*/

@media screen and (max-width: 599px){

	.frame_1050,
	.frame_1100,
	.frame_1350,
	.frame_1350_wide{
		max-width: inherit;
		padding-left: 4%;
		padding-right: 4%;
	}


}/*END*/

.box_l{
	float: left;
	width: 48.07%;
	box-sizing: border-box;
}
.box_r{
	float: right;
	width: 48.07%;
	box-sizing: border-box;
}


.list_three{ margin-left: -3.7%; }
.list_three li{
	position: relative;
	float: left;
	margin-bottom: 20px;
	box-sizing: border-box;
	width: 29.62%;
	margin-left: 3.7%;
}
.list_three li a{ text-decoration: none; }
.list_three li:nth-child(3n+1){ clear: both; }

.list_four{
	margin-left: -2.77%;
}
.list_four li{
	position: relative;
	float: left;
	margin-bottom: 40px;
	box-sizing: border-box;
	margin-left:2%;
}
.list_four li{
	width: 22.22%;
	margin-left: 2.77%;
}
.list_four li:nth-child(4n+1){
	clear: both;
}

@media print, screen and (min-width: 600px) {

	.list_two{
		margin-left: -3.7%;
	}
	.list_two li{
		float: left;
		width: 46.29%;
		margin-left: 3.7%;
	}

}/*END*/

@media print, screen and (min-width: 769px) {

	.list_four li:nth-child(4n+1){ clear: both; }

}/*END*/

@media screen and (max-width: 768px){

	.list_four{
		margin-left: -3%;
	}
	.list_four li:nth-child(2n+1){ clear: both; }
	.list_four li{
		width: 47%;
		margin-bottom: 20px;
		margin-left: 3%;
	}

}/*END*/

@media screen and (max-width: 599px){

	.box_l,
	.box_r{
		float: none;
		width: 100%;
	}

	.list_three{
		margin-left: -4.93%;
	}
	.list_three li{
		margin-bottom: 20px;
		width: 45.07%;
		margin-left: 4.93%;
	}
	.list_three li:nth-child(3n+1){
		clear: none;
	}
	.list_three li:nth-child(2n+1){
		clear: both;
	}

}/*END*/


/*----------------------------------------
	画像中央配置
----------------------------------------*/

.photo_frame{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding: 100% 0 0;
}
.photo_frame img{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
	object-fit: cover;
}

@media all and (-ms-high-contrast: none) {
.photo_frame img{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.photo_frame{ z-index: 2; }/*chrome対策*/

/*----------------------------------------
	header
----------------------------------------*/

header{
	position: absolute;
	max-width: 1350px;
	width: 100%;
	padding: 0 10px;
	left: 50%;
	transform: translateX(-50%);
	top: 15px;
	z-index: 10;
	box-sizing: border-box;
}
header a{
	color: inherit;
	text-decoration: none;
}
header h1{
	color: #fff;
	font-size: 1.2rem;
	font-weight: normal;
	float: left;
	line-height: 1.5;
	margin-top: 30px;
	margin-left: 20px;
}
.head_logo{
	display: block;
	width: 7.21%;
	float: left;
}


header ul{
	width: 830px;
	float: right;
	background: #fff;
	margin-top: 10px;
}
header ul li{
	position: relative;
	float: left;
	font-size: 1.6rem;
	margin-left: 10px;
	margin-right: 10px;
}
header ul li a{
	display: inline-block;
	color: #000;
	text-decoration: none;
	transition: all 0.4s;
	cursor: pointer;
	padding: 18px 0;
}

.head_contanct{
	float: right;
	margin: 0;
}
.head_contanct a{
	background: #000;
	color: #fff;
	font-size: 1.6rem;
	color: #fff;
	padding: 18px 12px;
}
.head_contanct img{
	display: inline-block;
	width: 19px;
	margin-right: 10px;
	vertical-align: middle;
}

@media print, screen and (min-width: 800px){

	.sp_logo{
		display: none;
	}

}/*END*/

@media print, screen and (min-width: 1100px){

	.contact_sp{
		display: none;
	}

}/*END*/

@media print, screen and (min-width: 800px) and ( max-width: 1199px){

	header ul{
		width: 750px;
	}
	header ul li{
		font-size: 1.5rem;
		margin-left: 8px;
		margin-right: 8px;
	}

}/*END*/

@media print, screen and (min-width: 800px) and ( max-width: 1099px){

	header{
		padding-right: 20px;
	}
	.head_logo{
		width: 9.6%;
	}
	nav{
		display: none !important;
	}
	.sp_menu{
		float: right;
		width: 204px;
		margin-top: 10px;
	}
	.contact_sp{
		float: right;
		width: 154px;
		height: 52px;
		text-align: center;
	}
	.contact_sp a{
		display: block;
		padding: 17px 0 0 0;
		box-sizing: border-box;
		height: 52px;
	}
	.btn_menu{
		float: right;
		width: 50px;
		background: #fff;
		position: relative;
		height: 52px;
		cursor: pointer;
	}
	.btn_menu span{
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		height: 2px;
		background: #000;
		transition: all 0.4s;
		width: 40%;
	}
	.btn_menu span:nth-child(1){
		top: 18px;
	}
	.btn_menu span:nth-child(2){
		top: 25px;
	}
	.btn_menu span:nth-child(3){
		bottom: 18px;
	}
	.open .btn_menu span:nth-child(1){
		transform: rotate(45deg);
		top: 14px;
		width: 80%;
	}
	.open .btn_menu span:nth-child(2){
		opacity: 0;
	}
	.open .btn_menu span:nth-child(3){
		transform: rotate(-45deg);
		bottom: 12px;
		width: 80%;
	}



}/*END*/

@media print, screen and (min-width: 1100px) and ( max-width: 1349px){

	header{
		padding-right: 0;
	}

}/*END*/

@media screen and (max-width: 1099px){


	.drawer{
		position: fixed;
		background: rgba(0,0,0,0.9);
		top: 0;
		right: 0;
		width: 100%;
		height: 100vh;
		color: #fff;
		display: flex;
		justify-content: center;
		visibility: hidden;
		transform: translateX(100%);
		transition: 0.5s ease-in-out;
		z-index: 50;
		overflow-y: scroll;
	}
	.drawer ul{
		padding-top: 100px;
		padding-bottom: 30px;
		padding-left: 0;
		padding-right: 0;
		float: none;
		border-top: 1px solid #333;
		width: 90%;
		background: none;
	}
	.drawer ul li{
		float: none;
		position: relative;
		transform: translateX(-150px);
		transition: transform 0.5s ease;
		margin: 0;
		border-bottom: 1px solid #333;
		border-radius: 0;
		box-sizing: border-box;
	}
	.drawer ul li a{
		display: block;
		color: #fff !important;
		text-decoration: none;
		font-size: 1.6rem;
		padding-top: 12px;
		padding-bottom: 12px;
		padding-left: 10%;
	}
	.head_contanct a{
		background: none;
	}
	.drawer ul li a:hover{
		background: none;
	}





	.open .drawer{
		visibility: visible;
		opacity: 1;
		transform: translateX(0);
	}
	.open .drawer ul li{
		transform: translateX(0);
	}

	header ul li.head_boshu span{
		padding-right: 12px;
	}


}/*END*/

@media screen and (max-width: 799px){

	.pc_logo{
		display: none;
	}
	header{
		position: relative;
		background: linear-gradient(#115e19, #14631b);
		padding: 0;
		top: inherit;
		left: inherit;
		transform: none;
	}
	header h1{
		position: absolute;
		left: 20px;
		bottom: -50px;
		margin-left: 0;
		margin-top: 0;
	}
	.sp_menu{
		float: right;
		width: 204px;
	}
	.contact_sp{
		float: right;
		width: 146px;
		font-size: 1.4rem;
		text-align: center;
	}
	.contact_sp a{
		display: block;
		padding: 19px 0 0 0;
		box-sizing: border-box;
		height: 58px;
	}
	.head_contanct img{
		margin-right: 6px;
	}
	.btn_menu{
		float: right;
		width: 58px;
		background: #fff;
		position: relative;
		height: 58px;
		cursor: pointer;
		z-index: 99;
	}
	.btn_menu span{
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		height: 2px;
		background: #000;
		transition: all 0.4s;
		width: 40%;
	}
	.btn_menu span:nth-child(1){
		top: 20px;
	}
	.btn_menu span:nth-child(2){
		top: 29px;
	}
	.btn_menu span:nth-child(3){
		bottom: 18px;
	}
	.open .btn_menu span:nth-child(1){
		transform: rotate(45deg);
		top: 28px;
		margin-left: -10px;
	}
	.open .btn_menu span:nth-child(2){
		opacity: 0;
	}
	.open .btn_menu span:nth-child(3){
		transform: rotate(-45deg);
		bottom: 28px;
		margin-left: -10px;
	}


	.head_logo{
		width: 180px;
		margin-left: 2%;
		margin-top: 5px;
	}





}/*END*/


@media screen and (max-width: 768px){

	.btn_menu{
	}

}/*END*/

@media screen and (max-width: 599px){

	header{
	}
	.head_logo{
	}




}/*END*/

@media screen and (max-width: 399px){

	header{
	}

	.head_logo{
		width: 42%;
	}
	.sp_menu{
		width: 56%;
	}
	.contact_sp{
		width: 60%;
	}
	.contact_sp a{
		font-size: 1.2rem;
		height: 50px;
	}
	.head_contanct img{
		width: 16px;
	}
	.btn_menu{
		width: 30%;
		height: 50px;
	}
	header h1{
	}
	.btn_menu span:nth-child(1){
		top: 16px;
	}
	.btn_menu span:nth-child(2){
		top: 23px;
	}
	.btn_menu span:nth-child(3){
		bottom: 16px;
	}


}/*END*/



/*----------------------------------------
	MV
----------------------------------------*/

.mv_slider{
	max-width: 1350px;
	position: relative;
	margin-right: auto;
	margin-left: auto;
}
.mv_slider ul{
	width: 77.77%;
	z-index: 2;
}
.mv_bg{
	position: absolute;
	right: 0;
	top: 0;
	width: 84.44%;
	background: linear-gradient(#14641b, #8bd584);
}
.mv_copy{
	position: absolute;
	width: 40.74%;
	bottom: 10%;
	right: 5%;
	z-index: 3;
}
.scroll{
	position: absolute;
	left: 10%;
	bottom: 0;
	width: 15px;
	z-index: 3;
}
.mv{
	position: relative;
}
.mv_l{
	position: absolute;
	left: 0;
	top: 0;
	width: 63.2%;
	max-width: 1125px;
}
.mv_r{
	float: right;
	width: 75.28%;
	background: linear-gradient(#14641b, #8bd584);
}
.mv p{
	max-width: 510px;
	position: absolute;
	left: 50%;
	top: 50%;
}

@media print, screen and (min-width: 800px) and ( max-width: 1099px){

	.mv_l{
		width: 105%;
		margin-left: -40%;
	}

}/*END*/

@media print, screen and (min-width: 1100px) and ( max-width: 1349px){

	.mv_l{
		width: 90%;
		margin-left: -24%;
	}

}/*END*/

@media screen and (max-width: 799px){

	.mv_l{
		width: 140%;
		margin-left: -60%;
	}
	.mv_r{
	}
	.mv p{
		width: 90%;
		transform: translateX(-50%);
	}


}/*END*/

@media screen and (max-width: 768px){




}/*END*/

@media screen and (max-width: 599px){




}/*END*/


/*----------------------------------------
	common
----------------------------------------*/

.bg_green{
	background: #115e19;
}
.bg_lgreen{
	background: #e3f4da;
}
.bg_lgray{
	background: #f2f2f2;
}
.bg_gray{
	background: #5f5f5f;
}

.ttl_540{
	max-width: 540px;
}
.ttl_text{
	background: linear-gradient(to right, #46a44f, #b6d2b3);
	font-weight: bold;
	color: #fff;
	padding: 14px 18px;
}
.ttl_center{
	margin-right: auto;
	margin-left: auto;
}
.text_inner{
	padding-left: 3.5%;
	padding-right: 3.5%;
}

.pan_nav{
	position: relative;
	color: #737373;
	font-size: 1.2rem;
	top: -35px;
}
.pan_nav li{
	float: left;
}
.pan_nav li a:after{
	content: "＞";
	margin-right: 10px;
	padding-left: 10px;
}
.pan_nav a{
	color: #737373;
	text-decoration: none;
}
.pan_nav a:hover{
	color: #aaa;
	text-decoration: none;
}

.space{
	display: inline-block;
	margin-left: 2em;
}

.btn{
	display: block;
	width: 300px;
	box-sizing: border-box;
	padding-top: 25px;
	padding-bottom: 25px;
	font-size: 1.6rem;
	position: relative;
	z-index: 1;
	font-weight: bold;
	padding-right: 20px;
	text-align: center;
	text-decoration: none;
}
.btn_white{
	color: #115e19;
	background: #fff;
}
.btn_white:hover{
	color: #115e19;
}
.btn_green{
	color: #fff;
	background: linear-gradient(#16641e, #459a4e);;
}
.btn_green:hover{
	color: #fff;
}
.btn span:before,
.btn span:after{
	content: "";
	position: absolute;
	top: 50%;
	background: #115e19;
	height: 1px;
	transition: all 0.4s;
}
.btn.btn_green span:before,
.btn.btn_green span:after{
	background: #fff;
}
.btn span:before{
	width: 25px;
	right: 20px;
}
.btn span:after{
	transform: rotate(55deg);
	margin-top: -5px;
	width: 13px;
	right: 18px;
}
.btn.btn_white:hover{
	color: #115e19;
}
.btnbtn_green:hover{
	color: #fff;
}
.btn:hover span:before{
	right: 15px;
}
.btn:hover span:after{
	right: 13px;
}


.btn_center{
	margin-left: auto;
	margin-right: auto;
}

@media print, screen and (min-width: 600px){

	.sp_br_600{
		display: none;
	}

}/*END*/


@media print, screen and (min-width: 800px){

	.sp_br_800{
		display: none;
	}

}/*END*/

@media print, screen and (min-width: 900px) {




}/*END*/

@media screen and (max-width: 799px){

	.pan_nav{
		top: inherit;
		padding-top: 10px;
		font-size: 1rem;
	}

	.ttl_540{
		width: 70%;
	}

	.pc_br{
		display: none;
	}

}/*END*/

@media screen and (max-width: 599px){


	.ttl_540{
		width: 90%;
	}

	.space_sp{
		display: inline-block;
		margin-left: 2em;
	}
	.space_sp1{
		display: inline-block;
		margin-left: 1.3em;
	}


}/*END*/

@media screen and (max-width: 479px){

	.ttl_540{
		width: 115%;
	}
	.ttl_540.ttl_center{
		margin-left: -7.5%;
	}

}/*END*/



/*----------------------------------------
	top
----------------------------------------*/

.mission_frame{
	position: relative;
	background: linear-gradient(to right, #14641b, #8bd584);
	max-width: 1350px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 60px;
	margin-bottom: 220px;
}
.mission_img01{
	position: absolute;
	width: 36.37%;
	top: -60px;
	left: 22%;
}
.mission_img02{
	position: absolute;
	width: 25.4%;
	right: 0;
	bottom: 60px;
	z-index: 4;
}
.mission_img03{
	position: absolute;
	width: 44.44%;
	left: 10%;
	bottom: -130px;
}
.mission_ttl{
	padding-top: 40px;
	margin-left: 12%;
	width: 6.14%;
	z-index: 3;
}
.mission_text{
	position: absolute;
	background: #fff;
	width: 68.88%;
	right: 0;
	top: 20%;
	z-index: 2;
}
.mission_inner{
	width: 62.36%;
	text-align: center;
}

.works_top{
	background: #14641c;
}
.works_img01{
	display: block;
	width: 66.66%;
	float: left;
}
.works_copy{
	position: relative;
	width: 33.33%;
	float: right;
	color: #fff;
}
.works_inner{
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
}
.works_bottom li{
	float: left;
	width: 25%;
	position: relative;
	color: #fff;
	box-sizing: border-box;
}
.works_text{
	position: absolute;
	top: 60px;
	left: 8%;
}
.works_bottom li a{
	display: block;
	border: 1px solid #fff;
	border-radius: 50%;
	position: absolute;
	bottom: 30px;
	right: 30px;
	width: 60px;
	height: 60px;
	transition: all 0.4s;
}
.works_bottom li a:hover{
	background: rgba(255,255,255,0.3);
}
.works_bottom li a span:before,
.works_bottom li a span:after{
	content: "";
	height: 1px;
	background: #fff;
	position: absolute;
	top: 50%;
}
.works_bottom li a span:before{
	width: 28px;
	left: 50%;
	transform: translateX(-50%);
}
.works_bottom li a span:after{
	width: 12px;
	transform: rotate(50deg);
	right: 15px;
	margin-top: -5px;
}
.strong_inner{
	float: left;
	width: 50%;
	position: relative;
}
.strong_text{
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
}
.strong_text h3{
	max-width: 300px;
}
.strong_point{
	max-width: 920px;
	margin-right: auto;
	margin-left: auto;
	width: 94%;
}
.strong_point li{
	float: left;
	width: 29.33%;
	margin-left: 2%;
	margin-right: 2%;
}
.strong_point li:nth-child(4){
	clear: both;
	margin-left: 18%;
}
.top_news{
	border-top: 1px solid #e6e6e6;
}
.top_news li{
	position: relative;
	border-bottom: 1px solid #e6e6e6;
}
.top_news li a{
	display: block;
	color: #000;
	text-decoration: none;
	padding:  40px 20px;
}
.top_news li a span,
.top_news li a p{
	display: inline-block;
}
.top_news li a p{
	margin-right: 20px;
}
.top_cat{
	width: 145px;
	box-sizing: border-box;
}
.news_circle{
	display: inline-block;
	border: 1px solid #000;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 40px;
	transition: all 0.4s;
}
.news_circle:before,
.news_circle:after{
	content: "";
	display: inline-block;
	width: 11px;
	height: 2px;
	position: absolute;
	left: 40%;
	top: 50%;
	background: #000;
}
.news_circle:before{
	transform: rotate(45deg);
	margin-top: -3px;
}
.news_circle:after{
	transform: rotate(-45deg);
	margin-top: 3px;
}
.top_news li a:hover .news_circle{
	border-color: #15621d;
	margin-right: -20px;
}
.top_news li a:hover .news_circle:before,
.top_news li a:hover .news_circle:after{
	background: #15621d;
}

@media screen and (max-width: 1299px){

	.works_top{
		background: none;
	}
	.works_img01{
		width: 100%;
		float: none;
	}
	.works_copy{
		background: linear-gradient(#115e19, #3d8c45);
		width: 100%;
		float: none;
		height: auto !important;
	}
	.works_inner{
		position: relative;
		left: inherit;
		top: inherit;
		width: 96%;
		margin-right: auto;
		margin-left: auto;
		transform: none;
		box-sizing: border-box;
		padding-top: 60px;
		padding-bottom: 40px;
	}
	.works_bottom li{
		float: left;
		width: 50%;
	}
	.works_bottom li:nth-child(2n+1){
		clear: both;
	}


}/*END*/

@media screen and (max-width: 1099px){

	.mission_ttl{
		position: absolute;
		padding-top: 0;
		z-index: 1;
	}
	.mission_text{
		position: relative;
		padding-left: 40px;
		float: right;
	}
	.mission_inner{
		width: 80%;
	}
	.mission_frame{
		padding-top: 40px;
	}
	.mission_frame .clearfix{
		clear: both;
	}
	.mission_img01,
	.mission_img02,
	.mission_img03{
		float: left;
		position: relative;
		top: inherit;
		left: inherit;
		bottom: inherit;
		right: inherit;
		z-index: 2;
	}
	.mission_img01{
		width: 36%;
	}
	.mission_img02{
		width: 24%;
	}
	.mission_img03{
		width: 40%;
	}
	.top_cat{
		width: auto;
		margin-right: 20px;
	}
	.top_news_ttl{
		display: block !important;
		width: 80%;
		line-height: 1.8;
		margin-top: 5px;
	}

}/*END*/

@media screen and (max-width: 799px){

	.mission_ttl{
		margin-left: 5%;
	}
	.mission_text{
		width: 80%;
	}
	.mission_inner{
		width: 90%;
	}


	.strong_inner,
	.works_bottom li{
		float: none;
		width: 100%;
	}
	.strong_point li{
		width: 46%;
		margin-left: 2%;
		margin-right: 2%;
		margin-bottom: 40px;
	}
	.strong_point li:nth-child(4){
		clear: none;
		margin-left: 0;
		margin-bottom: 0;
	}
	.strong_point li:nth-child(3){
		clear: both;
		margin-bottom: 0;
	}
	.strong_point li:nth-child(5){
		margin-left: 25%;
		margin-bottom: 0;
	}


}/*END*/

@media screen and (max-width: 599px){

	.top_news li a{
		padding: 25px 15px;
	}
	.news_circle{
		right: 20px;
	}
	.top_news li a:hover .news_circle{
		margin-right: -10px;
	}

}/*END*/



/*----------------------------------------
	service
----------------------------------------*/

.img01{
	margin-top: 40px;
	float: left;
	width: 50.37%;
	max-width: 680px;
	margin-left: 3%;
}
.img02{
	float: left;
	width: 49.62%;
}
.sevice_ttl01{
	max-width: 540px;
}
.sevice_ttl02{
	max-width: 590px;
}
.img_right{
	float: right;
}
.flow_frame{
	background: #d7e6d5;
}
.flow_inner{
	position: relative;
	background: #fff;
	padding-left: 8.57%;
	padding-right: 8.57%;
}
.flow_inner h3{
	position: relative;
	float: left;
	width: 41.14%;
}
.flow_inner p{
	position: relative;
	float: left;
	width: 58.86%;
}
.flow_line{
	display: inline-block;
	background: #115e19;
	width: 2px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 13.5%;
}


.op_7{
	opacity: 0.7;
}
.op_10{
	opacity: 1;
}

@media print, screen and (min-width: 1300px){

	.img01_sp{
		display: none;
	}


	/*共通に移動かも*/
	.frame_540{
		width: 540px;
	}
	.frame_630{
		width: 46.66%;
	}
	.left_1300{
		float: left;
	}
	.right_1300{
		float: right;
	}

}/*END*/

@media print, screen and (min-width: 1350px){



	/*共通に移動かも*/
	.frame_540{
		width: 540px;
	}

}/*END*/

@media print, screen and (min-width: 1920px){

	.top_copy{
		margin-left: 40px;
	}



}/*END*/

@media print, screen and ( max-width: 1499px){

	.img01{
	}


}/*END*/

@media print, screen and ( max-width: 1919px){

	/*共通に移動かも*/
	.frame_540{
		width: 43%;
	}





}/*END*/

@media print, screen and ( max-width: 1349px){

	/*共通に移動かも*/
	.frame_540{
	}

}/*END*/

@media print, screen and ( max-width: 1299px){

	.img01{
		display: none;
	}
	.img01_sp{
		width: 100%;
		margin-top: 70px;
	}
	.img02{
		width: 100%;
		margin-bottom: 50px;
	}


	/*共通に移動かも*/
	.frame_540{
		width: 100%;
	}



}/*END*/

@media print, screen and ( max-width: 1149px){

	.flow_inner{
		padding-left: 50px;
		padding-right: 50px;
	}
	.flow_line{
		left: 100px;
	}
	.flow_inner h3{
		float: none;
		width: 100%;
		max-width: 358px;
	}
	.flow_inner p{
		float: none;
		width: 100%;
		box-sizing: border-box;
		padding-left: 150px;
	}

}/*END*/

@media print, screen and ( max-width: 799px){

	.img01_sp{
		margin-top: 50px;
	}


}/*END*/


@media print, screen and ( max-width: 599px){

	.img01_sp{
		margin-top: 20px;
	}
	.flow_inner{
		padding-left: 5%;
		padding-right: 5%;
	}
	.flow_line{
		left: 13.5%;
	}
	.flow_inner h3{
		float: none;
		width: 70%;
		max-width: inherit;
	}
	.flow_inner p{
		float: none;
		width: 100%;
		box-sizing: border-box;
		padding-left: 30%;
	}

}/*END*/



/*----------------------------------------
	company
----------------------------------------*/

.outline{
	width: 100%;
	line-height: 1.8;
}
.outline th,
.outline td{
	padding: 16px 5%;
	box-sizing: border-box;
	font-weight: normal;
	text-align: left;
}
.outline th{
	border-bottom: 3px solid #115e19;
	width: 240px;
}
.outline tr:first-child th{
	border-top: 3px solid #115e19;
}
.outline td{
	border-bottom: 1px solid #707070;
}
.outline tr:first-child td{
	border-top: 1px solid #707070;
}

@media print, screen and ( max-width: 768px){

	.outline th,
	.outline td{
		display: block;
		width: 100%;
	}
	.outline th{
		border-top: 3px solid #115e19;
		border-bottom: none;
		padding: 5px 3%;
	}
	.outline td{
		padding: 5px 3% 10px 3%;
		border-top: 1px solid #707070;
		border-bottom: none;
	}


}/*END*/


/*----------------------------------------
	about
----------------------------------------*/

.chousen_ttl{
	float: left;
	width: 6.14%;
	margin-left: 4%;
}
.chousen_text{
	float: left;
	width: 40%;
	box-sizing: border-box;
	padding-left: 4%;
	padding-right: 4%;
}
.chousen_img{
	float: right;
	width: 48%;
	padding-top: 200px;
}
.taisetsu_frame{
	background: url("images/about/taisetsu_bg.jpg");
	background-size: cover;
}
.taisetsu_frame h2{
	float: right;
}
.taisetsu_frame ul{
	margin-left: -3%;
}
.taisetsu_frame li{
	position: relative;
	float: left;
	width: 30%;
	margin-left: 3%;
	margin-bottom: 40px;
}
.taisetsu_frame li:nth-child(1){
	z-index: 2;
}
.taisetsu_frame li:nth-child(2){
	z-index: 1;
	margin-top: 130px;
}
.taisetsu_frame li:nth-child(3){
	margin-top: 260px;
}
.taisetsu_text{
	background: #fff;
	padding: 20px;
}
.taisetsu_frame li h3{
	position: absolute;
	top: 40px;
	right: -40px;
}

@media print, screen and (min-width: 1141px){


	.chousen_ttl_sp{
		display: none;
	}
	.chousen_sp{
		display: none;
	}

}/*END*/

@media screen and (max-width: 1140px){


	.chousen_pc{
		display: none;
	}
	.chousen_img{
		float: none;
		width: 100%;
		padding-top: 0;
	}
	.taisetsu_frame h2{
		margin-bottom: 40px;
	}
	.taisetsu_frame ul{
		margin-left: 0;
	}
	.taisetsu_frame li{
		float: none;
		margin-top: 0 !important;
		width: 100%;
		max-width: 500px;
		margin-left: auto;
		margin-right: auto;
	}

}/*END*/

@media screen and (max-width: 620px){

	.taisetsu_frame li h3{
		right: -10px;
	}
	.taisetsu_frame h2{
		width: 100% !important;
		float: none;
	}


}/*END*/


/*----------------------------------------
	point
----------------------------------------*/


.himitsu_text{
	background: #fff;
	width: 54.54%;
	padding-left: 8.18%;
	padding-right: 8.18%;
	box-sizing: border-box;
	text-align: center;
}
.himitsu_text h2{
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}
.point_bg{
	background: #d7e6d5;
}
.point_img,
.point_text{
	width: 48.57%;
}
.point_l{
	float: left;
}
.point_r{
	float: right;
}

@media print, screen and (min-width: 1141px){

	.himitsu_frame{
		background: url("images/point/himitsu_bg.jpg") right top no-repeat;
	}
	.himitsu_bg_sp{
		display: none;
	}
	.point_img_sp{
		display: none;
	}
	.himitsu_text{
		padding-top: 60px;
	}


}/*END*/

@media screen and (max-width: 1140px){

	.himitsu_text{
		width: 100%;
		padding-right: 0;
		padding-left: 0;
	}
	.point_text h3{
		max-width: 510px;
	}
	.point_l,
	.point_r{
		float: none;
	}
	.point_img{
		display: none;
	}
	.point_text{
		width: 100%;
	}
	.point_img_sp{
		margin-bottom: 40px;
	}

}/*END*/


/*----------------------------------------
	works
----------------------------------------*/

.works_list a{
	display: block;
	text-decoration: none;
	color: inherit;
}








@media screen and (max-width: 1140px){



}/*END*/


/*----------------------------------------
	privacy
----------------------------------------*/

.privacy_indent{
	padding-left: 8%;
}
.privacy h4{
	line-height: 1.6;
}


/*----------------------------------------
	sitemap
----------------------------------------*/

.sitemap a{
	display: block;
	color: #000;
	text-decoration: none;
	padding-top: 25px;
	padding-bottom: 25px;
}
.sitemap li{
	border-bottom: 1px solid #dcdcdc;
}
.sitemap ul li{
	border-bottom: none;
}
.sitemap ul li a{
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 20px;
}
.sitemap ul{
	padding-bottom: 25px;
}







/*----------------------------------------
	news
----------------------------------------*/

.news_list a{
	display: block;
	text-decoration: none;
	color: #000;
}
.single_contact{
	background: #efefef;
	box-sizing: border-box;
	padding-left: 6%;
	padding-right: 6%;
}
.single_contact a{
	display: block;
	transition: all 0.4s;
}
.single_contact a:first-child{
	float: left;
	width: 40%;
}
.single_contact a:last-child{
	float: right;
	width: 48%;
}


@media screen and (max-width: 599px){

	.single_contact a:first-child{
		float: none;
		width: 100%;
		max-width: 290px;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 20px;
	}
	.single_contact a:last-child{
		float: none;
		width: 100%;
		max-width: 330px;
		margin-right: auto;
		margin-left: auto;
	}


}/*END*/


/*----------------------------------------
	iframe比率維持
----------------------------------------*/

.map{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding: 60% 0 0;
	text-align: center;
}
.map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}
.map iframe:not(:target){
	left: 0\9;
	top: 0\9;
}
.map iframe{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none){
.map iframe{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.map{ z-index: 2; }/*chrome対策*/

@media screen and (max-width: 599px){

	.map{ padding: 70% 0 0; }

}/*END*/


/*----------------------------------------
	contact
----------------------------------------*/

.contact_frame table{
	width: 100%;
	line-height: 1.8;
	border-top: 1px solid #cccccc;
}
.contact_frame th,
.contact_frame td{
	border-bottom: 1px solid #cccccc;
	box-sizing: border-box;
	padding: 20px;
}
.contact_frame th{
	width: 260px;
	font-weight: normal;
	text-align: left;
	padding: 20px;
	background: #f5f5f5;
}


.hissu,
.nini{
	line-height: 1;
	display: inline-block;
	padding: 5px 8px;
	margin-left: 10px;
	font-size: 1.4rem;
}
.hissu{
	background: #115e19;
	color: #fff;
}
.nini{
	background: #fff;
	color: #115e19;
}

.add span{
	display: inline-block;
	width: 150px;
}

.btn_submit input,
.btn_back button{
	position: relative;
	display: inline-block;
	z-index: 2;
	width: 100%;
	max-width: 320px;
	box-sizing: border-box;
	cursor: pointer;
	border: 1px solid #967c46;
	font-size: 1.6rem;
	text-align: center;
	padding: 20px 0;
	margin-left: auto;
	margin-right: auto;
	transition: all 0.4s;
	line-height: 1;
}
.btn_submit input{
	color: #fff;
	background: #115e19;
}
.btn_back button{
	color: #fff;
	background: #656565;
}
.btn_submit input:hover{
	background: #31943b;
}
.btn_back button:hover{
	background: #999;
}

.privacy_check .vertical-item{
	display: inline-block !important;
}
.privacy_check a{
	text-decoration: underline;
}
.mw_wp_form .vertical-item + .vertical-item{
	margin-top: 0 !important;
}
.privacy_check .mwform-checkbox-field{
	margin-right: 0;
}

/*error*/
.mw_wp_form .error{
	font-size: 1.3rem !important;
	color: inherit !important;
}
.mw_wp_form span.error{
	position: relative;
	background: #e60012;
	color: #fff !important;
	margin-top: 20px;
	padding: 8px 12px;
	border-radius: 3px;
	line-height: 1;
}
.mw_wp_form .privacy_check span.error{
	display: inline-block;
	padding: 8px 25px;
}
.mw_wp_form span.error:before{
	content: '';
	position: absolute;
	left: 20px;
	top: -8px;
	display: block;
	width: 0;
	height: 0;
	border-right: 6px solid transparent;
	border-bottom: 8px solid #e60012;
	border-left: 6px solid transparent;
}

@media screen and (max-width: 768px){

	.contact_frame{
		font-size: 1.5rem;
	}
	.hissu,
	.nini{
		padding: 3px 6px;
		vertical-align: 2px;
	}
	.contact_frame table{
		border-top: none;
	}
	.contact_frame th,
	.contact_frame td{
		display: block;
		border-bottom: none;
	}
	.contact_frame th{
		width: 100%;
		padding: 6px;
	}
	.contact_frame td{
		padding: 16px 0 20px 0;
		background: #fff;
	}
	.contact_frame .mw_wp_form_confirm td{
		padding: 16px 6px 20px 6px;
	}

	/*error*/
	.mw_wp_form td.error{
		display: block !important;
		background: #fff;
	}
	span.error{
		background: #fff7f8;
		padding: 0 5px;
		margin-top: 10px;
	}

}/*END*/


/*----------------------------------------
	form
----------------------------------------*/

select,
textarea,
input[type="text"],
input[type="tel"],
input[type="submit"]{
	box-sizing: border-box;
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	-webkit-appearance: none;
	transition: all 0.4s;
}
.contact_frame select,
.contact_frame textarea,
.contact_frame input[type="text"],
.contact_frame input[type="tel"]{
	padding: 10px 15px;
	border: 1px solid #ccc;
	font-size: 1.6rem;
}

input[type="button"]{
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	-webkit-appearance: none;
	background: #ebebeb;
}
button,
input[type="submit"]{
	-webkit-appearance: none;
	transition: all 0.4s;
}

select:focus,
textarea:focus,
input[type="text"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus{
	outline: none;
	border: 1px solid #ed7b58;
}

.form1{ width: 150px; }
.form2{ width: 200px; }
.form3{ width: 500px; }
.form_all{ width: 100%; }

@media screen and (max-width: 768px){

	.form3{ width: 100%; }

}/*END*/


/*----------------------------------------
	checkbox radiobtn
----------------------------------------*/

.radio input[type="radio"],
.check input[type="checkbox"]{
	position: absolute;
	height: 1px;
	width: 1px;
	clip: rect(0, 0, 0, 0);
}
.radio label,
.check label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 12px;
	padding-left: 26px;
	line-height: 2.4;
}
.radio label:before,
.check label:before{
	position: absolute;
	content: "";
	top: 50%;
	left: -10px;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	border-radius: 50%;
	border: 1px solid #ccc;
	background: #fff;
}
.check label:before{ border-radius: 0; }
.radio label,
.check label{
	margin-left: 0\9;
	padding: 11px\9;
}
.radio label:not(:target),
.check label:not(:target){
	margin-left: 10px\9;
	padding: 11px 0 11px 25px\9;
}
.radio label:before,
.check label:before{
	display: none\9;
}
.radio label:not(:target):before,
.check label:not(:target):before{
	display: inline-block\9;
}
.radio input[type="radio"]:checked + label:before{
	background: #fff;
}
.radio input[type="radio"]:checked + label:after{
	position: absolute;
	content: "";
	box-sizing: border-box;
	top: 50%;
	left: -6px;
	width: 18px;
	height: 18px;
	margin-top: -8px;
	border-radius: 50%;
	background: #ed7b58;
}
.check input[type="checkbox"]:checked + label:after{
	content: "";
	position: absolute;
	top: 50%;
	box-sizing: border-box;
	display: block;
	left: -6px;
	width: 18px;
	height: 10px;
	margin-top: -6px;
	border-left: 4px solid #ed7b58;
	border-bottom: 3px solid #ed7b58;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.radio input[type="radio"]:focus + label:before,
.check input[type="checkbox"]:focus + label:before{
	box-shadow: 0 0 3px 0 #ed7b58;
}



/*----------------------------------------
	新着詳細
----------------------------------------*/

.entry_ttl{
	padding-bottom: 7px;
	line-height: 1.4;
	border-bottom: 1px dotted #000;
	margin-bottom: 10px
}
.entry_data{ line-height: 1; }

/*side*/
.side_ttl{
	padding-bottom: 8px;
	border-bottom: 1px solid #dcdcdc;
	font-weight: bold;
}
.side_list li a{
	color: inherit;
	text-decoration: none;
	padding-top: 10px;
	padding-bottom: 10px;
}
.side_list li{
	position: relative;
	list-style: none;
}
.side_list.cat_list li a{
	position: relative;
	display: block;
	transition: all 0.4s;
}
.side_list.cat_list li a:after{
	transition: all 0.4s;
}
.side_list.cat_list li a:hover{
	opacity: 1;
	padding-left: 10px;
}
.side_list.cat_list li a:after{
	content: "";
	width: 3px;
	height: 18px;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #00736d;
	opacity: 0;
}
.side_list.cat_list li a:hover:after{
	opacity: 1;
}
.side_tag a{
	display: inline-block;
	font-size: 1.2rem;
	background: #e9e7e2;
	line-height: 1;
	padding: 4px 6px;
	margin-right: 3px;
	color: inherit;
	text-decoration: none;
	margin-bottom: 5px;
}
.side_tag a:hover{
	background: #d3cfc3;
}


/*----------------------------------------
	詳細ページャー
----------------------------------------*/

.single_pager{
	margin-left: auto;
	margin-right: auto;
}
.single_pager li{
	position: relative;
	float: left;
	list-style: none;
	display: block;
	min-height: 50px;
	text-align: center;
}
.single_pager li a{
	position: relative;
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
	color: #000;
	background: #fff;
	text-decoration: none;
	border: 1px solid #dcdcdc;
}
.single_pager li a:hover{
	color: #000;
	background: #eee;
}
.single_prev{
	width: 23.5%;
	margin-right: 1.5%;
}
.single_list{ width: 50%; }
.single_next{
	width: 23.5%;
	margin-left: 1.5%;
}
.single_prev a{
	padding-left: 20%;
}
.single_next a{
	padding-right: 20%;
}
.single_prev a:before,
.single_prev a:after,
.single_next a:before,
.single_next a:after{
	content: "";
	background: #fff;
	position: absolute;
	top: 50%;
	height: 1px;
}
.single_prev a:before{
	width: 20px;
	left: 10px;
}
.single_next a:before{
	width: 20px;
	right: 10px;
}
.single_next a:after{
	width: 6px;
	right: 10px;
	transform: rotate(45deg);
	margin-top: -3px;
}
.single_prev a:after{
	width: 6px;
	left: 10px;
	transform: rotate(-45deg);
	margin-top: -3px;
}

@media screen and (max-width: 768px){

	.single_prev{ width: 28.5%; }
	.single_list{ width: 40%; }
	.single_next{ width: 28.5%; }

}/*END*/

@media screen and (max-width: 599px){

	.single_prev{ width: 32%; }
	.single_list{ width: 33%; }
	.single_next{ width: 32%; }
	.single_pager li{ font-size: 1.1rem; }
	.single_prev a:before{
		width: 15px;
	}
	.single_next a:before{
		width: 15px;
	}

}/*END*/

@media screen and (max-width: 479px){

	.single_pager li{ font-size: 1rem; }

}/*END*/



/*----------------------------------------
	カテゴリ
----------------------------------------*/

/*共通*/
.new_icon{
	color: #da0300;
	margin-left: 10px;
	display: inline-block;
	font-size: 1.6rem;
}
.works_new .new_icon{
	margin-left: 0;
}
.tag_label{
	display: inline-block;
	line-height: 1;
	margin-right: 10px;
	font-size: 1.4rem;
}
a.tag_label{
	text-decoration: none;
	transition: all 0.4s;
}
.tag_label:hover{
	opacity: 0.7;
}

/*news*/
.cat_label{
	display: inline-block;
	background: #e6e6e6;
	color: #000;
	line-height: 1;
	padding: 5px 10px;
	margin-right: 10px;
	text-align: center;
	box-sizing: border-box;
	min-width: 100px;
}
a.cat_label{
	color: inherit;
	text-decoration: none;
	transition: all 0.4s;
}


a.cat_label:hover{
	opacity: 0.7;
}
.news_oshirase{
	background: #239c70;
	color: #fff !important;
}
.news_recruit{
	background: #c35089;
	color: #fff !important;
}
.news_service{
	background: #2c539a;
	color: #fff !important;
}

/*works*/
.works_cat{
	display: inline-block;
	background: #fff;
	line-height: 1;
	padding: 4px 10px;
	margin-right: 10px;
	text-align: center;
	box-sizing: border-box;
	border-width: 1px;
	border-style: solid
}
a.works_cat{
	text-decoration: none;
	transition: all 0.4s;
}
.works_seizou,
a.works_seizou{
	border-color: #c35089 !important;
	color: #c35089 !important;
}
.works_sekkei,
a.works_sekkei{
	border-color: #2c539a !important;
	color: #2c539a !important;
}
a.works_cat:hover{
	opacity: 0.7;
}


/*----------------------------------------
	recruit
----------------------------------------*/

.recruit_text{
	padding-top: 100px;
}




/*----------------------------------------
	新着情報一覧
----------------------------------------*/

.topics_list li{
	list-style: none;
	margin-bottom: 20px;
	position: relative;
}
.topics_list li a{
	display: block;
	text-decoration: none;
	color: inherit;
}
.topics_list li a:hover{ opacity: 0.7; }
.topics_list li a h3{
	word-wrap: break-word;
	word-break: break-all;
}
.photo_area{ position: relative; }
.topics_list .photo_area{
	width: 20.45%;
	float: left;
}
.topics_list .entry_data{
	float: right;
	width: 77.27%;
}
.topics_list.under_list .photo_area{ width: 24%; }
.topics_list.under_list .entry_data{ width: 73.33%; }
.entry_data p{
	word-break: break-all;
	word-wrap: break-word;
}

@media screen and (max-width: 768px){

	.topics_list li{
		padding-top: 10px;
		padding-bottom: 10px;
	}

}/*END*/

/*----------------------------------------
	一覧ページャー
----------------------------------------*/

.pager{
	position: relative;
	overflow: hidden;
}
.pager ul{
	position: relative;
	float: left;
	left: 50%;
}
.pager li{
	position: relative;
	float: left;
	left: -50%;
	color:#000;
	list-style: none;
	margin-left: 2px;
	margin-right: 2px;
}
.pager li a,
.pager li .current{
	display: inline-block;
	text-align: center;
}
.pager li a{
	background: #a6937c;
	color:#fff;
	text-decoration: none;
	width: 50px;
	padding-top: 20px;
	padding-bottom: 20px;
}
.pager li a.prev,
.pager li a.next{
	width: 100px;
	position: relative;
	box-sizing: border-box;
}
.pager li a.prev{
	margin-right: 50px;
	padding-left: 25px;
}
.pager li a.next{
	margin-left: 50px;
	padding-right: 25px;
}
.pager li a.prev:before,
.pager li a.prev:after,
.pager li a.next:before,
.pager li a.next:after{
	content: "";
	background: #fff;
	position: absolute;
	top: 50%;
	height: 1px;
}
.pager li a.prev:before{
	width: 20px;
	left: 10px;
}
.pager li a.next:before{
	width: 20px;
	right: 10px;
}
.pager li a.next:after{
	width: 6px;
	right: 10px;
	transform: rotate(45deg);
	margin-top: -3px;
}
.pager li a.prev:after{
	width: 6px;
	left: 10px;
	transform: rotate(-45deg);
	margin-top: -3px;
}
.pager li .current{
	background: #d1c0a5;
	color:#fff;
	width: 50px;
	padding-top: 20px;
	padding-bottom: 20px;
}
.pager li a:hover{
	color: #fff;
	background: #d1c0a5;
}

@media screen and (max-width: 599px){

	.pager li{ font-size: 1.1rem; }
	.pager li a,
	.pager li .current{
		width: 30px;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.pager li a.prev,
	.pager li a.next{
		width: 60px;
	}
	.pager li a.prev{ margin-right: 4px; }
	.pager li a.next{ margin-left: 0; }
	.pager li a.prev:before{
		width: 15px;
	}
	.pager li a.next:before{
		width: 15px;
	}

}/*END*/





/*----------------------------------------
	footer
----------------------------------------*/

.foot_contact{
	background: #efefef;
}
.foot_contact a{
	position: relative;
	display: block;
	width: 47.12%;
	margin-bottom: 20px;
}
.foot_contact a:first-child{
	float: left;
}
.foot_contact a:last-child{
	float: right;
}
.foot_contact a:last-child .foot_circle{
	position: absolute;
	right: 15px;
	top: -40px;
	width: 17.07%;
}


footer{
	background: #115e19;
	color: #fff;
	padding-top: 60px;
	padding-bottom: 60px;
}
footer a{
	color: #fff;
	text-decoration: none;
}
small{
	display: block;
	font-size: 1.2rem;
	text-align: center;
	margin-right: auto;
	margin-left: auto;
}
.foot_service li{
	float: left;
	margin-right: 30px;
}
.foot_service li:nth-child(2n+1){
	clear: both;
}


@media print, screen and (min-width: 800px){

	.foot_inner{
		max-width: 1140px;
		margin-right: auto;
		margin-left: auto;
		box-sizing: border-box;
		padding-right: 20px;
		padding-left: 20px;
	}
	.foot_add{
		float: left;
		width: 40%;
	}
	.foot_logo{
		display: block;
		max-width: 330px;
	}
	.foot_menu{
		float: right;
		width: 50%;
		margin-bottom: 80px;
	}
	.foot_menu ul{
		float: left;
		width: 40%;
		line-height: 2;
		font-size: 1.5rem;
	}
	.foot_menu ul:nth-child(1){
		width: 70%;
	}
	.foot_menu ul:nth-child(2){
		width: 30%;
	}

	.foot_menu li{
		margin-bottom: 5px;
	}
	.foot_menu ul ul{
		float: none;
		font-size: 1.3rem;
		padding-left: 1em;
		width: 100% !important;
	}


}/*END*/

@media print, screen and ( max-width: 799px){

	.foot_contact a{
		width: 100%;
		float: none !important;
		max-width: 410px;
		margin-right: auto;
		margin-left: auto;
	}
	.foot_contact a:first-child{
		margin-bottom: 60px;
	}
	footer{
		padding-top: 40px;
		padding-bottom: 20px;
	}
	.foot_logo{
		display: block;
		max-width: 330px;
		width: 60%;
	}

	.foot_inner{
		padding-left: 4%;
		padding-right: 4%;
	}
	.foot_menu ul{
		line-height: 2;
		float: left;
		width: 50%;
		margin-bottom: 40px;
	}
	.foot_menu ul li{
		margin-bottom: 10px;
	}
	.foot_menu ul ul{
		float: none;
		margin-bottom: 0;
		padding-left: 1em;
	}
	.foot_add{
		margin-bottom: 50px;
	}

}/*END*/


.page_top{
	position: fixed;
	right: 15px;
	z-index: 100;
	background-color: rgba(0,0,0,0.8);
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	font-size: 1.3rem;
	text-align: center;
	color: #fff;
	text-decoration: none;
	z-index: 2;
	bottom: 45px;
	box-sizing: border-box;
	padding-top: 25px;
	font-weight: 500;
	transition: all 0.4s;
}
.page_top:hover{
	background: #000;
	color: #fff;
	text-decoration: none;
}
.page_top span:before,
.page_top span:after{
	content: "";
	background: #fff;
	width: 10px;
	height: 1px;
	position: absolute;
	left: 50%;
	top: 14px;
	display: inline-block;
}
.page_top span:before{
	transform: rotate(45deg);
	margin-left: -2px;
}
.page_top span:after{
	transform: rotate(-45deg);
	margin-left: -9px;
}


@media print, screen and (min-width: 769px){

	.foot_inner{
		max-width: 1080px;
		margin-left: auto;
		margin-right: auto;
		width: 100%;
		padding-right: 20px;
		padding-left: 20px;
	}
	.foot_inner ul{
		margin-bottom: 20px;
	}
	.foot_inner li{
		font-weight: 500;
		margin-left: 7px;
		margin-right: 7px;
	}
	.foot_inner p,
	small{
		font-weight: bold;
	}

}/*END*/

@media screen and (max-width: 768px){

	.foot_inner ul{
		margin-bottom: 20px;
	}
	.foot_inner li a{
		display: block;
		padding-top: 5px;
		padding-bottom: 5px;
	}

}/*END*/