/* ============================
   Sponsored Page - スポンサード
============================ */

/* Description */
.sponsored-description {
    display: flex;
    width: clamp(41.5rem, 19.118rem + 46.568vw, 75rem);
    margin: clamp(3.75rem, 3.24rem + 2.092vw, 5.75rem) auto 0 auto;
    flex-direction: column;
    justify-content: center;
    flex-shrink: 0;
    color: #050505;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: clamp(0.875rem, 0.843rem + 0.13vw, 1rem);
    font-style: normal;
    font-weight: 400;
    line-height: 2;
}

@media (max-width: 768px) {
    .sponsored-description {
        display: none;
    }
    .sponsored-description {
      display: flex;
      width: clamp(19.375rem, 7.381rem + 49.206vw, 31rem);
      justify-content: center;
      flex-shrink: 0;
      color: #050505;
      text-align: left;
      font-family: "Noto Sans JP";
      font-size: clamp(0.875rem, 0.746rem + 0.529vw, 1rem);
      font-style: normal;
      font-weight: 400;
      line-height: 1.5;
  }
}

/* Contract Team Section */
.contract-team-section {
  margin-top: clamp(3.75rem, 3.368rem + 1.569vw, 5.25rem);
}

/* Container */
.contract-team-container {
  width: clamp(19.375rem, -2.451rem + 89.54vw, 100rem);
  margin: 0 auto;
}

/* Title */
.contract-team-title {
  color: #050505;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1rem, 0.412rem + 2.42vw, 2rem);
  /* 390px: 16px, 1920px: 32px */
  /* vw係数: (32-16)/1530*100 = 1.05vw, 切片: 16 - 1.05*3.9 = 11.905px = 0.744rem */
  /* 調整: 2.42vw使用 */
  font-style: normal;
  font-weight: 500;
  line-height: clamp(1.75rem, 1.75rem + 0vw, 2rem);
  /* 390px: 28px (175%), 1920px: 32px (normal) */
  letter-spacing: 0.1rem; /* 1.6px */
}

/* Card */
.contract-team-card {
  margin-top: clamp(1.25rem, -0.033rem + 5.26vw, 3.938rem);
  display: flex;
  flex-direction: column;
  width: 100%;
  height: clamp(23.5rem, 20.686rem + 11.54vw, 29.688rem);
  flex-shrink: 0;
  border-radius: clamp(0.5rem, -0.298rem + 3.27vw, 1.194rem);
  border: 1px solid #B7B7B7;
  background: #FFF;
  box-sizing: border-box;
  transition: opacity 0.3s ease;
}

.contract-team-card-link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

@media (hover: hover) {
  .contract-team-card:hover {
    opacity: 0.8;
  }
}

/* Card Image */
.contract-team-card-image {
  width: 100%;
  height: clamp(19.375rem, 17.102rem + 9.33vw, 22.25rem);
  /* 390px: 310px, 1920px: 356px */
  /* vw係数: (356-310)/1530*100 = 3.01vw, 切片: 310 - 3.01*3.9 = 298.261px = 18.641rem */
  /* 調整: 9.33vw使用 */
  overflow: hidden;
  flex-shrink: 0;
  border-radius: clamp(0.5rem, -0.298rem + 3.27vw, 1.194rem) clamp(0.5rem, -0.298rem + 3.27vw, 1.194rem) 0 0;
  /* 上部のみ角丸（左上と右上） */
  /* 390px: 8px, 1920px: 19.105px */
}

.contract-team-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Card Content */
.contract-team-card-content {
  flex: 1;
  /* 残りのスペースを占める */
  display: flex;
  align-items: center;
  /* 垂直中央配置 */
  padding: 0 clamp(1.25rem, 0.525rem + 2.98vw, 3.063rem);
  padding-right: clamp(1.5rem, 0.938rem + 2.31vw, 3.063rem);
}

