/* メインビジュアル */
.mv{
	position: relative;
	width: 100%;
	height: 100vh;
}
.mv img{
	object-fit: cover;
	object-position: right top;
	width: 100%;
	height: 100%;
}
.mv_cap{
	position: absolute;
	top: 20vw;
	left: 15vw;
	color: #fff;
	writing-mode: vertical-rl;
}
.mv_cap h2{
	margin: 0;
	font-size: 5.33vw;
}
.mv_cap p{
	margin: 0 5px 0 0;
	font-size: 3.73vw;
	line-height: 1.6;
	letter-spacing: 0.15em;
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.mv_scroll_arrow{
	position: absolute;
	bottom: calc(17vw + 80px);
	left: 2vw;
	padding: 0;
	font-size: .625rem;
	text-decoration: none;
	color: #d6d5ca;
	transform: rotate(-90deg);
}
.mv_scroll_arrow::before{
	position: absolute;
	top: 0;
	bottom: 0;
	left:-80px;
	background-color: #d6d5ca;
	width: 70px;
	height: 1px;
	margin: auto 0;
	content: "";
}
.mv_scroll_arrow::after{
	position: absolute;
	top: 4px;
	bottom: 0;
	left:-80px;
	background-color: #d6d5ca;
	width: 10px;
	height: 1px;
	margin: auto 0;
	transform: rotate(30deg);
	content: "";
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* メインビジュアル PC */
	.mv_cap{
		top: 130px;
		left: 260px;
	}
	.mv_cap h2{
		font-size: 2.125rem;
	}
	.mv_cap p{
		margin: 0 10px 0 0;
		font-size: 1.25rem;
		line-height: 1.8;
	}
	.mv_scroll_arrow{
		bottom: 210px;
		left: 120px;
		padding: 0;
		font-size: 1rem;
	}
	.mv_scroll_arrow::before{
		left:-150px;
		width: 140px;
		height: 2px;
	}
	.mv_scroll_arrow::after{
		top: 9px;
		left:-150px;
		width: 20px;
		height: 2px;
	}
}
@media screen and (min-width: 769px) and (max-width: 959px) { /* Tablet用 メディアクエリー */
	/* メインビジュアル TAB */
	.mv_cap{
		left: 120px;
	}
	.mv_scroll_arrow{
		left: 20px;
	}
}


/* トップ メッセージ */
.top_message{
	background-color: rgb(var(--color_main));
	padding: 40px 0;
	color: #fff;
}
.top_message_inner{}
.top_message h2{
	text-align: center;
	margin: 0;
	font-size: 1.25rem;
}
.top_message_txt{}
.top_message_txt p{}
.top_message_txt p.name_wrap{
	text-align: right;
}
.top_message_txt p.name_wrap .c{
	display: block;
}
.top_message_txt p.name_wrap .name{
	font-size: 1.125rem;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* トップ メッセージ PC */
	.top_message{
		background-color: rgb(var(--color_main));
		padding: 90px 0 70px;
	}
	.top_message_inner{
		width: 600px;
		max-width: 100%;
		margin: 0 auto;
	}
	.top_message h2{
		font-size: 1.75rem;
	}
	.top_message_txt{
		margin-top: 30px;
	}
	.top_message_txt p{
		font-size: 1rem;
	}
	.top_message_txt p.name_wrap{
		font-size: 14px;
	}
	.top_message_txt p.name_wrap .c{}
	.top_message_txt p.name_wrap .name{
		font-size: 1.125rem;
	}
}
@media screen and (min-width: 769px) and (max-width: 1180px) { /* Tablet用 メディアクエリー */ 
	/* トップ メッセージ TAB */
}

/* トップ 私たちの哲学 */
.top_tetsugaku{
	background-color: rgb(var(--color_gray));
	padding: 40px 0;
}
.top_tetsugaku_inner{}

.top_tetsugaku_wrap{
	gap: 40px 0;
	margin-top: 20px;
}
.top_tetsugaku_wrap .item{
	position: relative;
	padding-top: 55px;
}
.top_tetsugaku_wrap .item .num_wrap{
	justify-content: flex-start;
	position: absolute;
	top: 0;
	left: 0;
	padding-left: 10px;
	color: rgb(var(--color_gold));
	vertical-align: top;
	z-index: 1;
}
.top_tetsugaku_wrap .item .num_wrap .num{
	margin: 0;
	font-size: 6.875rem;
	line-height: 1;
	letter-spacing: -0.01em;
}
.top_tetsugaku_wrap .item .num_wrap .cap{
	margin: 20px 0 0;
	font-size: 2.5rem;
	line-height: 1;
}
.top_tetsugaku_wrap .item img{
	width: 100%;
	height: auto;
}
.top_tetsugaku_wrap .item h3{
	margin: 18px 0 0;
	font-size: 1.25rem;
	line-height: 1.5;
}
.top_tetsugaku_wrap .item p{
	margin-top: 10px;
}

.top_tetsugaku_link{
	gap: 15px 0;
	margin-top: 40px;
}
.top_tetsugaku_link .item{
	width: 220px;
	color: #7b714e;
}
.top_tetsugaku_link .item a{
	display: block;
	position: relative;
	padding: 0;
	color: #7b714e;
	text-decoration: none;
	font-size: 1rem;
}
.top_tetsugaku_link .item a::before{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	background-color: #7b714e;
	width: 100px;
	height: 1px;
	margin: auto 0;
	content: "";
}
.top_tetsugaku_link .item a::after{
	position: absolute;
	top: -6px;
	bottom: 0;
	right: 0;
	background-color: #7b714e;
	width: 15px;
	height: 1px;
	margin: auto 0;
	transform: rotate(210deg);
	content: "";
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* トップ 私たちの哲学 PC */
	.top_tetsugaku{
		padding: 140px 60px 80px;
	}
	.top_tetsugaku_inner{}

	.top_tetsugaku_wrap{
		gap: 0 26px;
		margin-top: 40px;
	}
	.top_tetsugaku_wrap .item{
		width: calc((100% - 52px) / 3);
		padding-top: 5%;
	}
	.top_tetsugaku_wrap .item .num_wrap{
	}
	.top_tetsugaku_wrap .item .num_wrap .num{
		font-size: 6.875rem;
		font-size: clamp(50px,6.6vw,110px);
	}
	.top_tetsugaku_wrap .item .num_wrap .cap{
		margin: 10px 0 0 5px;
		font-size: 3.125rem;
		font-size: clamp(20px,3.3vw,50px);
	}
	.top_tetsugaku_wrap .item h3{
		margin: 20px 0 0;
		font-size: 1.375rem;
	}
	.top_tetsugaku_wrap .item p{
		margin-top: 20px;
	}

	.top_tetsugaku_link{
		justify-content: center;
		gap: 40px 220px;
		margin-top: 50px;
	}
	.top_tetsugaku_link .item{
		width: max-content;
	}
	.top_tetsugaku_link .item a{
		padding-right: 140px;
	}
	.top_tetsugaku_link .item a::before{
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		background-color: #7b714e;
		width: 120px;
		height: 2px;
		margin: auto 0;
		content: "";
	}
	.top_tetsugaku_link .item a::after{
		position: absolute;
		top: -7px;
		bottom: 0;
		right: 0;
		background-color: #7b714e;
		width: 15px;
		height: 2px;
		margin: auto 0;
		transform: rotate(210deg);
		content: "";
	}
	.top_tetsugaku_link .item a::before,
	.top_tetsugaku_link .item a::after{
		transition: right 0.3s ease;
	}
	.top_tetsugaku_link .item a:hover::before,
	.top_tetsugaku_link .item a:hover::after{
		right: -10px;
	}
}