/* Shared product-card layout: intrinsic text must never size or cross its grid track. */
article[data-main="product"].new_product > .inr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.3fr);
  gap: 32px;
  align-items: center;
  padding: 0 40px;
}
article[data-main="product"].new_product .title {
  width: auto; min-width: 0; padding: 0;
}
article[data-main="product"].new_product .title h2 {
  max-width: 100%; font-size: clamp(32px, 3vw, 48px); line-height: 1.3;
  white-space: normal; word-break: normal; overflow-wrap: anywhere;
}
article[data-main="product"].new_product .title h2 + p {
  max-width: 100%; font-size: 18px; line-height: 1.75; letter-spacing: 0;
  white-space: normal; word-break: normal; overflow-wrap: anywhere;
}
article[data-main="product"].new_product .title .box_btn { margin-top: 40px; }
article[data-main="product"].new_product .box_product {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px; width: auto; min-width: 0; margin: 0;
}
article[data-main="product"].new_product [data-mainproduct] {
  width: auto; min-width: 0; height: auto; min-height: 560px;
  margin: 0; padding: 88px 20px 32px; isolation: isolate;
}
article[data-main="product"].new_product [data-mainproduct] em {
  font-size: 26px; line-height: 1.4; letter-spacing: 0;
  white-space: normal; word-break: keep-all; overflow-wrap: normal;
}
article[data-main="product"].new_product .text-unit {
  display: inline-block; white-space: nowrap;
}
article[data-main="product"].new_product .company-name,
article[data-main="product"].new_product .company-legal { display: block; white-space: nowrap; }
article[data-main="product"].new_product [data-mainproduct] ul { margin-top: 24px; }
article[data-main="product"].new_product [data-mainproduct] ul > li { padding: 16px 0; }
article[data-main="product"].new_product [data-mainproduct] ul > li a {
  max-width: 100%; font-size: 17px; line-height: 1.65; letter-spacing: 0;
  white-space: normal; word-break: normal; overflow-wrap: anywhere;
}
article[data-main="product"].new_product [data-mainproduct] .obj_img:before {
  opacity: 1; background: linear-gradient(180deg, rgba(0,0,0,.48), rgba(0,0,0,.62));
}
@media (max-width: 1279px) {
  article[data-main="product"].new_product > .inr { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  article[data-main="product"].new_product .title { max-width: 720px; }
  article[data-main="product"].new_product [data-mainproduct] { min-height: 500px; padding-top: 64px; }
}
@media (max-width: 767px) {
  article[data-main="product"].new_product > .inr { padding: 0 20px; }
  article[data-main="product"].new_product .box_product { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  article[data-main="product"].new_product [data-mainproduct] { min-height: 400px; padding: 48px 28px 32px; }
  article[data-main="product"].new_product .title h2 { font-size: 32px; }
  article[data-main="product"].new_product .title h2 + p { font-size: 16px; }
}
