@charset "utf-8";

body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

.l-wrapper {
	background-color: #FFFFFF;
}
#contents {
	width: 100%;
}
.l-main *{
	font-family: 'Noto Sans JP', sans-serif;
}
strong.breadcrumbs__link {
    font-weight: normal;
    color: #78909C;
}
.l-main {
	padding: 0 0 60px;
}
.l-main .freeform-header {
	margin: 20px 0 40px;
	padding: 0;
}
		.freeform-header {
			padding-bottom: 25.999px;
			margin-bottom: 19.999px;
		}
			.page__headline {
				font-size: 30px;
				color: var(--font-color-blue);
				text-align: center;
				margin-bottom: 20px;
			}
			.page__headtext {
				line-height: 1.5;
				font-size: 16px;
			}
			.page__headtext:not(:last-child) {
				margin-bottom: 2px;
			}
		.page__headbkn {
			display: flex;
			align-items: center;
			gap: 10.001px;
			padding-bottom: 28.001px;
			position: relative;
			margin-bottom: 19.999px;
		}
			.page__headbkn-img {
				width: 133.001px;
				height: 100.001px;
			}
				.page__headbkn-img img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					vertical-align: bottom;
				}
			.page__headbkn-info {
				width: 192px;
			}
				.page__headbkn-name {
					font-size: 13.999px;
					font-weight: 600;
					margin-bottom: 7.999px;
				}
				.page__headbkn-text {
					font-size: 13.999px;
					display: flex;
					gap: 6px;
				}
				.page__headbkn-text:not(:last-child) {
					margin-bottom: 4.001px;
				}
					.page__headbkn-label {
						display: inline-flex;
						align-items: center;
						justify-content: center;
						width: 60px;
						height: 19.999px;
						border: 1px solid #E5E5E5;
						font-size: 12px;
					}

	form#confirmContact {
		border: 1px solid #EEEEEE;
		border-radius: 26px;
		padding: 59px 58px;
	}
	.page__form-block {
		display: flex;
		gap: 72px;
		align-items: flex-start;
		border-bottom: 1px solid #E5E5E5;
		margin-bottom: 20px;
		padding-bottom: 20px;
	}
	.page__form-block:last-of-type{
	    margin-bottom: 40px;
    	padding-bottom: 20px;
	}
		.page__form-term {
			width: 200px;
			font-size: 16px;
			font-weight: 500;
			display: flex;
			align-items: center;
			gap: 6px;
			margin-top: 7px;
		}
			.page__form-definition textarea {
				width: 748px;
				height: 130px;
				border: 1px solid #D8D8D8;
				border-radius: 4px;
				font-size: 16px;
				padding: 10px;
				vertical-align: bottom;
			}
				.page__form-definition input::placeholder,
				.page__form-definition textarea::placeholder {
					color: #9B9B9B;
				}
				.page__form-required {
					font-size: 14px;
					background-color: #EE2424;
					color: #FFFFFF;
					display: flex;
					align-items: center;
					justify-content: center;
					width: 40px;
					height: 22px;
				}
				.page__form-optional {
					font-size: 14px;
					background-color: #EEEEEE;
					color: #9B9B9B;
					display: flex;
					align-items: center;
					justify-content: center;
					width: 40px;
					height: 22px;
				}
			.page__form-definition--request {
				display: flex;
				flex-direction: column;
				gap: 6px;
				position: relative;
			}
				.page__form-definition--request .requestGroup-1formError {
					position: absolute;
					top: -27px;
					right: 70.001px;
				}
				.page__form-definition--request label {
					display: flex;
					align-items: center;
					gap: 7.999px;
					width: 100%;
					height: 40.001px;
					font-size: 12px;
					padding: 0 7.001px;
					border: 1px solid #EEEEEE;
					border-radius: 4.001px;
				}
				.page__form-definition--request br {
					display: none;
				}
				.page__form-definition--request input[type="checkbox"] {
					border: 1px solid #DCDCDC;
					appearance: none;
					width: 13px !important;
					height: 3.467vw;
					border-radius: 0.533vw;
				}
				.page__form-definition--request input[type="checkbox"]:checked {
					background: url(../../images/mobile/icn_check.png) no-repeat center / contain;
					border: none;
				}
			.page__form-definition--viewing {
				display: flex;
				justify-content: space-between;
			}
			.page__form-day,
			.page__form-time {
				position: relative;
			}
				.page__form-day input[type="text"],
				.page__form-time select {
					width: 43.467vw;
					height: 10.667vw;
					border: 1px solid #D8D8D8;
					border-radius: 1.067vw;
					font-size: 3.2vw;
					font-weight: 400;
					color: #333333;
					padding: 0 1.333vw;
					appearance: none;
				}
				.page__form-day input[type="text"] {
					padding: 0 2.4vw;
				}
					.page__form-day input[type="text"]::placeholder {
						color: #333333;
					}
					.page__form-day::after,
					.page__form-time::after {
						content: '';
						display: block;
						width: 1.867vw;
						height: 1.867vw;
						border: 0.1em solid var(--background-color-blue);
						border-left: 0;
						border-bottom: 0;
						box-sizing: border-box;
						transform: translateY(-25%) rotate(135deg);
						position: absolute;
						bottom: 4.533vw;
						right: 2.667vw;
					}
			.page__form-definition--number {
				margin-bottom: 2.133vw;
			}
				.page__form-definition-title {
					margin-bottom: 0.8vw;
				}
				.page__form-definition-block {
					display: flex;
					flex-wrap: wrap;
					gap: 1.6vw 2.4vw;
				}
					.page__form-definition--number label {
						display: flex;
						align-items: center;
						gap: 2.133vw;
						width: 43.467vw;
						height: 10.667vw;
						border: 1px solid #D8D8D8;
						border-radius: 1.067vw;
						font-size: 3.2vw;
						padding: 0 2.4vw;
					}
					.page__form-definition-block br {
						display: none;
					}
					.page__form-definition--number input[type="radio"] {
						appearance: none;
						width: 13px !important;
						height: 3.467vw;
						border: 1px solid #DCDCDC;
						border-radius: 50%;
					}
					.page__form-definition--number input[type="radio"]:checked {
						background: url(../../images/mobile/icn_radio.png) no-repeat center / contain;
						border: none;
					}
			.page__form-definition--name input,
			.page__form-definition--tel input,
			.page__form-definition--mail input {
				border: 1px solid #D8D8D8;
				display: block;
				width: 369px;
				height: 45px;
				border-radius: 4px;
				font-size: 16px;
				padding: 10px;
			}
				.page__form-definition--name input::placeholder,
				.page__form-definition--tel input::placeholder,
				.page__form-definition--mail input::placeholder {
					color: #9B9B9B;
				}
		.page__form-note,
		.page__form-note a {
			font-size: 14px;
			line-height: 1.6;
			text-align: center;
		}
		.page__form-note {
			margin-block: 40px 27px;
		}

		.confirm__btn {
			display: flex;
			justify-content: center;
			gap: 40px;
		}
		.page__form-submit,
		.confirm__fix,
		.confirm__submit {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 355px;
			height: 70px;
			background-color: var(--background-color-blue);
			border-radius: 8px;
			font-size: 18px;
			font-weight: 600;
			color: #FFFFFF;
			border: 1px solid var(--background-color-blue);
			transition: all 0.3s ease;
		}
		.page__form-submit {
			margin: 29px auto 0;
		}
		.page__form-submit:hover {
			opacity: 1;
			background-color: #FFFFFF;
			color: var(--font-color-blue);
		}
		.confirm__fix {
			background-color: #FFFFFF;
			color: var(--font-color-blue);
			border: 1px solid var(--background-color-blue);
		}
		.confirm__submit {
			background-color: var(--background-color-blue);
			color: #FFFFFF;
			border: 1px solid var(--background-color-blue);
		}
		.confirm__fix:hover,
		.confirm__submit:hover {
			opacity: 1;
		}
		.confirm__fix:hover {
			background-color: var(--background-color-blue);
			color: #FFFFFF;
		}
		.confirm__submit:hover {
			background-color: #FFFFFF;
			color: var(--font-color-blue);
		}

	.page__confirm {
		margin-bottom: 40px;
	}

		.page__confirm-block {
			display: flex;
			gap: 72px;
			align-items: flex-start;
			border-bottom: 1px solid #E5E5E5;
			margin-bottom: 20px;
			padding-bottom: 20px;
		}
			.page__confirm-term {
				width: 200px;
				font-size: 16px;
				font-weight: 500;
				display: flex;
				align-items: center;
				gap: 6px;
				margin-top: 12px;
			}
			.page__confirm-definition--message {
				width: 748px;
				border-radius: 4px;
				font-size: 16px;
				padding: 10px;
			}
					.page__confirm-definition input::placeholder,
					.page__confirm-definition textarea::placeholder {
						color: #9B9B9B;
					}
					.page__confirm-required {
						font-size: 10.001px;
						background-color: #EE2424;
						color: #FFFFFF;
						display: flex;
						align-items: center;
						justify-content: center;
						width: 31.999px;
						height: 16.001px;
					}
					.page__confirm-optional {
						font-size: 10.001px;
						background-color: #EEEEEE;
						color: #9B9B9B;
						display: flex;
						align-items: center;
						justify-content: center;
						width: 31.999px;
						height: 16.001px;
					}
				.page__confirm-definition--request {
					display: flex;
					flex-direction: column;
					gap: 1.6vw;
				}
					.page__confirm-definition--request label {
						display: flex;
						align-items: center;
						gap: 2.133vw;
						width: 100%;
						height: 10.667vw;
						font-size: 3.2vw;
						padding: 0 1.867vw;
						border-radius: 1.067vw;
					}
					.page__confirm-definition--request br {
						display: none;
					}
					.page__confirm-definition--request input {
						border: 1px solid #DCDCDC;
					}
					.page__confirm-definition--request li {
						display: flex;
						align-items: center;
						gap: 2.133vw;
						width: 100%;
						height: 10.667vw;
						font-size: 3.2vw;
						padding: 0 1.867vw;
						border-radius: 1.067vw;
					}
				.page__confirm-definition--viewing {
					display: flex;
					justify-content: space-between;
				}
					.page__confirm-day,
					.page__confirm-time {
						display: flex;
						align-items: center;
						width: 43.467vw;
						height: 10.667vw;
						border-radius: 1.067vw;
						font-size: 3.2vw;
						padding: 0 1.867vw;
					}
				.page__confirm-definition--number {
					margin-bottom: 2.133vw;
				}
					.page__confirm-definition-title {
						margin-bottom: 0.8vw;
					}
					.page__confirm-definition-block {
						display: flex;
						flex-wrap: wrap;
						gap: 1.6vw 2.4vw;
					}
						.page__confirm-definition--number {
							display: flex;
							align-items: center;
							gap: 2.133vw;
							width: 43.467vw;
							height: 10.667vw;
							border-radius: 1.067vw;
							font-size: 3.2vw;
							padding: 0 1.867vw;
						}
						.page__confirm-definition-block br {
							display: none;
						}
				.page__confirm-definition--name,
				.page__confirm-definition--tel,
				.page__confirm-definition--mail {
					display: flex;
					align-items: center;
					width: 369px;
					height: 45px;
					border-radius: 4px;
					font-size: 16px;
					padding: 9px;
				}
			.page__confirm-note,
			.page__confirm-note a {
				font-size: 12px;
				line-height: 1.6;
			}
			.page__confirm-note {
				margin-block: 40px 9px;
			}
			button.page__confirm-submit {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 355px;
    			height: 70px;
				background-color: var(--background-color-blue) !important;
				border-radius: 8px;
    			font-size: 18px;
				font-weight: 600;
				color: #FFFFFF;
				border: none !important;
				margin: 0 auto;
			}

