@charset "shift_jis";
/*************************************************/
/* 制作を始める時にはtop.css、header.css、h_menu.cssの中身をを削除してください */
/* ナビメニューのプルダウンを使用したい場合にはh_menu.cssの記述を参考にしてみてください。 */
/* この下にあるコメントアウトを活用してください！ */
/* 「assessment」は売却査定フォームのデフォルトデザイン用cssです */
/*************************************************/

/* header */
.new_header {
	display: none;
}
body {
	margin: 0;
}
.header_wrap {
	position: relative;
	background: none;
	box-shadow: none;
	top: 0;
}
.h_logo {
	& a img {
		margin: 30px 0 0 0;
	}
}
.h_menu_le ul {
	& li a {
		color: #fff;
		&::after {
			background: #fff;
		}
	}
}
h1 {
	position: absolute;
}
.other_logo {
	display: none;
}
.top_logo {
	display: block;
}


/* main */
.main_wrap {
	margin-top: -92px;
	position: relative;
	z-index: 4;
}
.main_video_frame video {
	width: 93vw;
	height: 100vh;
	object-fit: cover;
	border-radius: 0 0 100px 0;
	filter: brightness(0.6);
}
@media screen and (max-width: 1301px) {
  .main_video_frame video {
		height: 82vh;
	}
}
.main_in {
	position: absolute;
	right: 12vw;
	bottom: 5vw;
	& h2 {
		font-size: clamp(30px, 3.2vw, 46px);
		letter-spacing: 0.15em;
		font-weight: 400;
		color: #fff;
		line-height: 1.6;
		text-align: right;
		& img {
			margin: 0 50px 0 0;
			width: clamp(200px, 23.2vw, 340px);
		}
	}
}

.scroll-wrap {
	display: flex;
	align-items: center;
	gap: 12px;
	position: absolute;
	bottom: -2vw;
	right: 10vw;
}
.scroll-line-wrap {
	position: relative;
	width: 1px;
	height: clamp(120px, 11vw, 180px);
	background: #fff;
}
.scroll-bg-line {
	position: absolute;
	top: 0; left: 0;
	width: 1px;
	height: 100%;
	background: #ffffff;
	opacity: 0.3;
}
.scroll-dot {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ffffff;
	animation: scrollDown 5s ease-in-out infinite;
}
@keyframes scrollDown {
	0%   { top: 0; opacity: 1; }
	70%  { top: calc(100% - 10px); opacity: 1; }
	85%  { top: calc(100% - 10px); opacity: 0; }
	86%  { top: 0; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
.scroll-label {
	writing-mode: vertical-rl;
	letter-spacing: 0.25em;
	font-size: 11px;
	color: #ffffff;
	text-transform: uppercase;
	margin-top: 8px;
}


/* message */
.message_wrap {
	width: 100%;
	background-image: url(../img/top/message_bg.webp);
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: -80px;
	position: relative;
	z-index: 3;
}
.message_in {
	text-align: center;
	color: #fff;
	padding: 260px 0 200px 0;
	position: relative;
	&::before {
		content: "";
		width: 1px;
		height: 24px;
		background: #fff;
		position: absolute;
		top: 210px;
		right: 0;
		left: 0;
		margin: 0 auto 50px auto;
	}
	& .mess_ti {
		display: block;
		margin: 0 auto 50px auto;
		width: 100px;
	}
	& .mess_te {
		color: #fff;
		font-size: min(1.7vw, 22px);
		letter-spacing: 0.14em;
		margin-top: -20px;
		line-height: min(4.2vw, 48px);
	}
}

/* sale */
.sale_wrap {
	position: relative;
	&::before {
		content: "";
		width: 46%;
		height: 30vw;
		background-image: url(../img/top/sale_img.webp);
		background-repeat: no-repeat;
		background-size: cover;
		display: block;
		position: absolute;
		top: clamp(2vw, 340px, 22vw);
		right: 0;
	}
}
.sale_top {
	width: 1200px;
	margin: 0 auto;
	padding: 90px 0 30px 0;
}
.sale_top_con {
	h2 {
		font-size: 23px;
		font-weight: 500;
		letter-spacing: 0.05em;
		& img {
			display: block;
			margin-top: 20px;
		}
	}
	& .sale_top_le {
		margin: 80px 0 50px 0;
		font-size: 30px;
		font-weight: 600;
		letter-spacing: 0.14em;
	}
	& .sale_top_te {
		font-size: 16px;
		font-weight: 400;
		letter-spacing: 0.04em;
	}
	& ul {
		width: 560px;
		margin-top: 75px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 20px 0;
		& li a {
			width: 272px;
			height: 82px;
			box-sizing: border-box;
			border: solid 1px #3c3c3c;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 18px;
			font-weight: 600;
			letter-spacing: 0.1em;
			border-radius: 41px;
			position: relative;
			overflow: hidden;
			&::before {
				content: "";
				position: absolute;
				bottom: -100%; /* 最初はボタンの下側に隠しておく */
				left: 0;
				width: 100%;
				height: 100%;
				background-color: #fff; /* 変化後の色：赤 */
				z-index: -1; /* 文字の下に配置 */
				transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1);
			}
			&:hover {
				color: #fff;
			}
			&:hover::before {
				bottom: 0; /* 下からスッと上がってくる */
				background: #3c3c3c;
			}
		}
		& li:nth-child(1) a {
			color: #fff;
			border: solid 1px #a5915a;
			background: #a5915a;
			z-index: 1;
			&:hover {
				color: #a5915a;
			}
			&:hover::before {
				background: #fff;
			}
		}
	}
}
.sale_strong {
	padding: 140px 0 0 0;
	width: 1200px;
	margin: 0 auto;
	& h3 {
		font-size: 27px;
		font-weight: 600;
		line-height: 1;
		color: #a5915a;
		margin-bottom: 40px;
		& img {
			margin-right: 10px;
		}
	}
	& ul {
		display: flex;
		justify-content: space-between;
		& li {
			border-radius: 20px;
			background: #eceaea;
			width: 365px;
			box-sizing: border-box;
			padding: 25px;
			text-align: center;
			& h4 {
				font-size: 23px;
				font-weight: 600;
				letter-spacing: 0.1em;
				line-height: 28px;
				margin: 20px 0;
			& span {
				color: #a5915a;
			}
			}
			& p {
				font-size: 15px;
			}
		}
	}
}
.sale_content {
	width: 100%;
	background-image: url(../img/top/sale_bg.webp);
	background-size: cover;
	background-repeat: no-repeat;
}
.sale_content_in {
	width: 1200px;
	margin: -80px auto 0 auto;
	padding: 190px 0 90px 0;
	& p {
		font-size: 30px;
		font-weight: 600;
		letter-spacing: 0.14em;
		text-align: center;
		color: #fff;
	}
	& ul {
		margin: 70px 0 80px 0;
		display: flex;
		justify-content: space-between;
		& li a {
			display: block;
			width: 160px;
			border-radius: 20px;
			text-align: center;
			font-size: 18px;
			font-weight: 600;
			padding: 21px 0;
			background: #eceaea;
			& img {
				display: block;
				margin: 0 auto;
			}
			&:hover {
				transform: translateY(-5px);
				box-shadow: 0 0 5px rgb(0 0 0 / 20%);
		}
		}
	}
}
.sale_form a {
	display: flex;
	align-items: center;
	justify-content: center;
	border: solid 1px #fff;
	border-radius: 41px;
	width: 420px;
	height: 82px;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.14em;
	margin: 0 auto;
	color: #fff;
	position: relative;
	overflow: hidden;
	z-index: 0;
	&::before {
		content: "";
		position: absolute;
		bottom: -100%; /* 最初はボタンの下側に隠しておく */
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #fff; /* 変化後の色：赤 */
		z-index: -1; /* 文字の下に配置 */
		transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1);
	}
	&:hover {
		color: #3c3c3c;
	}
	&:hover::before {
		bottom: 0; /* 下からスッと上がってくる */
		background: #fff;
	}
}


