.kgkr {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: var(--kgkr-bg, #fff);
  color: #111;
  color-scheme: light;
  container-type: inline-size;
  container-name: kgkr;
  overflow: clip;
}

.kgkr,
.kgkr * { box-sizing: border-box; }

.kgkr .kgkr__inner {
  --kgkr-size: var(--kgkr-size-pc, 128px);
  position: relative;
  width: calc(100% - 64px);
  max-width: var(--kgkr-max-width, 1280px);
  height: calc(var(--kgkr-size) * .8125);
  margin: 0 auto;
  padding: 0;
}

.kgkr .kgkr__track {
  position: absolute;
  left: 0;
  right: 62px;
  bottom: 0;
  height: 100%;
  overflow: clip;
  pointer-events: none;
}

.kgkr .kgkr__traveler {
  position: absolute;
  left: 0;
  bottom: calc(var(--kgkr-size) * -.0703125);
  width: calc(var(--kgkr-size) * 1.30);
  height: var(--kgkr-size);
  will-change: transform;
}

.kgkr .kgkr__facing {
  width: var(--kgkr-size);
  height: var(--kgkr-size);
  transform-origin: 64% 50%;
}

.kgkr .kgkr__cel {
  width: 100%;
  height: 100%;
  background-image: var(--kgkr-sprite, url("kaitori-run.webp"));
  background-repeat: no-repeat;
  background-size: 200% 200%;
  background-position: 0% 0%;
}

.kgkr .kgkr__toggle {
  position: absolute;
  right: 0;
  bottom: clamp(4px, calc((var(--kgkr-size) * .8125 - 44px) / 2), 10px);
  display: block;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid #ccc;
  border-radius: 50%;
  background: #fff;
  color: #333;
  font: 500 12px/1.2 sans-serif;
  letter-spacing: 0;
  box-shadow: none;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
}

.kgkr .kgkr__toggle:hover { background: #f5f5f5; color: #111; }
.kgkr .kgkr__toggle:focus-visible { outline: 2px solid #111; outline-offset: -4px; }
.kgkr .kgkr__toggle:disabled { background: #fff; color: #555; cursor: default; opacity: 1; }

.kgkr .kgkr__sr {
  position: absolute;
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}

@container kgkr (max-width: 767px) {
  .kgkr .kgkr__inner {
    --kgkr-size: var(--kgkr-size-sp, 98px);
    width: calc(100% - 32px);
    height: calc(var(--kgkr-size) * .7959183673);
  }
  .kgkr .kgkr__track { right: 54px; }
  .kgkr .kgkr__traveler { bottom: calc(var(--kgkr-size) * -.0714285714); }
  .kgkr .kgkr__toggle { bottom: clamp(3px, calc((var(--kgkr-size) * .7959183673 - 44px) / 2), 6px); }
}

@media (prefers-reduced-motion: reduce) {
  .kgkr .kgkr__traveler { will-change: auto; }
}
