/* ----------------------------------------
sitemap（サイトマップLP）
/sitemap/用cssのため消さないこと。
---------------------------------------- */
.sitemap_ti h2 {
	font-size: 30px;
	margin: 60px auto 30px;
	font-weight: 500;
	line-height: 1;
	font-weight: bold;
	width: 1100px;
	padding-top: 60px;
	text-align: left;
	border-bottom: none;
}
.sitemap_wrap {
	margin: 0 auto 60px;
	background: #f8f8f8;
	padding: 50px 50px 10px;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}
.sitemap_inner {
	width: 430px;
	margin-bottom: 50px;
}
.sitemap_inner:nth-child(odd) {
	margin-right: 40px;
}
.sitemap_inner h3 {
	font-size: 25px;
	margin: 0 0 30px;
	font-weight: 500;
	line-height: 1;
}
.sitemap_inner ul {
	background: #fff;
	padding: 30px;
	height: calc(100% - 60px);
	box-sizing: border-box;
}
.sitemap_inner ul li {}
.sitemap_inner ul li a {
	font-size: 14px;
	color: #333;
	line-height: 1.7;
	position: relative;
	padding-left: 20px;
	margin-bottom: 5px;
	display: block;
}
.sitemap_inner ul li a:hover {
	text-decoration: underline;
}
.sitemap_inner ul li a::before {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 1px solid #042455;
	border-right: 1px solid #042455;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	left: 0;
	top: 8px;
}
.sitemap_group {
	padding-left: 50px !important;
}
.sitemap_group_ti {
	margin-left: -20px;
}
.sitemap_flex ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}
.sitemap_flex ul li {
	width: 50%;
}
.sitemap_flex ul li:first-child {
	width: 100%;
}
/* ----------------------------------------
recruit(サイドバーなし)
/recruit/用cssのため消さないこと。
---------------------------------------- */
.recruit {
	width: 1000px;
	text-align: left;
	line-height: 24px;
	margin: 20px auto;
	padding: 0px 0px 0px 0px;
}
.recruit h2 {
	width: 1000px;
	font-size: 16px;
	line-height: 51px;
	margin: 0px auto 20px auto;
	padding: 0px 0px 0px 0px;
	text-indent: 15px;
	background: #F0F0F0;
	border-top: solid 5px #CCC;
	border-bottom: solid 1px #CCC;
	border-left: solid 3px #666;
	display: block;
	clear: both;
}
.recruit_tb {
	font-weight: bold;
	font-size: 18px;
}
.recruit1 img {
	max-width: 100%;
	height: auto;
}
.recruit2 p {
	margin: 0;
}
.recruit2 ul {
	margin: 20px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit2 ul li {
	margin: 0px 0px 0px 20px;
	padding: 4px;
	border: solid 1px #CCC;
	float: left;
}
.recruit2 ul li img {
	max-width: 300px;
	height: auto;
}
.recruit3 {
	width: 370px;
	overflow: hidden;
	float: left;
	margin: 0px 20px 20px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit3 img {
	max-width: 370px;
	max-height: 400px;
}
.recruit4 {
	width: 600px;
	float: left;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit4 p {
	margin: 0;
}
.recruit5 {
	line-height: 28px;
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit5 dt {
	width: 150px;
	display: block;
	clear: left;
	float: left;
	background: #EEE;
	margin: 10px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	text-align: center;
	font-weight: bold;
	line-height: 35px;
}
.recruit5 dd {
	display: block;
	float: left;
	margin: 10px 0px 0px 20px;
	padding: 0px 0px 0px 0px;
	line-height: 35px;
	width: 820px;
}
/* ----------------------------------------
recruit(サイドバーあり)
/recruit/用cssのため消さないこと。
---------------------------------------- */
.recruit_side {
	width: 780px;
	text-align: left;
	line-height: 24px;
	margin: 0px auto;
	padding: 0px 0px 0px 0px;
}
.recruit_side h2 {
	width: 100%;
	font-size: 16px;
	line-height: 51px;
	margin: 0px auto 20px auto;
	padding: 0px 0px 0px 0px;
	text-indent: 15px;
	background: #F0F0F0;
	border-top: solid 5px #CCC;
	border-bottom: solid 1px #CCC;
	border-left: solid 3px #666;
	display: block;
	clear: both;
}
.recruit_tb {
	font-weight: bold;
	font-size: 18px;
}
.recruit1_side img {
	max-width: 100%;
	height: auto;
}
.recruit2_side p {
	margin: 0;
}
.recruit2_side ul {
	margin: 20px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit2_side ul li {
	margin: 0px 0px 0px 20px;
	padding: 4px;
	border: solid 1px #CCC;
	float: left;
}
.recruit2_side ul li img {
	max-width: 226px;
	height: auto;
}
.recruit3_side {
	width: 350px;
	overflow: hidden;
	float: left;
	margin: 0px 20px 20px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit3_side img {
	max-width: 350px;
	max-height: 400px;
}
.recruit4_side {
	width: 410px;
	float: left;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}
.recruit4_side p {
	margin: 0;
}
.recruit5_side {
	line-height: 28px;
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit5_side dt {
	width: 150px;
	display: block;
	clear: left;
	float: left;
	background: #EEE;
	margin: 10px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	text-align: center;
	font-weight: bold;
	line-height: 35px;
}
.recruit5_side dd {
	display: block;
	float: left;
	margin: 10px 0px 0px 20px;
	padding: 0px 0px 0px 0px;
	line-height: 35px;
	width: 600px;
}
/* ----------------------------------------
新築戸建てガイド
---------------------------------------- */
#guide_wrap {
	& img {
		max-width: 100%;
	}
	& ul {
		list-style: none;
	}
	& p, & ul, & h2, & h3, & hr, & figure {
		margin: 0;
		padding: 0;
	}
	& a {
		text-decoration: none;
		color: #000000;
	}
	.conts_mid {
		width: clamp(950px, 80vw, 1500px);
	}
	.conts_wide {
		width: clamp(1000px, 85vw, 1600px);
	}
	#guide_main {
		display: flex;
		justify-content: flex-end;
		margin-bottom: clamp(130px, 11vw, 210px);
		position: relative;
		z-index: 2;
		.mskImg {
			width: 86vw;
			mask-image: url("/img/guide/main_mask.webp");
			/*マスクレイヤーとして使用する画像*/
			mask-repeat: no-repeat;
			mask-position: 0;
			mask-size: auto 100%;
			-webkit-mask-image: url("/img/guide/main_mask.webp");
			-webkit-mask-repeat: no-repeat;
			-webkit-mask-position: 0;
			-webkit-mask-size: auto 100%;
		}
		>div, >span, >img {
			position: absolute;
		}
		>div {
			width: calc(100% - clamp(45px, 3.7vw, 70px)*2);
			margin: auto;
			left: 0;
			right: 0;
			bottom: clamp(36px, 3.2vw, 60px);
			z-index: 3;
			>div {
				>h2, >p {
					font-weight: bold;
					letter-spacing: 0.05em;
				}
				>h2 {
					margin-bottom: clamp(50px, 4.2vw, 80px);
					font-size: clamp(60px, 5vw, 90px);
					line-height: 1;
					color: #013b96;
					text-shadow: 0px 0px 15px rgba(255, 255, 255, 1);
				}
				>p {
					line-height: 1.5;
					text-shadow: 0px 0px 8px rgba(255, 255, 255, 1);
				}
				.gu_main_catch {
					margin-bottom: clamp(20px, 1.65vw, 30px);
					font-size: clamp(18px, 1.5vw, 27px);
					color: #73c3e5;
				}
				.gu_main_txt {
					font-size: clamp(13px, 1.1vw, 20px);
					color: #747474;
				}
			}
		}
		.gu_main_img01 {
			width: 11.8vw;
			bottom: 21.875vw;
			left: -2vw;
		}
		.gu_main_img02 {
			width: 12.5vw;
			bottom: 0;
			left: 41.6vw;
		}
		.gu_main_ci {
			display: block;
			aspect-ratio: 1 / 1;
			border-radius: 50%;
		}
		.gu_main_ci_y {
			background: #ffe14d;
		}
		.gu_main_ci_b {
			background: #73c3e5;
		}
		.gu_main_ci01 {
			width: 7.3vw;
			left: 15vw;
			bottom: 28vw;
		}
		.gu_main_ci02 {
			width: 2.85vw;
			left: 11vw;
			bottom: 22.4vw;
		}
		.gu_main_ci03 {
			width: 4.15vw;
			left: 28vw;
			bottom: 2vw;
		}
	}
	#guide_nav {
		width: 100%;
		margin: 0;
		padding-bottom: clamp(130px, 10.5vw, 200px);
		background: #e7f6ff;
		position: relative;
		&:before {
			content: "";
			width: 100vw;
			aspect-ratio: 4 / 1;
			background-image: url(/img/guide/wave_blue.webp);
			background-repeat: no-repeat;
			background-size: cover;
			position: absolute;
			right: 0;
			top: calc((25vw - clamp(70px, 5.8vw, 110px))*-1);
			z-index: -1;
		}
		>div {
			box-sizing: border-box;
			margin: 0 auto;
			padding: clamp(35px, 2.8vw, 50px);
			background: #FFF;
			border: 3px solid #013b96;
			border-radius: 60px;
			position: relative;
			z-index: 3;
			>div {
				margin: 0 0 clamp(30px, 22vw, 40px) 0;
				text-align: center;
				>p {
					width: fit-content;
					margin: 0 auto clamp(15px, 1.1vw, 20px) auto;
					padding: clamp(10px, 0.77vw, 14px) clamp(15px, 1.1vw, 20px);
					background: #013b96;
					border-radius: 30px;
					font-size: clamp(15px, 1.1vw, 20px);
					line-height: 1;
					color: #FFF;
					font-weight: bold;
					letter-spacing: 0.05em;
					position: relative;
					z-index: 1;
					&:after {
						content: "";
						width: clamp(18px, 1.4vw, 24px);
						aspect-ratio: 1 / 1;
						border-radius: 50%;
						background: #013b96;
						position: absolute;
						margin: auto;
						left: 0;
						right: 0;
						bottom: calc(clamp(5px, 0.4vw, 8px)*-1);
						z-index: -1;
					}
				}
				>h2 {
					font-size: clamp(22px, 1.8vw, 36px);
					color: #013b96;
					font-weight: bold;
					letter-spacing: 0.1em;
					>span {
						font-size: clamp(45px, 3.6vw, 65px);
						font-weight: bold;
						letter-spacing: 0.05em;
					}
				}
			}
			>ul {
				display: flex;
				gap: 0 clamp(20px, 1.5vw, 27px);
				counter-reset: item;
				>li {
					width: calc((100% - clamp(20px, 1.5vw, 27px)*3)/4);
					>a {
						display: block;
						padding: clamp(20px, 1.65vw, 30px) clamp(20px, 1.65vw, 30px) clamp(12px, 0.95vw, 18px);
						border-radius: clamp(30px, 22vw, 40px);
						background: #73c3e5;
						overflow: hidden;
						position: relative;
						transition: all 0.2s;
						>img {
							display: block;
							width: clamp(165px, 12.5vw, 230px);
							margin: 0 auto clamp(10px, 0.85vw, 15px) auto;
						}
						>p {
							color: #FFF;
							font-weight: bold;
							line-height: 1.6;
						}
						.gu_nav_txt {
							font-size: clamp(9px, 0.88vw, 16px);
						}
						.gu_nav_name {
							font-size: clamp(12px, 1vw, 20px);
						}
						&:before {
							content: '0'counter(item);
							counter-increment: item;
							display: flex;
							align-items: center;
							justify-content: center;
							width: clamp(25px, 2.1vw, 40px);
							aspect-ratio: 1 / 1;
							background: #FFF;
							border-radius: 50%;
							font-size: clamp(15px, 1.1vw, 20px);
							color: #73b8e6;
							font-weight: bold;
							position: absolute;
							top: clamp(12px, 1vw, 20px);
							left: clamp(12px, 1vw, 20px);
							transition: all 0.2s;
						}
						&:after {
							content: "";
							width: clamp(36px, 3.2vw, 60px);
							aspect-ratio: 1 / 1;
							background-image: url(/img/guide/nav_ar.webp);
							background-repeat: no-repeat;
							background-size: cover;
							position: absolute;
							right: -3px;
							bottom: -3px;
							transition: all 0.2s;
						}
						&:hover {
							background: #013b96;
							&:before {
								color: #013b96;
							}
							&:after {
								background-image: url(/img/guide/nav_ar_h.webp);
							}
						}
					}
				}
			}
		}
	}
	.gu_tl {
		>p, >h2 {
			letter-spacing: 0.05em;
		}
		.gu_tl_num {
			margin: 0 0 clamp(12px, 1vw, 20px) 0;
			font-size: clamp(14px, 1.2vw, 22px);
			color: #013b96;
			font-weight: 800;
			line-height: 1;
			>span {
				margin-left: 10px;
				font-size: clamp(32px, 2.5vw, 45px);
				font-weight: bold;
				line-height: 1;
			}
		}
		>h2 {
			margin: 0 0 clamp(12px, 1vw, 20px) 0;
			font-size: clamp(32px, 2.5vw, 45px);
			color: #013b96;
			line-height: 1.3;
		}
		.gu_tl_txt {
			width: fit-content;
			padding: clamp(10px, 0.77vw, 14px) clamp(15px, 1.1vw, 20px);
			background: #013b96;
			border-radius: 30px;
			font-size: clamp(15px, 1.1vw, 20px);
			line-height: 1;
			color: #FFF;
			font-weight: bold;
			letter-spacing: 0.05em;
			position: relative;
			z-index: 1;
			&:after {
				content: "";
				width: clamp(18px, 1.4vw, 24px);
				aspect-ratio: 1 / 1;
				border-radius: 50%;
				background: #013b96;
				position: absolute;
				margin: auto;
				left: 0;
				right: 0;
				top: calc(clamp(5px, 0.4vw, 8px)*-1);
				z-index: -1;
			}
		}
	}
	#guide_sup {
		margin: 0 auto 0 auto;
		padding: 0 0 clamp(215px, 17.8vw, 340px) 0;
		position: relative;
		z-index: 0;
		&:before {
			content: "";
			width: 100vw;
			aspect-ratio: 4 / 1;
			background-image: url(/img/guide/wave_wh.webp);
			background-repeat: no-repeat;
			background-size: cover;
			position: absolute;
			right: 0;
			top: calc((25vw - clamp(70px, 5.8vw, 110px))*-1);
			z-index: -1;
		}
		&:after {
			content: "";
			width: 100vw;
			aspect-ratio: 24 / 11;
			background-image: url(/img/guide/sup_circle.webp);
			background-repeat: no-repeat;
			background-size: cover;
			position: absolute;
			right: 0;
			bottom: 0;
			z-index: -1;
		}
		>div {
			margin: 0 auto;
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
			.gu_tl {
				flex-shrink: 0;
				width: clamp(250px, 22vw, 400px);
				position: sticky;
				top: 100px;
			}
			.gu_sup_conts {
				>ul {
					>li {
						display: flex;
						align-items: flex-end;
						justify-content: flex-end;
						gap: 0 clamp(36px, 3.2vw, 60px);
						position: relative;
						&:before {
							content: "";
							display: block;
							width: clamp(140px, 11.7vw, 220px);
							aspect-ratio: 1 / 1;
							background: #e7f6ff;
							border-radius: 50%;
							position: absolute;
							top: -10px;
							z-index: -1;
						}
						&:not(:last-child) {
							margin: 0 0 clamp(90px, 7.2vw, 130px) 0;
						}
						&:nth-child(2n+1) {
							&:before {
								left: calc(clamp(45px, 3.6vw, 65px)*-1)
							}
						}
						&:nth-child(2n) {
							flex-direction: row-reverse;
							&:before {
								right: calc(clamp(45px, 3.6vw, 65px)*-1)
							}
						}
						.gu_sup_box {
							width: clamp(360px, 30vw, 530px);
							padding-bottom: clamp(35px, 2.8vw, 50px);
							border-bottom: 2px solid #013b96;
							.gu_sup_en {
								display: flex;
								align-items: flex-end;
								gap: 0 clamp(10px, 0.85vw, 15px);
								margin-bottom: clamp(18px, 1.4vw, 25px);
								font-size: clamp(12px, 0.95vw, 17px);
								line-height: 1.3;
								color: #013b96;
								font-weight: 800;
								letter-spacing: 0.05em;
								&:before {
									content: "";
									display: block;
									width: clamp(18px, 1.4vw, 25px);
									aspect-ratio: 5 / 9;
									background-image: url(/img/guide/sup_icon.webp);
									background-repeat: no-repeat;
									background-size: cover;
								}
							}
							>h3 {
								display: flex;
								align-items: center;
								gap: 0 clamp(12px, 1vw, 20px);
								margin-bottom: clamp(30px, 2.2vw, 40px);
								>span {
									flex-shrink: 0;
									font-size: clamp(22px, 1.8vw, 36px);
									line-height: 1.2;
									color: #013b96;
									font-weight: bold;
									letter-spacing: 0.05em;
								}
								&:after {
									content: "";
									width: 100%;
									height: 2px;
									background: #013b96;
								}
							}
							.gu_sup_txt {
								font-size: clamp(12px, 0.95vw, 18px);
								line-height: 1.65;
								font-weight: bold;
							}
						}
						.gu_sup_img {
							flex-shrink: 0;
							width: clamp(250px, 19vw, 360px);
							box-sizing: border-box;
							padding: clamp(15px, 1.1vw, 20px);
							border-radius: 20px;
							background: #f1f1f1;
							>img {
								display: block;
							}
						}
					}
				}
			}
		}
	}
	#guide_equipment {
		margin-top: calc(clamp(20px, 1.65vw, 30px)*-1);
		padding: 0 0 clamp(90px, 7.2vw, 130px) 0;
		position: relative;
		&:before {
			content: "";
			width: 100%;
			height: clamp(215px, 17.8vw, 340px);
			background: #e7f6ff;
			position: absolute;
			top: calc(clamp(215px, 17.8vw, 340px)*-1);
			left: 0;
			z-index: -1;
		}
		&:after {
			content: "";
			width: 100%;
			height: 100%;
			background: #e7f6ff;
			position: absolute;
			top: 0;
			left: 0;
			z-index: -2;
		}
		>div {
			margin: 0 auto;
			.gu_tl {
				margin: 0 0 clamp(35px, 2.9vw, 55px) 0;
				text-align: center;
				position: relative;
				z-index: 2;
				.gu_tl_txt {
					margin: 0 auto;
				}
			}
			>ul {
				display: flex;
				margin-bottom: clamp(36px, 3.2vw, 60px);
				gap: 0 clamp(45px, 4vw, 75px);
				>li {
					width: calc((100% - clamp(45px, 4vw, 75px)*2)/3);
					>h3 {
						margin-bottom: clamp(20px, 1.65vw, 30px);
						font-size: clamp(20px, 1.6vw, 30px);
						line-height: 1.3;
						color: #013b96;
						letter-spacing: 0.1em;
						text-align: center;
					}
					>p {
						margin: 0 0 clamp(22px, 1.85vw, 35px) 0;
						padding: 0 clamp(15px, 1.1vw, 20px);
						font-size: clamp(9px, 0.8vw, 15px);
						line-height: 2;
						font-weight: bold;
					}
					>img {
						border-radius: 20px;
						border: 3px solid #013b96;
					}
				}
			}
			#gu_inqbox {
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding: clamp(15px, 1.1vw, 20px) clamp(36px, 3.2vw, 60px) clamp(15px, 1.1vw, 20px) clamp(36px, 3.2vw, 60px);
				background: #013b96;
				border-radius: 50px;
				>div {
					display: flex;
					align-items: center;
					gap: 0 clamp(25px, 2.1vw, 40px);
					>img {
						width: clamp(110px, 9vw, 160px);
					}
					>div {
						>h2, >p {
							color: #FFF;
							font-weight: bold;
						}
						>h2 {
							margin: 0 0 clamp(20px, 1.65vw, 30px) 0;
							font-size: clamp(20px, 1.65vw, 30px);
							line-height: 1.5;
							letter-spacing: 0.1em;
						}
						>p {
							font-size: clamp(11px, 0.88vw, 16px);
							line-height: 1.875;
						}
					}
				}
				>ul {
					width: clamp(320px, 25vw, 450px);
					>li {
						&:not(:last-child) {
							margin-bottom: clamp(10px, 0.85vw, 15px);
						}
						>a {
							display: block;
							background: #FFF;
							padding: 1.27em 1.27em;
							border: 2px solid #FFF;
							border-radius: 100px;
							font-size: clamp(14px, 1.2vw, 22px);
							position: relative;
							transition: all 0.2s;
							>span {
								display: flex;
								align-items: center;
								gap: 0 clamp(18px, 1.4vw, 25px);
								line-height: 1;
								color: #013b96;
								letter-spacing: 0.05em;
								font-weight: bold;
								transition: all 0.2s;
								&:before {
									content: "";
									display: block;
									width: clamp(20px, 1.8vw, 34px);
									aspect-ratio: 1 / 1;
									background-repeat: no-repeat;
									background-size: cover;
								}
							}
							&:after {
								content: "";
								display: block;
								width: clamp(35px, 2.9vw, 55px);
								height: clamp(35px, 2.9vw, 55px);
								margin: auto;
								background-image: url(/img/guide/inqbox_ar.webp);
								background-repeat: no-repeat;
								background-size: cover;
								position: absolute;
								top: 0;
								bottom: 0;
								right: clamp(18px, 1.4vw, 25px);
							}
							&:hover {
								background: #013b96;
								>span {
									color: #FFF;
								}
							}
						}
						&:nth-child(1) {
							>a {
								>span {
									&:before {
										background-image: url(/img/guide/inqbox_icon01.webp);
									}
								}
							}
						}
						&:nth-child(2) {
							>a {
								>span {
									&:before {
										background-image: url(/img/guide/inqbox_icon02.webp);
									}
								}
							}
						}
					}
				}
			}
		}
	}
	#guide_zeh_wrap {
		padding: 360px 0 270px 0;
		background-image: url(/img/guide/zeh_bg.webp);
		background-size: cover;
		background-position: center;
		background-attachment: fixed;
		position: relative;
		&:before {
			content: "";
			width: 100vw;
			aspect-ratio: 192 / 31;
			background-image: url(/img/guide/curve_bl.webp);
			background-repeat: no-repeat;
			background-size: cover;
			position: absolute;
			right: 0;
			top: 0;
		}
		.gu_tl {
			margin-bottom: clamp(45px, 3.7vw, 70px);
			text-align: center;
			.gu_tl_num {
				color: #55ab7f;
			}
			>h2 {
				color: #55ab7f;
			}
			.gu_tl_txt {
				margin: 0 auto;
				background-color: #55ab7f;
				&:after {
					background-color: #55ab7f;
				}
			}
		}
		.conts_mid {
			box-sizing: border-box;
			margin: 0 auto;
			padding: clamp(36px, 3.2vw, 60px) clamp(70px, 5.6vw, 100px) clamp(65px, 5vw, 90px) clamp(70px, 5.6vw, 100px);
			background: #FFF;
			border-radius: 60px;
			>ul {
				>li {
					display: flex;
					justify-content: space-between;
					align-items: flex-start;
					>div {
						width: clamp(350px, 29vw, 550px);
						>div {
							display: flex;
							align-items: center;
							gap: 0 clamp(10px, 0.85vw, 15px);
							width: fit-content;
							margin-bottom: clamp(22px, 1.85vw, 35px);
							padding: clamp(7px, 0.55vw, 10px) clamp(15px, 1.1vw, 20px) clamp(7px, 0.55vw, 10px) clamp(7px, 0.55vw, 10px);
							border: 3px solid #55ab7f;
							border-radius: 50px;
							>img {
								width: clamp(30px, 2.2vw, 40px);
								aspect-ratio: 1 / 1;
							}
							& h3, & p {
								color: #55ab7f;
								font-weight: bold;
								letter-spacing: 0.05em;
							}
							& h3 {
								font-size: clamp(18px, 14vw, 25px);
							}
							& p {
								display: flex;
								align-items: center;
								gap: 0 clamp(10px, 0.85vw, 15px);
								font-size: clamp(10px, 0.8vw, 15px);
								&:before {
									content: "";
									width: 3px;
									height: clamp(15px, 1.1vw, 20px);
									background: #55ab7f;
									border-radius: 3px;
									transform: rotate(30deg);
								}
							}
							>div {
								display: flex;
								align-items: baseline;
								gap: 0 clamp(10px, 0.85vw, 15px);
							}
						}
						>p {
							margin-left: 5px;
							font-weight: bold;
						}
						.gu_zeh_name {
							margin-bottom: clamp(20px, 1.65vw, 30px);
							font-size: clamp(20px, 1.65vw, 30px);
							line-height: 1.2;
							letter-spacing: 0.1em;
						}
						.gu_zeh_txt {
							font-size: clamp(10px, 0.8vw, 15px);
							line-height: 2;
							letter-spacing: 0.05em;
						}
					}
					>img {
						width: clamp(420px, 37vw, 700px);
						border-radius: 30px 80px;
					}
					&:not(:last-child) {
						margin-bottom: clamp(35px, 2.8vw, 50px);
						padding-bottom: clamp(35px, 2.8vw, 50px);
						border-bottom: 1px solid #cccccc;
					}
					&:nth-child(2n) {
						flex-direction: row-reverse;
					}
				}
			}
		}
	}
	#guide_loan {
		margin: 0 0 120px 0;
		position: relative;
		z-index: 1;
		&:before {
			content: "";
			width: 100%;
			height: 100%;
			background: #FFF;
			border-radius: 80px 80px 0 0;
			position: absolute;
			left: 0;
			top: calc(clamp(65px, 5vw, 90px)*-1);
			z-index: -1;
		}
		.gu_tl {
			margin-bottom: clamp(65px, 5vw, 90px);
			text-align: center;
			.gu_tl_txt {
				margin: 0 auto;
			}
		}
		.conts_mid {
			margin: 0 auto;
			.gu_loan_box {
				display: flex;
				align-items: center;
				justify-content: space-between;
				.gu_loan_txt {
					width: clamp(490px, 41vw, 780px);
					box-sizing: border-box;
					padding: clamp(25px, 2.1vw, 40px);
					background: #013b96;
					border-radius: 30px;
					position: relative;
					&:before {
						content: "";
						display: block;
						width: clamp(55px, 4.8vw, 91px);
						aspect-ratio: 13 / 9;
						background-repeat: no-repeat;
						background-size: cover;
						background-position: center;
						position: absolute;
					}
					>h3 {
						margin-left: clamp(10px, 0.8vw, 15px);
						margin-bottom: clamp(20px, 1.65vw, 30px);
						font-size: clamp(20px, 1.65vw, 30px);
						line-height: 1.2;
						color: #FFF;
						letter-spacing: 0.1em;
						>span {
							font-size: clamp(22px, 1.8vw, 36px);
						}
					}
					>div {
						display: flex;
						align-items: center;
						gap: 0 10px;
						padding: clamp(20px, 1.65vw, 30px);
						background: #FFF;
						border-radius: 30px;
						>img {
							width: clamp(130px, 11vw, 205px);
							flex-shrink: 0;
						}
						>p {
							font-size: clamp(12px, 0.9vw, 16px);
							line-height: 1.875;
							font-weight: bold;
							letter-spacing: 0.05em;
						}
					}
				}
				>img {
					width: clamp(430px, 36vw, 680px);
				}
				&:nth-of-type(2n) {
					margin-bottom: clamp(70px, 5.6vw, 100px);
					.gu_loan_txt {
						&:before {
							background-image: url(/img/guide/loan_dot01.webp);
							bottom: clamp(45px, 3.7vw, 70px);
							right: calc(clamp(40px, 3.4vw, 65px)*-1)
						}
					}
				}
				&:nth-of-type(2n+1) {
					flex-direction: row-reverse;
					.gu_loan_txt {
						&:before {
							background-image: url(/img/guide/loan_dot02.webp);
							top: clamp(45px, 3.7vw, 70px);
							left: calc(clamp(40px, 3.4vw, 65px)*-1)
						}
					}
				}
				.gu_loan_caution {
					margin-top: clamp(18px, 1.4vw, 25px);
					font-size: clamp(10px, 0.75vw, 13px);
					line-height: 1.2;
					color: #4d4d4d;
					font-weight: bold;
					text-align: right;
				}
			}
		}
	}
	#guide_contact {
		padding: clamp(70px, 5.6vw, 100px) 0;
		background: #e7f6ff;
		position: relative;
		>img {
			width: clamp(580px, 49vw, 930px);
			border-radius: 0 clamp(50px, 4.2vw, 80px) clamp(50px, 4.2vw, 80px) 0;
		}
		>div {
			display: flex;
			justify-content: flex-end;
			height: fit-content;
			margin: auto;
			position: absolute;
			top: 0;
			bottom: 0;
			right: 0;
			left: 0;
			>div {
				width: clamp(530px, 45vw, 850px);
				>h2 {
					margin-bottom: clamp(35px, 2.8vw, 50px);
					>span {
						display: block;
						width: fit-content;
						border-radius: clamp(15px, 1.1vw, 20px);
						font-size: clamp(25px, 2.1vw, 40px);
						line-height: 2.5;
						>span {
							font-size: clamp(24px, 1.8vw, 32px);
						}
					}
					& span {
						color: #013b96;
						letter-spacing: 0.1em;
					}
					.gu_contact_tl_bg_b {
						padding: 0 0 0 clamp(10px, 0.85vw, 15px);
						background: #e7f6ff;
					}
					.gu_contact_tl_bg_wh {
						padding: 0 clamp(20px, 1.65vw, 30px);
						background: #FFF;
					}
				}
				>div {
					margin-left: clamp(80px, 7.2vw, 130px);
					>p {
						font-weight: bold;
					}
					.guide_contact_catch {
						margin-bottom: clamp(20px, 1.65vw, 30px);
						font-size: clamp(20px, 1.65vw, 30px);
						color: #013b96;
						line-height: 1.5;
						font-weight: bold;
						letter-spacing: 0.1em;
					}
					.guide_contact_txt {
						margin-bottom: clamp(20px, 1.65vw, 30px);
						padding-right: clamp(50px, 4.5vw, 85px);
						font-size: clamp(12px, 0.9vw, 16px);
						line-height: 1.875;
						letter-spacing: 0.05em;
					}
					>ul {
						display: flex;
						flex-wrap: wrap;
						gap: 10px;
						>li {
							>a {
								display: flex;
								align-items: center;
								justify-content: space-between;
								box-sizing: border-box;
								padding: 0.65em 0.65em 0.65em 1.5em;
								border: 5px solid #FFF;
								border-radius: 50px;
								font-size: clamp(13px, 1.1vw, 20px);
								color: #FFF;
								font-weight: 500;
								line-height: 1;
								letter-spacing: 0.05em;
								transition: all 0.2s;
								&:after {
									content: "";
									display: block;
									width: clamp(36px, 3vw, 54px);
									aspect-ratio: 1 / 1;
									background-repeat: no-repeat;
									background-size: cover;
									background-position: center;
									transition: all 0.2s;
								}
							}
						}
						.gu_contact_btn {
							width: calc((100% - 10px)/2);
							>a {
								background: #013b96;
								box-shadow: 0px 0px 10px 0px RGBA(196, 196, 196, 0.4);
								transition: all 0.2s;
								&:after {
									background-image: url(/img/guide/btn_ar.webp);
								}
								&:hover {
									background: #73b8e6;
									&:after {
										background-image: url(/img/top/btn_ar_bl.webp);
									}
								}
							}
						}
						.gu_contact_insta {
							width: 100%;
							>a {
								background: linear-gradient(45deg, #FFD600, #FF7A00, #FF0069, #D300C5, #7638FA);
								transition: all 0.2s;
								>span {
									display: flex;
									align-items: center;
									gap: 0 10px;
									&:before {
										content: "";
										display: block;
										width: clamp(20px, 1.5vw, 26px);
										aspect-ratio: 1 / 1;
										background-image: url(/img/guide/insta_icon.webp);
										background-repeat: no-repeat;
										background-size: cover;
										background-position: center;
									}
								}
								&:after {
									background-image: url(/img/guide/insta_ar.webp);
								}
								&:hover {
									letter-spacing: 0.15em;
								}
							}
						}
					}
				}
			}
		}
	}
}
/* 新築戸建てガイド
---------------------------------------- */