/* buy */
.buy_wrap {
	margin: 0 0 150px 0;
}
.pickup_con {
	width: 96%;
	margin: 180px auto 0 auto;
	background: #a5915a;
	padding: 100px 0 30px 0;
	border-radius: 100px;
}
.pickup_ti {
	width:min(75vw,1100px);
	margin: -164px auto 0 auto;
	position: relative;
	& h2 {
		font-size: 30px;
		font-weight: 600;
		letter-spacing: 0.05em;
		line-height: 1;
		padding-left: 10px;
	}
	& p {
		position: absolute;
		top: 10px;
		left: -50px;
		 writing-mode: vertical-rl;
		 font-size: 23px;
		 font-weight: 400;
		 background: linear-gradient(to bottom, #a68c52 60%, #fff 50%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
	}
	&::before {
		content: "";
		display: block;
		width: 1px;
		height: 24px;
		background: #a5915a;
		top: -20px;
		left: -50px;
		top: -25px;
		left: -33px;
		position: absolute;
	}
}
.feature_con {
	width: 1200px;
	margin: 100px auto 0 auto;
	& h2 {
		font-size: 30px;
		font-weight: 600;
		letter-spacing: 0.05em;
		& img {
			margin-right: 30px;
		}
	}
}
.bukken_con ul {
	width: 1200px;
	display: flex;
	justify-content: space-between;
	margin: 70px auto 60px auto;
}
.bukken_con ul li {
	width: calc((100% - 90px)/4);
	height: 300px;
	overflow: hidden;
	position: relative;
	border-radius: 20px;
	.t_pickup_type {
		position: absolute;
		top: 15px;
		left: 15px;
		z-index: 99;
		>span {
			display: inline-block;
			padding: 5px 12px;
			border-radius: 5px;
			background: #817145;
			font-size: 12px;
			font-weight: 600;
			line-height: 1.5;
			color: #FFF;
		}
	}
	>a {
		display: block;
	}
	.t_pickup_img {
		width: 100%;
		height: 100%;
		>img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}
	.t_pickup_box {
		width: 100%;
		height: 300px;
		box-sizing: border-box;
		padding: 17px 10px;
		background: RGBA(0, 0, 0, 0.5);
		backdrop-filter: blur(3px);
		color: #FFF;
		letter-spacing: 0.05em;
		position: absolute;
		left: 0;
		bottom: -100%;
		transition: all 0.4s;
		.t_pickup_pr {
			margin: 155px 0 10px 0;
			display: inline-block;
			padding: 0px 0px 10px 0;  
			font-size: 12px;
			line-height: 1;
			color: #FFF;
			font-weight: 600;
			border-bottom: solid 1px #fff;
			>span {
				display: inline-block;
				font-size: 20px;
			}
		}
		.t_pickup_te {
			color: #fff;
			font-size: 11px;
			letter-spacing: 0.06em;
			font-weight: 600;
			line-height: 1.6;
		}
	}
	&:hover {
		.t_pickup_box {
			bottom: 0;
		}
	}
}
.more_form a {
	display: flex;
	align-items: center;
	justify-content: center;
	border: solid 1px #3c3c3c;
	border-radius: 41px;
	width: 420px;
	height: 82px;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.14em;
	margin: 0 auto;
	color: #3c3c3c;
	position: relative;
	overflow: hidden;
	z-index: 0;
	&::before {
		content: "";
		position: absolute;
		bottom: -100%; /* 最初はボタンの下側に隠しておく */
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #fff; /* 変化後の色：赤 */
		z-index: -1; /* 文字の下に配置 */
		transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1);
	}
	&:hover {
		color: #fff;
	}
	&:hover::before {
		bottom: 0; /* 下からスッと上がってくる */
		background: #3c3c3c;
	}
}

