@charset "shift_jis";
/* CSS Document */
#re_top {
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Arial', sans-serif;
	width: 100%;
	overflow-x: hidden;
	>h1 {
		color: #FFF;
	}
	& h2, h3, h4, p, li, a, span {
		color: #333333;
	}
	& a {
		text-decoration: none;
		&:hover {
			>img {
				opacity: 1;
			}
		}
	}
	.video {
		width: 100%;
		aspect-ratio: 16 / 9;
		position: relative;
		overflow: hidden;
		>video {
			width: 100%;
			position: absolute;
			top: 0;
			left: 0;
		}
	}
	.re_t_main_caution {
		padding: 5px 10px;
		font-size: 11px;
		line-height: 1.5;
		text-align: right;
	}
	#re_t_nav {
		margin: 0 0 40px 0;
		padding: 20px 5% 20px 5%;
		background: #f1f3f9;
		position: relative;
		z-index: 1;
		>ul {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			gap: 8px 0;
			margin: 0 auto;
			>li {
				width: calc((100% - 8px)/2);
				>a {
					height: 100%;
					box-sizing: border-box;
					padding: 15px 10px 15px 10px;
					display: block;
					background: #FFF;
					text-align: center;
					.re_t_nav_en {
						color: #0c449b;
						letter-spacing: 0.06em;
					}
					.re_t_nav_name {
						color: #333333;
						font-weight: bold;
						letter-spacing: 0em;
					}
					.re_t_nav_en {
						margin: 0 0 5px 0;
						font-size: clamp(10px, 2.6vw, 11px);
						line-height: 1;
					}
					.re_t_nav_name {
						display: flex;
						flex-direction: column;
						justify-content: center;
						height: 40px;
						margin: 0 0 5px 0;
						font-size: clamp(18px, 4.8vw, 20px);
						line-height: 1;
					}
				}
			}
		}
	}
	.re_t_tl {
		>h2 {
			margin: 0;
			font-size: clamp(27px, 7.2vw, 30px);
			line-height: 1.5;
			font-weight: bold;
			letter-spacing: 0.04em;
		}
		>p {
			display: flex;
			font-size: clamp(12px, 3.2vw, 14px);
			line-height: 1;
			font-weight: bold;
			letter-spacing: 0.1em;
		}
		.re_t_tl_en {
			align-items: center;
			gap: 0 10px;
			&:before {
				content: "";
				display: block;
				width: 62px;
				height: 1px;
			}
		}
		.re_t_tl_wh {
			color: #FFF;
		}
		>p.re_t_tl_wh {
			&:before {
				background: #FFF;
			}
		}
		.re_t_tl_bl {
			color: #0c449b;
		}
		>p.re_t_tl_bl {
			&:before {
				background: #0c449b;
			}
		}
	}
	.re_t_txt {
		font-size: clamp(14px, 3.7vw, 16px);
		line-height: 2;
		font-weight: bold;
		letter-spacing: 0.03em;
	}
	.re_t_btn_bl {
		background: #0c449b;
		color: #FFF;
	}
	.re_t_btn_wh {
		background: #FFF;
		color: #0c449b;
	}
	.re_t_btn {
		display: block;
		width: 240px;
		padding: 20px 0;
		font-size: 15px;
		line-height: 1;
		font-weight: bold;
		text-align: center;
	}
	#re_t_info {
		width: 90%;
		margin: 0 auto 60px auto;
		.re_t_tl {
			margin: 0 0 30px 0;
			display: flex;
			align-items: flex-end;
			gap: 0 15px;
			>p {
				align-items: center;
				gap: 0 15px;
				&:before {
					content: "";
					width: 60px;
					height: 1px;
					background: #333333;
				}
			}
		}
		.re_t_info_conbox {
			height: 130px;
			overflow: hidden;
			>iframe {
				width: 100%;
				height: 150px;
				margin: 0 0 20px 0;
			}
		}
		>a {
			display: block;
			width: 250px;
			margin: 0 auto;
			padding: 15px 0;
			background: #f4f4f4;
			font-size: 13px;
			line-height: 15px;
			font-weight: bold;
			text-align: center;
			letter-spacing: 0.14em;
			transition: all 0.2s;
			&:hover {
				background: #333333;
				color: #FFF;
			}
		}
	}
	#re_t_hills {
		width: 100%;
		margin: 0 0 50px 0;
		padding: 50px 0 20px 0;
		background-image: url(/img/re_top/hills_bg.webp);
		background-size: cover;
		background-position: center;
		>div {
			width: 90%;
			margin: 0 auto;
			position: relative;
			.re_t_tl {
				margin: 0 0 20px 0;
				>p {
					margin: 0 0 5px 0;
				}
				>img {
					width: 180px;
					margin: 0 auto 12px auto;
				}
			}
			>p {
				margin: 0 0 20px 0;
				font-size: clamp(14px, 3.7vw, 16px);
				line-height: 2;
				font-weight: bold;
				color: #FFF;
				letter-spacing: 0.03em;
			}
			>a {
				display: block;
				width: 280px;
				margin: 0 auto 35px auto;
				padding: 15px 0;
				background: #FFFFFF;
				font-size: 13px;
				line-height: 15px;
				font-weight: bold;
				text-align: center;
				letter-spacing: 0.14em;
				transition: all 0.2s;
				&:hover {
					background: #333333;
					color: #FFF;
				}
			}
			>ul {
				display: flex;
				justify-content: flex-end;
				gap: 0 10px;
			}
		}
	}
	#re_t_kodate {
		margin: 0 0 50px 0;
		padding: 50px 0 30px 0;
		position: relative;
		overflow: hidden;
		z-index: 1;
		&:after {
			content: "";
			height: 100%;
			width: 90vw;
			background: #edf0fb;
			position: absolute;
			top: 0;
			right: 0;
			z-index: -1;
		}
		>div {
			width: 90%;
			margin: 0 auto;
			.re_t_tl {
				margin: 0 0 25px 0;
				>p {
					margin: 0 0 15px 0;
				}
			}
			.re_t_kodate_box {
				margin: 0 0 30px 0;
				>p {
					margin: 0 0 30px 0;
				}
			}
		}
		>ul {
			display: flex;
			gap: 0 10px;
			width: 90%;
			margin: 0 auto;
			>li:nth-child(2n) {
				margin-top: 50px;
			}
		}
	}
	#re_t_rent {
		margin: 0 0 70px 0;
		position: relative;
		z-index: 2;
		overflow: hidden;
		>div {
			width: 90%;
			margin: 0 auto 30px auto;
			position: relative;
			.re_t_tl {
				margin: 0 0 30px 0;
				>p {
					margin: 0 0 15px 0;
				}
			}
			.re_t_txt {
				margin: 0 0 30px 0;
			}
			>img {
				width: 130px;
				position: absolute;
				top: 0;
				right: 0;
			}
		}
		>ul {
			display: flex;
			justify-content: space-between;
			width: 90%;
			margin: 0 auto;
			>li {
				width: calc((100% - 10px)/2);
			}
		}
	}
	#re_t_owner {
		margin: 0 0 70px 0;
		position: relative;
		width: 100%;
		z-index: 1;
		&:before {
			content: "";
			width: 1640px;
			height: 1640px;
			background: #f1f3f9;
			border-radius: 50%;
			position: absolute;
			top: -360px;
			right: -50px;
			z-index: -2;
		}
		>div {
			width: 90%;
			margin: 0 auto;
			padding: 25px 0 0 0;
			position: relative;
			.re_t_tl {
				margin: 0 0 25px 0;
				>p {
					margin: 0 0 20px 0;
				}
			}
			>img {
				margin: 0 0 20px 0;
			}
			.re_t_owner_catch {
				margin: 0 0 30px 0;
				font-size: clamp(24px, 6.4vw, 26px);
				line-height: 1.33;
				font-weight: bold;
				letter-spacing: 0.1em;
				>span {
					color: #0c449b;
					font-weight: bold;
				}
			}
			.re_t_txt {
				margin: 0 0 30px 0;
			}
			.re_t_owner_per {
				position: absolute;
				top: 0;
				right: 0;
				width: 140px;
				box-sizing: border-box;
				padding: 20px 0 15px 0;
				border: 1px solid #0c449b;
				border-radius: 5px;
				&:before {
					content: "";
					width: 55px;
					height: 1px;
					background: #f1f3f9;
					position: absolute;
					bottom: -1px;
					left: 12px;
				}
				&:after {
					content: "";
					width: 30px;
					height: 1px;
					background: #0c449b;
					transform: rotate(135deg);
					transform-origin: 0 0;
					position: absolute;
					bottom: 5px;
					left: 52px;
				}
				.re_t_owner_per_name {
					width: 80px;
					margin: auto;
					padding: 3px 0;
					background: #FFF;
					border: 1px solid #0c449b;
					border-radius: 24px;
					font-size: 14px;
					line-height: 1;
					color: #0c449b;
					font-weight: bold;
					text-align: center;
					position: absolute;
					top: -11px;
					left: 0;
					right: 0;
				}
				.re_t_owner_per_num {
					display: flex;
					align-items: baseline;
					justify-content: center;
					font-size: 42px;
					line-height: 1;
					color: #0c449b;
					font-weight: bold;
					.re_t_owner_per_dot {
						font-size: 32px;
						color: #0c449b;
					}
					.re_t_owner_per_mark {
						font-size: 18px;
						color: #0c449b;
					}
				}
				.re_t_owner_per_cau {
					padding: 0 10px;
					font-size: 10px;
					line-height: 1;
					color: #0c449b;
					font-weight: bold;
					letter-spacing: 0.04em;
					text-align: right;
				}
			}
		}
	}
	#re_t_sale {
		margin: 0 0 70px 0;
		padding: 40px 0 40px 0;
		background: #0c449b;
		position: relative;
		z-index: 2;
		>div {
			display: flex;
			justify-content: flex-end;
			width: 90%;
			margin: 0 auto;
			>div {
				.re_t_tl {
					margin: 0 0 25px 0;
					>p {
						margin: 0 0 15px 0;
					}
				}
				>img {
					margin: 0 0 25px 0;
				}
				.re_t_txt {
					margin: 0 0 20px 0;
					color: #FFF;
				}
			}
		}
		.re_t_sale_il {
			position: absolute;
			width: 300px;
			right: 0;
			bottom: 0;
			z-index: -1;
		}
	}
	#re_t_build {
		width: 100%;
		margin: 0 0 70px 0;
		padding: 50px 15px 50px 15px;
		box-sizing: border-box;
		background-image: url(/img/re_top/build_bg.webp);
		background-size: cover;
		background-position: center;
		>div {
			margin: 0 auto;
			>div {
				padding: 30px;
				background: #FFF;
				box-sizing: border-box;
				.re_t_tl {
					margin: 0 0 25px 0;
					>p {
						margin: 0 0 15px 0;
					}
				}
				.re_t_txt {
					margin: 0 0 25px 0;
				}
				>a {
					display: block;
					width: 260px;
					box-sizing: border-box;
					padding: 15px 0 15px 15px;
					border: 1px solid #000000;
					position: relative;
					>img {
						width: 180px;
					}
					&:after {
						content: "";
						display: block;
						width: 18px;
						height: 18px;
						margin: auto;
						background-image: url(/img/re_top/build_ar.webp);
						background-repeat: no-repeat;
						background-size: cover;
						background-position: center;
						position: absolute;
						top: 0;
						bottom: 0;
						right: 20px;
					}
				}
			}
		}
	}
	#re_t_recruit {
		margin: 0 0 70px 0;
		position: relative;
		>div {
			display: flex;
			justify-content: flex-end;
			width: 90%;
			margin: 0 auto 30px auto;
			>div {
				box-sizing: border-box;
				.re_t_tl {
					margin: 0 0 20px 0;
					>p {
						margin: 0 0 15px 0;
					}
				}
				.re_t_txt {
					margin: 0 0 30px 0;
				}
			}
		}
		.re_t_recruit_img01 {
			width: 100%;
			height: 230px;
			object-fit: cover;
			margin: 0 0 40px 0;
		}
		>ul {
			display: flex;
		}
	}
	#re_t_company {
		margin: 0 0 60px 0;
		.t_com_slide {
			height: 250px;
			margin: 0 0 35px 0;
			>ul {
				>li {
					>img {
						display: block;
						height: 100%;
						object-fit: cover;
					}
				}
			}
		}
		.re_t_company_box {
			width: 90%;
			margin: 0 auto;
			.re_t_tl {
				margin: 0 0 20px 0;
				>p {
					margin: 0 0 20px 0;
				}
				>h2 {
					font-size: clamp(24px, 6.4vw, 26px);
					line-height: 1.33;
					>span {
						color: #0c449b;
					}
				}
			}
			>ul {
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				gap: 10px;
				>li {
					width: calc((100% - 10px)/2);
					>a {
						display: block;
						padding: 20px 0 20px 0;
						background: #f0f4fc;
						text-align: center;
						transition: all 0.3s;
						>p {
							font-weight: bold;
							letter-spacing: 0.1em;
						}
						.re_t_company_nav_en {
							margin: 0 0 4px 0;
							font-size: clamp(14px, 3.7vw, 16px);
							line-height: 1;
						}
						.re_t_company_nav_ja {
							margin: 0 0 10px 0;
							font-size: clamp(10px, 2.7vw, 12px);
							line-height: 1;
						}
						>img {
							width: 60px;
							margin: 0 auto;
						}
					}
				}
			}
		}
	}
	#re_t_shop {
		box-sizing: border-box;
		margin: 0 auto;
		padding: 40px 5vw;
		background: #f1f5fc;
		.re_t_tl {
			margin: 0 0 20px 0;
			>p {
				margin: 0 0 15px 0;
			}
		}
		>ul {
			>li {
				&:not(:last-child) {
					margin: 0 0 15px 0;
				}
				>a {
					display: block;
					padding: 20px;
					background: #FFF;
					& p, li, span {
						font-weight: bold;
					}
					.re_t_shop_bl {
						color: #0c449b;
					}
					.re_t_shop_gr {
						color: #65b822;
					}
					.re_t_shop_up {
						display: flex;
						align-items: center;
						gap: 0 10px;
						margin: 0 0 10px 0;
						>img {
							width: 40%;
							height: 100%;
							object-fit: cover;
							margin: 0 0 0 0;
						}
						>div {
							width: calc(60% - 10px);
							.re_t_shop_name {
								margin: 0 0 5px 0;
								font-size: clamp(14px, 3.7vw, 16px);
								line-height: 1.25;
							}
							.re_t_shop_ad {
								font-size: clamp(12px, 3.3vw, 14px);
								line-height: 1.28;
							}
							>ul {
								>li {
									font-size: clamp(12px, 3.3vw, 14px);
									line-height: 1.28;
								}
							}
						}
					}
					.re_t_shop_txt {
						margin: 0 0 10px 0;
						font-size: 12px;
						line-height: 1.25;
					}
					.re_t_shop_btn {
						width: 200px;
						margin: 0 auto;
						padding: 5px 0;
						font-size: 12px;
						line-height: 20px;
						color: #FFF;
						text-align: center;
						letter-spacing: 0.14em;
					}
					.re_t_shop_btn_bl {
						background: #0c449b;
					}
					.re_t_shop_btn_gr {
						background: #65b822;
					}
				}
				&:last-child {
					>a {
						>ul {
							margin: 0 0 23px 0;
						}
					}
				}
			}
		}
	}
}
#re_footer {
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', '?揀Cリオ', 'Meiryo', 'Arial', sans-serif;
	margin: 140px 0 0 0;
	.re_f_box {
		width: 100%;
		margin: 0 0 60px 0;
		padding: 30px 0;
		background: #f0f4fc;
		>div {
			display: flex;
			align-items: center;
			gap: 0 25px;
			width: 1200px;
			margin: 0 auto;
			.re_f_box_l {
				>a {
					display: block;
					margin: 0 0 10px 0;
				}
				>p {
					font-size: 11px;
					line-height: 1.35;
				}
			}
			.re_f_box_r {
				display: flex;
				align-items: center;
				gap: 0 30px;
				padding: 0 0 0 20px;
				border-left: 1px solid #000;
				>div {
					>p {
						font-weight: bold;
					}
					.re_f_box_tel_txt {
						margin: 0 0 5px 0;
						font-size: 13px;
						line-height: 1;
					}
					.re_f_box_tel_num {
						display: flex;
						align-items: center;
						gap: 0 10px;
						margin: 0 0 5px 0;
						font-size: 30px;
						line-height: 1;
						letter-spacing: 0.08em;
						&:before {
							content: "";
							width: 33px;
							height: 19px;
							background-image: url(/img/re_footer/f_icon_tel.webp);
							background-repeat: no-repeat;
							background-position: center;
							background-size: cover;
						}
					}
					.re_f_box_tel_time {
						font-size: 11px;
						line-height: 1;
					}
				}
				>ul {
					display: flex;
					gap: 0 28px;
					>li {
						width: 230px;
						>a {
							display: block;
							padding: 15px 0;
							background: #0c449b;
							border-radius: 25px;
							font-size: 15px;
							line-height: 20px;
							color: #FFF;
							font-weight: bold;
							letter-spacing: 0.08em;
							text-align: center;
							transition: all 0.2s;
						}
					}
				}
			}
		}
	}
	.re_f_link {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		gap: 0 55px;
		margin: 0 0 60px 0;
		>ul {
			>li {
				>a {
					font-size: 15px;
					line-height: 1.5;
					font-weight: bold;
					letter-spacing: 0.26em;
				}
			}
		}
		.re_f_link_part {
			>p {
				margin: 0 0 12px 0;
				font-size: 13px;
				line-height: 1;
				font-weight: bold;
				letter-spacing: 0.2em;
			}
			>ul {
				>li {
					&:not(:last-child) {
						margin: 0 0 8px 0;
					}
					>a {
						font-size: 13px;
						line-height: 1;
						font-weight: 500;
						letter-spacing: 0.2em;
					}
				}
			}
		}
	}
	>nav {
		width: 1100px;
		margin: 0 auto 35px auto;
		>ul {
			display: flex;
			justify-content: flex-end;
			gap: 0 25px;
			>li {
				>a {
					font-size: 13px;
					line-height: 1;
					font-weight: bold;
				}
			}
		}
	}
	.re_f_copy {
		padding: 5px 0;
		background: #222222;
		font-size: 11px;
		line-height: 15px;
		font-weight: 500;
		color: #FFF;
		text-align: center;
	}
}
.re_t_info_cms {
	margin: 0;
	padding: 0;
	list-style: none;
	>li {
		width: 240px;
		>a {
			display: flex;
			align-items: center;
			gap: 0 10px;
			text-decoration: none;
			font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Arial', sans-serif;
			.re_t_info_img {
				width: 90px;
				height: 90px;
				overflow: hidden;
				>img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			}
			.re_t_info_box {
				width: calc(100% - 100px);
				.re_t_info_date {
					margin: 0 0 12px 0;
					font-size: 12px;
					line-height: 15px;
					color: #0c449b;
				}
				.re_t_info_txt {
					height: 42px;
					margin: 0;
					>span {
						font-size: 14px;
						line-height: 1.5;
						color: #333333;
						letter-spacing: 0.1em;
						text-decoration: underline;
						overflow: hidden;
						display: -webkit-box;
						-webkit-box-orient: vertical;
						-webkit-line-clamp: 2;
					}
				}
			}
		}
	}
}