#mainvisual {
	margin-bottom: 30px;
}

.photo img {
	width: 100%;
}

/* service */
.bnn_list01 {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
	width: 100%;
}
	.bnn_list01 li {
		width: 23.5%;
	}
.main_txt {
	margin-top: 30px;
	font-size: 2.0rem;
	text-align: center;
}
.main_txt.txtL {
	text-align: left;
}
.img_area {
	margin-top: 30px;
	text-align: center;
}
/* service */
.bnn_list02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
	width: 100%;
}
	.bnn_list02 li {
		margin-bottom: 40px;
		margin-right: 15px;
		width: calc((100% - 45px) / 3);
		min-width: 220px;
		box-shadow: 6px 6px 10px 0px rgba(0,0,0,0.3);
	}
	.bnn_list02 li:nth-last-child(1) {
		margin-bottom: 0;
		box-shadow: none;
	}
/* service */
.bnn_list03 {
	display: flex;
	flex-wrap: wrap;
	margin: 30px auto 0;
	max-width: 760px;
	justify-content: center;
}
	.bnn_list03 li {
		margin-bottom: 40px;
		width: 380px;
	}
/* support_production_operation support_knowledge_skill */
.bnn_list04 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
	width: 100%;
}
	.bnn_list04 li {
		margin-bottom: 20px;
		width: calc((100% - 40px) / 2);
	}
		.bnn_list04 li a {
			display: block;
			padding: 10px;
			color: #FFFFFF;
			font-size: 2.0rem;
			font-weight: bold;
			text-align: center;
			text-shadow: 2px 2px 1px rgba(0,0,0,0.3);
			text-decoration: none;
			box-shadow: 6px 6px 10px 0px rgba(0,0,0,0.3);
		}
		.bnn_list04 li.blue a {
			background-color: #4472c4;
		}
		.bnn_list04 li.orange a {
			background-color: #f4b183;
		}

.btn_maintenance_menu {
	margin-top: 30px;
	width: 100%;
	text-shadow: 2px 2px 1px rgba(0,0,0,0.3);
	box-shadow: 6px 6px 10px 0px rgba(0,0,0,0.3);
}
	.btn_maintenance_menu a {
		color: #FFFFFF;
		text-decoration: none;
	}
	.btn_maintenance_menu .goteian {
		padding: 10px 10px 5px;
		width: 100%;
		color: #FFFFFF;
		font-weight: bold;
		text-align: center;
		background-color: #f4b183;
		cursor: pointer;
	}
	.btn_maintenance_menu .goteian:hover {
		opacity: 0.6;
	}
		.btn_maintenance_menu .goteian .menu_title {
			position: relative;
			font-size: 2.0rem;
		}
			.btn_maintenance_menu.open .goteian .menu_title .arrow {
				display: none;
			}
			.btn_maintenance_menu .goteian .menu_title .arrow {
				position: absolute;
				top: 3px;
				display: inline-block;
				margin-left: 20px;
				width: 0;
				height: 0;
				border-top: solid 10px transparent;
				border-right: solid 15px transparent;
				border-bottom: solid 10px transparent;
				border-left: solid 15px #FFFFFF;
				vertical-align: top;
			}
			.btn_maintenance_menu .goteian .menu_title .open_arrow {
				display: none;
			}
			.btn_maintenance_menu.open .goteian .menu_title .open_arrow {
				position: absolute;
				top: 5px;
				display: inline-block;
				margin-left: 20px;
				width: 0;
				height: 0;
				border-top: solid 15px #FFFFFF;
				border-right: solid 10px transparent;
				border-bottom: solid 15px transparent;
				border-left: solid 10px transparent;
			}
		.btn_maintenance_menu .goteian .menu_flex {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			margin: 10px auto 0;
			width: 100%;
			max-width: 600px;
			text-align: left;
			font-size: 1.8rem;
		}
			.btn_maintenance_menu .goteian .menu_flex li {
				padding: 0 60px;
				width: 50%;
			}
	.btn_maintenance_menu .sub_menu {
		display: none;
	}
	.btn_maintenance_menu.open .sub_menu {
		display: block;
	}
		.btn_maintenance_menu .sub_menu .open_menu_flex {
			display: flex;
			flex-wrap: wrap;
			background-color: #FBE5D6;
			font-size: 2.0rem;
		}
			.btn_maintenance_menu .sub_menu .open_menu_flex li {
				width: 100%;
				border-top: 1px solid #DCDCDC;
				text-align: right;
			}
				.btn_maintenance_menu .sub_menu .open_menu_flex li a {
					display: block;
					padding: 5px 0;
					color: #666666;
				}
					.btn_maintenance_menu .sub_menu .open_menu_flex li a span {
						display: inline-block;
						padding-right: 100px;
						width: 300px;
						text-align: left;
					}

	.bnn_line01 {
		margin-top: 50px;
	}
		.bnn_line01 p {
			width: 600px;
		}
			.bnn_line01 p a {
				display: block;
				padding: 10px;
				color: #FFFFFF;
				font-size: 2.0rem;
				font-weight: bold;
				text-align: center;
				text-shadow: 2px 2px 1px rgba(0,0,0,0.3);
				text-decoration: none;
				box-shadow: 6px 6px 10px 0px rgba(0,0,0,0.3);
			}
			.bnn_line01 p.blue a {
				background-color: #4472c4;
			}

/* remodal */
.remodal {
	margin-top: 50px;
	padding: 15px;
	width: auto;
	max-width: none !important;
	border-radius: 5px;
}
	.remodal .close_btn {
		width: 40px;
		height: 40px;
		background-image: url(../images/common/close.png);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
		position: absolute;
		right: 0;
		top: -50px;
		cursor: pointer;
	}
	.remodal .modalimage img {
		width: 100%;
	}

@media screen and (max-width: 979px) {
	.bnn_list01 {
		flex-wrap: wrap;
		margin-left: auto;
		margin-right: auto;
		max-width: 600px;
	}
		.bnn_list01 li {
			margin-bottom: 30px;
			width: 48%;
		}
	.main_txt {
		font-size: 1.6rem;
	}
	.bnn_list02 {
		justify-content: center;
	}
		.bnn_list02 li {
			width: calc((100% - 30px) / 2);
			min-width: auto;
		}
	.bnn_list03 li {
		max-width: 380px;
	}
	.bnn_list04 {
		display: block;
	}
		.bnn_list04 li {
			width: auto;
		}
			.bnn_list04 li a {
				margin: 0;
				width: 100%;
			}
		.bnn_line01 p {
			width: auto;
		}
			.bnn_line01 p a {
				padding: 15px 0;
				font-size: 1.5rem;
			}
}


@media screen and (max-width: 767px) {
		.btn_maintenance_menu .goteian .menu_flex {
			font-size: 1.4rem;
		}
			.btn_maintenance_menu .goteian .menu_flex li {
				padding: 0;
			}
}