.search_con {
	overflow: hidden;
	& .search_con_in {
		width: 1200px;
		margin: 0 auto;
		position: relative;
		& h2 {
		font-size: 23px;
		font-weight: 500;
		line-height: 1;
		position: absolute;
		top: -750px;
		left: 0;
		& img {
			margin-top: 20px;
			display: block;
		}
	}
	}
}
.search_con a {
	position: relative;
	overflow: hidden;
	z-index: 0;
	&::before {
		content: "";
		position: absolute;
		bottom: -100%; /* 最初はボタンの下側に隠しておく */
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #fff; /* 変化後の色：赤 */
		z-index: -1; /* 文字の下に配置 */
		transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1);
	}
	&:hover {
		color: #fff;
	}
	&:hover::before {
		bottom: 0; /* 下からスッと上がってくる */
		background: #3c3c3c;
	}
}
.area_map_wrap {
	margin-left: clamp(2vw, 260px, 9vw);
}
.search_area {
	width: 680px;
	background: #eceaea;
	box-sizing: border-box;
	border-radius: 50px;
	border: solid 1px #fff;
	padding: 40px 60px 20px 60px;
	position: absolute;
  top: -500px;
  right: 0;
	& h3 {
		position: absolute;
		top: -33px;
		left: 30px;
		font-size: 18px;
		font-weight: 600;
		line-height: 1;
		& img {
			margin-right: 20px;
		}
	}
	& ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 15px 0;
		& li a {
			box-sizing: border-box;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 272px;
			font-size: 20px;
			height: 82px;
			border-radius: 41px;
			font-weight: 600;
			background: #fff;
			border: solid 1px #3c3c3c;
			& span {
				font-size: 18px;
				margin: 0 0 0 5px;
			}
		}
	}
}
.search_menu {
	width: 85%;
    margin: -220px auto 0 auto;
    background: #eceaea;
    border-radius: 50px;
    position: relative;
		z-index: 10;
		padding: 50px 0 40px 0;
}
.search_con_top,.search_con_bottom {
	width: min(82vw, 1200px);
	margin: 0 auto 40px auto;
	display: flex;
	justify-content: space-between;
}
.search_free {
	width: min(39vw, 560px);
	& p {
		font-size: 20px;
		font-weight: 600;
		letter-spacing: 0.05em;
		margin-bottom: 20px;
		line-height: 1;
	}
	& form {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0 5px;
		& .search_window {
			width: 424px;
			background: #fff;
			border-radius: 28px;
			height: 56px;
			border: none;
			box-sizing: border-box;
			padding-left: 25px;
			font-size: 16px;
			font-weight: 500;
			&::placeholder {
				color: #a7a3a3;
			}
		}
		& .free_btn {
			width: 130px;
			height: 56px;
			border-radius: 28px;
			background: #3c3c3c;
			display: flex;
			align-items: center;
			justify-content: center;
			color: #fff;
			font-size: 16px;
			font-weight: 600;
			cursor: pointer;
			border: solid 1px #3c3c3c;
			box-sizing: border-box;
			position: relative;
			overflow: hidden;
			z-index: 0;
			&::before {
				content: "";
				position: absolute;
				bottom: -100%; /* 最初はボタンの下側に隠しておく */
				left: 0;
				width: 100%;
				height: 100%;
				background-color: #fff; /* 変化後の色：赤 */
				z-index: -1; /* 文字の下に配置 */
				transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1);
			}
			&:hover {
				color: #3c3c3c;
			}
			&:hover::before {
				bottom: 0; /* 下からスッと上がってくる */
				background: #fff;
			}
		}
	}
}
.search_syube {
	width: min(41vw, 590px);
	& p {
		font-size: 20px;
		font-weight: 600;
		letter-spacing: 0.05em;
		margin-bottom: 20px;
		line-height: 1;
	}
	& ul {
		display: flex;
		justify-content: space-between;
		& li a {
			width: min(10vw, 145px);
			height: 56px;
			display: flex;
			align-items: center;
			justify-content: center;
			background: #fff;
			border-radius: 28px;
			font-size: clamp(12px, 1.05vw, 16px);
			font-weight: 600;
			letter-spacing: 0.1em;
		}
	}
}
.search_conditions {
	width: min(39vw, 560px);
	& p {
		font-size: 20px;
		font-weight: 600;
		letter-spacing: 0.05em;
		margin-bottom: 20px;
		line-height: 1;
	}
	& ul {
		display: flex;
		justify-content: space-between;
		& li a {
			width: min(12.8vw, 186px);
			height: 56px;
			display: flex;
			align-items: center;
			justify-content: center;
			background: #fff;
			border-radius: 28px;
			font-size: clamp(12px, 1.05vw, 16px);
			font-weight: 600;
			letter-spacing: 0.1em;
		}
	}
}
.search_kakaku {
	width: min(41vw, 590px);
	& p {
		font-size: 20px;
		font-weight: 600;
		letter-spacing: 0.05em;
		margin-bottom: 20px;
		line-height: 1;
	}
	& ul {
		display: flex;
		justify-content: space-between;
		& li a {
			width: min(13.5vw, 196px);
			height: 56px;
			display: flex;
			align-items: center;
			justify-content: center;
			background: #fff;
			border-radius: 28px;
			font-size: clamp(12px, 1.05vw, 16px);
			font-weight: 600;
			letter-spacing: 0.1em;
		}
	}
}

