@charset "UTF-8";

.philosophy {
	margin-top: clamp(118.9px, 8.9vw, 170px);
	padding-top: clamp(75px, 7.8vw, 150px);
	padding-bottom: clamp(50px, 5.2vw, 100px);
	width: 100%;
	background-color: #f2f3fa;
}

.philosophyInner {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1920px;
	width: 100%;
	padding-left: clamp(16px, (15vw), 320px);
	padding-right: clamp(16px, (15vw), 320px);
}

@media (max-width: 767px) {
	.philosophyInner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

.philosophyBody {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}

.philosophyBodyTtl {
	text-align: center;
	font-size: clamp(3rem, (2.6vw), 5rem);
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.01em;
}

.philosophyBodyTxt {
	margin-top: clamp(48px, 4.2vw, 80px);
	font-size: clamp(1.44rem, (0.9vw), 1.8rem);
	font-weight: 500;
	line-height: 1.7777777778;
	letter-spacing: 0.01em;
    text-align: center;
}

.philosophyBodyCopy {
	margin-top: clamp(35px, 2.6vw, 50px);
	font-size: clamp(6.7rem, (13.3vw), 25.5rem);
	font-weight: 600;
	line-height: 1;
	font-family: "Jost";
	letter-spacing: 0.02em;
	text-align: center;
	color: white;
}

.greeting {
	margin-top: clamp(85px, 8.9vw, 170px);
	width: 100%;
	position: relative;
}

.greetingInner {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1920px;
	width: 100%;
	padding-left: clamp(16px, (16.7vw), 320px);
	padding-right: clamp(16px, (16.7vw), 320px);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row;
}

@media (max-width: 767px) {
	.greetingInner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

@media (max-width: 767px) {
	.greetingInner {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-direction: column;
	}
}

.greetingContainer {
	width: calc(50% - clamp(0px, 2.8vw, 54px));
}

@media (max-width: 767px) {
	.greetingContainer {
		display: contents;
	}
}

@media (max-width: 767px) {
	.greetingHead {
		order: 1;
		width: 100%;
	}
}

.greetingHeadTtl.-en {
	font-size: clamp(4.8rem, (4.2vw), 8rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	font-family: "Jost";
	color: #00009b;
}

.greetingHeadTtl.-ja {
	margin-top: clamp(7px, 0.5vw, 10px);
	font-size: clamp(1.44rem, (0.9vw), 1.8rem);
	font-weight: bold;
	line-height: 1.4444444444;
	letter-spacing: 0.01em;
}

.greetingContents {
	margin-top: clamp(33.5px, 3.5vw, 67px);
	width: 100%;
}

@media (max-width: 767px) {
	.greetingContents {
		order: 3;
	}
}

.greetingContentsTxt {
	width: 100%;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.6;
}

.greetingContentsName {
	margin-top: clamp(35px, 2.6vw, 50px);
	text-align: right;
	font-size: clamp(1.6rem, (0.9vw), 1.8rem);
	font-weight: 500;
	line-height: 1.4444444444;
}

.greetingImg {
	width: calc(50% - clamp(0px, 4.2vw, 80px));
	border-radius: clamp(10.5px, 0.8vw, 15px);
	aspect-ratio: 1/1;
	object-fit: cover;
}

@media (max-width: 767px) {
	.greetingImg {
		margin-top: clamp(33.5px, 3.5vw, 67px);
		order: 2;
		width: 100%;
		max-height: 350px;
		object-position: center 20%;
	}
}

.vision {
	margin-top: clamp(118.9px, 8.9vw, 170px);
	padding-top: clamp(75px, 7.8vw, 150px);
	padding-bottom: clamp(50px, 5.2vw, 100px);
	width: 100%;
	background-color: #f2f3fa;
}

.visionInner {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1920px;
	width: 100%;
	padding-left: clamp(16px, (16.7vw), 320px);
	padding-right: clamp(16px, (16.7vw), 320px);
}

@media (max-width: 767px) {
	.visionInner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

.visionHead {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}

.visionHeadTtl.-en {
	font-size: clamp(4.8rem, (4.2vw), 8rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	font-family: "Jost";
	color: #00009b;
	text-align: center;
}

.visionHeadTtl.-ja {
	margin-top: clamp(7px, 0.5vw, 10px);
	font-size: clamp(1.44rem, (0.9vw), 1.8rem);
	font-weight: bold;
	line-height: 1.4444444444;
	letter-spacing: 0.01em;
	text-align: center;
}

.visionHeadTtl.-second {
	margin-top: clamp(36.4px, 2.7vw, 52px);
	font-size: clamp(2.4rem, (2.1vw), 4rem);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.01em;
	text-align: center;
	max-width: clamp(570.4px, 37.1vw, 713px);
}

.visionPolicy {
	margin-top: clamp(50px, 5.2vw, 100px);
	width: 100%;
	background-color: white;
	padding: clamp(16px, 5.2vw, 100px);
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	row-gap: clamp(22.4px, 2.7vw, 40px);
}

.visionPolicyList {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-direction: column;
}

.visionPolicyTerm {
/*
	width: clamp(85px, 11.6vw, 222px);
	min-width: clamp(85px, 11.6vw, 222px);
*/
	width: 100%;
	text-align: center;
	font-size: clamp(1.5rem, (1.6vw), 3rem);
	font-weight: 500;
	line-height: 1.2;
	border-bottom: 1px solid #feeb05;
	padding-bottom: clamp(22.4px, 1.7vw, 32px);
	margin-bottom: clamp(22.4px, 1.7vw, 32px);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row;
}

.visionPolicyDesc {
/*
	padding-left: clamp(19.5px, 1.5vw, 28px);
	padding-right: clamp(19.5px, 1.5vw, 28px);
*/
	padding-bottom: clamp(22.4px, 1.7vw, 32px);
/*	width: calc(100% - clamp(7.7px, 0.6vw, 11px) - clamp(85px, 11.6vw, 222px));*/
	width: 100%;
	font-size: clamp(1.3rem, (2.2vw), 2.4rem);
	font-weight: 500;
	line-height: 1.7777777778;
	letter-spacing: 0.01em;
	text-align: center;
}

.visionPolicyRow {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: row;
	font-size: clamp(1.26rem, (1.2vw), 2.0rem);
	font-weight: 500;
	line-height: 1.7777777778;
	letter-spacing: 0.01em;
}

.visionPolicyRow::before {
	content: "一、";
}