.process-top-section {
	background-color: #fff;
	padding: 15px 20px;
	text-align: center;
	font-family: "Yu Gothic", "Meiryo", sans-serif;
}

.process-container {
	max-width: 1000px;
	margin: 0 auto;
}

.process-title {
	font-weight: 800;
	font-size: 5rem;
	margin-bottom: 80px;
	display: flex;
	justify-content: left;
	gap: 20px;
	background: linear-gradient(93deg, #10304a 5%, #2c7a6b 50%, #48b878 95%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
		color: transparent; 
	/* display: inline-block;  */
	/* background: linear-gradient(to right, #1a2e43 0%, #1a2e43 45%, #3a9466 55%, #3a9466 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent; */
}

.process-contract-label {
	font-weight: 700;
	font-size: 1.1rem;
	color: #1a2e43;
	margin-bottom: 15px;
	letter-spacing: 0.1em;
}

.process-contract-text {
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.8;
	color: #1a2e43;
	margin-bottom: 80px;
}


.process-contract-text-gradient {
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.8;
	background: linear-gradient(93deg, #10304a 5%, #2c7a6b 50%, #48b878 95%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
		color: transparent; 
	margin-bottom: 80px;
}

.process-contract-text span {
	color: #3a9466;
}

.process-contract-text small {
	font-size: 1.1rem;
	color: #3a9466;
	display: block;
	margin-top: 10px;
}

.process-intro {
	font-weight: 700;
	font-size: 2.2rem;
	color: #1a2e43;
	letter-spacing: 0.05em;
}

.process-mission-image {
	background-color: #fff;
	padding: 60px 20px 80px;
	text-align: center;
}

.process-mission-container {
	max-width: 100%;
	margin: 0 auto;
}

.process-mission-container img {
    width: 100%; 
    max-width: 1100px; 
    display: block;
    margin-left: auto;
    margin-right: auto;
    height: auto;
    border: none;
    box-shadow: none;
    border-radius: 0;
    /* padding: 50px 4px; */
}

.process-mission-section {
	background-image: linear-gradient(90deg, #12355a 0%, #3a9a63 100%);
	color: #ffffff;
	padding: 50px 20px;
}

.process-card {
	background-color: #fff;
	max-width: 1000px;
	margin: 40px auto;
	display: flex;
	align-items: center;
	gap: 60px;
	padding: 24px 32px;
	box-shadow: 0 4px 12px rgb(0 0 0 / 0.1);
	/* border-radius: 12px; */
	color: #0b1543;
}

.process-card-left {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 24px;
	min-width: 172px;
}

.process-card-step {
	font-weight: 700;
	font-size: 1.5rem;
	color: #3a9466;
	letter-spacing: 0.12em;
	white-space: nowrap;
	text-align: center;
}

.process-card-image img {
	width: 120px;
	height: auto;
	display: block;
}

.process-card-content {
	max-width: 900px;
}


.process-card-title {
	font-weight: 700;
	font-size: 1.6rem;
	margin: 0 0 12px 0;
}


.process-card-title span{
	font-weight: 700;
	font-size: 1rem;
	margin: 0 0 12px 0;
}


.process-card-desc {
	font-size: 1.3rem;
	line-height: 1.5;
	font-weight: bold;
	margin: 0 0 8px 0;
}

.process-card-desc span {
	color: #3a9466;
}


/* .process-card-desc.highlight-green {
	color: #3a9466;
} */

.process-text-section {
	padding: 60px;
}

.process-text {
	color: #fff;
	font-size: 2.0rem;
	text-align: center;
}

.process-header {
	max-width: 1200px;
	margin: 60px auto 40px;

	padding: 0 20px;
	text-align: left;

}


.process-main-title {
	font-size: 5rem;
	font-weight: 900;
	color: #1f3a54;
	margin: 0 0 12px 0;
	user-select: none;
}


.process-highlight {
	color: #2c944f;
}


.process-subtitle {
	font-size: 1rem;
	font-weight: 700;
	color: #1a202c;
	margin: 0 auto;

	max-width: 400px;
	text-align: center;
}

@media (max-width: 768px) {
    .process-title {
		font-size: 3rem;
	}

	.process-contract-text {
		font-size: 1.1rem;
	}

	.process-intro {
		font-size: 1.6rem;
	}

    /* process */
	.process-title {
		font-size: 3rem;
		margin-bottom: 32px;
	}

	.process-contract-text {
		font-size: 1.1rem;
		margin-bottom: 48px;
	}

	.process-intro {
		font-size: 1.4rem;
	}

	.process-intro span {
		font-size: 1rem;
	}

	.process-mission-image {
		padding: 40px 15px 60px;
	}

	.process-card {
		flex-direction: column;
		align-items: flex-start;
		padding: 20px;
	}

	.process-card-left {
		flex-direction: row;
		margin-bottom: 16px;
		min-width: auto;
	}

	.process-card-step {
		font-size: 1.3rem;
	}

	.process-card-image img {
		width: 50px;
	}
}


@media (max-width: 480px) {
    /* process */
	.process-title {
		font-size: 2.4rem;
		margin-bottom: 24px;
	}

	.process-contract-text {
		font-size: 1rem;
		margin-bottom: 40px;
	}

	.process-intro {
		font-size: 1.2rem;
	}

	.process-intro span {
		font-size: 0.9rem;
	}

	.process-mission-image {
		padding: 30px 10px 40px;
	}

	.process-card {
		padding: 16px 12px;
	}

	.process-card-step {
		font-size: 1.1rem;
	}

	.process-card-title {
		font-size: 1rem;
	}

	.process-card-desc {
		font-size: 0.9rem;
	}

	.process-card-image img {
		width: 45px;
	}	
}