/* member */
.member_wrap {
	border-radius: 50px 50px 0 0;
	background: #3c3c3c;
	padding-bottom: 200px;
	margin-bottom: 200px;
}
.member_in {
	width: 1200px;
	margin: 0 auto;
	padding: clamp(20px, 1.8vw, 30px) 0 90px 0;
	& h2 {
		color: #fff;
		font-size:min(1.2vw, 18px);
		font-weight: 600;
		letter-spacing: 0.05em;
		& img {
			margin-right: 15px;
		}
	}
}
.member_lead {
	margin: min(1.2vw, 40px) 0 min(2vw, 40px) 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	& .mem_member_img {
		width: min(30vw, 420px);
	}
}
.member_le {
	padding: 0 0 0 50px;
	position: relative;
	& .mem_member {
		width: min(37vw, 530px);
	}
	& .mem_le {
		color: #fff;
		line-height: 1;
		font-size: min(2vw, 30px);
		font-weight: 600;
		margin: 1.5vw 0 2vw 0;
	}
	& .mem_te {
		font-size: min(1.2vw, 16px);
		font-weight: 400;
		line-height: 26px;
		letter-spacing: 0.02em;
		color: #fff;
	}
	.mem_be {
		color: #fff;
		position: absolute;
		top: 12px;
		left: 0px;
		writing-mode: vertical-rl;
		font-size: min(1.4vw, 22px);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.1em;
	}
	&::before {
		content: "";
		display: block;
		width: 1px;
		height: 24px;
		background: #fff;
		top: -24px;
    left: 10px;
		position: absolute;
}
}
.mem_merit {
	width: 100%;
	box-sizing: border-box;
	padding: min(1.5vw, 25px) 20px;
	border-radius: 20px;
	background: #4f4f4f;
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
}
.mem_suu {
	width: 270px;
	& p {
		color: #a5915a;
		font-size: 16px;
		font-weight: 600;
		padding-left: 30px;
		line-height: 1;
		position: relative;
		&::before {
			content: "";
			display: block;
			width: 12px;
			height: 2px;
			background: #a5915a;
			position: absolute;
			top: 8px;
			left: 7px;
		}
	}
	& ul {
		display: flex;
		flex-direction: column;
		gap: 8px 0;
		margin-top: 20px;
		& li {
			font-size: 14px;
			width: 100%;
			height: min(3.8vw, 54px);
			display: flex;
			align-items: center;
			background: #eceaea;
			border-radius: 28px;
			align-items: flex-end;
			line-height: 1;
			padding-bottom: min(0.8vw, 15px);
			box-sizing: border-box;
			font-weight: 600;
		}
		& li:nth-child(2) {
			background: #a5915a;
		}
		& li .koukai {
			width: 92px;
			text-align: right;
			font-size: 13px;
			letter-spacing: 0.05em;
			font-weight: 600;
		}
		& li .number {
			width: 125px;
			text-align: right;
			font-size: 38px;
			letter-spacing: 0.03em;
			font-weight: 600;
			margin-bottom: -5px;
			margin-right: 10px;
			font-family: "Century Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "AppleGothic", "Futura", "CenturyGothic", AppleGothic, sans-serif;
		}
		& li:nth-child(2) .number {
			font-size: 45px;
			color: #fff;
		}
	}
}
.mem_benefit {
	width: 860px;
	& p {
		color: #fff;
		font-size: 16px;
		font-weight: 600;
		padding-left: 30px;
		line-height: 1;
		display: flex;
		gap: 0 20px;
		position: relative;
		&::before {
			content: "";
			display: block;
			width: 12px;
			height: 2px;
			background: #a5915a;
			position: absolute;
			top: 8px;
			left: 7px;
		}
	}
}
.mem_benefit ul {
	display: flex;
	justify-content: space-between;
	margin-top: 15px;
	& li {
		width: 270px;
		background: #3c3c3c;
		border-radius: 20px;
		font-weight: 600;
		text-align: center;
		color: #fff;
		font-size: min(1.2vw, 18px);
		line-height: min(1.6vw, 30px);
		letter-spacing: 0.05em;
		padding-bottom: 15px;
		& span {
			width: 100px;
			height: 26px;
			margin: 16px auto 12px auto;
			background: #4f4f4f;
			border-radius: 13px;
			color: #fff;
			font-size: 20px;
			font-weight: 600;
			font-family: "Century Gothic", "AppleGothic", "Futura", "CenturyGothic", AppleGothic, sans-serif;
			display: flex;
			align-items: center;
			justify-content: center;
		}
	}
}
.member_btn ul {
	width: 875px;
	display: flex;
	margin: 0 auto;
	justify-content: space-between;
	& li a {
		width: 420px;
		height: 82px;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		color: #fff;
		border-radius: 41px;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 0.14em;
		position: relative;
		overflow: hidden;
		z-index: 0;
	}
	& li:nth-child(1) a,li:nth-child(2) a {
		background: #a5915a;
		&::before {
			content: "";
			position: absolute;
			bottom: -100%; /* 最初はボタンの下側に隠しておく */
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #fff; /* 変化後の色：赤 */
			z-index: -1; /* 文字の下に配置 */
			transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1);
		}
		&:hover {
			color: #a5915a;
		}
		&:hover::before {
			bottom: 0; /* 下からスッと上がってくる */
			background: #fff;
		}
	}
	& li:nth-child(3) a,li:nth-child(4) a {
		border: solid 1px #fff;
		&::before {
			content: "";
			position: absolute;
			bottom: -100%; /* 最初はボタンの下側に隠しておく */
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #fff; /* 変化後の色：赤 */
			z-index: -1; /* 文字の下に配置 */
			transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1);
		}
		&:hover {
			color: #3c3c3c;
		}
		&:hover::before {
			bottom: 0; /* 下からスッと上がってくる */
			background: #fff;
		}	
	}
}