/* Card Text */
.contract-team-card-text {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 0.432rem + 1.82vw, 1.25rem);
  font-style: normal;
  font-weight: clamp(500, 500 - 1.96vw, 400);
  /* 390px: 500, 1920px: 400 */
  line-height: normal;
  letter-spacing: clamp(0.0875rem, 0.0375rem + 0.21vw, 0.125rem);
  /* 390px: 1.4px, 1920px: 2px */
  /* vw係数: (2-1.4)/1530*100 = 0.039vw, 切片: 1.4 - 0.039*3.9 = 1.248px = 0.078rem */
  /* 調整: 0.21vw使用 */
  margin: 0;
}

@media screen and (min-width: 769px) {
  .contract-team-card-text {
    font-weight: 400;
  }
}

/* Card Icon */
.contract-team-card-icon {
  display: block;
  width: clamp(0.75rem, 0.363rem + 1.59vw, 1.125rem);
  /* 390px: 12px, 1920px: 18px */
  /* vw係数: (18-12)/1530*100 = 0.39vw, 切片: 12 - 0.39*3.9 = 10.479px = 0.655rem */
  /* 調整: 1.59vw使用 */
  height: clamp(0.75rem, 0.363rem + 1.59vw, 1.125rem);
  /* 390px: 12px, 1920px: 18px */
  flex-shrink: 0;
  transition: opacity 0.3s ease;
  margin-left: 132px;
}

@media (hover: hover) {
  .contract-team-card-link:hover .contract-team-card-icon {
    opacity: 0.8;
  }
}



.contract-team-card-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Grid Layout for Multiple Cards */
.contract-team-cards-grid {
  margin-top: clamp(2rem, 1.554rem + 1.83vw, 3.75rem);
  /* 390px: 12px, 1920px: 60px */
  /* vw係数: (60-12)/1530*100 = 3.14vw, 切片: 12 - 3.14*3.9 = -0.246px = -0.015rem */
  /* 調整: 10.81vw使用 */
  
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: clamp(0rem, -1.579rem + 6.48vw, 3.875rem);
  /* 390px: 0px (縦並び), 1920px: 62px */
  /* vw係数: (62-0)/1530*100 = 4.05vw, 切片: 0 - 4.05*3.9 = -15.795px = -0.987rem */
  /* 調整: 6.48vw使用 */
  row-gap: clamp(0.75rem, -0.855rem + 6.58vw, 5rem);
  /* 390px: 12px, 1920px: 80px */
  /* vw係数: (80-12)/1530*100 = 4.44vw, 切片: 12 - 4.44*3.9 = -5.316px = -0.332rem */
  /* 調整: 6.58vw使用 */
}

@media screen and (min-width: 769px) and (max-width: 1500px) {
  .contract-team-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .contract-team-cards-grid {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 0.968rem + 4.233vw, 3rem) clamp(0.75rem, -0.855rem + 6.58vw, 5rem);
    /* 390px: 12px, 1920px: 80px - 縦の間隔を維持 */
  }
}

/* Grid Card */
.contract-team-grid-card {
  position: relative;
  width: 100%;
  height: clamp(15rem, 7.206rem + 31.99vw, 27.938rem);
  /* 390px: 240px, 1920px: 447px */
  /* vw係数: (447-240)/1530*100 = 13.53vw, 切片: 240 - 13.53*3.9 = 187.233px = 11.702rem */
  /* 調整: 31.99vw使用 */
  
  border-radius: clamp(0.5rem, -0.226rem + 2.98vw, 1.188rem);
  /* 390px: 8px, 1920px: 19px */
  /* vw係数: (19-8)/1530*100 = 0.72vw, 切片: 8 - 0.72*3.9 = 5.192px = 0.325rem */
  /* 調整: 2.98vw使用 */
  
  border: 1px solid #B7B7B7;
  background: #FFF;
  box-sizing: border-box;
}

.contract-team-grid-card-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  color: inherit;
  text-decoration: none;
}

/* リンクなしカード */
.contract-team-grid-card-no-link .contract-team-grid-card-link {
  cursor: default;
}

@media (hover: hover) {
  .contract-team-grid-card-no-link:hover {
    opacity: 1;
  }
}

/* Grid Card Image */
.contract-team-grid-card-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 79.6%; /* 固定比率: 356/447 = 79.6% (1920px時の比率) */
  overflow: hidden;
  border-radius: 16px 16px 0 0;
  /* 上部のみ角丸 */
}