.agreement-text {
    text-align: center;
}
	.agreement-link {
		font-weight: 400;
		border-bottom: 1px solid #333333;
	}

#contact-form {
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #FFFFFF;
}
	.page__thankyou-post {
		text-align: center;
	}
		.page__thankyou-return a {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 355px;
    		height: 70px;
			background-color: var(--background-color-blue);
			border-radius: 8px;
			font-size: 18px;
			font-weight: 600;
			color: #FFFFFF;
			margin: 0 auto;
		}

.formErrorArrow {
	display: none;
}

.thankyou-page {
	padding: 20px 0 60px;
}

.thankyou-page .page__headline {
    font-size: 30px;
    color: var(--font-color-blue);
    text-align: center;
    margin-bottom: 20px;
}

.thankyou-page .completion {
	margin-bottom: 40px;
}

.thankyou-page .completion__text {
    line-height: 1.5;
    font-size: 16px;
}

.thankyou-page .completion__text:not(:last-child) {
	margin-bottom: 10px;
}

.thankyou-page .companyInformation {
	background-color: #FAFAFA;
    padding-block: 26px;
    width: 600px;
    margin: 0 auto 30px;
}

.thankyou-page .companyInformation * {
	line-height: 1.5;
    font-size: 16px;
}

.thankyou-page .ui-section-btn {
	border-radius: 3px;
    line-height: 1;
}

