/* J-FLOOR 研削機ページ v1.2 */
.page-machine-cutter .works-loop-hero {
  position: relative;
  height: 300px;
  overflow: hidden;
  background: #eef6fb;
  border-bottom: 1px solid rgba(5, 38, 79, .08);
}
.page-machine-cutter .works-loop-hero__stage,
.page-machine-cutter .works-loop-hero__track {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.page-machine-cutter .works-loop-hero__track {
  display: flex;
  width: max-content;
  height: 100%;
  overflow: visible;
  will-change: transform;
  animation: jfWorksCityLoop 50s linear infinite;
}
.page-machine-cutter .works-loop-hero__image {
  width: auto;
  height: 100%;
  max-width: none;
  flex: 0 0 auto;
  object-fit: contain;
  object-position: center;
  display: block;
  user-select: none;
  pointer-events: none;
}
@keyframes jfWorksCityLoop {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}
@media (prefers-reduced-motion: reduce) {
  .page-machine-cutter .works-loop-hero__track { animation: none; }
}
.page-machine-cutter .works-loop-hero__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.96) 28%, rgba(255,255,255,.72) 41%, rgba(255,255,255,.18) 58%, rgba(255,255,255,0) 100%),
    linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 55%, rgba(255,255,255,.20) 100%);
  z-index: 1;
}
.page-machine-cutter .works-loop-hero__inner {
  position: relative;
  z-index: 3;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page-machine-cutter .works-loop-hero__content {
  width: min(520px, 46vw);
  padding-left: 18px;
}
.page-machine-cutter .works-loop-hero__en {
  margin: 0 0 8px;
  color: #c8a24a;
  font-size: 16px;
  line-height: 1;
  letter-spacing: .18em;
  font-weight: 800;
}
.page-machine-cutter .works-loop-hero h1 {
  color: #05264f;
  font-size: clamp(34px, 3.2vw, 48px);
  line-height: 1.08;
  letter-spacing: .08em;
  margin: 0;
  font-weight: 900;
}
.page-machine-cutter .works-loop-hero h1::after {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  background: #c8a24a;
  margin-top: 14px;
}
.page-machine-cutter .works-loop-hero__breadcrumb {
  position: absolute;
  left: 18px;
  bottom: 16px;
  margin: 0;
  padding: 0;
  z-index: 4;
  font-size: 12px;
}
.page-machine-cutter .works-loop-hero__breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 7px 12px;
  list-style: none;
  white-space: nowrap;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(5,38,79,.10);
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(5,38,79,.08);
  backdrop-filter: blur(6px);
}
.page-machine-cutter .works-loop-hero__breadcrumb li,
.page-machine-cutter .works-loop-hero__breadcrumb a {
  color: rgba(5,38,79,.72);
  text-decoration: none;
}
.page-machine-cutter .works-loop-hero__breadcrumb li + li::before {
  content: "/";
  margin-right: 8px;
  color: rgba(5,38,79,.35);
}


/* v2.2: 元画像13枚を余白トリミングして直接表示。高さ基準＋自然幅で密に永久横流れ */
.page-machine-cutter .machine-hero__stage {
  overflow: hidden;
  background: #fff;
}
.page-machine-cutter .machine-hero__track {
  position: absolute;
  inset: 0 auto 0 0;
  display: flex;
  width: max-content;
  height: 100%;
  overflow: visible;
  will-change: transform;
  animation: jfMachineHeroLoop 160s linear infinite;
}
.page-machine-cutter .machine-hero__set {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 34px;
  height: 100%;
  padding-right: 34px;
}
.page-machine-cutter .machine-hero__item {
  display: flex;
  flex: 0 0 auto;
  width: auto;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.page-machine-cutter .machine-hero__item img {
  display: block;
  width: auto;
  height: 258px;
  max-width: none;
  max-height: calc(100% - 20px);
  object-fit: contain;
  object-position: center;
  user-select: none;
  pointer-events: none;
}
@keyframes jfMachineHeroLoop {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(-50%,0,0); }
}
@media (max-width: 960px) {
  .page-machine-cutter .machine-hero__set { gap: 28px; padding-right: 28px; }
  .page-machine-cutter .machine-hero__item img { height: 238px; max-height: calc(100% - 18px); }
}
@media (max-width: 640px) {
  .page-machine-cutter .machine-hero__set { gap: 22px; padding-right: 22px; }
  .page-machine-cutter .machine-hero__item img { height: 216px; max-height: calc(100% - 16px); }
}
@media (prefers-reduced-motion: reduce) {
  .page-machine-cutter .machine-hero__track { animation: none; }
}

