/* ====== 共通色 ====== */
:root {
  --brand: #006e35;
  --ink: #012814;
}

/* ====== Hero ====== */
.partner-hero-section .partner-hero__bg {
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  height: 55vh;
  padding-top: var(--header-height);
  position: relative;
  overflow: hidden;
  width: 100%;
}

@media (min-width:768px) {
  .partner-hero-section .partner-hero__bg {
    height: 80vh;
  }
}

.partner-hero__headline {
  position: absolute;
  right: clamp(12px, 1vw, 40px);
  bottom: 0;
  padding-bottom: env(safe-area-inset-bottom, 0);
  text-align: right;
  color: #fff;
  line-height: 1.05;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .5);
}

.partner-hero__headline-jp {
  display: block;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 900;
  letter-spacing: .08em;
  font-size: clamp(1.8rem, 1.1rem + 1.8vw, 3.6rem);
  color: #fff;
}

.partner-hero__headline-en {
  display: block;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 800;
  letter-spacing: .14em;
  color: #fff;
  text-transform: uppercase;
  font-size: clamp(3.0rem, 1.6rem + 4vw, 6.4rem);
  margin-top: .2em;
  margin-bottom: 0;
}

/* ====== Section Heading（左JP／右EN）共通パターン ====== */
.partner-heading {
  --heading-pad-top: 2rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1.2rem, .8rem + 1vw, 2rem);
}

.partner-heading h2 {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 800;
  color: var(--ink);
  margin: 0;
  padding: var(--heading-pad-top) 0 3rem;
  line-height: 1.2;
  font-size: clamp(2.2rem, 1.6rem + 1.2vw, 3.2rem);
  position: relative;
  flex: 1 1 auto;
}

.partner-heading h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  height: 5px;
  background: var(--brand);
}

.partner-heading .eyebrow {
  flex: 0 0 auto;
  color: var(--brand);
  text-transform: uppercase;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 800;
  letter-spacing: .14em;
  white-space: nowrap;
  line-height: 1;
  margin-top: var(--heading-pad-top);
  font-size: clamp(1.6rem, 1rem + 1.6vw, 2.6rem);
}

/* ====== Collaboration ====== */
.partner-collab-section {
  background: #fff;
  padding: clamp(3rem, 2rem + 7vw, 23rem) 0;
  position: relative;
}

.partner-collab-section::after {
  content: "COLLABORATION";
  position: absolute;
  right: clamp(12px, 3vw, 40px);
  top: clamp(12px, 2.5vw, 36px);
  color: rgba(0, 0, 0, .08);
  font-weight: 900;
  letter-spacing: .14em;
  font-size: clamp(2.0rem, 1.2rem + 3.0vw, 4.6rem);
  pointer-events: none;
}

.partner-collab__heading {
  composes: partner-heading;
}

.partner-collab__heading h2 {}

.partner-collab__eyebrow {
  composes: eyebrow from .partner-heading;
}

.partner-collab__intro {
  margin-bottom: clamp(1.2rem, .6rem + 1.4vw, 2.4rem);
}

.partner-collab__intro p {
  margin: .4rem 0;
  color: var(--ink);
  font-size: clamp(1.5rem, 1.2rem + .2vw, 1.7rem);
  line-height: 1.9;
}

.partner-collab__block {
  background: #f5fbf3;
  border-radius: .6rem;
  padding: clamp(1.2rem, .8rem + 1vw, 2rem);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.partner-collab__subheading h3 {
  margin: 0;
  color: var(--brand);
  font-weight: 800;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: clamp(1.8rem, 1.2rem + .8vw, 2.2rem);
  text-align: center;
}

.partner-collab__body p {
  margin: .2rem 0 .6rem;
  color: var(--ink);
}

.partner-collab__list {
  margin: 0;
  padding-left: 1.4em;
}

.partner-collab__list li {
  line-height: 1.9;
  color: var(--ink);
}

.partner-collab__list li::marker {
  color: var(--brand);
}

/* ====== Message ====== */
.partner-message-section {
  background: #dcfbd7;
  padding: clamp(3rem, 2rem + 7vw, 23rem) 0;
}

.partner-message__heading {
  composes: partner-heading;
}

.partner-message__eyebrow {
  composes: eyebrow from .partner-heading;
}

.partner-message__body p {
  margin: .6rem 0;
  color: var(--ink);
  font-size: clamp(1.2rem, 1.2rem + .6vw, 1.7rem);
  line-height: 1.9;
}

/* ====== Requirements ====== */
.partner-req-section {
  background: #fff;
  padding: clamp(3rem, 2rem + 7vw, 23rem) 0;
}

.partner-req__heading {
  composes: partner-heading;
}

.partner-req__eyebrow {
  composes: eyebrow from .partner-heading;
}

.partner-req__dl {
  margin: 0;
}

.partner-req__row {
  display: grid;
  grid-template-columns: clamp(9rem, 7rem + 6vw, 15rem) 1fr;
  column-gap: clamp(10px, 1.6vw, 20px);
  align-items: center;
  padding: clamp(10px, .6rem + .6vw, 16px) clamp(12px, 1.6vw, 24px);
  border-bottom: 1px solid #e1e1e1;
  background: #fff;
}

.partner-req__row dt {
  margin: 0;
  font-weight: 800;
  color: var(--brand);
  font-size: clamp(1.5rem, 1.2rem + .2vw, 1.7rem);
}

.partner-req__row dd {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.5rem, 1.2rem + .2vw, 1.7rem);
  line-height: 1.9;
}

