/* 印刷・加工設備ページ専用。共通CSSへ影響させないため #Main 内に限定する。 */

body { background-color: #ffffff; }

#Contents,
#mein-Contents,
#Main { min-width: 0; box-sizing: border-box; }

#Contents { width: 100%; }

#Main .equipment-page-title {
  margin-bottom: 20px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#Main .equipment-lead {
  margin-bottom: 22px;
  padding: 28px;
  border: 1px solid #d5dce3;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffffff 0%, #f5f7f9 100%);
  color: #222222;
}

#Main .equipment-lead__label {
  margin: 0 0 6px;
  color: #3e647f;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

#Main .equipment-lead h2 {
  margin: 0 0 14px;
  color: #222222;
  font-size: clamp(1.35rem, 2.1vw, 1.85rem);
  line-height: 1.5;
  overflow-wrap: anywhere;
}

#Main .equipment-lead > p:last-of-type {
  margin: 0;
  color: #333333;
  line-height: 1.9;
}

#Main .equipment-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 22px;
}

#Main .equipment-summary div {
  display: flex;
  min-width: 0;
  min-height: 82px;
  flex-direction: column;
  justify-content: center;
  padding: 13px;
  border: 1px solid #dce2e7;
  border-radius: 8px;
  background: #ffffff;
  color: #333333;
  line-height: 1.5;
}

#Main .equipment-summary strong { color: #3e647f; font-size: 0.88rem; }
#Main .equipment-summary span { margin-top: 4px; font-weight: 700; overflow-wrap: anywhere; }

#Main .equipment-jump {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 36px;
}

#Main .equipment-jump a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 9px 7px;
  border: 1px solid #aabfce;
  border-radius: 6px;
  background: #f4f7f9;
  color: #2e536c;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
}

#Main .equipment-jump a:hover,
#Main .equipment-jump a:focus-visible { border-color: #4f7894; background: #e2ebf1; color: #183b52; }

#Main .equipment-section,
#Main .equipment-faq { margin-bottom: 46px; scroll-margin-top: 210px; color: #222222; }

#Main .equipment-heading {
  margin: 0 0 20px;
  padding: 13px 18px;
  border-left: 6px solid #4f7894;
  border-radius: 0 6px 6px 0;
  background: #f1f4f6;
  color: #222222;
  font-size: 1.35rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

#Main .equipment-card {
  display: grid;
  grid-template-columns: minmax(160px, 0.32fr) minmax(0, 0.68fr);
  gap: 22px;
  align-items: start;
  margin-bottom: 20px;
  padding: 22px;
  border: 1px solid #d7dde2;
  border-radius: 10px;
  background: #ffffff;
  color: #222222;
  scroll-margin-top: 210px;
}

#Main .equipment-card__image {
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #f9f9f9;
  text-align: center;
}

#Main .equipment-card__image img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

#Main .equipment-card__image--wide img { width: 100%; }
#Main .equipment-card__image figcaption,
#Main .equipment-pattern figcaption { margin-top: 8px; color: #555555; font-size: 0.8rem; line-height: 1.6; }

#Main .equipment-card__label {
  margin: 0 0 4px;
  color: #56768c;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

#Main .equipment-card h3 {
  margin: 0 0 12px;
  color: #345a73;
  font-size: 1.3rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

#Main .equipment-card__body > p:not(.equipment-card__label):not(.equipment-card__link) {
  margin: 0 0 14px;
  color: #333333;
  line-height: 1.85;
}

#Main .equipment-card__body > p:last-child { margin-bottom: 0; }

#Main .equipment-card__notice {
  margin: 4px 0 16px;
  padding: 16px;
  border: 1px solid #e8c8ca;
  border-radius: 8px;
  background: #fff7f7;
  color: #333333;
}

#Main .equipment-card__notice strong { display: block; margin-bottom: 7px; color: #9a1018; line-height: 1.55; overflow-wrap: anywhere; }
#Main .equipment-card__notice p { margin: 0; line-height: 1.8; }

