.sn-allergen-list,
.sn-allergen-detail {
  padding: 2.5rem 2rem;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.sn-allergen-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0 0 1.5rem;
  font-size: 11px;
  line-height: 1.6;
  color: #8A8884;
}

.sn-allergen-breadcrumbs a {
  color: #5C5C58;
  text-decoration: none;
}

.sn-allergen-breadcrumbs a:hover {
  color: #8B2E2E;
}

.sn-allergen-breadcrumbs-current {
  color: #1A1A1A;
  font-weight: 700;
}

.sn-allergen-breadcrumbs-sep {
  color: #A8A6A0;
}

.sn-allergen-page-header {
  text-align: center;
  margin-bottom: 2rem;
}

.sn-allergen-page-title,
.sn-allergen-detail-title {
  font-weight: 900;
  font-size: 19px;
  letter-spacing: 0.05em;
  color: #1A1A1A;
  line-height: 1.5;
  margin: 0;
  word-break: normal;
  overflow-wrap: break-word;
}

.sn-allergen-page-title {
  font-size: 22px;
}

.sn-allergen-detail-title {
  font-size: 22px;
  letter-spacing: 0.03em;
}

.sn-allergen-page-rule {
  width: 36px;
  height: 2px;
  background: #8B2E2E;
  margin: 10px auto 0;
}

.sn-allergen-detail-header .sn-allergen-page-rule {
  margin-top: 14px;
}

.sn-allergen-page-audience {
  margin: 12px auto 0;
  max-width: 40em;
  font-size: 15.5px;
  font-weight: 500;
  color: #5C5C58;
  line-height: 1.6;
  word-break: normal;
  overflow-wrap: break-word;
}

.sn-allergen-page-notice {
  margin: 10px auto 0;
  max-width: 40em;
  font-size: 11.5px;
  font-weight: 400;
  color: #5C5C58;
  line-height: 1.65;
  word-break: normal;
  overflow-wrap: break-word;
}

.sn-allergen-page-lead {
  margin: 14px auto 0;
  max-width: 40em;
  font-size: 14px;
  color: #5C5C58;
  line-height: 1.8;
}

.sn-allergen-empty,
.sn-allergen-filter-empty {
  margin: 0;
  font-size: 14px;
  color: #5C5C58;
  line-height: 1.8;
  text-align: center;
}

.sn-allergen-filter-empty {
  margin-top: 1rem;
}

/* ---------------- フィルター ---------------- */
.sn-allergen-filters {
  margin-bottom: 2rem;
}

.sn-allergen-filter-block {
  text-align: center;
}

.sn-allergen-filter-heading {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
  color: #1A1A1A;
  line-height: 1.5;
}

.sn-allergen-filter-note {
  margin: -4px 0 12px;
  font-size: 14px;
  font-weight: 400;
  color: #1A1A1A;
  line-height: 1.65;
}

.sn-allergen-filter-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.sn-allergen-filter-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 18px;
  border: 1.5px solid #8B2E2E;
  border-radius: 999px;
  background: #fff;
  color: #8B2E2E;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.4;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sn-allergen-filter-tag:hover {
  background: #FDF5F5;
}

.sn-allergen-filter-tag.is-active {
  background: #8B2E2E;
  color: #fff;
}

.sn-allergen-filter-divider {
  width: 100%;
  max-width: 480px;
  height: 1px;
  background: #D8D6D0;
  margin: 20px auto;
}

/* 一覧ページ：対応検査カテゴリ絞り込み（一時非表示・PHP/HTMLは残す） */
.sn-allergen-list .sn-allergen-filter-divider,
.sn-allergen-list .sn-allergen-filter-block:has([data-filter-group="categories"]) {
  display: none;
}

/* ---------------- カード ---------------- */
.sn-allergen-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 100%;
  min-width: 0;
}

.sn-allergen-card {
  background: #fff;
  border: 1px solid #D8D6D0;
  border-radius: 12px;
  padding: 20px 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "title action"
    "feature feature"
    "table table"
    "note note";
  column-gap: 16px;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.sn-allergen-card[hidden] {
  display: none;
}

.sn-allergen-card-header {
  grid-area: title;
  margin-bottom: 20px;
}

.sn-allergen-card:has(.sn-allergen-card-feature) .sn-allergen-card-header {
  margin-bottom: 8px;
}

.sn-allergen-card-title {
  font-weight: 900;
  font-size: 20px;
  color: #1A1A1A;
  margin: 0;
  min-width: 0;
  line-height: 1.5;
  word-break: normal;
  overflow-wrap: break-word;
}

.sn-allergen-card-title-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.15s ease;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

.sn-allergen-card-title-link:hover {
  color: #8B2E2E;
  text-decoration: underline;
}

.sn-allergen-company-name-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  min-width: 0;
}

.sn-allergen-iso17025-badge,
.sn-allergen-method-iso-badge--boxed.sn-allergen-method-iso-badge--inline {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 3px 8px;
  border: 1.5px solid #8B2E2E;
  border-radius: 4px;
  background: #fff;
  color: #8B2E2E;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.02em;
  max-width: 100%;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.sn-allergen-detail-title .sn-allergen-company-name-row {
  justify-content: center;
}

.sn-allergen-card-feature {
  grid-area: feature;
  margin: 0 0 20px;
  font-size: 15px;
  color: #1a1a18;
  line-height: 1.75;
}

.sn-allergen-card-feature strong {
  font-weight: 800;
  color: #8B2E2E;
}

.sn-allergen-card-action {
  grid-area: action;
  flex-shrink: 0;
  align-self: start;
  margin-top: 2px;
  text-align: right;
}

.sn-allergen-card-note {
  margin-top: 14px;
  font-size: 13px;
  color: #8A8884;
  line-height: 1.75;
}

.sn-allergen-card-note p {
  margin: 0 0 6px;
}

.sn-allergen-card-note p:last-child {
  margin-bottom: 0;
}

/* ---------------- POINT 表 ---------------- */
.sn-allergen-card > .sn-allergen-point-table {
  grid-area: table;
  font-size: 12.5px;
}

.sn-allergen-card > .sn-allergen-point-table th {
  font-size: 12px;
}

.sn-allergen-card > .sn-allergen-card-price-note,
.sn-allergen-card > .sn-allergen-price-note {
  grid-area: note;
}

.sn-allergen-point-table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 14px;
  line-height: 1.75;
}

.sn-allergen-point-table th,
.sn-allergen-point-table td {
  border: 1px solid #D8D6D0;
  padding: 12px 14px;
  vertical-align: middle;
  text-align: left;
  word-break: normal;
  overflow-wrap: break-word;
  max-width: 100%;
  box-sizing: border-box;
}

.sn-allergen-point-table th {
  width: 88px;
  background: #FAF9F6;
  color: #8B2E2E;
  font-weight: 800;
  font-size: 13px;
}

.sn-allergen-point-table td {
  color: #5C5C58;
  text-align: left;
}

.sn-allergen-method-matrix-cell {
  padding: 0 !important;
}

