@charset "utf-8";

@property --contact-arrow-bg {
	syntax: "<color>";
	inherits: true;
	initial-value: #ffffff;
}
@property --contact-arrow-stroke {
	syntax: "<color>";
	inherits: true;
	initial-value: #2668b2;
}

body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}
.l-main * {
	font-family: "Zen Kaku Gothic New";
}
#contents,
.l-main {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: #fff;
}

.mv__wrap {
	width: 100%;
	height: 600px;
}
	.mv__img {
		width: 100%;
		height: 100%;
	}
		.mv__img img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	.mv__bt {
		width: 1140px;
		margin: 0 auto;
		position: relative;
	}
		.mv__bt a {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 544px;
			height: 80px;
			border-radius: 0 9999px 9999px 0;
			background: #F68004;
			border: 1px solid #F68004;
			padding-left: 8px;
			font-size: 28px;
			font-weight: 900;
			line-height: 1.2;
			color: #FFF;
			position: absolute;
			bottom: 76px;
			left: 26px;
			transition: .4s;
		}
		.mv__bt a:hover {
			background: #FFF;
			color: #F68004;
			opacity: 1;
		}
			.mv__bt a span {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 125px;
				height: 125px;
				background: #FFE556;
				border-radius: 50%;
				font-size: 30px;
				font-weight: 700;
				line-height: 1.2;
				color: #F68004;
				position: absolute;
				top: -19px;
				left: -58px;
			}
			.arrow {
				color: #ffffff;
				position: absolute;
				top: 0;
				bottom: 0;
				margin: auto;
				right: 27px;
				transition: .4s;
			}
			.mv__bt a:hover .arrow {
				color: #F68004;
			}

[class*="cnt__wrap"] {
	padding-block: 59px 60px;
	position: relative;
	z-index: 1;
}
[class*="cnt__wrap"]::before {
	position: absolute;
}
	[class*="cnt__inner"] {
		width: 1140px;
		margin: 0 auto;
	}
		[class*="cnt__ttl"] {
			font-size: 58px;
			font-weight: 700;
			color: #F68004;
			text-align: center;
		}
			[class*="cnt__ttl"] span {
				font-size: 40px;
				font-weight: 700;
				color: #484848;
			}

.cnt__wrap--what {
	overflow: hidden;
}
.cnt__wrap--what::before {
	content: "INFORMATION";
	font-size: 160px;
	font-weight: 900;
	letter-spacing: 0.1em;
	color: rgba(217, 217, 217, 0.3);
	top: -78px;
	left: 50.5%;
	transform: translateX(-50%);
	z-index: -1;
}
	.what__top-txt {
		font-size: 20px;
		font-weight: 700;
		color: #484848;
		text-align: center;
		margin-top: 38px;
	}
	.what__list {
		display: flex;
		align-items: center;
		gap: 0;
		margin-top: 19px;
	}
		.what__item {
			display: flex;
			flex-direction: column;
		}
			.what__item-ttl {
				width: 258px;
				border-radius: 10px 10px 0 0;
				padding-block: 5px 4px;
				background: #EE3A3A;
				font-size: 24px;
				font-weight: 700;
				color: #FFF;
				text-align: center;
			}
			.what__item-txt {
				width: 258px;
				border-radius: 0 0 10px 10px;
				padding-block: 15px 20px;
				background: #FFE9E9;
				font-size: 18px;
				font-weight: 500;
				line-height: 1.6;
				color: #484848;
				text-align: center;
			}
			.compare-ttl {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 238px;
				height: 109px;
				border-radius: 10px;
				background: #F68004;
				font-size: 24px;
				font-weight: 700;
				color: #FFF;
			}
		.plus-icn {
			margin-inline: 12px;
		}
		.compare-icn {
			margin-inline: 9px;
		}
	.what__bottom-txt {
		display: flex;
		flex-direction: column;
		gap: 7px;
		width: 1140px;
		height: 163px;
		background: url(../images/speech_bubble.webp) no-repeat center / cover;
		padding: 36px 0 0 148px;
		margin-top: 40px;
	}
		.what__bottom-txt-separate {
			font-size: 24px;
			font-weight: 500;
			line-height: 1.25;
			color: #333;
		}
			.what__property-txt {
				font-weight: 700;
				color: #333;
			}
				.what__property-txt-num {
					font-size: 36px;
					color: #333;
				}

