@charset "UTF-8";

.main-banner {
	width: 100%;
	position: relative;
	z-index: 1;
	/* &::after {
		content: "";
		position: absolute;
		left: 24rem;
		top: 50rem;
		width: 68.9rem;
		height: 20rem;
		background: url("../img/index/banner-text.png") no-repeat center / 100% auto;
		z-index: 999;
		@media screen and (max-width: 767px) {
			left: 2rem;
			top: 12rem;
			width: 24.9rem;
			height: 6rem;
		}
	} */
	.main-banner-text {
		position: absolute;
		left: 15rem;
		top: 68rem;
		width: 68.9rem;
		/* height: 20rem; */
		/* background: url("../img/index/banner-text.png") no-repeat center / 100% auto; */
		z-index: 999;
		@media screen and (max-width: 767px) {
			left: 3.4rem;
			top: 30.4rem;
			width: 32.3rem;
			/* height: 6rem; */
		}
	}

	.swiper-container {
		.swiper-wrapper {
			.swiper-slide {
				height: 106.6rem;
				overflow: hidden;
				@media screen and (max-width: 767px) {
					height: auto;
				}
				& img {
					object-fit: cover;
					object-position: bottom center;
					@media screen and (max-width: 767px) {
						width: 100%;
					}
				}
			}
		}
	}
}

#section1 {
	padding-top: 16.7rem;
	clip-path: ellipse(117% 100% at bottom);
	margin-top: -8rem;
	z-index: 15;
	position: relative;
	background: #fff;

	@media screen and (max-width: 767px) {
		padding-top: 5rem;
		clip-path: ellipse(242% 100% at bottom);
		margin-top: -5rem;
	}

	.display-section1 {
		display: flex;
		justify-content: space-between;
		margin-bottom: 13rem;

		@media screen and (max-width: 767px) {
			flex-direction: column;
			margin-bottom: 7rem;
			gap: 3rem;
		}
	}

	.text-container-section1 {
		max-width: 59rem;

		& h3 {
			font-style: normal;
			font-weight: 500;
			font-size: 4.4rem;
			line-height: 6.8rem;
			letter-spacing: 0.08em;
			padding-bottom: 3rem;

			@media screen and (max-width: 767px) {
				font-size: 2.4rem;
				line-height: 3.8rem;
				padding-bottom: 1rem;
			}

			& span {
				color: #267bca;
			}
		}

		& p {
			font-family: "Noto Sans JP", sans-serif;
			font-style: normal;
			font-weight: 500;
			font-size: 2.2rem;
			line-height: 5rem;
			letter-spacing: 0.1em;
			color: #000000;
			padding-bottom: 6.7rem;

			@media screen and (max-width: 767px) {
				font-size: 1.4rem;
				line-height: 1.6;
				padding-bottom: 2rem;
			}
		}
	}

	.section1-img-container {
		width: 73.3rem;

		@media screen and (max-width: 767px) {
			width: 100%;
			margin-top: 2rem;
		}
	}
}