.sn-allergen-method-matrix-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

.sn-allergen-method-matrix {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 13.5px;
  line-height: 1.75;
}

.sn-allergen-method-matrix th,
.sn-allergen-method-matrix td {
  border: 1px solid #D8D6D0;
  padding: 10px 12px;
  vertical-align: middle;
  word-break: keep-all;
  overflow-wrap: break-word;
  text-align: left;
  color: #5C5C58;
}

.sn-allergen-method-matrix thead th {
  background: #FAF9F6;
  color: #8B2E2E;
  font-weight: 800;
  font-size: 12px;
  text-align: left;
  white-space: nowrap;
}

.sn-allergen-method-detail-list {
  margin: 0;
  padding-left: 1.2rem;
}

.sn-allergen-method-detail-list li {
  margin-bottom: 8px;
}

.sn-allergen-method-detail-list li:last-child {
  margin-bottom: 0;
}

.sn-allergen-tier {
  display: inline;
}

.sn-allergen-tier-label {
  font-weight: 800;
}

.sn-allergen-tier-sep {
  color: #A8A6A0;
  margin: 0 2px;
}

.sn-allergen-tier--label-only {
  display: block;
}

@media (min-width: 768px) {
  .sn-allergen-tier--label-only .sn-allergen-tier-label {
    font-size: 13.5px;
  }
}

.sn-allergen-price-note {
  margin: 1.25rem 0 0;
  font-size: 13px;
  color: #8A8884;
  line-height: 1.7;
  text-align: center;
}

.sn-allergen-card .sn-allergen-card-price-note {
  margin-top: 14px;
  text-align: left;
}

/* ---------------- 一覧ページ：企業カード文字サイズ ---------------- */
.sn-allergen-list .sn-allergen-cards {
  gap: 20px;
}

.sn-allergen-list .sn-allergen-card {
  padding: 24px 26px;
}

.sn-allergen-list .sn-allergen-card-header {
  margin-bottom: 22px;
}

.sn-allergen-list .sn-allergen-card:has(.sn-allergen-card-feature) .sn-allergen-card-header {
  margin-bottom: 10px;
}

.sn-allergen-list .sn-allergen-card-title {
  font-size: 26px;
  line-height: 1.45;
}

.sn-allergen-list .sn-allergen-iso17025-badge,
.sn-allergen-list .sn-allergen-method-iso-badge--boxed.sn-allergen-method-iso-badge--inline {
  font-size: 12px;
  padding: 4px 10px;
}

.sn-allergen-list .sn-allergen-card-feature {
  margin-bottom: 22px;
  font-size: 18px;
  line-height: 1.7;
}