#Main .equipment-card__link { margin: 16px 0 0; }
#Main .equipment-card__link a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 7px 13px;
  border: 1px solid #4f7894;
  border-radius: 6px;
  background: #f1f6f9;
  color: #234c66;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
}

#Main .equipment-card__link a:hover,
#Main .equipment-card__link a:focus-visible { background: #dfeaf1; color: #153a51; }

#Main .equipment-spec-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

#Main .equipment-spec-list li {
  min-width: 0;
  padding: 12px;
  border: 1px solid #dce2e7;
  border-radius: 7px;
  background: #f7f9fa;
  line-height: 1.55;
}

#Main .equipment-spec-list strong { display: block; color: #56768c; font-size: 0.8rem; }
#Main .equipment-spec-list span { display: block; margin-top: 3px; color: #222222; font-weight: 700; overflow-wrap: anywhere; }

#Main .equipment-pattern {
  grid-column: 1 / -1;
  margin: 4px 0 0;
  padding: 14px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #f9f9f9;
  text-align: center;
}

#Main .equipment-pattern img { display: block; width: 100%; max-width: 574px; height: auto; margin: 0 auto; }

#Main .equipment-faq__list { border-top: 1px solid #d5d5d5; }
#Main .equipment-faq details { border-bottom: 1px solid #d5d5d5; background: #ffffff; }
#Main .equipment-faq summary { padding: 16px 8px; color: #222222; font-weight: 700; line-height: 1.6; cursor: pointer; overflow-wrap: anywhere; }
#Main .equipment-faq details > div { padding: 0 10px 18px 28px; }
#Main .equipment-faq p { margin: 0; color: #333333; line-height: 1.8; }

#Main .equipment-related {
  margin: 8px 0 20px;
  padding: 24px;
  border: 1px solid #d8d8d8;
  border-radius: 10px;
  background: #f8f8f8;
  color: #222222;
  scroll-margin-top: 210px;
}

#Main .equipment-related h2 { margin: 0 0 16px; color: #222222; font-size: 1.3rem; line-height: 1.5; overflow-wrap: anywhere; }
#Main .equipment-related__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#Main .equipment-related__links a {
  display: flex;
  min-width: 0;
  min-height: 84px;
  flex-direction: column;
  justify-content: center;
  padding: 14px;
  border: 1px solid #d2d2d2;
  border-radius: 7px;
  background: #ffffff;
  color: #222222;
  line-height: 1.55;
  text-decoration: none;
  overflow-wrap: anywhere;
}

#Main .equipment-related__links a:hover,
#Main .equipment-related__links a:focus-visible { border-color: #4f7894; background: #eef3f6; color: #222222; }
#Main .equipment-related__links strong { color: #345a73; }
#Main .equipment-related__links span { margin-top: 4px; color: #555555; font-size: 0.86rem; }

@media screen and (max-width: 767px) {
  #Main .equipment-page-title { padding: 14px 16px; font-size: 1.5rem; }
  #Main .equipment-lead { padding: 20px 16px; }
  #Main .equipment-summary { grid-template-columns: 1fr; }
  #Main .equipment-summary div { min-height: 0; }
  #Main .equipment-jump { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #Main .equipment-heading { padding: 11px 13px; font-size: 1.16rem; }
  #Main .equipment-card { grid-template-columns: 1fr; padding: 16px; }
  #Main .equipment-card__image { width: min(100%, 320px); box-sizing: border-box; margin: 0 auto; }
  #Main .equipment-pattern { grid-column: auto; }
  #Main .equipment-related { padding: 16px; }
  #Main .equipment-related__links { grid-template-columns: 1fr; }
  #Main .equipment-related__links a { min-height: 0; }
}

@media screen and (max-width: 420px) {
  #Main .equipment-page-title { font-size: 1.36rem; }
  #Main .equipment-jump { grid-template-columns: 1fr; }
  #Main .equipment-spec-list { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  #Main .equipment-jump a,
  #Main .equipment-card__link a,
  #Main .equipment-related__links a { transition: none; }
}
