/* =========================================================
   Blog LP 共通（独立/加盟で使い回す）
   ========================================================= */

.independence-blog{
  background:#f3f4f6;
  padding:40px 16px 60px;
}
.independence-blog__bg{ max-width:960px; margin:0 auto; }
.independence-blog__inner{
  background:#fff;
  border-radius:12px;
  padding:32px 24px 40px;
  box-shadow:0 18px 40px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.03);
}

/* breadcrumb */
.independence-blog__breadcrumb{
  font-size:12px;
  color:#6b7280;
  margin-bottom:16px;
}
.independence-blog__breadcrumb a{ color:inherit; text-decoration:none; }
.independence-blog__breadcrumb a:hover{ text-decoration:underline; }

/* title/meta */
.independence-blog__title{
  font-size:28px;
  line-height:1.4;
  font-weight:800;
  margin:0 0 12px;
}
.independence-blog__meta{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:#6b7280;
  margin-bottom:20px;
}
.independence-blog__cat{
  display:inline-flex;
  align-items:center;
  padding:2px 10px;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
}

/* thumb */
.independence-blog__thumb{ margin:16px 0 28px; }
.independence-blog__thumb img{
  display:block;
  width:100%;
  height:auto;
  border-radius:10px;
}

/* toc */
.independence-blog__toc{
  margin:0 0 32px;
  padding:22px 24px 18px;
  border-radius:16px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
}
.independence-blog__toc-heading{
  text-align:center;
  font-size:16px;
  font-weight:700;
  letter-spacing:.2em;
  margin:0 0 10px;
}
.independence-blog__toc-list{
  list-style:none;
  margin:0;
  padding:10px 0 0;
  border-top:1px solid #e5e7eb;
  counter-reset:toc;
}
.independence-blog__toc-list li{
  counter-increment:toc;
  position:relative;
  padding:8px 0 8px 28px;
  font-size:14px;
  border-top:1px solid #e5e7eb;
}
.independence-blog__toc-list li:first-child{ border-top:none; }
.independence-blog__toc-list li::before{
  content:counter(toc) " |";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  font-size:13px;
  color:#6b7280;
}
.independence-blog__toc-list a{ color:#111827; text-decoration:none; }
.independence-blog__toc-list a:hover{ text-decoration:underline; }

.independence-blog__content{
  margin-top:8px;
  font-size:15px;
  line-height:1.8;
}

/* LP幅のクセを殺す（ブログ幅に合わせる） */
.independence-blog .lp-section,
.independence-blog .lp-container{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  transform:none !important;
}

/* =========================================================
   Top CTA（独立と同じカード）
   ========================================================= */

.independence-blog .lp-section--top-cta{
  background:transparent;
  padding-top:0;
  padding-bottom:0;
}
.independence-blog .lp-top-cta{
  background:#fff;
  border-radius:16px;
  padding:24px 20px 26px;
  border:1px solid #e5e7eb;
  box-shadow:0 18px 40px rgba(15,23,42,.08), 0 1px 2px rgba(15,23,42,.04);
}

/* LINEボタン（共通） */
.lp-btn--line-main{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.lp-btn__line-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  flex-shrink:0;
}
.lp-btn__line-icon img{ display:block; width:100%; height:100%; }
.lp-btn__label{ display:inline-block; }

/* =========================================================
   こんなお悩み（スクショ風）
   - 指示反映：上paddingを1/3、画像下margin半分、画像80%
   ========================================================= */

.independence-blog .lp-section--problems{
  background:transparent;
  padding:32px 0 32px;
}
.independence-blog .problems-heading-main{
  text-align:center;
  font-size:22px;
  font-weight:800;
  color:#ea580c;
  margin:0 0 12px;
}
.independence-blog .problems-box{
  background:#fdf7e5;
  border:3px solid #ea580c;
  border-radius:16px;

  /* 24px → 約1/3に寄せる */
  padding:8px 18px 24px;
}
.independence-blog .problems-box__inner{
  max-width:720px;
  margin:0 auto;
  text-align:center;
}
.independence-blog .problems-illust{
  margin-bottom:5px; /* 10px → 半分 */
}
.independence-blog .problems-illust img{
  display:inline-block;
  width:96px;       /* 120px → 80% */
  height:auto;
  margin-bottom:3px; /* 6px → 半分 */
}
.independence-blog .problems-heading-sub{
  font-size:20px;
  font-weight:800;
  margin:0 0 10px; /* 18px → 半分くらい */
  color:#111827;
}
.independence-blog .problems-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.independence-blog .problems-list li{
  background:#fff;
  border-radius:999px;
  padding:10px 14px;
  font-size:clamp(14px, 3.6vw, 16px);
  line-height:1.8;
  color:#111827;
  box-shadow:0 2px 4px rgba(15,23,42,.06);
  text-align:center;
  white-space:normal;
}

/* =========================================================
   お悩み直後（青帯）
   ========================================================= */

.independence-blog .lp-section--after-problems{
  background:transparent;
  padding:18px 0 26px;
}
.independence-blog .after-problems__title{
  text-align:center;
  font-size:22px;
  font-weight:900;
  line-height:1.6;
  margin:0 0 10px;
  color:#0f172a;
}
.independence-blog .after-problems__lead{
  text-align:center;
  font-size:14.5px;
  line-height:1.9;
  color:#4b5563;
  margin:0 0 14px;
}
.independence-blog .after-problems-box{
  background:#e0f2fe;
  border:3px solid #38bdf8;
  border-radius:16px;
  padding:22px 16px;
  margin:0;
}
.independence-blog .after-problems-box__inner{
  max-width:720px;
  margin:0 auto;
  text-align:center;
}
.independence-blog .after-problems-box__heading{
  font-size:20px;
  font-weight:900;
  line-height:1.7;
  margin:0;
  color:#0c4a6e;
}

/* 蛍光ペン */
.independence-blog .hl-pen{
  display:inline;
  padding:0 .12em;
  background:linear-gradient(transparent 55%, #fde68a 55%);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}

/* =========================================================
   選ばれる理由（01-03）スクショ風（独立と同じ）
   ========================================================= */

.independence-blog .lp-section--reasons{
  background:#fffbeb;
  padding:28px 0 34px;
  border-top:1px solid #e5e7eb;
}
.independence-blog .reasons-heading{
  margin:0;
  text-align:center;
  font-size:20px;
  font-weight:900;
  line-height:1.5;
  color:#0f172a;
}
.independence-blog .reasons-heading__em{
  display:inline-block;
  font-size:26px;
  font-weight:900;
  margin-top:2px;
}
.independence-blog .reasons-cards{
  list-style:none;
  margin:14px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.independence-blog .reasons-card{
  --yl:#facc15;
  background:#fff;
  border:2px solid var(--yl);
  border-radius:18px;
  padding:18px 18px 16px;
  box-shadow:0 12px 26px rgba(15,23,42,.05);
}
.independence-blog .reasons-card__num{
  margin:0 0 6px;
  font-size:28px;
  font-weight:900;
  color:#eab308;
  line-height:1;
  display:inline-block;
  border-bottom:3px solid #fde68a;
  padding-bottom:4px;
}
.independence-blog .reasons-card__title{
  margin:0 0 10px;
  font-size:18px;
  font-weight:900;
  line-height:1.55;
  color:#111827;
}
.independence-blog .reasons-hl{
  display:inline;
  background:#facc15;
  padding:2px 6px;
  font-weight:900;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.independence-blog .reasons-ul{
  display:inline;
  padding:0 .06em .08em;
  background-image:linear-gradient(#fde68a,#fde68a);
  background-repeat:no-repeat;
  background-size:100% .38em;
  background-position:0 100%;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.independence-blog .reasons-card__text{
  margin:0;
  font-size:14px;
  line-height:2;
  color:#111827;
}

/* =========================================================
   概要（主な内容カードのデザインを流用）
   ========================================================= */

.independence-blog .lp-section--plan{
  background:transparent !important;
  padding:26px 0 30px;
  border-top:1px solid #e5e7eb;
}
.independence-blog .plan-heading{
  margin:0;
  text-align:center;
  font-size:26px;
  font-weight:900;
  line-height:1.5;
  color:#0f172a;
}
.independence-blog .plan-lead{ margin-top:8px; }

.independence-blog .detail-block{ margin-bottom:18px; }
.independence-blog .detail-block__heading{
  font-size:16px;
  font-weight:900;
  margin:0 0 10px;
}
.independence-blog .detail-block--contents{
  background:#eff8ff;
  border:1px solid #7dd3fc;
  border-radius:14px;
  padding:14px 16px 12px;
}

.independence-blog .plan-contents-list{
  list-style:none;
  margin:0;
  padding:2px 0 0;
  counter-reset:plan-num;
}
.independence-blog .plan-contents-list li{
  counter-increment:plan-num;
  position:relative;
  padding:10px 0 10px 34px;
  border-bottom:1px dashed rgba(15,23,42,.18);
}
.independence-blog .plan-contents-list li:last-child{ border-bottom:none; }
.independence-blog .plan-contents-list li::before{
  content:counter(plan-num) ".";
  position:absolute;
  left:6px;
  top:12px;
  font-weight:900;
  color:#0284c7;
}
.independence-blog .plan-contents__title{
  display:block;
  font-size:15px;
  font-weight:900;
  color:#0f172a;
  line-height:1.5;
}
.independence-blog .plan-contents__desc{
  display:block;
  margin-top:2px;
  font-size:12.5px;
  color:#334155;
  line-height:1.7;
}

/* =========================================================
   フロー（独立と同じ “丸アイコンのタイムライン”）
   ========================================================= */

.independence-blog .lp-section--detail{
  background:transparent;
  padding:28px 0 32px;
  border-top:1px solid #e5e7eb;
}
.independence-blog .detail-step-list{
  list-style:none;
  margin:16px 0 0;
  padding:0;
  position:relative;
}
.independence-blog .detail-step-list::before{
  content:"";
  position:absolute;
  left:40px;
  top:10px;
  bottom:0;
  width:2px;
  background:#e5e7eb;
}
.independence-blog .detail-step{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:18px;
}
.independence-blog .detail-step__meta{
  width:80px;
  text-align:center;
  position:relative;
}
.independence-blog .detail-step__icon{
  width:40px;
  height:40px;
  border-radius:999px;
  background:#2563eb;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:800;
  font-size:16px;
  box-shadow:0 6px 14px rgba(37,99,235,.35);
  margin:0 auto 4px;
}
.independence-blog.lp-main--partner .detail-step__icon{
  background:#16a34a;
  box-shadow:0 6px 14px rgba(22,163,74,.28);
}
.independence-blog .detail-step__step{
  display:block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  color:#6b7280;
}
.independence-blog .detail-step__card{
  flex:1;
  background:#fff;
  border-radius:16px;
  padding:12px 16px;
  border:1px solid #e5e7eb;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.independence-blog .detail-step__title{
  font-size:15px;
  font-weight:800;
  margin:0 0 4px;
}
.independence-blog .detail-step__text{
  font-size:13.5px;
  line-height:1.9;
  color:#4b5563;
  margin:0;
}

/* =========================================================
   料金＆募集エリア 2カラム
   ========================================================= */

.lp-recruit-box{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
  margin-top:10px;
}
.lp-recruit-box__col{
  background:#f8fafc;
  border-radius:16px;
  padding:14px 16px;
  border:1px solid #e5e7eb;
}

/* =========================================================
   絶賛募集中（6ボックス）
   ========================================================= */

.lp-section--recruit-highlight{
  background:radial-gradient(circle at top, #fef9c3, transparent 60%), #fffbeb;
  padding:28px 0 34px;
  border-top:1px solid #e5e7eb;
}
.lp-section--recruit-highlight .lp-section__head--center{ text-align:center; }
.lp-section--recruit-highlight .lp-heading--emphasis{
  font-size:24px;
  font-weight:900;
  letter-spacing:.12em;
  display:inline-block;
  padding:6px 16px;
  border-radius:999px;
  background:#f97316;
  color:#fff;
  box-shadow:0 10px 30px rgba(248,113,36,.4);
  margin-bottom:6px;
}
.lp-highlight-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.lp-highlight-item{
  position:relative;
  border-radius:18px;
  padding:16px 16px 14px;
  background:#fff;
  border:1px solid #fed7aa;
  box-shadow:0 14px 30px rgba(15,23,42,.08), 0 1px 2px rgba(15,23,42,.04);
  display:flex;
  flex-direction:column;
  gap:6px;
  text-align:left;
}
.lp-highlight-tag{
  position:absolute;
  top:10px;
  left:12px;
  min-width:26px;
  padding:2px 8px;
  border-radius:999px;
  background:#ffedd5;
  color:#c2410c;
  font-size:11px;
  font-weight:800;
  text-align:center;
}
.lp-highlight-main{
  margin:0;
  padding-top:18px;
  font-size:15px;
  font-weight:800;
  line-height:1.5;
  color:#0f172a;
}
.lp-highlight-sub{
  margin:0;
  font-size:12px;
  line-height:1.7;
  color:#6b7280;
}

/* =========================================================
   独立と同じ LINE CTA（部品）
   ========================================================= */

.independence-blog .lp-section--cta{
  background:transparent;
  padding:28px 0 36px;
}
.independence-blog .lp-line-cta{
  border:1px solid #86efac;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.03);
}
.independence-blog .lp-line-cta__head{
  background:#06C755;
  color:#fff;
  padding:12px 16px 14px;
  text-align:center;
}
.independence-blog .lp-line-cta__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  border-radius:999px;
  background:#fff;
  color:#16a34a;
  font-weight:900;
  font-size:11px;
}
.independence-blog .lp-line-cta__head-title{
  margin:6px 0 0;
  font-size:20px;
  font-weight:900;
}
.independence-blog .lp-line-cta__body{ padding:16px; }
.independence-blog .lp-line-cta__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.independence-blog .lp-line-cta__desc{
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:12px 14px;
}
.independence-blog .lp-line-cta__desc p{
  margin:0;
  font-size:14.5px;
  line-height:1.9;
}
.independence-blog .lp-line-cta__qr img{
  display:block;
  width:150px;
  max-width:45vw;
  height:auto;
  border-radius:12px;
}
.independence-blog .lp-line-cta__actions{ margin-top:14px; }
.independence-blog .lp-line-cta__btn{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  border-radius:999px;
  padding:12px 16px;
  font-weight:900;
  font-size:16px;
  text-decoration:none;
  background:#06C755;
  color:#fff;
  border:1px solid #06C755;
}

/* 黄色蛍光ペン */
.independence-blog .lp-hl{ font-weight:800; }
.independence-blog .lp-hl--yellow{
  background:linear-gradient(transparent 58%, #fde68a 58%);
  padding:0 .12em;
}

/* PC：左右2カラム */
@media (min-width: 900px){
  .independence-blog .lp-line-cta__body{ padding:24px 32px; }
  .independence-blog .lp-line-cta__inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:32px;
  }
  .independence-blog .lp-line-cta__qr img{
    width:260px;
    max-width:260px;
  }
}

/* =========================================================
   FAQ（Q/A 揃え：重複排除してこれだけ）
   ========================================================= */

.independence-blog #sec-faq .faq{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.independence-blog #sec-faq .faq details{
  border:1px solid #dbeafe;
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.04), 0 10px 24px rgba(15,23,42,.06);
  overflow:hidden;
}
.independence-blog #sec-faq .faq summary{
  padding:14px 16px;
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-weight:800;
  color:#0f172a;
}
.independence-blog #sec-faq .faq summary::marker{ display:none; }
.independence-blog #sec-faq .faq summary::before{
  content:"Q：";
  flex-shrink:0;
  font-weight:900;
  color:#1d4ed8;
}
.independence-blog #sec-faq .faq summary::after{
  content:"▾";
  margin-left:auto;
  flex-shrink:0;
  align-self:center;
  transition:transform .2s ease;
  color:#334155;
}
.independence-blog #sec-faq .faq details[open] > summary::after{ transform:rotate(180deg); }

.independence-blog #sec-faq .faq .answer{
  position:relative;
  padding:12px 16px 16px 44px;
  background:#eff6ff;
  border-top:1px solid #dbeafe;
}
.independence-blog #sec-faq .faq .answer::before{
  content:"A：";
  position:absolute;
  left:16px;
  top:12px;
  font-weight:900;
  color:#1d4ed8;
}
.independence-blog #sec-faq .faq .answer p{
  margin:0;
  padding:0 !important; /* テーマ側のp padding対策 */
  line-height:1.8;
  color:#0f172a;
}
.independence-blog #sec-faq .faq .answer p + p{ margin-top:10px; }

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1024px){
  .lp-highlight-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 900px){
  .lp-recruit-box{ grid-template-columns:1fr; }
}
@media (max-width: 768px){
  .independence-blog{ padding:24px 10px 40px; }
  .independence-blog__inner{ padding:24px 16px 32px; }
  .independence-blog__title{ font-size:22px; }
  .independence-blog__toc{ padding-inline:18px; }

  .independence-blog .lp-section--problems{ padding:24px 0; }
  .independence-blog .problems-illust img{ width:84px; }

  .independence-blog .after-problems__title{ font-size:18px; }
  .independence-blog .after-problems-box{ padding:18px 14px; }
  .independence-blog .after-problems-box__heading{ font-size:17px; }

  .independence-blog .reasons-heading{ font-size:18px; }
  .independence-blog .reasons-heading__em{ font-size:24px; }

  .independence-blog .plan-heading{ font-size:22px; }
  .independence-blog .plan-contents__title{ font-size:14px; }
  .independence-blog .plan-contents__desc{ font-size:11.5px; }

  .independence-blog .detail-step-list::before{ left:36px; }
  .independence-blog .detail-step__meta{ width:70px; }
  .independence-blog .detail-step__icon{ width:36px; height:36px; font-size:14px; }
  .independence-blog .detail-step__card{ padding:10px 12px; }
  .independence-blog .detail-step__title{ font-size:14px; }
  .independence-blog .detail-step__text{ font-size:13px; }

  .lp-highlight-grid{ grid-template-columns:1fr; }
  .lp-section--recruit-highlight .lp-heading--emphasis{
    font-size:20px;
    padding-inline:12px;
  }

  .independence-blog #sec-faq .faq summary{ padding:12px 14px; font-size:14px; }
  .independence-blog #sec-faq .faq .answer{ padding:11px 14px 14px 38px; }
}
/* 一番上CTAのオレンジピル（::before/::after）を消す */
.lp-main--partner .lp-top-cta::before,
.lp-main--partner .lp-top-cta::after{
  content: none !important;
  display: none !important;
}
/* =========================
   加盟LP：概要内（料金/エリア/募集要項）デザイン刷新
   ========================= */