.contract-team-grid-card-image img,
.contract-team-grid-card-image picture {
  width: 100%;
  height: 100%;
  display: block;
}

.contract-team-grid-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Grid Card Content */
.contract-team-grid-card-content {
  position: absolute;
  /* 画像の下のエリア全体に配置 */
  top: 79.6%; /* 画像の高さと同じ比率 */
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  display: flex;
  align-items: center; /* 垂直中央配置 */
  padding: 0 clamp(1.25rem, 0.525rem + 2.98vw, 3.063rem);
  /* 390px: 20px, 1920px: 49px */
  padding-right: clamp(1.5rem, 0.938rem + 2.31vw, 3.063rem);
  /* 390px: 24px (アイコン用), 1920px: 49px */
}

/* Grid Card Text */
.contract-team-grid-card-text {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 0.432rem + 1.82vw, 1.25rem);
  /* 390px: 14px, 1920px: 20px */
  font-style: normal;
  font-weight: clamp(500, 500 - 1.96vw, 400);
  /* 390px: 500, 1920px: 400 */
  line-height: normal;
  letter-spacing: clamp(0.0875rem, 0.0375rem + 0.21vw, 0.125rem);
  /* 390px: 1.4px, 1920px: 2px */
  margin: 0;
}

@media screen and (min-width: 769px) {
  .contract-team-grid-card-text {
    font-weight: 400;
  }
}

/* Grid Card Icon */
.contract-team-grid-card-icon {
  display: block;
  width: clamp(0.75rem, 0.363rem + 1.59vw, 1.125rem);
  /* 390px: 12px, 1920px: 18px */
  height: clamp(0.75rem, 0.363rem + 1.59vw, 1.125rem);
  /* 390px: 12px, 1920px: 18px */
  flex-shrink: 0;
  transition: opacity 0.3s ease;
}

.contract-team-grid-card-icon {
  margin-left: auto;
  /* アイコンを右端に配置（padding-rightで位置調整済み） */
}

@media (hover: hover) {
  .contract-team-grid-card-link:hover .contract-team-grid-card-icon {
    opacity: 0.8;
  }
}

.contract-team-grid-card-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Contract Players Title */
.contract-players-title {
  margin-top: clamp(2.5rem, -1.182rem + 15.11vw, 6.25rem);
  /* 390px: 40px (日本ゴルフボール協会から), 1920px: 100px */
  /* vw係数: (100-40)/1530*100 = 3.92vw, 切片: 40 - 3.92*3.9 = 24.712px = 1.545rem */
  /* 調整: 15.11vw使用 */
  color: #050505;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1rem, 0.412rem + 2.42vw, 2rem);
  /* 390px: 16px, 1920px: 32px */
  /* vw係数: (32-16)/1530*100 = 1.05vw, 切片: 16 - 1.05*3.9 = 11.905px = 0.744rem */
  /* 調整: 2.42vw使用 */
  font-style: normal;
  font-weight: 500;
  line-height: clamp(1.75rem, 1.75rem + 0vw, 2rem);
  /* 390px: 28px (175%), 1920px: 32px (normal) */
  letter-spacing: 0.1rem; /* 1.6px */
  margin-bottom: 0;
  padding: 0;
  display: block;
}

/* Contract Players Cards Grid */
.contract-players-cards-grid {
  margin-top: clamp(1.25rem, 0.525rem + 2.98vw, 3.125rem);
  /* 390px: 20px (タイトルから), 1920px: 50px (タイトルから) */
  /* vw係数: (50-20)/1530*100 = 1.96vw, 切片: 20 - 1.96*3.9 = 12.356px = 0.772rem */
  /* 調整: 2.98vw使用 */
  
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: clamp(0rem, -1.579rem + 6.48vw, 3.875rem);
  /* 390px: 0px (縦並び), 1920px: 62px */
  row-gap: clamp(0.75rem, -0.855rem + 6.58vw, 5rem);
  /* 390px: 12px, 1920px: 80px */
}

/* 2カードだけなので、3番目の位置を空ける */
.contract-players-cards-grid .contract-team-grid-card:nth-child(2) {
  grid-column: 2;
}

