@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;
}
.contact__wrap {
	margin: 0;
}
	.ui-narrow-section {
		width: 100%;
	}
		.page__inner {
			background-color: #FFFFFF;
		}
			.freeform-header {
				margin-bottom: 40px;
				position: relative;
			}
				.page__headline {
					font-size: 30px;
					color: var(--font-color-blue);
					text-align: center;
					margin-bottom: 20px;
				}
				.page__headtext {
					font-size: 16px;
					line-height: 1.571;
				}
				.page__headtext:not(:last-child) {
					margin-bottom: 1px;
				}
			.page__headbkn {
				display: flex;
				align-items: center;
				gap: 10px;
				padding-bottom: 28px;
				position: relative;
				margin-bottom: 20px;
			}
				.page__headbkn-img {
					width: 133px;
					height: 100px;
				}
					.page__headbkn-img img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						vertical-align: bottom;
					}
				.page__headbkn-info {
					width: 192px;
				}
					.page__headbkn-name {
						font-size: 14px;
						font-weight: 600;
						margin-bottom: 8px;
					}
					.page__headbkn-text {
						font-size: 14px;
						display: flex;
						gap: 6px;
					}
					.page__headbkn-text:not(:last-child) {
						margin-bottom: 4px;
					}
						.page__headbkn-label {
							display: inline-flex;
							align-items: center;
							justify-content: center;
							width: 60px;
							height: 20px;
							border: 1px solid #E5E5E5;
							font-size: 12px;
						}

		.page__form-title {
			font-size: 16px;
			font-weight: 700;
			margin-bottom: 20px;
		}
		form#baikyakuInput {
			padding: 38px 60px 59px;
			border: 1px solid #EEEEEE;
			border-radius: 26px;
		}
		form#baikyakuSubmit {
			border: 1px solid #EEEEEE;
			border-radius: 26px;
			padding: 59px 58px;
		}
		.page__form-block {
			display: flex;
			align-items: flex-start;
			gap: 72px;
			padding-block: 20px 20px;
			border-bottom: 1px solid #EEEEEE;
		}
		.page__form-block:first-child {
			padding-top: 0;
		}
			.page__form-term {
				font-size: 16px;
				font-weight: 500;
				display: flex;
				align-items: baseline;
				gap: 7px;
				width: 200px;
				padding-top: 6px;
				flex-shrink: 0;
			}
				.page__form-definition {
					position: relative;
				}
				.page__form-definition--address {
					display: flex;
					align-items: flex-start;
					gap: 46px;
				}
				.page__form-definition--name {
					display: flex;
					gap: 10px;
				}
				.page__form-definition-wrapper {
					display: flex;
					flex-direction: column;
					gap: 10px;
				}
					.page__form-definition textarea {
						width: 748px;
						height: 130px;
						border: 1px solid #D8D8D8;
						border-radius: 4px;
						font-size: 16px;
						padding: 9px;
						vertical-align: bottom;
					}
						.page__form-definition input::placeholder,
						.page__form-definition textarea::placeholder {
							color: #9B9B9B;
						}
						.page__form-required {
							font-size: 14px;
							line-height: 1;
							background-color: #EE2424;
							color: #FFFFFF;
							display: flex;
							align-items: center;
							justify-content: center;
							width: 40px;
							height: 22px;
						}
						.page__form-optional {
							font-size: 14px;
							line-height: 1;
							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: 70px;
						}
						.page__form-definition--request label {
							display: flex;
							align-items: center;
							gap: 8px;
							width: 100%;
							height: 40px;
							font-size: 12px;
							padding: 0 7px;
							border: 1px solid #EEEEEE;
							border-radius: 4px;
						}
						.page__form-definition--request br {
							display: none;
						}
						.page__form-definition--request input[type="checkbox"] {
							border: 1px solid #DCDCDC;
							appearance: none;
							width: 17px !important;
							height: 17px;
							border-radius: 2px;
						}
						.page__form-definition--request input[type="checkbox"]:checked {
							background: url(../images/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: 163px;
							height: 40px;
							border: 1px solid #D8D8D8;
							border-radius: 4px;
							font-size: 12px;
							font-weight: 400;
							color: #333333;
							padding: 0 5px;
							appearance: none;
						}
						.page__form-day input[type="text"] {
							padding: 0 9px;
						}
							.page__form-day input[type="text"]::placeholder {
								color: #333333;
							}
							.page__form-day::after,
							.page__form-time::after {
								content: '';
								display: block;
								width: 7px;
							height: 7px;
								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: 17px;
								right: 10px;
							}
				.page__form-definition--number {
					margin-bottom: 8px;
				}
					.page__form-definition-title {
						font-size: 16px;
						width: 120px;
						padding-top: 12px;
					}
					.page__form-definition--type {
						display: flex;
						flex-wrap: wrap;
						gap: 0;
						border-right: 1px solid #D8D8D8;
						border-radius: 4px;
					}
						.page__form-definition--type label {
							display: flex;
							align-items: center;
							gap: 5px;
							width: 167px;
							height: 45px;
							border: 1px solid #D8D8D8;
							border-right: none;
							font-size: 16px;
							padding: 0 7px;
							cursor: pointer;
						}
						.page__form-definition--type label:first-child {
							border-radius: 4px 0 0 4px;
						}
						.page__form-definition--type br {
							display: none;
						}
						.page__form-definition--type input[type="radio"] {
							appearance: none;
							width: 17px !important;
							height: 17px;
							border: 1px solid #DCDCDC;
							border-radius: 50%;
							min-width: unset;
							cursor: pointer;
							position: relative;
							background: none;
						}
						.page__form-definition--type input[type="radio"]:checked {
							border: 1px solid var(--background-color-blue);
						}
						.page__form-definition--type input[type="radio"]:checked::before {
							content: '';
							display: block;
							width: 11px;
							height: 11px;
							background-color: var(--background-color-blue);
							border-radius: 50%;
							position: absolute;
							top: 0;
							bottom: 0;
							left: 0;
							right: 0;
							margin: auto;
						}
						.page__form-definition--type .formError {
							position: absolute;
							bottom: -17px;
							left: 0;
						}
				.page__form-definition--address input,
				.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: 0 9px;
				}
				.page__form-definition--address input {
					width: 336px;
				}
					.page__form-definition--address input::placeholder
					.page__form-definition--name input::placeholder,
					.page__form-definition--tel input::placeholder,
					.page__form-definition--mail input::placeholder {
						color: #9B9B9B;
					}
			.page__form-definition-block--half {
				position: relative;
				width: fit-content;
			}
				.page__form-definition-block--half input,
				.page__form-definition-block--half select {
					width: 202px;
					height: 45px;
				}
				.page__form-definition-block--prefectures::before {
					content: '';
					display: block;
					width: 10px;
					height: 10px;
					border: 2px solid var(--background-color-blue);
					border-left: 0;
					border-bottom: 0;
					box-sizing: border-box;
					transform: translateY(-25%) rotate(135deg);
					position: absolute;
					top: 20px;
					right: 13px;
					pointer-events: none;
				}
				.page__form-definition--address .page__form-definition-block select {
					appearance: none;
					border: 1px solid #D8D8D8;
					border-radius: 4px;
					font-size: 16px;
					padding: 0 9px;
					cursor: pointer;
				}
				.page__form-definition--address .page__form-definition-block select option[value=""] {
					color: #9B9B9B;
				}
				.page__form-definition--address .page__form-definition-block select option:not([value=""]) {
					color: #333333;
				}
			.page__form-note,
			.page__form-note a {
				font-size: 14px;
				line-height: 1.6;
				text-align: center;
				transition: 0.3s;
			}
			.page__form-note a {
				border-bottom: 1px solid #474747;
			}
			.page__form-note a:hover {
				opacity: 1;
			}
			.page__form-note {
				margin-block: 40px 27px;
				position: relative;
			}
			.confirm__btn {
				display: flex;
				justify-content: center;
				gap: 40px;
				margin: 29px auto 0;
			}
			.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;
				transition: all 0.3s ease;
				border: 1px solid var(--background-color-blue);
			}
			.page__form-submit {
				margin: 29px auto 0;
			}
			.page__form-submit:hover {
				opacity: 1;
				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-block {
	margin-top: 40px;
}
	.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: 100%;
			height: 50px;
			background-color: var(--background-color-blue);
			border-radius: 8px;
			font-size: 15px;
			font-weight: 600;
			color: #FFFFFF;
			border: 1px solid var(--background-color-blue);
			transition: all 0.3s ease;
		}
		.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);
		}

.formErrorArrow {
	display: none;
}

.lastNameKanjiformError,
.firstNameKanjiformError {
	position: absolute;
    bottom: -17px;
}
.firstNameKanjiformError {
	left: 380px;
}

form#contactForm {
	border: 1px solid #EEEEEE;
    border-radius: 26px;
    padding: 59px 58px;
}

.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;
}

.contact__unit input {
	max-width: 170px;
	margin-right: 5px;
}
.ui-select {
	width: 170px;
}
.ui-select.company-select {
	width: 100%;
}
.balconyDcnCode.ui-select,
.consulType.ui-select,
.madori.ui-select {
	flex: initial;
}
.two-items-wrap input {
	width: 49%;
	justify-content: center;
	margin: 0;
}
.contact__contents {
	padding: 8px 0 0;
}
.contact__contents ul {
	margin-top: 0;
}

.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;
}