@charset "UTF-8";

#philosophy {
	position: relative;
	padding-top: 13rem;
	padding-bottom: 13rem;
	@media screen and (max-width: 767px) {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
	.philosophy-card {
		width: 130.8rem;
		margin: 0 auto;
		@media screen and (max-width:767px){
			width: calc(100% - 4rem);
		}
		& img {
			width: 100%;
			vertical-align: top;
		}
	}
	.inner {
		position: unset;
	}
	.text-cont {
		max-width: 73rem;
		.en-text {
			margin-bottom: 3.5rem;
			font-family: var(--monts);
			font-style: normal;
			font-weight: 700;
			font-size: 8.6rem;
			line-height: 107%;
			letter-spacing: 0.06em;
			font-feature-settings: "palt" on;
			color: #0d2d74;
			@media screen and (max-width: 767px) {
				font-size: 3.6rem;
				line-height: 1.2;
				margin-bottom: 2rem;
			}
		}
		& p {
			font-style: normal;
			font-weight: 400;
			font-size: 2.4rem;
			line-height: 192%;
			letter-spacing: 0.06em;
			font-feature-settings: "palt" on;
			color: #000000;
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
			}
		}
	}
	.img-cont {
		width: 77.8rem;
		position: absolute;
		right: 0;
		top: 13.3rem;
		@media screen and (max-width: 1080px) {
			width: 64rem;
		}
		@media screen and (max-width: 767px) {
			width: calc(100% + 2rem);
			position: relative;
			top: unset;
			right: unset;
			margin-bottom: 2rem;
		}
		& img {
			width: 100%;
			vertical-align: top;
		}
	}
}

#principles {
	width: 100%;
	background-color: #e2f3ff;
	padding-top: 11rem;
	padding-bottom: 11rem;
	@media screen and (max-width: 767px) {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
	.principle-list {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 2.6rem;
		@media screen and (max-width: 767px) {
			gap: 2rem;
		}
		& li {
			background-color: #fff;
			border-radius: 1.4rem;
			display: flex;
			align-items: center;
			gap: 1.6rem;
			width: 100%;
			height: 9.8rem;
			padding-left: 31.4rem;
			box-sizing: border-box;
			@media screen and (max-width: 767px) {
				padding-left: 2rem;
				padding-right: 2rem;
				gap: 1rem;
			}
			.num {
				font-family: var(--monts);
				font-style: normal;
				font-weight: 500;
				font-size: 3.6rem;
				line-height: 1;
				letter-spacing: 0.04em;
				text-transform: capitalize;
				color: #336ceb;
				white-space: nowrap;
				@media screen and (max-width: 767px) {
					font-size: 1.6rem;
				}
			}
			.text {
				font-style: normal;
				font-weight: 700;
				font-size: 3.2rem;
				line-height: 1;
				letter-spacing: 0.06em;
				font-feature-settings: "palt" on;
				color: #000000;
				@media screen and (max-width: 767px) {
					font-size: 1.6rem;
					line-height: 1.5;
				}
			}
		}
	}
}

#strengths {
	padding-top: 11rem;
	padding-bottom: 11rem;
	@media screen and (max-width: 767px) {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
	.strenths-list {
		display: flex;
		flex-direction: column;
		gap: 8.2rem;
		@media screen and (max-width: 767px) {
			gap: 4rem;
		}
		.contents-flex {
			display: flex;
			gap: 6.5rem;
			@media screen and (max-width: 767px) {
				gap: 2rem;
			}
			.text-box {
				width: 51.6rem;
				@media screen and (max-width: 767px) {
					width: 100%;
				}
				.num {
					font-family: var(--monts);
					font-style: normal;
					font-weight: 200;
					font-size: 12.1818rem;
					line-height: 1;
					letter-spacing: 0.04em;
					text-transform: capitalize;
					color: #fcba06;
					margin-bottom: 2.2rem;
					@media screen and (max-width: 767px) {
						font-size: 3rem;
						margin-bottom: 1rem;
					}
				}
				.strength-header {
					padding-left: 3.8rem;
					font-style: normal;
					font-weight: 700;
					font-size: 3.6rem;
					line-height: 1;
					letter-spacing: 0.06em;
					font-feature-settings: "palt" on;
					color: #0d2d74;
					padding-left: 3.8rem;
					position: relative;
					margin-bottom: 3.7rem;
					@media screen and (max-width: 767px) {
						margin-bottom: 1.2rem;
						font-size: 2.2rem;
						padding-left: 2.6rem;
					}
					&:after {
						content: "";
						position: absolute;
						left: 0;
						top: 0.5rem;
						width: 2.8rem;
						height: 2.8rem;
						background: url("../../img/page/company/strength-header.png") no-repeat center / 100% auto;
						@media screen and (max-width: 767px) {
							width: 1.8rem;
							height: 1.8rem;
							top: 0.3rem;
						}
					}
				}
			}
			.img-box {
				margin-top: 2rem;
				width: 62.2rem;
				flex: 1;
				@media screen and (max-width: 767px) {
					width: 100%;
					margin-bottom: 1rem;
				}
				& img {
					width: 100%;
					vertical-align: top;
				}
			}
		}
		.contents-flex:nth-child(2) {
			flex-direction: row-reverse;
		}
	}
	.description {
		font-style: normal;
		font-weight: 400;
		font-size: 1.8rem;
		line-height: 178%;
		letter-spacing: 0.06em;
		font-feature-settings: "palt" on;
		color: #000000;
		@media screen and (max-width: 767px) {
			font-size: 1.4rem;
			line-height: 162%;
		}
	}
}