.md-form-flow {
	margin-block: 0 13px;
	display: flex;
	gap: 20px;
	margin-bottom: 30px;
	justify-content: center;
	pointer-events: none;
}
.md-form-flow__items {
	display: flex;
	gap: 2px;
	align-items: center;
	flex-direction: column;
	position: relative;
	counter-increment: num;
	white-space: nowrap;
	font-size: 14px;
	font-weight: 400;
	color: #C2C2C2;
	width: fit-content;
	position: relative;
}
.md-form-flow__items.is-active {
	color: #C2C2C2;
}
.md-form-flow__items.is-checked {
	color: #C2C2C2;
}
.md-form-flow__items:before {
	content: counter(num);
	width: 22px;
	height: 22px;
	background-color: #B0BEC5;
	border-radius: 50%;
	display        : flex;
	align-items    : center;
	justify-content: center;
	font-size  : 12px;
	font-weight: bold;
	color      : #fff;
}
.md-form-flow__items:before {
	font-size: 16px;
	font-weight: 700;
	width: 34px;
	height: 34px;
	color: #BEBEBE;
	background-color: #F5F5F5;
}
.md-form-flow__items.is-active:before {
	color: #fff;
	background-color: var(--background-color-blue);
	border: none;
	padding-bottom: 3px;
}
.md-form-flow__items.is-checked:before {
	color: #FFFFFF;
	background-color: #BEBEBE;
}
.md-form-flow__items:not(:last-child):after {
	content: "";
	background-color: #B0BEC5;
	position: absolute;
	left: 100%;
	top: 16px;
	width: 20px;
	height: 1px;
	background-color: #F5F5F5;
}