@charset "utf-8";
/* CSS Document */
body { margin: 0; padding: 0; font-family: Arial, sans-serif; background: #f9f9f9; }
    .header { background: linear-gradient(90deg, #ff3c3c, #ff6b6b); color: white; text-align: center; padding: 15px; font-size: 2em; font-weight: bold; }
    .container { width: 1000px; margin: 20px auto; display: flex; gap: 20px; align-items: flex-start; }

    .left-featured { flex: 1; position: relative; overflow: hidden; border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); background: #fff; display: flex; flex-direction: column; }
    .left-featured img { width: 100%; display: block; height: auto; }
    .left-featured .ribbon-top { position: absolute; top: 0; width: 100%; background: #ff6600; color: #fff; text-align: center; padding: 4px 0; font-weight: bold; font-size: 0.9em; }
    .left-featured .label { position: absolute; top: 10px; left: 10px; background: #ff6600; color: white; padding: 5px 10px; font-weight: bold; border-radius: 5px; font-size: 0.9em; }

    .featured-info { padding: 15px; background: #fff; border-top: 1px solid #eee; }
    .catchcopy { font-size: 1.1em; font-weight: bold; color: #ff3c3c; margin-bottom: 10px; }
    .features { list-style: none; padding: 0; margin: 0; }
    .features li { font-size: 0.9em; margin-bottom: 5px; }
    #countdown { font-size: 1.2em; color: #333; margin-top: 10px; font-weight: bold; }

    .right-grid { flex: 1; display: flex; flex-wrap: wrap; gap: 10px; }
    .pack_dmm_sp { width: calc(25% - 7.5px); background: #fff; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); text-align: center; overflow: visible; position: relative; }

    .image-wrapper { position: relative; overflow: hidden; }
    .image-wrapper img { width: 100%; display: block; height: auto; border-radius: 8px 8px 0 0; }

    @keyframes flash { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

    .ribbon {
      position: absolute;
      top: 94px;
      left: -60px;
      width: 190px;
      background: linear-gradient(45deg, #ff6600, #ff9900);
      color: white;
      text-align: center;
      font-weight: bold;
      font-size: 14px;
      transform: rotate(-45deg);
      transform-origin: 0 0;
      padding: 4px 0;
      z-index: 2;
      pointer-events: none;
      white-space: nowrap;
      box-shadow: 0 2px 5px rgba(0,0,0,0.4);
      letter-spacing: 1px;
      animation: flash 2s infinite;
    }

    .badge { position: absolute; bottom: 8px; left: 8px; background: crimson; color: white; padding: 2px 6px; font-size: 0.7em; border-radius: 3px; font-weight: bold; }
    .badge.gold { background: gold; color: black; }

    .action-btn {
      display: inline-block;
      margin: 8px 0 15px;
      color: #fff;
      background: #ff3c3c;
      padding: 6px 12px;
      border-radius: 20px;
      text-decoration: none;
      font-size: 0.85em;
      font-weight: bold;
      transition: all 0.3s ease;
    }
    .action-btn::before { content: "▶ "; }
    .action-btn:hover { transform: scale(1.05); background: linear-gradient(90deg, #ff3c3c, #ff6b6b); }

    .limited-text { font-size: 0.75em; color: #ff3c3c; font-weight: bold; margin-top: 5px; }

  .popup {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #ff3c3c;
    color: white;
    padding: 15px 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    display: block; /* ← 常時表示に変更 */
    z-index: 9999;
  }
  .popup button {
    background: none;
    border: none;
    color: white;
    font-size: 1.2em;
    margin-left: 10px;
    cursor: pointer;
  }
  .clearfix::after {
    content: "";
    display: block;
    clear: both;
  }
	  /* 60％OFF用だけ、別レイアウト定義 */
.limited-offer-grid {
  width: 1000px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px; /* 必要に応じて調整 */
  margin: 20px auto 0; /* 上マージン20px、左右オートで中央寄せ */
  justify-content: center; /* 中央揃え */
}
.limited-offer-grid .pack_dmm_sp {
  width: 117px; /* 固定幅：8列きっちり */
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  text-align: center;
  overflow: visible;
  position: relative;
}
.limited-ribbon {
  position: absolute;
  bottom: 0; /* ←今度はbottom指定！ */
  left: 0;
  width: 100%;
  background: linear-gradient(90deg, #ff3c3c, #ffa500);
  color: white;
  text-align: center;
  font-weight: bold;
  font-size: 12px;
  padding: 6px 0;
  z-index: 2;
  border-radius: 0 0 8px 8px; /* ←画像と合わせて下だけ丸める */
}
/*下帯リンク*/
.campaign-links {
  width: 800px;
  margin: 10px auto;
  text-align: center;
  display: flex;
  flex-direction: column; /* 縦に並べる */
  gap: 20px;
}

.campaign-link {
  display: block;
  padding: 10px 20px;
  background: linear-gradient(90deg, #ff3c3c, #ff6b6b);
  color: white;
  font-weight: bold;
  font-size: 12px;
  text-decoration: none;
  border-radius: 50px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
  text-align: center;
}

.campaign-link:hover {
  background: linear-gradient(90deg, #ff6b6b, #ff3c3c);
  transform: scale(1.05);
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}

.campaign-message {
  margin: 0; /* 上下10pxだけにして余白を小さく */
  font-size: 12px;
  font-weight: bold;
  color: #ff6600;
}
/*おすすめ*/
.recommend-wrapper {
	width: 1000px;
	margin-top: 40px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 5px;
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}

.recommend-item {
  width: 480px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
}

.image-wrapper {
  width: 100%;
}

.image-wrapper img {
  width: 100%;
  display: block;
  height: auto;
  border-radius: 8px;
}


.recommend-red {
  color: #ff3c3c;
  font-weight: bold;
  font-size: 12px;
  margin: 10px 0 0;
  text-align: center;
}

.recommend-title {
  color: #333;
  font-size: 12px;
  font-weight: normal;
  margin: 5px 0 10px;
  text-align: center;
}

.campaign-link {
  display: inline-block;
  padding: 10px 20px;
  background: linear-gradient(90deg, #ff3c3c, #ff6b6b);
  color: white;
  font-weight: bold;
  font-size: 12px;
  text-decoration: none;
  border-radius: 50px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
  margin-bottom: 0px;
}

.campaign-link:hover {
  background: linear-gradient(90deg, #ff6b6b, #ff3c3c);
  transform: scale(1.05);
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
/*ピックアップ動画ダウンロード*/
.download-btn {
  display: inline-block;
  margin-top: 10px;
  padding: 12px 24px; /* 少し大きめに */
  background: linear-gradient(90deg, #00c853, #64dd17); /* ビビッドなグリーンに強化 */
  color: white;
  font-weight: bold;
  font-size: 14px; /* 少し大きな文字で目立たせる */
  text-decoration: none;
  border-radius: 50px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3); /* 影を強めて立体感アップ */
  transition: all 0.3s ease;
}

.download-btn:hover {
  background: linear-gradient(90deg, #64dd17, #00c853);
  transform: scale(1.08);
  box-shadow: 0 8px 16px rgba(0,0,0,0.4);
}
.recommend-ribbon {
  position: absolute;
  top: 110px; /* 少しだけ上に寄せてバランスよく */
  left: -40px; /* 左にはみ出し感を強調 */
  width: 220px; /* 文字に余裕を持たせて広めに */
  background: linear-gradient(45deg, #ff4500, #ff9900); /* より鮮やか＆深いオレンジ */
  color: #fff;
  font-weight: 900; /* ultra-boldでインパクト強化 */
  font-size: 20px;
  text-align: center;
  padding: 6px 0; /* 上下の厚みを少し増してリボン感アップ */
  transform: rotate(-45deg);
  transform-origin: 0 0;
  z-index: 5; /* より上に出す */
  box-shadow: 0 4px 10px rgba(0,0,0,0.5); /* 影を強めて立体感 */
  letter-spacing: 2px; /* 少し広げて高級感アップ */
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5); /* 文字に薄い影をつけて読みやすく */
}
