@charset "utf-8";
/*----------------------------------------------------
Default Layout
----------------------------------------------------*/
html{
	overflow-y:scroll;
	font-size:62.5% !important;
}
body{
	width:100%;
	margin:0;
	padding:0;
	color:#222;
	font-family:Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	/*font-family:Times New Roman , "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN , "MSP明朝","MS PMincho","MS 明朝",serif; ←明朝体の場合*/
	line-height:1.6;
	letter-spacing:0.125em;
	font-size:14px;
	font-size:1.4rem;
}
/* --- link --- */
a,
a:link,
a:visited {
	color:#000;
	outline:none;
	text-decoration:underline;
}
a:hover,
a:active,
a:focus {
	color:#000;
	text-decoration:none;
}

ul,
ol {
	margin:0;
	padding:0;
}
ul li,
ol li {
	list-style: none;
}


/*----------------------------------------------------
General Layout
----------------------------------------------------*/
/* --- clear fix --- */
.cf{zoom:1;}
.cf:before,.cf:after{content:""; display:table;}
.cf:after{clear:both;}

.img-l{
	float:left;
	margin:0 10px 10px 0;
}
.img-r{
	float:right;
	margin:0 0 10px 10px;
}
.layout-l{
	text-align:left;
}
.layout-c{
	text-align:center;
}
.layout-r{
	text-align:right;
}
.txt-small{
	font-size:12px;
	font-size:1.2rem;
}
.txt-large{
	font-size:20px;
	font-size:2.0rem;
}
.btn{
	text-align:center;
}
#page a:hover img,
#page a:active img,
#page a:focus img {
	opacity:0.8;
	filter:alpha(opacity=80);
	-o-opacity:0.8;
	-ms-filter:"alpha(opacity=80)";
	-moz-opacity:0.8;
	-webkit-opacity:0.8;
	transition:opacity .2s linear;
	-o-transition:opacity .2s linear;
	-ms-transition:opacity .2s linear;
	-moz-transition:opacity .2s linear;
	-webkit-transition:opacity .2s linear;
}

.mgn_b10 {
	margin-bottom: 10px;
}
.mgn_b20 {
	margin-bottom: 20px;
}
.mgn_b30 {
	margin-bottom: 30px;
}
.mgn_b40 {
	margin-bottom: 40px;
}
.mgn_b50 {
	margin-bottom: 50px;
}
.mgn_b60 {
	margin-bottom: 60px;
}
.mgn_b70 {
	margin-bottom: 70px;
}

/*
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
*/


/*----------------------------------------------------
Base Layout PC
----------------------------------------------------*/

/*----------------------------
共通要素のレイアウト
----------------------------*/
/* --- header --- */
header {
	background: url(../images/hd_bg.jpg) center 0 no-repeat;
	background-size: cover;
}
header .header_inn {
	overflow: hidden;
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}
header .header_inn p {
	float: left;
	width: 10.71%;
}
header .header_inn nav {
	float: left;
	width: 89.29%;
}
header .header_inn nav ul {
	overflow: hidden;
	padding: 4.5% 0 0;
}
header .header_inn nav ul li {
	float: left;
	margin: 0 1.5%;
	padding: 0 0 0.5%;
	font-size: 16px;
}

header .header_inn nav ul li a,
header .header_inn nav ul li a:link,
header .header_inn nav ul li a:visited {
	color: #fff;
	text-decoration: none;
}
header .header_inn nav ul li a:hover,
header .header_inn nav ul li a:active,
header .header_inn nav ul li a:focus {
	text-decoration: none;
}
header .header_inn nav ul li:hover,
header .header_inn nav ul li:active,
header .header_inn nav ul li:focus,
header .header_inn nav ul li.active {
	border-bottom: 2px solid #fff;
}



/* --- footer --- */
footer {
	position: relative;
	padding: 30px 0 0;
	color: #fff;
	text-align: center;
	background: #2b61ac;
}
footer a,
footer a:link,
footer a:visited {
	color: #fff;
	text-decoration: none;
}

#btn_pagetop {
	position: fixed;
	width: 60px;
	height: 60px;
	right: 2%;
	bottom: 2%;
}

