---
id: 6140f4b5c1555a2960de1e5f
title: ステップ 22
challengeType: 0
dashedName: step-22
---

# --description--

`@keyframes` ルールをもう一つ、`cabins` という名前で作成してください。 `@keyframes wheel` の `0%` と `100%` ルールをコピーして、同じプロパティを使用しますが、`100%` セレクターの `transform` プロパティは `rotate(-360deg)` に設定してください。

# --hints--

`@keyframes` ルールが必要です。

```js
assert(new __helpers.CSSHelp(document).getCSSRules('keyframes')?.length === 2);
```

新しい `@keyframes` ルールには `cabins` という名前をつける必要があります。

```js
const rules = new __helpers.CSSHelp(document).getCSSRules('keyframes');
assert(rules?.[0]?.name === 'cabins' || rules?.[1]?.name === 'cabins');
```

新しい `@keyframes` ルールは `@keyframes wheel` ルールの後に置く必要があります。

```js
assert(new __helpers.CSSHelp(document).getCSSRules('keyframes')?.[1]?.name === 'cabins');
```

`@keyframes wheel` ルールの名前は変更しないでください。

```js
assert(new __helpers.CSSHelp(document).getCSSRules('keyframes')?.[0]?.name === 'wheel');
```

`@keyframes cabins` ルールには `0%` セレクターが必要です。

```js
assert(new __helpers.CSSHelp(document).getCSSRules('keyframes')?.[1]?.cssRules?.[0]?.keyText === '0%');
```

`0%` セレクターの `transform` プロパティを `rotate(0deg)` に設定する必要があります。

```js
assert(new __helpers.CSSHelp(document).getCSSRules('keyframes')?.[1]?.cssRules?.[0]?.style?.transform === 'rotate(0deg)');
```

`@keyframes cabins` ルールには `100%` セレクターが必要です。

```js
const rules = new __helpers.CSSHelp(document).getCSSRules('keyframes')?.[1]?.cssRules
assert(rules?.[0]?.keyText === '100%' || rules?.[1]?.keyText === '100%');
```

`100%` セレクターは `0%` セレクターの後に置く必要があります。

```js
assert(new __helpers.CSSHelp(document).getCSSRules('keyframes')?.[1]?.cssRules?.[1]?.keyText === '100%')
```

`100%` セレクターの `transform` プロパティを `rotate(-360deg)` に設定する必要があります。

```js
assert(new __helpers.CSSHelp(document).getCSSRules('keyframes')?.[1]?.cssRules?.[1]?.style?.transform === 'rotate(-360deg)')
```


# --seed--

## --seed-contents--

```html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Ferris Wheel</title>
    <link rel="stylesheet" href="./styles.css">
  </head>
  <body>
    <div class="wheel">
      <span class="line"></span>
      <span class="line"></span>
      <span class="line"></span>
      <span class="line"></span>
      <span class="line"></span>
      <span class="line"></span>

      <div class="cabin"></div>
      <div class="cabin"></div>
      <div class="cabin"></div>
      <div class="cabin"></div>
      <div class="cabin"></div>
      <div class="cabin"></div>
    </div>
  </body>
</html>
```

```css
.wheel {
  border: 2px solid black;
  border-radius: 50%;
  margin-left: 50px;
  position: absolute;
  height: 55vw;
  width: 55vw;
  max-width: 500px;
  max-height: 500px;
  animation-name: wheel;
  animation-duration: 10s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.line {
  background-color: black;
  width: 50%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: 0% 0%;
}

.line:nth-of-type(2) {
  transform: rotate(60deg);
}
.line:nth-of-type(3) {
  transform: rotate(120deg);
}
.line:nth-of-type(4) {
  transform: rotate(180deg);
}
.line:nth-of-type(5) {
  transform: rotate(240deg);
}
.line:nth-of-type(6) {
  transform: rotate(300deg);
}

.cabin {
  background-color: red;
  width: 20%;
  height: 20%;
  position: absolute;
  border: 2px solid;
  transform-origin: 50% 0%;
}

.cabin:nth-of-type(1) {
  right: -8.5%;
  top: 50%;
}
.cabin:nth-of-type(2) {
  right: 17%;
  top: 93.5%;
}
.cabin:nth-of-type(3) {
  right: 67%;
  top: 93.5%;
}
.cabin:nth-of-type(4) {
  left: -8.5%;
  top: 50%;
}
.cabin:nth-of-type(5) {
  left: 17%;
  top: 7%;
}
.cabin:nth-of-type(6) {
  right: 17%;
  top: 7%;
}

@keyframes wheel {
   0% {
     transform: rotate(0deg);
   }
   100% {
     transform: rotate(360deg);
   }
}

--fcc-editable-region--

--fcc-editable-region--
```
