@charset "utf-8";

/* Price revision notice only. Existing theme styles remain unchanged. */
#price .price-renewal-notice {
	box-sizing: border-box;
	margin: 0 auto 5.2rem;
	padding: 4.2rem 5.2rem 4rem;
	color: #333;
	border: 0.1rem solid #b9d8ec;
	border-radius: 2rem;
	background: #f7fbfe;
	box-shadow: 0 1.2rem 2.8rem rgba(12, 65, 154, 0.12);
}

#price .price-renewal-notice__body {
	min-width: 0;
}

#price .price-renewal-notice__body h3 {
	display: flex;
	gap: 1.2rem;
	align-items: center;
	margin: 0;
	color: #0c419a;
	font-family: "Zen Maru Gothic", serif;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.02em;
}

#price .price-renewal-notice__body h3 .price-renewal-notice__mark {
	display: inline-grid;
	flex: 0 0 3.8rem;
	width: 3.8rem;
	height: 3.8rem;
	place-items: center;
	box-sizing: border-box;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	font-style: normal;
	line-height: 1;
	border-radius: 50%;
	background: linear-gradient(180deg, #367ce8 0%, #0960dd 100%);
	box-shadow: 0 0.4rem 0.8rem rgba(9, 96, 221, 0.18);
}

#price .price-renewal-notice__description {
	margin-top: 1.8rem;
	padding-left: 5rem;
	color: #2c2c2c;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1.75;
}

#price .price-renewal-notice__description p + p {
	margin-top: 0.5rem;
}

#price .price-renewal-notice__description p:nth-child(n + 2) {
	color: #202020;
}

#price .price-renewal-notice__pdf {
	display: flex;
	gap: 1.6rem;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 60rem;
	min-height: 6.8rem;
	margin: 2.8rem auto 0;
	padding: 1.2rem 5.4rem 1.2rem 2.4rem;
	position: relative;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
	text-decoration: none;
	border: 0.2rem solid #0965e7;
	border-radius: 1.2rem;
	background: linear-gradient(100deg, #075ae6 0%, #0965e7 100%);
	box-shadow: 0 0.5rem 1.2rem rgba(9, 96, 221, 0.18);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

#price .price-renewal-notice__pdf svg {
	flex: 0 0 4.2rem;
	width: 4.2rem;
	height: 4.2rem;
	color: currentColor;
	fill: none;
}

#price .price-renewal-notice__pdf::after {
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	position: absolute;
	right: 2.6rem;
	top: 50%;
	border-top: 0.4rem solid currentColor;
	border-right: 0.4rem solid currentColor;
	transform: translateY(-50%) rotate(45deg);
}

#price .price-renewal-notice__pdf:hover {
	opacity: 0.8;
	transform: translateY(-0.2rem);
}

#price .price-renewal-notice__pdf:focus-visible {
	outline: 0.4rem solid #ffef8a;
	outline-offset: 0.4rem;
}

#price .price-renewal-notice__note {
	margin-top: 2.2rem;
	padding-left: 5rem;
	color: #454545;
	font-size: 1.6rem;
	line-height: 1.7;
}

#price .pricaTab .head .subTtl {
	font-size: 1.7rem;
	white-space: nowrap;
}

@media all and (max-width: 896px) {
	#price .price-renewal-notice {
		margin-bottom: 4rem;
		padding: 2.6rem 2rem 2.8rem;
		border-radius: 1.4rem;
	}

	#price .price-renewal-notice__body h3 {
		gap: 0.8rem;
		font-size: 1.9rem;
		line-height: 1.5;
	}

	#price .price-renewal-notice__body h3 .price-renewal-notice__mark {
		flex-basis: 3.2rem;
		width: 3.2rem;
		height: 3.2rem;
		font-size: 2.1rem;
	}

	#price .price-renewal-notice__description {
		margin-top: 1.5rem;
		padding-left: 4rem;
		font-size: 1.4rem;
		line-height: 1.75;
	}

	#price .price-renewal-notice__description p + p {
		margin-top: 0.8rem;
	}

	#price .price-renewal-notice__pdf {
		gap: 1rem;
		width: calc(100% - 1.2rem);
		min-height: 6.4rem;
		margin-top: 2rem;
		padding: 1.2rem 4.5rem 1.2rem 1.6rem;
		font-size: 1.35rem;
		border-radius: 1rem;
	}

	#price .price-renewal-notice__pdf svg {
		flex-basis: 3rem;
		width: 3rem;
		height: 3rem;
	}

	#price .price-renewal-notice__pdf::after {
		width: 1.1rem;
		height: 1.1rem;
		right: 2rem;
		border-width: 0.35rem;
	}

	#price .price-renewal-notice__note {
		margin-top: 1.7rem;
		padding-left: 4rem;
		font-size: 1.3rem;
		line-height: 1.65;
	}

	#price .pricaTab .head {
		display: flex;
		flex-direction: column;
		gap: 0.2rem;
		align-items: center;
		justify-content: center;
	}

	#price .pricaTab .head .subTtl {
		position: static;
		font-size: 1.25rem;
		line-height: 1.4;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	#price .price-renewal-notice__pdf {
		transition: none;
	}
}