#news {
	.news-container {
		background-color: #f0f6fa;
		border-radius: 3rem;
		padding: 7rem 12rem;
		margin-bottom: 10rem;

		@media screen and (max-width: 767px) {
			margin-bottom: 7rem;
			padding: 4rem 1.5rem;
		}

		.title-btn-container {
			display: flex;
			justify-content: space-between;
			align-items: center;
			flex: 1;

			@media screen and (max-width: 767px) {
				flex-direction: column;
				align-items: flex-start;
				gap: 2rem;
			}
		}
		.common-btn-blue {
			flex: none;
			margin-top: 1.8rem;
		}

		.post-list {
			margin-top: 2rem;

			@media screen and (max-width: 767px) {
				margin-top: 2rem;
			}

			& li {
				& a {
					width: 100%;
					padding: 2.8rem 0;
					border-bottom: 0.1rem dashed #acacac;

					@media screen and (max-width: 767px) {
						padding: 2rem 0;
					}

					.first-row {
						display: flex;
						align-items: center;
						gap: 0.8rem;

						.list-date {
							font-family: "Roboto";
							font-weight: 500;
							font-size: 1.6rem;
							line-height: 1;
							letter-spacing: 0.05em;
							color: #267bca;

							@media screen and (max-width: 767px) {
								font-size: 1.4rem;
							}
						}

						.list-category {
							display: flex;
							gap: 0.8rem;
							align-items: center;

							& span {
								height: 2.2rem;
								border-radius: 1.1rem;
								padding: 0 1rem;
								font-family: "Noto Sans JP", sans-serif;
								font-weight: 700;
								font-size: 1.4rem;
								line-height: 2.2rem;
								letter-spacing: 0.05em;
								color: #ffffff;

								@media screen and (max-width: 767px) {
									font-size: 1.2rem;
								}
							}

							& span.briefing {
								background-color: #77b750;
							}

							& span.is {
								background-color: #267bca;
							}

							& span.volunteer {
								background-color: #db5f5f;
							}

							& span.thanks {
								background-color: #f88634;
							}
						}
					}

					.list-title {
						padding-top: 1.5rem;
						font-family: "Noto Sans JP", sans-serif;
						font-weight: 500;
						font-size: 1.8rem;
						line-height: 1.5;
						letter-spacing: 0.08em;

						@media screen and (max-width: 767px) {
							padding-top: 1rem;
							font-size: 1.6rem;
						}
					}
				}
			}
		}
	}
}

.titles-container {
	width: 100%;
}

.common-title-en {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 700;
	font-size: 2.6rem;
	letter-spacing: 0.08em;
	color: #267bca;
	padding-bottom: 1.2rem;

	@media screen and (max-width: 767px) {
		font-size: 1.8rem;
		padding-bottom: 0.6rem;
		text-align: center;
	}
}

.common-title-jp {
	font-style: normal;
	font-weight: 500;
	font-size: 4.4rem;
	letter-spacing: 0.08em;
	color: #000000;

	@media screen and (max-width: 767px) {
		font-size: 3rem;
		line-height: 3.6rem;
		text-align: center;
	}
}

.solution-main-txt {
	font-family: "Noto Sans JP", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size: 1.8rem;
	line-height: 3rem;
	letter-spacing: 0.08em;
	color: #000000;
	margin-top: 6rem;
	margin-bottom: 6rem;

	@media screen and (max-width: 767px) {
		font-size: 1.6rem;
		line-height: 2.8rem;
		margin-top: 4rem;
		margin-bottom: 6rem;
	}
}

.solution-flex-box {
	display: flex;
	justify-content: space-between;
	margin-bottom: 7rem;

	@media screen and (max-width: 767px) {
		flex-direction: column;
		gap: 2rem;
		margin-bottom: 6rem;
	}
}

.solution-flex-txt-container {
	max-width: 50rem;
}

.design-title-container {
	padding-top: 4.6rem;
	display: flex;
	margin-bottom: 4rem;
	align-items: center;

	@media screen and (max-width: 767px) {
		margin-bottom: 2rem;
		padding-top: 0;
	}

	.left-txt {
		width: 5.8rem;
		height: 5.8rem;
		border-radius: 50%;
		font-style: normal;
		font-weight: 500;
		font-size: 2.8rem;
		text-align: center;
		letter-spacing: 0.08em;
		color: #ffffff;
		margin-right: 0.4rem;
		display: flex;
		justify-content: center;
		align-items: center;

		@media screen and (max-width: 767px) {
			width: 4rem;
			height: 4rem;
			font-size: 2.1rem;
		}
	}

	.purple {
		background-color: #ff8c6b;
	}

	.green {
		background-color: #ffe066;
	}

	.gold {
		background-color: #66d9e8;
	}

	.x-span {
		margin-left: 2.2rem;
		margin-right: 2.2rem;
		font-style: normal;
		font-weight: 900;
		font-size: 2.6rem;
		letter-spacing: 0.08em;
		color: #767676;

		@media screen and (max-width: 767px) {
			font-size: 1.8rem;
			margin-left: 0.6rem;
			margin-right: 1rem;
		}
	}

	.right-txt {
		width: 5.8rem;
		height: 5.8rem;
		background-color: #2f80ed;
		font-style: normal;
		font-weight: 500;
		font-size: 2.8rem;
		text-align: center;
		letter-spacing: 0.08em;
		color: #ffffff;
		margin-right: 0.4rem;
		display: flex;
		justify-content: center;
		align-items: center;

		@media screen and (max-width: 767px) {
			width: 4rem;
			height: 4rem;
			font-size: 2.1rem;
		}
	}
}