.lp-main--partner .detail-block--fee-area{
  margin-top: 18px;
}

.lp-main--partner .partner-overview-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 10px;
}

.lp-main--partner .partner-overview-card{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 16px 16px 14px;
  box-shadow: 0 14px 34px rgba(15,23,42,.06);
}

.lp-main--partner .partner-overview-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  margin: 0 0 10px;
}

.lp-main--partner .partner-overview-pill--fee{
  background: #dcfce7;
  color: #166534;
  border: 1px solid #bbf7d0;
}

.lp-main--partner .partner-overview-pill--hot{
  background: #ffedd5;
  color: #c2410c;
  border: 1px solid #fed7aa;
}

.lp-main--partner .partner-overview-subtitle{
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 900;
  color: #0f172a;
}

/* 料金：見やすいK/Vリスト */
.lp-main--partner .partner-kv-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.lp-main--partner .partner-kv-list li{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
}

.lp-main--partner .partner-kv-list__label{
  font-size: 13px;
  font-weight: 800;
  color: #334155;
}

.lp-main--partner .partner-kv-list__value{
  font-size: 14px;
  color: #0f172a;
  white-space: nowrap;
}

/* エリア */
.lp-main--partner .partner-area-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.lp-main--partner .partner-area-list li{
  padding: 10px 12px;
  border-radius: 14px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  font-weight: 800;
  color: #9a3412;
}