.sn-allergen-list .sn-allergen-card > .sn-allergen-point-table {
  font-size: 16px;
  line-height: 1.7;
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

.sn-allergen-list .sn-allergen-card > .sn-allergen-point-table tbody {
  display: block;
}

.sn-allergen-list .sn-allergen-card > .sn-allergen-point-table tr {
  display: grid;
  grid-template-columns: minmax(70px, auto) minmax(0, 1fr);
  align-items: start;
  column-gap: 12px;
  border-bottom: 0.5px solid #D8D6D0;
  padding: 12px 0;
}

.sn-allergen-list .sn-allergen-card > .sn-allergen-point-table tr:first-child {
  padding-top: 0;
}

.sn-allergen-list .sn-allergen-card > .sn-allergen-point-table tr:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.sn-allergen-list .sn-allergen-card > .sn-allergen-point-table th,
.sn-allergen-list .sn-allergen-card > .sn-allergen-point-table td {
  display: block;
  width: auto;
  max-width: 100%;
  min-width: 0;
  border: none;
  padding: 0;
  box-sizing: border-box;
  word-break: normal;
  overflow-wrap: break-word;
}

.sn-allergen-list .sn-allergen-card > .sn-allergen-point-table th {
  background: transparent;
  color: #8B2E2E;
  font-weight: 500;
  font-size: 15px;
  border-left: 3px solid #8B2E2E;
  padding: 2px 0 2px 10px;
}

.sn-allergen-list .sn-allergen-card > .sn-allergen-point-table td {
  color: #5C5C58;
  padding: 2px 0;
}

.sn-allergen-list .sn-allergen-card > .sn-allergen-point-table td .sn-allergen-tier,
.sn-allergen-list .sn-allergen-card > .sn-allergen-point-table td .sn-allergen-tier-label {
  font-size: inherit;
}

.sn-allergen-list .sn-allergen-card .sn-allergen-card-price-note,
.sn-allergen-list .sn-allergen-card .sn-allergen-price-note {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.7;
}

.sn-allergen-list .sn-allergen-card-action .sn-allergen-btn {
  font-size: 16px;
  padding: 12px 24px;
  min-height: 48px;
}

.sn-allergen-detail .sn-allergen-price-note {
  text-align: left;
  margin-top: 1rem;
}

/* ---------------- ボタン ---------------- */
.sn-allergen-btn {
  background: #8B2E2E;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  border-radius: 8px;
  padding: 10px 22px;
  text-decoration: none;
  min-height: 44px;
  box-sizing: border-box;
  line-height: 1.4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.15s ease;
}

.sn-allergen-btn:hover {
  background: #742626;
  color: #fff;
}

.sn-allergen-detail-header {
  margin-bottom: 1.5rem;
  text-align: center;
}

.sn-allergen-detail-header + .sn-allergen-card-feature {
  margin: -0.5rem 0 1.75rem;
  text-align: center;
}

.sn-allergen-section {
  margin-top: 0;
}

.sn-allergen-detail-actions {
  margin-top: 2rem;
  text-align: center;
}

.sn-allergen-btn--external {
  min-width: 220px;
}

.sn-allergen-detail-back {
  margin-top: 2rem;
  padding-top: 1.75rem;
  border-top: 1px solid #D8D6D0;
  text-align: center;
}

.sn-allergen-method-column-links {
  margin-top: 0.85rem;
  text-align: right;
}

.sn-allergen-method-column-link {
  margin: 0 0 0.35rem;
  line-height: 1.5;
}

.sn-allergen-method-column-link:last-child {
  margin-bottom: 0;
}

.sn-allergen-method-column-link a {
  font-size: 12px;
  color: #8B2E2E;
  font-weight: 700;
  text-decoration: none;
}

.sn-allergen-method-column-link a:hover {
  text-decoration: underline;
}

.sn-allergen-method-matrix-cell .sn-allergen-method-column-links {
  margin-top: 0.75rem;
  text-align: left;
}

.sn-allergen-detail-compare {
  margin-top: 1.5rem;
  text-align: center;
}

.sn-allergen-detail-compare a {
  font-size: 13px;
  color: #8B2E2E;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.6;
}

.sn-allergen-detail-compare a:hover {
  text-decoration: underline;
}

.sn-allergen-detail-back a {
  font-size: 12px;
  color: #8B2E2E;
  font-weight: 700;
  text-decoration: none;
}

.sn-allergen-detail-back a:hover {
  text-decoration: underline;
}

/* ---------------- 詳細：検査区分 ---------------- */
.sn-allergen-section--summary {
  margin-bottom: 0;
}

.sn-allergen-detail-sections {
  margin-top: 2.5rem;
}

.sn-allergen-card-note--detail {
  margin-top: 0;
  margin-bottom: 2rem;
}

.sn-allergen-detail-footnotes {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #E8E6E0;
  font-size: 11px;
  color: #8A8884;
  line-height: 1.75;
}

.sn-allergen-detail-footnotes p {
  margin: 0 0 8px;
}

.sn-allergen-detail-footnotes p:last-child {
  margin-bottom: 0;
}

.sn-allergen-info-updated-note {
  margin: 2rem 0 0;
  font-size: 12px;
  color: #8A8884;
  line-height: 1.75;
}

.sn-allergen-article--ikari .sn-allergen-detail-footnotes p,
.sn-allergen-article--house-food-analab .sn-allergen-detail-footnotes p,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-footnotes p,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-footnotes p {

  margin: 0 0 6px;
}

.sn-allergen-article--ikari .sn-allergen-detail-footnotes p:last-child,
.sn-allergen-article--house-food-analab .sn-allergen-detail-footnotes p:last-child,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-footnotes p:last-child,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-footnotes p:last-child {

  margin-bottom: 0;
}

.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-footnotes {
  font-size: 13.5px;
  color: #5C5C58;
  line-height: 1.75;
}

.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-footnotes p {
  margin: 0 0 8px;
}

.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-footnotes p:first-child {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 800;
  color: #1A1A1A;
  line-height: 1.6;
}

.sn-allergen-article--ikari .sn-allergen-info-updated-note,
.sn-allergen-article--house-food-analab .sn-allergen-info-updated-note,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-info-updated-note,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-info-updated-note {

  margin: 6px 0 0;
  font-size: 11px;
  line-height: 1.75;
}

.sn-allergen-detail-section {
  margin-bottom: 2.5rem;
}

.sn-allergen-detail-section:last-child {
  margin-bottom: 0;
}

.sn-allergen-detail-section-title {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 800;
  color: #1A1A1A;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.sn-allergen-detail-section-num {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  padding: 0 6px;
  background: #8B2E2E;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  border-radius: 6px;
  line-height: 1;
}

.sn-allergen-detail-section-intro {
  margin: -4px 0 14px;
  font-size: 13px;
  color: #5C5C58;
  line-height: 1.75;
}

.sn-allergen-detail-section .sn-allergen-items-table-wrap + .sn-allergen-detail-section-intro,
.sn-allergen-detail-section .sn-allergen-detail-section-intro + .sn-allergen-items-table-wrap,
.sn-allergen-detail-section .sn-allergen-items-table-wrap + .sn-allergen-items-table-wrap {
  margin-top: 1.25rem;
}

.sn-allergen-service-blocks {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.sn-allergen-service-block {
  border: 1px solid #D8D6D0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.sn-allergen-service-block-title {
  margin: 0;
  padding: 14px 16px;
  background: #FAF9F6;
  border-bottom: 1px solid #E8E6E0;
  font-size: 15px;
  font-weight: 800;
  color: #1A1A1A;
  line-height: 1.6;
}

.sn-allergen-service-field {
  border-bottom: 1px solid #E8E6E0;
}

.sn-allergen-service-field:last-child {
  border-bottom: none;
}

.sn-allergen-service-field-label {
  padding: 12px 16px 6px;
  font-size: 12.5px;
  font-weight: 800;
  color: #8B2E2E;
  line-height: 1.5;
}

.sn-allergen-service-field-value {
  padding: 0 16px 14px;
  font-size: 14px;
  color: #1A1A1A;
  line-height: 1.75;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.sn-allergen-service-line {
  margin: 0;
}

.sn-allergen-service-line + .sn-allergen-service-line {
  margin-top: 8px;
}

.sn-allergen-article--house-food-analab .sn-allergen-service-line--continued,
.sn-allergen-article--house-food-analab .sn-allergen-items-table .sn-allergen-plain-line--continued {
  font-size: 11px;
  color: #8A8884;
  line-height: 1.75;
}

.sn-allergen-article--house-food-analab .sn-allergen-service-field-value {
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-break: strict;
}

.sn-allergen-items-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.sn-allergen-items-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
  line-height: 1.75;
}

@media (min-width: 768px) {
  .sn-allergen-items-table {
    min-width: 560px;
  }
}

.sn-allergen-items-table th,
.sn-allergen-items-table td {
  border: 1px solid #D8D6D0;
  padding: 12px 14px;
  vertical-align: middle;
  text-align: left;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.sn-allergen-items-table thead th {
  background: #FAF9F6;
  color: #8B2E2E;
  font-weight: 800;
  font-size: 12.5px;
  text-align: left;
  white-space: nowrap;
}

.sn-allergen-items-table tbody td {
  color: #5C5C58;
  text-align: left;
}

.sn-allergen-target-cell {
  min-width: 88px;
}

@media (min-width: 768px) {
  .sn-allergen-target-cell {
    max-width: 200px;
  }
}

.sn-allergen-target-cell--long {
  max-width: none;
  line-height: 1.9;
}

.sn-allergen-target-line {
  display: block;
}

.sn-allergen-target-line + .sn-allergen-target-line {
  margin-top: 10px;
}

.sn-allergen-article--ikari .sn-allergen-target-cell--lines,
.sn-allergen-article--house-food-analab .sn-allergen-target-cell--lines,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-target-cell--lines,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-target-cell--lines {

  line-height: 1.45;
}

.sn-allergen-article--ikari .sn-allergen-target-cell--lines.sn-allergen-target-cell--long,
.sn-allergen-article--house-food-analab .sn-allergen-target-cell--lines.sn-allergen-target-cell--long,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-target-cell--lines.sn-allergen-target-cell--long,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-target-cell--lines.sn-allergen-target-cell--long {

  line-height: 1.45;
}

.sn-allergen-article--ikari .sn-allergen-target-cell--lines .sn-allergen-target-line + .sn-allergen-target-line,
.sn-allergen-article--house-food-analab .sn-allergen-target-cell--lines .sn-allergen-target-line + .sn-allergen-target-line,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-target-cell--lines .sn-allergen-target-line + .sn-allergen-target-line,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-target-cell--lines .sn-allergen-target-line + .sn-allergen-target-line {

  margin-top: 3px;
}

.sn-allergen-article--ikari .sn-allergen-tier--has-lines .sn-allergen-tier-value-line--continued,
.sn-allergen-article--house-food-analab .sn-allergen-tier--has-lines .sn-allergen-tier-value-line--continued,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-tier--has-lines .sn-allergen-tier-value-line--continued,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-tier--has-lines .sn-allergen-tier-value-line--continued {

  display: block;
  padding-left: 3.2em;
}

.sn-allergen-article--ikari .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier--has-lines .sn-allergen-tier-value-line:not(.sn-allergen-tier-value-line--continued),
.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier--has-lines .sn-allergen-tier-value-line:not(.sn-allergen-tier-value-line--continued),
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier--has-lines .sn-allergen-tier-value-line:not(.sn-allergen-tier-value-line--continued),
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier--has-lines .sn-allergen-tier-value-line:not(.sn-allergen-tier-value-line--continued) {

  display: inline;
  line-height: 1.6;
}

.sn-allergen-article--ikari .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier--has-lines .sn-allergen-tier-value-line--continued,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier--has-lines .sn-allergen-tier-value-line--continued,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier--has-lines .sn-allergen-tier-value-line--continued,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier--has-lines .sn-allergen-tier-value-line--continued {

  display: block;
  padding-left: 0;
  margin-left: 0;
  margin-top: 4px;
  line-height: 1.6;
}

.sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-target-cell--merged {
  text-align: left;
  vertical-align: middle;
  min-width: 0;
  max-width: none;
}

@media (min-width: 768px) {
  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-target-cell--merged {
    width: auto;
  }
}

.sn-allergen-article--house-food-analab .sn-allergen-items-table td[data-label="納期"],
.sn-allergen-article--house-food-analab .sn-allergen-items-table .sn-allergen-sample-cell {
  text-align: left;
  vertical-align: middle;
}

.sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-category-cell[rowspan] {
  vertical-align: middle;
  white-space: normal;
  line-height: 1.45;
}

@media (min-width: 768px) {
  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table-wrap {
    overflow-x: hidden;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail {
    table-layout: fixed;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail th,
  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail td {
    min-width: 0;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail thead th:nth-child(1) {
    width: 14%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail thead th:nth-child(2) {
    width: 27%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail thead th:nth-child(3) {
    width: 25%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail thead th:nth-child(4) {
    width: 4%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail thead th:nth-child(5) {
    width: 18%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail thead th:nth-child(6) {
    width: 5%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail thead th:nth-child(4),
  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail thead th:nth-child(6) {
    white-space: normal;
    line-height: 1.35;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-category-cell {
    white-space: normal;
    line-height: 1.45;
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail .sn-allergen-method-cell {
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell[data-label="納期"],
  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail .sn-allergen-sample-cell {
    white-space: nowrap;
    text-align: left;
    vertical-align: middle;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail .sn-allergen-sample-cell {
    word-break: normal;
    overflow-wrap: anywhere;
  }
}

@media (min-width: 768px) {
  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table-wrap {
    overflow-x: hidden;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail {
    table-layout: fixed;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail th,
  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail td {
    min-width: 0;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail thead th:nth-child(1) {
    width: 14%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail thead th:nth-child(2) {
    width: 27%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail thead th:nth-child(3) {
    width: 25%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail thead th:nth-child(4) {
    width: 4%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail thead th:nth-child(5) {
    width: 18%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail thead th:nth-child(6) {
    width: 5%;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail thead th:nth-child(4),
  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail thead th:nth-child(6) {
    white-space: normal;
    line-height: 1.35;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-category-cell {
    white-space: normal;
    line-height: 1.45;
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail .sn-allergen-method-cell {
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell[data-label="納期"],
  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail .sn-allergen-sample-cell,
  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-tier-cell--merged,
  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-sample-cell--merged {
    white-space: nowrap;
    text-align: left;
    vertical-align: middle;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail .sn-allergen-sample-cell {
    word-break: normal;
    overflow-wrap: anywhere;
  }

  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-target-cell--comma-list {
    word-break: normal;
    overflow-wrap: break-word;
    line-break: auto;
  }
}

.sn-allergen-article--ikari #sn-allergen-section-2 .sn-allergen-target-cell--merged,
.sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-target-cell--merged,
.sn-allergen-article--tsukuba-bunseki-center #sn-allergen-section-2 .sn-allergen-target-cell--merged {

  text-align: left;
  vertical-align: middle;
  min-width: 0;
  max-width: none;
}

@media (min-width: 768px) {
  .sn-allergen-article--ikari #sn-allergen-section-2 .sn-allergen-target-cell--merged,
  .sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-target-cell--merged,
    .sn-allergen-article--tsukuba-bunseki-center #sn-allergen-section-2 .sn-allergen-target-cell--merged {

    width: auto;
  }
}

.sn-allergen-article--ikari #sn-allergen-section-2 .sn-allergen-category-cell[rowspan],
.sn-allergen-article--house-food-analab #sn-allergen-section-2 .sn-allergen-category-cell[rowspan] {

  vertical-align: middle;
  white-space: normal;
  line-height: 1.45;
}

.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-category-cell[rowspan],
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-target-cell[rowspan],
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-method-cell[rowspan],
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell[rowspan],
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-sample-cell[rowspan] {

  vertical-align: middle;
  text-align: left;
  white-space: normal;
  line-height: 1.45;
}

.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-method-cell[rowspan],
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell[rowspan],
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-sample-cell[rowspan] {

  vertical-align: middle;
  text-align: left;
  white-space: normal;
  line-height: 1.45;
}

.sn-allergen-article--ikari .sn-allergen-plain-line,
.sn-allergen-article--house-food-analab .sn-allergen-plain-line,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-plain-line,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-plain-line {

  display: block;
}

.sn-allergen-article--ikari .sn-allergen-items-table td,
.sn-allergen-article--house-food-analab .sn-allergen-items-table td,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table td,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table td,
.sn-allergen-article--ikari .sn-allergen-detail-footnotes,
.sn-allergen-article--ikari .sn-allergen-info-updated-note,
.sn-allergen-card--ikari .sn-allergen-point-table td,
.sn-allergen-card--ikari .sn-allergen-card-price-note {
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-break: strict;
}

.sn-allergen-article--ikari .sn-allergen-tier-label,
.sn-allergen-card--ikari .sn-allergen-tier-label {
  white-space: nowrap;
}

.sn-allergen-card--ikari .sn-allergen-point-table .sn-allergen-tier--express {
  white-space: nowrap;
}

.sn-allergen-tier-cell {
  min-width: 120px;
}

@media (min-width: 768px) {
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-tier-cell,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-sample-cell {
    font-size: 15px;
    line-height: 1.75;
  }
}

.sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-detail-section-title,
.sn-allergen-article--ikari .sn-allergen-detail-section-title,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section-title,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section-title,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section-title {

  font-size: 18px;
}

.sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-detail-section-title-text,
.sn-allergen-article--ikari .sn-allergen-detail-section-title-text,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section-title-text,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section-title-text,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section-title-text {

  display: inline;
}

.sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-detail-section-highlight,
.sn-allergen-article--ikari .sn-allergen-detail-section-highlight,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section-highlight,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section-highlight,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section-highlight {

  display: inline;
  color: #1A1A1A;
  font-weight: 900;
  text-decoration: underline;
  text-decoration-color: rgba(139, 46, 46, 0.55);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-tier-line,
.sn-allergen-article--ikari .sn-allergen-tier-line,
.sn-allergen-article--house-food-analab .sn-allergen-tier-line,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-tier-line,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-tier-line {

  display: block;
}

.sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-category-cell,
.sn-allergen-article--ikari .sn-allergen-category-cell,
.sn-allergen-article--house-food-analab .sn-allergen-category-cell,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-category-cell {

  min-width: 88px;
  white-space: nowrap;
}

.sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-category-label,
.sn-allergen-article--ikari .sn-allergen-category-label,
.sn-allergen-article--house-food-analab .sn-allergen-category-label,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-category-label,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-category-label {

  font-weight: 700;
  color: #5C5C58;
}

@media (min-width: 768px) {
  .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-category-label,
  .sn-allergen-article--ikari .sn-allergen-category-label,
  .sn-allergen-article--house-food-analab .sn-allergen-category-label,
  .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-category-label,
    .sn-allergen-article--tsukuba-bunseki-center .sn-allergen-category-label {

    font-size: 13.5px;
  }
}

@media (min-width: 768px) {
  .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-items-table--narrow-target,
  .sn-allergen-article--ikari .sn-allergen-items-table--narrow-target,
  .sn-allergen-article--house-food-analab .sn-allergen-items-table--narrow-target,
  .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table--narrow-target,
    .sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table--narrow-target {

    table-layout: fixed;
  }

  /* 対象品目 31% ／ 必要検体量 9%（18%の半分）— 余剰分は対象品目へ */
  .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-category,
  .sn-allergen-article--ikari .sn-allergen-items-table--narrow-target .sn-allergen-col-category,
  .sn-allergen-article--house-food-analab .sn-allergen-items-table--narrow-target .sn-allergen-col-category,
  .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table--narrow-target .sn-allergen-col-category,
    .sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-category {

    width: 10%;
  }

  .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-target,
  .sn-allergen-article--ikari .sn-allergen-items-table--narrow-target .sn-allergen-col-target,
  .sn-allergen-article--house-food-analab .sn-allergen-items-table--narrow-target .sn-allergen-col-target,
  .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table--narrow-target .sn-allergen-col-target,
    .sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-target {

    width: 28%;
  }

  .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-method,
  .sn-allergen-article--ikari .sn-allergen-items-table--narrow-target .sn-allergen-col-method,
  .sn-allergen-article--house-food-analab .sn-allergen-items-table--narrow-target .sn-allergen-col-method,
  .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table--narrow-target .sn-allergen-col-method,
    .sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-method {

    width: 24%;
  }

  .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-lead,
  .sn-allergen-article--ikari .sn-allergen-items-table--narrow-target .sn-allergen-col-lead,
  .sn-allergen-article--house-food-analab .sn-allergen-items-table--narrow-target .sn-allergen-col-lead,
  .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table--narrow-target .sn-allergen-col-lead,
    .sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-lead {

    width: 18%;
  }

  .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-price,
  .sn-allergen-article--ikari .sn-allergen-items-table--narrow-target .sn-allergen-col-price,
  .sn-allergen-article--house-food-analab .sn-allergen-items-table--narrow-target .sn-allergen-col-price,
  .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table--narrow-target .sn-allergen-col-price,
    .sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-price {

    width: 18%;
  }

  .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-sample,
  .sn-allergen-article--ikari .sn-allergen-items-table--narrow-target .sn-allergen-col-sample,
  .sn-allergen-article--house-food-analab .sn-allergen-items-table--narrow-target .sn-allergen-col-sample,
  .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table--narrow-target .sn-allergen-col-sample,
    .sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-col-sample {

    width: 9%;
  }

  .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-target-cell,
  .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-target-cell--long,
  .sn-allergen-article--ikari .sn-allergen-items-table--narrow-target .sn-allergen-target-cell,
  .sn-allergen-article--house-food-analab .sn-allergen-items-table--narrow-target .sn-allergen-target-cell,
  .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table--narrow-target .sn-allergen-target-cell,
    .sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-target-cell,
  .sn-allergen-article--ikari .sn-allergen-items-table--narrow-target .sn-allergen-target-cell--long,
  .sn-allergen-article--house-food-analab .sn-allergen-items-table--narrow-target .sn-allergen-target-cell--long,
  .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table--narrow-target .sn-allergen-target-cell--long,
    .sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table--narrow-target .sn-allergen-target-cell--long {

    min-width: 0;
    max-width: none;
  }
}

.sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-items-table th,
.sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-items-table td,
.sn-allergen-article--ikari .sn-allergen-items-table th,
.sn-allergen-article--house-food-analab .sn-allergen-items-table th,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table th,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table th,
.sn-allergen-article--ikari .sn-allergen-items-table td,
.sn-allergen-article--house-food-analab .sn-allergen-items-table td,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-items-table td,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-items-table td {

  vertical-align: middle;
}

.sn-allergen-article--ikari .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail th,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail th,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail th,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail th,
.sn-allergen-article--ikari .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail td,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail td,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail td,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail td {

  vertical-align: middle;
  text-align: left;
  line-height: 1.6;
}

.sn-allergen-article--house-food-analab #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail .sn-allergen-target-cell--merged {
  vertical-align: middle;
  text-align: left;
}

.sn-allergen-article--ikari .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-category-cell[rowspan],
.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-category-cell[rowspan] {

  vertical-align: middle;
  text-align: left;
  white-space: normal;
}

.sn-allergen-article--ikari .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell,
.sn-allergen-article--ikari .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-sample-cell,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-sample-cell,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-sample-cell,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-sample-cell {

  text-align: left;
  vertical-align: middle;
}

.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-method-cell:not(:has(.sn-allergen-method-iso-badge--boxed)) {
  vertical-align: middle;
}

.sn-allergen-article--ikari .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-cell {

  padding-top: 14px;
  padding-bottom: 14px;
}

.sn-allergen-article--ikari .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-line,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-line,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-line,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-line {

  display: block;
}

.sn-allergen-article--ikari .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-line + .sn-allergen-tier-line,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-line + .sn-allergen-tier-line,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-line + .sn-allergen-tier-line,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail .sn-allergen-tier-line + .sn-allergen-tier-line {

  margin-top: 8px;
}

.sn-allergen-article--ikari .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail tbody tr + tr td,
.sn-allergen-article--house-food-analab .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail tbody tr + tr td,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail tbody tr + tr td,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section .sn-allergen-items-table--ikari-detail tbody tr + tr td {

  padding-top: 14px;
}

.sn-allergen-article--shokuhin-kankyo-eisei #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail td.sn-allergen-category-cell,
.sn-allergen-article--shokuhin-kankyo-eisei #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail td.sn-allergen-category-cell,
.sn-allergen-article--shokuhin-kankyo-eisei #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail td.sn-allergen-category-cell--merged,
.sn-allergen-article--shokuhin-kankyo-eisei #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail td.sn-allergen-category-cell--merged {

  vertical-align: middle;
  text-align: left;
  white-space: normal;
  line-height: 1.45;
  min-width: 88px;
}

.sn-allergen-article--shokuhin-kankyo-eisei #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail td.sn-allergen-category-cell .sn-allergen-category-label,
.sn-allergen-article--shokuhin-kankyo-eisei #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail td.sn-allergen-category-cell .sn-allergen-category-label {

  display: block;
  width: 100%;
  text-align: left;
}

.sn-allergen-article--shokuhin-kankyo-eisei #sn-allergen-section-1 .sn-allergen-items-table--ikari-detail .sn-allergen-target-cell,
.sn-allergen-article--shokuhin-kankyo-eisei #sn-allergen-section-2 .sn-allergen-items-table--ikari-detail .sn-allergen-target-cell {

  vertical-align: middle;
  text-align: left;
}

.sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-method-name,
.sn-allergen-article--ikari .sn-allergen-method-name,
.sn-allergen-article--house-food-analab .sn-allergen-method-name,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-method-name,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-method-name {

  font-size: 16px;
  font-weight: 700;
  color: #1A1A1A;
}

.sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-method-join,
.sn-allergen-article--ikari .sn-allergen-method-join,
.sn-allergen-article--house-food-analab .sn-allergen-method-join,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-method-join,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-method-join {

  font-size: 13.5px;
  font-weight: 400;
  color: #1A1A1A;
}

.sn-allergen-article--ikari .sn-allergen-method-name--keep,
.sn-allergen-article--house-food-analab .sn-allergen-method-name--keep,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-method-name--keep,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-method-name--keep {

  white-space: nowrap;
}

.sn-allergen-method-iso-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 2px 7px;
  border: 1px solid var(--blue);
  border-radius: 4px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  vertical-align: middle;
}

.sn-allergen-method-iso-badge--boxed {
  display: inline-flex;
  align-items: center;
  margin-left: 0;
  margin-top: 6px;
  padding: 3px 8px;
  border: 1.5px solid #8B2E2E;
  border-radius: 4px;
  background: #fff;
  color: #8B2E2E;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.5;
  max-width: 100%;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.sn-allergen-method-iso-badge--boxed.sn-allergen-method-iso-badge--inline {
  margin-top: 0;
}

.sn-allergen-article--house-food-analab .sn-allergen-method-cell:has(.sn-allergen-method-iso-badge--boxed) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.sn-allergen-article--house-food-analab .sn-allergen-method-cell:has(.sn-allergen-method-iso-badge--boxed) .sn-allergen-method-name {
  display: block;
}

.sn-allergen-article--house-food-analab .sn-allergen-method-cell:has(.sn-allergen-method-iso-badge--boxed) .sn-allergen-method-iso-badge--boxed {
  margin-top: 0;
}

.sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-method-note,
.sn-allergen-article--ikari .sn-allergen-method-note,
.sn-allergen-article--house-food-analab .sn-allergen-method-note,
.sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-method-note,
.sn-allergen-article--tsukuba-bunseki-center .sn-allergen-method-note {

  display: block;
  font-size: 12.5px;
  font-weight: 400;
  color: #888888;
}

.sn-allergen-note-cell {
  min-width: 72px;
  font-size: 12.5px;
  color: #8A8884;
}

.sn-allergen-section--note {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #E8E6E0;
}

@media (max-width: 767px) {
  .sn-allergen-list,
  .sn-allergen-detail {
    padding: 2rem 1.25rem;
  }

  .sn-allergen-card {
    padding: 16px;
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "feature"
      "table"
      "note"
      "action";
    column-gap: 0;
  }

  .sn-allergen-card-header {
    margin-bottom: 16px;
    min-width: 0;
  }

  .sn-allergen-card-title {
    font-size: 19px;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  .sn-allergen-card--ikari .sn-allergen-point-table .sn-allergen-tier--express {
    white-space: normal;
  }

  .sn-allergen-company-name-row {
    flex-wrap: wrap;
  }

  .sn-allergen-card:has(.sn-allergen-card-feature) .sn-allergen-card-header {
    margin-bottom: 8px;
  }

  .sn-allergen-card-feature {
    font-size: 14.5px;
    margin-bottom: 16px;
  }

  .sn-allergen-filter-tag {
    font-size: 14.5px;
    padding: 9px 14px;
  }

  .sn-allergen-point-table th,
  .sn-allergen-point-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  .sn-allergen-point-table th {
    border-bottom: none;
    padding-bottom: 8px;
  }

  .sn-allergen-point-table td {
    border-top: none;
    padding-top: 0;
    padding-bottom: 14px;
  }

  /* 一覧カード：ラベル見出しの余白を抑え、内容テキスト側を広げる */
  .sn-allergen-card .sn-allergen-point-table th {
    padding: 8px 14px 4px;
  }

  .sn-allergen-card .sn-allergen-point-table td {
    padding: 12px 14px 16px;
  }

  .sn-allergen-point-table tr {
    display: block;
    border-bottom: 1px solid #D8D6D0;
  }

  .sn-allergen-point-table tr:last-child {
    border-bottom: none;
  }

  .sn-allergen-card-action {
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    margin-top: 16px;
    text-align: left;
  }

  .sn-allergen-card-action .sn-allergen-btn {
    display: flex;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .sn-allergen-list .sn-allergen-card {
    padding: 18px;
  }

  .sn-allergen-list .sn-allergen-card-header {
    margin-bottom: 18px;
  }

  .sn-allergen-list .sn-allergen-card-title {
    font-size: 22px;
  }

  .sn-allergen-list .sn-allergen-card-feature {
    font-size: 16.5px;
    margin-bottom: 18px;
  }

  .sn-allergen-list .sn-allergen-card > .sn-allergen-point-table {
    font-size: 15px;
  }

  .sn-allergen-list .sn-allergen-card > .sn-allergen-point-table tr {
    display: grid;
    grid-template-columns: minmax(64px, auto) minmax(0, 1fr);
    column-gap: 10px;
    padding: 10px 0;
    border-bottom: 0.5px solid #D8D6D0;
  }

  .sn-allergen-list .sn-allergen-card > .sn-allergen-point-table tr:last-child {
    border-bottom: none;
  }

  .sn-allergen-list .sn-allergen-card > .sn-allergen-point-table th,
  .sn-allergen-list .sn-allergen-card > .sn-allergen-point-table td {
    display: block;
    width: auto;
    word-break: normal;
    overflow-wrap: break-word;
  }

  .sn-allergen-list .sn-allergen-card > .sn-allergen-point-table th {
    font-size: 14px;
    padding: 2px 0 2px 8px;
  }

  .sn-allergen-list .sn-allergen-card > .sn-allergen-point-table td {
    padding: 2px 0;
  }

  .sn-allergen-list .sn-allergen-card .sn-allergen-point-table th {
    padding: 2px 0 2px 8px;
  }

  .sn-allergen-list .sn-allergen-card .sn-allergen-point-table td {
    padding: 2px 0;
  }

  .sn-allergen-list .sn-allergen-card .sn-allergen-card-price-note,
  .sn-allergen-list .sn-allergen-card .sn-allergen-price-note {
    font-size: 15px;
  }

  .sn-allergen-list .sn-allergen-card-action .sn-allergen-btn {
    font-size: 15px;
    min-height: 48px;
  }

  .sn-allergen-detail-title {
    font-size: 18px;
  }

  .sn-allergen-page-lead {
    font-size: 13px;
  }

  .sn-allergen-detail-section-title {
    font-size: 15px;
  }

  .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-detail-section-title,
  .sn-allergen-article--ikari .sn-allergen-detail-section-title,
  .sn-allergen-article--house-food-analab .sn-allergen-detail-section-title,
  .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-detail-section-title,
    .sn-allergen-article--tsukuba-bunseki-center .sn-allergen-detail-section-title {

    font-size: 16px;
  }

  /* 詳細ページ：品目表をモバイルカード化（全区分・全テーブル共通） */
  .sn-allergen-detail .sn-allergen-detail-section {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .sn-allergen-detail .sn-allergen-items-table-wrap {
    overflow-x: visible;
    width: 100%;
    max-width: 100%;
  }

  .sn-allergen-detail .sn-allergen-items-table {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    table-layout: auto;
    font-size: 12.5px;
    line-height: 1.65;
  }

  .sn-allergen-detail .sn-allergen-items-table colgroup {
    display: none;
  }

  .sn-allergen-detail .sn-allergen-items-table thead {
    display: none;
  }

  .sn-allergen-detail .sn-allergen-items-table tbody {
    display: block;
    width: 100%;
  }

  .sn-allergen-detail .sn-allergen-items-table tbody tr {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 12px;
    border: 1px solid #D8D6D0;
    border-radius: 8px;
    overflow: hidden;
  }

  .sn-allergen-detail .sn-allergen-items-table tbody tr:last-child {
    margin-bottom: 0;
  }

  .sn-allergen-detail .sn-allergen-items-table tbody td {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
    border: none;
    border-bottom: 1px solid #E8E6E0;
    padding: 8px 12px;
    font-size: 12.5px;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  .sn-allergen-detail .sn-allergen-items-table tbody td:last-child {
    border-bottom: none;
  }

  .sn-allergen-detail .sn-allergen-items-table tbody td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 3px;
    font-size: 10.5px;
    font-weight: 800;
    color: #8B2E2E;
  }

  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-target-cell,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-target-cell--long,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-target-cell--lines,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-target-cell--merged,
  .sn-allergen-detail .sn-allergen-article--ikari #sn-allergen-section-2 .sn-allergen-target-cell--merged,
  .sn-allergen-detail .sn-allergen-tier-cell,
  .sn-allergen-detail .sn-allergen-category-cell,
  .sn-allergen-detail .sn-allergen-method-cell,
  .sn-allergen-detail .sn-allergen-sample-cell {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-target-cell,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-target-cell--long,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-target-cell--lines {
    line-height: 1.65;
  }

  .sn-allergen-detail .sn-allergen-article--ikari .sn-allergen-category-cell,
  .sn-allergen-detail .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-category-cell,
  .sn-allergen-detail .sn-allergen-article--shokuhin-kankyo-eisei .sn-allergen-category-cell {
    white-space: normal;
  }

  .sn-allergen-method-matrix {
    min-width: 0;
  }

  .sn-allergen-method-matrix thead {
    display: none;
  }

  .sn-allergen-method-matrix tbody tr {
    display: block;
    margin-bottom: 12px;
    border: 1px solid #D8D6D0;
    border-radius: 8px;
    overflow: hidden;
  }

  .sn-allergen-method-matrix tbody tr:last-child {
    margin-bottom: 0;
  }

  .sn-allergen-method-matrix tbody td {
    display: block;
    border: none;
    border-bottom: 1px solid #E8E6E0;
    padding: 10px 12px;
  }

  .sn-allergen-method-matrix tbody td:last-child {
    border-bottom: none;
  }

  .sn-allergen-method-matrix tbody td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 800;
    color: #8B2E2E;
  }

  .sn-allergen-method-matrix-cell {
    padding: 12px !important;
  }

  /* 詳細ページ：モバイル文字サイズ・余白 */
  .sn-allergen-detail .sn-allergen-detail-header {
    margin-bottom: 1.25rem;
  }

  .sn-allergen-detail .sn-allergen-detail-header + .sn-allergen-card-feature {
    margin: -0.25rem 0 1.25rem;
    font-size: 13px;
    line-height: 1.65;
  }

  .sn-allergen-detail .sn-allergen-detail-sections {
    margin-top: 1.75rem;
  }

  .sn-allergen-detail .sn-allergen-detail-section {
    margin-bottom: 1.75rem;
  }

  .sn-allergen-detail .sn-allergen-detail-section-title,
  .sn-allergen-detail .sn-allergen-article--ikari .sn-allergen-detail-section-title,
  .sn-allergen-detail .sn-allergen-article--nihon-shokuhin-bunseki-center .sn-allergen-detail-section-title {
    gap: 8px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.5;
  }

  .sn-allergen-detail .sn-allergen-detail-section-num {
    min-width: 22px;
    height: 22px;
    padding: 0 5px;
    font-size: 11px;
    border-radius: 5px;
  }

  .sn-allergen-detail .sn-allergen-detail-section-intro {
    margin: -2px 0 10px;
    font-size: 12px;
    line-height: 1.65;
  }

  .sn-allergen-detail .sn-allergen-service-blocks {
    gap: 1rem;
  }

  .sn-allergen-detail .sn-allergen-service-block-title {
    padding: 12px 14px;
    font-size: 14px;
  }

  .sn-allergen-detail .sn-allergen-service-field-label {
    padding: 10px 14px 4px;
    font-size: 11.5px;
  }

  .sn-allergen-detail .sn-allergen-service-field-value {
    padding: 0 14px 12px;
    font-size: 12.5px;
  }

  /*
   * 詳細ページ品目表：値テキストサイズ統一（全企業・全区分・全項目）
   * 基準 12.5px ／ 検査方法名のみ 13.5px ／ 検査方法注記のみ 11.5px
   */
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-category-label,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-target-cell,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-target-line,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-plain-line,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-tier-cell,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-sample-cell,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-tier-label,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-tier-value,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-tier-value-line,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-tier-line,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-tier--label-only .sn-allergen-tier-label,
  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-method-join {
    font-size: 12.5px;
    line-height: 1.65;
  }

  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-method-name {
    font-size: 13.5px;
    line-height: 1.65;
  }

  .sn-allergen-detail .sn-allergen-items-table .sn-allergen-method-note {
    font-size: 11.5px;
    line-height: 1.65;
  }

  .sn-allergen-detail .sn-allergen-point-table {
    font-size: 12.5px;
    line-height: 1.65;
  }

  .sn-allergen-detail .sn-allergen-point-table th {
    font-size: 11.5px;
  }

  .sn-allergen-detail .sn-allergen-method-matrix {
    font-size: 12.5px;
    line-height: 1.65;
  }

  .sn-allergen-detail .sn-allergen-method-matrix tbody tr {
    margin-bottom: 10px;
  }

  .sn-allergen-detail .sn-allergen-method-matrix tbody td {
    padding: 8px 12px;
  }

  .sn-allergen-detail .sn-allergen-method-matrix tbody td::before {
    margin-bottom: 3px;
    font-size: 10.5px;
  }

  .sn-allergen-detail .sn-allergen-method-matrix-cell {
    padding: 10px !important;
  }
}

/* ---------------- 横断比較表 ---------------- */
.sn-allergen-cross-comparison {
  --paper: #fafaf8;
  --panel: #ffffff;
  --ink: #1d2024;
  --ink-soft: #6b6f68;
  --line: #e4e1d8;
  --accent: #8b2e2e;
  --accent-soft: #f6e9e7;
  --blue: #2c4a6e;
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-bottom: 2rem;
  max-width: 100%;
  min-width: 0;
}

.sn-allergen-cross-comparison[hidden] {
  display: none !important;
}

.sn-allergen-cross-block[hidden] {
  display: none !important;
}

.sn-allergen-cross-heading {
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.5;
  text-align: center;
}

.sn-allergen-cross-table-wrap {
  overflow-x: visible;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.sn-allergen-cross-scroll-hint {
  display: none;
}

.sn-allergen-cross-table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  font-size: 13px;
  line-height: 1.5;
  background: #fff;
}

.sn-allergen-cross-col-company {
  width: 14%;
}

.sn-allergen-cross-col-method {
  width: 12%;
}

.sn-allergen-cross-col-target {
  width: 32%;
}

.sn-allergen-cross-col-price {
  width: 20%;
}

.sn-allergen-cross-col-lead {
  width: 16%;
}

.sn-allergen-cross-col-link {
  width: 6%;
}

.sn-allergen-cross-table th,
.sn-allergen-cross-table td {
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid #e4e1d8;
  vertical-align: middle;
  text-align: left;
  background: #fff;
  color: #1d2024;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.sn-allergen-cross-table thead th {
  background: #f3f1ea;
  color: #6b6f68;
  font-size: 12px;
  font-weight: 700;
  white-space: normal;
  line-height: 1.4;
}

.sn-allergen-cross-row--pr > td {
  background: #f6e9e7;
}

.sn-allergen-cross-company {
  min-width: 0;
  word-break: break-word;
}

.sn-allergen-cross-company--merged,
.sn-allergen-cross-link--merged {
  vertical-align: middle;
}

.sn-allergen-cross-target {
  min-width: 0;
  width: auto;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.sn-allergen-cross-method {
  min-width: 0;
  width: auto;
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.45;
}

.sn-allergen-cross-target .sn-allergen-target-line {
  display: block;
}

.sn-allergen-cross-target .sn-allergen-target-line + .sn-allergen-target-line {
  margin-top: 4px;
}

.sn-allergen-cross-target .sn-allergen-plain-line {
  display: block;
}

.sn-allergen-cross-target .sn-allergen-plain-line + .sn-allergen-plain-line {
  margin-top: 4px;
}

.sn-allergen-cross-target-note {
  display: block;
  margin-top: 4px;
  color: #8B2E2E;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.45;
}

.sn-allergen-cross-price,
.sn-allergen-cross-lead {
  min-width: 0;
  white-space: normal;
}

.sn-allergen-cross-link {
  width: 1%;
  min-width: 0;
  white-space: nowrap;
  text-align: center;
}

.sn-allergen-cross-table thead th:last-child {
  white-space: nowrap;
  text-align: center;
}

.sn-allergen-cross-company-name {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
}

.sn-allergen-cross-company-name .sn-allergen-method-iso-badge--boxed {
  margin-top: 0;
  font-size: 10px;
  padding: 2px 6px;
}

.sn-allergen-cross-company-label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: break-word;
  word-break: break-word;
}

.sn-allergen-cross-pr-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  margin-right: 6px;
  padding: 3px 8px;
  border-radius: 4px;
  background: var(--accent);
  color: #fff;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.4;
  vertical-align: middle;
}

.sn-allergen-cross-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1.5px solid var(--accent);
  border-radius: 6px;
  background: #fff;
  color: var(--accent);
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sn-allergen-cross-link-btn:hover {
  background: var(--accent);
  color: #fff;
  text-decoration: none;
}

.sn-allergen-cross-link-icon {
  display: block;
}

.sn-cross-tier-stack {
  display: block;
}

.sn-cross-tier {
  display: block;
  margin-bottom: 4px;
}

.sn-cross-tier:last-child {
  margin-bottom: 0;
}

.sn-cross-tier-label {
  display: inline-block;
  margin-right: 4px;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  vertical-align: baseline;
}

.sn-cross-tier-value {
  display: inline;
  font-size: 13px;
  color: #1d2024;
  line-height: 1.45;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.sn-cross-tier-value-line {
  display: block;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.sn-cross-tier-value-line + .sn-cross-tier-value-line {
  margin-top: 2px;
}

.sn-cross-inquiry {
  color: #b4b0a5;
  font-size: 13px;
}

.sn-allergen-cross-row[hidden] {
  display: none;
}

@media (max-width: 991px) {
  .sn-allergen-cross-table-wrap {
    overflow-x: visible;
    border: none;
    border-radius: 0;
    background: transparent;
  }

  .sn-allergen-cross-table {
    width: 100%;
    min-width: 0;
    font-size: 13px;
  }

  .sn-allergen-cross-table colgroup {
    display: none;
  }

  .sn-allergen-cross-table thead {
    display: none;
  }

  .sn-allergen-cross-table tbody {
    display: block;
  }

  .sn-allergen-cross-row {
    display: block;
    margin-bottom: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
  }

  .sn-allergen-cross-row:last-child {
    margin-bottom: 0;
  }

  .sn-allergen-cross-row--pr {
    border-color: #e8c9c4;
  }

  .sn-allergen-cross-row > td {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none;
    border: none;
    border-bottom: 1px solid #eceae3;
    padding: 10px 12px;
  }

  .sn-allergen-cross-row > td:last-child {
    border-bottom: none;
  }

  .sn-allergen-cross-row > td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    font-size: 10.5px;
    font-weight: 800;
    color: var(--accent);
    line-height: 1.4;
  }

  .sn-allergen-cross-company {
    background: #f3f1ea;
    border-bottom: 1px solid var(--line) !important;
  }

  .sn-allergen-cross-company::before {
    content: none;
    display: none;
  }

  .sn-allergen-cross-company-label {
    font-size: 15px;
  }

  .sn-allergen-cross-company-name .sn-allergen-method-iso-badge--boxed {
    font-size: 10.5px;
    padding: 3px 7px;
  }

  .sn-allergen-cross-link {
    text-align: left;
  }

  .sn-allergen-cross-link::before {
    display: inline-block;
    margin-bottom: 0;
    margin-right: 8px;
    vertical-align: middle;
  }

  .sn-allergen-cross-link-btn {
    vertical-align: middle;
  }

  .sn-allergen-cross-heading {
    font-size: 15px;
  }
}
