@charset "UTF-8";
/* 下層共通 ------------------------------ */
.sub-visual {
	position: relative;
	padding: 6% 0;
}

.sub-visual::before {
	content: '';
	background: url("../img/bg-dotBk.png");
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
}

.sub-visual h2.page-tit {
	font-size: 35px;
	color: #fff;
	position: relative;
	z-index: 10;
	text-align: center;
	text-shadow: 0 0 8px black;
}

.sub-visual h2.page-tit span {
	display: block;
	font-size: 18px;
}

h3 {
	font-size: 28px;
	color: #00913a;
	text-align: center;
	margin-bottom: 70px;
	position: relative;
}

h3::after {
	content: '';
	background: #00913a;
	width: 25%;
	height: 2px;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
}

h4 {
	font-size: 26px;
	text-align: center;
	line-height: 2;
	margin-bottom: 50px;
}

h5 {
	font-size: 20px;
	position: relative;
	padding-left: 15px;
	margin-bottom: 10px;
}

h5::before {
	content: '';
	background: #00913a;
	width: 4px;
	height: 22px;
	top: 5px;
	left: 0;
	position: absolute;
}

.col02 {
	display: flex;
	flex-wrap: wrap;
}

.base {
	padding: 100px 0;
	/*margin-bottom: 70px;*/
}

/* 事業内容 -----------------------------  */
.business .sub-visual {
	background: url("../img/business/sub-business.png") no-repeat center / cover;
}

.business h4 {
	margin-bottom: 0;
}

.business .green-base {
	background: url("../img/bg-dot.png");
	padding: 100px 0 20px;
}

.business .green-base:last-child {
	padding: 100px 0;
}

.business .itemBox {
	padding: 90px 5%;
	margin-bottom: 30px;
	border: 2px solid #00913a;
	background: #fff;
}

.business .itemBox h2 {
	font-size: 35px;
	letter-spacing: .2em;
	margin-bottom: 50px;
	padding-top: 90px;
	text-align: center;
	color: #00913a;
	position: relative;
}

.business .itemBox h2::before {
	content: '';
	background: url("../img/business/icon-manufacturing.svg") no-repeat center / contain;
	width: 50px;
	height: 80px;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
}

.business .itemBox h2.assemble {
	padding-top: 60px;
}

.business .itemBox h2.assemble::before {
	background: url("../img/business/icon-assembly.svg") no-repeat center / contain;
	height: 50px;
}

.business .itemBox h3 {
	text-align: left;
	margin-bottom: 30px;
}

.business .itemBox h3::after {
	width: 100%;
}

.business .itemBox .project {
	margin-bottom: 100px;
}

.business .itemBox .project:last-of-type {
	margin-bottom: 0;
}

.business .itemBox .col02 .item {
	width: 49%;
	margin: 0 2% 0 0;
}

.business .itemBox .col02 .item:last-of-type {
	margin: 0 0 0 0;
}

.business .itemBox .col02 .item h5 {
	color: #00913a;
}

.business .itemBox .col02 .item .txt {
	margin-bottom: 30px;
	line-height: 2;
	font-size: 15px;
}

.business .itemBox .col02 .item .material li {
	display: inline-block;
	padding: 0 30px 0 20px;
	position: relative;
}