.solution-box-main-text {
	font-family: "Noto Sans JP", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size: 1.8rem;
	line-height: 3rem;
	letter-spacing: 0.08em;
	color: #000000;
	margin-bottom: 5rem;

	@media screen and (max-width: 767px) {
		font-size: 1.6rem;
		line-height: 2.8rem;
		margin-bottom: 2rem;
	}
}

.solution-flex-img-container {
	width: 63.4rem;

	@media screen and (max-width: 767px) {
		width: 100%;
		margin-bottom: 2rem;
	}
}

#job {
	padding-top: 3rem;
	@media screen and (max-width: 767px) {
		padding-top: 2rem;
	}
}

.job-flex-container {
	display: flex;
	justify-content: space-between;
	margin-top: 5.1rem;
	margin-bottom: 10rem;

	@media screen and (max-width: 767px) {
		flex-direction: column;
		gap: 5rem;
		margin-bottom: 7rem;
	}
}

.job-box {
	position: relative;
	max-width: 37rem;
}

.job-img-container {
	width: 100%;
}

.job-btn {
	position: absolute;
	width: 30.7rem;
	padding-top: 5.6rem;
	display: flex;
	gap: 1rem;
	/* height: 19.2rem; */
	background-color: #fff;
	bottom: -10rem;
	align-items: center;
	/* border-radius: 11rem; */
	clip-path: ellipse(47% 49%);
	padding-bottom: 11.4rem;
	justify-content: center;
	left: 3rem;
	transition: ease 0.25s all;

	@media screen and (max-width: 767px) {
		width: 85%;
		padding-top: 3rem;
		padding-bottom: 3rem;
		bottom: -4.2rem;
		left: -0.5rem;
		right: 0;
		margin: 0 auto;
		clip-path: ellipse(48% 50%);
	}

	& span {
		font-family: "Noto Sans JP", sans-serif;
		color: #000000;
		font-size: 2.2rem;
		font-weight: 500;
		@media screen and (max-width: 767px) {
			font-size: 2rem;
		}
	}
	& img {
		@media screen and (max-width: 767px) {
			width: 1.8rem;
		}
	}
}

@media screen and (min-width: 767.01px) {
	.job-box:hover {
		.job-btn {
			bottom: -6rem;
		}
	}
}

