@charset "UTF-8";

.page-banner {
	&:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		width: 100rem;
		height: 60rem;
		background: url("../../img/page/business/banner-img.png") no-repeat center left / contain;
		@media screen and (max-width: 767px) {
			width: 35.7rem;
			height: 21.4rem;
			top: unset;
			transform: unset;
			bottom: 0;
		}
	}
}

#anchors {
	padding-top: 12rem;
	padding-bottom: 16rem;
	width: 100%;
	@media screen and (max-width: 767px) {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
	.flex-links {
		display: flex;
		gap: 3.2rem;
		@media screen and (max-width: 767px) {
			gap: 1rem;
			flex-wrap: wrap;
		}
		.link-container {
			@media screen and (max-width: 767px) {
				width: 48%;
			}
			.link {
				display: flex;
				gap: 1.6rem;
				align-items: center;
				padding: 0 4rem 0 3.2rem;
				box-sizing: border-box;
				height: 6rem;
				border-radius: 10rem;
				border: 0.15rem solid #e60012;
				transition: all 0.3s ease-in;
				@media screen and (max-width: 767px) {
					gap: 1rem;
					padding: 0 3rem 0 2.2rem;
					width: 100%;
					height: 4.8rem;
				}
				& span {
					font-family: var(--zen);
					font-style: normal;
					font-weight: 500;
					font-size: 1.8rem;
					line-height: 100%;
					letter-spacing: 0.1em;
					color: #000000;
					@media screen and (max-width: 767px) {
						font-size: 1.4rem;
					}
				}
				.arrow-down {
					width: 1.6rem;
					@media screen and (max-width: 767px) {
						width: 0.8rem;
					}
					& img {
						width: 100%;
						vertical-align: middle;
					}
				}
				&:hover {
					background: radial-gradient(33.96% 100% at 14.34% 0%, #ffc2c7 0%, #e00012 100%) #ffffff;
					& span {
						color: #fff;
					}
					.arrow-down {
						& img {
							filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(268deg) brightness(101%) contrast(103%);
						}
					}
				}
			}
		}
	}
}

#focus {
	padding-bottom: 20rem;
	@media screen and (max-width: 767px) {
		padding-bottom: 6rem;
	}
	.description {
		font-family: var(--zen);
		font-style: normal;
		font-weight: 400;
		font-size: 1.8rem;
		line-height: 180%;
		letter-spacing: 0.1em;
		color: #000000;
		margin-bottom: 6.4rem;
		@media screen and (max-width: 767px) {
			font-size: 1.4rem;
			line-height: 160%;
			margin-bottom: 2rem;
		}
	}

	.content-flex-container {
		display: flex;
		flex-direction: column;
		gap: 4.8rem;
		@media screen and (max-width: 767px) {
			gap: 2rem;
		}
		.content-flex {
			display: flex;
			gap: 11rem;
			@media screen and (max-width: 767px) {
				gap: 1rem;
				flex-direction: column;
			}
			.text-cont {
				flex: 1;
				width: 64.8rem;
				@media screen and (max-width: 767px) {
					display: contents;
				}
				.header-flex {
					display: flex;
					align-items: baseline;
					gap: 0.8rem;
					margin-bottom: 3.2rem;
					@media screen and (max-width: 767px) {
						order: 1;
						margin-bottom: 1rem;
						align-items: baseline;
					}
					.num {
						font-family: var(--overpass);
						font-style: normal;
						font-weight: 900;
						font-size: 3rem;
						line-height: 150%;
						color: #e60012;
						@media screen and (max-width: 767px) {
							font-size: 2rem;
							line-height: 1;
						}
					}
					.title {
						font-family: var(--zen);
						font-style: normal;
						font-weight: 500;
						font-size: 2.6rem;
						line-height: 150%;
						letter-spacing: 0.08em;
						color: #000000;
						@media screen and (max-width: 767px) {
							font-size: 1.8rem;
						}
					}
				}
				& p {
					font-family: var(--zen);
					font-style: normal;
					font-weight: 400;
					font-size: 1.8rem;
					line-height: 180%;
					letter-spacing: 0.1em;
					color: #000000;
					@media screen and (max-width: 767px) {
						order: 3;
						font-size: 1.4rem;
						line-height: 160%;
					}
				}
			}
			.img-cont {
				width: 60rem;
				flex: 1;
				@media screen and (max-width: 767px) {
					width: 100%;
					order: 2;
				}
				& img {
					width: 100%;
					vertical-align: middle;
				}
			}
		}
	}
}

