/* AP01の寸法・書体・余白を維持し、Slickの構造依存だけを置換する。 */
.works-slider .slide-image img { display:block; width:100%; height:auto; }
.works-slider[data-ready] > .slide-item[hidden] { display:none; }
.works-slider:focus-visible { outline:2px solid currentColor; outline-offset:-3px; }
.works-slider .slide-content:hover,
.works-slider .slide-content:focus-within,
.works-slider.is-detail .slide-content { opacity:1; visibility:visible; pointer-events:auto; }
.fixed-title a { color:inherit; text-decoration:none; }
.fadein { opacity:1; transform:none; }
/* 単一のリスト構造に合わせ、ボタンの下から配置する。 */
#nav ul.rail-menu {
  top:calc(env(safe-area-inset-top) + 96px);
  right:calc(env(safe-area-inset-right) + 39px);
  width:26px;
  align-items:center;
  transform:none;
}
@media screen and (max-width:1024px) {
  #nav ul.rail-menu {
    top:calc(env(safe-area-inset-top) + 84px);
    right:calc(env(safe-area-inset-right) + 29px);
  }
}
#toggle-works { border:0; background:none; font:inherit; color:inherit; cursor:pointer; }
#accordion-works { visibility:hidden; pointer-events:none; }
#accordion-works.open { height:45dvh; visibility:visible; pointer-events:auto; }
.ap02-skip { position:fixed; top:0; left:0; transform:translateY(-150%); z-index:1000; background:#fff; padding:8px 16px; }
.ap02-skip:focus { transform:none; }
@media screen and (max-width:1024px) {
  .works-slider .slide-image img { height:100%; aspect-ratio:4 / 5; object-fit:cover; }
  #accordion-works.open { height:50dvh; }
}
@media screen and (max-width:767px) {
  .works-slider .slide-content { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