#staff {
	.staff-slider {
		overflow: hidden;
	}
	.staff-slider .slick-slide {
		margin-right: 5rem;
	}

	.staff-slider .slick-list {
		margin-right: -5rem;
	}
	.common-title-jp {
		font-size: 3.6rem;
	}
	.staff-container {
		padding-top: 6rem;
		border: #267bca 0.4rem solid;
		border-radius: 3rem;
		padding: 7rem 17rem;
		margin-bottom: 10rem;
		position: relative;

		@media screen and (max-width: 767px) {
			padding-top: 4rem;
			border-radius: 2rem;
			padding: 4rem 1.5rem;
			margin-bottom: 7rem;
		}

		.staff-title-container {
			display: flex;
			justify-content: space-between;
			margin-bottom: 5rem;
			flex-direction: column;
			align-items: center;

			@media screen and (max-width: 767px) {
				margin-bottom: 3rem;
			}
		}

		.post-list {
			margin-top: 6rem;
			/* display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 7rem 4.5rem; */

			@media screen and (max-width: 767px) {
				margin-top: 4rem;
				/* grid-template-columns: 1fr;
				gap: 4rem; */
			}

			.staff-card {
				.staff-card__link {
					.staff-card__thumb {
						& img {
							aspect-ratio: 1;
							object-fit: cover;
							object-position: top center;
							border-radius: 0 0 2.5rem 2.5rem;
							overflow: hidden;
						}
					}

					.staff-card__body {
						.staff-card__job {
							margin-top: 2.4rem;
							font-family: "Noto Sans JP", sans-serif;
							font-weight: 700;
							font-size: 1.8rem;
							line-height: 1;
							letter-spacing: 0.08em;
							color: #267bca;
							font-feature-settings: "palt" on;
							@media screen and (max-width: 767px) {
								margin-top: 2rem;
								font-size: 1.6rem;
							}
						}

						.staff-card__name {
							margin-top: 0.8rem;
							font-family: "Noto Sans JP", sans-serif;
							font-weight: 700;
							font-size: 1.8rem;
							line-height: 1;
							letter-spacing: 0.08em;

							@media screen and (max-width: 767px) {
								font-size: 1.6rem;
							}
						}

						.staff-card__desc {
							margin-top: 1.8rem;
							font-family: "Noto Sans JP", sans-serif;
							font-weight: 400;
							font-size: 1.8rem;
							line-height: 1.5;
							letter-spacing: 0.08em;
							display: -webkit-box;
							-webkit-line-clamp: 2;
							-webkit-box-orient: vertical;
							overflow: hidden;

							@media screen and (max-width: 767px) {
								margin-top: 1.2rem;
								font-size: 1.6rem;
							}
						}

						.staff-card__tags {
							margin-top: 2rem;
							display: flex;
							flex-wrap: wrap;
							gap: 0.8rem;

							@media screen and (max-width: 767px) {
								margin-top: 1rem;
							}

							.staff-card__tag {
								font-family: "Noto Sans JP", sans-serif;
								font-weight: 500;
								font-size: 1.4rem;
								letter-spacing: 0.05em;
								color: #fff;
								height: 3rem;
								border-radius: 1.5rem;
								background: #57a8f3;
								padding: 0 1.2rem;
								display: flex;
								justify-content: center;
								align-items: center;

								@media screen and (max-width: 767px) {
									font-size: 1.2rem;
									height: 2.4rem;
									border-radius: 1.2rem;
									padding: 0 1rem;
								}
							}
						}
					}
				}
			}
		}

		.common-btn-blue {
			margin: 4rem auto 0;
		}
	}
	.staff-prev {
		position: absolute;
		width: 8.3rem;
		left: 3.7rem;
		top: 34.5rem;
		z-index: 99;
		@media screen and (max-width: 767px) {
			width: 4.3rem;
			left: -1.5rem;
			top: 32rem;
		}
	}
	.staff-next {
		position: absolute;
		width: 8.3rem;
		right: 3.7rem;
		top: 34.5rem;
		z-index: 99;
		@media screen and (max-width: 767px) {
			width: 4.3rem;
			right: -1.5rem;
			top: 32rem;
		}
	}
}

#cross-talk {
	padding-bottom: 10rem;

	.three-persons {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 68rem;
		z-index: 1;
	}
	.common-title-jp {
		font-size: 3.6rem;
	}

	.banner-container {
		width: 100%;
		height: 29.7rem;
		background-size: 100%;
		padding-top: 5rem;
		padding-left: 12.7rem;
		border-radius: 16.3rem;
		background: #d3eaff66;
		position: relative;

		@media screen and (max-width: 767px) {
			border-radius: 2rem;
			width: 100%;
			height: auto;
			padding: 3.8rem 1.5rem 22rem;
		}
	}

	.banner-container::before {
		content: "";
		background: url(../img/index/cross-talk-banner-bk.png) no-repeat;
		background-size: 100%;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
	}

	@media screen and (max-width: 767px) {
		.banner-container::before {
			background: url(../img/index/cross-talk-banner-bk-sp.png) no-repeat center / cover;
			width: 100%;
			border-radius: 2rem;
		}
	}

	.banner-title-flex-container {
		display: flex;
		gap: 3rem;
		padding-bottom: 0.8rem;
		align-items: center;

		@media screen and (max-width: 767px) {
			flex-direction: column-reverse;
			gap: 0.5rem;
			align-items: center;
			margin-top: 2rem;
		}

		.common-title-en {
			padding-bottom: 0;
		}
	}

	& p {
		font-family: "Noto Sans JP", sans-serif;
		font-style: normal;
		font-weight: 400;
		font-size: 1.8rem;
		line-height: 3rem;
		letter-spacing: 0.08em;
		color: #000000;
		padding-bottom: 2.4rem;

		@media screen and (max-width: 767px) {
			font-size: 1.6rem;
			text-align: center;
			padding: 2rem 0;
		}
	}

	.common-btn-blue {
		@media screen and (max-width: 767px) {
			margin: 0 auto;
		}
	}
}

