/* 掲載依頼フォーム(lreq-)— blade パーシャルから外部化 2026-07-16 趙 */
  /* 掲載依頼フォーム(lreq-)— INACOME デザイン規定 v1 準拠・自己完結 */
  .lreq{ font-family:YakuHanJP,"Zen Kaku Gothic New","Noto Sans JP",sans-serif; line-height:2; color:#333; background:#fff; }
  .lreq, .lreq *{ word-break:normal; overflow-wrap:anywhere; box-sizing:border-box; }
  .main:has(.lreq){ padding:0 0 40px; }
  .lreq-container{ max-width:760px; margin-inline:auto; padding:clamp(32px,5vw,56px) clamp(16px,4vw,32px) clamp(56px,8vw,96px); }
  .lreq h1{ font-size:1.8rem; font-weight:700; line-height:1.5; color:#1e2430; margin:0 0 10px; }
  .lreq .lead{ font-size:clamp(.88rem,.84rem+.3vw,.93rem); color:#000; font-weight:500; -webkit-text-stroke:0.02vw; margin:0 0 2.2rem; }
  .lreq-note{
    background:#eef5fb; border:1px solid #cfe2ee; border-radius:14px;
    padding:16px 20px; font-size:.85rem; color:#1e2430; line-height:1.9; margin:0 0 2.4rem;
    font-weight:500; -webkit-text-stroke:0.02vw;
  }
  .lreq-note b{ color:#1b689a; }

  .lreq-card{ background:#fff; border:1px solid #e6e8ec; border-radius:16px; padding:clamp(24px,4vw,40px); box-shadow:0 1px 3px rgba(16,24,40,.06); }
  .lreq-field{ margin-bottom:26px; }
  .lreq-field label.t{ display:block; font-size:.85rem; font-weight:700; color:#1e2430; margin-bottom:6px; }
  .lreq-req{ display:inline-block; background:#217cb7; color:#fff; font-size:.65rem; font-weight:700; border-radius:999px; padding:1px 9px; margin-left:8px; vertical-align:2px; }
  .lreq-opt{ display:inline-block; background:#f3f4f6; color:#6b7280; font-size:.65rem; font-weight:700; border-radius:999px; padding:1px 9px; margin-left:8px; vertical-align:2px; }
  .lreq input[type=text], .lreq input[type=email], .lreq input[type=tel], .lreq select, .lreq textarea{
    width:100%; padding:12px 16px; font-size:16px; color:#1e2430; font-family:inherit;
    background:#fff; border:1px solid #d1d5db; border-radius:10px; outline:none; transition:border-color .2s, box-shadow .2s;
  }
  .lreq input:focus, .lreq select:focus, .lreq textarea:focus{ border-color:#217cb7; box-shadow:0 0 0 3px rgba(33,124,183,.12); }
  .lreq textarea{ min-height:120px; line-height:1.9; }
  .lreq-hint{ font-size:.75rem; color:#9ca3af; margin-top:4px; line-height:1.7; }

  .lreq-axes{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
  @media (max-width:767px){ .lreq-axes{ grid-template-columns:1fr; } }
  .lreq-axes label{
    display:flex; align-items:center; gap:10px; border:1px solid #e6e8ec; border-radius:12px;
    padding:11px 14px; font-size:.84rem; color:#374151; cursor:pointer; transition:.15s; line-height:1.6;
  }
  .lreq-axes label:hover{ border-color:#217cb7; }
  .lreq-axes input{ accent-color:#217cb7; width:16px; height:16px; flex:0 0 auto; }
  .lreq-axes label:has(input:checked){ border-color:#217cb7; background:#eef5fb; }

  .lreq-agree{ display:flex; gap:10px; align-items:flex-start; font-size:.84rem; color:#374151; line-height:1.8; }
  .lreq-agree input{ accent-color:#217cb7; width:16px; height:16px; margin-top:6px; flex:0 0 auto; }

  .lreq-actions{ text-align:center; margin-top:34px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
  .lreq-btn{ display:inline-block; border-radius:999px; padding:14px 40px; font-size:.95rem; font-weight:700; line-height:1.5; border:0; cursor:pointer; font-family:inherit; text-decoration:none; transition:.2s; }
  .lreq-btn--primary{ background:#217cb7; color:#fff; }
  .lreq-btn--primary:hover{ background:#1b689a; }
  .lreq-btn--ghost{ border:1px solid #d1d5db; color:#374151; background:#fff; }
  .lreq-btn--ghost:hover{ border-color:#217cb7; color:#217cb7; }
  @media (max-width:767px){ .lreq-btn{ width:100%; } }

  .lreq-errors{ background:#FEF2F2; border:1px solid #fecaca; border-radius:12px; padding:14px 18px; margin:0 0 24px; }
  .lreq-errors li{ color:#B91C1C; font-size:.84rem; line-height:1.8; list-style:none; }

  /* 確認画面 */
  .lreq-confirm dl{ margin:0; }
  .lreq-confirm dl > div{ display:flex; gap:16px; padding:14px 0; border-bottom:1px solid #f0f1f3; }
  .lreq-confirm dl > div:last-child{ border-bottom:0; }
  .lreq-confirm dt{ flex:0 0 9em; font-size:.8rem; color:#9ca3af; padding-top:2px; }
  .lreq-confirm dd{ margin:0; flex:1; font-size:.9rem; color:#1e2430; line-height:1.85; }
  @media (max-width:767px){ .lreq-confirm dl > div{ flex-direction:column; gap:2px; } }

  /* 完了画面 */
  .lreq-done{ text-align:center; padding:24px 0; }
  .lreq-done__icon{ width:64px; height:64px; margin:0 auto 20px; border-radius:50%; background:#eef5fb; display:flex; align-items:center; justify-content:center; color:#217cb7; font-size:1.6rem; font-weight:700; }
