.offcanvas__menu-wrapper.mean-container { padding-bottom: 0 !important; }

/* PC・タブレットではSP用装飾img非表示 */
.kc-event-shape { display: none; }

/* PC: カード背景番号を右上に、濃く */
.kc-projects-card__num { top: -20px; bottom: auto; right: -10px; color: rgba(255,255,255,0.15); }
.kc-projects-card__cta { justify-content: flex-end; }
.kc-projects-card__desc { text-align: justify; }
br.sp-only { display: none; }

/* PC: 見出し下余白縮小 */
.portfolio__area-2 .sec-title-3 { padding-bottom: 60px; }

/* 小PC (1200-1399px): 背景装飾の巨大💡と#を非表示 */
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .kc-campaign--idea::before { display: none !important; content: none !important; }
  .kc-campaign::before { display: none !important; }
}

/* タブレット: 見出し下余白縮小 */
@media only screen and (min-width: 768px) and (max-width: 1199px) and (pointer: coarse), only screen and (min-width: 768px) and (max-width: 1199px) {
  .portfolio__area-2 .sec-title-3 { padding-bottom: 40px; }
  .kc-campaign { padding-left: 40px; padding-right: 40px; }
  .kc-campaign__hashtag { font-size: 44px; }
  .kc-campaign__lead { font-size: 20px; }
  .kc-campaign__steps li strong { line-height: 1.6; }
  .kc-campaign__prize-label { font-size: 48px; margin-bottom: 10px; }
  .kc-campaign__prize { padding-bottom: 40px; }
  .kc-campaign--idea::before { display: none !important; content: none !important; }
  .kc-campaign::before { display: none !important; }
  /* タブレットでもfa-lightbulbアイコン非表示（💡絵文字と重複防止） */
  .kc-campaign__box-icon { display: none; }
}

/* ===== SP (max-width: 767px) ===== */
@media only screen and (max-width: 767px) {
  .kc-campaign__box ul li,
  .kc-campaign__box ol li { font-size: 16px; }
  .kc-projects-card__desc { font-size: 16px; text-align: justify; }
  .portfolio__area-2 .sec-title-3 { background-image: none !important; padding-bottom: 20px; }
  .kc-campaign__hashtag br.sp-only { display: inline !important; }
  .kc-campaign__title { margin-bottom: 20px; }
  .kc-campaign__lead { font-size: 16px; text-align: justify; line-height: 1.8; margin-bottom: 24px; }
  .kc-campaign__box { padding: 28px 16px; }
  .kc-campaign__steps li strong { line-height: 1.6; }
  .kc-campaign__lead br:not(.d-none) { display: none !important; }
  .kc-campaign__lead .kc-lead-block { display: block; margin-bottom: 0.8em; }
  .kc-campaign__lead .kc-lead-block:last-child { margin-bottom: 0; }
  .kc-campaign__prize-label { font-size: 44px; margin-bottom: 10px; }
  .kc-campaign__prize { padding-bottom: 40px; }
  .kc-projects-card__divider { display: none; }
  .kc-projects-card__icon { text-align: center; }
  .kc-projects-card__tag { justify-content: flex-start; }
  .kc-projects-card__title { text-align: center; font-size: 30px; }
  .kc-projects-card__cta { justify-content: flex-end; }
  .kc-projects-card__num { top: -20px; color: rgba(255,255,255,0.15); }
  /* 💡絵文字と重複するためSPではfa-lightbulbアイコン非表示 */
  .kc-campaign__box-icon { display: none; }
  /* SP: 背景装飾の巨大💡を非表示 */
  .kc-campaign--idea::before { display: none !important; content: none !important; }
  .kc-campaign::before { display: none !important; }
  .kc-event-shape {
    display: block;
    position: absolute;
    top: -30px;
    right: 20px;
    width: 180px;
    height: auto;
    z-index: 1;
    pointer-events: none;
  }
}

/* 共通: キャンペーンタイトル行間 */
.kc-campaign__title { line-height: 1.4; }

/* PC: ステップ見出しの行間 */
.kc-campaign__steps li strong { line-height: 1.6; }

/* PC: カードタイトルサイズ（タブレット以下に影響させない） */
@media only screen and (min-width: 1200px) {
  .kc-projects-card__title { font-size: 48px; }
}

/* event2: アイデアセクションが先頭のためmargin-top不要 */
.page-event2 .kc-campaign--idea { margin-top: 0; }

/* 小PC: 背景装飾(1.png)を上に移動 */
@media only screen and (min-width: 1200px) and (max-width: 1599px) {
  .portfolio__area-2 .sec-title-3 {
    background-position: 70% -20px !important;
  }
}
@media only screen and (min-width: 1600px) {
  .portfolio__area-2 .sec-title-3 {
    background-position: 70% -10px !important;
  }
}