.cutter-list{padding:100px 0 110px;background:#fff}.cutter-section-head{text-align:center;max-width:850px;margin:0 auto 48px}.cutter-section-head__en{margin:0 0 8px;color:#c8a24a;font-size:12px;font-weight:900;letter-spacing:.18em}.cutter-section-head h2{margin:0;color:#05264f;font-size:clamp(28px,3.4vw,38px);font-weight:900;line-height:1.3}.cutter-section-head h2::after{content:"";display:block;width:60px;height:3px;margin:18px auto 0;background:#c8a24a}.cutter-section-head>p:last-child{margin:26px auto 0;color:#4c5560;font-size:15px;line-height:2}
.cutter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 28px;max-width:1200px;margin:0 auto}.cutter-card{display:grid;grid-template-columns:43% 57%;min-height:310px;background:#fff;border:1px solid #dfe5eb;overflow:hidden}.cutter-card__image{min-width:0;background:#fff;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}.cutter-card__image img{display:block;width:100%;height:100%;max-height:274px;object-fit:contain;object-position:center;transform:scale(1.25);transform-origin:center center}.cutter-card__body{min-width:0;padding:20px 18px 18px}.cutter-card__title{display:flex;align-items:center;gap:13px;margin-bottom:12px}.cutter-card__title span{position:relative;color:#c8a24a;font-size:23px;font-weight:900;line-height:1;padding-right:31px}.cutter-card__title span::after{content:"";position:absolute;right:0;top:50%;width:23px;height:2px;background:#c8a24a}.cutter-card__title h3{margin:0;color:#05264f;font-size:24px;line-height:1.15;font-weight:900;letter-spacing:.03em}.cutter-card__summary{margin:0 0 14px;color:#35485c;font-size:12.5px;line-height:1.75}.cutter-spec{margin:0}.cutter-spec>div{display:grid;grid-template-columns:82px minmax(0,1fr);min-height:31px;border-bottom:2px solid #fff}
@media(min-width:961px){.cutter-card__summary{min-height:66px}.cutter-spec>div:nth-child(1){height:50px;min-height:50px}.cutter-spec>div:nth-child(2),.cutter-spec>div:nth-child(3){height:34px;min-height:34px}.cutter-spec>div:nth-child(4),.cutter-spec>div:nth-child(5){height:50px;min-height:50px}.cutter-spec dd{overflow-wrap:anywhere}}.cutter-spec dt,.cutter-spec dd{margin:0;padding:7px 9px;font-size:11.5px;line-height:1.45}.cutter-spec dt{display:flex;align-items:center;justify-content:center;background:#05264f;color:#fff;font-weight:800;letter-spacing:.08em}.cutter-spec dd{display:flex;align-items:center;background:#f0f3f6;color:#30445a}
@media(max-width:960px){.page-machine-cutter .works-loop-hero{height:280px}.cutter-hero__set{gap:28px}.cutter-hero__item{height:238px}.cutter-grid{grid-template-columns:1fr}.cutter-card{max-width:760px;width:100%;margin:0 auto}.cutter-list{padding:88px 0 96px}}
@media(max-width:640px){.page-machine-cutter .works-loop-hero{height:250px}.cutter-hero__set{gap:22px}.cutter-hero__item{height:216px}.page-machine-cutter .works-loop-hero__content{width:82%;padding-left:4px}.page-machine-cutter .works-loop-hero__lead{font-size:13px}.page-machine-cutter .works-loop-hero__breadcrumb{left:4px;bottom:10px;max-width:calc(100% - 8px);overflow:hidden}.page-machine-cutter .works-loop-hero__breadcrumb ol{padding:6px 9px;gap:6px}.cutter-list{padding:72px 0 82px}.cutter-section-head{margin-bottom:34px}.cutter-section-head>p:last-child{text-align:left;font-size:14px;line-height:1.9}.cutter-grid{gap:18px}.cutter-card{grid-template-columns:1fr;min-height:0}.cutter-card__image{height:245px;padding:18px 28px}.cutter-card__image img{max-height:215px}.cutter-card__body{padding:20px 16px 18px}.cutter-card__title h3{font-size:22px}.cutter-card__summary{font-size:13px}.cutter-spec>div{grid-template-columns:76px minmax(0,1fr)}.cutter-spec dt,.cutter-spec dd{font-size:11.5px}}