footer dl {
	margin: 0 0 20px;
}
footer dl dt {
	margin: 0 0 10px;
	font-size: 20px;
}
footer dl dt img {
	margin-right: 10px;
}
footer ul {
	margin: 0 0 25px;
	text-align: center;
}
footer ul li {
	display: inline-block;
	margin: 0 1%;
	width: 26.5%;
}
footer ul li a,
footer ul li p {
	display: inline-block;
	width: 100%;
	height: auto;
	min-height: 50px;
	vertical-align: middle;
	font-size: 20px;
	line-height: 1.2;
	border: 1px solid #fff;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
footer ul li a:hover,
footer ul li a:active,
footer ul li a:focus {
	color: #2b61ac;
	background: #fff;
	text-decoration: none;
}


footer ul li.tel p {
	padding-top: 1%;
}


footer ul li.fax p,
footer ul li.inq a {
	padding-top: 3%;
}

footer ul li.inq a img {
	margin-right: 10px;
}

footer ul li .small {
	font-size: 16px;
}
footer ul li .time {
	display: block;
	font-size: 14px;
}

footer .copyright  {
	font-size: 12px;
	background: #00479d;
}




/* --- contents --- */
.content {
	background: url(../images/bg_ft.jpg) center bottom no-repeat;
}
.content_bg {
	background: url(../images/bg_hd.jpg) center top no-repeat;
}
.content_inn {
	width: 100%;
	max-width: 940px;
	margin: 0 auto;
	padding: 0 0 115px;
}
.content_inn img {
	width: 100%;
}



/* --- main_title --- */
.main_title {
	background: #238700;
	opacity:0.55;
	filter:alpha(opacity=55);
	-o-opacity:0.55;
	-ms-filter:"alpha(opacity=55)";
	-moz-opacity:0.55;
	-webkit-opacity:0.55;
}
.main_title h1 {
	padding: 3% 0 10px;
	text-align: center;
	font-size: 0;
}
.main_title .topicpath {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 5px 0;
	overflow: hidden;
	font-size: 12px;
	color: #fff;
}
.main_title .topicpath li {
	float: left;
}
.main_title .topicpath li a {
	display: block;
	position: relative;
	padding-right: 18px;
	margin-right: 2px;
}
.main_title .topicpath li a:after {
	position: absolute;
	content: "＞";
	top: 0;
	right: 0;
}
.main_title .topicpath a,
.main_title .topicpath a:link,
.main_title .topicpath a:visited {
	color: #fff;
	text-decoration: none;
}
.main_title .topicpath a:hover,
.main_title .topicpath a:active,
.main_title .topicpath a:focus {
	text-decoration: underline;
}
.main_title .topicpath li a:hover:after,
.main_title .topicpath li a:active:after,
.main_title .topicpath li a:focus:after {
	text-decoration: none;
}



/* --- h_title --- */
.content_inn h2 {
	position: relative;
	padding: 8px 0 8px 56px;
	margin: 60px -20px 25px;
	font-size: 28px;
	font-weight: normal;
	line-height: 1.2;
	border-bottom: 1px solid #000;
}
.content_inn h2:before {
	content: "";
	position: absolute;
	width: 36px;
	height: 61px;
	top: 0;
	left: 0;
	background: url(../images/icon_title.png) 0 0 no-repeat;
}

.content_inn h3 {
	margin: 0 0 20px;
	padding: 0 10px;
	color: #fff;
	font-size: 18px;
	background: #336cb1;
}



/* --- column --- */
.content_inn .column2_01 {
	overflow: hidden;
}
.content_inn .column2_01 .left {
	float: left;
	width: 66%;
	padding-top: 10px;
}
.content_inn .column2_01 .right {
	float: right;
	width: 31.915%;
}

.content_inn .column2_02 {
	overflow: hidden;
}
.content_inn .column2_02 .left {
	float: left;
	width: 54%;
}
.content_inn .column2_02 .right {
	float: right;
	width: 44.68%;
}




/* --- table --- */
.table {
	width: 100%;
	border-left: 1px solid #000;
	border-top: 1px solid #000;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.table th,
.table td {
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.table td {
	background: #fff;
}



.table.layout01 th,
.table.layout01 td {
	width: 25%;
	text-align: center;
	font-weight: bold;
}
.table.layout01 th {
	padding: 5px;
	color: #fff;
	background: #8abd69;
}
.table.layout01 td {
	padding: 15px 5px;
	line-height: 2;
	vertical-align: top;
}
.table.layout01 td p {
	line-height: 1.2;
	margin-bottom: 15px;
}


.table.layout02 th,
.table.layout02 td {
	padding: 10px;
}
.table.layout02 th {
	white-space: nowrap;
	background: #9cc7d8;
}


.table.layout03 th,
.table.layout03 td {
	padding: 5px 10px;
}
.table.layout03 th {
	width: 16%;
	color: #fff;
	background: #8abd69;
}
.table.layout03 td.table_color01 {
	width: 24%;
	background: #ddebb0;
}


/*----------------------------
トップページ
----------------------------*/
.page_top {}


.page_top header .header_inn h1 {
	float: left;
	width: 10.71%;
}

.page_top header .header_inn .header_lead {
	clear: both;
	margin: 3% 0 0 10%;
	width: 42.142%;
}
.page_top header .header_inn .header_lead img {
	width: 100%;
	max-width: 413px;
}
.page_top header .header_inn .header_spacer {
	width: 42.142%;
}
.page_top header .header_inn .header_spacer img {
	width: 100%;
	max-width: 412px;
}


.page_top .content {
	position: relative;
	margin-top: -320px;
	background: url(../images/bg_ft.jpg) center bottom no-repeat;
}
.page_top .content_bg {
	background: url(../images/top_visual_btm_bg.png) center 0 no-repeat;
    margin: 0 auto;
}
.page_top .content_inn {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 430px 0 60px;
}
@media screen and (max-width:1366px){
.page_top .content {
	position: relative;
	margin-top: -29%;
	background: url(../images/bg_ft.jpg) center bottom no-repeat;
    }
.page_top .content_bg {
	background: url(../images/top_visual_btm_bg.png) center 0 no-repeat;
	background-size: contain;
}
.page_top .content_inn {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 38% 0 60px;
}
}

.page_top .content_inn .top_pr01 {
	overflow: hidden;
}
.page_top .content_inn .top_pr01 li {
	float: left;
	width: 31%;
	margin: 0 0 4.081% 3.5%; 
}
.page_top .content_inn .top_pr01 li:first-child {
	margin-left: 0;
}
.page_top .content_inn .top_pr01 li img {
	width: 100%;
	max-width: 300px;
	height: auto;
}

.page_top .content_inn .top_pr02 {
	overflow: hidden;
}
.page_top .content_inn .top_pr02 li {
	float: left;
	width: 48%;
	margin: 0 0 4.081% 3.5%; 
}
.page_top .content_inn .top_pr02 li:first-child {
	margin-left: 0;
}
.page_top .content_inn .top_pr02 li img {
	width: 100%;
	max-width: 470px;
	height: auto;
}



.page_top .content_inn h2 {
	border-bottom: none;
	padding: 0;
	margin: 0;
}
.page_top .content_inn h2:before {
	display: none;
}

.page_top .content_inn .top_recycle {
	display: table;
	width: 100%;
	margin: 0 0 30px;
}
.page_top .content_inn .top_recycle span {
	display: table-cell;
	background: url(../images/line_green.png) 0 50% repeat-x;
}
.page_top .content_inn .top_recycle span.title {
	width: 68%;
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	background: none;
}
.page_top .content_inn .top_recycle_txt {
	text-align: center;
	line-height: 2;
	font-size: 16px;
}




/*----------------------------
事業内容
----------------------------*/
.page_contents {}

.page_contents .content_img01 {
	width: 75.532%;
	margin: 0 auto 10px;
}
.page_contents .content_img02 {
	width: 94.575%;
	margin: 0 auto;
}




/*----------------------------
生産設備
----------------------------*/
.page_facility {}

.page_facility .facility_column {
	margin: 0 auto 30px;
	width: 100%;
	max-width: 640px;
	overflow: hidden;
}
.page_facility .facility_column .left {
	float: left;
	width: 46.875%;
}
.page_facility .facility_column .right {
	float: right;
	width: 46.875%;
}

.page_facility .fcility_description {
	clear: both;
	padding: 10px 0 0;
}
.page_facility .fcility_description dt {
	color: #23ac38;
	font-size: 18px;
	font-weight: bold;
	border-bottom: 1px solid #000;
}

.page_facility .facility_img img {
	width: 100%;
	max-width: 420px;
}




/*----------------------------
会社概要
----------------------------*/
.page_company .gmap {
	position: relative;
	padding-bottom: 31.914%;
	height: 0;
	overflow: hidden;
}
.page_company .gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.page_company .company_access {
	margin: 10px 0 0;
}
.page_company .company_access dt {
	font-weight: bold;
	font-size: 18px;
}




/*----------------------------
採用情報
----------------------------*/
.page_recruit {}

.page_recruit .salary_list {
	margin: 5px 0 0;
	overflow: hidden;
}
.page_recruit .salary_list dt {
	clear: both;
	float: left;
	width: 9em;
}
.page_recruit .salary_list dd {
	margin: 0 0 5px 9em;
}

.page_recruit .table.layout02 th {
	width: 20%;
	white-space: normal;
}






/*----------------------------------------------------
　Media Queries
 979px以下用（メインコンテンツの幅より小さくなった場合）の記述
----------------------------------------------------*/
@media screen and (max-width: 979px) {

	/*----------------------------
	共通要素のレイアウト
	----------------------------*/
	/* --- header --- */

	/* --- footer --- */
	footer ul li a,
	footer ul li p {
		font-size: 16px;
	}
	footer ul li.tel p {
		padding-top: 2%;
	}
	footer ul li.fax p,
	footer ul li.inq a {
		padding-top: 5%;
	}
	footer ul li .small {
		font-size: 14px;
	}
	footer ul li .time {
		display: block;
		font-size: 12px;
	}

	/* --- contents --- */
	.content {
		background-size: contain
	}
	.content_bg {
		background-size: contain
	}

	.main_title .topicpath,
	.content_inn {
		padding-right: 2%;
		padding-left:  2%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
	}

	/* --- h_title --- */
	.content_inn h2 {
		margin-right: -1%;
		margin-left: -1%;
	}




	/*----------------------------
	トップページ
	----------------------------*/
	.page_top .content {
		background-size: contain;
	}
	.page_top .content_inn {
		padding-right: 2%;
		padding-left:  2%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
	}



}





/*----------------------------------------------------
　Media Queries
 767px以下用（タブレット／スマートフォン用）の記述
----------------------------------------------------*/
@media screen and (max-width: 767px) {

	/*----------------------------
	共通要素のレイアウト
	----------------------------*/
	/* --- header --- */
	header .header_inn nav ul {
		padding: 3% 0 0;
	}
	header .header_inn nav ul li {
		font-size: 12px;
	}

	header .header_inn p img{
		width: 100%;
	}



	/* --- footer --- */
	footer ul li {
		display: block;
		margin: 0 auto 3%;
		width: 80%;
	}
	footer ul li.fax p,
	footer ul li.inq a {
		padding-top: 14px;
	}


	/*----------------------------
	トップページ
	----------------------------*/
	.page_top .content_inn .top_recycle span.title {
		font-size: 20px;
	}


}






/*----------------------------------------------------
 　Media Queries
  490px以下用（スマートフォン用）の記述
----------------------------------------------------*/
@media screen and (max-width: 490px){

	/*----------------------------
	共通要素のレイアウト
	----------------------------*/
	/* --- header --- */
	header .header_inn nav ul li {
		float: none;
		display: inline-block;
		margin: 0 3% 2%;
	}
	header .header_inn p {
		padding-top: 4%;
	}



	/* --- footer --- */
	footer ul li.fax p,
	footer ul li.inq a {
		padding-top: 5%;
	}



	/* --- main_title --- */
	.main_title h1 {
		padding: 6% 0 8px;
	}



	/* --- h_title --- */
	.content_inn h2 {
		font-size: 20px;
	}



	/* --- column --- */
	.content_inn .column2_01 .left,
	.content_inn .column2_02 .left {
		float: none;
		width: 95%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;
	}
	.content_inn .column2_01 .right,
	.content_inn .column2_02 .right {
		float: none;
		width: 95%;
		margin-left: auto;
		margin-right: auto;
	}



	/* --- table --- */
	.table.layout03 th,
	.table.layout03 td {
		padding: 5px;
	}
	.table.layout03 th {
		width: auto;
	}
	.table.layout03 td.table_color01 {
		width: auto;
	}




	/*----------------------------
	トップページ
	----------------------------*/
	.page_top header .header_inn .header_lead {
		margin: 0;
		padding: 4% 0 0 13%;
		width: 72%;
	}
	.page_top .content_inn .top_pr01 li {
		float: none;
		width: 70%;
		margin: 0 auto 4%; 
	}
	.page_top .content_inn .top_pr01 li:first-child {
		margin-left: auto;
	}
	.page_top .content_inn .top_pr02 li {
		float: none;
		width: 70%;
		margin: 0 auto 4%; 
	}
	.page_top .content_inn .top_pr02 li:first-child {
		margin-left: auto;
	}
	.page_top .content_inn .top_recycle {
		margin-top: 30px;
	}
	.page_top .content_inn .top_recycle span.title {
		line-height: 1.3;
	}
	.page_top .content_inn .top_recycle_txt {
		text-align: left;
	}



	/*----------------------------
	事業内容
	----------------------------*/
	.page_contents .content_img01 {
		width: 95%;
	}
	.page_contents .content_img02 {
		width: 95%;
	}



}










