@charset "utf-8";

/*--------------------------------------------
RESET
--------------------------------------------*/
#contents_outer {
    background: #fff!important;
}
#contents {
	width: 100%;
	padding-bottom: 80px;
	overflow: hidden;
}
.h1_section {
	display: none;
}
#path {
	width: 100%;
	margin: 0 auto;
	padding-top: 20px;
}

/*--------------------------------------------
COMMON
--------------------------------------------*/
.wrap,
.cont-main {
	max-width: 1080px;
	margin: auto;
}
.cont-main * {
    font-family: 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
	font-size: 18px;
	color: #333;
	line-height: 1.66;
	box-sizing: border-box;
}
.cont-main {
	margin: 70px auto 0;
}
.headline {
	font-size: 30px;
	font-weight: 500;
	color: #595656;
	line-height: 1.33;
	text-align: center;
	letter-spacing: 0.2em;
	margin-bottom: 56px;
}
	.headline__en {
		display: block;
		font-size: 18px;
		font-weight: 300;
		color: inherit;
		line-height: inherit;
		letter-spacing: 0.1em;
	}
.section {
	margin-top: -97px;
	padding-top: 97px;
}
	.section__inner {
		padding: 20px 30px 0;
	}
	.section__title {
		font-size: 25px;
		font-weight: 500;
		color: #fff;
		line-height: 1.33;
		background: linear-gradient(to right, rgb(170, 158, 158) 75%, rgb(255, 255, 255));
		padding: 9px 20px 8px;
	}

/*--------------------------------------------
MAIN VISUAL
--------------------------------------------*/
.hero {
	width: 100%;
	height: 400px;
	background: #eee;
}
	.hero__image {
		background-position: bottom -40px left 0px!important;
		width: 100%;
		height: 100%;
	}

/*--------------------------------------------
NAVIGATION
--------------------------------------------*/
.pageNav {
	margin-bottom: 80px;
}
	.pageNav-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
		.pageNav-list__link {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 346px;
			height: 175px;
			background-color: #fff;
			border: 1px solid #595656;
			font-size: 29px;
			font-weight: 500;
			line-height: 1.2;
			color: #595656;
			text-align: center;
			position: relative;
			transition: all .2s;
		}
		.pageNav-list__link::after {
			display: block;
			content: "";
			width: 8px;
			height: 8px;
			border-right: 2px solid #595656;
			border-bottom: 2px solid #595656;
			transform: rotate(45deg);
			position: absolute;
			left: 0;
			right: 0;
			bottom: 20px;
			margin: auto;
			transition: all .2s;
		}
		.pageNav-list__link:hover {
			background-color: #595656;
			text-decoration: none;
			color: #fff;
			transition: all .2s;
		}
		.pageNav-list__link:hover::after {
			border-right: 2px solid #fff;
			border-bottom: 2px solid #fff;
			transition: all .2s;
		}

/*--------------------------------------------
REASON
--------------------------------------------*/
.reason {
	margin-bottom: 80px;
}
	.reason-block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 31px;
	}
		.reason-card {
			width: 326px;
			min-height: 252px;
			border: 1px solid #595656;
			padding: 19px 18px 0;
		}
			.reason-data__title {
				font-size: 20px;
				font-weight: 500;
				text-align: center;
				margin-bottom: 9px;
			}
				.reason-data__title--num {
					display: block;
					font-size: 58px;
					font-weight: 300;
					line-height: 1;
					color: #967272;
					margin-bottom: 3px;
				}
			.reason-data__text {
				font-size: 16px;
				font-weight: 500;
				line-height: 1.625;
			}
			
	.problems__title {
		font-size: 25px;
		font-weight: 500;
		color: #7d6464;
		text-align: center;
		line-height: 1.33;
		margin-bottom: 35px;
	}
	.problems-image {
		margin: 0 0 33px 68px;
	}
	.problems-catch {
		margin-bottom: 14px;
	}
		.problems-catch__item {
			font-size: 25px;
			font-weight: 500;
			color: #7d6464;
			line-height: 1.33;
			text-align: center;
			margin-bottom: 30px;
		}
		.problems-catch__note {
			font-size: 20px;
			font-weight: 500;
		}

		.problemsBox-list {
			display: flex;
			flex-wrap: wrap;
		}
			.problemsBox-list__item {
				width: 196px;
			}
			.problemsBox-list__item:not(:last-child) {
				margin-right: 10px;
			}
	

