@charset "UTF-8";

.ssec__lead, .strain__sub, .strain__label, .strain__ttl,
.sadv__ttl, .sfac__ttl, .sfac__text,
.ssupport p { text-align: center; }

.svoice__box { margin: 0; }
:root { --accent: #b7001f; }
.ssupport em { font-style: normal; color: var(--accent); }
.ssupport .ssupport__amount { color: var(--accent); }

.strain__box { border: 1px solid var(--text); background: #fff; }
.strain__label { background: var(--accent); color: #fff; }
.strain__ttl { color: #000; font-weight: normal; }

@media (min-width: 1001px) {
	.ssupport__table { width: 960px; margin: 40px auto 0; }
	.ssupport__table th { width: 120px; }
	main { padding-bottom: 160px; }

	.ssec { padding-top: 160px; }
	.ssec .ch3 { margin-bottom: 40px; }
	.ssec__lead { margin: -4px 0 40px; font-size: 22px; letter-spacing: 0.12em; }

	.strain__lead { margin-bottom: 7px; }
	.strain__sub { margin-bottom: 33px; }
	.strain { display: flex; gap: 36px; }
	.strain__box { width: calc(50% - 18px); padding: 30px 30px 28px; box-sizing: border-box; border-radius: 10px; }
	.strain__label { font-size: 16px; line-height: 32px; letter-spacing: 0.08em; border-radius: 16px; }
	.strain__ttl { margin-top: 15px; font-size: 18px; line-height: 1.4; letter-spacing: 0.08em; }
	.strain__text { margin-top: 6px; font-size: 15px; line-height: 22px; letter-spacing: 0.06em; text-align: justify; }

	.svoice { display: flex; gap: 36px; }
	.svoice__img, .svoice__box { width: calc(50% - 18px); }
	.svoice__img img { width: 100%; height: 270px; object-fit: cover; border-radius: 10px; }
	.svoice__box {
		display: flex; flex-direction: column; justify-content: center;
		padding: 20px 30px; box-sizing: border-box;
		border: 1px solid var(--text); border-radius: 10px;
	}
	.svoice__text { font-size: 15px; line-height: 22px; letter-spacing: 0.2em; text-align: justify; }
	.svoice__name { margin-top: 24px; font-size: 15px; letter-spacing: 0.1em; text-align: right; }

	.scard__img img { width: 100%; height: 204px; object-fit: cover; border-radius: 10px; }
	.scard__box { flex: 1; box-sizing: border-box; }
	.sadv li, .sfac li { display: flex; flex-direction: column; }

	.sadv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
	.sadv .scard__box { padding: 20px 20px 18px; }
	.sadv__num {
		display: flex; align-items: center; justify-content: center;
		width: 40px; height: 40px; margin: 0 auto; border-radius: 50%;
		background: var(--accent); color: #fff; font-size: 18px; line-height: 1;
	}
	.sadv__ttl { margin-top: 12px; color: #000; font-size: 18px; line-height: 1.4; letter-spacing: 0.08em; }
	.sadv__text { margin-top: 12px; font-size: 15px; line-height: 22px; letter-spacing: 0.02em; text-align: justify; }

	.sgym { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 36px; }
	.sgym__img img { width: 100%; height: 270px; object-fit: cover; border-radius: 10px; }
	.sgym__box {
		display: flex; flex-direction: column; justify-content: center;
		padding: 20px 30px; box-sizing: border-box;
		border: 1px solid var(--text); border-radius: 10px;
	}
	.sgym__ttl { font-size: 24px; line-height: 32px; letter-spacing: 0.12em; text-align: center; }
	.sgym__text { margin-top: 12px; font-size: 15px; line-height: 22px; letter-spacing: 0.1em; text-align: justify; }

	.sfac { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 36px; }
	.sfac .scard__box { padding: 14px 10px 16px; }
	.sfac__ttl { font-size: 18px; line-height: 1.4; letter-spacing: 0.08em; }
	.sfac__text { margin-top: 10px; font-size: 15px; line-height: 22px; letter-spacing: 0.04em; }

	.ssupport p { font-size: 15px; line-height: 22px; letter-spacing: 0.14em; }
	.ssupport p + p { margin-top: 14px; }
	.ssupport .ssupport__amount { font-size: 20px; line-height: 20px; letter-spacing: 0; }
	.ssupport .ssupport__amount + p { margin-top: 17px; }
	.ssupport__contact a { color: inherit; }

	.ssupport__table .is-em th, .ssupport__table .is-em td { height: 44px; }
	.ssupport__table .is-em td { color: var(--accent); font-size: 20px; }
}

@media (max-width: 1000px) {
	.ssupport__table { margin-top: 6.4vw; }
	main { padding-bottom: 18vw; }

	.ssec { padding-top: 21.33vw; }
	.sintro + .ssec { padding-top: 20.13vw; }
	.ssec .ch3 { margin-bottom: 4.9vw; }
	.ssec__lead { font-size: 5.33vw; line-height: 6.4vw; letter-spacing: 0.05em; }

	.strain__lead { margin-bottom: 1.73vw; }
	.strain__sub { margin-bottom: 3.2vw; }
	.strain__box { padding: 4vw 4vw 3.2vw; border-radius: 1.3vw; }
	.strain__box + .strain__box { margin-top: 4.93vw; }
	.strain__label { font-size: 4.27vw; line-height: 8.4vw; letter-spacing: 0; border-radius: 4.2vw; }
	.strain__ttl { margin-top: 3.33vw; font-size: 5.33vw; line-height: 6.4vw; letter-spacing: 0; }
	.strain__text { margin-top: 2.13vw; padding: 0 1.73vw; font-size: 3.467vw; line-height: 6.4vw; letter-spacing: 0.05em; text-align: justify; }

	.svoice__img img { width: 100%; height: 57.9vw; object-fit: cover; border-radius: 1.3vw; }
	.svoice__box { margin-top: 5.33vw; padding: 3.33vw 5.33vw 4.67vw; border: 1px solid var(--text); border-radius: 1.3vw; }
	.svoice__text { font-size: 3.467vw; line-height: 6.4vw; letter-spacing: 0; text-align: justify; }
	.svoice__name { margin-top: 1.33vw; font-size: 3.467vw; line-height: 6.4vw; letter-spacing: 0; text-align: right; }

	.scard__img img { width: 100%; height: 57.9vw; object-fit: cover; border-radius: 1.3vw; }
	.sadv li + li, .sfac li + li { margin-top: 8vw; }

	.sadv .scard__box { padding: 5vw 4.8vw 3.73vw; }
	.sadv__num {
		display: flex; align-items: center; justify-content: center;
		width: 8vw; height: 8vw; margin: 0 auto; border-radius: 50%;
		background: var(--accent); color: #fff; font-size: 4vw; line-height: 1;
	}
	.sadv__ttl { margin-top: 3.9vw; color: #000; font-size: 5.33vw; line-height: 1.4; letter-spacing: 0; }
	.sadv__text { margin-top: 2.27vw; font-size: 3.467vw; line-height: 6.4vw; letter-spacing: 0; text-align: justify; }

	.sgym__img + .sgym__img { margin-top: 5.33vw; }
	.sgym__img img { width: 100%; height: 57.9vw; object-fit: cover; border-radius: 1.3vw; }
	.sgym__box { margin-top: 5.6vw; padding: 3.33vw 5.33vw 4vw; border: 1px solid var(--text); border-radius: 1.3vw; }
	.sgym__ttl { margin: 0 -2.67vw; font-size: 6.4vw; line-height: 1.52; letter-spacing: 0; text-align: center; }
	.sgym__text { margin-top: 1.73vw; font-size: 3.467vw; line-height: 6.4vw; letter-spacing: 0.05em; text-align: justify; }

	.sfac .scard__box { padding: 3.9vw 2vw 3.73vw; }
	.sfac__ttl { font-size: 5.33vw; line-height: 1.25; letter-spacing: 0; }
	.sfac__text { margin-top: 2.9vw; font-size: 3.467vw; line-height: 6.4vw; letter-spacing: 0; }

	.ssupport p { font-size: 3.467vw; line-height: 6.4vw; letter-spacing: 0.06em; }
	.ssupport p + p { margin-top: 2.13vw; }
	.ssupport .ssupport__amount { font-size: 4.27vw; line-height: 4.8vw; letter-spacing: 0; }
	.ssupport__contact a { color: inherit; }

	.ssupport__table .is-em td { color: var(--accent); font-size: 4.27vw; line-height: 5.6vw; }
}