.cnt__wrap--check {
	background: #F6F6F6;
}
.cnt__wrap--check::before {
	content: "CHECKFORM";
	font-size: 160px;
	font-weight: 900;
	letter-spacing: 0.1em;
	color: rgba(217, 217, 217, 0.3);
	top: -78px;
	left: 50.5%;
	transform: translateX(-50%);
	z-index: -1;
}
	.cnt__inner--check {
		position: relative;
	}
		.check__top-txt {
			font-size: 20px;
			font-weight: 700;
			line-height: 1;
			color: #484848;
			text-align: center;
			margin-top: 1px;
		}
			.check__property {
				color: #25BE5F;
			}
				.check__property-num {
					font-size: 34px;
				}
		.check__bottom-txt {
			font-size: 16px;
			font-weight: 700;
			color: #484848;
			text-align: center;
			margin-top: 6px;
		}
		.contact__float-bt {
			width: fit-content;
			height: fit-content;
			position: absolute;
			top: 78px;
			right: 0;
		}
			.contact__float-bt a {
				display: flex;
				align-items: center;
				width: 225px;
				height: 74px;
				background: #2668B2;
				border: 1px solid #2668B2;
				border-radius: 50px;
				padding-left: 39px;
				font-size: 16px;
				font-weight: 700;
				line-height: 1.4;
				color: #FFF;
				text-align: center;
				position: relative;
				transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
			}
			.contact__float-bt a:hover {
				background: #FFFFFF;
				color: #2668B2;
				opacity: 1;
			}
				.contact-arrow {
					--contact-arrow-bg: #ffffff;
					--contact-arrow-stroke: #2668b2;
					position: absolute;
					top: 0;
					bottom: 0;
					margin: auto;
					right: 20px;
					transition: --contact-arrow-bg 0.4s ease, --contact-arrow-stroke 0.4s ease;
				}
				.contact__float-bt a:hover .contact-arrow {
					--contact-arrow-bg: #2668b2;
					--contact-arrow-stroke: #ffffff;
				}
		.check__form * ,
		.check__bottom-box * {
			font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
		}
		.check__form {
			margin-top: 40px;
		}
			.check__box {
				background: #FFF8EE url(../images/check_bg.webp) no-repeat center / cover;
				border-radius: 30px 30px 0 0;
				padding: 46px 50px 35px;
			}
				.check__box-ttl {
					font-size: 24px;
					font-weight: 700;
					color: #484848;
					text-align: center;
				}
				.check__box-inner {
					border-top: 1px solid #E9E9E9;
					margin-top: 32px;
				}
					.check__box-item {
						display: flex;
						align-items: center;
						gap: 49px;
						padding-block: 35px;
						border-bottom: 1px solid #E9E9E9;
					}
					.check__box-item:first-of-type {
						align-items: flex-start;
					}
					.check__box-item:last-of-type {
						border-bottom: none;
					}
						.check__box-item-ttl {
							display: flex;
							align-items: center;
							gap: 7px;
							width: 175px;
							font-size: 20px;
							font-weight: 700;
							line-height: 1.2;
							color: #484848;
							flex-shrink: 0;
						}
							.check__box-item-ttl span {
								display: flex;
								align-items: center;
								justify-content: center;
								width: 28px;
								height: 28px;
								border-radius: 50%;
								background: #F00;
								font-size: 18px;
								font-weight: 700;
								color: #FFF;
							}
							.check__box-item:first-of-type .check__box-item-ttl span {
								background: #2499D4;
							}
							.check__txt-flex-box {
								display: flex;
								gap: 20px;
							}
							.check__txt-flex-box-item--radio {
								gap: 5px;
							}
								.check__txt-flex-box-item {
									display: flex;
									flex-direction: column;
									gap: 3px;
								}
									.check__txt-flex-box-item-ttl {
										font-size: 16px;
										font-weight: 700;
										line-height: 1.3;
										color: #484848;
									}
										.check__txt-flex-box-item-ttl span {
											font-size: 14px;
											font-weight: 400;
											line-height: 1.3;
											color: #969696;
										}
									.square__box {
										display: flex;
										align-items: end;
										gap: 5px;
									}
										.square__box input[type="text"] {
											width: 120px;
											height: 45px;
											background: #FDFFEA;
											border: 1px solid #CDCDCD;
											border-radius: 4px;
											padding: 0 20px;
											font-size: 18px;
											font-weight: 400;
											line-height: 1.6;
											color: #484848;
										}
											.square__box input[type="text"]::placeholder {
												font-size: 18px;
												font-weight: 400;
												line-height: 1.6;
												color: #78909C;
											}
										.square__box span {
											font-size: 18px;
											font-weight: 500;
											line-height: 1.6;
											color: #484848;
										}
									.year__box {
										display: flex;
										align-items: end;
										gap: 5px;
									}
										.year__box input[type="text"] {
											width: 120px;
											height: 45px;
											background: #FDFFEA;
											border: 1px solid #CDCDCD;
											border-radius: 4px;
											padding: 0 20px;
											font-size: 18px;
											font-weight: 400;
											line-height: 1.6;
											color: #484848;
										}
											.year__box input[type="text"]::placeholder {
											font-size: 18px;
											font-weight: 400;
											line-height: 1.6;
											color: #78909C;
										}
										.year__box span {
											font-size: 18px;
											font-weight: 500;
											line-height: 1.6;
											color: #484848;
										}
									.price__box {
										display: flex;
										align-items: end;
										gap: 5px;
									}
										.price__box input[type="text"] {
											width: 200px;
											height: 45px;
											background: #FDFFEA;
											border: 1px solid #CDCDCD;
											border-radius: 4px;
											padding: 0 20px;
											font-size: 18px;
											font-weight: 400;
											line-height: 1.6;
											color: #484848;
										}
										.price__box--primary input[type="text"] {
											background: #F6F6F6;
											border: none;
										}
										.price__box--primary input[type="text"]:read-only {
											cursor: default;
											color: #484848;
										}
											.price__box input[type="text"]::placeholder {
												font-size: 18px;
												font-weight: 400;
												line-height: 1.6;
												color: #78909C;
											}
										.price__box span {
											font-size: 18px;
											font-weight: 500;
											line-height: 1.6;
											color: #484848;
										}
									.check__txt-flex-box-item-radio {
										display: flex;
										align-items: center;
										gap: 9px;
										box-sizing: border-box;
										width: 175px;
										height: 49px;
										padding-left: 9px;
										border-radius: 4px;
										background: #FBFCFC;
										border: 1px solid #CFD8DC;
										cursor: pointer;
									}
									.check__txt-flex-box-item-radio:has(input[type="radio"]:checked) {
										background: #EEF9FF;
										border: 1px solid #2499D4;
									}
										.check__txt-flex-box-item-radio__txt {
											font-size: 18px;
											font-weight: 400;
											line-height: 1.6;
											color: #080404;
										}
										
										.check__txt-flex-box-item-radio input[type="radio"] {
											appearance: none;
											flex-shrink: 0;
											width: 20px;
											height: 20px;
											background: #fff;
											border: 1px solid #CFCFCF;
											border-radius: 50%;
											margin: 0;
											cursor: pointer;
										}
										.check__txt-flex-box-item-radio input[type="radio"]:checked {
											background: url(../images/check_radio.svg) no-repeat center / cover;
											border: none;
										}
							.check__attention-txt {
								font-size: 14px;
								font-weight: 400;
								color: #969696;
								margin-top: 3px;
							}
				.check__box-btn button {
					display: flex;
					align-items: center;
					width: 300px;
					height: 59px;
					border-radius: 50px;
                    background: #F68004;
					border: 1px solid #F68004;
					padding-top: 8px;
					padding-left: 60px;
					margin: 21px auto 0;
					font-size: 24px;
					font-weight: 900;
					line-height: 1.2;
					color: #FFF;
					text-align: center;
					position: relative;
					transition: .4s;
				}
				.result-arrow {
					color: #ffffff;
					position: absolute;
					top: 0;
					bottom: 0;
					margin: auto;
					right: 20px;
					transition: .4s;
				}
				.check__box-btn button:hover {
					background: #fff;
					color: #F68004;
					opacity: 1;
				}
				.check__box-btn button:hover .result-arrow {
					color: #F68004;
				}
	    .check__bottom-box {
			background: #FFF8EE;
			padding-bottom: 47px;
            border-radius: 0 0 30px 30px;
		}
			.check__result {
				padding-top: 19px;
			}
				.check__result-box {
					display: flex;
					align-items: center;
					gap: 6px;
					width: fit-content;
					margin: 0 auto;
				}
					.check__result-box-ttl {
						font-size: 26px;
						font-weight: 700;
						line-height: 1.2;
						color: #484848;
					}
					.check__result-box-item {
						display: flex;
						align-items: center;
						gap: 1.4px;
					}
						.check__result-box-num {
							display: flex;
							align-items: center;
							justify-content: center;
							width: 45px;
                            height: 45px;
							border-radius: 50%;
							background: #F00;
							font-size: 28px;
							font-weight: 700;
							line-height: 1.2;
							color: #FFF;
						}
						.property-num {
							background: #2499D4;
						}
						.check__result-box-txt {
							font-size: 26px;
							font-weight: 700;
							color: #484848;
						}
						.check__result-total-num-box {
							gap: 10px;
						}
						.check__result-total-num {
							font-size: 65px;
							font-weight: 700;
							color: #323232;
							margin-left: 16px;
						}
						.check__result-total-txt {
							display: block;
							font-family: "Zen Kaku Gothic New", sans-serif;
							font-size: 30px;
							font-weight: 700;
							line-height: 1;
							color: #323232;
							margin-top: 15px;
						}
			.check__result-txt-box {
				width: 854px;
				height: 147px;
				background: url(../images/result_txt-bg.svg) no-repeat center / cover;
				padding: 47px 0 0 20px;
				margin: 8px auto 0;
			}
				.check__result-txt {
					font-family: "Zen Kaku Gothic New", sans-serif;
					font-size: 20px;
					font-weight: 700;
					line-height: 1.2;
					color: #333;
					text-align: center;
				}
					.check__result-txt span {
						display: block;
						font-family: "Zen Kaku Gothic New", sans-serif;
						font-size: 40px;
						font-weight: 700;
						line-height: 1.2;
						color: #E53E28;
						margin-top: 3px;
					}
			.check__result-detail {
				padding-top: 60px;
			}
				.check__result-detail-ttl {
					font-size: 24px;
					font-weight: 700;
					line-height: 1.2;
					color: #484848;
					text-align: center;
				}
				.check__result-detail-inner {
					width: 1040px;
					margin: 35px auto 0;
					border-top: 1px solid #E9E9E9;
				}
				.check__result-detail-item {
					display: flex;
					align-items: center;
					justify-content: space-between;
					padding-top: 36px;
				}
				.check__result-detail-item:not(:last-of-type) {
					border-bottom: 1px solid #E9E9E9;
					padding-bottom: 35px;
				}
				.check__result-detail-left {
					width: 792px;
					flex-shrink: 0;
				}
					.check__result-detail-left-ttl {
						display: flex;
						align-items: center;
						gap: 8px;
					}
						.check__result-detail-left-ttl-num {
							display: flex;
							align-items: center;
							justify-content: center;
							width: 28px;
							height: 28px;
							border-radius: 50%;
							background: #F00;
							font-size: 18px;
							font-weight: 700;
							color: #FFF;
						}
						.check__result-detail-item--primary .check__result-detail-left-ttl-num {
							background: #2499D4;
						}
						.check__result-detail-left-ttl-sign {
							display: flex;
							align-items: center;
							justify-content: center;
							width: 72px;
							height: 27px;
							border-radius: 5px;
							background: #FFE6E6;
							font-size: 14px;
							font-weight: 700;
							color: #F00;
						}
						.check__result-detail-item--primary .check__result-detail-left-ttl-sign {
							background: rgba(36, 153, 212, 0.10);
							color: #2499D4;
						}
						.check__result-detail-left-ttl-name {
							font-size: 20px;
							font-weight: 700;
							line-height: 1.2;
							color: #484848;
						}
					.check__result-detail-left-desc {
						font-size: 16px;
						font-weight: 400;
						line-height: 1.6;
						color: #080404;
						margin-top: 10px;
					}
					.check__result-detail-left-attention-txt {
						font-size: 14px;
						font-weight: 400;
						color: #969696;
						margin-top: 6px;
					}
				.check__result-detail-right {
					display: flex;
					flex-direction: column;
					align-items: flex-end;
					gap: 14px;
					flex-shrink: 0;
				}
					.check__result-detail-right-txt {
						display: flex;
						align-items: center;
						justify-content: center;
						height: 33px;
						padding-inline: 10px;
						border-radius: 5px;
                        background: #EEE;
						font-size: 16px;
						font-weight: 500;
						line-height: 1;
						color: #484848;
					}
					.check__result-detail-breakdown {
						margin: 0;
						text-align: right;
						font-size: 14px;
						font-weight: 500;
						line-height: 1.65;
						color: #484848;
					}
					.check__result-detail-item--primary .check__result-detail-breakdown {
						color: #323232;
					}
					.check__result-detail-breakdown-unit {
						font-size: 14px;
						font-weight: 500;
						color: #484848;
					}
					.check__result-detail-item--primary .check__result-detail-breakdown-unit {
						color: #323232;
					}
					.check__result-detail-right-num {
						font-size: 36px;
						font-weight: 700;
						line-height: 1;
						color: #F00;
					}
						.check__result-detail-item--primary .check__result-detail-right-num {
							color: #2499D4;
						}
						.check__result-detail-right-num-unit {
							font-size: 16px;
							font-weight: 700;
							color: #F00;
						}
						.check__result-detail-item--primary .check__result-detail-right-num-unit {
							color: #2499D4;
						}
