.product-ttl {
	margin: 50px 0 10px;
	border-bottom: 1px solid var(--color-primary);
}
.product-ttl span {
	display: block;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 0 0.5em;
	margin-bottom: 0.3em;
	border-left: 3px solid var(--color-primary);
}
.product-date {
	text-align: right;
	font-size: 1.4rem;
}
.product-top-box {
	display: flex;
	align-items: center;
	gap: 50px;
	margin: 0 0 40px;
}
.product-top-box .img {
	width: 50%;
	border-radius: 10px;
	border: 1px solid var(--color-line-gray);
}
.product-top-box .img img {
	border-radius: 10px;
}
.product-top-box .txt {
	width: 50%;
}
.product-top-box .product-red-txt {
	font-size: 2.6rem;
	line-height: 1.2;
	color: var(--color-red);
	font-weight: 600;
	padding-bottom: 0.4em;
	border-bottom: 1px solid var(--color-red);
	text-indent: -1em;
	padding-left: 1em;
}
.product-top-box .product-note {
	font-size: 1.4rem;
	margin: 1em 0 2em;
	text-indent: -1em;
	padding-left: 1em;
}
.product-bottom-box {
	background: var(--color-light-blue);
	padding: 40px;
	font-size: 1.6rem;
	margin-bottom: 70px;
}
.product-bottom-box span {
	font-weight: 700;
}
.product-bottom-box p + p {
	margin-top: 1em;
}
.product-bottom-box a {
	color: var(--color-accent);
	text-decoration: underline;
	font-weight: 600;
}

@media (max-width: 768px) {
	.product-ttl {
		margin: 7vw 0 2vw;
	}
	.product-ttl span {
		font-size: 5vw;
	}
	.product-date {
		text-align: right;
		font-size: 3vw;
	}
	.product-top-box {
		display: flex;
		align-items: center;
		flex-direction: column;
		margin: 4vw 0 6vw;
		gap: 6vw 0;
	}
	.product-top-box .img {
		width: 100%;
	}
	.product-top-box .txt {
		width: 100%;
	}
	.product-top-box .product-red-txt {
		font-size: 5vw;
	}
	.product-top-box .product-note {
		font-size: 3.4vw;
	}
	.product-top-box .btn-page-cta-contact p {
		font-size: 4.26vw;
		border: 0.6vw solid var(--color-accent);
	}

	.product-bottom-box {
		padding: 6vw;
		font-size: 3.4vw;
		margin-bottom: 10vw;
	}
}
