@charset "UTF-8";

#article-313 .wrap {
  position: relative;
  width: 100%;
  height: min(200px, calc(200 / 640 * 100vw));
  overflow: hidden;
}
#article-313 .wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#article-313 .text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: min(60px, calc(60 / 640 * 100vw));
  color: #fff;
  mix-blend-mode: difference;
}
#article-313 .text02 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: min(60px, calc(60 / 640 * 100vw));
  color: #fff;
  mix-blend-mode: overlay;
}

#article-313 .filter {
  width: 100%;
  background: #ff0000;
}
#article-313 .filter figure {
  height: min(200px, calc(200 / 640 * 100vw));
}
#article-313 .filter figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply;
}

#article-313 .card {
  position: relative;
  width: min(300px, calc(300 / 640 * 100vw));
  overflow: hidden;
  border-radius: min(12px, calc(12 / 640 * 100vw));
  margin-inline: auto;
}
#article-313 .card img {
  width: 100%;
  display: block;
}
#article-313 .card-text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: min(20px, calc(20 / 640 * 100vw));
  color: #fff;
  z-index: 2;
}
/* ブレンドレイヤー */
#article-313 .card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(45deg, #00f, #0ff);
  mix-blend-mode: overlay;
  opacity: 0;
  transition: opacity .4s ease;
}
/* ホバー時 */
#article-313 .card:hover::after {
  opacity: 1;
}

#article-313 .hero {
  position: relative;
  height: min(200px, calc(200 / 640 * 100vw));
  background: url('../img/article313_img03.webp') center / cover no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  overflow: hidden;
}

/* グラデーションレイヤー */
#article-313 .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(45deg, #ff00cc, #3333ff);
  mix-blend-mode: overlay;
  opacity: 0.8;
}

/* テキストを前面に */
#article-313 .hero h1,
#article-313 .hero p {
  position: relative;
  z-index: 2;
}
