@charset "UTF-8";
/* ===================================================================
CSS information
 file name  :  reuser_module.css
 style info :  中古太陽電池パネルリユース測定業務 追加スタイル
=================================================================== */
/* ---------------------
html
--------------------- */
html {
	margin-top: 0!important;

	@media screen and (max-width: 767px) {
		margin-top: 0!important;
	}
}

/* ---------------------
reuser_module
--------------------- */
.reuser_module {
	font-family: "Noto Sans JP", sans-serif;
	min-width: 1280px;

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

	.breadcrumb {display: none;}

	.bg_gradient {
		background: linear-gradient(90deg, rgba(0, 89, 185, 0.5) 0%, rgba(28, 163, 228, 0.5) 50%, rgba(38, 198, 204, 0.5) 100%);
		backdrop-filter: blur(10px);
	}

	.line-gradient {
		border: 1px solid;
		border-image: linear-gradient(to right, rgba(0, 89, 185, 1), rgba(28, 163, 228, 1), rgba(38, 198, 204, 1)) 1;
	}

	.pc-only {
		display: block;

		@media screen and (max-width: 767px) {
			display: none;
		}
	}

	.sp-only {
		display: none;

		@media screen and (max-width: 767px) {
			display: block;
		}
	}

	.inner {
		max-width: 1080px;
		width: 100%;
		margin: 0 auto;

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

	h2 {
		span {
			position: static;

			&::before {
				display: none;
			}
		}
	}

	h2.section-head {
		font-size: 64px;
		font-weight: 900;
		font-family: "Source Sans 3", serif;
		line-height: 1;
		letter-spacing: 0.05em;
		text-align: center;
		margin-bottom: 80px;
		background: linear-gradient(90deg, rgba(0, 89, 185, 1), rgba(28, 163, 228, 1), rgba(38, 198, 204, 1)); 
		-webkit-background-clip: text; 
		-webkit-text-fill-color: transparent; 

		@media screen and (max-width: 767px) {
			font-size: 40px;
			line-height: 1.2;
			margin-bottom: 30px;
		}

		span {
			font-size: 16px;
			font-weight: 800;
			font-family: "Noto Sans JP", sans-serif;
			letter-spacing: 0;
			background: #000;
			-webkit-background-clip: text; 
			-webkit-text-fill-color: transparent;

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

	p {
		a {
			text-decoration: underline;
			color: #000;

			&:hover {
				text-decoration: none;

				@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
					text-decoration: underline;
				}

				@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
					text-decoration: underline;
				}

				@media screen and (max-width: 767px) {
					text-decoration: underline;
				}
			}
		}
	}

	/* ---------------------
	MV
	--------------------- */
	.mv {
		width: 100%;
		height: 100vh;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 70px 20px 0;

		@media screen and (max-width: 767px) {
			padding-top: calc(60 / 375 * 100vw);
		}

		.bg_mv {
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100vh;
			background: url("../img/gx/reuser_module/bg_mv.jpg") center/cover no-repeat;
			z-index: -1;
		}

		h2{
			font-size: 50px;
			font-weight: 800;
			line-height: 1.6;
			color: #fff;
			text-align: center;
			margin: 0;

			@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
				font-size: 70px;
				margin-bottom: calc(100 / 1080 * 100vw);
			}

			@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
				font-size: 80px;
				margin-bottom: calc(160 / 1080 * 100vw);
			}

			@media screen and (max-width: 767px) {
				font-size: 30px;
				margin-bottom: calc(80 / 375 * 100vw);
			}

			span {
				font-size: 30px;
				font-weight: 800;
				line-height: 2.4;

				@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
					font-size: 40px;
				}

				@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
					font-size: 50px;
				}

				@media screen and (max-width: 767px) {
					font-size: 18px;
					line-height: 2.2;
				}

				&::before {
					display: none;
				}
			}
		}
	}

	/* ---------------------
	未来の為に “ONE FOR ALL”
	--------------------- */
	.one-for-all {
		width: 100%;
		min-height: 700px;
		text-align: center;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		padding: 80px 20px;

		h2{
			font-size: 64px;
			font-weight: 900;
			font-family: "Source Sans 3", sans-serif;
			line-height: 1.6;
			letter-spacing: 0.15em;
			margin: 0 auto 10px;

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

			span {
				font-size: 30px;
				font-weight: 800;
				font-family: "Noto Sans JP", sans-serif;
				letter-spacing: 0.1em;

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

				&::before {
					display: none;
				}
			}
		}

		p {
			font-size: 20px;
			font-weight: 800;
			line-height: 2.2;

			@media screen and (max-width: 767px) {
				font-size: 16px;
				text-align: left;
			}
		}
	}

	/* ---------------------
	RECYCLE FLOW 太陽光パネルのリサイクルフロー​
	--------------------- */
	.recycle-flow {
		background-color: #fff;
		padding: 120px 20px 140px;

		@media screen and (max-width: 767px) {
			padding: 80px 20px;
		}

		.img-box {
			margin: 0 auto;

			.title {
				font-size: 16px;
				font-weight: 800;
				margin-bottom: 10px;
			}

			&.pic01 {
				width: 840px;
				margin-bottom: 60px;
				text-align: center;

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

				img {
					margin-bottom: 5px;
				}
			}
	
			img {
				margin-bottom: 20px;
			}
	
			.caption {
				font-size: 11px;
				font-weight: 400;
			}
		}

		/* intro */
		.intro {
			margin-bottom: 130px;

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

			p {
				font-size: 26px;
				font-weight: 800;
				line-height: 2;
				text-align: center;

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

				&:last-of-type {
					margin-top: -10px;

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

				span {
					font-size: 36px;
					color: rgba(0, 69, 149, 1);

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

			.intro-picture {
				width: 100%;
				margin-top: 55px;
				display: flex;
				justify-content: space-between;
				text-align: center;
				gap: 40px;

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

				.img-box {
					padding: 30px 60px;
					margin: 0;

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

		.partnership-area {
			width: 100%;
			background: linear-gradient(to right, rgba(0, 89, 185, 0.1), rgba(28, 163, 228, 0.1), rgba(38, 198, 204, 0.1));
			padding: 30px;
			text-align: center;
			margin-bottom: 60px;

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

			h3 {
				font-size: 24px;
				font-weight: 800;
				line-height: 1.6;
				margin-bottom: 14px;
				letter-spacing: 0;

				@media screen and (max-width: 767px) {
					font-size: 18px;
					text-align: left;
					margin-bottom: 20px;
				}
			}

			.logo-company {
				margin: 0 auto 15px;
				width: 400px;

				@media screen and (max-width: 767px) {
					width: 100%;
					max-width: calc(550 / 750 * 100vw);
					margin-bottom: 10px;
				}
			}

			.link {
				font-size: 20px;
				font-weight: 800;
				line-height: 1.6;

				a {
					color: rgba(0, 69, 149, 1);
					text-decoration: underline;

					&:hover {
						text-decoration: none;

						@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
							text-decoration: underline;;
						}
			
						@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
							text-decoration: underline;
						}

						@media screen and (max-width: 767px) {
							text-decoration: underline;
						}
					}
				}
			}
		}

		.check-list {
			margin-bottom: 40px;

			li {
				font-size: 24px;
				font-weight: 800;
				line-height: 1.6;
				letter-spacing: 0.01em;
				margin-bottom: 25px;
				padding-left: 40px;
				position: relative;

				@media screen and (max-width: 767px) {
					font-size: 18px;
					padding-left: calc(35 / 375 * 100vw);
				}

				&:last-of-type {
					margin-bottom: 0;
				}

				&::before {
					position: absolute;
					top: 8px;
					left: 0;
					content: "";
					width: 29px;
					height: 25px;
					background: url("../img/gx/reuser_module/ico_recycle-check.svg") center/contain no-repeat;
				}

				@media screen and (max-width: 767px) {
					&::before {
						width: 25px;
						height: 20px;
						top: 6px;
					}
				}
			}
		}

		.disposal-site {
			width: 840px;
			padding: 40px;
			margin: 0 auto;
			display: flex;
			justify-content: space-between;

			@media screen and (max-width: 767px) {
				width: 100%;
				flex-direction: column;
				padding: 30px;
			}

			.txt-box {
				width: 300px;

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

				h3 {
					font-size: 16px;
					font-weight: 800;
					margin-bottom: 20px;
				}

				p {
					font-size: 13px;
					font-weight: 400;
					line-height: 1.6;
					margin-bottom: 10px;
				}

				ul {
					li {
						font-size: 13px;
						font-weight: 400;
						line-height: 1.6;
						padding-left: 1.4em;
						margin-bottom: 5px;
						position: relative;

						&:last-of-type {
							margin-bottom: 0;
						}

						&::before {
							position: absolute;
							top: 0;
							left: 2px;
							content: "・";
						}
					}
				}
			}

			.img-box {
				width: 440px;
				margin: 0;

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

				img {
					margin-top: 11px;
					margin-bottom: 4px;
				}

				.caption {
					text-align: right;
					width: 30em;
					margin-left: auto;

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

	/* ---------------------
	REUSE FLOW リユースフロー​
	--------------------- */
	.reuse-flow {
		background-color: #fff;
		padding: 130px 20px 140px;

		@media screen and (max-width: 767px) {
			padding: 80px 20px;
		}

		h2 {
			margin-bottom: 60px;
		}

		h3 {
			font-size: 30px;
			font-weight: 800;
			text-align: center;
			margin-bottom: 10px;

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

		p.intro {
			font-size: 20px;
			font-weight: 800;
			line-height: 1.8;
			text-align: center;
			margin-bottom: 30px;

			@media screen and (max-width: 767px) {
				font-size: 16px;
				text-align: left;
			}
		}

		.inspection-list {
			width: 1080px;
			margin: 0 auto 60px;
			border-style: solid;
			border-width: 1px 0;
			border-image: linear-gradient(to right, rgba(0, 89, 185, 1), rgba(28, 163, 228, 1), rgba(38, 198, 204, 1)) 1;

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

			.inspection-item {
				width: 100%;
				padding: 40px 0;
				display: flex;
				justify-content: space-between;
				position: relative;

				@media screen and (max-width: 767px) {
					flex-direction: column;
					padding: 30px 0 40px;
				}

				&:last-of-type {
					&::before, 
					&::after {
						display: none;
					}
				}

				&::before, 
				&::after {
					content: '';
					position: absolute;
					left: 0;
					bottom: 0;
					width: 100%;
				}

				&::after {
					height: 1px;
					background: linear-gradient(to right, rgba(0, 89, 185, 1), rgba(28, 163, 228, 1), rgba(38, 198, 204, 1));
				}

				&::before {
					z-index: 1;
					height: 3px;
					background-image: linear-gradient(to right, transparent, transparent 2px, #fff 2px, #fff 10px);
					background-size: 4px 4px;
				}

				.txt-box {
					width: 540px;
					display: flex;
					flex-direction: column;
					justify-content: center;

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

					h4 {
						font-size: 24px;
						font-weight: 800;
						color: rgba(0, 69, 149, 1);
						margin-bottom: 20px;

						@media screen and (max-width: 767px) {
							font-size: 20px;
							margin-bottom: 10px;
						}
					}

					p {
						font-size: 20px;
						font-weight: 800;
						line-height: 1.6;
						margin-bottom: 20px;
						letter-spacing: 0.01em;

						@media screen and (max-width: 767px) {
							font-size: 16px;
							margin-bottom: 10px;
						}

						&:last-of-type {
							margin-bottom: 0;

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

						&.link {
							font-size: 18px;

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

							a {
								color: rgba(0, 69, 149, 1);
								text-decoration: underline;

								&:hover {
									text-decoration: none;

									@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
										text-decoration: underline;
									}
					
									@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
										text-decoration: underline;
									}
					
									@media screen and (max-width: 767px) {
										text-decoration: underline;
									}
								}
							}
						}
					}
				}

				.img-box {
					width: 500px;
					border: rgba(221, 221, 221, 1) solid 1px;

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

				}
			}
		}

		.solar-panel {
			width: 100%;

			h3 {
				margin-bottom: 30px;

				@media screen and (max-width: 767px) {
					margin-bottom: 20px;
				}
			}
			
			.solar-panel-flow {
				.flow-item {
					width: 100%;
					padding: 30px 40px 40px;
					margin-bottom: 50px;
					text-align: center;
					position: relative;
					background: linear-gradient(90deg, rgba(0, 89, 185, 0.1) 0%, rgba(28, 163, 228, 0.1) 50%, rgba(38, 198, 204, 0.1) 100%);

					@media screen and (max-width: 767px) {
						padding: 20px 20px 30px;
						margin-bottom: 45px;
					}

					&:last-of-type {
						margin-bottom: 0;

						&::after {
							display: none;
						}
					}

					&::after {
						position: absolute;
						bottom: -35px;
						left: 50%;
						transform: translateX(-50%);
						content: "";
						width: 50px;
						height: 22px;
						aspect-ratio: 1/cos(30deg);
						clip-path: polygon(50% 100%,100% 0,0 0);
						background-color: rgba(229, 238, 248, 1);
					}

					h4 {
						font-size: 24px;
						font-weight: 800;
						line-height: 1.4;
						color: rgba(0, 69, 149, 1);
						margin-bottom: 10px;

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

						span {
							font-size: 24px;
							font-weight: 900;
							font-family: "Source Sans 3", sans-serif;
							margin-right: 0.2em;
						}
					}

					p {
						font-size: 20px;
						font-weight: 800;
						line-height: 1.6;

						@media screen and (max-width: 767px) {
							font-size: 16px;
							text-align: left;
						}
					}

					picture {
						margin: 20px auto 0;
						display: block;
						width: 855px;

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

					a {
						color: rgba(0, 69, 149, 1);
						text-decoration: underline;
	
						&:hover {
							text-decoration: none;
	
							@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
								text-decoration: underline;
							}
			
							@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
								text-decoration: underline;
							}
			
							@media screen and (max-width: 767px) {
								text-decoration: underline;
							}
						}
					}
				}

			}
		}
	}

	/* ---------------------
	RESULTS 実績
	--------------------- */
	.results {
		width: 100%;
		background-color: #fff;
		padding: 130px 0;
		position: relative;

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

		&::before {
			position: absolute;
			top: 0;
			left: 0;
			content: "";
			width: 100%;
			height: 100%;
			background: linear-gradient(90deg, rgba(0, 89, 185, 0.1) 0%, rgba(28, 163, 228, 0.1) 50%, rgba(38, 198, 204, 0.1) 100%);
		}

		.inner {
			position: relative;
			z-index: 1;

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

		.results-item {
			width: 100%;
			margin-bottom: 80px;
			text-align: center;

			&:last-of-type {
				margin-bottom: 0;
			}

			h3 {
				font-size: 24px;
				font-weight: 800;
				line-height: 1;
				text-align: center;
				color: rgba(255, 201, 36, 1);
				display: inline-flex;
				justify-content: center;
				align-items: center;
				background-color: rgba(0, 69, 149, 1);
				padding: 6px 34px;
				border-radius: 100vh;
				position: relative;
				margin-bottom: 20px;

				@media screen and (max-width: 767px) {
					font-size: 16px;
					padding: 4px 30px;
				}

				&::after {
					position: absolute;
					bottom: -11px;
					left: 50%;
					transform: translateX(-50%);
					content: "";
					width: 22px;
					height: 12px;
					aspect-ratio: 1/cos(30deg);
					clip-path: polygon(50% 100%,100% 0,0 0);
					background-color: rgba(0, 69, 149, 1);
				}

				span {
					font-size: 50px;
					font-weight: 900;
					font-family: "Source Sans 3", sans-serif;

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

			>p {
				font-size: 26px;
				font-weight: 800;
				line-height: 1.8;
				margin-bottom: 40px;

				@media screen and (max-width: 767px) {
					font-size: 20px;
					line-height: 1.7;
				}
			}

			.maker-logo {
				margin: 0 auto 40px;

				@media screen and (max-width: 767px) {
					width: calc(550 / 750 * 100vw);
				}
			}

			ul.maker-list {
				display: flex;
				flex-direction: column;
				gap: 10px;
				margin-bottom: 35px;

				li {
					font-size: 20px;
					font-weight: 800;
					line-height: 1.4;
					text-align: center;

					@media screen and (max-width: 767px) {
						font-size: 16px;
						text-align: left;
					}

					span {
						margin-right: 40px;
						position: relative;

						&::after {
							position: absolute;
							top: 0.7em;
							right: -35px;
							content: "";
							width: 30px;
							height: 1px;
							border-bottom: #000 dotted 1px;
						}
					}
				}
			}

			.supply-container {
				ul {
					margin-bottom: 10px;
					display: flex;
					justify-content: space-between;
					flex-wrap: wrap;
					gap: 40px;

					@media screen and (max-width: 767px) {
						gap: 15px;
					}

					li {
						width: 240px;

						@media screen and (max-width: 767px) {
							width: calc(160 / 375 * 100vw);
						}
					}
				}

				.note {
					font-size: 13px;
					font-weight: 400;
					line-height: 1.8;
				}
			}

			.measurement-container {
				ul {
					display: flex;
					justify-content: space-between;
					flex-wrap: wrap;
					margin-bottom: 25px;

					@media screen and (max-width: 767px) {
						gap: 20px;
					}

					li {
						width: 520px;

						.note {
							font-size: 15px;
							font-weight: 400;
							line-height: 1.8;
							margin-top: 10px;

							@media screen and (max-width: 767px) {
								font-size: 13px;
								margin-top: 5px;
							}
						}
					}
				}

				.description-text {
					width: 100%;
					padding: 30px 40px;
					background-color: #fff;
					text-align: left;

					@media screen and (max-width: 767px) {
						padding: 20px 30px;
					}

					p {
						font-size: 18px;
						font-weight: 400;
						line-height: 1.8;

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

	/* ---------------------
	FAQ よくある質問
	--------------------- */
	.faq {
		width: 100%;
		background-color: #fff;
		padding: 130px 0 110px;
		position: relative;

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

		.inner {
			@media screen and (max-width: 767px) {
				padding: 0 20px;
			}
		}

		.faq-list {
			width: 980px;
			margin: 0 auto;

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

			dl {
				dt {
					position: relative;
					padding-left: 55px;
					font-size: 24px;
					font-weight: 800;
					line-height: 1.6;
					letter-spacing: -0.01em;
					margin-bottom: 20px;

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

					span {
						position: absolute;
						top: 50%;
						left: 0;
						transform: translateY(-50%);
						text-indent: -9999px;
						content: "";
						width: 40px;
						height: 40px;
						background: url("../img/gx/reuser_module/ico_question.svg") center/contain no-repeat;
					}
				}

				dd {
					font-size: 18px;
					font-weight: 400;
					line-height: 1.6;
					padding-bottom: 24px;
					margin-bottom: 30px;
					border-bottom-style: solid;
					border-bottom-width: 1px;
					border-image: linear-gradient(to right, rgba(0, 89, 185, 1), rgba(28, 163, 228, 1), rgba(38, 198, 204, 1)) 1;

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

					&:last-of-type {
						margin-bottom: 0;
					}

					a {
						color: rgba(0, 69, 149, 1);
						text-decoration: underline;

						&:hover {
							text-decoration: none;

							@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
								text-decoration: underline;
							}
			
							@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
								text-decoration: underline;
							}
			
							@media screen and (max-width: 767px) {
								text-decoration: underline;
							}
						}
					}
				}
			}
		}
	}

	/* ---------------------
	お問合せ
	--------------------- */
	.footerContact {
		width: 100%;
		margin-bottom: 0;
		display: none;

		&.inquiry-area {
			display: block;
		}

		.contents {
			background: none;
			padding: 140px 0 160px;
			margin: 0 auto;
			width: 800px;

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

			h2 {
				border-color: #fff;
				font-size: 29px;
				padding-bottom: 48px;
				margin-bottom: 60px;

				@media screen and (max-width: 767px) {
					font-size: 22px;
					padding-bottom: 30px;
					margin-bottom: 10px;
				}

				span {
					display: none;
				}
			}

			div:first-of-type {
				width: 330px;

				@media screen and (max-width: 1081px) {
					margin: 0;
					background: none;
					padding: 0;
					float: left;
					color: #fff;
				}

				@media screen and (max-width: 767px) {
					width: 100%;
					padding: 10px;
					float: none;
					margin-bottom: 10px;
				}

				p:first-of-type {
					font-size: 22px;
					font-weight: 800;

					a {
						font-size: 40px;
						text-decoration: none;
						margin-left: -5px;
						letter-spacing: 0.01em;

						@media screen and (max-width: 1081px) {
							background: none;
							color: #fff;
						}

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

			.footerBtn {
				float: right;
				width: 430px;
				box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);

				@media screen and (max-width: 767px) {
					width: 100%;
					float: none;
				}
				
				a {
					background: rgba(0, 69, 149, 1);
					color: #fff;
					padding: 24px 0;
					font-size: 22px;

					&:hover {
						opacity: 0.7;

						@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
							opacity: 1;
						}
		
						@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
							opacity: 1;
						}
		
						@media screen and (max-width: 767px) {
							opacity: 1;
						}
					}

					span {
						position: relative;
						padding-left: 50px;

						&::after {
							position: absolute;
							top: 50%;
							left: 6px;
							transform: translateY(-50%);
							font: var(--fa-font-regular);
							font-size: 26px;
							transition: all .0s;
							content: "\f0e0";
						}
					}
				}
			}
		}
	}

}

.footerContact.inquiry-area.bg_gradient .contents{display: flex;align-items: center;flex-wrap: wrap;justify-content: space-between;}
.footerContact.inquiry-area.bg_gradient .contents h2{width: 100%;}
.footerContact.inquiry-area.bg_gradient .contents h2 + div p:first-of-type{padding-top: 0;margin-bottom: 8px;}
.footerContact.inquiry-area.bg_gradient .contents div:first-of-type p.openTime{line-height: 1em;}
.footerContact.inquiry-area.bg_gradient .contents .footerBtn a:hover{background-image: none;}


/* 20260313実績追加調整 */
.measurement-containe-text{
	text-align: left;
	margin-bottom: 40px;
	font-size: 18px;
	font-weight: 400;
    line-height: 1.8;
}
.measurement-containe-text p {
    margin-bottom: 15px;
}
.measurement-containe-text p:last-of-type {
    margin-bottom: 0;
}
.measurement-containe-text p a {
	color: rgba(0, 69, 149, 1);}

.grad-border {
    position: relative;
    padding-top: 60px; /* 線と文字の間の余白 */
}
.grad-border::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px; /* 線の太さ */
    
    /* 1. 線全体にグラデーションを塗る */
    background-image: linear-gradient(
        to right, 
        rgba(0, 89, 185, 1), 
        rgba(28, 163, 228, 1), 
        rgba(38, 198, 204, 1)
    );
    
    /* 2. マスク（点線化）の設定 */
    /* 4pxのうち、2pxだけ色を塗り、残り2pxを透明にする設定 */
    -webkit-mask-image: linear-gradient(to right, black 50%, transparent 50%);
    mask-image: linear-gradient(to right, black 50%, transparent 50%);
    
    /* 3. 点の間隔を調整（4pxごとにドットを繰り返す） */
    -webkit-mask-size: 4px 100%;
    mask-size: 4px 100%;
}