@media screen and (max-width: 1301px) {
  .member_wrap {
		margin-bottom: 0;
	}
}

/* blog */
.blog_wrap {
	border-radius: 50px 50px 0 0;
	background: #eceaea;
	padding-bottom: 200px;
	margin-bottom: 200px;
}
.blog_in {
	width: 1200px;
	margin: 0 auto;
	padding:clamp(20px, 1.8vw, 30px) 0 90px 0;
	& h2 {
		font-size: min(1.2vw, 18px);
		font-weight: 600;
		letter-spacing: 0.05em;
		& img {
			margin-right: 15px;
		}
	}
}
.blog_ti {
	margin: min(3.2vw, 60px) 0 min(2vw, 60px) 0;
	display: flex;
	justify-content: space-between;
	& p {
		font-size: min(2vw, 30px);
		font-weight: 600;
		display: flex;
		align-items: center;
		gap: 0 40px;
		& img {
			width: min(15vw, 260px);
		}
	}
	& a {
		width: 253px;
		height: 82px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 41px;
		letter-spacing: 0.14em;
		font-size: 18px;
		font-weight: 600;
		box-sizing: border-box;
		border: solid 1px #3c3c3c;
		position: relative;
		overflow: hidden;
		z-index: 0;
		&::before {
			content: "";
			position: absolute;
			bottom: -100%; /* 最初はボタンの下側に隠しておく */
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #fff; /* 変化後の色：赤 */
			z-index: -1; /* 文字の下に配置 */
			transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1);
		}
		&:hover {
			color: #fff;
		}
		&:hover::before {
			bottom: 0; /* 下からスッと上がってくる */
			background: #3c3c3c;
		}
	}
}
.blog_wrap iframe {
	width: 100%;
	height: 310px;
}
.blog_con {
	width: 1120px;
	margin: 0 auto;
	& ul {
		display: flex;
		justify-content: space-between;
		padding-top: 10px;
		& li a {
			display: block;
			width: 344px;
			position: relative;
			&:hover .blog_img_frame img {
				transform: scale(1.1);
			}
			& .blog_new {
				padding: 1px 12px 3px 12px;
				background: #a5915a;
				color: #fff;
				position: absolute;
				top: -10px;
				left: 10px;
				font-size: 13px;
				font-weight: 600;
				letter-spacing: 0.08em;
				z-index: 2;
				border-radius: 14px;
			}
			& .blog_img_frame {
				border-radius: 10px;
				width: 100%;
				height: min(18vw, 250px);
				object-fit: cover;
				overflow: hidden;
				& img {
					transition: .3s;
					object-fit: cover;
					width: 100%;
					height: 100%;
				}
			}
			& h3 {
				font-size: min(1.2vw, 18px);
				font-weight: 600;
				letter-spacing: 0.15em;
				line-height: min(1.5vw, 26px);
				margin: 10px 0 5px 0;
				display: -webkit-box;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 2;
				overflow: hidden;
			}
			& p {
				color: #a5915a;
				font-size: 12px;
				font-weight: 600;
			}
		}
	}
}