.business .itemBox .col02 .item .material li::before {
	position: absolute;
	content: '';
	width: 15px;
	height: 15px;
	border: 1px solid #333;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

/* 設備紹介 -----------------------------  */
.facilities .sub-visual {
	background: url("../img/business/sub-business.png") no-repeat center / cover;
}

.facilities .base {
	border-bottom: 1px solid #00913a;
}

.facilities .col03 {
	display: flex;
	flex-wrap: wrap;
}

.facilities .col03 .item {
	width: calc(94% / 3);
	margin-right: 3%;
	margin-bottom: 50px;
	position: relative;
}

.facilities .col03 .item:nth-of-type(3n) {
	margin-right: 0;
}

.facilities .col03 .item p.cap {
	font-size: 13px;
	position: absolute;
	bottom: -10px;
	right: 10px;
	background: #3db870;
	color: #fff;
	padding: 5px 10px;
}

.facilities table {
	width: 100%;
}

.facilities tr {
	border-bottom: 1px solid #bfbfbf;
}

.facilities tr:nth-of-type(even) {
	background: #ebfbf1;
}

.facilities th {
	background: #3db870;
	color: #fff;
	text-align: center;
	padding: 10px;
	font-size: 16px;
}

.facilities td {
	font-size: 15px;
	padding: 5px;
	border-right: 1px solid #bfbfbf;
}

.facilities td:first-of-type {
	border-left: 1px solid #bfbfbf;
}

.facilities td:first-of-type, 
.facilities td:nth-of-type(4),
.facilities td:nth-of-type(5) {
	text-align: center;
}

/* 制作事例 -----------------------------  */
.products .sub-visual {
	background: url("../img/business/sub-business.png") no-repeat center / cover;
}

.products .col04 .item {
	width: calc(100%/4);
	padding: 0 20px;
	margin: 0 0 40px;
	text-align: center;
}

.products .item p {
	margin: 0 auto;
	text-align: left;
	font-size: .9em;
	color: #666;
}


.products .item p.cap {
	margin: 10px auto 5px;
	text-align: center;
	font-size: 1.1rem;
}

.products .item .cap a {
	display: block;
	width: 100%;
	height: 100%;
	background: #3db870;
	color: #fff;
	padding: 5px 10px;	
}

.products .item .cap a:hover {
	opacity: .7;
}


/* 会社案内 -----------------------------  */
.about .sub-visual {
	background: url("../img/about/sub-about.png") no-repeat center / cover;
}

.about .base {
	border-bottom: 1px solid #00913a;
}

.about section.base:last-of-type {
	border: 0;
}

.about .greeting {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

.about .greeting .txt {
	font-size: 16px;
	line-height: 2;
}

.about .greeting .thum {
	float: right;
	margin: 0 0 10px 5%;
	width: 25%;
}

.about p.name {
	width: 100%;
	max-width: 900px;
	text-align: right;
	padding-top: 20px;
	margin: 0 auto;
}

.about .table01 {
	max-width: 450px;
	margin: 0 auto;
}

.about .table01 dl {
	display: table;
	width: 100%;
	padding: 0 2%;
	border-bottom: 1px dashed #bfbfbf;
}

/*.about .table01 dl:nth-child(even){
    background:#bee6ce 
}*/

.about .table01 dd,
.about .table01 dt {
	display: table-cell;
	padding: 10px;
}

.about .table01 dt {
	width: 30%;
}

.about .col02 .item {
	width: 45%;
	margin-bottom: 100px;
}

.about .col02 .item .image {
	margin-bottom: 10px;
}

.about .col02 .item p.data {
	font-size: 15px;
}

.about .col02 .map {
	width: 55%;
	padding-left: 3%;
	margin-bottom: 100px;
}

.about .col02 .map iframe {
	width: 100%;
	height: 100%;
}

.about .col02 .map a {
	display: block;
	text-align: right;
	font-size: 13px;
}

.about .table02 {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

.about .table02 dl {
	display: table;
	width: 100%;
	border-right: 1px solid #bfbfbf;
}

.about .table02 dt,
.about .table02 dd {
	display: table-cell;
	padding: 10px 20px;
}

.about .table02 dt {
	width: 20%;
	min-width: 85px;
	background: #3db870;
	color: #fff;
	border-bottom: 1px solid #fff;
	white-space: nowrap;
}

.about .table02 dl:last-of-type dt {
	border-bottom: 0;
}

.about .table02 dl:first-of-type dd {
	border-top: 1px solid #bfbfbf;
}

.about .table02 dd {
	border-bottom: 1px solid #bfbfbf;
}

.about ul.col02 {
	width: 100%;
	margin: 0 auto;
	max-width: 900px;
}

.about ul.col02 li {
	width: 50%;
	padding: 5px;
}

/* お問い合わせ -----------------------------  */
.contact .sub-visual {
	background: url("../img/sub-contact.png") no-repeat right / cover;
}

.contact .base .inner {
	max-width: 900px;
}

.contact p.point {
	font-size: 14px;
	margin-bottom: 50px;
}

.contact p.notice {
	padding: 15px;
	border: 4px solid #caead6;
	margin-bottom: 20px;
}

.contact p.error_messe {
	margin-bottom: 15px;
	font-size: 15px;
	color: #f11c1c;
}

.contact .box {
	border: 2px solid #00913a;
	padding: 20px;
	text-align: center;
	color: #3db870;
	font-size: 16px;
	margin-bottom: 50px;
}

.contact .box span {
	font-size: 25px;
	display: inline-block;
	vertical-align: sub;
}

.contact .box a {
	color: #3db870;
}

.contact .formArea {
	margin-bottom: 50px;
}

.contact .formArea dl {
	display: table;
	width: 100%;
	padding: 0 20px;
}

.contact .formArea dl:nth-child(even) {
	background: #f9f9f9;
}

.contact .formArea dt,
.contact .formArea dd {
	display: table-cell;
	padding: 15px 10px;
	font-size: 15px;
}

.contact .formArea dt {
	font-weight: 600;
	width: 25%;
}

.contact .formArea dt span.hissu {
	display: inline-block;
	color: #FFF;
	margin: 0 5px;
	font-size: 11px;
	background: #f11c1c;
	padding: 2px 5px;
	vertical-align: middle;
}

.contact .privacy {
	border: 1px solid #bfbfbf;
	padding: 13px;
	width: 100%;
	height: 300px;
	overflow: scroll;
	font-size: 14px;
}

.contact input,
.contact textarea {
	width: 100%;
	padding: 10px;
	font-size: 15px;
	background: #fff;
	border: 1px solid #bfbfbf;
	border-radius: 0;
	cursor: pointer;
}

.contact .sizeS {
	width: 50%;
}

.contact .sizeM {
	width: 80%;
}

.contact .sizeL {
	width: 100%;
}

.contact textarea {
	vertical-align: top;
}

.contact .submitBox {
	text-align: center;
	padding-top: 30px;
}

.contact input[type="submit"],
.contact input[type="reset"],
.contact input[type="button"],
.contact a.btn {
	display: inline-block;
	font-weight: 600;
	color: #00913a;
	border: 2px solid #00913a;
	background: #fff;
	margin: 0 10px 10px;
	padding: 8px 10px;
	width: 150px;
	transition: all .5s;
	-webkit-transition: all .5s;
}

.contact input[type="submit"]:hover,
.contact input[type="reset"]:hover,
.contact input[type="button"]:hover,
.contact a.btn:hover {
	color: #fff;
	background: #00913a;
}

@media screen and (max-width: 1023px) {
/* 1023px以下用（タブレット用）の記述 */
.business .green-base {
	padding: 50px 0;
}

.business .itemBox.inner {
	width: 95%;
}

.business .itemBox .col02 .item .txt {
	font-size: 14px;
}

.business .itemBox .col02 .item .material {
	margin-bottom: 30px;
}

.business .itemBox .col02 .item .material li {
	font-size: 15px;
}

.business .itemBox .col02 .item {
	width: 100%;
	margin: 0;
}
	
/* 制作事例 -----------------------------  */
.products .col04 .item {
	width: calc(100%/3);
	padding: 0 20px;
	margin: 0 0 40px;
}

	
	
}

@media screen and (max-width: 767px) {
/* 767px以下用（タブレット／スマートフォン用）の記述 */
h3 {
	font-size: 24px;
	margin-bottom: 40px;
}

h3::after {
	width: 50%;
	bottom: -7px;
}

h4 {
	font-size: 20px;
	line-height: 1.8;
	margin-bottom: 30px;
}

h5 {
	font-size: 16px;
}

h5::before {
	height: 17px;
}

.sub-visual {
	padding: 10% 0;
}

.sub-visual h2.page-tit {
	font-size: 28px;
}

.sub-visual h2.page-tit span {
	font-size: 14px;
}

.base {
	padding: 70px 0;
}

.business .itemBox {
	padding: 70px 5%;
}

.business .itemBox h2 {
	font-size: 30px;
	padding-top: 70px;
	margin-bottom: 30px;
}

.business .itemBox h2::before {
	width: 40px;
	height: 60px;
}

.business .itemBox h2.assemble::before {
	height: 40px;
}

.business .itemBox h2.assemble {
	padding-top: 50px;
}

.about .greeting .thum {
	margin: 0 0 10px 10px;
	width: 30%;
}

.about .greeting .txt {
	font-size: 15px;
}

.about .table01 dd,
.about .table01 dt,
.about ul.col02 li {
	font-size: 14px;
}

.about .table01 dl {
	padding: 0;
}

.about .table02 dt,
.about .table02 dd {
	padding: 10px;
	font-size: 14px;
}

.about .col02 .item p.data {
	font-size: 14px;
}

.facilities .scroll {
	overflow: auto;
	white-space: nowrap;
}

.facilities .col03 .item {
	width: 48%;
	margin-right: 2%;
	margin-bottom: 50px;
}

.facilities .col03 .item:nth-of-type(2n) {
	margin-right: 0;
}

.facilities th,
.facilities td {
	font-size: 14px;
}

.contact .box span {
	font-size: 20px;
}

.contact .formArea dl {
	padding: 0;
}

.contact .sizeM {
	width: 100%;
}

.contact .sizeS {
	width: 70%;
}
	
/* 制作事例 -----------------------------  */
.products .col04 .item {
	width: calc(100%/2);
	padding: 0 10px;
	margin: 0 0 40px;
}
	

}

@media screen and (max-width: 479px) {
/* 479px以下用（スマートフォン用）の記述 */
.pcOnly {
	display: none;
}

.about .greeting .thum {
	width: 45%;
}

.about .col02 .item {
	width: 100%;
	margin-bottom: 15px;
}

.about .col02 .map {
	width: 100%;
	padding: 0;
	height: 200px;
}

.about ul.col02 li {
	width: 100%;
	padding: 3px;
}

.facilities .col03 .item {
	width: 100%;
}

.contact .formArea dt,
.contact .formArea dd {
	display: block;
	width: 100%;
	padding: 5px 0;
}

.contact .formArea dl {
	padding: 15px 0;
	border-bottom: 1px dashed #bfbfbf;
}

.contact .formArea dl:last-of-type {
	border: none;
}

.contact .formArea dl:nth-child(even) {
	background: none;
}

/* 制作事例 -----------------------------  */
.products .col04 .item {
	padding: 0 5px;
	margin: 0 0 20px;
}
	
.products .item .cap {
	font-size: 12px;
	margin: 8px auto 0;	
}	
	
}

@media screen and (max-width: 360px) {
	/* 360px以下用（スマートフォン用）の記述 */
}
