.kv {
	background: color-mix(in srgb, #DAE9F3 40%, transparent);
	padding-bottom: 20px;
}
.kv hgroup {
	padding-top: 125px;
	padding-bottom: 42px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-inline: 34px;
}
.kv hgroup h1 {
	color: var(--black);
	font-size: calc((3rem / 1.6));
}
.kv hgroup p {
	font-size: calc((1rem / 1.6));
	font-family: var(--libre);
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 1em;
}
.kv hgroup p::before {
	content: "";
	height: 1px;
	width: 5em;
	background: #707070;
	opacity: 0.2;
}
@media print, screen and (min-width: 768px) {/* PC */
	.kv hgroup {
		max-width: 1200px;
		padding: 173px 20px 42px 20px;
		margin-inline: auto;
	}
	.kv hgroup h1 {
		font-size: calc((5rem / 1.6));
	}
	.kv hgroup p {
		font-size: calc((1.4rem / 1.6));
		gap: 15px;
	}
	.kv hgroup p::before {
		width: 126px;
	}
}

.kv .img {
	padding-inline: 18px;
}
.kv .img img {
	border-radius: 8px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.kv .img img {
		border-radius: 20px;
	}
}

.kv .movie {
	position: relative;
	aspect-ratio: 704/ 870;
	margin-inline: 18px;
	border-radius: 8px;
	overflow: hidden;
}
.kv .movie iframe {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 180%;
	height: 180%;
	border: none;
	border-radius: 8px;
	box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {/* PC */
	.kv .movie {
		aspect-ratio: 1362/ 494;
		border-radius: 20px;
	}
	.kv .movie iframe {
		border-radius: 20px;
	}
}

.section-title {
	padding-left: 18px;
	position: relative;
	font-size: calc((1.3rem / 1.6));
}
.section-title .text-jp {
	line-height: calc((18 / 13));
	margin-bottom: 15px;
}
.section-title .text-jp::before {
	content: "";
	position: absolute;
	top: 0.4lh;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--red);
}
.section-title .text-en {
	font-size: calc((3.3rem / 1.6));
	line-height: calc((38 / 33));
	font-family: var(--libre);
	text-transform: uppercase;
}
@media print, screen and (min-width: 768px) {/* PC */
	.section-title .text-jp {
		font-size: calc((1.7rem / 1.6));
		margin-bottom: 20px;
	}
	.section-title .text-en {
		font-size: calc((7.4rem / 1.6));
	}
}

.purpose {
	position: relative;
	overflow: hidden;
	clip-path: inset(1px 0);
}
.purpose::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #dae9f3;
	opacity: 0.95;
	z-index: 1;
}
.purpose .movie {
	position: fixed;
	inset: 0;
	z-index: -5;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.purpose .movie iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(30 / 65 * 100vh);
	height: calc(65 / 30 * 100vw);
	min-height: 100%;
	min-width: 100%;
	border: none;
	transform: translate(-50%, -50%) scale(1.02);
	box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {/* PC */
	.purpose .movie iframe {
		width: calc(1920 / 1080 * 100vh);
		height: calc(1080 / 1920 * 100vw);
	}
}
.purpose .inner {
	position: relative;
	z-index: 2;
	padding: 70px 33px 190px 33px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.purpose .inner {
		max-width: 1200px;
		padding: 155px 20px 450px 20px;
		margin-inline: auto;
	}
}
.purpose .text-content {
	margin-right: -15px;
}
.purpose .text1 {
	font-family: var(--min);
	font-weight: 400;
	font-size: calc((3.4rem / 1.6));
	line-height: calc((48 / 34));
	margin-top: 52px;
	margin-bottom: 22px;
	padding-left: 18px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.purpose .text1 {
		margin-top: 100px;
		margin-bottom: 55px;
		font-size: calc((6.6rem / 1.6));
		padding-left: 0;
	}
	.purpose .text1 span {
		display: inline-block;
	}
}
.purpose .text2 {
	font-size: calc((1rem / 1.6));
	line-height: calc((19 / 10));
	font-family: var(--libre);
	margin-bottom: 50px;
	padding-left: 18px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.purpose .text2 {
		margin-bottom: 90px;
		font-size: calc((1.4rem / 1.6));
		padding-left: 0;
	}
}
.purpose .text3 {
	font-family: var(--min);
	line-height: calc((38 / 16));
	font-weight: 400;
	margin-top: 1lh;
}
@media print, screen and (min-width: 768px) {/* PC */
	.purpose .text3 {
		font-size: calc((2.3rem / 1.6));
	}
}
.purpose .img {
	margin-top: 80px;
	display: block;
	margin-inline: auto;
}
@media print, screen and (min-width: 768px) {/* PC */
	.purpose .img {
		max-width: 745px;
		margin-top: 180px;
	}
}

.value {
	padding: 0 20px;
	margin-top: -100px;
	position: relative;
	z-index: 2;
	overflow: hidden;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value {
		padding: 0 35px;
		margin-top: -230px;
	}
}
.value-inner {
	border-radius: 8px 160px 160px 8px;
	background: linear-gradient(#dae9f3 0%, #d4d5db 36.02%, #ebb3a6 71.92%, #fd582c 100%);
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-inner {
		border-radius: 20px 160px 360px 20px;
		max-width: 1330px;
		margin-inline: auto;
	}
}
.value-inner-head {
	display: grid;
	grid-template-rows: auto 1fr;
	color: #FFFFFF;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-inner-head {
		grid-template-rows: 1fr;
		grid-template-columns: repeat(2, 1fr);
	}
}
.value-inner-head-text {
	grid-row: 1/2;
	grid-column: 1/2;
	z-index: 1;
	padding: 40px 30px 30px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-inner-head-text {
		display: grid;
		grid-template-columns: subgrid;
		align-items: end;
		grid-row: 1/2;
		grid-column: 1/3;
		padding: 0 60px 60px;
		position: relative;
	}
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-inner-head-text .section-title {
		position: absolute;
		top: 50%;
		left: 60px;
		translate: 0 -50%;
	}
}
.value-inner-head-text p {
	font-size: calc((1.3rem / 1.6));
	font-weight: 400;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-inner-head-text p {
		grid-column: 2/3;
		font-size: calc((2rem / 1.6));
		line-height: calc((45/20));
	}
}
.value-inner-head-bg {
	grid-row: 1/2;
	grid-column: 1/2;
	z-index: 0;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-inner-head-bg {
		grid-row: 1/3;
		grid-column: 1/3;
	}
}
.value-inner-head-bg img {
	border-radius: 8px 120px 0 0;
	-o-object-fit: cover;
		 object-fit: cover;
	height: 310px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-inner-head-bg img {
		border-radius: 20px 160px 0 0;
		height: 480px;
	}
}
.value-inner-body {
	padding: 50px 15px 136px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-inner-body {
		padding: 80px 60px 260px;
	}
}
.value-inner-body-text {
	font-family: var(--libre);
	font-size: calc((6rem / 1.6));
	font-weight: 400;
	color: #E0E0E0;
	white-space: nowrap;
	opacity: 0.2;
	position: absolute;
	bottom: 20px;
	left: 50%;
	translate: -50% 0;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-inner-body-text {
		font-size: calc((13rem / 1.6));
		bottom: 50px;
	}
}
.value-section-01-list {
	padding: 0 15px 60px;
	position: relative;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-section-01-list {
		padding: 0 0 205px;
	}
}
.value-section-01-list::before {
	position: absolute;
	bottom: 0;
	left: 50%;
	translate: -50% 0;
	content: "";
	width: calc((100% + 30px));
	height: 1px;
	background-color: rgba(255, 255, 255, 0.5);
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-section-01-list::before {
		width: 100%;
	}
}
.value-section-01-list::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	translate: -50% 0;
	content: "";
	width: calc((100% + 30px));
	height: 136.92px;
	background-image: url(../../img/company/philosophy-section-01-bg-sp.svg);
	background-size: 817.41px;
	background-position: center left;
	background-repeat: no-repeat;
	z-index: 0;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-section-01-list::after {
		width: calc((100% + 120px));
		height: 222.78px;
		background-image: url(../../img/company/philosophy-section-01-bg-pc.svg);
		background-size: 1330px;
	}
}
.value-section-01-list > li {
	border-bottom: 1px solid rgba(57, 57, 57, 0.2);
	padding-bottom: 40px;
	margin-bottom: 40px;
	position: relative;
	z-index: 1;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-section-01-list > li {
		padding-bottom: 60px;
		margin-bottom: 60px;
	}
}
.value-section-01-list > li:last-child {
	margin-bottom: 0;
}
@media print, screen and (min-width: 1024px) {/* PC */
	.value-section-01-list > li dl {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}
.value-section-01-list-title {
	font-size: calc((1.8rem / 1.6));
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: 27px;
}
@media print, screen and (min-width: 1024px) {/* PC */
	.value-section-01-list-title {
		grid-template-columns: 95fr 505fr;
		gap: 8.333333333%;
	}
}
.value-section-01-list-title .num {
	font-family: var(--libre);
	font-weight: 400;
	translate: 0 0.1em;
	padding-top: 3px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-section-01-list-title .num {
		font-size: calc((4.2rem / 1.6));
		line-height: 1;
	}
}
@media print, screen and (min-width: 1024px) {/* PC */
	.value-section-01-list-title .num {
		padding-left: 31.578947368%;
	}
}
.value-section-01-list-title .text {
	font-family: var(--min);
	font-weight: 500;
	line-height: calc((47/25));
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-section-01-list-title .text {
		font-size: calc((2.5rem / 1.6));
	}
}
@media print, screen and (min-width: 1024px) {/* PC */
	.value-section-01-list-title .text {
		padding-right: 19.801980198%;
	}
}
.value-section-01-list dd {
	font-size: calc((1.4rem / 1.6));
	line-height: calc((34/16));
	font-weight: 400;
	margin-top: 15px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-section-01-list dd {
		font-size: calc((1.6rem / 1.6));
	}
}
@media print, screen and (min-width: 1024px) {/* PC */
	.value-section-01-list dd {
		margin-top: 0;
		padding-right: 17%;
	}
}
.value-section-02 {
	margin-top: 45px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-section-02 {
		margin-top: 65px;
	}
}
.value-title {
	font-family: var(--min);
	font-size: calc((2rem / 1.6));
	font-weight: 600;
	padding-left: 35px;
	margin-bottom: 40px;
	position: relative;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-title {
		font-size: calc((2.6rem / 1.6));
		padding-left: 25px;
		margin-bottom: 60px;
	}
}
.value-title::before {
	position: absolute;
	top: 50%;
	left: 15px;
	translate: 0 -50%;
	content: "";
	aspect-ratio: 1/1;
	width: 8px;
	background-color: #FF1100;
	-webkit-clip-path: circle(50% at 50% 50%);
					clip-path: circle(50% at 50% 50%);
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-title::before {
		left: 0;
		width: 12px;
	}
}
.value-card {
	padding: 35px 32px 30px;
	border-radius: 8px 60px 8px 8px;
	display: grid;
	grid-template-rows: auto 1fr auto;
	grid-template-columns: 1fr 80px;
	grid-row: span 3;
	gap: 0 15px;
	background: rgba(255, 255, 255, 0.3);
	-webkit-backdrop-filter: blur(30px) brightness(1.1);
					backdrop-filter: blur(30px) brightness(1.1);
}
@media print, screen and (min-width: 680px) {
	.value-card {
		grid-template-rows: subgrid;
	}
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-card {
		padding: 36px 40px 46px;
		border-radius: 8px 90px 8px 8px;
		grid-template-columns: 1fr 80px;
		gap: 20px;
	}
}
@media print, screen and (min-width: 1024px) {/* PC */
	.value-card {
		padding: 40px 44px;
		grid-template-columns: 1fr 130px;
		gap: 20px 35px;
	}
}
.value-card-num {
	grid-row: 1/2;
	grid-column: 1/2;
	font-family: var(--min);
	font-size: calc((1.8rem / 1.6));
	font-weight: 500;
	color: #FF1100;
	margin-top: -2px;
	margin-bottom: 8px;
}
@media print, screen and (min-width: 680px) {
	.value-card-num {
		margin-top: 0;
		margin-bottom: 0;
	}
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-card-num {
		grid-column: 1/3;
	}
}
.value-card-title {
	grid-row: 2/3;
	grid-column: 1/2;
	font-family: var(--min);
	font-size: calc((1.7rem / 1.6));
	font-weight: 500;
	place-self: center start;
}
@media print, screen and (min-width: 680px) {
	.value-card-title {
		place-self: start;
	}
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-card-title {
		grid-column: 1/3;
		font-size: calc((2.6rem / 1.6));
		margin-top: 0;
	}
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-card-title br {
		display: none;
	}
}
.value-card-icon {
	grid-row: 1/3;
	grid-column: 2/3;
	background: rgba(255, 255, 255, 0.4);
	border-radius: 8px;
	aspect-ratio: 1/1;
	text-align: center;
	align-content: center;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-card-icon {
		grid-row: 1/2;
	}
}
@media print, screen and (min-width: 1024px) {/* PC */
	.value-card-icon {
		grid-row: 3/4;
	}
	.value-card-icon img {
		width: 85px;
	}
	.value-card-icon img.value-icon-02 {
		width: 88px;
	}
	.value-card-icon img.value-icon-03 {
		width: 83px;
	}
	.value-card-icon img.value-icon-04 {
		width: 98px;
	}
	.value-card-icon img.value-icon-05 {
		width: 95px;
	}
}
.value-card-text {
	grid-row: 3/4;
	grid-column: 1/3;
	font-size: calc((1.3rem / 1.6));
	line-height: calc((34/16));
	font-weight: 400;
	line-height: 2;
	margin-top: 18px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-card-text {
		font-size: calc((1.6rem / 1.6));
		margin-top: 0;
	}
}
@media print, screen and (min-width: 1024px) {/* PC */
	.value-card-text {
		grid-column: 1/2;
	}
}
.value-card-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 10px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.value-card-wrap {
		grid-template-columns: repeat(2, 1fr);
		gap: 40px 30px;
	}
}
@media print, screen and (min-width: 1024px) {/* PC */
	.value-card-wrap {
		gap: 40px;
	}
}

