@charset "utf-8";

@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Regular.ttf);
    font-weight: 400;
    font-display: swap;
}

body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}
.l-main * {
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}
#contents,
.l-main {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: #fff;
}
.mv__wrap {
	width: 100%;
	height: 420px;
	position: relative;
}
	.mv__wrap img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.mv__inner {
		width: 1140px;
		margin: 0 auto;
		position: relative;
		z-index: 0;
	}
	.mv__txt {
		display: flex;
		flex-direction: column;
		font-size: 62px;
		font-weight: 600;
		line-height: 1.2;
		color: #fff;
		position: absolute;
		top: 93px;
		left: 0;
		z-index: 1;
	}
		.mv__txt span {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 266px;
			height: 50px;
			background: #FFF;
			border: 1px solid #333;
			backdrop-filter: blur(14.5px);
			padding-top: 5px;
			margin-bottom: 19px;
			font-size: 28px;
			font-weight: 600;
			line-height: 1;
			color: #333;
		}
	.mv__bt-list {
		display: flex;
		justify-content: center;
		gap: 9px;
		position: absolute;
		top: 257px;
		left: 0;
		z-index: 1;
	}
		[class*="mv__bt-item"] a {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 365px;
            height: 70px;
			font-size: 24px;
			font-weight: 600;
			line-height: 1;
			color: #fff;
			position: relative;
		}
		.mv__bt-item--satei a {
			background: #1C6D9F;
		}
		.mv__bt-item--contact a {
			background: #E47A1E;
		}
			.mv-arrow {
				color: #ffffff;
				position: absolute;
				top: 0;
				bottom: 0;
				margin: auto;
				right: 26px;
			}
	.mv-map {
		position: absolute;
		top: 0;
		right: -313px;
		z-index: 0;
	}

[class*="cnt__wrap"] {
	padding-block: 60px;
}
	[class*="cnt__inner"] {
		width: 1140px;
		margin: 0 auto;
	}
		[class*="cnt__ttl"] {
			font-size: 26px;
			font-weight: 600;
			color: #000;
            text-align: center;
		}
		[class*="cnt__sub-en-ttl"] {
			font-size: 14px;
			font-weight: 400;
			letter-spacing: 0.22em;
			color: #1C6D9F;
			text-align: center;
			margin-top: 5px;
		}
		[class*="more__bt"] {
			margin-top: 30px;
		}
			[class*="more__bt"] a {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 250px;
				height: 50px;
				border: 1px solid #1C6D9F;
				margin: 0 auto;
				font-size: 18px;
				font-weight: 600;
				line-height: 1; 
				color: #1C6D9F;
				text-align: center;
				position: relative;
			}
				.more-arrow {
					color: #1C6D9F;
					position: absolute;
					top: 0;
					bottom: 0;
					margin: auto;
					right: 15px;
				}
.cnt__wrap--worries {
	background: url(../images/worries_bg.webp) no-repeat center / cover;
	padding-bottom: 110px;
}
	.worries__box {
		display: flex;
		align-items: center;
		gap: 40px;
		margin-top: 30px;
	}
		.worries__img {
			width: 407px;
			height: 253px;
			flex-shrink: 0;
		}
			.worries__img img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		.worries__list {
			width: 100%;
			border-top: 1px solid #DBDBDB;
		}
			.worries__item {
				display: flex;
				align-items: center;
				gap: 10px;
				padding-block: 17px;
				border-bottom: 1px solid #DBDBDB;
			}
				.worries__item-txt {
					font-size: 20px;
					font-weight: 600;
					line-height: 1.6;
					color: #333;
				}

.success__box {
	width: 890px;
	height: 192px;
	border: 2px solid #1C6D9F;
	margin: 40px auto 0;
	padding-top: 39px;
	position: relative;
}
	.success__top-txt {
		width: max-content;
		background: #fff;
		padding-inline: 10px;
		font-size: 20px;
		font-weight: 600;
		color: #1C6D9F;
		position: absolute;
		top: -17px;
		left: 50%;
		transform: translateX(-50%);
	}
	.success__bottom-txt {
		display: flex;
		flex-direction: column;
		gap: 7px;
		
	}
		.success__bottom-txt p {
			font-size: 16px;
			font-weight: 600;
			line-height: 1.8;
			color: #333;
			text-align: center;
		}
			.success__bottom-txt p span {
				color: #F28C28;
			}

.cnt__wrap--txt {
	background: #1C6D9F;
}
	.cnt__wrap--txt p {
		font-size: 24px;
		font-weight: 600;
		line-height: 1.7; 
		color: #FFF;
		text-align: center;
	}

