@charset "UTF-8";
/*-----------------------------------
	mainvisual
-----------------------------------*/
#mainvisual {
	background-image: url(../img/company/mainvisual.jpg);
}
/*-----------------------------------
	philosophy_block
-----------------------------------*/
/*--1040px以下768pxまでvw--*/
#philosophy_block h2::before {
	content: "Company Philosophy";
}
#philosophy_block h3 {
	font: 600 min(3.5rem,3.36vw)/1 var(--fEN);
	color: var(--mClr3);
	margin-bottom: min(40px,3.84vw);
}
#philosophy_block h3 span {
	font: 400 min(2.1rem,2.02vw)/1 var(--fJA);
}
#philosophy_block .philosophy_inner {
	text-align: center;
}
#philosophy_block .philosophy_inner:not(:last-child) {
	margin-bottom: min(80px,7.69vw);
}
#philosophy_block h4 {
	background: var(--mClr2);
	color: var(--sClr2);
	text-box: var(--txtB);
	font: 700 min(2rem,1.92vw)/1 var(--fJA);
	padding: min(10px,0.96vw) min(20px,1.92vw);
	width: max-content;
	margin: 0 auto min(20px,1.92vw);
}
#philosophy_block .philosophy_inner:first-of-type h4 {
	background: var(--mClr1);
}
#philosophy_block .copy {
	font: 700 min(3.8rem,3.65vw)/1 var(--fJA);
	color: var(--mClr3);
	margin-bottom: min(20px,1.92vw);
}
#philosophy_block p {
	font: 500 min(2rem,1.92vw)/1.75 var(--fJA);
	color: var(--mClr3);
	white-space: pre-line;
}
@media screen and (max-width: 767px) {
	#philosophy_block h3 {
		font-size: max(4.56vw,1.8rem);
		margin-bottom: 4.56vw;
	}
	#philosophy_block h3 span {
		font-size: max(3.26vw,1.5rem);
	}
	#philosophy_block .philosophy_inner:not(:last-child) {
		margin-bottom: 11.73vw;
	}
	#philosophy_block h4 {
		font-size: max(3.26vw,1.5rem);
		padding: 1.3vw 2.6vw;
		margin: 0 auto 2.6vw;
	}
	#philosophy_block .copy {
		font-size: max(5.6vw,2.2rem);
		margin-bottom: 2.6vw;
	}
	#philosophy_block p {
		font-size:inherit;
		letter-spacing: -0.05em;
	}
}
/*-----------------------------------
	policy_block
-----------------------------------*/
#policy_block h2::before {
	content: "Company Policy";
}
#policy_block .policy_inner:not(:last-child) {
	margin-bottom: min(80px,7.69vw);
}
#policy_block .policy_inner > *:not(:last-child) {
	margin-bottom: min(20px,1.92vw) !important;
}
#policy_block h3 {
	font: 700 min(3.8rem,3.65vw)/1 var(--fJA);
	color: var(--mClr3);
	text-align: center;
}
#policy_block p {
	font: 500 min(20px,1.92vw)/1.75 var(--fJA);
	color: var(--mClr3);
	white-space: pre-line;
	text-align: center;
}
#policy_block .image02 {
	display: block;
	width: min(884px,85vw);
	margin: 0 auto;
}
#policy_block dl {
	display: flex;
	align-items: center;
	border: 2px solid var(--mClr1);
	padding: min(20px,1.92vw);
}
#policy_block dl dt {
	width: min(310px,29.81vw);
	font: 700 min(3.8rem,3.65vw)/1 var(--fJA);
	letter-spacing: 0.1em;
	color: var(--mClr3);
}
#policy_block dl dd {
	width: calc(100% - min(310px,29.81vw));
	font: 400 min(1.9rem,1.82vw)/1.68 var(--fJA);
	color: var(--mClr3);
	white-space: pre-line;
}
#policy_block dl dd span {
	font-size: min(2.3rem,2.21vw);
	font-weight: 500;
}
/*--1040px以下768pxまでvw--*/
@media screen and (max-width: 767px) {
	#policy_block .inner_wrap {
		width: 95vw !important;
	}
	#policy_block .policy_inner:not(:last-child) {
		margin-bottom: 10.43vw;
	}
	#policy_block .policy_inner > *:not(:last-child) {
		margin-bottom: 2.6vw !important;
	}
	#policy_block h3 {
		font-size: max(5.6vw,2.2rem);
	}
	#policy_block p {
		font-size:inherit;
		letter-spacing: -0.05em;
	}
	#policy_block dl {
		flex-direction: column;
		padding: 2.6vw 0;
		gap: 1.95vw;
	}
	#policy_block dl dt {
		width: 100%;
		font-size: max(5.47vw,2.1rem);
		text-align: center;
	}
	#policy_block dl dd {
		width: 100%;
		font-size: max(3.13vw,1.3rem);
		text-align: center;
		font-feature-settings: "palt";
	}
	#policy_block dl dd span {
		font-size: max(3.91vw,1.6rem);
	}
}
