/* Works — Figma 2034:1179. */
.ys-page-works .text-green { color: var(--green); }
.ys-page-works .works-business-section .japanese-heading { color: var(--ink); }
.ys-page-works .works-business-photo,
.ys-page-works .works-feature-photo { position: relative; overflow: hidden; aspect-ratio: 515/290; }
.ys-page-works .works-business-photo { mask: url('../images/e34f4.svg') center/100% 100% no-repeat; }
.ys-page-works .works-feature-photo { mask: url('../images/b5f0d.png') center/100% 100% no-repeat; }
.ys-page-works .works-feature-photo img,
.ys-page-works .works-business-photo img { position: absolute; max-width: none; }
.ys-page-works .works-business-photo-1 img { width: 105.243%; height: 124.483%; object-fit: cover; left: -4.272%; top: 0; }
.ys-page-works .works-business-photo-2 img { width: 118.075%; height: auto; left: -13.744%; top: -24.355%; }
.ys-page-works .works-business-photo-3 img { width: 105.631%; height: auto; left: -5.546%; top: -84.668%; }
.ys-page-works .works-feature-photo-1 img { width: 121.165%; height: 121.034%; object-fit: cover; left: -16.311%; top: 0; }
.ys-page-works .works-feature-photo-2 img { width: 154.563%; height: 154.483%; object-fit: cover; left: -27.184%; top: -17.931%; }
.ys-page-works .works-feature-photo-3 img { width: 157.282%; height: 157.241%; object-fit: cover; left: -16.311%; top: -29.655%; }
.ys-page-works .works-feature-photo-4 img { width: 114.563%; height: 114.483%; object-fit: cover; left: -9.126%; top: -7.283%; }
.ys-page-works .works-feature-photo-5 img { width: 169.25%; height: 225.47%; left: -22.51%; top: -18.24%; }
.ys-page-works .business-method-image { position: relative; width: 238px; height: 238px; margin: 0 auto 24px; }
.ys-page-works .business-method-circle { width: 100%; height: auto; }
.ys-page-works .business-methods .method-icon { position: absolute; border: 0; border-radius: 0; padding: 0; width: 145px; height: auto; max-width: none; margin: 0; left: 46px; top: 49px; }
.ys-page-works .business-methods article:nth-child(2) .method-icon { width: 165px; left: 36px; top: 64px; }
.ys-page-works .business-methods article:nth-child(3) .method-icon { width: 183.184px; left: 27px; top: 81px; }
.ys-page-works .works-decorations { display: none; }
.ys-page-works .works-photo-strip { position: relative; overflow: hidden; height: 230px; }
.ys-page-works .works-photo-track { position: absolute; top: 0; left: calc(50% - 836px); display: flex; align-items: center; width: max-content; }
.ys-page-works .works-photo-set { display: flex; align-items: center; gap: 60px; padding-right: 60px; height: 230px; }
.ys-page-works .works-photo-set img { width: 250px; height: 190px; object-fit: cover; flex: none; }
.ys-page-works .works-photo-set img:nth-child(even) { width: 300px; height: 230px; }
.ys-page-works .business-heading > span { white-space: nowrap; }
.ys-page-works #features > .container > h2 > .works-features-title { color: var(--ink); }
.ys-page-works .qualifications > span { background: transparent; border: 0; padding: 0; color: var(--green); font-weight: 700; }

