h2 ruby {
	font-size: calc((100svh - 700px) * 5 / 265 + 1.3rem);
}

h2 span {
	font-size: calc((100svh - 700px) * 5 / 265 + 1.3rem);
}

h2 {
	font-size: calc((100svh - 700px) * 5 / 265 + 1.15rem);
	text-align: center;
}

h3 {
	font-size: calc((100svh - 700px) * 5 / 265 + 0.85rem);
}

.ptn06 h2 {
	font-size: calc((100svh - 700px) * 5 / 265 + 1.15rem);
}

.vertical-slider__slide.worry ul {
	font-size: calc((100svh - 700px) * 5 / 265 + 0.9rem);
}

.inner,
.ptn06 .re-price {
	font-size: calc((100svh - 700px) * 5 / 265 + 0.88rem);
}

.ptn04 .inner,
.ptn03 .inner,
.ptn05 dl {
	font-size: calc((100svh - 700px) * 5 / 265 + 0.8rem);
}

.ptn06 table {
	font-size: calc((100svh - 700px) * 5 / 265 + 0.75rem);
}

.vertical-slider__slide.top #start {
	font-size: calc((100svh - 700px) * 5 / 265 + 0.9rem);
}

.copy {
	font-size: calc((100svh - 667px) * 5 / 265 + 0.7rem);
}

.cta {
	font-size: calc((100svh - 667px) * 5 / 265 + 0.85rem);
}

@media all and (min-width: 641px) {
	.copy {
		font-size: 1rem;
	}

	.cta {
		font-size: 1rem;
	}

	.vertical-slider__slide.worry h2 {
		font-size: 2.8rem;
	}

	.vertical-slider__slide.worry li {
		font-size: 1.15rem;
	}
}

@media all and (min-width: 1024px) {

	h2 ruby,
	h2 span {
		font-size: 2.5rem;
		padding: 0 5px;
	}

	h2 {
		font-size: 2rem;
	}

	h3 {
		font-size: 1.25rem;
	}

	.ptn06 h2 {
		font-size: 2rem;
	}

	.vertical-slider__slide.worry ul {
		font-size: 1.25rem;
	}

	.inner,
	.ptn06 .re-price,
	.ptn04 .inner,
	.ptn03 .inner,
	.ptn05 dl,
	.ptn06 table,
	.vertical-slider__slide.top #start {
		font-size: 1rem;
		line-height: 1.7;
	}
}