/*--------------------------------------------
FLOW
--------------------------------------------*/
.flow {
	margin-bottom: 78px;
}
	.flow-panel__image {
		margin-bottom: 13px;
	}
	.flow-panel__caption {
		font-size: 20px;
		font-weight: 500;
		line-height: 1.5;
	}

/*--------------------------------------------
SERVICE
--------------------------------------------*/
	.service-block {
		margin-bottom: 32px;
	}
		.service-list {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}
	
	.business {
		margin-bottom: 75px;
	}
		.business-contents:not(:last-child) {
			margin-bottom: 40px;
		}
			.business__title {
				font-size: 20px;
				font-weight: 500;
				color: #7d6464;
				margin-bottom: 4px;
			}
			.businessDesc .business__title {
				margin-bottom: 10px;
			}
				.business__title--num {
					display: inline-flex;
					justify-content: center;
					align-items: center;
					width: 20px;
					height: 20px;
					background-color: #7d6464;
					font-size: 16px;
					color: #fff;
					vertical-align: 2px;
					margin-right: 8px;
				}
			.business-block {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
			}
				.business-list {
					width: 500px;
				}
					.business-list__item:not(:last-child) {
						margin-bottom: 20px;
					}
						.acc-data__title {
							font-size: 20px;
							font-weight: 500;
							color: #fff;
							background-color: #7d6464;
							padding: 1px 0 1px 174px;
							position: relative;
							cursor: pointer;
						}
							.acc-data__num {
								display: inline-flex;
								justify-content: center;
								align-items: center;
								width: 20px;
								height: 20px;
								background-color: #fff;
								font-size: 16px;
								color: #7d6464;
								vertical-align: 2px;
								margin-right: 8px;
							}
							.acc-data__icn {
								display: block;
								width: 23px;
								height: 23px;
								border: 1px solid #fff;
								position: absolute;
								top: 0;
								right: 6px;
								bottom: 0;
								margin: auto;
							}
							.acc-data__icn::before,
							.acc-data__icn::after {
								display: block;
								content: "";
								width: 15px;
								height: 1px;
								background-color: #fff;
								position: absolute;
								top: 50%;
								right: 3px;
								transition: all 0.3s;
							}
							.acc-data__icn::after {
								transform: rotate(90deg);
							}
							.acc-data__title.active .acc-data__icn:before {
								opacity: 0;
							}
							.acc-data__title.active .acc-data__icn:after {
								transform: rotate(0deg);
							}
						.acc-data__desc {
							background-color: #efe6e6;
							height: 0;
							min-height: 0;
							opacity: 0;
							transition: all 0.3s;
							padding: 0 15px;
						}
						.acc-data__desc.open {
							height: auto;
							min-height: 120px;
							opacity: 1;
							padding: 12px 15px 12px;
						}
							.acc-data .open.addJustSpace_01 {
								min-height: 185px;
							}
							.acc-data__desc ul li:not(:last-child),
							.house-list__item:not(:last-child) {
								margin-bottom: 4px;
							}
							.acc-data__desc ul li::before,
							.house-list__item::before {
								display: inline-block;
								content: "";
								width: 11px;
								height: 11px;
								background-color: #7d6464;
								border-radius: 50%;
								vertical-align: 2px;
							}

			.house-block {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				margin: 34px 0 0;
			}
				.house-data {
					width: 326px;
					min-height: 264px;
					background-color: #efe6e6;
				}
					.house-data__title {
						font-size: 20px;
						font-weight: 500;
						color: #fff;
						background-color: #7d6464;
						padding: 2px 0 1px;
						text-align: center;
					}
					.house-data__desc {
						padding: 15px 0 0 20px;
					}

	.consul__bnr a {
		display: block;
	}
	.consul__bnr a:hover {
		opacity: .9;
	}