@media (min-width:1101px) {
  .ys-page-works .page-hero { margin-top: calc(-100 * var(--u)); }
  .ys-page-works main > .works-business-section { padding: calc(175 * var(--u)) 0 calc(100 * var(--u)); background: none; overflow: visible; }
  .ys-page-works main > .works-business-section::before,
  .ys-page-works main > .works-business-section::after,
  .ys-page-works #features::before,
  .ys-page-works #features::after { display: none; }
  .ys-page-works .works-business-section > .container > .japanese-heading { height: calc(48 * var(--u)); line-height: 1; margin: 0; }
  .ys-page-works .intro-lead { font-size: calc(20 * var(--u)); font-weight: 500; line-height: 2; margin: calc(40 * var(--u)) 0 0; }
  .ys-page-works .works-business-section .business-heading { height: calc(200 * var(--u)); margin: calc(100 * var(--u)) 0 calc(80 * var(--u)); }
  .ys-page-works .business-heading > span { top: 0; left: calc(-531 * var(--u)); font-size: calc(200 * var(--u)); line-height: 1; letter-spacing:.08em; color: var(--green); opacity: .1; }
  .ys-page-works .business-heading small { position: absolute; top: calc(94 * var(--u)); left: 0; right: 0; font-size: calc(48 * var(--u)); line-height: 1; }
  .ys-page-works .works-business-section .reason-row { margin: calc(80 * var(--u)) 0 0; height: calc(290 * var(--u)); min-height: 0; gap: calc(70 * var(--u)); align-items: start; }
  .ys-page-works .works-business-section #demolition { margin-top: 0; }
  .ys-page-works .works-business-photo,
  .ys-page-works .works-feature-photo { order: 2; }
  .ys-page-works .works-business-section .eyebrow { font-size: calc(24 * var(--u)); line-height: 1.1; margin: 0 0 calc(15.6 * var(--u)); color: var(--yellow); }
  .ys-page-works .works-business-section .reason-row h3 { font-size: calc(24 * var(--u)); line-height: calc(40 * var(--u)); margin: 0 0 calc(14 * var(--u)); color: var(--ink); }
  .ys-page-works .works-business-section .reason-row p:not(.eyebrow) { font-size: calc(16 * var(--u)); line-height: 2; margin: 0; font-weight: 500; }
  .ys-page-works #demolition h3 { color: #514943; }
  .ys-page-works #civil h3 { color: #514943; }
  .ys-page-works .works-business-section #partial h3 { line-height: 1; margin-bottom: calc(30 * var(--u)); }
  .ys-page-works .business-methods { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: calc(41 * var(--u)); margin: calc(80 * var(--u)) calc(-1 * var(--u)) calc(80 * var(--u)); height: calc(439 * var(--u)); min-height: 0; }
  .ys-page-works .business-methods article { padding: 0; }
  .ys-page-works .business-method-image { width: calc(238 * var(--u)); height: calc(238 * var(--u)); margin: 0 auto calc(24 * var(--u)); }
  .ys-page-works .business-methods .method-icon { width: calc(145 * var(--u)); height: auto; left: calc(46 * var(--u)); top: calc(49 * var(--u)); }
  .ys-page-works .business-methods article:nth-child(2) .method-icon { width: calc(165 * var(--u)); left: calc(36 * var(--u)); top: calc(64 * var(--u)); }
  .ys-page-works .business-methods article:nth-child(3) .method-icon { width: calc(183.184 * var(--u)); left: calc(27 * var(--u)); top: calc(81 * var(--u)); }
  .ys-page-works .business-methods h3 { font-size: calc(24 * var(--u)); line-height: 1; margin: 0 0 calc(21 * var(--u)); color: var(--green); text-align: center; }
  .ys-page-works .business-methods p { font-size: calc(16 * var(--u)); line-height: 2; margin: 0; font-weight: 500; color: #3a3a3a; }
  .ys-page-works .works-photo-strip { height: calc(294.13 * var(--u)); }
  .ys-page-works .works-photo-track { left: calc(50% - 1069 * var(--u)); }
  .ys-page-works .works-photo-set { gap: calc(98 * var(--u)); padding-right: calc(98 * var(--u)); height: calc(294.13 * var(--u)); }
  .ys-page-works .works-photo-set img { width: calc(322 * var(--u)); height: calc(242.83 * var(--u)); }
  .ys-page-works .works-photo-set img:nth-child(even) { width: calc(390 * var(--u)); height: calc(294.13 * var(--u)); }
  .ys-page-works #features { padding: calc(100 * var(--u)) 0 0; overflow: visible; }
  .ys-page-works .subpage-marquee { top: calc(100 * var(--u)); left: calc(-364 * var(--u)); right: auto; font-size: calc(200 * var(--u)); line-height: 1; color: var(--green); opacity: .1; white-space: nowrap; }
  .ys-page-works #features > .container > h2 { position: relative; display: flex; align-items: center; justify-content: center; height: calc(200 * var(--u)); font-size: calc(48 * var(--u)); line-height: 1; margin: 0 0 calc(100 * var(--u)); }
  .ys-page-works .works-features-title { position: relative; top: calc(11 * var(--u)); }
  .ys-page-works .feature-list { gap: calc(80 * var(--u)); }
  .ys-page-works .feature-list .split { align-items: start; min-height: calc(290 * var(--u)); gap: calc(70 * var(--u)); }
  .ys-page-works .feature-list h3 { height: calc(39 * var(--u)); font-size: calc(24 * var(--u)); line-height: 2; margin: 0 0 calc(15 * var(--u)); color: var(--green); }
  .ys-page-works .feature-list p { font-size: calc(16 * var(--u)); line-height: 2; font-weight: 500; margin: 0; }
  .ys-page-works .qualification-heading { font-size: calc(32 * var(--u)) !important; line-height: 1; height: calc(32 * var(--u)); margin: calc(80 * var(--u)) 0 calc(60 * var(--u)) !important; color: var(--green); }
  .ys-page-works #features .qualification-heading { line-height: 1; }
  .ys-page-works .qualifications { display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; gap: 0; margin: 0; height: calc(374.87 * var(--u)); font-size: calc(24 * var(--u)); line-height: 1.5; }
  .ys-page-works .qualifications > span { display: block; flex: none; width: calc(340 * var(--u)); }
  .ys-page-works .qualifications > span:last-child { width: calc(269.85 * var(--u)); }
  .ys-page-works .qualifications img { width: calc(267.323 * var(--u)); height: auto; max-width: none; margin: 0 auto calc(30 * var(--u)); }
  .ys-page-works .qualifications > span:nth-child(2) img { width: calc(273.024 * var(--u)); }
  .ys-page-works .qualifications > span:nth-child(3) img { width: calc(269.85 * var(--u)); }
  .ys-page-works .banner-point { left: 84.352%; top: 53.861%; width: 11.636%; height: 34.333%; right: auto; transform: rotate(48.93deg); }
  .ys-page-works .lp-banner { mask: url('../images/21a50.svg') center/100% 100% no-repeat; }
  .ys-page-works .works-decorations { display: block; position: absolute; inset: calc(-100 * var(--u)) 0 0; z-index: -1; pointer-events: none; }
  .ys-page-works .works-decorations::before { content: ''; position: absolute; width: calc(1234.72 * var(--u)); height: calc(814.19 * var(--u)); left: calc(1267 * var(--u)); top: calc(1018 * var(--u)); background: url('../images/a3d5a.svg') center/contain no-repeat; opacity: .2; }
  .ys-page-works .works-decorations::after { content: ''; position: absolute; width: calc(2468.093 * var(--u)); height: calc(542 * var(--u)); left: calc(995.0175 * var(--u)); top: calc(3434.2975 * var(--u)); transform: translate(-50%,-50%) rotate(13.89deg); background: #eefff0; }
  .ys-page-works .works-outline { position: absolute; border: calc(6 * var(--u)) solid var(--yellow); border-image: linear-gradient(to bottom,#eada2a,#79e06f) 1; }
  .ys-page-works .works-outline-a { width: calc(370.287 * var(--u)); height: calc(706.911 * var(--u)); left: calc(-175.606 * var(--u)); top: calc(3369.3795 * var(--u)); transform: rotate(-16.03deg); }
  .ys-page-works .works-outline-b { width: calc(349.505 * var(--u)); height: calc(667.237 * var(--u)); left: calc(1726.9575 * var(--u)); top: calc(4739.5445 * var(--u)); transform: rotate(24.83deg); }
  .ys-page-works .works-outline-c { width: calc(583.495 * var(--u)); height: calc(1113.944 * var(--u)); left: calc(1737.473 * var(--u)); top: calc(5155.631 * var(--u)); transform: rotate(15.91deg); }
  .ys-page-works .works-outline-d { width: calc(427.277 * var(--u)); height: calc(815.711 * var(--u)); left: calc(-256.421 * var(--u)); top: calc(5983.533 * var(--u)); transform: rotate(-157.74deg) scaleY(-1); }
}
@media (prefers-reduced-motion:no-preference) {
  .ys-page-works .works-photo-track { animation: ys-works-photos 48s linear infinite; }
  @keyframes ys-works-photos { to { translate: -50% 0; } }
}
@media (max-width:1100px) {
  .ys-page-works .works-desktop-break { display: none; }
  .ys-page-works .works-business-section { background: none; }
  .ys-page-works .works-business-photo { order: 2; }
  .ys-page-works .business-methods { gap: 24px; }
  .ys-page-works .business-method-image { width: 200px; height: 200px; }
  .ys-page-works .business-methods .method-icon { width: 122px; top: 41px; left: 39px; }
  .ys-page-works .business-methods article:nth-child(2) .method-icon { width: 139px; top: 54px; left: 30px; }
  .ys-page-works .business-methods article:nth-child(3) .method-icon { width: 154px; top: 68px; left: 23px; }
  .ys-page-works .business-heading > span { font-size: 90px; }
  .ys-page-works #features > .container > h2 { line-height: 1.6; }
}
@media (max-width:767px) {
  .ys-page-works .works-business-photo,
  .ys-page-works .works-feature-photo { order: 0; }
  .ys-page-works .business-methods { display: grid; grid-template-columns: 1fr; gap: 40px; margin: 45px 0; }
  .ys-page-works .business-methods article { padding: 0; }
  .ys-page-works .business-methods h3 { margin: 0 0 15px; }
  .ys-page-works .business-heading > span { left: -15px; font-size: 70px; }
  .ys-page-works .subpage-marquee { white-space: nowrap; left: -40px; right: auto; }
  .ys-page-works .qualifications { grid-template-columns: 1fr; gap: 40px; }
  .ys-page-works .qualifications img { width: 210px; height: auto; max-height: none; margin: 0 auto 20px; }
}