.cnt__wrap--contact {
	background: url(../images/contact_bg.webp) no-repeat center / cover;
	padding-block: 71px;
}
	.cnt__ttl--contact,
	.cnt__sub-en-ttl--contact {
		color: #FFF;
	}
	.contact__top-txt {
		font-size: 20px;
		font-weight: 600;
		color: #FFF;
		text-align: center;
		margin-top: 10px;
	}
	.contact__box {
		background: #FFF;
		padding-block: 38px 40px;
		margin-top: 30px;
	}
		.contact__bottom-txt {
			width: fit-content;
			margin: 0 auto;
			font-size: 24px;
			font-weight: 600;
			line-height: 1;
			color: #1C6D9F;
			text-align: center;
			position: relative;
		}
		.contact__bottom-txt::before {
			content: "";
			display: block;
			width: 2px;
			height: 17px;
			background: #1C6D9F;
			position: absolute;
			top: 4px;
			left: -13px;
			transform: rotate(-30deg);
		}
		.contact__bottom-txt::after {
			content: "";
			display: block;
			width: 2px;
			height: 17px;
			background: #1C6D9F;
			position: absolute;
			top: 4px;
			right: -13px;
			transform: rotate(30deg);
		}
		.contact__info-list {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 51px;
			margin-top: 21px;
		}
			.contact__item {
				display: flex;
				flex-direction: column;
				gap: 5px;
			}
				.contact__tel {
					display: flex;
					align-items: center;
					gap: 3px;
					font-size: 42px;
					font-weight: 600;
					line-height: 1;
					color: #383838;
				}
					.contact__tel svg {
						margin-bottom: 3px;
					}
				.contact__time {
					font-size: 14px;
					font-weight: 400;
					line-height: 1.3;
					color: #333;
					text-align: center;
				}
			.contact__bt-list {
				display: flex;
				justify-content: center;
				gap: 12px;
			}
				[class*="contact__bt-item"] a {
					display: flex;
					align-items: center;
					justify-content: center;
					width: 290px;
					height: 60px;
					font-size: 18px;
					font-weight: 600;
					line-height: 1;
					color: #fff;
					position: relative;
				}
				.contact__bt-item--satei a {
					background: #1C6D9F;
				}
				.contact__bt-item--contact a {
					background: #E47A1E;
				}
					.contact-arrow {
						color: #ffffff;
						position: absolute;
						top: 0;
						bottom: 0;
						margin: auto;
						right: 20px;
					}

.cnt__wrap--choosing {
	background: #ECF0FA;
}
	.choosing__list {
		display: flex;
		flex-direction: column;
		gap: 30px;
		margin-top: 29px;
		counter-reset: item;
	}
		.choosing__item {
			display: flex;
			padding-top: 50px;
			position: relative;
			z-index: 1;
			counter-increment: item;
		}
		.choosing__item:nth-of-type(even) {
			justify-content: flex-end;
		}
			.choosing__img {
				width: 925px;
				height: 273px;
				position: absolute;
				top: 0;
				right: 0;
				z-index: -1;
			}
			.choosing__item:nth-of-type(even) .choosing__img {
				right: auto;
				left: 0;
			}
			.choosing__item-inner {
				width: 650px;
				height: 279px;
				background: #fff;
				padding: 40px 40px 40px 50px;
			}
				.choosing__item-ttl {
					display: flex;
					align-items: center;
					font-size: 24px;
					font-weight: 600;
					color: #1C6D9F;
				}
				.choosing__item-ttl::before {
					content: counter(item);
					display: flex;
					align-items: center;
					justify-content: center;
					width: 36px;
					height: 36px;
					background: #1C6D9F;
					margin-right: 10px;
					font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
					font-size: 24px;
					font-weight: 700;
					line-height: 1;
					color: #FFF;
					text-align: center;
				}
					.choosing__item-ttl span {
						color: #E47A1E;
					}
				.choosing__item-top-txt {
					font-size: 19px;
					font-weight: 600;
					color: #6E94AC;
					margin-top: 7px;
				}
				.choosing__item-bottom-txt {
					font-size: 16px;
					font-weight: 600;
					line-height: 1.8;
					color: #333;
					margin-top: 12px;
				}

