/* 口座開設メニューのアコーディオン */
.bl_headerNav {
  align-items: flex-start;

  @media (max-width: 767.98px) {
    align-items: flex-end;

    &.bl_header__top {
      &::before {
        content: none;
      }
    }
  }
}

.bl_headerLinks {
  @media (max-width: 767.98px) {
    align-items: flex-end;
  }
}

.bl_headerLinks_account {
  background-color: #faf9f7;
  border: 1px solid #ffffff;
  border-radius: 4px;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  font-size: clamp(10px, 0.84vw, 16px);
  font-weight: 700;
  min-width: clamp(56px, 7.37vw, 147px);
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;

  & > button {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    gap: clamp(2px, 0.28vw, 5px);
    min-height: clamp(
      calc(27px - 1px * 2),
      calc(3.62vw - 1px * 2),
      calc(72px - 1px * 2)
    ); /* borderを引いた値 */
    padding: 0.2em;
    width: 100%;

    &::before {
      content: "";
      background-color: currentcolor;
      height: clamp(10px, 1.39vw, 27px);
      mask: url(../images/common/icon_account.svg) no-repeat center / contain;
      width: clamp(10px, 1.39vw, 27px);
    }

    & > svg {
      display: block;
      height: 12px;
      margin-top: 0.05em;
      transition-duration: 0.3s;
      transition-timing-function: ease-in-out;
      width: 7px;
    }
  }

  & > div {
    height: 0;
    overflow: hidden;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
  }

  &.is_opened {
    & > button {
      & > svg {
        transform: rotate(90deg);
      }
    }
    & > div {
      height: 80px;
    }
  }

  @media (max-width: 767.98px) {
    flex-direction: column-reverse;
    width: 25.23vw;

    & > button {
      font-size: 2.78vw;
      gap: 1.12vw;
      min-height: calc(11.67vw - 1px * 2); /* borderを引いた値 */

      &::before {
        height: 5.56vw;
        margin-right: 0.84vw;
        width: 5.56vw;
      }
    }

    &.is_opened {
      & > button {
        & > svg {
          transform: rotate(-90deg);
        }
      }
    }
  }
}

.bl_headerLinks_accountList {
  border-top: 1px solid #cecece;
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 0.6em;
  justify-content: center;
  margin: 0 0.8em;

  & > li {
    & > a {
      align-items: center;
      box-shadow: none;
      display: flex;
      gap: 0.2em;
      justify-content: center;
      transition-duration: 0.3s;
      transition-timing-function: ease-in-out;
      width: 100%;

      &:hover {
        opacity: 0.7;
      }

      & > svg {
        aspect-ratio: 1 / 1;
        display: block;
        width: 11px;
      }
    }
  }

  @media (max-width: 767.98px) {
    border-bottom: 1px solid #cecece;
    border-top: none;
    gap: 0.9em;

    & > li {
      & > a {
        min-height: auto;
      }
    }
  }
}
