small-bento-box {
  position: relative;
  max-width: calc(5 * 218px);
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background-color: var(--grey-200);

  @media (max-width: 1089px) {
    display: flex;
    flex-flow: row wrap;
  }

  @media (min-width: 1090px) {
    display: grid;
    grid-template-areas:  "a b b c c"
                          "d b b e f"
                          "g g h i i";
    grid-template-columns: repeat(5, 218px);
    grid-template-rows: repeat(3, 218px);
    border-radius: 50px;
  }

  bento-box-slot {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;

    @media (max-width: 449px) {
      height: 85px;
    }

    @media (min-width: 450px) and (max-width: 1089px) {
      height: 218px;
    }

    &[slot="a"] {
      width: 85px;

      @media (min-width: 450px){
        width: 218px;
      }

      @media (min-width: 1090px) {
        grid-column: auto;
        grid-row: auto;
        grid-area: a;
      }
    }
    &[slot="b"] {
      width: calc(100% - 85px);

      @media (min-width: 450px){
        width: calc(100% - 218px);
      }

      @media (min-width: 1090px) {
        grid-column: auto;
        grid-row: auto;
        grid-area: b;
        width: auto;
      }
    }

    &[slot="c"] {
      width: calc(100% - 85px);

      @media (min-width: 450px){
        width: calc(100% - 218px);
      }

      @media (min-width: 1090px) {
        grid-column: auto;
        grid-row: auto;
        grid-area: c;
        width: auto;
      }
    }
    &[slot="e"] {
      width: 85px;

      @media (min-width: 450px){
        width: 218px;
      }

      @media (min-width: 1090px) {
        grid-column: auto;
        grid-row: auto;
        grid-area: e;
      }
    }

    &[slot="d"] {
      width: 85px;

      @media (min-width: 450px){
        width: 218px;
      }

      @media (min-width: 1090px) {
        grid-column: auto;
        grid-row: auto;
        grid-area: d;
      }
    }
    &[slot="g"] {
      width: calc(100% - 85px);

      @media (min-width: 450px){
        width: calc(100% - 218px);
      }

      @media (min-width: 1090px) {
        grid-column: auto;
        grid-row: auto;
        grid-area: g;
        width: auto;
      }
    }

    &[slot="h"] {
      width: 85px;
      order: 2;

      @media (min-width: 450px){
        width: 218px;
      }

      @media (min-width: 1090px) {
        grid-column: auto;
        grid-row: auto;
        grid-area: h;
      }
    }
    &[slot="i"] {
      width: calc(100% - 85px);
      order: 1;

      @media (min-width: 450px){
        width: calc(100% - 218px);
      }

      @media (min-width: 1090px) {
        grid-column: auto;
        grid-row: auto;
        grid-area: i;
        width: auto;
      }
    }

    &[slot="f"] {
      display: none;

      @media (min-width: 1090px) {
        display: inline-flex;
        grid-area: f;
      }
    }

    box-arrow {
      position: absolute;
      width: 30px;
      height: 30px;
      z-index: 10;
      display: none;

      @media (min-width: 1200px) {
        display: inline-block;
      }

      &[direction="up"] {
        top: -15px;
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
      }

      &[direction="right"] {
        top: 50%;
        right: -15px;
        transform: translateY(-50%) rotate(45deg);
      }

      &[direction="down"] {
        bottom: -15px;
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
      }
    }


    a {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.5rem;
    }

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
    }
  }
}