.lp-main--partner .partner-area-highlight{
  margin: 12px 0 10px;
}

/* 既存の hl-pen を持ってる前提。無い場合の保険 */
.lp-main--partner .hl-pen{
  display: inline;
  padding: 0 .12em;
  background: linear-gradient(transparent 55%, #fde68a 55%);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.lp-main--partner .partner-note{
  margin: 10px 0 0;
  font-size: 12.5px;
  line-height: 1.8;
  color: #475569;
}

.lp-main--partner .partner-note--last{
  margin-top: 12px;
}

/* 募集要項（新デザイン） */
.lp-main--partner .detail-block--recruit{
  margin-top: 18px;
}

.lp-main--partner .partner-recruit-card{
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 14px 34px rgba(15,23,42,.06);
  overflow: hidden;
}

.lp-main--partner .partner-recruit-head{
  padding: 16px 16px 14px;
  background: linear-gradient(135deg, #eff6ff, #ffffff);
  border-bottom: 1px solid #e5e7eb;
}

.lp-main--partner .partner-recruit-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  background: #ffedd5;
  color: #c2410c;
  border: 1px solid #fed7aa;
  margin: 0 0 10px;
}

.lp-main--partner .partner-recruit-title{
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.6;
  color: #0f172a;
}

.lp-main--partner .partner-recruit-lead{
  margin: 0;
  font-size: 13px;
  line-height: 1.85;
  color: #334155;
}

.lp-main--partner .partner-recruit-list{
  list-style: none;
  margin: 0;
  padding: 14px 16px 16px;
  display: grid;
  gap: 10px;
}

.lp-main--partner .partner-recruit-list li{
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 12px 12px;
}

.lp-main--partner .partner-recruit-list__tag{
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  background: #dbeafe;
  color: #1d4ed8;
  margin-bottom: 8px;
}

.lp-main--partner .partner-recruit-list__text{
  display: block;
  font-size: 13.5px;
  line-height: 1.9;
  color: #0f172a;
}

@media (max-width: 900px){
  .lp-main--partner .partner-overview-grid{
    grid-template-columns: 1fr;
  }
}
/* 募集要項カード：末尾テキストの余白を整える（左詰め“だけ”に見える問題を解消） */
.lp-main--partner .partner-recruit-foot{
  padding: 0 16px 16px;   /* リストやヘッダーと同じ左右余白に */
}

.lp-main--partner .partner-recruit-foot .partner-note{
  margin: 0;              /* 余計なズレ防止 */
}

/* （任意）末尾だけ少し区切って“カード内のまとまり”を出す */
.lp-main--partner .partner-recruit-foot{
  border-top: 1px solid #e5e7eb;
  padding-top: 12px;
}
/* =========================
   絶賛募集中：魅力セクション寄せ（背景/ピル/カード調整）
   ========================= */

.lp-main--partner .lp-section--recruit-highlight{
  /* 変なグラデをやめて、reasons寄せの“淡い面”に */
  background:#fff7ed;              /* オレンジ感のある薄い背景 */
  padding:28px 0 34px;
  border-top:1px solid #e5e7eb;
}

/* 見出し：1つのピルに統合 */
.lp-main--partner .recruit-highlight-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0 0 10px;
  padding:8px 16px;
  border-radius:999px;
  background:#f97316;
  color:#fff;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:0 10px 30px rgba(248,113,36,.35);
  font-size:16px;
  line-height:1.2;
}