#movie {
	.video-flex-container {
		margin-top: 6rem;
		display: flex;
		justify-content: space-between;

		@media screen and (max-width: 767px) {
			flex-direction: column;
			gap: 4rem;
			margin-top: 4rem;
		}
	}

	.video-card {
		& h3 {
			font-style: normal;
			font-weight: 500;
			font-size: 2rem;
			letter-spacing: 0.08em;
			color: #ffffff;
			width: 43.7rem;
			/* height: 4.5rem; */
			background-color: #267bca;
			border-radius: 4.7rem;
			position: relative;
			margin-left: auto;
			margin-right: auto;
			display: flex;
			align-items: center;
			justify-content: center;
			z-index: 1;
			padding: 1rem 2rem;
			@media screen and (max-width: 767px) {
				width: 100%;
				/* height: 4rem; */
				font-size: 1.6rem;
			}
		}

		& h3::after {
			content: "";
			background: url(../img/index/video-bubble.svg) no-repeat;
			background-size: 100%;
			position: absolute;
			bottom: -1.5rem;
			left: 0;
			right: 0;
			width: 2.6rem;
			height: 2.6rem;
			z-index: 1;
			margin: 0 auto;
			@media screen and (max-width: 767px) {
				width: 1.6rem;
				height: 2rem;
			}
		}

		.video-container {
			width: 57.2rem;
			border-radius: 3rem;
			margin-top: 1.5rem;
			margin-bottom: 2.2rem;
			/* height: 36.5rem; */
			@media screen and (max-width: 767px) {
				width: 100%;
				margin-top: 2rem;
				margin-bottom: 2rem;
			}
			& iframe,
			& video {
				width: 100%;
				/* height: 36.5rem; */
				border-radius: 3rem;
			}
		}

		& p {
			font-family: "Noto Sans JP", sans-serif;
			font-style: normal;
			font-weight: 700;
			font-size: 2rem;
			text-align: center;
			letter-spacing: 0.08em;
			color: #267bca;

			@media screen and (max-width: 767px) {
				font-size: 1.8rem;
				line-height: 1.5;
			}
		}
	}
}

