@charset "utf-8";

div.parallax {
	height: auto;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
}

.iphone div.parallax,
.ipad div.parallax,
.ipod div.parallax {
	height: auto;
	background-position: top center;
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-size: cover;
}

.productList .linkBtn,
.company .linkBtn,
.works .linkBtn,
.blog .linkBtn {
	width: 10em;
	margin: 0 auto;
	text-align: center;
	font-size: 1em;
}

.productList .linkBtn a,
.company .linkBtn a,
.works .linkBtn a,
.blog .linkBtn a {
	display: block;
	padding: 10px;
	border: 1px solid #fff;
	background: rgba(11,88,56,1);
	color: #fff;
}

.productList .linkBtn a:hover,
.company .linkBtn a:hover,
.works .linkBtn  a:hover,
.blog .linkBtn a:hover {
	background: #f47721;
}


/* ---------------------------------------------
	business
--------------------------------------------- */
.parallax_img1 {
	padding-top: 240px;
	padding-bottom: 100px;
}

.business {
	padding: 0 10px;
}

.business .txt01 {
	text-align: center;
	font-size: 2.5em;
	font-weight: bold;
	margin-bottom: 30px;
	line-height: 1.6;
	color: #fff;
	text-shadow: 0 0 5px rgba(0,0,0,0.8);
}

.business .txt02 {
	width: 100%;
	max-width: 960px;
	text-align: center;
	font-size: 1.25em;
	margin:  0 auto 40px;
	line-height: 1.6;
	color: #fff;
	text-shadow: 0 0 5px rgba(0,0,0,1);
	background: rgba(11,88,56,0.7);
	padding: 20px;
}

.company {
	background: #CCD5BF;
	background: #d8e3c8;
	padding: 50px 0;
}

.company .companyPhoto {
	max-width: 980px;
	padding: 0 10px;
	margin: -100px auto 50px;
}

.company .companyPhoto ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.company .companyPhoto ul li {
	width: 32%;
	margin-right: 2%;
	text-align: center;
}

.company .companyPhoto ul li:last-child {
	margin-right: 0;
}

.company .companyPhoto ul li img {
	border-radius: 50%;
	margin-bottom: 10px;
	border: 4px solid #fff;
	max-width: 240px;
}

.company .companyPhoto ul li p {
	text-align: center;
	font-size: 0.88em;
	font-weight: bold;
	color: #0b5838;
}

.advantage {
	max-width: 980px;
	margin: 0 auto 50px;
	padding: 0 10px;
}

.advantage > p {
	text-align: center;
	font-size: 1.875em;
	margin-bottom: 50px;
	color: #0b5838;
	line-height: 1.6;
}

.advantage > p span {
	border-bottom: 3px double #0b5838;
	padding: 0 1em 5px;
}

.advantage > ul:after {
	content: "";
	display: block;
	clear: both;
}

.advantage > ul > li {
	float: left;
	width: 32%;
	margin-right: 2%;
	margin-bottom: 20px;
}

.advantage > ul > li:nth-child(3n) {
	margin-right: 0;
}

.advantage > ul > li h3 {
	font-size: 1em;
	font-weight: bold;
	margin-bottom: 10px;
}

.advantage > ul > li h3:before {
	content: "\f0fe";
	font-family: FontAwesome;
	margin-right: 0.3em;
	color: #0b5838;
}

.advantage > ul > li img {
	margin-bottom: 10px;
	border-radius: 4px;
}

.advantage > ul > li p {
	font-size: 0.94em;
	line-height: 1.5;
}

/* ---------------------------------------------
	product
--------------------------------------------- */
.product {
	max-width: 980px;
    margin: 0 auto 40px;	
}

.product > h2 {
	text-align: center;
	font-size: 1.25em;
	color: #666;
	margin-bottom: 20px;
}

.product .txt01 {
	text-align: center;
	font-size: 1.875em;
	margin-bottom: 30px;
	padding: 0 20px;
	line-height: 1.6;
	color: #0b5838;
}

.product .txt02 {
	font-size: 1.00em;
	line-height: 2;
	color: #666;
}

.productList {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 10px 30px;
}

.productList ul {
	margin-bottom: 40px;
}

.productList ul:after {
	content: "";
	display: block;
	clear: both;
}

.productList ul li {
	float: left;
	width: 31.3333%;
	margin-right: 3%;
	border: 1px solid #999;
}

.productList ul li a {
	display: block;
	padding: 0 0 20px;
	height: 310px;
}

.productList ul li a:hover {
	background: rgba(255,255,255,0.2);
}

.productList ul li:last-child {
	margin-right: 0;
}

.productList ul li img {
	margin-bottom: 20px;
}

.productList ul li h2 {
	text-align: center;
	color: #fff;
	font-size: 1.25em;
	margin-bottom: 10px;
	padding: 0 10px;
}

.productList ul li h2:before {
	content: "\f0a9";
	font-family: FontAwesome;
	margin-right: 0.3em;
}