.lp-main--partner .recruit-highlight-lead{
  margin:0;
  color:#0f172a;
}

/* カード：番号ピルを“中身に統合”して重なりを解消（absolute廃止） */
.lp-main--partner .lp-highlight-item{
  position:relative; /* 既存があってもOK */
  text-align:left;
}

.lp-main--partner .lp-highlight-tag{
  position:static;                 /* ←重なりの原因（absolute）を殺す */
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  padding:3px 10px;
  border-radius:999px;
  background:#ffedd5;
  color:#c2410c;
  font-size:12px;
  font-weight:900;
  margin:0 0 10px;                /* 見出しと自然に間隔 */
}

/* 旧CSSで top padding を足してたのでリセット */
.lp-main--partner .lp-highlight-main{
  padding-top:0;                   /* 旧: padding-top:18px の打ち消し */
  margin:0;
}

/* モバイルでピルがデカすぎないように */
@media (max-width: 768px){
  .lp-main--partner .recruit-highlight-pill{
    font-size:14px;
    padding:7px 14px;
  }
}
/* 絶賛募集中：見出しピルを左上に配置 */
.lp-main--partner .recruit-highlight-head{
  position: relative;
  padding-top: 46px; /* 左上ピルの分、上に余白を確保 */
}

/* ピルを左上へ */
.lp-main--partner .recruit-highlight-pill{
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;         /* 既存のmarginを打ち消し */
  max-width: 100%;
  white-space: nowrap; /* 1行で出したい場合 */
}

