@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main {
	margin-bottom: 0 !important;
	padding: 0;
	background: url(../img/common/header_bg.jpg) repeat left top / 128px auto;
}
#main .mainVisual {
	margin-top: -19px;
	position: relative;
	z-index: 1000;
	background: url(../img/index/main_visual_bg.png) repeat-x center top;
}
#main .mainVisual .comBox {
	padding: 43px 10px 43px 0;
	position: relative;
	text-align: center;
}
#main .mainVisual h2 {
	margin-bottom: 40px;
	position: relative;
	z-index: 2;
}
#main .mainVisual .imgTxt {
	position: relative;
	z-index: 2;
}
#main .mainVisual .map {
	position: absolute;
	left: -10px;
	top: 45px;
}
#main .mainVisual .photo {
	position: absolute;
	right: -55px;
	top: -24px;
}
@media all and (max-width: 896px) {
	#main .mainVisual {
		margin-top: 0;
		z-index: 999;
		background-size: auto 100%;
	}
	#main .mainVisual .comBox {
		padding: 50px 0 5px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	#main .mainVisual h2 {
		width: 100%;
		margin-bottom: 10px;
	}
	#main .mainVisual .imgTxt {
		width: 65%;
	}	
	#main .mainVisual .imgTxt img {
	}
	#main .mainVisual .photo {
		position: static;
		width: 35%;
	}
	#main .mainVisual .map {
		margin: 0 auto;
		width: calc(100% - 150px);
		position: static;
	}
}
#main .constraints {
	margin: 2px auto 45px;
	color: #4D4D4D;
}
#main .constraints h2 {
	margin-bottom: 20px;
	text-align: center;
	font-size: 1.6rem;
}
#main .constraints h2 img {
	margin: 0 auto 6px;
	display: block;
}
#main .constraints h3 {
	margin-bottom: 28px;
	text-align: center;
}
#main .constraints ul {
	margin-left: 50px;
	counter-reset: section;
}
#main .constraints li {
	margin: 0 22px;
	padding: 108px 12px 50px 8px;
	width: 202px;
	position: relative;
	text-align: center;
	font-weight: bold;
	font-size: 1.7rem;
	line-height: 1.58;
	box-sizing: border-box;
	counter-increment: section;
	background: url(../img/index/constraints_bg01.png) no-repeat left top / 100% 100%;
}
#main .constraints li span {
	background: url(../img/index/line.png) repeat-x left bottom;
}
#main .constraints li:before {
	position: absolute;
	left: 50%;
	top: 0;
	color: #FFF;
	font-size: 9.5rem;
	line-height: 1;
	font-weight: bold;
	font-style: italic;
	transform: translateX(-50%);
	content: counters(section, "");
	font-family: Arial, Helvetica, "sans-serif";
}
#main .constraints li:nth-child(2) {
	background-image: url(../img/index/constraints_bg02.png);
}
#main .constraints li:nth-child(3) {
	background-image: url(../img/index/constraints_bg03.png);
}
@media all and (-ms-high-contrast:none) {
	#main .constraints li span {
		background-position: left bottom 5px;
	}
}
@media all and (max-width: 896px) {
	#main .constraints {
		margin: 20px 15px !important;
	}
	#main .constraints h2 {
		font-size: 1.3rem;
	}
	#main .constraints ul {
		margin-left: 0;
	}
	#main .constraints li {
		margin: 0 5px;
		padding: 60px 0 20px;
		width: 140px;
		font-size: 1.2rem;
	}
	#main .constraints li span {
		background-size: auto 6px;
	}
	#main .constraints li:before {
		font-size: 6.5rem;
	}
}
#main .repair {
	padding: 43px 0 10px;
	color: #4D4D4D;
	background: url(../img/index/repair_bg.png) repeat center top / 100px 100px;
}
#main .repair .comBox {
	max-width: 942px;
}
#main .repair h2 {
	text-align: center;
	height: 144px;
	overflow: hidden;
}
#main .repair h2 span {
	padding: 18px 0 0;
	display: inline-block;
	width: 288px;
	height: 288px;
	font-size: 2.3rem;
	letter-spacing: 2px;
	box-sizing: border-box;
	background-color: #FFF;
	border-radius: 50%; 
}
#main .repair h2 img {
	margin-bottom: 10px;
}
#main .repair .list {
	margin: -28px 0 63px;
	padding: 68px 0 58px;
	display: flex;
	background-color: #FFF;
}
#main .repair .list li {
	width: 33.33%;
	text-align: center;
	border-right: 1px solid #B3B3B3;
}
#main .repair .list li:last-child {
	border: none;
}
#main .repair .list p {
	margin-bottom: 5px;
	display: flex;
	font-size: 1.8rem;
	font-weight: bold;
	justify-content: center;
	align-items: center;	
}
#main .repair .list .img {
	margin-bottom: 10px;
}
#main .repair .list .img img {
	height: 115px;
}
#main .repair .inner {
	margin: 0 22px 0 140px;
	display: flex;
	justify-content: space-between;
}
#main .repair .inner .photoBox {
	width: 46%;
}
#main .repair .inner .textBox {
	margin-top: 10px;
	width: 54%;
}
#main .repair .inner h3 {
	margin-bottom: 25px;
}
#main .repair .inner p {
	margin: 0 0 28px 85px;
	font-size: 1.4rem;
}
#main .repair .inner .comBtn02 {
	margin: 0 0 0 90px;
}
#main .repair .inner .comBtn02 a {
	margin: 0;
}
@media all and (max-width: 896px) {
	#main .repair {
		padding: 43px 0 30px;
	}
	#main .repair h2 {
		text-align: center;
		height: 100px;
	}
	#main .repair h2 span {
		padding: 5px 0 0;
		display: inline-block;
		width: 200px;
		height: 200px;
		font-size: 2rem;
	}
	#main .repair h2 img {
		width: 20px;
		margin-bottom: 5px;
	}
	#main .repair .list {
		margin: 0 0 20px;
		padding: 10px;
		flex-wrap: wrap;
	}
	#main .repair .list li {
		padding: 20px 10px;
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #B3B3B3;
	}
	#main .repair .inner {
		margin: 0 22px 0;
		flex-wrap: wrap;
		justify-content: center;
	}
	#main .repair .inner .photoBox {
		width: 80%;
	}
	#main .repair .inner .textBox {
		margin: 0 0 10px;
		width: 100%
	}
	#main .repair .inner h3 {
		margin-bottom: 25px;
		text-align: center;
	}
	#main .repair .inner p {
		margin: 0 0 10px;
		text-align: center;
	}
	#main .repair .inner .comBtn02 {
		margin: 0;
	}
	#main .repair .inner .comBtn02 a {
		margin: 0 auto;
	}
}
#main .case {
	margin-bottom: -20px;
	padding: 70px 0 125px;
	background-color: #FBF7EE;
}
#main .case .comBox {
	max-width: 806px;
}
#main .case li {
	padding: 30px 10px 30px;
	color: #4D4D4D;
	display: flex;
	justify-content: space-between;
	background: url(../img/index/line02.png) repeat-x left bottom / 8px auto; 
}
#main .case li:last-child {
	background: none;
}
#main .case h3 {
	width: 180px;
	font-size: 1.9rem;
	text-align: center;
}
#main .case h3 img {
	margin-bottom: 5px;
	width: 102px;
}
#main .case .comBtn02 {
	display: flex;
	align-items: center;
}
#main .case .txtBox {
	width: 380px;
	display: flex;
	line-height: 1.57;
	align-items: flex-start;
}
#main .case .txtBox span {
	background-color: #FFF233;
}
@media all and (max-width: 896px) {
	#main .case {
		padding: 10px 20px 30px;
	}
	#main .case li {
		display: block;
	}
	#main .case h3 {
		margin-bottom: 20px;
		width: 100%;
	}
	#main .case h3 img {
		width: 80px;
	}
	#main .case .txtBox {
		margin-bottom: 20px;
		width: 100%;
	}
}