.cnt__wrap--alignment {
	background: #1C6D9F;
}
	.cnt__ttl--alignment,
	.cnt__sub-en-ttl--alignment {
		color: #FFF;
	}
	.alignment__box {
		display: flex;
		gap: 40px;
		margin-top: 30px;
	}
		.alignment__list {
			width: 349px;
			height: 328px;
			position: relative;
			z-index: 1;
		}
		.alignment__list::after {
			content: "";
			display: block;
			width: 229px;
			height: 228px;
			border: 1px solid #FFF;
			border-radius: 50%;
			position: absolute;
			top: 50px;
			left: 61px;
		}
			[class*="alignment__item"] {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 123px;
                height: 123px;
				border-radius: 50%;
				background: #FFF;
				font-size: 18px;
				font-weight: 600;
				line-height: 1.4;
				color: #333;
				text-align: center;
				position: absolute;
			}
			.alignment__item--lawyer {
				top: 0;
				left: 112px;
			}
			.alignment__item--notary {
				top: 75px;
				left: 226px;
			}
			.alignment__item--land-surveyor {
				top: 205px;
				left: 181px;
			}
			.alignment__item--appraiser {
				top: 205px;
				left: 44px;
			}
			.alignment__item--real-estate-agent {
				top: 75px;
				left: 0;
			}
		.alignment__box-right {
			display: flex;
			align-items: flex-end;
			gap: 20px;
			width: 752px;
		}
			.alignment__box-right-txt {
				display: flex;
				flex-direction: column;
				gap: 15px;
			}
				.alignment__box-right-txt p {
					font-size: 16px;
					font-weight: 600;
					line-height: 1.6;
					color: #FFF;
				}
				.alignment__box-right-txt-inner {
					display: flex;
					gap: 20px;
					margin-top: 6px;
				}
				.alignment__box-right-txt-inner-txt {
					display: flex;
					flex-direction: column;
					gap: 15px;
				}
			.alignment__box-right-img {
				width: 315px;
				height: 240px;
				flex-shrink: 0;
			}
				.alignment__box-right-img img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}

.voice__list {
	display: flex;
	gap: 30px;
	margin-top: 30px;
}
	.voice__item {
		width: 262px;
	}
		.voice__img {
			width: 100%;
			height: 197px;
		}
			.voice__img img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		.voice__txt-box {
			display: flex;
			flex-direction: column;
			gap: 2px;
			padding-top: 10px;
		}
		.voice__name {
			font-size: 16px;
			font-weight: 600;
			line-height: 1.6;
			color: #000;
			text-align: center;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}
		.voice__text {
			font-family: "Noto Sans JP", sans-serif;
			font-size: 14px;
			font-weight: 400;
			color: #000;
			overflow: hidden;
			text-overflow: ellipsis;
			display: -webkit-box;
			-webkit-line-clamp: 2;
			-webkit-box-orient: vertical;
		}

.cnt__wrap--plan {
	background: #ECF0FA;
}
	.plan__box {
		display: flex;
		gap: 20px;
		margin-top: 30px;
	}
		.plan__box-left,
		.plan__box-right {
			width: 560px;
		}
			.plan__top-txt {
				padding-block: 19px 17px;
                background: #2F4C83;
				font-size: 24px;
				font-weight: 600;
				line-height: 1;
				color: #fff;
				text-align: center;
			}
			.plan__box-right .plan__top-txt {
				background: #54845C;
			}
			.plan__inner {
				background: #fff;
				padding: 30px;
			}
				.plan__recommend-txt {
					font-size: 24px;
					font-weight: 600;
					line-height: 1;
					color: #2F6383;
					text-align: center;
				}
				.plan__box-right .plan__recommend-txt {
					color: #54845C;
				}
				.recommend__list {
					display: flex;
					flex-direction: column;
					gap: 8px;
					width: 440px;
					margin: 20px auto 0;
				}
					.recommend__item {
						display: flex;
						align-items: center;
						gap: 10px;
						font-size: 20px;
						font-weight: 600;
						line-height: 1.6;
						color: #333;
					}
				.plan__bottom-box {
					margin-top: 30px;
					padding-top: 30px;
					border-top: 1px solid #D9D9D9;
				}
					.plan__flow-txt {
						font-size: 24px;
						font-weight: 600;
						line-height: 1;
						color: #2F6383;
						text-align: center;
					}
					.plan__box-right .plan__flow-txt {
						color: #54845C;
					}
					.flow__list {
						display: flex;
						flex-direction: column;
						gap: 12px;
						margin-top: 20px;
					}
						.flow__item dl {
							display: flex;
						}
							.flow__item dt {
								display: flex;
								align-items: center;
								justify-content: center;
								width: 113px;
								flex-shrink: 0;
								background: #2F4C83;
								font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
								font-size: 14px;
								font-weight: 700;
								line-height: 1.4;
								color: #FFF;
								text-align: center;
							}
							.plan__box-right .flow__item dt {
								background: #54845C;
							}
							.flow__item dd {
								width: 100%;
								padding-block: 20px 19px;
								padding-left: 20px;
								border-top: 1px solid #BDBDBD;
								border-bottom: 1px solid #BDBDBD;
								border-right: 1px solid #BDBDBD;
								font-size: 18px;
								font-weight: 600;
								color: #333;
							}
							.plan__box-right .flow__item dd {
								padding-block: 29px 26px;
								line-height: 1.55;
							}
							.plan__box-right .flow__item:first-of-type dd {
								padding-block: 21px 20px;
								line-height: 1.3;
							}
						.flow__item-txt {
							display: flex;
							align-items: center;
							justify-content: center;
							gap: 10px;
							font-size: 16px;
							font-weight: 600;
							line-height: 1.4;
							color: #2F4C83;
							text-align: center;
						}
						.plan__box-right .flow__item-txt {
							color: #54845C;
						}
						.flow-arrow {
							color: #2F4C83;
						}
						.plan__box-right .flow-arrow {
							color: #54845C;
						}