.cnt__wrap--contact {
	background: url(../images/contact_bg.webp) no-repeat center / cover;
}
.cnt__wrap--contact::before {
	content: "CONTACT";
	font-size: 160px;
	font-weight: 900;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.70);
	opacity: 0.3;
	top: -78px;
	left: 50.5%;
	transform: translateX(-50%);
	z-index: -1;
}
	.contact__top-txt {
		font-size: 32px;
		font-weight: 700;
		color: #FFF;
		text-align: center;
	}
		.contact__top-txt span {
			font-size: 24px;
			font-weight: 700;
			color: #FFF;
		}
	.cnt__ttl--contact {
		color: #FFF;
	}
		.cnt__ttl--contact span {
			color: #FFF;
		}
	.contact__list {
		display: flex;
		justify-content: center;
		gap: 20px;
		margin-top: 40px;
		position: relative;
	}
	.contact__list::before {
		content: "";
		display: block;
		width: 1208px;
		height: 160px;
		background: url(../images/contact_deco.webp) no-repeat center / cover;
		pointer-events: none;
		position: absolute;
		top: 146px;
		left: -34px;
	}
		.contact__item {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 12px;
			width: 270px;
			background: #FFF;
			border-radius: 10px;
			padding: 23px 0 20px;
		}
			.contact__item-ttl {
				font-size: 16px;
				font-weight: 700;
				color: #3D3E46;
				text-align: center;
			}
			[class*="contact__bt"] a {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 230px;
				height: 60px;
				border-radius: 50px;
				font-size: 16px;
				font-weight: 700;
				line-height: 1.4;
				color: #FFF;
				text-align: center;
				position: relative;
				transition: .4s;
			}
			.contact__bt--line a {
				background: #06C755;
				border: 1px solid #06C755;
			}
			.contact__bt--mail a {
				background: #2668B2;
				border: 1px solid #2668B2;
			}
			.contact__bt--reservation a {
				background: #57A8E1;
				border: 1px solid #57A8E1;
			}
			.contact__bt--line a:hover {
				background: #fff;
				color: #06C755;
				opacity: 1;
			}
			.contact__bt--mail a:hover {
				background: #fff;
				color: #2668B2;
				opacity: 1;
			}
			.contact__bt--reservation a:hover {
				background: #fff;
				color: #57A8E1;
				opacity: 1;
			}
				.my-arrow {
					color: #ffffff;
					position: absolute;
					top: 0;
					bottom: 0;
					margin: auto;
					right: 17px;
					transition: .4s;
				}
				.contact__bt--line a:hover .my-arrow {
					color: #06C755;
				}
				.contact__bt--mail a:hover .my-arrow {
					color: #2668B2;
				}
				.contact__bt--reservation a:hover .my-arrow {
					color: #57A8E1;
				}