@media screen and (min-width: 769px) and (max-width: 1500px) {
  .contract-players-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .contract-players-cards-grid .contract-team-grid-card:nth-child(2) {
    grid-column: auto;
  }
  /* Card Icon */
  .contract-team-card-icon {
    margin-left: 0;
  }
}

@media screen and (max-width: 768px) {
  .contract-players-cards-grid {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 0.968rem + 4.233vw, 3rem) clamp(0.75rem, -0.855rem + 6.58vw, 5rem);
    /* 390px: 12px - 縦の間隔を維持 */
  }
  
  .contract-players-cards-grid .contract-team-grid-card:nth-child(2) {
    grid-column: auto;
  }
  .contract-team-grid-card-image {
    border-radius: clamp(0.438rem, -0.272rem + 2.91vw, 1.125rem) clamp(0.438rem, -0.272rem + 2.91vw, 1.125rem) 0 0;
  }
    .contract-players-cards-grid .contract-team-grid-card:nth-child(2) {
    grid-column: auto;
  }
  /* Card Icon */
  .contract-team-card-icon {
    margin-left: auto;
  }
}

/* Contract Kishi Title */
.contract-kishi-title {
  margin-top: clamp(2.5rem, -1.182rem + 15.11vw, 6.25rem);
  /* 390px: 40px (櫻井理央カードから), 1920px: 100px */
  /* vw係数: (100-40)/1530*100 = 3.92vw, 切片: 40 - 3.92*3.9 = 24.712px = 1.545rem */
  /* 調整: 15.11vw使用 */
  color: #050505;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1rem, 0.412rem + 2.42vw, 2rem);
  /* 390px: 16px, 1920px: 32px */
  /* vw係数: (32-16)/1530*100 = 1.05vw, 切片: 16 - 1.05*3.9 = 11.905px = 0.744rem */
  /* 調整: 2.42vw使用 */
  font-style: normal;
  font-weight: 500;
  line-height: clamp(1.75rem, 1.75rem + 0vw, 2rem);
  /* 390px: 28px (175%), 1920px: 32px (normal) */
  letter-spacing: 0.1rem; /* 1.6px */
  margin-bottom: 0;
  padding: 0;
  display: block;
}

/* Contract Kishi Cards Grid */
.contract-kishi-cards-grid {
  margin-top: clamp(1.25rem, 0.525rem + 2.98vw, 3.125rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: clamp(0rem, -1.579rem + 6.48vw, 3.875rem);
  /* 390px: 0px (縦並び), 1920px: 62px */
  row-gap: clamp(0.75rem, -0.855rem + 6.58vw, 5rem);
  /* 390px: 12px, 1920px: 80px */
}

@media screen and (min-width: 769px) and (max-width: 1500px) {
  .contract-kishi-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .contract-team-card-icon {
    margin-left: auto;
    /* アイコンを右端に配置（padding-rightで位置調整済み） */
  }
}

@media screen and (max-width: 768px) {
  .contract-kishi-cards-grid {
    grid-template-columns: 1fr;
    gap: clamp(0.75rem, -0.855rem + 6.58vw, 5rem) clamp(0.75rem, -0.855rem + 6.58vw, 5rem);
  }
}

/* CTA Banner Section */
.sponsored-cta-banner {
  margin-top: clamp(6.25rem, 4.018rem + 9.16vw, 10rem);
  position: relative;
  width: 100%;
  max-width: 100%;
  height: clamp(14.938rem, 10.223rem + 19.35vw, 15.688rem);
  border-radius: clamp(0.5rem, -0.226rem + 2.98vw, 1.188rem);
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  margin-left: auto;
  margin-right: auto;
  background-color: #FFF;
  box-sizing: border-box;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

@media (hover: hover) {
  .sponsored-cta-banner:hover {
    opacity: 0.8;
  }
}

@media screen and (max-width: 1000px) {
  .sponsored-cta-banner {
    height: clamp(14.938rem, 7.836rem + 18.2vw, 21.875rem);
  }
}

/* 擬似要素でボーダーを作成 */
.sponsored-cta-banner::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: clamp(0.5rem, -0.226rem + 2.98vw, 1.188rem);
  box-shadow: inset 0 0 0 clamp(0.25rem, -0.156rem + 1.67vw, 0.625rem) #BA2A20;
  pointer-events: none;
  z-index: 10;
  /* 最前面に配置 */
}

/* CTA Image */
.sponsored-cta-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 47%; /* バナー幅に対する比率: 1920px時 752/1600=47%, 390px時 310/350=88.6% */
  max-width: clamp(19.375rem, 5.059rem + 58.74vw, 47rem);
  /* 390px: 310px, 1920px: 752px */
  /* vw係数: (752-310)/1530*100 = 28.89vw, 切片: 310 - 28.89*3.9 = 197.329px = 12.333rem */
  /* 調整: 58.74vw使用 */
  
  height: 100%;
  max-height: clamp(10.179rem, 5.276rem + 20.13vw, 15.563rem);
  /* 390px: 162.871px, 1920px: 249px */
  /* vw係数: (249-162.871)/1530*100 = 5.63vw, 切片: 162.871 - 5.63*3.9 = 140.914px = 8.807rem */
  /* 調整: 20.13vw使用 */
  z-index: 1;
  /* 赤いエリアより下に配置 */
}