#events {
	padding-bottom: 20rem;
	@media screen and (max-width: 767px) {
		padding-bottom: 6rem;
	}
	.gray-box {
		background-color: #f3f5f6;
		width: 100%;
		border-radius: 5rem;
		padding: 16rem;
		box-sizing: border-box;
		@media screen and (max-width: 767px) {
			padding: 4rem 2rem;
			border-radius: 2rem;
		}
		.flex-boxes {
			display: flex;
			flex-direction: column;
			gap: 3.2rem;
			@media screen and (max-width: 767px) {
				gap: 2rem;
			}
			.white-box {
				border-radius: 2rem;
				background-color: #fff;
				padding: 4rem;
				box-sizing: border-box;
				width: 100%;
				@media screen and (max-width: 767px) {
					padding: 2rem;
				}
				.flex-content {
					display: flex;
					gap: 2.4rem;
					@media screen and (max-width: 767px) {
						flex-direction: column;
						align-items: center;
						gap: 1rem;
					}
					.img-container {
						width: 20rem;
						@media screen and (max-width: 767px) {
							width: 16rem;
						}
						& img {
							width: 100%;
							vertical-align: middle;
						}
					}
					.text-container {
						width: 100%;
						flex: 1;
						.line1 {
							display: flex;
							align-items: baseline;
							gap: 1.6rem;
							font-family: var(--overpass);
							font-style: normal;
							font-weight: 400;
							font-size: 2rem;
							line-height: 150%;
							text-transform: uppercase;
							color: #e60012;
							margin-bottom: 0.8rem;
							@media screen and (max-width: 767px) {
								gap: 1rem;
								flex-direction: column;
								font-size: 1.8rem;
							}
							& span {
								font-family: var(--zen);
								font-style: normal;
								font-weight: 700;
								font-size: 3rem;
								line-height: 150%;
								letter-spacing: 0.08em;
								color: #e60012;
								@media screen and (max-width: 767px) {
									font-size: 1.8rem;
								}
							}
						}
						.line2 {
							margin-bottom: 0.8rem;
							font-family: var(--zen);
							font-style: normal;
							font-weight: 700;
							font-size: 2rem;
							line-height: 180%;
							letter-spacing: 0.1em;
							color: #000000;
							@media screen and (max-width: 767px) {
								font-size: 1.6rem;
								line-height: 160%;
							}
						}
						& p {
							font-family: var(--zen);
							font-style: normal;
							font-weight: 400;
							font-size: 1.8rem;
							line-height: 180%;
							letter-spacing: 0.1em;
							color: #000000;
							@media screen and (max-width: 767px) {
								font-size: 1.4rem;
								line-height: 160%;
							}
						}
					}
				}
			}
		}
	}
}

