@charset "shift_jis";
/*************************************************/
/* 制作を始める時にはtop.css、header.css、h_menu.cssの中身をを削除してください */
/* ナビメニューのプルダウンを使用したい場合にはh_menu.cssの記述を参考にしてみてください。 */
/* この下にあるコメントアウトを活用してください！ */
/* 「assessment」は売却査定フォームのデフォルトデザイン用cssです */
/*************************************************/
/*************************************************/
/*  assessment  */
/*************************************************/
.t_asse_form_wrap {
	width: 1000px;
	margin: 0 auto 40px;
}
.t_asse_form_wrap .h2_title {
	width: 1000px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.t_asse_form {
	margin: 20px auto;
	border-radius: 3px;
	box-shadow: 0 0 3px 0 #999;
	padding: 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.t_asse_form table {
	border-collapse: collapse;
	margin: 0;
	padding: 0;
	width: 100%;
}
.t_asse_form tr {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	margin-bottom: 3px;
}
.t_asse_form tr th,
.t_asse_form tr td {
	padding: 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.t_asse_form tr th {
	width: 25%;
	background: #FAFAF9;
}
.t_asse_form tr th {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	align-items: flex-start;
	text-align: left;
}
.t_asse_form tr td {
	width: 75%;
	font-size: 15px;
	line-height: 22px;
}
.t_asse_form th span {
	font-size: 12px;
	font-weight: bold;
	padding: 0 10px;
	line-height: 22px;
	border-radius: 3px;
}
.t_asse_form th span.t_asse_required {
	border: 1px solid #ff4a32;
	color: #ff4a32;
	background: #FFE8E5;
}
.t_asse_form th span.t_asse_any {
	border: 1px solid #237dc0;
	color: #237dc0;
	background: #dfebf5;
}
.t_asse_form td p {
	color: #999;
}
.t_asse_form td input[type="text"],
.t_asse_form td input[type="tel"],
.t_asse_form td input[type="password"],
.t_asse_form td input[type="number"],
.t_asse_form td textarea,
.t_asse_form td select {
	font-size: 16px;
	line-height: 24px;
	padding: 8px 15px;
	border: 1px solid #ccdae4;
	background: #f5f9fc;
	font-family: 'Arial', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 3px;
	margin-bottom: 4px;
	margin-right: 5px;
}
.t_asse_form td input[type="button"] {
	font-family: 'Arial', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
	font-size: 16px;
	line-height: 24px;
	padding: 8px 15px;
	border: 1px solid #ccc;
	background: #eee;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 3px;
	cursor: pointer;
}
.t_asse_form td input[type="button"]:hover {
	background: #ccc;
}
.t_asse_form td select {
	cursor: pointer;
	height: 42px;
	vertical-align: bottom;
}
.t_asse_form td textarea {
	height: 150px;
	display: block;
}
.t_asse_form td label {
	border: 1px solid #ccdae4;
	background: #f5f9fc;
	cursor: pointer;
	border-radius: 3px;
	padding: 9px 15px 9px 9px;
	display: inline-block;
	margin: 0 2px 5px 0;
}
.t_asse_form td label input {
	width: 20px;
	height: 20px;
	margin-right: 5px;
}
.t_asse_form td label input[type="checkbox"],
.t_asse_form td label input[type="radio"] {
	vertical-align: sub;
	margin: 0 5px 0 0;
	cursor: pointer;
}
.t_asse_form td input[type="text"]:hover,
.t_asse_form td input[type="tel"]:hover,
.t_asse_form td input[type="password"]:hover,
.t_asse_form td input[type="number"]:hover,
.t_asse_form td textarea:hover,
.t_asse_form td select:hover,
.t_asse_form td label:hover {
	background: #f9fcf5;
	border: 1px solid #d6eaba;
}
.t_asse_btn input[type="submit"] {
	-webkit-appearance: none;
	border: 2px solid #2799fb;
	background: #2799fb;
	color: #fff;
	border-radius: 30px;
	width: 400px;
	height: 60px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	box-shadow: 0 0 3px 0 #999;
	padding: 0 40px;
	font-weight: bold;
	cursor: pointer;
	margin: 0 auto;
	font-size: 20px;
	display: block;
	font-family: 'Arial', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
.t_asse_btn input[type="submit"]:hover {
	color: #2799fb;
	background: #fff;
}
.t_asse_btn input[type="button"] {
	-webkit-appearance: none;
	border: 1px solid #ccc;
	background: #eee;
	border-radius: 3px;
	width: 100px;
	height: 40px;
	font-weight: bold;
	cursor: pointer;
	margin: 0 auto;
	display: block;
	font-family: 'Arial', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
.t_asse_btn input[type="button"]:hover {
	background: #ccc;
}
.top_wrap {
	overflow: hidden;
	& h2, h3, ul, li, p {
		margin: 0;
		padding: 0;
	}
	& ul, li {
		list-style: none;
	}
	& a {
		text-decoration: none;
		color: #333333;
	}
	/*  共通部分  */
	.moji_gold {
		color: #beaf87;
	}
	.moji_blue {
		color: #454f57;
	}
	.t_con_tit_w {
		.t_con_tit_eng {
			font-family: "Zen Kaku Gothic Antique", sans-serif;
			font-weight: 900;
			font-style: normal;
			font-size: clamp(15px, 1.1vw, 20px);
			line-height: 1;
			letter-spacing: 0.1em;
			position: relative;
			padding: 0px 0px 0px 22px;
			color: #d8cfb7;
			text-align: left;
			&:before {
				content: "";
				width: clamp(10px, 0.76vw, 12px);
				height: auto;
				aspect-ratio: 1 / 1;
				border: 4px solid #cbbf9f;
				position: absolute;
				top: 0;
				bottom: 0;
				margin: auto;
				left: 0px;
				border-radius: 50%;
				box-sizing: border-box;
			}
		}
		>h2 {
			font-family: "Zen Kaku Gothic Antique", sans-serif;
			font-weight: 700;
			font-style: normal;
			font-size: clamp(35px, 2.6vw, 50px);
			line-height: 1.4;
			letter-spacing: 0.05em;
			margin: clamp(20px, 2.8vh, 30px) 0px 0px 0px;
		}
	}
	.t_con_btn {
		background-color: #454f57;
		border-radius: 35px;
		font-size: clamp(13px, 1vw, 18px);
		letter-spacing: 0.1em;
		font-weight: bold;
		text-align: center;
		color: #ffffff;
		padding: clamp(23px, 3.2vh, 27px) clamp(35px, 2.6vw, 65px) clamp(21px, 3vh, 25px) clamp(60px, 4.6vw, 95px);
		display: inline-block;
		position: relative;
		transition: all 0.4s;
		&:hover {
			background-color: #beaf87;
		}
		&:before {
			content: "";
			display: block;
			width: clamp(40px, 3vw, 50px);
			height: auto;
			aspect-ratio: 1 / 1;
			background-repeat: no-repeat;
			background-size: contain;
			position: absolute;
			top: 0;
			bottom: 0;
			margin: auto;
			left: 10px;
			background-image: url(/img/top/t_btn_arrow.webp);
		}
	}
	.t_con_text {
		font-size: clamp(12px, 0.92vw, 16px);
		line-height: 1.9;
		letter-spacing: 0.05em;
		font-weight: bold;
		color: #505050;
		margin: clamp(35px, 5vh, 45px) 0px 0px 0px;
	}
	.t_con_catch {
		font-size: clamp(22px, 1.6vw, 28px);
		line-height: 1.5;
		letter-spacing: 0.05em;
		font-weight: bold;
		margin: clamp(20px, 2.8vh, 30px) 0px 0px 0px;
	}
	.t_con_in {
		width: clamp(950px, 80vw, 1500px);
		margin: 0px auto;
		padding: 0px 43% 0px 0px;
		box-sizing: border-box;
		.t_buy_mansion {
			margin: 20px 0px 0px 0px;
			display: block;
			transition: all 0.4s;
			&:hover {
				transform: translateY(5px);
			}
			>img {
				width: clamp(470px, 36.1vw, 570px);
			}
		}
		.t_con_btn {
			margin: clamp(25px, 3.5vh, 35px) 0px 0px 0px;
		}
	}
	/*  メイン  */
	.t_main_w {
		margin: 0 auto;
		padding: 0 calc(clamp(40px, 3.07vw, 60px) / 2);
		aspect-ratio: 93 / 40;
		position: relative;
		&:after {
			content: "";
			width: 100%;
			height: 120%;
			box-sizing: border-box;
			border-left: calc(clamp(40px, 3.07vw, 60px) / 2) solid #FFF;
			border-right: calc(clamp(40px, 3.07vw, 60px) / 2) solid #FFF;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
		&:before {
			content: "";
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: -1;
			background-image: url(../img/top/t_main_bg.webp);
			background-repeat: no-repeat;
			background-size: cover;
			background-position: center;
			will-change: transform;
			transform: translateZ(0);
		}
		.t_main_in {
			margin: 0 auto;
			padding: clamp(320px, 45.7vh, 460px) calc(clamp(100px, 7.6vw, 120px) / 2) clamp(80px, 11.4vh, 100px) calc(clamp(100px, 7.6vw, 120px) / 2);
			position: relative;
			&:before, &:after {
				content: "";
				width: clamp(40px, 3.07vw, 60px);
				height: clamp(40px, 3.07vw, 60px);
				background-image: url(/img/top/main_curve.webp);
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
				position: absolute;
				top: 0;
			}
			&:before {
				left: 0;
			}
			&:after {
				right: 0;
				transform: scale(-1, 1);
			}
			>h2 {
				font-family: "Zen Kaku Gothic Antique", sans-serif;
				font-weight: 900;
				font-style: normal;
				font-size: clamp(45px, 3.4vw, 65px);
				line-height: 1.4;
				letter-spacing: 0;
				color: #ffffff;
				>span {
					margin: 0px 0px 0px clamp(140px, 10.7vw, 190px);
				}
			}
			>p {
				font-family: "Zen Kaku Gothic Antique", sans-serif;
				font-weight: 900;
				font-style: normal;
				font-size: clamp(25px, 1.9vw, 35px);
				line-height: 1.4;
				letter-spacing: 0.05em;
				color: #ffffff;
				position: absolute;
				bottom: clamp(140px, 20vh, 160px);
				left: calc(50% - 30px);
				writing-mode: vertical-rl;
			}
		}
		.t_main_cir {
			position: absolute;
			right: 30px;
			bottom: 50px;
			width: clamp(110px, 8.4vw, 153px);
			height: auto;
			aspect-ratio: 1 / 1;
			display: flex;
			align-items: center;
			justify-content: center;
			>img {
				width: clamp(12px, 0.92vw, 17px);
			}
			&:before {
				-webkit-transform-origin: center center;
				-webkit-animation: rotation 50s linear infinite;
				position: absolute;
				top: 0;
				bottom: 0;
				right: 0;
				left: 0;
				margin: auto;
				width: 100%;
				height: 100%;
				transform-origin: center center;
				background: url(/img/top/t_main_cir.webp) center / contain no-repeat;
				content: "";
				animation: rotation 50s linear infinite;
			}
		}
	}
	/*  振り分け  */
	.t_sort_w {
		background-color: #f8f6f2;
		position: relative;
		z-index: 2;
		padding: 40px 0px clamp(450px, 64.2vh, 550px) 0px;
		margin: 40px 0px 0px 0px;
		&:before {
			content: "";
			width: calc(100% + 200px);
			height: auto;
			aspect-ratio: 107 / 8;
			background-color: #f8f6f2;
			position: absolute;
			top: -80px;
			left: -100px;
			border-radius: 50%;
			z-index: -1;
		}
		&:after {
			content: "";
			display: block;
			width: calc(100% + 20px);
			height: auto;
			aspect-ratio: 2009 / 703;
			background-repeat: no-repeat;
			background-size: contain;
			position: absolute;
			bottom: 0px;
			right: 0;
			left: 0;
			margin: auto;
			background-image: url(/img/top/t_news_bg.webp);
			z-index: -1;
		}
		.t_sort_in {
			width: clamp(950px, 80vw, 1500px);
			margin: 0 auto;
			display: flex;
			gap: 0px 30px;
			.t_sort_buy {
				&:before {
					background-image: url(/img/top/t_sort_buy_col.webp);
				}
				>ul {
					>li {
						>a {
							background-color: #454f57;
							transition: all 0.4s;
							&:hover {
								background-color: #beaf87;
							}
						}
					}
					>li:nth-child(1) {
						>a {
							&:before {
								background-image: url(/img/top/t_sort_buy_icon1.webp);
							}
						}
					}
					>li:nth-child(2) {
						>a {
							&:before {
								background-image: url(/img/top/t_sort_buy_icon2.webp);
							}
						}
					}
				}
			}
			.t_sort_chi {
				&:before {
					background-image: url(/img/top/t_sort_chi_col.webp);
				}
				>ul {
					>li {
						>a {
							background-color: #beaf87;
							transition: all 0.4s;
							&:hover {
								background-color: #454f57;
							}
						}
					}
					>li:nth-child(1) {
						>a {
							&:before {
								background-image: url(/img/top/t_sort_chi_icon1.webp);
							}
						}
					}
					>li:nth-child(2) {
						>a {
							&:before {
								background-image: url(/img/top/t_sort_chi_icon2.webp);
							}
						}
					}
				}
			}
			>div {
				width: calc((100% - 30px) / 2);
				background-color: #ffffff;
				border: 1px solid #eceadc;
				box-sizing: border-box;
				border-radius: 40px;
				padding: clamp(15px, 2.1vh, 20px) clamp(15px, 1.1vw, 20px);
				box-shadow: 0px 0px 10px 0px RGBA(196, 196, 196, 0.5);
				position: relative;
				z-index: 0;
				overflow: hidden;
				&:before {
					content: "";
					display: block;
					width: clamp(400px, 30.7vw, 621px);
					height: auto;
					aspect-ratio: 69 / 26;
					background-repeat: no-repeat;
					background-size: contain;
					position: absolute;
					bottom: 0px;
					left: -10px;
					z-index: -1;
				}
				>img {
					width: 100%;
					object-fit: cover;
					height: auto;
					aspect-ratio: 139 / 56;
					border-radius: 32px 32px 0px 0px;
				}
				h2 {
					background-color: #ffffff;
					border-radius: 0px 32px 0px 0px;
					box-sizing: border-box;
					padding: clamp(20px, 2.8vh, 35px) clamp(25px, 1.9vw, 40px) 0px clamp(20px, 1.5vw, 30px);
					margin: clamp(-80px, -8.5vh, -60px) 0px 0px 0px;
					display: inline-block;
					font-size: clamp(28px, 2.1vw, 36px);
					line-height: 1;
					letter-spacing: 0.05em;
					font-weight: bold;
					>span {
						font-size: clamp(38px, 2.9vw, 48px);
					}
				}
				>p {
					font-size: clamp(11px, 0.8vw, 15px);
					line-height: 1.5;
					letter-spacing: 0.05em;
					font-weight: bold;
					padding: 0px 20px;
					margin: clamp(20px, 2.8vh, 35px) 0px 0px 0px;
				}
				>ul {
					margin: clamp(25px, 3.5vh, 40px) 0px 0px 0px;
					display: flex;
					gap: 0px 15px;
					padding: 0px clamp(13px, 1vw, 20px);
					>li {
						width: calc((100% - 15px) / 2);
						>a {
							border-radius: 20px;
							display: block;
							box-sizing: border-box;
							padding: 20px clamp(20px, 1.5vw, 25px);
							position: relative;
							&:before {
								content: "";
								display: block;
								width: clamp(40px, 3vw, 64px);
								height: auto;
								aspect-ratio: 64 / 69;
								background-repeat: no-repeat;
								background-size: contain;
								position: absolute;
								top: -10px;
								right: 15px;
							}
							.t_sort_btn_tit {
								display: flex;
								align-items: center;
								gap: 0px 10px;
								>img {
									width: clamp(25px, 1.9vw, 40px);
								}
								>h3 {
									font-size: clamp(18px, 1.3vw, 24px);
									line-height: 1;
									letter-spacing: 0.05em;
									font-weight: bold;
									color: #ffffff;
								}
							}
							>p {
								font-size: clamp(9px, 0.69vw, 13px);
								line-height: 1.5;
								letter-spacing: 0.05em;
								font-weight: bold;
								color: #ffffff;
								margin: 10px 0px 0px 0px;
							}
						}
					}
				}
			}
		}
	}
	/*  お知らせ  */
	.t_news_box {
		text-align: center;
		position: relative;
		z-index: 2;
		margin: -265px auto 0px auto;
		padding-bottom: 80px;
		&:before {
			content: "";
			width: 100%;
			height: calc(100% - 265px);
			background: #FFF;
			position: absolute;
			left: 0;
			bottom: 0;
			z-index: -1;
		}
		>div {
			width: clamp(950px, 80vw, 1500px);
			margin: 0 auto;
			border-radius: 0px 0px 150px 0px;
			position: relative;
			z-index: 3;
			& iframe {
				width: 100%;
				height: clamp(290px, 41.4vh, 330px);
				margin: clamp(55px, 7.8vh, 70px) 0px 0px 0px;
			}
			.t_news_box_t {
				display: flex;
				justify-content: space-between;
				align-items: flex-end;
				>p {
					font-size: clamp(15px, 1.1vw, 20px);
					line-height: 1.6;
					letter-spacing: 0.05em;
					color: #505050;
					font-weight: bold;
					text-align: left;
				}
				.t_con_tit_w {
					position: relative;
					&:after {
						content: "";
						display: block;
						width: clamp(170px, 13vw, 246px);
						height: auto;
						aspect-ratio: 82 / 63;
						background-repeat: no-repeat;
						background-size: contain;
						position: absolute;
						top: 0;
						bottom: 0;
						margin: auto;
						right: clamp(-246px, -13vw, -170px);
						background-image: url(/img/top/t_news_cala.webp);
					}
				}
			}
			.t_con_btn {
				margin: 30px auto 0px auto;
			}
		}
	}
	/*  買いたい  */
	.t_buy_w {
		margin: 0 0px 0px 0px;
		background-color: #f5f5f5;
		padding: clamp(150px, 21.4vh, 190px) 0px clamp(80px, 11.4vh, 120px) 0px;
		position: relative;
		border-radius: 150px 0px 0px 0px;
		&:before {
			content: "";
			width: 300px;
			height: 300px;
			background: #FFF;
			position: absolute;
			top: 0;
			left: 0;
			z-index: -1;
		}
		&:after {
			content: "";
			display: block;
			width: clamp(100px, 1.3vw, 150px);
			height: auto;
			aspect-ratio: 1 / 1;
			background-repeat: no-repeat;
			background-size: contain;
			position: absolute;
			top: clamp(-150px, -1.3vw, -100px);
			right: 0px;
			background-image: url(/img/top/t_buy_corner.webp);
			z-index: 3;
		}
		.t_con_slide {
			height: clamp(680px, 97.1vh, 850px);
		}
	}
	/*  スライダー共通  */
	.t_buy_w, .t_sale_w, .t_rent_w, .t_com_w {
		.t_con_slide {
			width: 50%;
			position: absolute;
			top: 110px;
		}
		.t_con_slide .swiper-container {
			position: relative;
			width: 100%;
			height: 100%;
			overflow: hidden;
		}
		.t_con_slide .swiper-container .swiper-slide {
			width: 100%;
			height: 100%;
			overflow: hidden;
		}
		.t_con_slide .swiper-container .swiper-slide img {
			object-fit: cover;
			width: 100%;
			height: 100%;
		}
		.t_con_slide .swiper-pagination {
			position: absolute;
			top: 40px;
			display: flex;
			gap: 0 5px;
			bottom: 0px !important;
			width: auto !important;
			height: 6px !important;
			transform: rotate(90deg) !important;
			z-index: 10;
			pointer-events: auto;
		}
		.t_con_slide .swiper-pagination .swiper-pagination-bullet {
			margin: 0 !important;
			width: clamp(20px, 1.5vw, 30px);
			height: clamp(4px, 0.57vh, 6px);
			background: #d8cfb7;
			border-radius: 0;
			opacity: 0.4;
			cursor: pointer;
			pointer-events: auto;
		}
		.t_con_slide .swiper-pagination .swiper-pagination-bullet-active {
			opacity: 1;
		}
		/* 2. 右配置バージョン (.is-right または既存クラス) */
		.t_con_slide.is-right {
			right: 0;
			left: auto;
		}
		.t_con_slide.is-right .swiper-container {
			border-radius: 100px 0px 0px 100px;
			/* 左側を丸く */
		}
		.t_con_slide.is-right .swiper-pagination {
			left: clamp(-50px, -3vw, -40px) !important;
			/* 左外側に配置 */
			right: auto !important;
		}
		/* 3. 左配置バージョン (.is-left または既存クラス) */
		.t_con_slide.is-left {
			left: 0;
			right: auto;
		}
		.t_con_slide.is-left .swiper-container {
			border-radius: 0px 100px 100px 0px;
			/* 右側を丸く */
		}
		.t_con_slide.is-left .swiper-pagination {
			right: clamp(-50px, -3vw, -40px) !important;
			/* 右外側に配置 */
			left: auto !important;
		}
	}
	/*  おすすめ物件共通  */
	.t_bukken_w {
		position: relative;
		z-index: 0;
		padding: clamp(70px, 10vh, 95px) 0px clamp(150px, 21.4vh, 180px) 0px;
		&:before {
			content: "";
			width: 85%;
			height: 90%;
			border-radius: 0px 415px 415px 0px;
			background-color: #ffffff;
			position: absolute;
			top: 0px;
			left: 0px;
			z-index: -1;
		}
		.t_bukken_in {
			width: clamp(950px, 80vw, 1500px);
			margin: 0 auto;
			position: relative;
			.t_bukken_tit_box {
				>p {
					font-family: "Zen Kaku Gothic Antique", sans-serif;
					font-weight: 900;
					font-style: normal;
					font-size: clamp(50px, 3.8vw, 70px);
					line-height: 1.1;
					color: #787e83;
					letter-spacing: 0.05em;
					>span {
						margin: 0px 0px 0px clamp(145px, 11.1vw, 190px);
					}
				}
				>h2 {
					font-size: clamp(13px, 1vw, 16px);
					line-height: 1;
					letter-spacing: 0.05em;
					position: absolute;
					display: inline-block;
					top: 30px;
					right: 49%;
					&:before {
						content: "[";
						display: block;
						font-size: clamp(14px, 1.07vw, 18px);
						position: absolute;
						top: -2px;
						left: -15px;
						font-family: "Zen Kaku Gothic Antique", sans-serif;
						font-weight: 700;
						font-style: normal;
						line-height: 1;
						color: #333333;
					}
					&:after {
						content: "]";
						display: block;
						font-size: clamp(14px, 1.07vw, 18px);
						position: absolute;
						top: -2px;
						right: -15px;
						font-family: "Zen Kaku Gothic Antique", sans-serif;
						font-weight: 700;
						font-style: normal;
						line-height: 1;
						color: #333333;
					}
				}
			}
			.t_bukken_con {
				display: flex;
				margin: 50px 0px 0px 0px;
				gap: 0px 15px;
				.t_bukken_l {
					display: flex;
					flex-direction: column;
					align-items: center;
					gap: 35px 0px;
					margin: 0px 0px 0px 10px;
					>p {
						font-family: "Zen Kaku Gothic Antique", sans-serif;
						font-weight: 900;
						font-style: normal;
						font-size: clamp(20px, 1.5vw, 30px);
						line-height: 1.5;
						letter-spacing: 0.05em;
						writing-mode: vertical-rl;
						margin: 0px 20px 0px 0px;
					}
					>img {
						width: clamp(130px, 10vw, 189px);
					}
				}
				.t_bukken_r {
					display: flex;
					gap: 0px 50px;
					>li {
						width: calc((100% - 100px) / 3);
						transition: all 0.3s;
						>a {
							display: block;
							background-color: #eceadc;
							border-radius: 20px;
							position: relative;
							transition: all 0.4s;
							z-index: 0;
							&:hover {
								transform: translateY(-7px);
								.t_bukken_pho {
									>img {
										transform: scale(1.2);
										filter: brightness(0.8);
									}
								}
								&:after {
									transform: translateX(5px);
								}
							}
							&:before {
								content: "";
								width: 55px;
								height: auto;
								aspect-ratio: 11 / 6;
								background-color: #ffffff;
								position: absolute;
								bottom: 20px;
								right: 20px;
								border-radius: 15px;
								z-index: -2;
							}
							&:after {
								content: "";
								display: block;
								width: 15px;
								height: auto;
								aspect-ratio: 3 / 2;
								background-repeat: no-repeat;
								background-size: contain;
								position: absolute;
								bottom: 30px;
								right: 40px;
								background-image: url(/img/top/t_bukken_arrow.webp);
								z-index: -1;
								transition: all 0.4s;
							}
							.t_bukken_pho {
								width: 100%;
								aspect-ratio: 3 / 2;
								border-radius: 20px;
								overflow: hidden;
								>img {
									object-fit: cover;
									width: 100%;
									height: 100%;
									object-position: center;
									transition: all 0.4s;
								}
							}
							.t_bukken_box {
								box-sizing: border-box;
								padding: clamp(20px, 2.8vh, 30px) 25px;
								.t_bukken_kind {
									font-size: clamp(10px, 0.76vw, 14px);
									line-height: 1;
									letter-spacing: 0.05em;
									position: relative;
									display: inline-block;
									padding: 0px 0px 0px 10px;
									font-weight: bold;
									&:before {
										content: "[";
										display: block;
										font-size: clamp(10px, 0.76vw, 14px);
										position: absolute;
										top: -1px;
										left: 2px;
										font-family: "Zen Kaku Gothic Antique", sans-serif;
										font-weight: 700;
										font-style: normal;
										line-height: 1;
										color: #333333;
									}
									&:after {
										content: "]";
										display: block;
										font-size: clamp(10px, 0.76vw, 14px);
										position: absolute;
										top: -1px;
										right: -8px;
										font-family: "Zen Kaku Gothic Antique", sans-serif;
										font-weight: 700;
										font-style: normal;
										line-height: 1;
										color: #333333;
									}
								}
								.t_bukken_tit {
									font-size: clamp(17px, 1.3vw, 21px);
									line-height: 1;
									letter-spacing: 0.05em;
									margin: 8px 0px 0px 0px;
									font-weight: bold;
									>span {
										overflow: hidden;
										display: -webkit-box;
										-webkit-box-orient: vertical;
										-webkit-line-clamp: 1;
									}
								}
								.t_bukken_mid {
									display: flex;
									gap: 0px 25px;
									margin: 10px 0px 0px 0px;
									align-items: flex-end;
									.t_bukken_mo {
										font-size: clamp(17px, 1.3vw, 21px);
										line-height: 1;
										letter-spacing: 0.05em;
										font-weight: bold;
										color: #ea3c3c;
										position: relative;
										&:after {
											position: absolute;
											content: "";
											right: -13px;
											bottom: 2px;
											width: 2px;
											height: clamp(13px, 1.8vh, 15px);
											transform: rotate(25deg);
											background-color: #333333;
											border-radius: 1px;
										}
									}
									.t_bukken_floor {
										font-size: clamp(12px, 0.92vw, 16px);
										line-height: 1;
										letter-spacing: 0.05em;
										font-weight: bold;
									}
								}
								.t_bukken_det {
									font-size: clamp(11px, 0.84vw, 14px);
									line-height: 1.6;
									letter-spacing: 0.05em;
									font-weight: bold;
									margin: 10px 0px 0px 0px;
									width: 75%;
									>span {
										overflow: hidden;
										display: -webkit-box;
										-webkit-box-orient: vertical;
										-webkit-line-clamp: 1;
									}
								}
							}
						}
					}
					>li:nth-child(1) {
						margin: 15px 0px 0px 0px;
					}
					>li:nth-child(2) {
						margin: -20px 0px 0px 0px;
					}
					>li:nth-child(3) {
						margin: -60px 0px 0px 0px;
					}
				}
			}
		}
	}
	/*  おすすめ売買物件  */
	.t_buy_bukken_w {
		background-color: #f5f5f5;
	}
	/*  会員登録  */
	.t_mem_w {
		background-color: #eceadc;
		padding: clamp(80px, 11.4vh, 100px) 0px;
		.t_mem_con {
			width: clamp(950px, 80vw, 1500px);
			margin: 0px auto;
			position: relative;
			&:before {
				content: "";
				display: block;
				width: clamp(100px, 7.6vw, 150px);
				height: auto;
				aspect-ratio: 1 / 1;
				background-repeat: no-repeat;
				background-size: contain;
				position: absolute;
				bottom: 0;
				left: 0;
				background-image: url(/img/top/mem_box.webp);
				z-index: 20;
				transform: rotate(270deg);
			}
			&:after {
				content: "";
				display: block;
				width: clamp(100px, 7.6vw, 150px);
				height: auto;
				aspect-ratio: 1 / 1;
				background-repeat: no-repeat;
				background-size: contain;
				position: absolute;
				top: 0;
				right: 0;
				background-image: url(/img/top/mem_box.webp);
				z-index: 20;
				transform: rotate(90deg);
			}
			.t_mem_in {
				display: flex;
				box-sizing: border-box;
				padding: 0px clamp(60px, 4.6vw, 90px) 0px clamp(70px, 5.3vw, 100px);
				position: relative;
				align-items: center;
				gap: 0px clamp(60px, 4.6vw, 100px);
				z-index: 0;
				&:before {
					content: "";
					display: block;
					width: clamp(100px, 7.6vw, 150px);
					height: auto;
					aspect-ratio: 1 / 1;
					background-repeat: no-repeat;
					background-size: contain;
					position: absolute;
					top: 0;
					left: 0;
					background-image: url(/img/top/mem_box.webp);
					z-index: 20;
				}
				&:after {
					content: "";
					display: block;
					width: clamp(100px, 7.6vw, 150px);
					height: auto;
					aspect-ratio: 1 / 1;
					background-repeat: no-repeat;
					background-size: contain;
					position: absolute;
					bottom: 0;
					right: 0;
					background-image: url(/img/top/mem_box.webp);
					z-index: 20;
					transform: rotate(180deg);
				}
				.t_mem_l {
					position: relative;
					z-index: 30;
					.t_mem_eng {
						font-family: "Zen Kaku Gothic Antique", sans-serif;
						font-weight: 900;
						font-style: normal;
						font-size: clamp(18px, 1.3vw, 28px);
						line-height: 1;
						letter-spacing: 0.1em;
						color: #d8cfb7;
					}
					>h2 {
						font-family: "Zen Kaku Gothic Antique", sans-serif;
						font-weight: 700;
						font-style: normal;
						font-size: clamp(36px, 3vw, 55px);
						line-height: 1.3;
						letter-spacing: 0.05em;
						position: relative;
						padding: 0px 0px 0px clamp(30px, 2.6vw, 50px);
						margin: clamp(18px, 1.4vw, 25px) 0px 0px 0px;
						white-space: nowrap;
						&:before {
							content: "";
							width: 4px;
							height: 100%;
							border-radius: 2px;
							background-color: #b4a377;
							position: absolute;
							top: 0;
							bottom: 0;
							margin: auto;
							left: 0px;
						}
						.t_mem_tit_s {
							font-size: clamp(30px, 2.5vw, 45px);
						}
					}
					.t_mem_box {
						background-color: #ffffff;
						border-radius: 20px;
						margin: clamp(20px, 1.65vw, 30px) 0px 0px 0px;
						padding: clamp(20px, 1.65vw, 30px) 0px clamp(18px, 1.4vw, 25px) 0px;
						display: inline-block;
						width: clamp(480px, 36.9vw, 680px);
						box-sizing: border-box;
						.t_mem_text {
							text-align: center;
							font-size: clamp(18px, 1.45vw, 26px);
							line-height: 1;
							letter-spacing: 0.05em;
							font-weight: bold;
							>span {
								color: #d63d3f;
							}
						}
						.t_mem_suu_w {
							display: flex;
							gap: 0px clamp(55px, 4.5vw, 80px);
							padding: 0px clamp(10px, 0.75vw, 13px) 0 clamp(16px, 1.35vw, 24px);
							margin: 30px 0px 0px 0px;
							justify-content: center;
							>li:first-child {
								position: relative;
								&:before {
									content: "";
									display: block;
									width: clamp(30px, 2.3vw, 45px);
									height: auto;
									aspect-ratio: 1 / 1;
									background-repeat: no-repeat;
									background-size: contain;
									position: absolute;
									top: clamp(-20px, -2.1vh, -15px);
									left: clamp(-25px, -1.5vw, -20px);
									background-image: url(/img/top/mem_bg1_icon.webp);
									z-index: 10;
								}
								&:after {
									content: "";
									display: block;
									width: clamp(20px, 1.5vw, 29px);
									height: auto;
									aspect-ratio: 29 / 30;
									background-repeat: no-repeat;
									background-size: contain;
									position: absolute;
									bottom: 20px;
									right: clamp(-50px, -3vw, -40px);
									background-image: url(/img/top/mem_arrow_bk.webp);
								}
							}
							>li:last-child {
								position: relative;
								&:before {
									content: "";
									display: block;
									width: clamp(30px, 2.3vw, 45px);
									height: auto;
									aspect-ratio: 1 / 1;
									background-repeat: no-repeat;
									background-size: contain;
									position: absolute;
									top: clamp(-20px, -2.1vh, -15px);
									left: clamp(-25px, -1.5vw, -20px);
									background-image: url(/img/top/mem_bg2_icon.webp);
									z-index: 10;
								}
							}
							.t_mem_suu_box {
								position: relative;
								display: flex;
								align-items: flex-end;
								gap: 0px clamp(7px, 0.53vw, 10px);
								>span {
									font-size: clamp(23px, 1.7vw, 30px);
									line-height: 1;
									font-weight: bold;
								}
								.t_mem_suu_ken_w {
									position: relative;
									.t_mem_suu_box_num {
										box-sizing: border-box;
										font-family: "Zen Kaku Gothic Antique", sans-serif;
										font-style: normal;
										font-size: clamp(40px, 3vw, 55px);
										line-height: 1.3;
										font-weight: bold;
										color: #ffffff;
										overflow: hidden;
									}
								}
							}
							.t_mem_suu_koukai {
								.t_mem_suu_box_num {
									aspect-ratio: 374 / 160;
									height: clamp(55px, 4.5vw, 80px);
									padding-left: clamp(13px, 1vw, 18px);
									background-image: url(/img/top/mem_bg1.webp);
									background-repeat: no-repeat;
									background-size: contain;
									background-position: right;
									letter-spacing: 0.65em;
								}
							}
							.t_mem_all_sousuu {
								.t_mem_suu_box_num {
									aspect-ratio: 500 / 160;
									height: clamp(55px, 4.5vw, 80px);
									padding-left: clamp(15px, 1.25vw, 22px);
									background-image: url(/img/top/mem_bg2.webp);
									background-repeat: no-repeat;
									background-size: contain;
									background-position: right;
									letter-spacing: 0.65em;
								}
								.is-under-1000 {
									padding-left: clamp(48px, 4.62vw, 83px);
								}
							}
						}
					}
					.t_mem_btn_w {
						margin: 30px 0px 0px 0px;
						display: flex;
						gap: 0px 35px;
						align-items: center;
						justify-content: center;
						.t_mem_btn {
							background-color: #454f57;
							border-radius: clamp(13px, 1.1vw, 20px);
							width: clamp(250px, 21.5vw, 380px);
							font-family: "Zen Kaku Gothic Antique", sans-serif;
							font-weight: 700;
							font-style: normal;
							font-size: clamp(14px, 1.2vw, 21px);
							line-height: 1;
							letter-spacing: 0.05em;
							color: #ffffff;
							display: block;
							padding: clamp(24px, 1.95vw, 35px) clamp(18px, 1.4vw, 25px);
							box-sizing: border-box;
							position: relative;
							transition: all 0.4s;
							&:hover {
								background-color: #beaf87;
							}
							&:after {
								content: "";
								display: block;
								width: clamp(10px, 0.8vw, 14px);
								height: auto;
								aspect-ratio: 1 / 1;
								background-repeat: no-repeat;
								background-size: contain;
								position: absolute;
								bottom: 0;
								top: 0;
								margin: auto;
								right: clamp(13px, 1.1vw, 20px);
								background-image: url(/img/top/mem_arrow.webp);
							}
						}
						.t_mem_btn_login {
							font-family: "Zen Kaku Gothic Antique", sans-serif;
							font-weight: 700;
							font-style: normal;
							font-size: clamp(11px, 0.85vw, 15px);
							line-height: 1;
							letter-spacing: 0.05em;
							border-bottom: 1px solid #454545;
							padding: 0px 0px 5px 0px;
							transition: all 0.4s;
							&:hover {
								border-bottom: 1px solid #beaf87;
								color: #beaf87;
							}
						}
					}
				}
				/* --- スライダー部分のSCSS --- */
				.slider-part {
					width: clamp(350px, 29vw, 520px);
					aspect-ratio: 52 / 80;
					overflow: hidden;
					position: relative;
					/* 装飾用疑似要素 */
					&:before {
						content: "";
						display: block;
						width: calc(100% + 2px);
						height: auto;
						aspect-ratio: 623 / 101;
						background-repeat: no-repeat;
						background-size: contain;
						position: absolute;
						top: -1px;
						left: 0;
						right: 0;
						margin: auto;
						background-image: url(/img/top/mem_deco1.webp);
						z-index: 2;
						pointer-events: none;
					}
					&:after {
						content: "";
						display: block;
						width: calc(100% + 5px);
						height: auto;
						aspect-ratio: 623 / 101;
						background-repeat: no-repeat;
						background-size: contain;
						position: absolute;
						bottom: -1px;
						left: 0;
						right: 0;
						margin: auto;
						background-image: url(/img/top/mem_deco2.webp);
						z-index: 2;
						pointer-events: none;
					}
					/* スライダー本体（はみ出し切り抜き） */
					.swiper-container {
						position: relative;
						width: 100%;
						.swiper-slide {
							width: 100%;
							height: fit-content !important;
							aspect-ratio: 104 / 53;
							background-color: #ffffff;
							display: flex;
							gap: 0px clamp(20px, 1.5vw, 25px);
							box-sizing: border-box;
							padding: clamp(13px, 1.1vw, 20px);
							border-radius: 20px;
							align-items: center;
							.t_mem_merit_pho {
								width: 40%;
								aspect-ratio: 9 / 11;
								border-radius: 16px;
								overflow: hidden;
								flex-shrink: 0;
								>img {
									width: 100%;
									height: 100% !important;
									object-fit: cover;
								}
							}
							.t_mem_merit_r {
								.t_mem_merit_eng {
									font-family: "Zen Kaku Gothic Antique", sans-serif;
									font-weight: 900;
									font-style: normal;
									font-size: clamp(12px, 1vw, 18px);
									line-height: 1;
									letter-spacing: 0;
									color: #d6d6d6;
								}
								>h3 {
									font-size: clamp(12px, 1.35vw, 24px);
									line-height: 1.2;
									letter-spacing: 0.05em;
									font-weight: bold;
									margin: 10px 0px 0px 0px;
								}
								.t_mem_merit_text {
									font-size: clamp(8px, 0.76vw, 14px);
									line-height: 1.6;
									letter-spacing: 0.05em;
									font-weight: bold;
									margin: clamp(13px, 1.4vw, 25px) 0px 0px 0px;
								}
							}
						}
					}
				}
				.swiper-pagination_mem {
					position: absolute;
					top: auto !important;
					bottom: 50px !important;
					right: clamp(35px, 2.8vw, 50px);
					left: auto !important;
					display: flex;
					gap: 0 5px;
					width: auto !important;
					height: 6px !important;
					transform: rotate(90deg) !important;
					transform-origin: right bottom;
					z-index: 100;
					pointer-events: auto;
					.swiper-pagination-bullet {
						margin: 0 !important;
						width: 30px;
						height: 6px;
						background: #d8cfb7;
						border-radius: 0;
						opacity: 0.4;
						cursor: pointer;
						pointer-events: auto;
					}
					.swiper-pagination-bullet-active {
						opacity: 1;
					}
				}
			}
		}
	}
	/*  売却したい  */
	.t_sale_w {
		position: relative;
		background: #FFF;
		.t_con_in {
			padding: clamp(160px, 22.8vh, 210px) 0px 0px 54%;
			.t_sale_point.in-view {
				>li {
					opacity: 1;
				}
				>li:nth-child(1) {
					transition-delay: 0.5s;
				}
				>li:nth-child(2) {
					transition-delay: 1s;
				}
			}
			.t_sale_point {
				margin: 30px 0px 0px 0px;
				>li:first-child {
					margin: 0px;
				}
				>li {
					background-color: #f8f6f2;
					border-radius: 20px;
					margin: 10px 0px 0px 0px;
					box-sizing: border-box;
					padding: 10px;
					opacity: 0;
					transition: all 0.3s;
					>div {
						border: 1px dashed #d8cfb7;
						border-radius: 16px;
						box-sizing: border-box;
						padding: 20px;
						.t_sale_point_num {
							font-size: clamp(13px, 1vw, 18px);
							line-height: 1;
							letter-spacing: 0.05em;
							font-family: "Zen Kaku Gothic Antique", sans-serif;
							font-weight: 700;
							font-style: normal;
							position: relative;
							padding: 0px 0px 0px 15px;
							&:before {
								content: "";
								width: clamp(8px, 0.61vw, 10px);
								height: auto;
								aspect-ratio: 1 / 1;
								border: 3px solid #b4a377;
								position: absolute;
								top: 0;
								bottom: 0;
								margin: auto;
								left: 0px;
								border-radius: 50%;
								box-sizing: border-box;
							}
							>span {
								margin: 0px 0px 0px 5px;
							}
						}
						>h3 {
							font-size: clamp(16px, 1.2vw, 22px);
							line-height: 1;
							letter-spacing: 0.05em;
							font-weight: bold;
							margin: 10px 0px 0px 0px;
						}
						.t_sale_point_text {
							font-size: clamp(10px, 0.76vw, 14px);
							line-height: 1.7;
							letter-spacing: 0.05em;
							font-weight: bold;
							margin: 12px 0px 0px 0px;
							color: #505050;
						}
					}
				}
			}
			.t_sale_btn.in-view {
				>li {
					opacity: 1;
				}
				>li:nth-child(1) {
					transition-delay: 1s;
				}
				>li:nth-child(2) {
					transition-delay: 1.5s;
				}
			}
			.t_sale_btn {
				>li {
					opacity: 0;
					transition: all 0.3s;
				}
				>li:nth-child(2) {
					>a {
						margin: 10px 0px 0px 0px;
					}
				}
			}
		}
		.t_con_slide {
			left: 0;
			width: 58%;
			height: clamp(720px, 102.8vh, 870px);
			.swiper-container {
				border-radius: 0px 100px 100px 0px;
			}
		}
	}
	/*  借りたい  */
	.t_pho_scroll {
		padding: clamp(120px, 24.2vh, 170px) 0px 0px 0px;
		background: #FFF;
		position: relative;
		&:before {
			content: "";
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 691 / 128;
			background-repeat: no-repeat;
			background-size: contain;
			position: absolute;
			top: 80px;
			right: 0;
			left: 0;
			margin: auto;
			background-image: url(/img/top/t_rent_bg.webp);
			z-index: 1;
		}
		>div {
			display: flex;
			overflow: hidden;
			gap: 0px 50px;
			position: relative;
			z-index: 2;
			>img {
				animation: infinity-scroll-left 80s infinite linear 0.5s both;
				width: 100vw;
			}
		}
	}
	.t_rent_w {
		position: relative;
		padding: 120px 0px clamp(100px, 14.2vh, 140px) 0px;
		position: relative;
		z-index: 1;
		&:before {
			content: "";
			width: 100%;
			height: 130%;
			background-color: #f8f6f2;
			position: absolute;
			bottom: 0px;
			left: 0px;
			right: 0;
			margin: auto;
			z-index: -2;
		}
		.t_con_slide {
			height: clamp(530px, 75.7vh, 630px);
			top: 45px;
		}
	}
	/*  おすすめ賃貸物件  */
	.t_chi_bukken_w {
		background-color: #f8f6f2;
		padding: clamp(70px, 10vh, 95px) 0px clamp(230px, 32.8vh, 260px) 0px;
		border-radius: 0px 0px 0 0px;
		z-index: 2;
		& iframe {
			width: 100%;
			aspect-ratio: 380 / 180;
			min-height: 550px;
			margin: -60px 0px 0px 0px;
		}
		&:before {
			height: 82%;
		}
	}
	/*  賃貸管理について  */
	.t_owner_box {
		padding-bottom: 180px;
		background-color: #ffffff;
		position: relative;
		z-index: 2;
		&:before {
			content: "";
			display: block;
			width: clamp(100px, 1.3vw, 150px);
			height: auto;
			aspect-ratio: 1 / 1;
			background-repeat: no-repeat;
			background-size: contain;
			position: absolute;
			top: 0px;
			left: 0px;
			background-image: url(/img/top/t_owner_corner.webp);
		}
		.t_owner_con {
			width: clamp(950px, 80vw, 1500px);
			margin: 0 auto;
			position: relative;
			.t_owner_pho1 {
				position: absolute;
				top: clamp(-50px, -5.7vh, -40px);
				right: clamp(70px, 5.3vw, 110px);
				width: clamp(300px, 23vw, 400px);
				border-radius: 30px;
			}
			.t_owner_pho2 {
				position: absolute;
				bottom: 0px;
				left: 0px;
				width: clamp(250px, 19.2vw, 400px);
				border-radius: 30px;
			}
			.t_owner_pho3 {
				position: absolute;
				bottom: clamp(80px, 11.4vh, 100px);
				right: 0px;
				width: clamp(150px, 11.5vw, 250px);
				border-radius: 30px;
			}
			>div {
				margin: 0 auto;
				padding: clamp(150px, 21.4vh, 190px) 0px 0px 5%;
				width: 40%;
				.t_con_btn {
					margin: 50px 0px 0px 0px;
				}
			}
		}
		.t_owner_att {
			margin: 80px auto 0px auto;
			padding: 30px 0px 0px 0px;
			border-top: 2px dashed #cbbf9f;
			width: clamp(950px, 80vw, 1500px);
			display: flex;
			align-items: center;
			justify-content: space-between;
			>img {
				width: clamp(260px, 20vw, 361px);
				align-items: center;
				justify-content: space-between;
				display: block;
			}
			>ul {
				background-color: #f2f3f3;
				border-radius: 30px;
				display: flex;
				padding: 30px 5px;
				>li {
					text-align: center;
					padding: 0px clamp(30px, 2.3vw, 45px);
					border-right: 2px dashed #9ba1a5;
					>img {
						width: clamp(86px, 6.6vw, 136px);
						display: block;
						margin: 0 auto;
					}
					>p {
						font-family: "Zen Kaku Gothic Antique", sans-serif;
						font-weight: 900;
						font-style: normal;
						font-size: clamp(14px, 1vw, 20px);
						line-height: 1.5;
						letter-spacing: 0.05em;
						margin: 10px 0px 0px 0px;
						color: #454545;
					}
				}
				>li:last-child {
					border-right: none;
				}
			}
		}
		&:after {
			content: "";
			display: block;
			width: clamp(100px, 1.3vw, 150px);
			height: auto;
			aspect-ratio: 1 / 1;
			background-repeat: no-repeat;
			background-size: contain;
			position: absolute;
			top: calc(clamp(100px, 1.3vw, 150px) * -1);
			right: 0px;
			background-image: url(/img/top/t_owner_corner02.webp);
			transform: scale(-1, -1);
		}
	}
	/*  お客様の声  */
	.t_voice_w {
		margin: 0 0px 0px 0px;
		padding: 0px 0px clamp(180px, 25.7vh, 240px) 0px;
		position: relative;
		z-index: 0;
		&:before {
			content: "";
			width: calc(100% + 50px);
			height: auto;
			aspect-ratio: 192 / 23;
			background-color: #ffffff;
			position: absolute;
			top: -120px;
			left: -25px;
			border-radius: 50%;
			z-index: -1;
		}
		&:after {
			content: "";
			width: 100%;
			height: 120%;
			background-color: #f5f5f5;
			position: absolute;
			top: 0px;
			left: 0px;
			right: 0;
			margin: auto;
			z-index: -2;
		}
		.t_voice_t {
			width: clamp(950px, 80vw, 1500px);
			margin: 0 auto;
			display: flex;
			align-items: flex-end;
			justify-content: space-between;
		}
		iframe {
			width: 100%;
			height: clamp(570px, 81.4vh, 700px);
		}
	}
	/*  当社について  */
	.t_com_w {
		position: relative;
		.t_com_t {
			position: relative;
			z-index: 0;
			&:before {
				content: "";
				display: block;
				width: calc(100% + 15px);
				height: auto;
				aspect-ratio: 2079 / 703;
				background-repeat: no-repeat;
				background-size: contain;
				position: absolute;
				top: clamp(-280px, -28.5vh, -200px);
				left: -15px;
				background-image: url(/img/top/t_com_bg.webp);
				z-index: -1;
			}
			.t_con_in {
				padding: 0px 0px 0px 47%;
				position: relative;
				&:after {
					content: "";
					display: block;
					width: clamp(127px, 9.7vw, 207px);
					height: auto;
					aspect-ratio: 69 / 80;
					background-repeat: no-repeat;
					background-size: contain;
					position: absolute;
					bottom: 0;
					margin: auto;
					right: 0px;
					background-image: url(/img/top/t_com_cala.webp);
				}
				.t_cor_con {
					>ul.in-view {
						>li {
							opacity: 1;
						}
						>li:nth-child(1) {
							transition-delay: 0.5s;
						}
						>li:nth-child(2) {
							transition-delay: 1s;
						}
						>li:nth-child(3) {
							transition-delay: 1.5s;
						}
					}
					>ul {
						margin: 25px 0px 0px 0px;
						width: clamp(310px, 23.8vw, 380px);
						>li {
							padding: 30px 0px;
							border-bottom: 1px solid #505050;
							opacity: 0;
							transition: all 0.3s;
							.t_com_item {
								font-size: clamp(12px, 0.92vw, 18px);
								line-height: 1;
								letter-spacing: 0;
								font-family: "Zen Kaku Gothic Antique", sans-serif;
								font-weight: 700;
								font-style: normal;
								position: relative;
								padding: 0px 0px 0px 18px;
								&:before {
									content: "";
									width: clamp(8px, 0.61vw, 12px);
									height: auto;
									aspect-ratio: 1 / 1;
									border: 3.5px solid #b4a377;
									position: absolute;
									top: 0;
									bottom: 0;
									margin: auto;
									left: 0px;
									border-radius: 50%;
									box-sizing: border-box;
								}
							}
							.t_com_text {
								font-size: clamp(12px, 0.92vw, 15px);
								line-height: 1.5;
								letter-spacing: 0.05em;
								font-weight: bold;
								margin: 10px 0px 0px 0px;
								color: #505050;
							}
							.t_com_map {
								font-size: clamp(13px, 1vw, 18px);
								line-height: 1;
								letter-spacing: 0.05em;
								font-weight: bold;
								margin: 15px 0px 0px 45px;
								padding: 0px 0px 5px 0px;
								border-bottom: 1px solid #cbbf9f;
								display: inline-block;
								position: relative;
								transition: all 0.4s;
								&:hover {
									border-bottom: 1px solid #454f57;
									color: #454f57;
									&:before {
										background-image: url(/img/top/t_com_pin_h.webp);
									}
									&:after {
										background-image: url(/img/top/t_com_link_h.webp);
									}
								}
								&:before {
									content: "";
									display: block;
									width: clamp(13px, 1vw, 18px);
									height: auto;
									aspect-ratio: 3 / 4;
									background-repeat: no-repeat;
									background-size: contain;
									position: absolute;
									bottom: 5px;
									left: -25px;
									background-image: url(/img/top/t_com_pin.webp);
									transition: all 0.4s;
								}
								&:after {
									content: "";
									display: block;
									width: clamp(13px, 1vw, 17px);
									height: auto;
									aspect-ratio: 1 / 1;
									background-repeat: no-repeat;
									background-size: contain;
									position: absolute;
									top: 0;
									bottom: 0;
									margin: auto;
									right: -20px;
									background-image: url(/img/top/t_com_link.webp);
									transition: all 0.4s;
								}
							}
							.t_com_tel {
								display: flex;
								gap: 0px 5px;
								align-items: center;
								margin: 10px 0px 0px 0px;
								>img {
									width: clamp(15px, 1.1vw, 20px);
								}
								>p {
									font-size: clamp(19px, 1.4vw, 24px);
									line-height: 1;
									letter-spacing: 0.05em;
									font-weight: bold;
								}
							}
						}
						>li:first-child {
							padding: 0px 0px 30px 0px;
						}
						>li:last-child {
							border-bottom: none;
							padding: 30px 0px 0px 0px;
						}
					}
				}
			}
			.t_con_slide {
				height: clamp(450px, 64.2vh, 530px);
			}
		}
		.t_com_btn.in-view {
			>li {
				opacity: 1;
			}
			>li:nth-child(1) {
				transition-delay: 0.5s;
			}
			>li:nth-child(2) {
				transition-delay: 1s;
			}
			>li:nth-child(3) {
				transition-delay: 1.5s;
			}
			>li:nth-child(4) {
				transition-delay: 2s;
			}
		}
		.t_com_btn {
			margin: clamp(100px, 14.2vh, 140px) auto 0px auto;
			display: flex;
			gap: 0px 45px;
			width: clamp(950px, 80vw, 1500px);
			>li {
				width: calc((100% - 135px) / 4);
				aspect-ratio: 17 / 20;
				opacity: 0;
				transition: all 0.3s;
				>a {
					display: flex;
					align-items: center;
					justify-content: center;
					position: relative;
					overflow: hidden;
					width: 100%;
					height: 100%;
					padding: clamp(25px, 3.5vh, 30px) clamp(25px, 1.9vw, 35px) 0px clamp(25px, 1.9vw, 35px);
					box-sizing: border-box;
					border-radius: 20px;
					position: relative;
					&:before {
						content: "";
						width: 55px;
						height: auto;
						aspect-ratio: 11 / 6;
						background-color: #ffffff;
						position: absolute;
						bottom: 20px;
						right: 20px;
						border-radius: 15px;
						z-index: 3;
					}
					&:after {
						content: "";
						display: block;
						width: 15px;
						height: auto;
						aspect-ratio: 3 / 2;
						background-repeat: no-repeat;
						background-size: contain;
						position: absolute;
						bottom: 30px;
						right: 40px;
						background-image: url(/img/top/t_bukken_arrow.webp);
						z-index: 4;
						transition: all 0.4s;
					}
					>img {
						position: absolute;
						top: 0;
						right: 0;
						overflow: hidden;
						width: 100%;
						height: 100%;
						object-fit: cover;
						transition: all 0.4s;
					}
					>div {
						position: relative;
						z-index: 2;
						width: 100%;
						height: 100%;
						.t_com_btn_eng {
							font-size: clamp(11px, 0.84vw, 15px);
							line-height: 1;
							letter-spacing: 0.05em;
							font-family: "Zen Kaku Gothic Antique", sans-serif;
							font-weight: 700;
							font-style: normal;
							position: relative;
							color: #ffffff;
							padding: 0px 0px 0px 15px;
							&:before {
								content: "";
								width: clamp(7px, 0.53vw, 10px);
								height: auto;
								aspect-ratio: 1 / 1;
								border: 3px solid #ffffff;
								position: absolute;
								top: 0;
								bottom: 0;
								margin: auto;
								left: 0px;
								border-radius: 50%;
								box-sizing: border-box;
							}
						}
						.t_com_btn_jp {
							font-size: clamp(17px, 1.3vw, 27px);
							line-height: 1;
							letter-spacing: 0;
							color: #ffffff;
							font-family: "Zen Kaku Gothic Antique", sans-serif;
							font-weight: 700;
							font-style: normal;
							margin: 13px 0px 0px 0px;
						}
						.t_com_btn_text {
							font-size: clamp(10px, 0.76vw, 14px);
							line-height: 1.4;
							letter-spacing: 0.05em;
							color: #ffffff;
							font-weight: bold;
							margin: 15px 0px 0px 0px;
						}
					}
					&:hover {
						>img {
							transform: scale(1.2);
							filter: brightness(0.8);
						}
						&:after {
							transform: translateX(5px);
						}
					}
				}
			}
		}
		&:after {
			content: "";
			width: 100%;
			height: 80%;
			background: #FFF;
			position: absolute;
			bottom: 0;
			left: 0;
			z-index: -1;
		}
	}
}
@-webkit-keyframes rotation {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes rotation {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes infinity-scroll-left {
	from {
		transform: translateX(-100%);
	}
	to {
		transform: translateX(0%);
	}
}
.observe-me {
	opacity: 0;
	transform: translateY(10px);
	transition: all 0.8s;
	transition-delay: 0.8s;
}
.observe-me.in-view {
	opacity: 1;
	transform: translateY(0);
}
/*  お客様の声埋め込み  */
.swiper-container2 {
	overflow: hidden;
	& h2, h3, ul, li, p {
		margin: 0;
		padding: 0;
	}
	& ul, li {
		list-style: none;
	}
	& a {
		text-decoration: none;
		color: #333333;
	}
	padding: clamp(75px, 10.7vh, 95px) 0px 100px 0px;
	position: relative;
	.swiper-slide {
		>a {
			transition: transform 0.7s ease;
		}
	}
	.swiper-slide-active {
		>a {
			transform: scale(1.25);
		}
	}
	.swiper-pagination {
		position: absolute;
		width: clamp(90px, 6.9vw, 120px);
		font-family: "Zen Kaku Gothic Antique", sans-serif;
		font-weight: 900;
		font-style: normal;
		font-size: clamp(15px, 1.15vw, 25px);
		line-height: 1;
		letter-spacing: 0.1em;
		color: #454f57;
		bottom: 28px;
		top: auto;
		left: auto;
		right: 13%;
		text-align: right;
	}
	.swiper-pagination-total {
		opacity: 0.7;
	}
	.swiper-button-prev, .swiper-button-next {
		width: clamp(25px, 1.9vw, 30px);
		height: auto;
		aspect-ratio: 1 / 1;
		position: absolute;
		top: auto;
		bottom: 20px;
		z-index: 99;
		>img {
			z-index: 100;
			background-size: contain;
			background-repeat: no-repeat;
			width: 100%;
			height: 100%;
		}
		&:after {
			display: none;
		}
	}
	.swiper-button-prev {
		right: 18%;
		left: auto;
	}
	.swiper-button-next {
		right: 10%;
	}
	>ul {
		>li {
			width: clamp(250px, 19.2vw, 330px) !important;
			>a {
				display: block;
				z-index: 0;
				text-align: center;
				position: relative;
				&:hover {
					.t_voice_pho_img img {
						transform: scale(1.2);
						filter: brightness(0.8);
					}
				}
				.t_voice_pho {
					--octagon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M 31,1 L 69,1 C 70,1 70.5,1.2 71.2,1.9 L 98.1,28.8 C 98.8,29.5 99,30 99,31 L 99,69 C 99,70 98.8,70.5 98.1,71.2 L 71.2,98.1 C 70.5,98.8 70,99 69,99 L 31,99 C 30,99 29.5,98.8 28.8,98.1 L 1.9,71.2 C 1.2,70.5 1,70 1,69 L 1,31 C 1,30 1.2,29.5 1.9,28.8 L 28.8,1.9 C 29.5,1.2 30,1 31,1 Z' fill='%23000'/%3E%3C/svg%3E");
					--octagon-border: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M 31,1 L 69,1 C 70,1 70.5,1.2 71.2,1.9 L 98.1,28.8 C 98.8,29.5 99,30 99,31 L 99,69 C 99,70 98.8,70.5 98.1,71.2 L 71.2,98.1 C 70.5,98.8 70,99 69,99 L 31,99 C 30,99 29.5,98.8 28.8,98.1 L 1.9,71.2 C 1.2,70.5 1,70 1,69 L 1,31 C 1,30 1.2,29.5 1.9,28.8 L 28.8,1.9 C 29.5,1.2 30,1 31,1 Z' fill='none' stroke='%23cbbf9f' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
					position: relative;
					width: 100%;
					aspect-ratio: 1 / 1;
					display: flex;
					align-items: center;
					justify-content: center;
					&::before {
						content: "";
						position: absolute;
						inset: 0;
						background-image: var(--octagon-border);
						background-size: 100% 100%;
						background-repeat: no-repeat;
						z-index: 2;
						pointer-events: none;
					}
					.t_voice_pho_img {
						position: relative;
						z-index: 1;
						width: calc(100% - 26px);
						height: calc(100% - 26px);
						overflow: hidden;
						-webkit-mask-image: var(--octagon-mask);
						mask-image: var(--octagon-mask);
						-webkit-mask-size: 100% 100%;
						mask-size: 100% 100%;
					}
					.t_voice_pho_img img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						aspect-ratio: 1 / 1;
						transition: transform 0.3s ease, filter 0.3s ease;
					}
				}
				.t_voice_tit {
					font-size: clamp(14px, 1.07vw, 18px);
					line-height: 1.5;
					letter-spacing: 0.05em;
					font-weight: bold;
					color: #454545;
					background-color: #ffffff;
					padding: 12px 20px 8px 20px;
					border-radius: 20px;
					text-align: center;
					z-index: 2;
					box-sizing: border-box;
					width: calc(100% + 20px);
					position: absolute;
					left: -10px;
					bottom: 45px;
					>span {
						overflow: hidden;
						display: -webkit-box;
						-webkit-box-orient: vertical;
						-webkit-line-clamp: 2;
					}
				}
				.t_voice_kind {
					border: 2px solid #454f57;
					border-radius: 20px;
					display: inline-block;
					margin: 60px 0px 0px 0px;
					font-size: clamp(14px, 1.07vw, 18px);
					line-height: 1;
					letter-spacing: 0.05em;
					font-weight: bold;
					color: #454f57;
					box-sizing: border-box;
					padding: 8px 15px 6px 15px;
					>span {
						margin-left: 15px;
						position: relative;
						&:before {
							content: "";
							width: 1px;
							height: clamp(12px, 1.7vh, 15px);
							background-color: #454f57;
							position: absolute;
							top: 0;
							bottom: 0;
							margin: auto;
							left: -9px;
						}
					}
				}
			}
		}
	}
}
/*  お知らせ埋め込み  */
.t_news_con {
	overflow: hidden;
	& h2, h3, ul, li, p {
		margin: 0;
		padding: 0;
	}
	& ul, li {
		list-style: none;
	}
	& a {
		text-decoration: none;
		color: #333333;
	}
	display: flex;
	gap: 0px 36px;
	padding: 0px;
	>li {
		width: calc((100% - 108px) / 4);
		>a {
			display: block;
			&:hover {
				.t_news_pho {
					>img {
						transform: scale(1.2);
						filter: brightness(0.8);
					}
				}
			}
			.t_news_top {
				position: relative;
				.t_news_pho {
					width: 100%;
					aspect-ratio: 174 / 115;
					border-radius: 20px;
					overflow: hidden;
					>img {
						object-fit: cover;
						width: 100%;
						height: 100%;
						object-position: center;
						transition: all 0.4s;
					}
				}
				.t_news_tag {
					position: absolute;
					bottom: -15px;
					left: 0;
					right: 0;
					margin: auto;
					text-align: center;
					>ul {
						>li {
							display: inline-block;
							border: 1px solid #cbbf9f;
							border-radius: 16px;
							background-color: #ffffff;
							font-size: clamp(10px, 1.3vw, 14px);
							letter-spacing: 0.05em;
							color: #beaf87;
							box-sizing: border-box;
							padding: clamp(3px, 1.3vh, 4px) clamp(13px, 1.7vw, 18px) 2px clamp(13px, 1.7vw, 18px);
							font-weight: bold;
						}
					}
				}
			}
			.t_news_tit {
				font-size: clamp(13px, 1.7vw, 18px);
				letter-spacing: 0.05em;
				line-height: 1;
				overflow: hidden;
				white-space: nowrap;
				text-overflow: ellipsis;
				margin: 30px 0px 0px 0px;
				text-align: center;
			}
			.t_news_day {
				font-size: clamp(10px, 1.3vw, 14px);
				letter-spacing: 0.1em;
				line-height: 1;
				font-family: "Zen Kaku Gothic Antique", sans-serif;
				font-weight: 900;
				font-style: normal;
				text-align: center;
				margin: 13px 0px 0px 0px;
				color: #cbbf9f;
			}
		}
	}
}