/* ============================================================
   出店者募集ページ専用スタイル
   すべて .bm-recruit-page の中だけに効くようにスコープしています
   (サイト全体のCSSと変数名がぶつからないようにするため)
============================================================ */
.bm-recruit-page{
  --rb-bg:#0B0B0B;
  --rb-bg-soft:#161616;
  --rb-bg-card:#1D1D1D;
  --rb-line: rgba(255,255,255,0.14);
  --rb-white:#F5F4EF;
  --rb-white-dim: rgba(245,244,239,0.68);
  --rb-green:#9FCB7A;
  --rb-coral:#FF6A45;

  background:var(--rb-bg); color:var(--rb-white);
  font-family:'Zen Kaku Gothic New', sans-serif; font-weight:500;
  line-height:1.9; -webkit-font-smoothing:antialiased;
}
.bm-recruit-page *{ box-sizing:border-box; }
.bm-recruit-page h1,
.bm-recruit-page h2,
.bm-recruit-page h3,
.bm-recruit-page h4{ font-family:'Zen Kaku Gothic New'; font-weight:900; margin:0; }
.bm-recruit-page p{ margin:0; }
.bm-recruit-page ul{ margin:0; padding:0; list-style:none; }
.bm-recruit-page a{ color:var(--rb-green); text-decoration:underline; }
.bm-recruit-page .rb-img{ display:block; width:100%; height:100%; object-fit:cover; }

.bm-recruit-page .wrap{ max-width:800px; margin:0 auto; padding:0 24px; }

.bm-recruit-page .topbar{ border-bottom:1px solid var(--rb-line); background:var(--rb-bg-soft); }
.bm-recruit-page .topbar .wrap{ padding:14px 24px; font-size:.82rem; font-weight:900; letter-spacing:.08em; color:var(--rb-white-dim); }

.bm-recruit-page .hero-band{ position:relative; min-height:64vh; display:flex; align-items:flex-end; background:#111; }
.bm-recruit-page .hero-photo{ position:absolute; inset:0; z-index:0; }
.bm-recruit-page .hero-photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,11,11,0.15) 0%, rgba(11,11,11,0.55) 55%, rgba(11,11,11,0.95) 100%);
}
.bm-recruit-page .hero-band .wrap{ position:relative; z-index:2; padding-bottom:56px; padding-top:56px; }
.bm-recruit-page .rb-eyebrow{ display:inline-flex; align-items:center; gap:8px; background:rgba(29,29,29,0.85); border:1px solid var(--rb-line); color:var(--rb-green); padding:7px 16px; border-radius:100px; font-size:.75rem; font-weight:900; letter-spacing:.06em; backdrop-filter:blur(4px); }
.bm-recruit-page .hero-band h1{ margin-top:20px; font-size:clamp(2.1rem,7vw,3.4rem); line-height:1.2; text-shadow:0 4px 20px rgba(0,0,0,0.5); }
.bm-recruit-page .hero-band .lead{ margin-top:18px; font-size:1rem; color:var(--rb-white-dim); font-weight:500; max-width:560px; }

.bm-recruit-page article{ padding:10px 0 90px; }
.bm-recruit-page .rb-block{ padding:56px 0 52px; border-bottom:1px solid var(--rb-line); }
.bm-recruit-page .rb-block:last-child{ border-bottom:none; }

.bm-recruit-page .h2-label{ font-size:.78rem; font-weight:900; color:var(--rb-coral); letter-spacing:.14em; margin-bottom:14px; }
.bm-recruit-page .rb-block h2{ font-size:1.5rem; margin-bottom:22px; }

.bm-recruit-page .rb-photo{ border-radius:14px; overflow:hidden; background:var(--rb-bg-card); border:1px solid var(--rb-line); }