#bottom-banner {
	width: 100%;
	height: 102.1rem;
	background: url("../../img/page/business/bottom-banner-bg.png") no-repeat center / 100% 100%;
	padding-top: 23.6rem;
	margin-bottom: 20rem;
	@media screen and (max-width: 767px) {
		height: auto;
		padding: 6rem 2rem;
		background: radial-gradient(128.55% 331.8% at 0% -115.3%, rgba(255, 177, 183, 0.8) 0%, rgba(230, 0, 18, 0.8) 100%);
		margin-bottom: 6rem;
	}
	.center-contents {
		width: 100%;
		display: flex;
		justify-content: center;
		.white-card {
			width: 100%;
			max-width: 128.6rem;
			background-color: #ffffff;
			border-radius: 2rem;
			padding: 6.4rem;
			box-sizing: border-box;
			@media screen and (max-width: 767px) {
				padding: 4rem 2rem;
				flex-direction: column-reverse;
			}
			.text-container {
				width: 100%;
				@media screen and (max-width: 767px) {
					width: 100%;
				}
				.title {
					font-family: var(--zen);
					font-style: normal;
					font-weight: 700;
					font-size: 3rem;
					line-height: 150%;
					letter-spacing: 0.15em;
					color: #e60012;
					margin-bottom: 2.4rem;
					@media screen and (max-width: 767px) {
						font-size: 1.8rem;
						margin-bottom: 1rem;
					}
				}
				& p {
					font-family: var(--zen);
					font-style: normal;
					font-weight: 500;
					font-size: 2rem;
					line-height: 180%;
					letter-spacing: 0.07em;
					color: #000000;
					margin-bottom: 3.2rem;
					@media screen and (max-width: 767px) {
						font-size: 1.4rem;
						line-height: 1.6;
						margin-bottom: 1rem;
					}
				}
				.sign {
					font-family: var(--notos);
					font-style: normal;
					font-weight: 700;
					font-size: 1.8rem;
					line-height: 150%;
					letter-spacing: 0.05em;
					color: #000000;
					display: flex;
					align-items: center;
					@media screen and (max-width: 767px) {
						font-size: 1.4rem;
					}
					& span {
						font-family: var(--notos);
						font-style: normal;
						font-weight: 700;
						font-size: 2.4rem;
						line-height: 150%;
						letter-spacing: 0.05em;
						color: #000000;
						@media screen and (max-width: 767px) {
							font-size: 1.8rem;
						}
					}
				}
			}
		}
	}
}

#company {
	padding-bottom: 12.3rem;
	@media screen and (max-width: 767px) {
		padding-bottom: 6rem;
	}
	& table {
		width: 100%;
		& tr {
			border-bottom: #cccccc 1px solid;
			& th {
				width: 25rem;
				font-family: var(--zen);
				font-style: normal;
				font-weight: 700;
				font-size: 2rem;
				line-height: 3rem;
				letter-spacing: 0.1em;
				color: #e60012;
				text-align: left;
				vertical-align: top;
				padding-top: 3rem;
				padding-bottom: 3rem;
				@media screen and (max-width: 767px) {
					width: 13rem;
					font-size: 1.4rem;
					padding-top: 1.2rem;
					padding-bottom: 1.2rem;
					line-height: 1.5;
				}
			}
			& td {
				width: calc(100% - 13rem);
				font-family: var(--zen);
				font-style: normal;
				font-weight: 500;
				font-size: 1.8rem;
				line-height: 3rem;
				letter-spacing: 0.1em;
				color: #000000;
				padding-top: 3rem;
				padding-bottom: 3rem;
				@media screen and (max-width: 767px) {
					width: calc(100% - 18rem);
					font-size: 1.4rem;
					padding-top: 1.2rem;
					padding-bottom: 1.2rem;
					line-height: 1.5;
				}
				& a {
					transition: all 0.3s ease-in;
					text-decoration: underline;
					&:hover {
						opacity: .75;
						text-decoration: none;
					}
				}
			}
		}
	}
}

#access {
	padding-bottom: 20rem;
	@media screen and (max-width: 767px) {
		padding-bottom: 6rem;
	}
	.contents-flex {
		display: flex;
		gap: 11.4rem;
		@media screen and (max-width: 767px) {
			flex-direction: column;
			gap: 1rem;
		}
		& iframe {
			width: 60rem;
			height: 45.1rem;
			@media screen and (max-width: 767px) {
				width: 100%;
				height: 30rem;
			}
		}
		.address {
			font-family: var(--zen);
			font-style: normal;
			font-weight: 400;
			font-size: 1.8rem;
			line-height: 180%;
			letter-spacing: 0.1em;
			color: #000000;
			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
				line-height: 1.6;
			}
		}
	}
}