.productList ul li p {
	color: #fff;
	font-size: 0.88em;
	line-height: 1.5;
	padding: 0 20px;
}

.product1 { background: #00a480; }
.product2 { background: #f48024; }
.product3 { background: #eb5a46; }


/* ---------------------------------------------
	blog
--------------------------------------------- */
.blog {
	padding: 50px 20px;
	border-bottom: 3px solid #0b5838;
	background: url(../img/bg_blog.png);
}

.blogList {
	max-width: 800px;
	margin: 0 auto 30px;
}

.blogList h2 {
	text-align: center;
	font-size: 2.125em;
	margin-bottom: 30px;
	line-height: 1.6;
	color: #0b5838;
}

.blogList dl {
	padding-top: 5px;
	border-top: 1px dotted #0b5838;
}

.blogList dl dt {
	clear: both;
	float: left;
	width: 7.5em;
	font-size: 0.88em;
	padding-left: 0.5em;
}

.blogList dl dd {
	margin-bottom: 5px;
	padding-bottom: 5px;
	padding-left: 7.5em;
	padding-right: 0.5em;
	border-bottom: 1px dotted #0b5838;
	font-size: 0.88em;
}

/* ---------------------------------------------
	works
--------------------------------------------- */
.works {
	background: url(../img/product_bg.jpg) no-repeat;
	background-size: cover;
	background-position: bottom center;
	padding: 50px 10px;
}

.worksLead {
	max-width: 980px;
	margin: 0 auto;
	padding: 0 20px;
}

.worksLead h2 {
	text-align: center;
	font-size: 2.125em;
	margin-bottom: 30px;
	line-height: 1.6;
	color: #0b5838;
}

.worksLead p {
	font-size: 1.00em;
	text-align: center;
	line-height: 2;
	margin-bottom: 30px;
}

#worksData {
	margin-bottom: 40px;
}

/* ---------------------------------------------
	use
--------------------------------------------- */
.useBG {
	padding: 50px 20px;
}

.use {
	max-width: 960px;
	margin: 0 auto;
}

.use .txt01 {
	text-align: center;
	font-size: 1.875em;
	margin-bottom: 30px;
	line-height: 1.6;
	color: #0b5838;
}

.use .txt01 span {
	display: block;
}

.use:after {
	content: "";
	display: block;
	clear: both;
}

.useL {
	float: left;
	width: 55%;
}

.useR {
	float: right;
	width: 45%;
	padding-left: 30px;
}

.useL dl dt {
	font-size: 1em;
	font-weight: bold;
	color: #0b5838;
}

.useL dl dt:before {
	content: "\f013";
	font-family: FontAwesome;
	margin-right: 0.3em;
}

.useL dl dd {
	font-size: 0.94em;
	line-height: 1.6;
	padding-left: 1em;
	margin-bottom: 15px;
}

.sdgs-link {
	margin: 30px auto 0;
	text-align: center;
}
.sdgs-link img {
	width: 50%;
	background: #fff;
}
.sdgs-link img:hover {
	filter: opacity(60%);
}
/* ---------------------------------------------
	960px 以下
--------------------------------------------- */
@media only screen and (max-width: 960px) {

	/* ---------------------------------------------
		business
	--------------------------------------------- */
	.business .txt01 {
		font-size: 1.875em;
	}
	
	.business .txt02 {
		max-width: 800px;
		font-size: 1.00em;
	}
	
	.advantage {
		margin: 0 auto 30px;
	}
	
	.advantage > p {
		font-size: 1.625em;
	}
	.sdgs-link {
		margin-top: 30px;
	}
		
	/* ---------------------------------------------
		product
	--------------------------------------------- */
	.product > h2 {
		font-size: 1.12em;
	}

	.product .txt01 {
		font-size: 1.625em;
		margin-bottom: 20px;
	}
	
	.productList ul li a {
		height: 300px;
	}
	
	/* ---------------------------------------------
		works
	--------------------------------------------- */
	.worksLead h2 {
		font-size: 1.875em;
		margin-bottom: 20px;
	}
	

}

/* ---------------------------------------------
	769px 以上
--------------------------------------------- */
@media only screen and (min-width: 769px) {

	/* ---------------------------------------------
		business
	--------------------------------------------- */
	.advantage > ul > li:nth-child(4) {
		clear: both;
	}

}

/* ---------------------------------------------
	768px 以下
--------------------------------------------- */
@media only screen and (max-width: 768px) {

	div.parallax {
		height: auto;
		background-position: top center;
		background-repeat: no-repeat;
		background-attachment: scroll;
		background-size: 100% auto;	
	}
	
	.parallax_img1 {
		padding-top: 200px;
		padding-bottom: 60px;
	}

	.sdgs-link img {
		width: 70%;
		background: #fff;
	}
	.map-link img {
		width: 70%;
		background: #fff;
	}
}

/* ---------------------------------------------
	767px 以下
--------------------------------------------- */
@media only screen and (max-width: 767px) {

	/* ---------------------------------------------
		business
	--------------------------------------------- */
	.parallax_img1 {
		padding-top: 110px;
		padding-bottom: 60px;
	}
	
	.business .txt01 {
		font-size: 1.5em;
	}
	
	.business .txt02 {
		max-width: 640px;
		font-size: 0.94em;
	}
	
	.company {
		padding: 40px 0;
	}
	
	.company .companyPhoto {
		margin: -100px auto 50px;
	}
	
	.company .companyPhoto ul li img {
		border: 2px solid #fff;
	}
	
	.advantage > p {
		font-size: 1.375em;
		margin-bottom: 40px;
		line-height: 2;
	}
	
	.advantage > p span {
		border-bottom: 3px double #0b5838;
		padding: 0 0.5em 0px;
	}
	
	.advantage > ul > li {
		float: left;
		width: 49%;
		margin-right: 2%;
		margin-bottom: 20px;
	}
	
	.advantage > ul > li:nth-child(2n) {
		margin-right: 0;
	}

	.advantage > ul > li:nth-child(3) {
		margin-right: 2%;
	}

	.advantage > ul > li p {
		font-size: 0.88em;
		line-height: 1.4;
	}
	
	/* ---------------------------------------------
		product
	--------------------------------------------- */
	.product {
		margin: 0 auto 30px;	
	}
	
	.product > h2 {
		font-size: 1.00em;
	}
	
	.product .txt01 {
		font-size: 1.375em;
		margin-bottom: 30px;
	}
	
	.product .txt02 {
		font-size: 0.94em;
		line-height: 1.6;
	}

	.productList {
		padding: 0 20px;
	}
	
	.productList ul {
		margin-bottom: 30px;
	}
	
	.productList ul li {
		float: none;
		width: 100%;
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 15px;
	}
	
	.productList ul li a {
		height: auto;
	}
	
	.productList ul li:last-child {
		margin-right: auto;
	}
	
	.productList ul li h2 {
		font-size: 1.12em;
	}
	
	.productList ul li p {
		padding: 0 14px;
	}
	
	/* ---------------------------------------------
		works
	--------------------------------------------- */
	.worksLead h2 {
		font-size: 1.875em;
		margin-bottom: 30px;
	}
	
	.worksLead p {
		font-size: 0.94em;
		line-height: 1.6;
	}
	
	/* ---------------------------------------------
		use
	--------------------------------------------- */
	.use .txt01 {
		font-size: 1.375em;
		margin-bottom: 30px;
	}
	
	.useL {
		float: none;
		width: 100%;
	}
	
	.useR {
		float: none;
		width: 100%;
		max-width: 400px;
		margin: 0 auto 20px;
		padding-left: 0;
	}
	
	.useL dl dt {
		font-size: 0.94em;
	}
	
	.useL dl dd {
		font-size: 0.88em;
		line-height: 1.5;
	}

}

/* ---------------------------------------------
	640px 以下
--------------------------------------------- */
@media only screen and (max-width: 640px) {

	div.parallax {
		height: auto;
		background-position: top center;
		background-repeat: no-repeat;
		background-attachment: scroll;
		background-size: auto 500px;	
	}

	/* ---------------------------------------------
		business
	--------------------------------------------- */
	.parallax_img1 {
		padding-top: 100px;
		padding-bottom: 40px;
	}
	
	.business .txt01 {
		font-size: 1.375em;
	}
	
	.business .txt02 {
		max-width: 640px;
		font-size: 0.94em;
	}
	
	.company {
		padding: 30px 0;
	}
	
	.company .companyPhoto {
		max-width: 540px;
		margin: -70px auto 30px;
	}
	
	.company .companyPhoto ul li {
		width: 49%;
		margin-bottom: 15px;
		padding: 0 20px;
	}
	
	.company .companyPhoto ul li:nth-child(2n) {
		margin-right: 0;
	}
	
	.advantage > p {
		font-size: 1.25em;
	}
	
	/* ---------------------------------------------
		works
	--------------------------------------------- */
	.works {
		padding: 40px 0;
	}
	
	/* ---------------------------------------------
		use
	--------------------------------------------- */
	.useBG {
		padding: 40px 20px;
	}


}

/* ---------------------------------------------
	480px 以下
--------------------------------------------- */
@media only screen and (max-width: 480px) {

	/* ---------------------------------------------
		business
	--------------------------------------------- */
	.company .companyPhoto ul li {
		width: 49%;
		margin-bottom: 15px;
		padding: 0 10px;
	}
	
	.company .companyPhoto ul li p {
		font-size: 0.75em;
	}
	
	.advantage > ul > li {
		float: none;
		width: 100%;
		margin-right: 0;
	}
	
	.advantage > ul > li:nth-child(3) {
		margin-right: 0;
	}
	
	/* ---------------------------------------------
		use
	--------------------------------------------- */
	.use .txt01 {
		font-size: 1.25em;
		margin-bottom: 30px;
	}

}


.map-link {
	margin: 30px auto 0;
	text-align: center;
}
.map-link img {
	width: 50%;
	background: #fff;
}