@media (max-width:420px) {
  .partner-req__row {
    grid-template-columns: clamp(7.6rem, 40%, 9.5rem) 1fr;
  }
}

.partner-req__note {
  margin-top: clamp(1.2rem, .8rem + 1vw, 2rem);
  background: #eaeeeb;
  border-radius: .6rem;
  padding: clamp(1.2rem, .8rem + 1vw, 2rem);
  text-align: center;
}

.partner-req__note-lead {
  margin: .2rem 0 .6rem;
  font-weight: 800;
  color: var(--ink);
  font-size: clamp(1.6rem, 1.2rem + .6vw, 2.0rem);
}



/* ===== Partner Hero / サイズUP & レイアウト調整 ===== */

/* セクション余白（上下たっぷり）＋白背景・中央揃え・文字色黒 */
#partner_hero .partner-hero__content {
  background: #fff !important;
  color: #012814;
  text-align: center;
  padding: clamp(2.4rem, 6rem + 3vw, 10rem) 0;
  /* ← セクションパディングを“とる” */
}

/* ヒーロー内の span はサイズ継承（個別拡大を解除） */
#partner_hero .partner-hero__content span {
  font-size: inherit;
  line-height: inherit;
}

/* 1行目（アイコン＋コピー）：行全体を大きく */
.partner-hero__lead.hero-line1 {
  font-size: clamp(1.8rem, 1.2rem + .8vw, 2.2rem);
  /* ← 行全体UP */
  line-height: 2.6;
  letter-spacing: .02em;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}


.partner-hero__lead.hero-line2 {
  font-size: clamp(1.8rem, 1.2rem + .8vw, 2.2rem);
  /* ← 行全体UP */
  line-height: 2.6;
  letter-spacing: .02em;
  margin: 0;
}


/* 先頭インライン画像（01）：およそ“倍”の存在感に */
.partner-hero__inline-icon {
  height: 2.2em;
  /* ← 以前の ~1.1em → 2倍級 */
  width: auto;
  vertical-align: -.2em;
  /* ベースライン調整 */
  margin-right: .4em;
}

/* 「SCRパートナー」：フォントサイズは継承（＝行全体と同じ大きさ）
   太めの半透明グリーンのアンダーバーを文字に被せる */