@media screen and (max-width: 1301px) {
  .blog_wrap {
		margin-bottom: 0;
		padding-bottom: 150px;
	}
}

/* info */
.info_wrap {
	border-radius: 50px 50px 0 0;
	background: #a5915a;
}
.info_in {
	width: 1200px;
	margin: 0 auto;
	padding:clamp(20px, 1.8vw, 30px) 0 60px 0;
	& h2 {
		font-size:min(1.2vw, 18px);
		font-weight: 600;
		letter-spacing: 0.05em;
		color: #fff;
		& img {
			margin-right: 15px;
		}
	}
}
.info_ti {
	margin: 60px 0 50px 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	& p {
		font-size: min(2vw, 30px);
		font-weight: 600;
		display: flex;
		align-items: end;
		gap: 0 40px;
		color: #fff;
		& img {
			width: min(40vw, 700px);
		}
	}
	& a {
		width: 253px;
		height: 82px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 41px;
		letter-spacing: 0.14em;
		font-size: 18px;
		font-weight: 600;
		box-sizing: border-box;
		border: solid 1px #fff;
		color: #fff;
		position: relative;
		overflow: hidden;
		z-index: 0;
		&::before {
			content: "";
			position: absolute;
			bottom: -100%; /* 最初はボタンの下側に隠しておく */
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #fff; /* 変化後の色：赤 */
			z-index: -1; /* 文字の下に配置 */
			transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1);
		}
		&:hover {
			color: #a5915a;
		}
		&:hover::before {
			bottom: 0; /* 下からスッと上がってくる */
			background: #fff;
		}
	}
}
.info_wrap iframe {
	width: 100%;
	height: 297px;
}
.info_con {
	border-radius: 30px;
	background: #eceaea;
	box-sizing: border-box;
	padding: 20px 30px;
}
.info_con ul li {
	padding: 5px 0;
	& a {
		padding: 5px 10px;
		display: block;
		border-radius: 15px;
		position: relative;
		&:hover {
			background: #fff;
		}
		&::before {
			content: "";
			width: 35px;
			height: 35px;
			display: block;
			position: absolute;
			right: 15px;
			top: 20px;
			z-index: 50;
			border-radius: 50%;
			box-sizing: border-box;
			border: solid 2px #3c3c3c;
			background: #3c3c3c;
			white-space: nowrap;
		}
		&::after {
			content: "";
			width: 7px;
			height: 7px;
			display: block;
			border-top: solid 1px #FFF;
			border-left: solid 1px #fff;
			transform: rotate(135deg);
			position: absolute;
			top: 33px;
			right: 30px;
			z-index: 50;
		}
	}
}
.info_con ul li:not(:last-child) {
	border-bottom: solid 1px #fff;
	
}
.info_item .info_title {
	font-size: 20px;
	width: 1050px;
	font-weight: 600;
	letter-spacing: 0.1em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}
.info_con ul li,.info_meta {
	padding: 5px 0 6px 0;
	& .info_date {
		color: #a5915a;
		font-size: 16px;
		font-weight: 600;
		letter-spacing: 0.05em;
		margin: 0 25px 0 10px;
	}
	& .info_tag {
		display: inline-block;
	}
	& .info_tag p label {
		background: #d9d9d9;
		border-radius: 12px;
		font-size: 12px;
		font-weight: 600;
		padding: 2px 10px 4px 10px;
		letter-spacing: 0.05em;
		margin-right: 5px;
	}
}

/* sticky記述 */
.sticky_card {
	position: sticky;
  top: 0px;
}
.sticky_card.card1 {
	z-index: 1;
	top: 0px;
}
.sticky_card.card2 {
	z-index: 2;
	top: min(5.6vw,90px);
}
.sticky_card.card3 {
	position: relative;
  z-index: 4;
}