.bm-recruit-page .info-list{ border:1px solid var(--rb-line); border-radius:12px; overflow:hidden; }
.bm-recruit-page .info-row{ display:flex; border-bottom:1px solid var(--rb-line); }
.bm-recruit-page .info-row:last-child{ border-bottom:none; }
.bm-recruit-page .info-row .k{ flex:0 0 120px; padding:16px 18px; font-weight:900; font-size:.85rem; color:var(--rb-green); background:var(--rb-bg-card); }
.bm-recruit-page .info-row .v{ padding:16px 18px; font-size:.92rem; font-weight:700; flex:1; }
@media (max-width:520px){
  .bm-recruit-page .info-row{ flex-direction:column; }
  .bm-recruit-page .info-row .k{ flex:none; }
}

.bm-recruit-page .theme-quote{ border-left:4px solid var(--rb-coral); background:var(--rb-bg-card); border-radius:0 10px 10px 0; padding:22px 26px; font-weight:900; font-size:1.05rem; margin-bottom:20px; }
.bm-recruit-page .rb-block p.body{ color:var(--rb-white-dim); font-weight:500; font-size:.95rem; }
.bm-recruit-page .rb-block p.body strong{ color:var(--rb-green); font-weight:900; }

.bm-recruit-page .theme-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:24px; }
.bm-recruit-page .theme-grid .rb-photo{ aspect-ratio:4/3; }
@media (max-width:560px){ .bm-recruit-page .theme-grid{ grid-template-columns:1fr; } }