.partner-hero__scr {
  font-weight: 900;
  position: relative;
  background-image: linear-gradient(to bottom, transparent 60%,
      /* 60%までは透明（＝下40%が帯） */
      rgb(0 255 123 / 40%) 60%, rgb(0 255 123 / 40%) 100%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* 3連アイコン（02/03/04）：隙間ゼロで“くっつける”、サイズも大きく */
.partner-hero__iconstrip {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 0;
  /* ← 隙間ゼロ */
  padding: clamp(1.8rem, 1.2rem + .8vw, 2.2rem);
  margin: 0;
  /* ← UL自体もマージン無し */
  line-height: 0;
  /* 不要な隙間防止（念のため） */
}

.partner-hero__iconstrip li {
  margin: 0;
}

.partner-hero__iconstrip img {
  display: block;
  /* height: clamp(56px, 6vw + 15.2rem, 200px); */
  /* 以前より大きめ */
  width: 100%;
}

/* 本文（説明段落）：全体的に大きめに */
.partner-hero__desc {
  font-size: clamp(1.0rem, 1.2rem + 0.4vw, 2.2rem);
  line-height: 2.6;
  margin: clamp(1.2rem, .8rem + 1vw, 2rem) 0 0;
}

/* 角括弧の強調（色のみ。サイズは継承） */
.partner-hero__bracket {
  color: #006e35;
  font-weight: 800;
}


/* ===== Partner Collaboration（パートナーシップ詳細）===== */

/* 以前の ::after を使っていた場合は無効化 */
.partner-collab-section::after {
  content: none !important;
}

/* パートナーシップ詳細：白帯を固定高さに、右上ラベルを絶対値で配置 */
.partner-collab-section {
  --topband-h: 72px;
  /* ← 白帯の高さを固定(px) */
  background: #d3efce;
  position: relative;
  padding: calc(var(--topband-h) + 32px) 0 64px;
  /* 上下余白も絶対値で調整 */
}

/* 上部の白帯（固定高さ） */
.partner-collab-section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: var(--topband-h);
  background: #fff;
  pointer-events: none;
}

/* 右上 “COLLABORATION” ラベル：帯の下端に“接地” */
.partner-collab__badge {
  position: absolute;
  top: 2px;
  /* 白帯のTOPに固定 */
  right: 10px;
  /* 右端の余白（絶対値） */
  height: var(--topband-h);
  /* 白帯の固定高さと同じ */
  display: flex;
  align-items: flex-end;
  /* 白帯の“下端”に接地 */
  /* padding-bottom: 4px; */
  /* 接地微調整 */
  line-height: 0;
  /* 画像の余白を消す */
  pointer-events: none;
  /* クリック透過 */
  color: #d3efce;
  /* ← SVG側が currentColor に対応していれば色が乗ります */
}


/* 見出しは Recruit Works と同系（共通パターンを流用） */
.partner-heading {
  --heading-pad-top: 2rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1.2rem, .8rem + 1vw, 2rem);
}

.partner-heading h2 {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 800;
  color: var(--ink);
  margin: 0;
  padding: var(--heading-pad-top) 0 3rem;
  /* 下線分の余白 */
  line-height: 1.2;
  font-size: clamp(2.2rem, 1.6rem + 1.2vw, 3.2rem);
  position: relative;
  flex: 1 1 auto;
}

.partner-heading h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  height: 5px;
  background: var(--brand);
}

/* 右英字（.eyebrow）は今回は未使用。必要なら以下を使えますが今回は出さない */
.partner-heading .eyebrow {
  flex: 0 0 auto;
  color: var(--brand);
  text-transform: uppercase;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 800;
  letter-spacing: .14em;
  white-space: nowrap;
  line-height: 1;
  margin-top: var(--heading-pad-top);
  font-size: clamp(1.6rem, 1rem + 1.6vw, 2.6rem);
}

/* ====== Collaboration Grid（1カラム／アイコン見出し／横並び） ====== */

/* 全体は 1 列でOK（上下に間隔） */
.partner-collab__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  padding: clamp(1.4rem, 3rem + 3vw, 7rem) 0;
}

/* ブロック本体：ボーダー2px（ブランドグリーン）＋角丸 */
.partner-collab__block {
  background: #fff;
  /* p要素はそのまま、背景は白で読みやすく */
  border: 2px solid #006e35;
  border-radius: .8rem;
  padding: clamp(16px, 1.2vw, 24px) clamp(8px, 0.8vw, 24px);
}

/* 見出し：中央揃え＋左に種類ごとのアイコン */
.partner-collab__subheading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  /* 見出し文字との距離 */
  margin-bottom: clamp(10px, 1vw, 16px);
  position: relative;
}

.partner-collab__subheading h3 {
  margin: 0;
  color: #006e35;
  font-weight: 800;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: clamp(1.8rem, 1.2rem + .8vw, 2.2rem);
  text-align: center;
}

/* 見出しアイコン（typeごとに差し替え） */
.partner-collab__subheading::before {
  content: "";
  display: inline-block;
  width: clamp(28px, 3.2vw, 40px);
  height: clamp(28px, 3.2vw, 40px);
  background: center/contain no-repeat;
}

.partner-collab__block--type1 .partner-collab__subheading::before {
  background-image: url("/wp-content/themes/sc-retail/assets/img/icon_partner_collab_01.png");
}