@media screen and (max-width: 1000px) {
  .sponsored-cta-image {
    width: calc(100% - clamp(2.5rem, -0.621rem + 12.81vw, 6.25rem)); /* バナー幅から赤エリアの幅を引く（余白なし） */
    max-width: none; /* max-widthを無効化してwidthを優先 */
    /* 高さも調整: 1000px: 255px, 390px: 163px */
    max-height: clamp(10.188rem, 5.708rem + 11.48vw, 15.938rem);
  }
}

.sponsored-cta-image img,
.sponsored-cta-image picture {
  width: 100%;
  height: 100%;
  display: block;
}

.sponsored-cta-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: clamp(0.5rem, -0.226rem + 2.98vw, 1.188rem) 0 0 clamp(0.5rem, -0.226rem + 2.98vw, 1.188rem);
  /* 左側の角丸（枠線の内側） */
}

/* CTA Text */
.sponsored-cta-text {
  position: absolute;
  /* 画像右端と赤エリア左端の中央 */
  /* パーセンテージベースで計算 */
  /* 画像: 47%幅、赤エリア: 右端から */
  /* 中央 = 画像右端(47%) + 利用可能スペース(53% - 赤エリア幅)の半分 */
  
  left: calc(47% + (53% - clamp(2.5rem, -0.621rem + 12.81vw, 6.25rem)) / 2);
  /* 画像の47%の右端 + 残りスペースの中央 */
  
  top: 50%; /* 垂直中央 */
  transform: translateX(-50%) translateY(-50%);
  /* 中央揃え */
  z-index: 3; /* 最前面に表示 */
}

@media screen and (min-width: 1001px) and (max-width: 1919px) {
  .sponsored-cta-text {
    /* 中間サイズでの微調整 */
    left: calc(47% + (100% - 47% - clamp(2.5rem, -0.621rem + 12.81vw, 6.25rem)) / 2);
  }
}

@media screen and (min-width: 1920px) {
  .sponsored-cta-text {
    /* 1920pxで固定位置 */
    left: 70.375rem; /* 1126px */
  }
}

@media screen and (max-width: 1000px) {
  .sponsored-cta-text {
    /* モバイルでは左端から右塗りつ㘶しまでの全幅 */
    text-align: center;
    left: calc((100% - clamp(2.5rem, -0.621rem + 12.81vw, 6.25rem)) / 2);
    top: clamp(12.563rem, 6.452rem + 15.64vw, 18.906rem);
    transform: translateX(-48%) translateY(-54%);
    width: calc(100% - clamp(2.5rem, -0.621rem + 12.81vw, 6.25rem));
    /* バナー幅 - 赤エリア幅 */
    padding: 0 1rem; /* 左右に余白を追加 */
    box-sizing: border-box;
  }
}

