.table-preventive tbody td,
.table-preventive thead th {
	width: auto;
	text-align: center;
}
.table-preventive tbody th {
	text-align: left;
}

@media screen and (min-width: 1000px), print {
	.table tbody th,
	.table-borderd tbody th,
	.root .wpnews table tbody th {
		width: 300px;
	}
}

/* ワクチン分類カードレイアウト */
.vaccine-cards {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	align-items: stretch;
	margin: 24px 0;
}
.vaccine-cards__group {
	display: flex;
	flex-direction: column;
	min-width: 0;
	box-sizing: border-box;
}
.vaccine-cards__group--dog {
	flex: 65 1 0;
	background: #ececec;
	padding: 32px;
	border-radius: 14px;
}
.vaccine-cards__group--cat {
	flex: 35 1 0;
	padding: 32px 0;
}
.vaccine-cards__group-title {
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	margin: 0;
}
.vaccine-cards__group-cards {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	flex: 1;
}
.vaccine-card {
	flex: 1 1 0;
	min-width: 0;
	background: #fff;
	border: 2px solid;
	border-radius: 12px;
	padding: 24px 26px 26px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.vaccine-card--core {
	border-color: #e8a0a0;
}
.vaccine-card--noncore {
	border-color: #8fb8db;
}
.vaccine-card__title {
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	margin: 0;
}
.vaccine-card__badge {
	display: block;
	text-align: center;
	font-weight: 700;
	color: #fff;
	padding: 8px 14px;
	border-radius: 999px;
	font-size: 16px;
}
.vaccine-card--core .vaccine-card__badge {
	background: #e8a0a0;
}
.vaccine-card--noncore .vaccine-card__badge {
	background: #8fb8db;
}
.vaccine-card__list {
	list-style: disc;
	padding-left: 1.4em;
	margin: 0;
	font-size: 16px;
}
.vaccine-card__list li {
	line-height: 1.8;
}

@media screen and (max-width: 768px) {
	.vaccine-cards {
		flex-direction: column;
		gap: 20px;
	}
	.vaccine-cards__group--dog {
		padding: 20px;
	}
	.vaccine-cards__group--cat {
		padding: 0;
	}
	.vaccine-cards__group-cards {
		flex-direction: column;
	}
}

/* ワクチン接種方法比較カードレイアウト */
.compare-cards {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 24px 0;
}
.compare-card {
	flex: 1 1 200px;
	min-width: 0;
	background: #fff;
	border: 2px solid;
	border-radius: 12px;
	padding: 24px 26px 26px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.compare-card--annual {
	border-color: #85b89a;
}
.compare-card--antibody {
	border-color: #8fb8db;
}
.compare-card__title {
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	margin: 0;
}
.compare-card__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.compare-card__badge {
	display: block;
	text-align: center;
	font-weight: 700;
	color: #fff;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 15px;
}
.compare-card__item--merit .compare-card__badge {
	background: #e8a0a0;
}
.compare-card__item--demerit .compare-card__badge {
	background: #8fb8db;
}
.compare-card__text {
	margin: 0;
	font-size: 16px;
	line-height: 1.7;
}

@media screen and (max-width: 768px) {
	.compare-cards {
		flex-direction: column;
	}
}