.partner-collab__block--type2 .partner-collab__subheading::before {
  background-image: url("/wp-content/themes/sc-retail/assets/img/icon_partner_collab_02.png");
}

/* 横並び：画像とULを縦中央揃えに */
.partner-collab__media {
  display: flex;
  align-items: center;
  /* ← 中央揃えに変更 */
  gap: clamp(14px, 2.2vw, 24px);
}

/* 画像側：全体の40%固定（レスポンシブに追従） */
.partner-collab__media-img {
  flex: 0 0 40%;
  max-width: 40%;
  text-align: center;
}

/* 画像はラッパー幅いっぱいにフィットさせる */
.partner-collab__media-img img {
  width: 100% !important;
  /* 以前の clamp 指定よりこちらを優先 */
  height: auto;
  max-width: 300px;
}

/* リスト側：残り60%を使用 */
.partner-collab__media-list {
  flex: 1 1 60%;
  padding-left: 0;
}

.partner-collab__media-list li {
  position: relative;
  background: #e6aa6a;
  /* 指定色 */
  color: #fff;
  border-radius: .6rem;
  /* 角丸長方形 */

  /* 左にアイコン分の余白 */
  line-height: 1.8;
  font-size: clamp(0.8rem, 1.0rem + .2vw, 1.7rem);
  margin: 10px 0;
  /* T/B = 12px をベースに可変、R = 10px、L = 32px をベースに可変 */
  padding-block: clamp(8px, 0.6rem + 0.4vw, 18px);
  /* top & bottom */
  padding-inline-start: clamp(29px, 1rem + 1.2vw, 44px);
  /* left  */
  padding-inline-end: clamp(8px, 0.6rem + 0.3vw, 16px);
  /* right */
}

/* チェックアイコン（各 li の先頭） */
.partner-collab__media-list li::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background: url("/wp-content/themes/sc-retail/assets/img/icon_partner_grid_list.png") center/contain no-repeat;
}

/* SPで画像が窮屈なら、折り返ししたいときだけ以下をONに
@media (max-width: 480px){
  .partner-collab__media{
    flex-direction: column;
    align-items: center;
  }
  .partner-collab__media-img img{
    width: clamp(220px, 70vw, 420px);
  }
  .partner-collab__media-list{
    width: 100%;
  }
}
*/

/* ===== Partner MESSAGE ===== */
.partner-message-section {
  background: #fff;
  text-align: center;
  padding: clamp(2.4rem, 2rem + 3vw, 6rem) 0;
  position: relative;
}

/* 見出し：MESSAGE を大きく・色 #dcf8e9 */
.partner-message__title {
  margin: 0 0 clamp(1.2rem, .8rem + 1vw, 2rem);
  color: #dcf8e9;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  line-height: 1.1;
  font-size: clamp(2.8rem, 4rem + 3vw, 10rem);
  padding: clamp(1.2rem, 4.8rem + 1vw, 10rem) 0;
}

/* 本文帯：背景 #dcf8e9 */
.partner-message__body {
  position: relative;
  background: #dcf8e9;
  padding: clamp(2.0rem, 1.2rem + 3vw, 5rem) 0 clamp(2.4rem, 1.6rem + 3vw, 6rem);
  border-top-left-radius: 45%;
  border-top-right-radius: 45%;
  overflow: visible;
}

/* 帯の上端に載せるイメージ（境目に跨る） */
.partner-message__divider-img {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -45%);
  /* 45%ほど上にずらして“境目”に見せる */
  width: clamp(160px, 12rem + 24vw, 400px);
  pointer-events: none;
}

.partner-message__divider-img img {
  display: block;
  width: 100%;
  height: auto;
}

/* 本文テキスト：中央揃え＋大きめ */
.partner-message__content {
  padding: clamp(1.2rem, 4.8rem + 1vw, 10rem) 0;
}

.partner-message__p {
  margin: clamp(1.0rem, .8rem + 1vw, 2rem) 0 0;
  color: var(--ink);
  font-size: clamp(1.6rem, 1.2rem + .6vw, 2.2rem);
  line-height: 2.2;
}

.partner-message-section span {
  font-size: inherit;
  line-height: inherit;
}

/* spanのサイズ継承 */

