@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;
		color: inherit;
		line-height: inherit;
		letter-spacing: 0.1em;
	}
.section__inner {
	padding: 20px 30px 0;
}
.flow .section__inner,
.cert .section__inner {
	padding: 15px 30px 0;
}
.section__title {
	font-size: 25px;
	font-weight: 500;
	color: #fff;
	line-height: 1.33;
	background: linear-gradient(to right, rgb(118, 131, 149) 75%, rgb(255, 255, 255));
	padding: 9px 20px 8px;
}

/*--------------------------------------------
MAIN VISUAL
--------------------------------------------*/
.hero {
	width: 100%;
	height: 400px;
	background: #eee;
}
	.hero__image {
		width: 100%;
		height: 400px
	}

/*--------------------------------------------
PROMISE
--------------------------------------------*/
.promise {
	margin-bottom: 30px;
}
	.promise-block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
		.promise-card {
			width: 326px;
			min-height: 226px;
			border: 1px solid #768395;
			padding: 16px 0 0;
		}
			.promise-data__title {
				font-size: 13px;
				font-weight: 500;
				text-align: center;
				margin-bottom: 7px;
			}
				.promise-data__title--num {
					display: block;
					font-size: 58px;
					font-weight: 300;
					line-height: 1;
					color: #525c77;
					margin-bottom: -3px;
				}
			.promise-data__text {
				font-weight: 500;
				text-align: center;
				line-height: 1.94;
			}

/*--------------------------------------------
FLOW
--------------------------------------------*/
.flow {
	margin-bottom: 80px;
}
	.flow-copy {
		margin-bottom: 34px;
	}
	.acc-data:not(:last-child) {
		margin-bottom: 20px;
	}
		.acc-data__title {
			font-size: 20px;
			font-weight: 500;
			color: #fff;
			line-height: 1.33;
			background-color: #525c77;
			padding: 4px 10px 5px;
			position: relative;
			cursor: pointer;
		}
			.acc-data__label {
				font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN','Meiryo', sans-serif;
				font-size: 14px;
				color: #525c77;
				letter-spacing: 0.1em;
				width: 80px;
				height: 22px;
				background-color: #fff;
				display: inline-flex;
				justify-content: center;
				align-items: center;
				vertical-align: 2px;
				margin-right: 10px;
			}
			.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: #f3f5fa;
			height: 0;
			min-height: 0;
			opacity: 0;
			transition: all 0.3s;
			padding: 0 20px;
		}
		.acc-data__desc.open {
			height: auto;
			min-height: 60px;
			opacity: 1;
			padding: 16px 20px 16px 20px;
			box-sizing: content-box;
		}


/*--------------------------------------------
#
--------------------------------------------*/
.cert-panel:not(:last-child) {
	margin-bottom: 12px;
}
	.cert-panel__title {
		font-size: 20px;
		font-weight: 500;
		color: #525c77;
		margin-bottom: 3px;
	}
	.cert-block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
		.contract .cert-data {
			width: 326px;
		}
		.payment .cert-data {
			width: 500px;
		}
		
	.cert-note {
		margin: 13px 0 0;
	}