@charset "UTF-8";
/* お気に入りボタン装飾 */
.favorite__button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid #fff;
  border-top: none;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(to bottom, #fff 0%, #eee 100%);
  box-shadow: 0 0 3px rgba(0,0,0,0.32);
  color: #ccc;
  transition: height 0.4s, color 0.4s, border-color 0.4s, transform 0.4s;
  appearance: none;
  outline: none;
}
.favorite__button.isActive {
  border-color: #fc0;
  background: linear-gradient(to bottom, #eb0 0%, #da0 100%);
}

.favorite__button.isActive {
  color: #fff;
}
.favorite__button::before {
  line-height: 1;
  transition: color 0.4s;
  content: '★';
}
.favorite__button:not(.isActive):hover {
  color: #da0;
}
.favorite__button:not(.isActive):hover::before {
  animation: favoriteHover 0.4s;
}
@keyframes favoriteHover {
  0% {
    transform: none;
  }
  50% {
    transform: scale(1.5) rotateY(90deg);
  }
  100% {
    transform: rotateY(180deg);
  }
}

/* 一覧ページ用配置 */
.c-article-list__item .favorite__button {
  position: absolute;
  top: 0px;
  right: 5px;
  z-index: 4;
}

/* 詳細ページ用配置 */
.p-article-content .favorite__button {
  position: absolute;
  top: -2px;
  right: 10px;
  z-index: 4;
  transform: scale(1.2);
  transform-origin: right top;
}

/* 一覧ページ用お気に入りページ遷移リンク */
.favorite__button-link {
  width: auto;
  margin-top: 5px;
  color: #222;
  font-size: 14px;
  font-weight: bold;
  padding-inline: 8px;
  box-shadow: 0 0 1px 0px #666;
}
.favorite__button-link::before {
  margin-right: 0.2em;
  color: #da0;
}

/* お気に入りページ用 */
.favorite__list:not(.isActive) {
  opacity: 0;
}

.favorite__empty {
  width: 100%;
  padding-block: 30px;
  border-radius: 20px;
  background-color: #e6e6e6;
  text-align: center;
}
.favorite__note {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px dashed #999;
  color: #444;
}
.favorite__note li {
  padding-left: 1em;
  text-indent: -1em;
}