/* 黄色の“被る”アンダーバー（ヒーローと同種） */
.u-underline-accent--yellow {
  position: relative;
  font-weight: 900;
  background-image: linear-gradient(to bottom,
      transparent 60%,
      rgba(252, 226, 162, .85) 60%,
      rgba(252, 226, 162, .85) 100%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* ブランドグリーンの強調 */
.u-text-brand {
  color: var(--brand);
  font-weight: 800;
}

/* 中程の画像（02）：中央・やや大きめ */
.partner-message__img {
  margin: clamp(1.2rem, .8rem + 1vw, 2rem) auto;
}

.partner-message__img img {
  display: block;
  margin: 0 auto;
  width: clamp(220px, 44vw, 680px);
  height: auto;
}

/* ===== Partner Requirements（募集要項：新レイアウト） ===== */

/* 既存の2カラム表レイアウトを“積み（スタック）”に切り替え */
.partner-req__dl.is-stack {
  margin: 0;
  max-width: 920px;
  /* 中央に収める幅（任意） */
  margin-inline: auto;
  text-align: center;
  /* 全体中央揃え */
  padding: clamp(1.4rem, 3rem + 3vw, 7rem) 0;
}

.partner-req__row.is-stack {
  display: block;
  /* grid指定を無効化 */
  padding: clamp(12px, 1.8rem + .6vw, 26px) 0;
  border-bottom: none;
  /* 罫線は不要 */
}

/* ラベル（dt）：ブランドグリーン、白字、100%幅の角丸ピル */
.partner-req__row.is-stack dt {
  margin: 0;
  width: 100%;
  display: block;
  background: var(--brand);
  color: #fff;
  font-weight: 800;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  border-radius: 10px;
  padding: clamp(10px, .6rem + .4vw, 14px) clamp(16px, 1rem + 2vw, 36px);
  font-size: clamp(1.6rem, 1.2rem + .4vw, 2.0rem);
  line-height: 1.2;
}

/* 内容（dd）：平文テキストを中央に。上に少しだけ間隔 */
.partner-req__row.is-stack dd {
  margin: clamp(8px, 1.4rem + .4vw, 24px) 0 0;
  color: var(--ink);
  font-size: clamp(1.6rem, 1.2rem + .3vw, 1.9rem);
  line-height: 1.9;
}

/* 見出し右端（2行英字）— recruit_works同様。折返しOK */
.partner-req__eyebrow {
  line-height: 1.1;
  text-align: right;
  white-space: normal;
  /* <br>反映 */
}

/* セクション余白（必要なら微調整） */
.partner-req-section {
  padding: clamp(3rem, 2rem + 7vw, 23rem) 0;
  background: #fff;
}

/* ===== Partner Requirements: Note（横幅いっぱいのバナー） ===== */
.partner-req__note {
  /* 背景：全幅（ビューポートいっぱい） */
  background: url("/wp-content/themes/sc-retail/assets/img/bg_partner_req__note.png") center/cover no-repeat;
  color: #fff;
  text-align: center;

  /* 横幅いっぱい（containerの外へ“はみ出す”テク） */
  /* width: 100vw; */
  /* margin-left: calc(50% - 50vw); */
  /* margin-right: calc(50% - 50vw); */

  /* 余白たっぷり＆段落の行間が映えるサイズ感に */
  padding: clamp(2.4rem, 6rem + 5vw, 20rem) 0;

  /* くっきり読ませる1pxのシャドウ */
  text-shadow: 1px 3px 1px rgba(0, 0, 0, .85);

  /* 角丸や影は不要（帯っぽく） */
  border-radius: 0;
  box-shadow: none;
}

/* テキストの可読幅（背景は全幅でも、文字は読み幅に収める） */
.partner-req__note-inner {
  max-width: 1100px;
  margin: 0 auto;
  /* text-shadow: 0 3px 0 rgba(0,0,0,.85); */
}

/* 先頭行：一段と大きく */
.partner-req__note-lead {
  margin: 0 0 clamp(10px, .8vw, 16px);
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.25;
  font-size: clamp(2.2rem, 1.2rem + 2.6vw, 3.8rem);
  /* ← 大きめ */
}

/* 「社会貢献」をさらに大きく（先頭行内だけ強調） */
.partner-req__note-em {
  font-size: clamp(2.6rem, 1.4rem + 1.8vw, 3.2rem);
  color: #FFF;
}

/* 本文：全体にサイズUP、段落間はやや広め */
.partner-req__note p {
  margin: clamp(6px, .6vw, 12px) 0;
  font-size: clamp(1.2rem, 1.2rem + 0.8vw, 3.2rem);
  line-height: 1.9;
  color: #FFF;
}

/* 極小端末での詰まりを軽減（任意） */
@media (max-width: 360px) {
  .partner-req__note {
    padding-left: 16px;
    padding-right: 16px;
  }
}


/* ===== Partner Hero：端テキストをSVGで表示 ===== */
.partner-hero__label {
  position: absolute;
  right: clamp(4px, 1vw, 40px);
  /* 右端の余白 */
  bottom: 0;
  /* セクション下端に接地 */
  padding-bottom: env(safe-area-inset-bottom, 0);
  z-index: 1;
  pointer-events: none;
  /* クリック透過 */
  line-height: 0;
  /* 隙間防止 */
}

.partner-hero__label img {
  display: block;
  width: clamp(220px, 32vw, 640px);
  /* 可変サイズ（最小/中間/最大） */
  max-width: 90vw;
  /* 万一小画面でのはみ出し防止 */
  height: auto;
}

/* 旧テキスト版を使わない場合は無効化（残っていると重なるため） */
.partner-hero__headline {
  display: none !important;
}


/* 使いやすい赤を変数で（必要なら色調整OK） */
:root {
  --accent-red: #e53935;
}

/* ===== SUBHEADING 構成調整 ===== */
/* 以前の「左アイコン用 ::before」は subhead-row に移すため消す */
.partner-collab__subheading::before {
  display: none !important;
}

/* subheading 自体は縦積み（上=バッジ / 下=見出し） */
.partner-collab__subheading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(6px, .4vw, 10px);
  margin-bottom: clamp(10px, 1vw, 16px);
}

/* 見出し（h3）をアイコン付きで横並びにするための内包ラッパ */
.partner-collab__subhead-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
}