/* staff */
.staff_wrap {
	background: #fff;
	padding: 110px 0;
	position: relative;
	z-index: 4;
}
.staff_in {
	width: 1200px;
	margin: 0 auto;
	& .staff_ti {
		margin: 20px 0 70px 0;
		font-size: 16px;
		letter-spacing: 0.02em;
		display: flex;
		align-items: end;
		& img {
			display: block;
			margin-right: 50px;
		}
	}
}
.staff_wrap iframe {
	width:100% ;
	height: 570px;
	margin-top: -150px;
}
.staff_con {
	left: calc(50% - 600px);
    right: 0;
    position: relative;
    overflow: hidden;
    width: calc(50% + 600px);
		padding-top: 150px;
    margin-top: -150px;
}
.staff8_photo_hover {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	transition: 1s;

}
.staff_con ul li a {
	width: 300px;
	display: block;
	&:hover .staff8_photo_hover {
		opacity: 1;
	}
}
.staff_img_area {
	overflow: hidden;
	width: 100%;
	height: 350px;
	border-radius: 10px;
	position: relative;
	& img {
		object-position: center;
    object-fit: cover;
    width: 100%;
    height: 100% !important;
		transition: .3s;
		object-position: top;
	}
}
.staff_name {
	width: 145px;
	background: #ffffff;
	border-radius: 0 10px 0 0;
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 11px 0 11px 15px;
	box-sizing: border-box;
	& span {
		color: #a5915a;
		font-size: 12px;
		font-weight: 600;
		margin-bottom: 5px;
		display: block;
	}
	& p {
		font-size: 18px;
		font-weight: 600;
		margin-left: 10px;
		letter-spacing: 0.07em;
	}
}
.staff_te {
	margin-top: 10px;
	font-size: 17px;
	color: #a5915a;
	font-weight: 500;
	padding: 0 7px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.staff_wrap .more_form a {
	margin: 60px auto 0 auto;
}

/* company */
.company_wrap {
	display: flex;
	align-items: flex-start;
	overflow: hidden;
	min-height: 1000px;
	position: relative;
	z-index: 4;
}
.comp_left {
	width: 24vw;
	min-height: 1000px;
	background-size: 100%;
	background-repeat: repeat-y;
	animation-duration: 50s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-name: bgSlideVertical;
	background-image: url(../img/top/company_le.webp);
	animation-direction: reverse;
}

/* 動きの定義 */
@keyframes bgSlideVertical {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 -2000px; /* マイナスの値で上に流れる */
  }
}
.comp_center {
	width: 52vw;
	text-align: center;
	padding: 90px 0 140px 0;
	background: #3c3c3c;
	height: 1000px;
	box-sizing: border-box;
	& .comp_ti {
		font-size: 20px;
		color: #a5915a;
		letter-spacing: 0.14em;
		position: relative;
		&::before {
			content: "";
			display: block;
			width: 0.5px;
			height: 17px;
			background: #a5915a;
			position: absolute;
			top: -15px;
			right: 0;
			left: 0;
			margin: 0 auto;
		}
	}
	& img {
		display: block;
		margin: min(3vw, 60px) auto min(2vw, 40px) auto;
		width: min(26vw, 430px);
	}
	& h2 {
		font-size: min(2vw, 30px);
		letter-spacing: 0.14em;
		font-weight: 600;
		color: #fff;
	}
	& .comp_te {
		color: #fff;
		font-size: min(1.2vw, 16px);
		letter-spacing: 0.14em;
		line-height: min(1.7vw, 28px);
		margin: min(2vw, 30px) 0 min(3.6vw, 60px) 0;
	}
	& ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 560px;
		gap: 20px 0;
		margin: 0 auto;
		& li a {
			width: 272px;
			height: 82px;
			display: flex;
			align-items: center;
			justify-content: center;
			color: #fff;
			font-size: 18px;
			font-weight: 600;
			border-radius: 41px;
			box-sizing: border-box;
			border: solid 1px #fff;
			letter-spacing: 0.14em;
			position: relative;
			overflow: hidden;
			z-index: 0;
			&::before {
				content: "";
				position: absolute;
				bottom: -100%; /* 最初はボタンの下側に隠しておく */
				left: 0;
				width: 100%;
				height: 100%;
				background-color: #fff; /* 変化後の色：赤 */
				z-index: -1; /* 文字の下に配置 */
				transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1);
			}
			&:hover {
				color: #3c3c3c;
			}
			&:hover::before {
				bottom: 0; /* 下からスッと上がってくる */
				background: #fff;
			}
		}
	}
}
.comp_right {
	width: 24vw;
	min-height: 1000px;
	background-size: 100%;
	background-repeat: repeat-y;
	animation-duration: 50s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-name: bgSlideVertical;
	background-image: url(../img/top/company_ri.webp);
}
.footer_wrap {
	position: relative;
	z-index: 4;
	background: #fff;
}








/* ─────────────────────────────────────────
   Page wrapper
───────────────────────────────────────── */
.hamburger_menu {
  position: relative;
  overflow: hidden;
	opacity: 0;
	transition: .3s;
}
.hamburger_menu_after {
	opacity: 1;
}

/* ─────────────────────────────────────────
   Hamburger Button
───────────────────────────────────────── */
.hamburger-btn {
  position: fixed;
  top: 28px;
  right: 32px;
  width: 70px;
  height: 55px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 7px;
  padding: 6px 22px;
  z-index: 200;
  transition: opacity 0.3s ease;
	background: #3c3c3c;
    border-radius: 40px;
}

.hamburger-btn:hover {
  opacity: 0.8;
}