/* 画面が狭い時は折り返しOKにして崩れ防止（任意だけど安全） */
@media (max-width: 480px){
  .lp-main--partner .recruit-highlight-pill{
    white-space: normal;
    line-height: 1.25;
  }
  .lp-main--partner .recruit-highlight-head{
    padding-top: 58px; /* 折り返し時に被らないよう少し増やす */
  }
}
/* カード内の 01/02… ピルを “狭く” する（全幅ストレッチ対策） */
.lp-main--partner .lp-highlight-item .lp-highlight-tag{
  align-self: flex-start;     /* ← これが効く。stretchを解除 */
  width: auto;
  display: inline-flex;
  white-space: nowrap;
}
/* 見出しピル：中央に戻す（左上固定を解除） */
.lp-main--partner .recruit-highlight-head{
  padding-top: 0;          /* 左上配置用の余白を戻す */
  position: static;        /* 念のため */
}

.lp-main--partner .recruit-highlight-pill{
  position: static;        /* absolute解除 */
  margin: 0 auto 10px;     /* 中央寄せ */
  display: inline-flex;    /* 幅は中身に合わせる */
  max-width: 100%;         /* 画面からはみ出し防止 */
  white-space: normal;     /* 長ければ折り返してOK（横長すぎ対策） */
  text-align: center;
}