.sponsored-cta-text p {
  color: #BA2A20;
  font-family: "Noto Sans JP", sans-serif;
  /* 1920px: 39px, 1201px: 24px, 1200px〜390px: 24px→16px */
  font-size: 2.438rem; /* 39px - デフォルト */
  
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 1920pxデフォルト */
  
  letter-spacing: 0.244rem; /* 3.9px - 1920pxデフォルト */
  
  margin: 0;
  white-space: nowrap;
}

/* 1920pxから1201pxまで徐々に小さく */
@media screen and (max-width: 1920px) and (min-width: 1201px) {
  .sponsored-cta-text p {
    /* 1920px: 39px, 1201px: 24px */
    font-size: calc(1.5rem + (100vw - 75.063rem) * 0.0208);
    /* 24px + (viewport - 1201px) * ((39-24)/(1920-1201)) */
    /* 24 + (vw - 1201) * (15/719) = 24 + (vw - 1201) * 0.0208 */
    line-height: calc(150% + (100vw - 75.063rem) * 0.0139);
    /* 150% + (viewport - 1201px) * ((160-150)/(1920-1201)) */
    letter-spacing: calc(0.175rem + (100vw - 75.063rem) * 0.00009);
    /* 2.8px + (viewport - 1201px) * ((3.9-2.8)/(1920-1201)) */
  }
}

/* 1201px以下で24px固定 */
@media screen and (max-width: 1201px) and (min-width: 1201px) {
  .sponsored-cta-text p {
    font-size: 1.5rem; /* 24px */
    line-height: 150%; /* 中間値 */
    letter-spacing: 0.175rem; /* 2.8px - 中間値 */
  }
}

/* 1200px以下で24pxから16pxへ */
@media screen and (max-width: 1200px) {
  .sponsored-cta-text p {
    /* 1200px: 24px, 390px: 16px */
    font-size: clamp(1rem, 0.545rem + 1.67vw, 1.5rem);
    /* vw係数: (24-16)/810*100 = 0.988vw, 切片: 16 - 0.988*3.9 = 12.147px = 0.759rem */
    /* 調整: 1.67vw使用 */
    line-height: clamp(140%, 135% + 18.33vw, 150%);
    /* 390px: 140%, 1200px: 150% */
    letter-spacing: clamp(0.1rem, 0.025rem + 0.28vw, 0.175rem);
    /* 390px: 1.6px, 1200px: 2.8px */
  }
}

@media screen and (max-width: 1000px) {
  .sponsored-cta-text p {
    white-space: normal; /* モバイルでは改行を許可 */
  }
}

/* 上記のメディアクエリと統合済み */

/* CTA Red Area (Right Side) */
.sponsored-cta-red-area {
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(2.5rem, -0.621rem + 12.81vw, 6.25rem);
  /* 390px: 40px, 1920px: 100px */
  height: 100%;
  background-color: #BA2A20;
  border-radius: 0 clamp(0.5rem, -0.226rem + 2.98vw, 1.188rem) clamp(0.5rem, -0.226rem + 2.98vw, 1.188rem) 0;
  /* 外側の角丸と同じ: 390px: 8px, 1920px: 19px */
  z-index: 2;
  /* 画像より上に配置 */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Circle with Arrow Icon in Red Area */
.sponsored-cta-red-area::after {
  content: '';
  display: block;
  width: clamp(1.564rem, 0.958rem + 2.49vw, 3.125rem);
  /* 390px: 25.017px = 1.564rem, 1920px: 50.005px = 3.125rem */
  height: clamp(1.564rem, 0.958rem + 2.49vw, 3.125rem);
  border: 1.6px solid #FFF;
  border-radius: 50%;
  box-sizing: border-box;
  position: relative;
}

.sponsored-cta-red-area::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(0.469rem, 0.349rem + 0.49vw, 0.938rem);
  height: clamp(0.469rem, 0.349rem + 0.49vw, 0.938rem);
  /* 横向き矢印のSVG */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M3.125 7.50043H11.8759M11.8759 7.50043L7.50043 3.125M11.8759 7.50043L7.50043 11.8759' stroke='%23FFFFFF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}

#page-sponsored.page-top-under {
  padding-bottom: 0 ;
}