.bm-recruit-page .genre-block{ border:1px solid var(--rb-line); border-radius:14px; overflow:hidden; margin-bottom:20px; }
.bm-recruit-page .genre-photo{ aspect-ratio:16/7; }
.bm-recruit-page .genre-copy{ padding:24px 26px; background:var(--rb-bg-card); }
.bm-recruit-page .genre-copy h3{ font-size:1.05rem; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.bm-recruit-page .genre-tag{ font-size:.68rem; font-weight:900; padding:4px 10px; border-radius:5px; color:var(--rb-bg); }
.bm-recruit-page .genre-tag.plant{ background:var(--rb-green); }
.bm-recruit-page .genre-tag.food{ background:var(--rb-coral); }
.bm-recruit-page .price-line{ margin-top:14px; font-size:1.15rem; font-weight:900; }
.bm-recruit-page .price-line span{ font-size:.82rem; font-weight:700; color:var(--rb-white-dim); margin-left:8px; }
.bm-recruit-page .genre-copy ul{ margin-top:14px; }
.bm-recruit-page .genre-copy ul li{ font-size:.88rem; color:var(--rb-white-dim); font-weight:500; padding:4px 0; padding-left:1.2em; position:relative; }
.bm-recruit-page .genre-copy ul li::before{ content:"●"; position:absolute; left:0; color:var(--rb-coral); font-size:.6rem; top:9px; }

.bm-recruit-page .rb-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.bm-recruit-page .rb-gallery .rb-photo{ aspect-ratio:1/1; }
@media (max-width:640px){ .bm-recruit-page .rb-gallery{ grid-template-columns:repeat(2,1fr); } }

.bm-recruit-page .caution-block{ border:1px solid var(--rb-line); border-radius:12px; padding:22px 24px; margin-bottom:16px; background:var(--rb-bg-card); }
.bm-recruit-page .caution-block .mark{ font-weight:900; margin-right:6px; }
.bm-recruit-page .caution-block.warn .mark{ color:var(--rb-coral); }
.bm-recruit-page .caution-block.ok .mark{ color:var(--rb-green); }
.bm-recruit-page .caution-block.no .mark{ color:var(--rb-coral); }
.bm-recruit-page .caution-block h3{ font-size:.98rem; margin-bottom:10px; }
.bm-recruit-page .caution-block p,
.bm-recruit-page .caution-block ul{ font-size:.88rem; color:var(--rb-white-dim); font-weight:500; }
.bm-recruit-page .caution-block ul li{ padding:3px 0 3px 1.1em; position:relative; }
.bm-recruit-page .caution-block ul li::before{ content:"・"; position:absolute; left:0; color:var(--rb-green); }

.bm-recruit-page .size-table{ margin-top:6px; border:1px solid var(--rb-line); border-radius:12px; overflow:hidden; }
.bm-recruit-page .size-row{ display:grid; grid-template-columns:1fr 1fr; }
.bm-recruit-page .size-row > div{ padding:16px 20px; border-right:1px solid var(--rb-line); border-bottom:1px solid var(--rb-line); font-size:.88rem; font-weight:700; }
.bm-recruit-page .size-row > div:last-child{ border-right:none; }
.bm-recruit-page .size-row:last-child > div{ border-bottom:none; }
.bm-recruit-page .size-row.head{ background:var(--rb-bg-card); color:var(--rb-green); font-size:.75rem; letter-spacing:.05em; }
@media (max-width:480px){
  .bm-recruit-page .size-row{ grid-template-columns:1fr; }
  .bm-recruit-page .size-row > div{ border-right:none; }
}

.bm-recruit-page .rb-flow{ position:relative; margin-top:10px; padding-left:36px; }
.bm-recruit-page .rb-flow::before{ content:""; position:absolute; left:11px; top:6px; bottom:6px; width:2px; background:var(--rb-line); }
.bm-recruit-page .flow-item{ position:relative; padding-bottom:40px; }
.bm-recruit-page .flow-item:last-child{ padding-bottom:0; }
.bm-recruit-page .flow-item::before{ content:attr(data-n); position:absolute; left:-36px; top:-2px; width:28px; height:28px; border-radius:50%; background:var(--rb-green); color:var(--rb-bg); font-size:.78rem; font-weight:900; display:flex; align-items:center; justify-content:center; }
.bm-recruit-page .flow-item .when{ font-size:.8rem; color:var(--rb-coral); font-weight:900; }
.bm-recruit-page .flow-item h3{ font-size:1.05rem; margin-top:4px; }
.bm-recruit-page .flow-item p{ margin-top:8px; font-size:.9rem; color:var(--rb-white-dim); font-weight:500; }

.bm-recruit-page .faq-item{ border-bottom:1px solid var(--rb-line); padding:22px 0; }
.bm-recruit-page .faq-item summary{ cursor:pointer; font-weight:700; font-size:1rem; color:var(--rb-white); display:flex; gap:14px; align-items:flex-start; list-style:none; }
.bm-recruit-page .faq-item summary::-webkit-details-marker{ display:none; }
.bm-recruit-page .faq-item summary .q-badge{ flex:none; width:26px; height:26px; border-radius:50%; background:var(--rb-coral); color:var(--rb-bg); font-size:.78rem; font-weight:900; display:flex; align-items:center; justify-content:center; }
.bm-recruit-page .faq-item p{ margin-top:14px; font-size:.9rem; color:var(--rb-white-dim); font-weight:500; padding-left:40px; }

.bm-recruit-page .contact-card{ display:flex; align-items:center; gap:18px; background:var(--rb-white); color:var(--rb-bg); border-radius:14px; padding:26px 28px; flex-wrap:wrap; }
.bm-recruit-page .contact-card .line-badge{ background:var(--rb-bg); color:#06C755; font-weight:900; font-size:.8rem; padding:8px 14px; border-radius:8px; }
.bm-recruit-page .contact-mail{ margin-top:14px; font-size:.9rem; font-weight:700; }
.bm-recruit-page .caution-note{ margin-top:18px; font-size:.82rem; color:var(--rb-white-dim); font-weight:500; }

.bm-recruit-page .btn-prominent{
  background:#FFCC00; color:#111 !important; text-decoration:none;
}
.bm-recruit-page .btn-prominent:hover{ color:#111; }

.bm-recruit-page .closing-photo{ aspect-ratio:16/6; margin:0 24px; }
.bm-recruit-page .closing-photo.rb-photo{ border-radius:24px; }

.bm-recruit-page .rb-footer-note{ padding:50px 0 60px; font-size:.78rem; color:var(--rb-white-dim); text-align:center; font-weight:500; }

@media (prefers-reduced-motion: reduce){
  .bm-recruit-page *{ animation:none !important; transition:none !important; }
}
