@charset "UTF-8";

.page_title_top {
	&::after {
		background-image: url("../../img/page/dialogue/banner.jpg");
		border-radius: 0 0 0 10rem;
		overflow: hidden;
		@media screen and (max-width:767px){
		border-radius: 0 0 0 4rem;
		}
	}
}

#contents {
	padding: 16rem 0 0;

	@media screen and (max-width: 767px) {
		padding: 0;
	}

	#page-dialogue {
		.three-workers {
			background-color: #f0f6fa;
			padding: 3.5rem 0;
			display: grid;
			grid-template-columns: repeat(3, 1fr);

			@media screen and (max-width: 767px) {
				padding: 2rem 1.5rem;
				display: flex;
				flex-direction: column;
				align-items: center;
			}

			.worker-item {
				padding: 0 2rem;
				border-right: 0.2rem solid #9db5cd;
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 1rem;

				@media screen and (max-width: 767px) {
					width: 100%;
					border-right: none;
					border-bottom: 0.2rem solid #9db5cd;
					padding: 2rem 0;
					gap: 0.8rem;
				}

				& img {
					width: 13.4rem;

					@media screen and (max-width: 767px) {
						width: 8rem;
					}
				}

				.box {
					display: flex;
					align-items: center;
					justify-content: flex-start;
					gap: 0.7rem;

					@media screen and (max-width: 767px) {
						gap: 0.5rem;
					}

					.position {
						font-family: "Noto Sans JP";
						font-weight: 700;
						font-size: 1.6rem;
						line-height: 1.5;
						letter-spacing: 0.08em;
						color: #ffffff;
						padding: 0 0.5rem;
						background-color: #267bca;
						border-radius: 0.4rem;

						@media screen and (max-width: 767px) {
							font-size: 1.4rem;
							padding: 0 0.4rem;
							border-radius: 0.3rem;
						}
					}

					.name {
						font-family: "Noto Sans JP";
						font-weight: 700;
						font-size: 1.8rem;
						line-height: 1.5;
						letter-spacing: 0.08em;

						@media screen and (max-width: 767px) {
							font-size: 1.6rem;
						}
					}
				}

				.intro {
					font-family: "Noto Sans JP";
					font-weight: 400;
					font-size: 1.6rem;
					line-height: 1.5;
					text-align: center;
					letter-spacing: 0.08em;

					@media screen and (max-width: 767px) {
						font-size: 1.4rem;
					}
				}
			}

			.worker-item:last-child {
				border-right: none;

				@media screen and (max-width: 767px) {
					border-bottom: none;
				}
			}
		}

		.scene {
			margin: 9rem 0;

			@media screen and (max-width: 767px) {
				margin: 5rem 0;
			}

			.scene-img {
				@media screen and (max-width: 767px) {
					aspect-ratio: 2;
					object-fit: cover;
				}
			}

			.scene-title {
				margin: 4rem 0;
				font-family: "Noto Sans JP", sans-serif;
				font-weight: 700;
				font-size: 2.4rem;
				line-height: 1.5;
				letter-spacing: 0.08em;
				color: #267bca;

				@media screen and (max-width: 767px) {
					margin: 2rem 0;
					font-size: 1.8rem;
				}
			}
		}
		.question-text {
			margin: 4rem auto;
			font-family: "Noto Sans JP", sans-serif;
			font-style: normal;
			font-weight: 700;
			font-size: 2.4rem;
			line-height: 142%;
			text-align: center;
			letter-spacing: 0.08em;
			color: #000000;
			position: relative;
			display: table;
			@media screen and (max-width: 767px) {
				font-size: 1.8rem;
				line-height: 2.7rem;
				white-space: nowrap;
				margin: 2rem auto 6.3rem;
			}
			&::before {
				content: "";
				position: absolute;
				left: -6.2rem;
				bottom: 0;
				width: 5.61rem;
				height: 5.61rem;
				background: url("../../img/page/dialogue/bar-left.svg") no-repeat center / 100% auto;
				@media screen and (max-width: 767px) {
					display: none;
				}
			}
			&::after {
				content: "";
				position: absolute;
				right: -4.6rem;
				bottom: 0;
				width: 5.61rem;
				height: 5.61rem;
				background: url("../../img/page/dialogue/bar-right.svg") no-repeat center / 100% auto;
				@media screen and (max-width: 767px) {
					width: 100%;
					height: 1.28rem;
					left: 0;
					bottom: -2.6rem;
					background: url("../../img/page/dialogue/bar-bottom.svg") no-repeat center / contain;
				}
			}
		}

		.dialogues {
			display: grid;
			grid-template-columns: auto 1fr;
			gap: 3rem 4.4rem;
			align-items: center;

			@media screen and (max-width: 767px) {
				gap: 2rem;
			}

			.lefty {
				width: 8rem;

				@media screen and (max-width: 767px) {
					width: 6rem;
				}

				& img {
				}

				.name {
					margin-top: 0.7rem;
					font-family: "Noto Sans JP";
					font-weight: 700;
					font-size: 1.6rem;
					line-height: 1;
					text-align: center;
					letter-spacing: 0.08em;
					color: #267bca;

					@media screen and (max-width: 767px) {
						margin-top: 0.5rem;
						font-size: 1.4rem;
					}
				}
			}

			.righty {
				font-family: "Noto Sans JP";
				font-weight: 400;
				font-size: 1.6rem;
				line-height: 1.62;
				letter-spacing: 0.08em;

				@media screen and (max-width: 767px) {
					font-size: 1.4rem;
				}
			}
		}
	}

	.postscript {
		padding: 12rem 0 19rem;
		background-color: #f0f6fa;

		@media screen and (max-width: 767px) {
			padding: 8rem 0;
		}

		.postscript-box {
			border: 0.2rem solid #267bca;
			border-radius: 2rem;
			padding: 5rem 7.2rem;
			position: relative;
			max-width: 103.3rem;
			width: 100%;
			margin: 0 auto;
			@media screen and (max-width: 767px) {
				border-radius: 1rem;
				padding: 6rem 1.5rem 4rem;
			}

			.postscript-title {
				position: absolute;
				left: 4rem;
				top: 0;
				transform: translateY(-50%);
				background-color: #f0f6fa;
				padding: 0 3rem;
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 1.2rem;

				@media screen and (max-width: 767px) {
					flex-direction: column;
					left: 50%;
					transform: translateX(-50%) translateY(-50%);
					padding: 0 1.5rem;
					gap: 0.8rem;
				}

				.round-text {
					display: flex;
					justify-content: center;
					align-items: center;
					gap: 0.2rem;

					& span {
						background-color: #267bca;
						width: 3rem;
						height: 3rem;
						border-radius: 50%;
						display: flex;
						align-items: center;
						justify-content: center;
						font-family: "Zen Kaku Gothic New";
						font-weight: 700;
						font-size: 1.8rem;
						line-height: 1;
						letter-spacing: 0.08em;
						color: #ffffff;

						@media screen and (max-width: 767px) {
							width: 2.4rem;
							height: 2.4rem;
							font-size: 1.4rem;
						}
					}
				}

				& p {
					font-family: "Zen Kaku Gothic New";
					font-weight: 700;
					font-size: 2rem;
					line-height: 1;
					letter-spacing: 0.08em;
					color: #267bca;

					@media screen and (max-width: 767px) {
						white-space: nowrap;
						font-size: 1.8rem;
					}
				}
			}

			.postscript-text {
				font-family: "Noto Sans JP", sans-serif;
				font-weight: 400;
				font-size: 1.6rem;
				line-height: 1.5;
				letter-spacing: 0.08em;
				font-feature-settings: "palt" on;
				@media screen and (max-width: 767px) {
					font-size: 1.4rem;
				}
			}
		}
	}
}

.last-p {
	margin-top: 4rem;
	font-family: "Noto Sans JP", sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size: 2rem;
	line-height: 150%;
	letter-spacing: 0.08em;
	color: #267bca;
	padding-left: 1.5rem;
	position: relative;
	@media screen and (max-width: 767px) {
		margin-top: 2rem;
		font-size: 1.8rem;
	}
	&::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 0.5rem;
		height: 100%;
		border-radius: .2rem;
		background-color: #267bca;
	}
}