#data {
	margin: 10rem 0;

	@media screen and (max-width: 767px) {
		margin: 7rem 0;
	}

	.data-container {
		border-radius: 3rem;
		border: 0.5rem solid #267bca;
		background-color: #f0f6fa;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 3.6rem;
		padding: 0 4.6rem;
		position: relative;
		overflow: hidden;
		z-index: -1;
		@media screen and (max-width: 767px) {
			border-radius: 2rem;
			flex-direction: column;
			gap: 2rem;
			padding: 4rem 1.5rem;
			&::after {
				content: "";
				position: absolute;
				background-color: #fff;
				width: 46rem;
				height: 46rem;
				border-radius: 46rem;
				top: -6.9rem;
				left: 50%;
				transform: translateX(-50%);
				z-index: 0;
			}
		}

		& img {
			width: 26rem;
			/* flex-shrink: 0; */
			flex: 1;
			position: relative;
			z-index: 2;

			@media screen and (max-width: 767px) {
				width: 100%;
				margin: 0 auto;
				display: block;
			}
		}

		.text-container {
			padding: 3.3rem 3rem 2.4rem;
			background: url("../img/index/data-bg.png") no-repeat center / contain;
			/* border-radius: 4rem / 50%; */
			width: 51.1rem;
			position: relative;
			z-index: 2;

			@media screen and (max-width: 767px) {
				background: none;
				padding: 0;
				border-radius: 0;
				order: -1;
				width: 100%;
			}

			.common-title-en {
				text-align: center;
				font-family: "Poppins", sans-serif;
				font-style: normal;
				font-weight: 700;
				font-size: 2.2rem;
				line-height: 1;
				text-align: center;
				letter-spacing: 0.08em;
				text-transform: capitalize;
				color: #267bca;
				margin-bottom: 0.8rem;
				padding-bottom: 0;
			}

			.common-title-jp {
				font-family: "Zen Kaku Gothic New", sans-serif;
				white-space: nowrap;
				font-weight: 500;
				font-size: 3rem;
				line-height: 1;
				text-align: center;
				letter-spacing: 0.08em;
				margin-bottom: 1.6rem;
				@media screen and (max-width: 767px) {
					margin-bottom: 1rem;
					font-size: 2rem;
				}
			}

			.desc {
				font-family: "Noto Sans JP", sans-serif;
				font-weight: 400;
				font-size: 1.6rem;
				line-height: 1.75;
				text-align: center;
				letter-spacing: 0.08em;
				margin-bottom: 2.2rem;
				@media screen and (max-width: 767px) {
					margin-bottom: 1rem;
					font-size: 1.4rem;
					line-height: 1.5;
					text-align: left;
				}
			}

			.data-btn {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 0.6rem;
				max-width: 10.1rem;
				margin: 0 auto;
				& span {
					font-family: "Noto Sans JP", sans-serif;
					font-style: normal;
					font-weight: 700;
					font-size: 1.4rem;
					line-height: 1;
					letter-spacing: 0.05em;
					color: #267bca;
					text-decoration: underline;
				}
				& img {
					height: 0.66rem;
				}
			}
		}
	}
}

#corporation {
	.corporation-flex-container {
		display: flex;
		gap: 4.3rem;
		margin-top: 5rem;
		flex-wrap: wrap;
		justify-content: center;
		margin-bottom: 10rem;

		@media screen and (max-width: 767px) {
			gap: 6rem;
			margin-bottom: 7rem;
		}
	}

	.corporation-card {
		max-width: 37.1rem;
		position: relative;

		@media screen and (max-width: 767px) {
			max-width: 100%;
		}
	}

	.corporation-img-container {
		width: 37.1rem;
		border-radius: 2rem;
		background-color: grey;
		height: 25rem;

		@media screen and (max-width: 767px) {
			width: 100%;
			height: auto;
		}
	}

	.corpo-card-tag {
		position: absolute;
		bottom: 0;
		left: 0;
		padding: 1.6rem 2rem;
		background-color: #267bca;
		color: #ffffff;
		border-radius: 0 2.6rem 0 0;
		font-size: 2rem;
		font-weight: bold;

		@media screen and (max-width: 767px) {
			padding: 1.2rem 1.6rem;
			border-radius: 0 1.6rem 0 0;
			font-size: 1.6rem;
		}
	}
}