/* カード内の 01/02… ピルは左＆狭いまま（全幅ストレッチ対策） */
.lp-main--partner .lp-highlight-item .lp-highlight-tag{
  align-self: flex-start;
  width: auto;
  display: inline-flex;
  white-space: nowrap;
}
/* =========================================================
   Blog LP内：お問い合わせフォーム（埋め込み）専用
   ※ pk- プレフィックスで副作用回避
   ========================================================= */

.independence-blog .lp-section--contact-form{
  background:transparent;
  padding:28px 0 36px;
  border-top:1px solid #e5e7eb;
}

.independence-blog .pk-contact{
  --bg:#edf5fb;
  --ink:#0f172a;
  --muted:#64748b;
  --card:#ffffff;
  --line:#e6eef6;
  --brand:#2563eb;
  --shadow:0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.06);
  --radius:16px;
  --ring:0 0 0 4px rgba(37,99,235,.10);
}

.independence-blog .pk-contact__head{
  max-width:720px;
  margin:0 auto 10px;
  text-align:center;
}
.independence-blog .pk-contact__title{
  margin:0;
  font-size:22px;
  font-weight:900;
  color:var(--ink);
}
.independence-blog .pk-contact__lead{
  margin:8px 0 0;
  font-size:14px;
  line-height:1.9;
  color:#475569;
}

