@charset "UTF-8";

.classification-hero .lead { max-width: 880px; }
.classification-figure { margin: 22px 0 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #edf6fa; box-shadow: 0 10px 28px rgba(18,59,99,.10); }
.classification-figure img { display: block; width: 100%; height: auto; }
.classification-figure figcaption { border-top: 1px solid var(--line); background: #fff; }

.taxonomy-correction { margin-top: 22px; border-left: 6px solid #a9473e; background: #fff6f3; }
.taxonomy-correction strong { color: #7c2d27; }
.taxonomy-levels { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); gap: 12px; align-items: stretch; margin-top: 18px; }
.taxonomy-level { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.taxonomy-level__label { display: inline-block; margin-bottom: 7px; padding: 3px 9px; border-radius: 999px; background: var(--cyan); color: #195e7d; font-size: .78rem; font-weight: 850; }
.taxonomy-level strong { display: block; color: var(--navy); font-size: 1.12rem; }
.taxonomy-level small { display: block; margin-top: 5px; color: var(--muted); line-height: 1.55; }
.taxonomy-arrow { align-self: center; color: var(--blue); font-size: 1.65rem; font-weight: 900; }

.major-group-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; margin-top: 20px; }
.major-group-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 6px 19px rgba(18,59,99,.055); }
.major-group-card__head { display: flex; align-items: center; gap: 11px; margin-bottom: 10px; }
.major-group-code { display: inline-grid; place-items: center; flex: 0 0 auto; min-width: 48px; min-height: 40px; padding: 0 10px; border-radius: 14px; background: var(--navy); color: #fff; font-size: 1.08rem; font-weight: 900; }
.major-group-card h3 { margin: 0; color: var(--navy); font-size: 1.08rem; }
.major-group-card p { margin: 0 0 11px; color: #405664; font-size: .93rem; line-height: 1.65; }
.major-group-card ul { margin: 0 0 12px; padding-left: 1.25rem; color: #526773; font-size: .88rem; }
.major-group-card a { font-weight: 750; }
.major-group-card--c { background: #f2f8fc; }
.major-group-card--p { background: #f1fafb; }
.major-group-card--cp { background: #f4f7fc; }
.major-group-card--a { background: #f8f6fd; }
.major-group-card--r { background: #f3faf6; }
.major-group-card--g { background: #fbfaef; }
.major-group-card--i { background: #f8f7f4; }
.major-group-card--h { background: #fff6f3; }

.classification-guide { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 17px; }
.classification-guide article { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.classification-guide .step-no { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 10px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 900; }
.classification-guide h3 { margin: 0 0 6px; color: var(--navy); font-size: 1.04rem; }
.classification-guide p { margin: 0; color: #4a606d; font-size: .91rem; }

.plane-type-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-top: 20px; }
.plane-type-card { display: flex; flex-direction: column; min-height: 100%; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.plane-type-card__code { display: inline-block; width: fit-content; margin-bottom: 9px; padding: 3px 10px; border-radius: 999px; background: var(--navy); color: #fff; font-weight: 900; }
.plane-type-card h3 { margin: 0 0 7px; color: var(--navy); font-size: 1.05rem; }
.plane-type-card p { margin: 0 0 13px; color: #495f6c; font-size: .91rem; line-height: 1.63; }
.plane-type-card a { margin-top: auto; font-weight: 760; }

.unclassified-note { margin-top: 20px; padding: 18px; border: 1px solid #e8d7a6; border-left: 6px solid #b47b13; border-radius: 14px; background: #fffaf0; }
.unclassified-note h3 { margin: 0 0 8px; color: #6a4b12; }
.unclassified-note p { margin: 0 0 10px; }
.unclassified-note p:last-child { margin-bottom: 0; }

.example-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; margin-top: 18px; }
.example-card { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 6px 18px rgba(18,59,99,.055); }
.example-card picture, .example-card img { display: block; width: 100%; }
.example-card img { aspect-ratio: 4/3; object-fit: cover; }
.example-card__body { padding: 14px 15px 16px; }
.example-card__code { color: var(--blue-dark); font-size: .82rem; font-weight: 900; }
.example-card h3 { margin: 4px 0 6px; color: var(--navy); font-size: 1.03rem; }
.example-card p { margin: 0 0 10px; color: #4c626e; font-size: .89rem; }
.example-card a { font-weight: 760; }

.code-reader { display: grid; grid-template-columns: auto 1fr; gap: 14px 17px; align-items: center; margin-top: 18px; }
.code-sample { display: inline-grid; place-items: center; min-width: 96px; min-height: 64px; padding: 10px; border-radius: 16px; background: var(--navy); color: #fff; font-size: 1.45rem; font-weight: 900; letter-spacing: .04em; }
.code-reader p { margin: 0; }

.classification-source { padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-soft); }
.classification-source p { margin: 0 0 12px; }
.classification-source p:last-child { margin-bottom: 0; }

@media (max-width: 980px) {
  .major-group-grid, .plane-type-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .example-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 840px) {
  .taxonomy-levels { grid-template-columns: 1fr; }
  .taxonomy-arrow { transform: rotate(90deg); justify-self: center; }
  .classification-guide { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .major-group-grid, .plane-type-grid, .example-grid { grid-template-columns: 1fr; }
  .classification-figure { border-radius: 13px; }
  .classification-figure figcaption { padding: 11px 12px; }
  .code-reader { grid-template-columns: 1fr; }
  .code-sample { width: fit-content; }
}

.classification-comparison { margin-top: 28px; padding-top: 4px; }
.classification-comparison > h3 { margin: 0 0 8px; color: var(--navy); font-size: clamp(1.2rem, 2.2vw, 1.55rem); }
.classification-comparison > p { max-width: 960px; margin: 0 0 14px; }
.classification-figure--comparison { margin-top: 14px; background: #f3f9fc; }

.cp-structure-detail { margin-top: 30px; padding-top: 2px; }
.cp-structure-detail > h3 { margin: 0 0 9px; color: var(--navy); font-size: clamp(1.24rem, 2.2vw, 1.6rem); }
.cp-structure-detail > p { max-width: 980px; margin: 0 0 14px; }
.classification-figure--cp-detail { margin-top: 14px; background: #f3f9fc; }
.cp-definition-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 15px; }
.cp-definition-grid article { padding: 14px 16px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.cp-definition-grid h4 { margin: 0 0 5px; color: var(--navy); font-size: 1rem; }
.cp-definition-grid p { margin: 0; color: #4b616e; font-size: .91rem; line-height: 1.63; }
@media (max-width: 640px) { .cp-definition-grid { grid-template-columns: 1fr; } }