.column__tab-list {
	display: flex;
	justify-content: center;
	gap: 4px;
	margin-top: 30px;
}
	.column__tab-item button {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 282px;
		height: 52px;
		background: #CDCDCD;
		font-size: 20px;
		font-weight: 600;
		line-height: 1.6;
		color: #FFF;
		text-align: center;
	}
	.column__tab-item.is-active button {
		background: #1C6D9F;
	}
.blog__box.js-column-panel:not(.is-active) {
	display: none;
}
.blog__box.js-column-panel.is-active {
	display: block;
}
	.blog__box-inner {
		padding: 30px 40px;
		background: #F5FAFA;
	}
		.blog__list {
			display: flex;
			justify-content: center;
			gap: 32px;
		}
			.blog__item {
				width: 332px;
			}
				.blog__img {
					width: 100%;
					height: 249px;
				}
					.blog__img img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}
				.blog__txt-box {
					display: flex;
					flex-direction: column;
					padding-top: 12px;
				}
					.blog__date {
						font-family: "Noto Sans JP", sans-serif;
						font-size: 16px;
						font-weight: 400;
						line-height: 1.6;
						color: #1C6D9F;
					}
					.blog__ttl {
						font-size: 16px;
						font-weight: 600;
						line-height: 1.6;
						color: #000;
						overflow: hidden;
						text-overflow: ellipsis;
						white-space: nowrap;
						margin-top: 1px;
					}
					.blog__txt {
						font-family: "Noto Sans JP", sans-serif;
						font-size: 14px;
						font-weight: 400;
						color: #231815;
						overflow: hidden;
						text-overflow: ellipsis;
						display: -webkit-box;
						-webkit-line-clamp: 2;
						-webkit-box-orient: vertical;
						margin-top: 1px;
					}
	.more__bt--blog {
		margin-top: 20px;
	}

.cnt__wrap--faq {
	background: #ECF0FA;
}
	.faq__list {
		display: flex;
		flex-direction: column;
		gap: 17px;
		margin-top: 30px;
	}
		.faq__item {
			display: flex;
			flex-direction: column;
			gap: 12px;
			padding: 24px 19px 24px 20px;
			background: #fff;
		}
			.faq__question {
				display: flex;
				align-items: center;
				gap: 15px;
				font-size: 18px;
				font-weight: 600;
				line-height: 1;
				color: #333;
			}
			.faq__question::before {
				content: "Q";
				display: flex;
				align-items: center;
				justify-content: center;
				width: 30px;
				height: 30px;
				background: #1C6D9F;
				flex-shrink: 0;
				font-family: "Meiryo", sans-serif;
				font-size: 18px;
				font-weight: 700;
				line-height: 1;
				color: #FFF;
				text-align: center;

			}
			.faq__answer {
				display: flex;
				gap: 15px;
				font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.6;
				color: #333;
			}
			.faq__answer::before {
				content: "A";
				display: flex;
				align-items: center;
				justify-content: center;
				width: 30px;
				height: 30px;
				background: #E47A1E;
				flex-shrink: 0;
				font-family: "Meiryo", sans-serif;
				font-size: 18px;
				font-weight: 700;
				line-height: 1;
				color: #FFF;
			}

.reservation-side-link {
	display: none !important;
}
.float__wrap {
	position: fixed;
	top: 193px;
	right: 0;
	z-index: 100;
}
	.float__list {
		display: flex;
		flex-direction: column;
		gap: 4px;
	}
		[class*="float__item"] a {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 56px;
			height: 172px;
			background: #1C6D9F;
			font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
			font-size: 16px;
			font-weight: 600;
			letter-spacing: 0.07em;
			color: #fff;
			writing-mode: vertical-lr;
		}
		.float__item--contact a {
			background: #E47A1E;
		}