.independence-blog .pk-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  max-width:720px;
  margin:16px auto 0;
  padding:24px 20px;
}

.independence-blog .pk-form h3{
  margin:0 0 6px;
  font-size:18px;
  font-weight:900;
  color:var(--ink);
}
.independence-blog .pk-lead{
  margin:0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.8;
}

.independence-blog .pk-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:16px;
}
.independence-blog .pk-field:first-of-type{ margin-top:12px; }

.independence-blog .pk-label{
  font-weight:900;
  font-size:14px;
  color:var(--ink);
}
.independence-blog .pk-req{
  display:inline-block;
  margin-left:6px;
  font-size:12px;
  background:#fee2e2;
  color:#991b1b;
  border:1px solid #fecaca;
  border-radius:999px;
  padding:2px 8px;
}

.independence-blog .pk-input{
  width:100%;
  box-sizing:border-box;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
.independence-blog .pk-input:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:var(--ring);
}
.independence-blog .pk-input::placeholder{ color:#94a3b8; }
.independence-blog textarea.pk-input{ min-height:140px; resize:vertical; }

.independence-blog .pk-select-wrap{ position:relative; }
.independence-blog .pk-select{
  appearance:none;
  padding-right:42px;
}
.independence-blog .pk-select-wrap::after{
  content:"";
  position:absolute;
  right:12px;
  top:50%;
  width:10px;
  height:10px;
  transform:translateY(-50%) rotate(45deg);
  border-right:2px solid #64748b;
  border-bottom:2px solid #64748b;
  pointer-events:none;
  opacity:.8;
}

.independence-blog .pk-error{
  color:#dc2626;
  font-size:12px;
  margin-top:4px;
}

.independence-blog .pk-checkline{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:16px;
}
.independence-blog .pk-check{
  width:18px;
  height:18px;
  margin-top:2px;
}

.independence-blog .pk-privacy{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f9fafb;
  max-height:11em;
  overflow-y:auto;
  font-size:12px;
  line-height:1.6;
  color:#0f172a;
}
.independence-blog .pk-privacy p{ margin:0; }
.independence-blog .pk-privacy p + p{ margin-top:8px; }

.independence-blog .pk-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:20px;
}
.independence-blog .pk-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:12px 16px;
  font-weight:900;
  font-size:15px;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
}
.independence-blog .pk-btn--brand{
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
}
.independence-blog .pk-btn--brand:hover{ opacity:.92; }
.independence-blog .pk-btn--ghost{
  background:#fff;
  border-color:#cbd5e1;
  color:#0f172a;
}
.independence-blog .pk-btn--ghost:hover{ background:#f8fafc; }

.independence-blog .pk-confirm{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.independence-blog .pk-confirm > div{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:8px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
}
.independence-blog .pk-confirm dt{
  font-weight:900;
  color:#334155;
}
.independence-blog .pk-confirm dd{ margin:0; }

@media (max-width:640px){
  .independence-blog .pk-confirm > div{ grid-template-columns:1fr; }
}
@media (max-width:768px){
  .independence-blog .pk-contact__title{ font-size:20px; }
  .independence-blog .pk-card{ padding:20px 16px; }
}