#company-info {
	padding-top: 11rem;
	padding-bottom: 11rem;
	background-color: #e2f3ff;
	@media screen and (max-width: 767px) {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
	.company-info-table {
		width: 100%;
		& table {
			width: 100%;
			border: #cecece 1px solid;
			& tr {
				border-bottom: #cecece 1px solid;
				& th {
					font-style: normal;
					font-weight: 700;
					font-size: 2rem;
					line-height: 1;
					text-align: center;
					letter-spacing: 0.08em;
					color: #ffffff;
					background-color: #0d2d74;
					padding-top: 2rem;
					padding-bottom: 2rem;
					width: 27.1rem;
					@media screen and (max-width: 767px) {
						font-size: 1.4rem;
						padding-top: 1.2rem;
						padding-bottom: 1.2rem;
						width: 100%;
						display: block;
						text-align: left;
						padding-left: 2rem;
					}
				}
				& td {
					background-color: #fff;
					width: calc(100% - 27.1rem);
					padding-left: 4rem;
					box-sizing: border-box;
					font-style: normal;
					font-weight: 400;
					font-size: 1.6rem;
					line-height: 162%;
					letter-spacing: 0.08em;
					color: #000000;
					padding-top: 1.7rem;
					padding-bottom: 1.7rem;
					@media screen and (max-width: 767px) {
						width: 100%;
						font-size: 1.4rem;
						padding-top: 1.2rem;
						padding-bottom: 1.2rem;
						width: 100%;
						display: block;
						padding-left: 2rem;
						padding-right: 2rem;
					}
					& a {
						text-decoration: underline;
						&:hover {
							text-decoration: none;
						}
					}
				}
			}
		}
	}
}

#access {
	padding-bottom: 11rem;
	background-color: #e2f3ff;
	@media screen and (max-width: 767px) {
		padding-bottom: 6rem;
	}
	& iframe {
		width: 100%;
		height: 50rem;
		margin-bottom: 2.4rem;
		@media screen and (max-width: 767px) {
			height: 28rem;
			margin-bottom: 2rem;
		}
	}
	.address {
		font-style: normal;
		font-weight: 400;
		font-size: 1.8rem;
		line-height: 178%;
		letter-spacing: 0.06em;
		font-feature-settings: "palt" on;
		color: #000000;
		@media screen and (max-width: 767px) {
			font-size: 1.4rem;
			line-height: 162%;
		}
		& span {
			font-style: normal;
			font-weight: 700;
			font-size: 1.8rem;
			line-height: 178%;
			letter-spacing: 0.06em;
			font-feature-settings: "palt" on;
			color: #0d2d74;
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
				line-height: 162%;
			}
		}
	}
}

#message {
	padding-top: 11rem;
	padding-bottom: 11rem;
	@media screen and (max-width: 767px) {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
	.message-box {
		border: #fcba06 0.2rem solid;
		border-radius: 2rem;
		padding: 4rem 8.65rem;
		box-sizing: border-box;
		@media screen and (max-width: 767px) {
			padding: 3rem 2rem;
		}
		& p {
			font-style: normal;
			font-weight: 400;
			font-size: 2rem;
			line-height: 170%;
			letter-spacing: 0.06em;
			font-feature-settings: "palt" on;
			color: #000000;
			margin-bottom: 2rem;
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
				line-height: 162%;
				margin-bottom: 1.2rem;
			}
		}
		.sign {
			font-style: normal;
			font-weight: 500;
			font-size: 1.8rem;
			line-height: 178%;
			letter-spacing: 0.06em;
			font-feature-settings: "palt" on;
			color: #000000;
			text-align: right;
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
				line-height: 162%;
			}
		}
	}
}

#history {
	padding-top: 11rem;
	padding-bottom: 11rem;
	background-color: #e2f3ff;
	@media screen and (max-width: 767px) {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
	.history-table {
		width: 100%;
		& table {
			width: 100%;
			& tr {
				border-bottom: #cecece 1px solid;
				& th {
					padding-bottom: 3.6rem;
					font-style: normal;
					font-weight: 700;
					font-size: 2rem;
					line-height: 120%;
					letter-spacing: 0.1em;
					color: #0d2d74;
					text-align: left;
					padding-top: 3rem;
					width: 18.2rem;
					@media screen and (max-width: 767px) {
						font-size: 1.4rem;
						padding-top: 1.2rem;
						padding-bottom: 0;
						width: 100%;
						display: block;
						text-align: left;
					}
				}
				& td {
					padding-top: 3rem;
					padding-bottom: 3.6rem;
					font-style: normal;
					font-weight: 400;
					font-size: 1.8rem;
					line-height: 133%;
					letter-spacing: 0.1em;
					color: #000000;
					vertical-align: top;
					width: calc(100% - 18.2rem);
					@media screen and (max-width: 767px) {
						font-size: 1.4rem;
						padding-top: 1.2rem;
						padding-bottom: 1.2rem;
						width: 100%;
						display: block;
						text-align: left;
					}
				}
			}
		}
	}
}