#insta {
	.insta-main-title {
		font-style: normal;
		font-weight: 500;
		font-size: 3.4rem;
		line-height: 4.4rem;
		letter-spacing: 0.08em;
		color: #ffffff;
		width: 90rem;
		height: 8.2rem;
		margin: 0 auto;
		background-color: #267bca;
		border-radius: 7.2rem;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 2;
		position: relative;

		@media screen and (max-width: 767px) {
			width: 100%;
			font-size: 1.7rem;
			height: 4.8rem;
		}
	}

	.insta-container {
		background-color: #f0f6fa;
		border-radius: 3rem;
		padding: 10.4rem 12.7rem 7rem;
		margin: -6rem 0 17rem;

		@media screen and (max-width: 767px) {
			border-radius: 2rem;
			padding: 6.4rem 2rem 4rem;
			margin: -3rem 0 14rem;
		}
	}

	.insta-main-title-img-container {
		width: 32rem;
		padding-bottom: 1.2rem;
		margin: 0 auto;

		@media screen and (max-width: 767px) {
			width: 100%;
			padding-bottom: 2rem;
		}
	}

	.insta-container p {
		font-family: "Noto Sans JP", sans-serif;
		font-style: normal;
		font-weight: 400;
		font-size: 1.8rem;
		text-align: center;
		letter-spacing: 0.08em;
		color: #000000;
		padding-bottom: 4rem;

		@media screen and (max-width: 767px) {
			line-height: 2.7rem;
		}
	}

	.insta-plugin-container {
		margin-bottom: 3.6rem;
	}

	.insta-button-flex-container {
		display: flex;
		gap: 3.2rem;
		justify-content: center;

		@media screen and (max-width: 767px) {
			flex-direction: column;
			gap: 2rem;
		}

		.insta-btn {
			width: 29.6rem;
			height: 7rem;
			border-radius: 4.5rem;
			padding-left: 6.2rem;
			box-sizing: border-box;
			display: flex;
			align-items: center;
			justify-content: center;
			position: relative;
			@media screen and (max-width: 767px) {
				height: 5rem;
				padding-left: 5rem;
			}
		}

		.img-container {
			width: 7rem;
			position: absolute;
			left: 0;

			@media screen and (max-width: 767px) {
				width: 5rem;
			}
		}

		.img-container2 {
			/* margin-right: 4.8rem; */
		}

		.insta-btn-txt {
			font-family: "Noto Sans JP", sans-serif;
			font-style: normal;
			font-weight: 700;
			font-size: 1.6rem;
			letter-spacing: 0.05em;
			color: #ffffff;
		}

		.blue {
			background-color: #004483;
		}

		.red {
			background-color: #db3f42;
		}
	}
}

.blue-bk {
	margin-top: -6rem;
	background-color: #f0f6fa;
	border-radius: 7rem 7rem 0 0;
	padding-top: 10rem;
	padding-bottom: 20rem;

	@media screen and (max-width: 767px) {
		border-radius: 3rem 3rem 0 0;
		padding-top: 6rem;
		padding-bottom: 10rem;
	}
}

#facility {
	display: flex;
	justify-content: space-between;
	padding-bottom: 7rem;
	border-bottom: #9db5cd 0.2rem solid;

	@media screen and (max-width: 767px) {
		flex-direction: column;
		gap: 2rem;
		padding-bottom: 4rem;
	}

	.text-container-facility {
		max-width: 38rem;

		& p {
			font-family: "Noto Sans JP", sans-serif;
			font-style: normal;
			font-weight: 400;
			font-size: 1.8rem;
			line-height: 2.6rem;
			letter-spacing: 0.08em;
			color: #000000;
			padding-top: 4.7rem;
			padding-bottom: 10rem;

			@media screen and (max-width: 767px) {
				font-size: 1.6rem;
				line-height: 2.4rem;
				padding-top: 2.5rem;
				padding-bottom: 2rem;
			}
		}
	}

	.facility-img-container {
		width: 72.8rem;

		@media screen and (max-width: 767px) {
			margin-bottom: 2rem;
			width: 100%;
		}
	}
}

#corporate {
	padding-top: 7rem;
	padding-bottom: 5.7rem;
	border-bottom: #9db5cd 0.2rem solid;

	@media screen and (max-width: 767px) {
		padding-bottom: 4rem;
		padding-top: 4rem;
	}

	.corporate-flex-container {
		display: flex;
		justify-content: space-between;
		margin-top: 3.3rem;
		align-items: center;
		font-family: "Noto Sans JP", sans-serif;

		@media screen and (max-width: 767px) {
			margin-top: 2rem;
			align-items: flex-start;
			flex-direction: column;
			gap: 2rem;
		}

		& p {
			font-family: "Noto Sans JP", sans-serif;
			font-style: normal;
			font-weight: 400;
			font-size: 1.8rem;
			line-height: 2.6rem;
			letter-spacing: 0.08em;
			color: #000000;

			@media screen and (max-width: 767px) {
				font-size: 1.6rem;
				line-height: 2.4rem;
			}
		}
	}
}