.partner-collab__subhead-row h3 {
  margin: 0;
  color: #006e35;
  font-weight: 800;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: clamp(1.8rem, 1.2rem + .8vw, 2.2rem);
  text-align: center;
}

/* 種別ごとの左アイコンは subhead-row に付与 */
.partner-collab__subhead-row::before {
  content: "";
  display: inline-block;
  width: clamp(28px, 3.2vw, 40px);
  height: clamp(28px, 3.2vw, 40px);
  background: center/contain no-repeat;
}

.partner-collab__block--type1 .partner-collab__subhead-row::before {
  background-image: url("/wp-content/themes/sc-retail/assets/img/icon_partner_collab_01.png");
}

.partner-collab__block--type2 .partner-collab__subhead-row::before {
  background-image: url("/wp-content/themes/sc-retail/assets/img/icon_partner_collab_02.png");
}

/* ===== バッジ：赤背景／2行／中央寄せ ===== */
.partner-badge {
  display: inline-block;
  background: var(--accent-red);
  color: #fff;
  border-radius: 4px;
  padding: clamp(.3em, .2em + .3vw, .55em) clamp(.9em, .8em + .6vw, 1.4em);
  line-height: 1.2;
  font-weight: 900;
  text-align: center;
  box-shadow: 0 2px 6px rgba(229, 57, 53, .25);
  width: 100%;
}

.partner-badge__line {
  display: block;
  font-size: clamp(1.1rem, .9rem + .4vw, 1.6rem);
  color: #FFF;
}

.partner-badge__line.is-strong {
  font-size: clamp(1.3rem, 1.0rem + .6vw, 1.9rem);
}

/* 見出し（h3）は既存スタイルのままでOK */
.partner-collab__subheading h3 {
  margin: 0;
  color: #006e35;
  font-weight: 800;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: clamp(1.8rem, 1.2rem + .8vw, 2.2rem);
  text-align: center;
}

/* サポート帯は文言だけ差し替え（見た目は流用） */
.partner-collab__support {
  margin: clamp(12px, 1.2vw, 18px) 0 0;
  background: rgba(0, 110, 53, .08);
  border: 1px solid rgba(0, 110, 53, .35);
  border-radius: .6rem;
  padding: clamp(10px, .6rem + .4vw, 14px) clamp(12px, 1rem + 1vw, 20px);
  text-align: center;
  color: var(--ink);
  font-size: clamp(1.3rem, 1.0rem + .4vw, 1.8rem);
}

.partner-collab__support strong {
  color: var(--brand);
}


/* アンカーへスクロール時にヘッダー分の余白を確保 */
#partner_contact {
  scroll-margin-top: calc(var(--header-height, 0px) + 16px);
}