.policy {
	padding-bottom: 100px;
	margin-top: 60px;
	position: relative;
	overflow: hidden;
}
@media print, screen and (min-width: 768px) {/* PC */
	.policy {
		margin-top: 40px;
		padding: 40px 35px 200px;
	}
}
.policy::before {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(#f2f9fd 0%, #d4d5db 36.02%, #fff 100%);
	opacity: 0.5;
	z-index: -1;
}
.policy-head {
	display: grid;
	color: #FFFFFF;
}
.policy-head-text {
	grid-row: 1/2;
	grid-column: 1/2;
	z-index: 1;
	padding: 40px 30px 30px 30px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
@media print, screen and (min-width: 768px) {/* PC */
	.policy-head-text {
		font-size: calc((2rem / 1.6));
		padding: 0 60px 60px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		align-items: end;
		position: relative;
	}
}
@media print, screen and (min-width: 768px) {/* PC */
	.policy-head-text .section-title {
		position: absolute;
		top: 30%;
		left: 60px;
		translate: 0 -50%;
	}
}
@media print, screen and (min-width: 1024px) {/* PC */
	.policy-head-text .section-title {
		top: 50%;
	}
}
.policy-head-text .section-title .text-en {
	font-size: calc((3rem / 1.6));
}
@media print, screen and (min-width: 768px) {
	.policy-head-text .section-title .text-en {/* PC */
		font-size: clamp(calc(3.2rem / 1.6), 6vw, calc((7.4rem / 1.6)));
	}
}
.policy-head-text > p {
	font-size: calc((1.3rem / 1.6));
	line-height: 2;
}
@media print, screen and (min-width: 768px) {/* PC */
	.policy-head-text > p {
		font-size: calc((2rem / 1.6));
		grid-column: 2/3;
	}
}
.policy-head-bg {
	grid-row: 1/2;
	grid-column: 1/2;
	z-index: 0;
}
.policy-head-bg img {
	-o-object-fit: cover;
		 object-fit: cover;
	height: 310px;
	border-radius: 0 0 0 60px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.policy-head-bg img {
		height: 480px;
		border-radius: 8px 8px 8px 60px;
	}
}
.policy-card {
	border-radius: 8px 60px 8px 8px;
	background-color: #FFFFFF;
	padding: 20px 15px 30px;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	gap: 10px;
}
@media print, screen and (min-width: 1024px) {/* PC */
	.policy-card {
		border-radius: 8px 90px 8px 8px;
		padding: 15px 40px 30px 20px;
		grid-template-columns: minmax(auto, 150px) 1fr;
		align-items: center;
		grid-row: span 1;
	}
}
.policy-card-textarea {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: 1/3;
	grid-column: 1/2;
}
@media print, screen and (min-width: 1024px) {/* PC */
	.policy-card-textarea {
		display: flex;
		flex-direction: column;
		justify-content: center;
		grid-row: 1/2;
		grid-column: 2/3;
		gap: 16px;
	}
}
.policy-card-num {
	grid-row: 1/2;
	grid-column: 1/2;
	font-size: calc((1.5rem / 1.6));
	font-weight: 400;
	color: #FF1100;
}
@media print, screen and (min-width: 768px) {/* PC */
	.policy-card-num {
		font-size: calc((1.8rem / 1.6));
	}
}
@media print, screen and (min-width: 1024px) {/* PC */
	.policy-card-num {
		grid-column: 2/3;
	}
}
.policy-card-icon {
	grid-row: 1/2;
	grid-column: 1/2;
	text-align: center;
	scale: 1.35;
}
@media print, screen and (min-width: 1024px) {/* PC */
	.policy-card-icon {
		grid-row: 1/2;
		grid-column: 1/2;
		scale: 1;
	}
}
.policy-card-icon img {
	max-width: 100px;
}
@media print, screen and (min-width: 768px) {/* PC */
	.policy-card-icon img {
		max-width: 150px;
	}
}
.policy-card-text {
	grid-row: 2/3;
	grid-column: 1/2;
	font-family: var(--min);
	font-size: calc((1.5rem / 1.6));
	font-weight: 500;
	text-align: center;
	position: relative;
	z-index: 1;
}
@media print, screen and (min-width: 768px) {/* PC */
	.policy-card-text {
		font-size: calc((2.2rem / 1.6));
		line-height: calc((36/22));
	}
}
@media print, screen and (min-width: 1024px) {/* PC */
	.policy-card-text {
		grid-column: 2/3;
		text-align: left;
	}
}
.policy-card-text br.hidden-sp {
	display: none;
}
@media print, screen and (min-width: 1024px) {/* PC */
	.policy-card-text br.hidden-sp {
		display: block;
	}
}
@media print, screen and (min-width: 1024px) {/* PC */
	.policy-card-text br.hidden-pc {
		display: none;
	}
}
.policy-card-wrap {
	padding: 0 20px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin-top: 40px;
	max-width: 1010px;
	margin-inline: auto;
}
@media print, screen and (min-width: 1024px) {/* PC */
	.policy-card-wrap {
		gap: 40px;
	}
}
.policy-btn {
	display: block;
	max-width: 498px;
	margin-inline: auto;
	font-size: calc((1.4rem / 1.6));
	font-weight: 400;
	color: #FFFFFF;
	text-align: center;
	padding: 16px 50px;
	border-radius: 67px;
	background-color: #393939;
	margin-top: 30px;
	position: relative;
}
@media print, screen and (min-width: 768px) {/* PC */
	.policy-btn {
		font-size: calc((1.6rem / 1.6));
		margin-top: 50px;
		max-width: -moz-fit-content;
		max-width: fit-content;
		padding: 24px 58px;
	}
}
.policy-btn::before {
	position: absolute;
	top: 50%;
	right: 27px;
	translate: 0 -50%;
	content: "";
	aspect-ratio: 1/1;
	width: 8px;
	background-color: currentColor;
	-webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
					clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.policy-btn span {
	display: inline-block;
}
.policy-btn-wrap {
	padding: 0 20px;
}

@media (hover: hover) {
	.policy-btn {
	transition: .3s;
	border: 1px solid var(--black);
	}
	.policy-btn:hover {
	color: var(--black);
	background: #fff;
	}
}/* @media */