/* 初期状態は非表示 */
.hamburger-btn {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* 300px スクロールしたら表示 */
.hamburger-btn.is-visible {
  opacity: 1;
  visibility: visible;
}

/* 3本のバー */
.bar {
  display: block;
  height: 1px;
  background: #c9c9c9;
  transition:
    transform 0.55s cubic-bezier(0.77, 0, 0.175, 1),
    opacity 0.3s ease,
    width 0.3s ease,
    background-color 0.3s ease;
}

.bar-1 { width: 28px; }
.bar-2 { width: 18px; }  /* 少し短くしてデザインのアクセントに */
.bar-3 { width: 28px; }

/* ×マークへの変形 */
.hamburger-btn.is-open .bar-1 {
  width: 32px;
  transform: translateY(8px) rotate(45deg);
}

.hamburger-btn.is-open .bar-2 {
  opacity: 0;
  transform: scaleX(0);
}

.hamburger-btn.is-open .bar-3 {
  width: 32px;
  transform: translateY(-8px) rotate(-45deg);
}

/* メニュー展開中はバーをホワイトに */
.hamburger-btn.is-open .bar {
  background: #ffffff;
}

/* ─────────────────────────────────────────
   Nav Overlay
───────────────────────────────────────── */
.nav-overlay {
  position: fixed;
	right: 0;
	top: 0;
	width: 52vw;
	max-height: 650px;
	height: 80vh;
	border-radius: 0 0 0 100px;
  background: #3c3c3c;
  z-index: 100;
  pointer-events: none;
	box-shadow: -1px 1px 10px rgb(0 0 0 / 20%);
	/* opacity: 0.98; */

  /* ボタン位置（右上）を起点に円形で展開 */
  clip-path: circle(0% at calc(100% - 56px) 52px);
  transition: clip-path 0.85s cubic-bezier(0.77, 0, 0.175, 1);
}

.nav-overlay.is-open {
  pointer-events: all;
  clip-path: circle(150% at calc(100% - 56px) 52px);
}

/* ─────────────────────────────────────────
   Nav Inner Layout
───────────────────────────────────────── */
.nav-inner {
  display: flex;
  width: 100%;
  height: 100%;
	flex-direction: column;
	padding: 30px 8vw 50px 8vw;
	box-sizing: border-box;
}

/* ── 左エリア：メインナビ ── */
.nav-left {
  flex: 1;
  display: flex;
  flex-direction: column;
	justify-content: center;
}

.nav-logo {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2em;
  color: rgba(255, 255, 255, 0.9);
  text-transform: uppercase;
  margin-bottom: 2.5rem;
}

.nav-links {
  list-style: none;
	display: flex;
	flex-wrap: wrap;
	& li {
		width: 50%;
		& a {
			display: inline-flex;
		}
	}
}

/* 各リンク行 */
.nav-link-item {
  display: flex;
	flex-direction: column;
  gap: 3px;
  margin: 20px 0;
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
}

.nav-link-item:hover .link-ja {
  opacity: 0.3;
}
.nav-link-item:hover .link-en {
  opacity: 0.3;
}

/* メニューが開いたときにフェードイン */
.nav-overlay.is-open .nav-link-item {
  opacity: 1;
  transform: translateY(0);
}

/* 順番に遅延をかけてスタッガーアニメーション */
.nav-overlay.is-open .nav-links li:nth-child(1) .nav-link-item { transition-delay: 0.20s; }
.nav-overlay.is-open .nav-links li:nth-child(2) .nav-link-item { transition-delay: 0.27s; }
.nav-overlay.is-open .nav-links li:nth-child(3) .nav-link-item { transition-delay: 0.34s; }
.nav-overlay.is-open .nav-links li:nth-child(4) .nav-link-item { transition-delay: 0.41s; }
.nav-overlay.is-open .nav-links li:nth-child(5) .nav-link-item { transition-delay: 0.48s; }
.nav-overlay.is-open .nav-links li:nth-child(6) .nav-link-item { transition-delay: 0.55s; }

/* 英語テキスト（大） */
.link-en {
  font-size: 38px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1;
	font-family: "Century Gothic", "Montserrat", "Futura", "Hiragino Kaku Gothic ProN", sans-serif;
	transition: opacity 0.3s ease;
	letter-spacing: 0.05em;
}

/* 日本語テキスト（小・ミュート） */
.link-ja {
  font-size: 13px;
  color: rgba(255, 255, 255, 1);
  letter-spacing: 0.1em;
  transition: opacity 0.3s ease;
}

/* ── 右エリア：サブ情報 ── */
.nav-right {
  /* width: 240px; */

  /* 遅れてフェードイン */
  opacity: 0;
  transition: opacity 0.5s ease 0.5s;
}

.nav-overlay.is-open .nav-right {
  opacity: 1;
}

.nav-side-links {
  display: flex;
  gap: 10px;
}
.nav-side-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 50px;
	background: #a5915a;
	border: solid 1px #a5915a;
	box-sizing: border-box;
	border-radius: 25px;
	z-index: 0;
	position: relative;
	overflow: hidden;
	&::before {
		content: "";
		position: absolute;
		bottom: -100%; /* 最初はボタンの下側に隠しておく */
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #fff; /* 変化後の色：赤 */
		z-index: -1; /* 文字の下に配置 */
		transition: bottom 0.6s cubic-bezier(0.22, 1, 0.36, 1);
	}
	&:hover {
		color: #a5915a;
	}
	&:hover::before {
		bottom: 0; /* 下からスッと上がってくる */
		background: #fff;
	}

}

.nav-side-link {
  font-size: 15px;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
}

.nav-side-link:hover {
  color: #ffffff;
}
.nav-side-link_w {
	background: #fff !important;
	color: #3c3c3c;
	border: solid 1px #fff !important;
	&::before {
		background: #3c3c3c !important;
	}
	&:hover {
		background: #3c3c3c;
		color: #fff !important;
	}
}

/* CTAボタン */
.nav-cta {
  display: block;
  padding: 13px 20px;
  border: 0.5px solid rgba(255, 255, 255, 0.4);
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-align: center;
  transition:
    background 0.25s ease,
    border-color 0.25s ease;
}

.nav-cta:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.7);
}
