@charset "UTF-8";
.philosophy {
	padding-top: 0;
}
.philosophy_block {
	width: 100%;
}

.philosophy_list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.philosophy_item {
	margin-bottom: 56px;
}

.philosophy_item:last-child {
	margin-bottom: 0;
}
.philosophy_ttl {
	position: relative;
	padding-left: 1.1em;
	font-size: 23px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.05em;
	margin-bottom: 20px;
}
.philosophy_ttl::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.37em;
	width: 15px;
	height: 15px;
	background-color: currentColor;
	border-radius: 50%;
}
.philosophy_text {
	font-size: 16px;
	line-height: 2.2;
	margin: 0;
}
.pvv {
	padding-top: 0;
}
.pvv_purpose {
	height: 510px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pvv_purpose_bg {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

.pvv_purposeImg {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pvv_purpose::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	background: #222222;
	opacity: 0.7;
}
.pvv_purpose_content {
	text-align: center;
	z-index: 3;
	position: absolute;
	right: 50%;
	transform: translateX(50%);
	bottom: 194px;
}

.pvv_purpose_sub {
	font-size: 34px;
	font-weight: 600;
	letter-spacing: 0.035em;
	margin-bottom: 20px;
	line-height: 1.2;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 1s cubic-bezier(0.85, 0, 0.15, 1) 0.2s;
}
.pvv_purpose.-active .pvv_purpose_sub {
	clip-path: inset(0 0 0 0);
}
.pvv_purpose_ttl {
	font-size: 44px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 1.2s cubic-bezier(0.85, 0, 0.15, 1) 0.2s;
}
.pvv_purpose.-active .pvv_purpose_ttl {
	clip-path: inset(0 0 0 0);
}

.pvv_inner {
}
.pvv_wrapper {
	width: 100%;
	max-width: 1500px;
	min-width: 1100px;
	margin: 0 auto;
	padding: 105px 0 0;
}
.pvv_mv_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 34px;
	margin-bottom: 85px;
}

.pvv_mv_box {
	border: 1px solid currentColor;
	padding: 109px 32px 81px;
	text-align: center;
	display: flex;
	align-items: center;
	position: relative;
	justify-content: center;
	opacity: 0;
}
.pvv_mv_box:nth-child(1) {
	transition: opacity 1s;
}
.pvv_mv_box:nth-child(2) {
	transition: opacity 1s 0.3s;
}
.pvv_mv_grid.-active .pvv_mv_box {
	opacity: 1;
}
.pvv_mv_head {
	width: calc(100% - 40px);
	max-width: 230px;
	background: #222222;
	position: absolute;
	right: 50%;
	top: 0;
	transform: translate(50%, -1.5em);
}
.pvv_mv_ttl_en {
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 0.035em;
	margin-bottom: -3px;
	line-height: 1.3;
}

.pvv_mv_ttl_ja {
	letter-spacing: 0.05em;
}

.pvv_mv_text {
	font-size: 27px;
	font-weight: bold;
	line-height: 1.666;
	letter-spacing: 0.05em;
	transform: translateX(9px);
	position: relative;
}
.pvv_value_head {
	text-align: center;
	margin-bottom: 30px;
}

.pvv_value_ttl_en {
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 0.035em;
	margin-bottom: 3px;
	line-height: 1.1945;
	clip-path: inset(100% 0 0 0);
	transition: clip-path 1s cubic-bezier(0.85, 0, 0.15, 1);
}
.pvv_value.-active .pvv_value_ttl_en {
	clip-path: inset(0 0 0 0);
}

.pvv_value_ttl_ja {
	letter-spacing: 0.05em;
	line-height: 1.5;
	clip-path: inset(100% 0 0 0);
	transition: clip-path 1s cubic-bezier(0.85, 0, 0.15, 1) 0.2s;
}
.pvv_value.-active .pvv_value_ttl_ja {
	clip-path: inset(0 0 0 0);
}
.pvv_value_table {
	border-top: 1px solid currentColor;
	border-left: 1px solid currentColor;
}

.pvv_value_row {
	display: grid;
	grid-template-columns: 1fr 3fr;
}
.pvv_value_cat {
	background-color: #ffffff;
	color: #222222;
	display: grid;
	place-content: center;
	text-align: center;
	padding: 32px;
	border-right: 1px solid #222222;
	border-bottom: 1px solid #222222;
	aspect-ratio: 1 / 1;
	position: relative;
	gap: 2px;
}
.pvv_value_cat_ttl {
	font-size: 27px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.593;
	margin-bottom: 9px;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.7s cubic-bezier(0.85, 0, 0.15, 1)
		calc(var(--i) * 0.1s);
}
.pvv_value.-active .pvv_value_cat_ttl {
	clip-path: inset(0 0 0 0);
}
.pvv_value_cat_sub {
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.02em;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.7s cubic-bezier(0.85, 0, 0.15, 1)
		calc((var(--i) * 0.1s) + 0.1s);
}
.pvv_value.-active .pvv_value_cat_sub {
	clip-path: inset(0 0 0 0);
}
.pvv_value_cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.pvv_value_card {
	padding: 0px 7px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	display: grid;
	grid-template-rows: auto 126px auto;
	justify-items: center;
	text-align: center;
	position: relative;
}
.pvv_value_num {
	display: inline-flex;
	align-self: end;
	justify-content: center;
	width: 84px;
	height: 40px;
	border-radius: 999px;
	background-color: #ffffff;
	color: #222222;
	font-size: 20px;
	font-weight: 600;
	opacity: 0;
	transition: opacity 0.7s cubic-bezier(0.85, 0, 0.15, 1) calc(var(--i) * 0.2s);
}
.pvv_value.-active .pvv_value_num {
	opacity: 1;
}
.pvv_value_icon {
	align-self: center;
	opacity: 0;
	transition: opacity 0.7s cubic-bezier(0.85, 0, 0.15, 1) calc(var(--i) * 0.2s);
}
.pvv_value.-active .pvv_value_icon {
	opacity: 1;
}
.pvv_value_cardText {
	align-self: start;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.05em;
	opacity: 0;
	transition: opacity 0.7s cubic-bezier(0.85, 0, 0.15, 1) calc(var(--i) * 0.2s);
}
.pvv_value.-active .pvv_value_cardText {
	opacity: 1;
}
.pvv_value_cardText.-es {
	letter-spacing: -0.021em;
}
@media screen and (max-width: 1240px) {
}

@media screen and (max-width: 768px) {
	.philosophy {
	}
	.philosophy_block {
	}
	.philosophy_list {
	}
	.philosophy_item {
		margin-bottom: 40px;
	}
	.philosophy_item:last-child {
	}
	.philosophy_ttl {
		font-size: 22px;
		margin-bottom: 15px;
		padding-left: 1em;
	}
	.philosophy_ttl::before {
		width: 13px;
		height: 13px;
	}
	.philosophy_text {
	}
	.pvv {
	}
	.pvv_purpose {
		height: 350px;
	}
	.pvv_purpose_bg {
	}
	.pvv_purposeImg {
	}
	.pvv_purpose::before {
	}
	.pvv_purpose_content {
		bottom: 130px;
	}
	.pvv_purpose_sub {
		margin-bottom: 12px;
	}
	.pvv_purpose_ttl {
		width: 350px;
		font-size: 32px;
	}
	.pvv_inner {
	}
	.pvv_wrapper {
		min-width: unset;
	}
	.pvv_mv_grid {
		grid-template-columns: 1fr;
		gap: 50px;
		margin-bottom: 60px;
	}
	.pvv_mv_box {
		padding: 80px 0px 70px;
	}
	.pvv_mv_head {
	}
	.pvv_mv_ttl_en {
		font-size: 33px;
		margin-bottom: 0px;
	}
	.pvv_mv_ttl_ja {
		font-size: 14px;
	}
	.pvv_mv_text {
		font-size: 21px;
		transform: translateX(7px);
	}
	.pvv_value_head {
		margin-bottom: 40px;
	}
	.pvv_value_ttl_en {
		font-size: 33px;
		margin-bottom: 0px;
	}
	.pvv_value_ttl_ja {
		font-size: 14px;
	}
	.pvv_value_table {
		max-width: 325px;
		margin: 0 auto;
		border: unset;
	}
	.pvv_value_row {
		width: 100%;
		display: block;
	}
	.pvv_value_cat {
		aspect-ratio: unset;
		width: 100%;
		border: unset;
		padding: 15px;
	}
	.pvv_value_cat_ttl {
		font-size: 21px;
		margin-bottom: 4px;
	}
	.pvv_value_cat_sub {
	}
	.pvv_value_cards {
		grid-template-columns: 1fr;
		width: 100%;
	}
	.pvv_value_card {
		aspect-ratio: 1;
		grid-template-rows: auto 125px auto;
		width: 100%;
		border-left: 1px solid currentColor;
	}
	.pvv_value_num {
	}
	.pvv_value_icon {
	}
	.pvv_value_cardText {
	}
	.pvv_value_cardText.-es {
	}
}
