@charset "utf-8";
.philosophy_hd {
		font-size: 28px;
		font-weight: 700;
		margin-bottom: 25px
}
.philosophy_sb {
		font-size: 18px;
		color: #005be4;
		font-weight: 700;
		line-height: 1.8;
		margin-bottom: 30px;
}
@media(max-width: 767px) {
		.philosophy_hd {
				font-size: 18px;
				margin-bottom: 20px;
		}
		.philosophy_sb {
				font-size: 14px;
				line-height: 1.8;
				margin-bottom: 30px;
		}
}
hr {
		height: 1px;
		background: #E2E8EE;
		border: none;
		margin: 45px 0;
}
.philosophy_flex {
		display: flex;
		justify-content: center;
		align-items: center;
}
.philosophy_logo_wrap {
		width: 375px;
		margin-right: 40px;
		background: #EFF4FF;
		aspect-ratio: 10 / 5.9;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 20px;
}
.philosophy_logo img {
		width: 100%;
		height: auto
}
.philosophy_caption {
		flex: 1;
}
.philosophy_caption p {
		line-height: 2.0;
		font-weight: 500;
}
.mission_wrap {
		background-color: #f5f8ff;
		margin-bottom: 30px;
		padding: 30px 0 30px 50px;
		overflow: hidden;
		border-radius: 10px;
		position: relative;
}
@media(max-width: 960px) {
		.mission_wrap {
				padding: 30px 40px;
		}
}
.mission_wrap::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 8px;
		height: 100%;
		background: #C9E0FD;
		pointer-events: none
}
.mission_flex {
		display: flex;
}
.mission_item {
		margin-right: 70px;
}
.mission_item h4 {
		display: flex;
		margin: 0 0 25px;
		font-size: 18px;
		font-weight: 700;
		color: #fff;
}
.mission_item h4 span {
		background-color: #005BE4;
		border-radius: 12px;
		padding: 12px 18px
}
@media(max-width: 960px) {
		.mission_item h4 span {
				border-radius: 10px;
				padding: 10px 13px;
		}
}
@media(max-width: 767px) {
		.mission_wrap {
				padding: 30px;
		}
		.mission_item h4 {
				margin: 0 0 15px;
				font-size: 13px;
		}
		.mission_item h4 span {
				border-radius: 8px;
				padding: 8px 16px
		}
}
.mission_item ol {
		padding-left: 1.5em;
		font-weight: 500;
}
.mission_item li {
		line-height: 1.6;
		margin-bottom: 15px;
}
.data_grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px 20px;
}
.data_item {
		background-color: #eff4ff;
		border-radius: 20px;
		height: 216px;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
}
.data_sb_wrap {
		display: flex;
		justify-content: center;
		margin-bottom: 15px;
}
.data_sb {
		font-size: 16px;
		font-weight: 700;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #fff;
		padding: 0 18px;
		height: 44px;
		border-radius: 10px;
}
.data_count {
		font-size: 98px;
		font-family: "Roboto Condensed";
		letter-spacing: -1px;
		font-weight: 800;
		color: #005BE4;
		transform: scaleX(0.95)
}
.data_count .unit {
		font-size: 40%;
		font-weight: 700;
		font-family: 'Noto Sans JP', sans-serif;
		margin-left: 8px;
		color: #1f2a66;
		transform: scaleX(1)
}
@media(max-width: 1500px) {
		.philosophy_logo_wrap {
				width: 40%;
				margin-right: 30px;
		}
}
@media(max-width: 1200px) {
		.data_item {
				height: 18vw;
		}
		.data_count {
				font-size: 6.6vw;
		}
		.mission_flex {
				display: block;
		}
		.mission_flex .mission_item:nth-child(1) {
				margin: 0 0 40px;
		}
}
@media(max-width: 960px) {
		.data_item {
				height: 130px;
				border-radius: 10px;
		}
		.data_sb_wrap {
				margin-bottom: 10px;
		}
		.data_sb {
				font-size: 11px;
				padding: 0 10px;
				height: 20px;
				border-radius: 6px;
		}
		.philosophy_flex {
				display: block
		}
		.philosophy_logo_wrap {
				width: 100%;
				margin: 0 0 30px;
				background: #EFF4FF;
				aspect-ratio: 10 / 2.4;
				border-radius: 16px;
		}
		.philosophy_sb {
				margin: 0 0 20px;
		}
		.data_grid {
				gap: 10px 10px;
		}
		.data_count {
				font-size: 52px;
		}
}
@media(max-width: 600px) {
		.data_item {
				height: 110px;
		}
		.data_grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 10px;
		}
		.data_sb_wrap {
				margin-bottom: 15px;
		}
		.data_sb {
				font-size: 12px;
		}
		.data_count {
				font-size: 46px;
		}
		.data_count .unit {
				font-size: 15px;
		}
}