@charset "UTF-8";
/* ==========================================================================
   共通：カード・ボタン
   ========================================================================== */
/* line 27, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-card {
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  border: 1px solid #d1d5db;
  overflow: hidden;
}

/* line 35, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-card__body {
  padding: 24px 28px;
}

/* line 39, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 16px 28px;
  background-color: #f5f7fa;
  border-top: 1px solid #d1d5db;
}

/* line 48, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-btn {
  display: inline-block;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease, opacity 0.2s ease;
  line-height: 1.4;
}

/* line 61, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-btn--primary {
  background-color: #0058A6;
  color: #fff !important;
}
/* line 65, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-btn--primary:hover {
  background-color: #004080;
}

/* line 70, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-btn--success {
  background-color: #146c43;
  color: #fff !important;
}
/* line 74, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-btn--success:hover {
  background-color: #0f5132;
}

/* line 79, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-btn--danger {
  background-color: rgba(176, 42, 55, 0.1);
  color: #b02a37 !important;
}
/* line 83, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-btn--danger:hover {
  background-color: #b02a37;
  color: #fff !important;
}

/* line 89, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-btn--secondary {
  background-color: #e9ecef;
  color: #495057 !important;
}
/* line 93, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-btn--secondary:hover {
  background-color: #565e64;
  color: #fff !important;
}

/* ==========================================================================
   一覧ページ（index）
   ========================================================================== */
/* line 103, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-wrapper {
  max-width: 1200px;
  margin: 80px auto 40px;
  padding: 0 16px;
  text-align: left;
}

/* line 110, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  border: 1px solid #d1d5db;
}

/* line 119, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  font-size: 14px;
  color: #1a202c;
}

/* line 127, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-table__th {
  background-color: #0058A6;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  text-align: left;
  padding: 12px 14px;
  white-space: nowrap;
  border-bottom: 2px solid #00427d;
}
/* line 137, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-table__th--end {
  text-align: center;
}

/* line 143, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-table__body tr {
  border-bottom: 1px solid #e5e7eb;
  transition: background-color 0.15s ease;
}
/* line 147, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-table__body tr:hover {
  background-color: rgba(0, 88, 166, 0.04);
}
/* line 151, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-table__body tr:last-child {
  border-bottom: none;
}

/* line 157, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-table__td {
  padding: 12px 14px;
  vertical-align: middle;
  background-color: #fafafa;
}
/* line 162, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-table__td--semibold {
  font-weight: 700;
  color: #1a202c;
}
/* line 167, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-table__td--muted {
  color: #6b7280;
  font-size: 13px;
}
/* line 172, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-table__td--end {
  text-align: center;
  white-space: nowrap;
}

/* line 178, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-action-btn {
  display: inline-block;
  padding: 5px 12px;
  margin: 2px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none !important;
  border-radius: 6px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* line 189, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-action-btn--detail {
  background-color: #0058A6;
  color: #fff !important;
}
/* line 193, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-action-btn--detail:hover {
  background-color: #004080;
}

/* line 198, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-action-btn--edit {
  background-color: #e9ecef;
  color: #495057 !important;
}
/* line 202, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-action-btn--edit:hover {
  background-color: #ced4da;
}

/* line 207, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-action-btn--delete {
  background-color: rgba(176, 42, 55, 0.1);
  color: #b02a37 !important;
}
/* line 211, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-action-btn--delete:hover {
  background-color: #b02a37;
  color: #fff !important;
}

/* line 217, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-pagination {
  margin-top: 24px;
  text-align: center;
}
/* line 221, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-pagination .pagination {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
}
/* line 229, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-pagination .pagination li {
  list-style: none;
}
/* line 232, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-pagination .pagination li a,
.contract-list-pagination .pagination li span {
  display: inline-block;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 600;
  color: #0058A6;
  background-color: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  text-decoration: none;
}
/* line 245, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-pagination .pagination li.active span, .contract-list-pagination .pagination li.active a {
  background-color: #0058A6;
  color: #fff;
  border-color: #0058A6;
}
/* line 252, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-pagination .pagination li.disabled span {
  color: #6b7280;
  background-color: #f3f4f6;
}
/* line 257, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-list-pagination .pagination li a:hover {
  background-color: rgba(0, 88, 166, 0.1);
}

/* ==========================================================================
   詳細ページ（show）
   ========================================================================== */
/* line 268, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-container {
  max-width: 800px;
  margin: 80px auto 40px;
  padding: 0 16px;
  text-align: left;
}

/* line 275, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 6px;
  font-size: 15px;
}

/* line 282, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-table__th {
  width: 30%;
  min-width: 120px;
  padding: 12px 16px;
  background-color: #0058A6;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  text-align: left;
  vertical-align: top;
  border-radius: 6px 0 0 6px;
}

/* line 295, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-table__td {
  padding: 12px 16px;
  background-color: #f4f4f4;
  color: #1a202c;
  line-height: 1.6;
  word-break: break-word;
  vertical-align: top;
  border-radius: 0 6px 6px 0;
}
/* line 304, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-table__td--muted {
  color: #6b7280;
  font-size: 14px;
}

/* line 310, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-link {
  color: #0058A6;
  font-weight: 600;
  text-decoration: underline;
  word-break: break-all;
}
/* line 316, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-link:hover {
  color: #004080;
}

/* ==========================================================================
   フォームページ（new / edit）
   ========================================================================== */
/* line 325, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-form-container {
  max-width: 700px;
  margin: 80px auto 40px;
  padding: 0 16px;
  text-align: left;
}

/* line 333, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-form-wrapper .contract-module-card {
  margin: 0;
}

/* line 338, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-form-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* line 344, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 350, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-form-label {
  font-size: 14px;
  font-weight: 700;
  color: #1a202c;
}

/* line 356, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-form-control {
  width: 100%;
  padding: 10px 14px;
  font-size: 15px;
  color: #1a202c;
  background-color: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
/* line 367, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-form-control:focus {
  outline: none;
  border-color: #0058A6;
  box-shadow: 0 0 0 3px rgba(0, 88, 166, 0.15);
}
/* line 373, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
.contract-module-form-control--textarea {
  resize: vertical;
  min-height: 100px;
  line-height: 1.6;
}

/* ==========================================================================
   レスポンシブ
   ========================================================================== */
@media screen and (max-width: 768px) {
  /* line 385, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-list-wrapper,
  .contract-module-container,
  .contract-form-container {
    margin-top: 70px;
    padding: 0 10px;
  }

  /* line 392, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-list-table {
    min-width: 760px;
    font-size: 13px;
  }

  /* line 397, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-list-table__th,
  .contract-list-table__td {
    padding: 10px 10px;
  }

  /* line 402, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-action-btn {
    display: block;
    margin: 4px 0;
    text-align: center;
  }

  /* line 408, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-module-card__body {
    padding: 16px;
  }

  /* line 412, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-module-card__footer {
    padding: 14px 16px;
    flex-direction: column;
  }
  /* line 416, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-module-card__footer .contract-module-btn {
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }

  /* line 423, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-module-table,
  .contract-module-table tbody,
  .contract-module-table tr,
  .contract-module-table__th,
  .contract-module-table__td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  /* line 433, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-module-table {
    border-spacing: 0;
  }

  /* line 437, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-module-table tr {
    margin-bottom: 12px;
  }

  /* line 441, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-module-table__th {
    border-radius: 6px 6px 0 0;
    width: 100%;
  }

  /* line 446, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-module-table__td {
    border-radius: 0 0 6px 6px;
    margin-bottom: 4px;
  }

  /* line 451, /opt/webroot/jwork/app/assets/stylesheets/contracts.scss */
  .contract-module-form-control {
    font-size: 16px;
  }
}
@charset "UTF-8";
/* 案件一覧専用の洗練スタイル */
/* ==========================================================================
   Modern Job Detail Card Design (2026 Theme) - Smartphone Ultra-Large Edition
   ========================================================================== */
/* line 10, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
:root {
  /* カラーパレット（高コントラスト） */
  --job-primary: #0a58ca;
  --job-primary-hover: #084298;
  --job-success: #146c43;
  --job-warning: #997404;
  --job-danger: #b02a37;
  /* テキスト・背景（完全な漆黒・純白で視認性最大） */
  --job-text-main: #000000;
  --job-text-muted: #1a202c;
  --job-text-light: #2d3748;
  --job-bg-card: #ffffff;
  --job-bg-body: #f8f9fa;
  --job-border-color: #a0aec0;
  /* 枠線も濃くして見やすく */
  --job-highlight-red-bg: #fff5f5;
  --job-highlight-red-text: #c92a2a;
  --job-line-green: #06c755;
  --job-line-green-hover: #05b34c;
  --job-radius-lg: 16px;
  --job-radius-md: 10px;
  --job-radius-sm: 6px;
  --job-shadow-md: 0 12px 36px rgba(0, 0, 0, 0.12);
  --job-transition: all 0.2s ease;
}

/* --- カスタム通知ツールチップ --- */
/* line 39, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
#custom-notice {
  font-size: 18px !important;
  /* スマホでも特大表示 */
  padding: 12px 20px !important;
  max-width: 340px !important;
  line-height: 1.5 !important;
}

/* --- メインカードコンテナ --- */
/* line 47, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-detail-card {
  background-color: var(--job-bg-card);
  border-radius: var(--job-radius-lg);
  box-shadow: var(--job-shadow-md);
  border: 2px solid var(--job-border-color);
  /* 【修正】見切れ防止のため上部にしっかり内側パディングを確保 */
  padding: 30px 30px 40px 30px;
  max-width: 850px;
  /* 【修正】上部ナビゲーションバー（ヘッダー）の被りを回避する余白を確保 */
  margin: 90px auto 40px auto;
  font-family: system-ui, -apple-system, sans-serif;
  color: var(--job-text-main);
  box-sizing: border-box;
}

/* ===== ヘッダーセクション ===== */
/* line 63, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-header {
  border-bottom: 4px solid var(--job-bg-body);
  padding-bottom: 20px;
  margin-bottom: 30px;
}

/* line 69, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-header-badges {
  display: flex;
  gap: 10px;
  /* 【修正】バッジとタイトルの間の無駄な隙間が出ないようマージンを調整 */
  margin-bottom: 12px;
  flex-wrap: wrap;
}

/* line 77, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
[class^="badge-pill-"] {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  font-size: 16px !important;
  /* 文字を巨大化 */
  font-weight: 900;
  border-radius: 30px;
}

/* line 86, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.badge-pill-primary {
  background-color: rgba(10, 88, 202, 0.15);
  color: var(--job-primary);
}

/* line 91, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.badge-pill-warning {
  background-color: rgba(255, 193, 7, 0.25);
  color: var(--job-warning);
}

/* line 96, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-title {
  font-size: 36px !important;
  /* 超特大タイトル */
  font-weight: 800;
  line-height: 1.3;
  color: var(--job-text-main);
  /* 【修正】タイトル上下の余白を適切にコントロール */
  margin: 0 0 16px 0;
}

/* line 105, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-description {
  font-size: 20px !important;
  /* 圧倒的に読みやすいサイズ */
  line-height: 1.8;
  color: var(--job-text-muted);
}

/* ===== 単価（最重要項目） ===== */
/* line 112, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-price-section {
  background: #f1f3f5;
  border-left: 8px solid var(--job-primary);
  border-radius: var(--job-radius-md);
  padding: 24px;
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 123, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-price-label {
  font-size: 18px !important;
  color: var(--job-text-light);
  font-weight: 800;
}

/* line 129, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-price-value {
  font-size: 28px !important;
  /* 目に飛び込んでくるサイズ */
  font-weight: 700;
  line-height: 1.1;
}

/* ===== 詳細情報リスト ===== */
/* line 136, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-info-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 40px;
}

/* line 143, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-info-item {
  display: grid;
  grid-template-columns: 260px 1fr;
  align-items: start;
  padding: 24px;
  background-color: var(--job-bg-body);
  border-radius: var(--job-radius-md);
  border: 1px solid var(--job-border-color);
}

/* line 153, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-info-label {
  font-size: 20px !important;
  /* 項目名も巨大化 */
  font-weight: 800;
  color: var(--job-text-main);
  display: flex;
  align-items: center;
  min-height: 30px;
}

/* line 162, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-info-value {
  font-size: 20px !important;
  /* 値の文字サイズも完全保証 */
  line-height: 1.7;
  color: var(--job-text-muted);
}

/* line 168, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-info-value.highlight-red {
  background-color: var(--job-highlight-red-bg);
  color: var(--job-highlight-red-text);
  padding: 12px 16px;
  border-radius: var(--job-radius-sm);
  font-weight: 800;
  display: block;
  border: 2px solid rgba(199, 42, 42, 0.2);
}

/* line 178, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.badge-category {
  background-color: #dee2e6;
  color: #000000;
  padding: 6px 16px;
  border-radius: var(--job-radius-sm);
  font-size: 18px !important;
  font-weight: 800;
  display: inline-block;
}

/* ===== チェックボックスエリア ===== */
/* line 189, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-confirm-area {
  background-color: #fff9db;
  border: 3px dashed #f59f00;
  border-radius: var(--job-radius-md);
  padding: 24px 16px;
  margin-bottom: 24px;
}

/* line 197, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-confirm-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-weight: 800;
  font-size: 22px !important;
  /* チェック文言を特大に */
  color: #664d03;
  width: 100%;
}

/* 押し間違いのない巨大チェックボックス */
/* line 209, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-confirm-check {
  appearance: none;
  -webkit-appearance: none;
  width: 32px !important;
  /* 32pxの巨大サイズに固定 */
  height: 32px !important;
  border: 4px solid #f59f00 !important;
  border-radius: var(--job-radius-sm);
  background-color: #fff;
  display: inline-grid;
  place-content: center;
  flex-shrink: 0;
  cursor: pointer;
}

/* line 223, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-confirm-check:checked {
  background-color: #f59f00;
}

/* line 227, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-confirm-check:checked::before {
  content: "";
  width: 14px;
  height: 8px;
  border-left: 4px solid #fff;
  border-bottom: 4px solid #fff;
  transform: rotate(-45deg) translate(1px, -2px);
}

/* ===== LINEボタンエリア ===== */
/* line 237, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-apply-area {
  margin-bottom: 40px;
}

/* line 241, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.btn-line-apply {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background-color: var(--job-line-green);
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 24px;
  /* 極厚パディング */
  border-radius: var(--job-radius-md);
  font-size: 26px !important;
  /* ボタン文字を圧倒的サイズに */
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(6, 199, 85, 0.3);
  width: 100%;
  box-sizing: border-box;
}

/* line 258, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.btn-line-apply:hover {
  background-color: var(--job-line-green-hover);
}

/* line 262, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.btn-line-icon svg {
  width: 36px !important;
  /* アイコンも連動して巨大化 */
  height: 36px !important;
}

/* ===== フッター ===== */
/* line 268, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 3px solid var(--job-border-color);
  padding-top: 30px;
  flex-wrap: wrap;
  gap: 20px;
}

/* line 278, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.btn-back {
  color: var(--job-text-light);
  text-decoration: none;
  font-size: 18px !important;
  font-weight: 700;
}

/* line 285, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.job-admin-actions {
  display: flex;
  gap: 12px;
}

/* line 290, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.btn-admin-edit,
.btn-admin-delete {
  padding: 12px 24px;
  font-size: 18px !important;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--job-radius-sm);
}

/* line 299, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.btn-admin-edit {
  background-color: #e9ecef;
  color: #495057;
}

/* line 304, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.btn-admin-delete {
  background-color: rgba(220, 53, 69, 0.1);
  color: var(--job-danger);
}

/* ==========================================================================
   【重要】スマートフォン表示最適化（絶対に文字を縮小させない）
   ========================================================================== */
@media (max-width: 768px) {
  /* line 314, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .job-detail-card {
    /* 【修正】スマホ画面でもヘッダー被りと見切れを完全に防ぐマージンとパディング設定 */
    padding: 20px 16px 30px 16px;
    margin: 80px 10px 30px 10px;
    border-radius: var(--job-radius-md);
  }

  /* タイトルはスマホ画面幅に合わせて最適化するが、十分に巨大 */
  /* line 322, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .job-title {
    font-size: 28px !important;
    line-height: 1.4;
  }

  /* 本文・詳細リストの文字サイズはスマホでも20pxを「完全維持」 */
  /* line 328, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .job-description {
    font-size: 20px !important;
  }

  /* line 332, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .job-price-value {
    font-size: 32px !important;
  }

  /* スマホ時は縦並びにするが、文字サイズは一切落とさない */
  /* line 337, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .job-info-item {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 16px;
  }

  /* line 343, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .job-info-label {
    font-size: 20px !important;
  }

  /* line 347, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .job-info-value {
    font-size: 20px !important;
  }

  /* チェックボックス文言もスマホで潰さない */
  /* line 352, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .job-confirm-label {
    font-size: 18px !important;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }

  /* LINEボタンは極太・極大を維持して誤タップ防止 */
  /* line 360, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .btn-line-apply {
    font-size: 22px !important;
    padding: 20px 12px;
  }

  /* line 365, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .job-footer {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 20px;
  }

  /* line 371, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .job-admin-actions {
    justify-content: stretch;
  }

  /* line 375, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .job-admin-actions > a {
    flex: 1;
    text-align: center;
    padding: 16px;
    font-size: 18px !important;
  }
}
/* ==========================================================================
   Modern Job Index (List) Design - Compact High-Visibility Edition
   ========================================================================== */
/* ページタイトル */
/* line 390, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-index-page-title {
  font-size: 28px !important;
  /* 少しコンパクトに */
  font-weight: 900 !important;
  color: var(--job-text-main, #000000) !important;
  margin: 90px auto 20px auto !important;
  max-width: 1200px !important;
  padding: 0 15px !important;
  border-left: 6px solid var(--job-primary, #0a58ca) !important;
  padding-left: 12px !important;
  line-height: 1.2 !important;
}

/* 管理者ボタンコンテナ */
/* line 403, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-admin-header-area {
  max-width: 1200px !important;
  margin: 0 auto 16px auto !important;
  padding: 0 15px !important;
}

/* line 408, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.btn-recruit-admin-create {
  display: inline-block !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  padding: 8px 18px !important;
  border-radius: var(--job-radius-md, 10px) !important;
  background-color: var(--job-success, #146c43) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Gridコンテナの隙間を適正化 */
/* line 420, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-index-custom-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
  /* 24pxから16pxに狭めて詰める */
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 15px 30px 15px !important;
  box-sizing: border-box !important;
}

/* line 430, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-card-grid-item {
  height: 100% !important;
}

/* ===== 案件カード本体（余白を大幅にスリム化） ===== */
/* line 435, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-index-main-card {
  background-color: var(--job-bg-card, #ffffff) !important;
  border-radius: 12px !important;
  /* 少しシャープに */
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  /* 軽めの影で圧迫感を減らす */
  border: 1px solid var(--job-border-color, #a0aec0) !important;
  padding: 20px !important;
  /* 30pxから20pxに縮小して内側をすっきり */
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  box-sizing: border-box !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

/* line 448, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-index-main-card.recruit-hover-action-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12) !important;
  border-color: var(--job-primary, #0a58ca) !important;
}

/* ヘッダー行 */
/* line 455, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-card-header-row {
  display: flex;
  align-items: center;
  justify-content: 间-between;
  margin-bottom: 4px;
}

/* ポイントバッジ */
/* line 463, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-index-main-card .badge-pill-warning {
  display: inline-flex !important;
  padding: 4px 10px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border-radius: 4px !important;
  background-color: rgba(255, 193, 7, 0.2) !important;
  color: var(--job-warning, #997404) !important;
}

/* 案件タイトル */
/* line 474, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-card-main-title {
  font-size: 20px !important;
  /* 26pxから20pxに調整し、一覧性を向上 */
  font-weight: 800 !important;
  line-height: 1.4 !important;
  color: #000000 !important;
  margin: 6px 0 10px 0 !important;
}

/* 案件説明文 */
/* line 483, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-card-body-description {
  font-size: 16px !important;
  /* 18pxから16pxへ。読みやすさとコンパクトさの両立 */
  line-height: 1.6 !important;
  color: #2d3748 !important;
  margin: 0 0 14px 0 !important;
}

/* 単価（Price）表示ブロック（高さを低くスマートに） */
/* line 491, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-card-price-block {
  background-color: #f1f3f5 !important;
  padding: 8px 14px !important;
  /* 上下をギュッと詰めました */
  border-radius: 6px !important;
  border-left: 4px solid var(--job-primary, #0a58ca) !important;
  margin-bottom: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* line 501, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-price-meta-label {
  font-size: 14px !important;
  color: #4a5568 !important;
  font-weight: 800 !important;
}

/* line 506, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-price-num-value {
  font-size: 18px !important;
  /* 24pxから18pxへ */
  font-weight: 900 !important;
  color: var(--job-primary, #0a58ca) !important;
}

/* タグまとめエリア */
/* line 513, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-card-tags-container {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

/* 各種タグコンテナ */
/* line 521, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-card-tag-wrapper-box {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

/* エリアタグ */
/* line 528, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-tag-outline-pill {
  display: inline-block !important;
  background-color: #e2e8f0 !important;
  color: #000000 !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border: 1px solid #cbd5e1 !important;
}

/* おすすめタグ */
/* line 540, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-tag-recommend-pill {
  display: inline-block !important;
  background-color: var(--job-highlight-red-bg, #fff5f5) !important;
  color: var(--job-highlight-red-text, #c92a2a) !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border: 1px solid rgba(199, 42, 42, 0.15) !important;
}

/* フッター・アクションボタン配置用 */
/* line 552, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-card-bottom-action-bar {
  margin-top: auto !important;
  border-top: 1px solid #e2e8f0 !important;
  padding-top: 14px !important;
}

/* 詳細（Detail）ボタン */
/* line 559, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.btn-recruit-card-to-detail {
  display: block !important;
  text-align: center !important;
  background-color: var(--job-primary, #0a58ca) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 10px 14px !important;
  /* 縦幅をスマートに */
  font-size: 16px !important;
  /* ボタン文字サイズも適正化 */
  font-weight: 800 !important;
  border-radius: 6px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 管理者操作エリア */
/* line 574, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.recruit-card-admin-control-box {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 8px !important;
}

/* line 579, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
.btn-recruit-admin-edit-sm {
  background-color: #e9ecef !important;
  color: #495057 !important;
  border: 1px solid #ced4da !important;
  padding: 4px 10px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-radius: 4px !important;
  text-decoration: none !important;
}

/* ==========================================================================
   【重要】一覧画面のスマートフォン表示最適化（スクロール量を抑える調整）
   ========================================================================== */
@media (max-width: 768px) {
  /* line 595, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .recruit-index-page-title {
    font-size: 24px !important;
    margin: 80px auto 16px auto !important;
  }

  /* line 600, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .recruit-index-custom-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    /* スマホではさらにカード間隔を詰めて一覧性を重視 */
    padding: 0 8px 20px 8px !important;
  }

  /* line 606, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .recruit-index-main-card {
    padding: 16px !important;
    /* スマホでも1画面に入る量を増やすために引き締め */
  }

  /* line 610, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .recruit-card-main-title {
    font-size: 18px !important;
  }

  /* line 614, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .recruit-card-body-description {
    font-size: 15px !important;
    /* スマホ一覧として最適なサイズ */
    margin-bottom: 10px !important;
  }

  /* line 619, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .recruit-price-num-value {
    font-size: 16px !important;
  }

  /* line 623, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .recruit-tag-outline-pill,
  .recruit-tag-recommend-pill {
    font-size: 13px !important;
    padding: 3px 8px !important;
  }

  /* line 629, /opt/webroot/jwork/app/assets/stylesheets/recruits.scss */
  .btn-recruit-card-to-detail {
    font-size: 16px !important;
    padding: 10px !important;
  }
}
@charset "UTF-8";
/* line 6, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-corp-wrapper {
  --brand-blue: #0055ff;
  --bg-light: #f8f9fa;
  --text-main: #1a1a1a;
  --radius-news: 4px;
  /* Update用のシャープな角丸 */
  --radius-card: 24px;
  /* Solutions以降の洗練された角丸 */
  --shadow-soft: 0 20px 40px rgba(0, 0, 0, 0.06);
  font-family: "Inter", "Hiragino Sans", sans-serif;
  color: var(--text-main);
}

/* --- 1. Hero (100% Full Width) --- */
/* line 19, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-hero-fullwide {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  /* --- 画像配置の設定 --- */
  background-image: url(/assets/index-base-66dc253ec97c76045f9c649e00a637a7c640d8ca98fbfedaadf68583e631b4b0.webp);
  background-size: cover;
  /* 隙間なく敷き詰める */
  background-position: center;
  /* 中央合わせ */
  background-repeat: no-repeat;
  /* 文字を読みやすくするためのオーバーレイ（暗幕） */
  background-color: rgba(0, 0, 0, 0.4);
  background-blend-mode: overlay;
  padding: 180px 0;
  /* 画像を見せるために上下余白を少し広げると綺麗です */
  margin-bottom: 80px;
  color: #ffffff;
  /* 背景が画像なので文字は白に */
}

/* line 42, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-badge {
  display: inline-block;
  margin-bottom: 40px;
  padding: 12px 32px;
  /* --- 圧倒的なインパクトのための設定 --- */
  font-size: 24px;
  /* 圧倒的なサイズアップ */
  font-weight: 900;
  /* 極太フォント */
  letter-spacing: 0.5em;
  /* 広い文字間隔で高級感を演出 */
  text-transform: uppercase;
  /* 配色：漆黒に鮮烈な青のアクセント */
  color: #fff;
  background: #000;
  /* 背景の画像に負けない黒 */
  border-left: 12px solid var(--brand-blue);
  /* 左側に太いアクセントライン */
  /* インパクトを強めるためのアニメーション */
  animation: slideIn 0.8s cubic-bezier(0.2, 1, 0.3, 1) forwards;
}

/* バッジが左からスッと出てくる動き */
@keyframes slideIn {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/* モバイル対応：画面幅に合わせてサイズを調整 */
@media (max-width: 768px) {
  /* line 71, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .sp-badge {
    font-size: 16px;
    letter-spacing: 0.3em;
    padding: 10px 20px;
    border-left-width: 8px;
    box-shadow: 10px 10px 0px rgba(0, 85, 255, 0.3);
  }
}
/* line 80, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-lead {
  color: rgba(255, 255, 255, 0.9);
  line-height: 30px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  /* 文字の視認性アップ */
}

/* line 85, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-hero-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 5%;
  text-align: center;
}

/* line 92, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-copy {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 30px;
}

/* line 99, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-btn-primary {
  display: inline-block;
  padding: 20px 50px;
  background: var(--text-main);
  color: #fff;
  text-decoration: none;
  border-radius: 100px;
  font-weight: 700;
}

/* --- Content Container (中央寄せ 1200px) --- */
/* line 110, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-content-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 5%;
}

/* --- 2. Update (丸み抑制) --- */
/* line 117, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-row {
  display: flex;
  background: #fff;
  border: 2px solid #eee;
  border-radius: var(--radius-news);
  /* 4pxのシャープな角丸 */
  padding: 25px 30px;
  margin-bottom: 80px;
  align-items: center;
  gap: 25px;
}

/* line 128, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-label {
  font-weight: 800;
  color: var(--brand-blue);
  font-size: 3.0rem;
}

/* line 129, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-item {
  display: flex;
  text-decoration: none;
  color: inherit;
  font-size: 1.5rem;
  gap: 20px;
  margin-left: 20px;
}

/* --- 3. Solutions (以降、以前のデザインを維持) --- */
/* line 132, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-top: 40px;
}

/* line 139, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-card {
  background: #fff;
  border-radius: var(--radius-card);
  /* 24pxの洗練された角丸 */
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: transform 0.3s ease;
}

/* line 147, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-card:hover {
  transform: translateY(-10px);
}

/* line 149, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-card-image img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

/* line 155, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-card-body {
  padding: 40px;
}

/* --- 4. Company --- */
/* line 158, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-company {
  margin-top: 100px;
  background: #fff;
  padding: 60px;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-soft);
  margin-bottom: 100px;
}

/* line 167, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-row {
  display: flex;
  padding: 25px 0;
  border-bottom: 1px solid #eee;
}

/* line 173, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-th {
  width: 400px;
  font-weight: 700;
}

/* line 174, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-td {
  width: 400px;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  /* line 178, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .sp-grid {
    grid-template-columns: 1fr;
  }

  /* line 179, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .sp-news-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  /* line 180, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .sp-th {
    width: 100px;
  }

  /* line 181, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .sp-company {
    padding: 30px 20px;
  }
}
/* line 189, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
:root {
  --primary-blue: #0066ff;
  --primary-hover: #0052cc;
  --bg-slate: #f8fafc;
  --border-color: #e2e8f0;
  --text-dark: #1e293b;
  --text-muted: #64748b;
  --radius-lg: 1.5rem;
  --shadow-main: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* line 200, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.contract-wrapper {
  max-width: 860px;
  margin: 3rem auto;
  padding: 3.5rem;
  background: #ffffff;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-main);
  font-family: "Inter", "Hiragino Sans", "Meiryo", sans-serif;
  color: var(--text-dark);
}

/* ヘッダーデザイン */
/* line 212, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.contract-header {
  text-align: center;
  margin-bottom: 3rem;
}
/* line 216, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.contract-header .contract-subtitle {
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--primary-blue);
  text-transform: uppercase;
  letter-spacing: 0.25em;
  display: block;
  margin-bottom: 0.75rem;
}
/* line 226, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.contract-header .contract-title {
  font-size: 2.25rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

/* 契約書本文ボックス */
/* line 234, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.contract-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 1.5rem;
  margin-bottom: 3.5rem;
}
/* line 240, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.contract-box .contract-inner {
  max-height: 300px;
  overflow-y: auto;
  padding: 3rem;
  font-size: 1.1rem;
  line-height: 2;
  color: #334155;
  /* スクロールバー */
}
/* line 248, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.contract-box .contract-inner h4 {
  font-size: 1.3rem;
  color: #1e293b;
  margin: 2.5rem 0 1rem;
  font-weight: 800;
  border-left: 6px solid #0055ff;
  padding-left: 1rem;
}
/* line 258, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.contract-box .contract-inner::-webkit-scrollbar {
  width: 8px;
}
/* line 259, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.contract-box .contract-inner::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 10px;
}

/* 単価・条件のグリッド */
/* line 264, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 3rem;
}

/* line 271, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.info-card {
  padding: 1.5rem;
  border: 1px solid var(--border-color);
  border-radius: 1.25rem;
  transition: transform 0.2s ease;
}
/* line 277, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.info-card:hover {
  transform: translateY(-4px);
  border-color: var(--primary-blue);
}
/* line 282, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.info-card .info-card-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  text-align: center;
}

/* line 293, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.price-list {
  list-style: none;
  padding: 0;
}
/* line 296, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.price-list li {
  display: flex;
  justify-content: space-between;
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--bg-slate);
}
/* line 302, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.price-list li .vehicle {
  color: var(--text-muted);
  font-size: 0.9rem;
}
/* line 303, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.price-list li .amount {
  font-weight: 800;
  color: var(--text-dark);
}
/* line 306, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.price-list li .amount span {
  font-size: 0.7rem;
  margin-left: 2px;
}

/* line 311, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.schedule-item {
  margin-bottom: 1rem;
}
/* line 313, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.schedule-item .badge {
  display: inline-block;
  padding: 2px 10px;
  background: var(--primary-blue);
  color: white;
  font-size: 0.7rem;
  font-weight: 700;
  border-radius: 4px;
  margin-bottom: 4px;
}
/* line 322, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.schedule-item .badge.outline {
  background: transparent;
  border: 1px solid var(--primary-blue);
  color: var(--primary-blue);
}
/* line 328, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.schedule-item p {
  font-size: 0.85rem;
  font-weight: 600;
  margin: 0;
}

/* 同意エリア & ボタン */
/* line 332, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.action-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

/* line 339, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.custom-checkbox {
  display: flex;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
  padding: 1rem 2rem;
  background: var(--bg-slate);
  border-radius: 100px;
  transition: all 0.2s ease;
}
/* line 349, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.custom-checkbox:hover {
  background: #eff6ff;
}
/* line 351, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.custom-checkbox input {
  display: none;
}
/* line 353, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.custom-checkbox .checkmark {
  width: 24px;
  height: 24px;
  border: 2px solid var(--primary-blue);
  border-radius: 50%;
  position: relative;
  background: white;
  transition: all 0.2s;
}
/* line 363, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.custom-checkbox input:checked + .checkmark {
  background: var(--primary-blue);
}
/* line 365, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.custom-checkbox input:checked + .checkmark::after {
  content: '✓';
  color: white;
  position: absolute;
  left: 5px;
  top: 0;
  font-size: 14px;
  font-weight: 900;
}
/* line 376, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.custom-checkbox .label-text {
  font-weight: 700;
  font-size: 1rem;
}

/* line 379, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.button-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 400px;
  gap: 1rem;
}

/* line 387, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
#submitBtn {
  width: 100%;
  padding: 1.25rem;
  border-radius: 100px;
  border: none;
  background: linear-gradient(135deg, var(--primary-blue) 0%, #0044cc 100%);
  color: white;
  font-size: 1.1rem;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 10px 15px -3px rgba(0, 102, 255, 0.3);
}
/* line 400, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
#submitBtn:disabled {
  background: #cbd5e1;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}
/* line 407, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
#submitBtn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 20px 25px -5px rgba(0, 102, 255, 0.4);
}

/* line 413, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
#translate {
  background: transparent;
  border: 1px solid var(--border-color);
  color: var(--text-muted);
  padding: 0.75rem;
  border-radius: 100px;
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
/* line 427, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
#translate:hover {
  background: var(--bg-slate);
  color: var(--text-dark);
}

/* レスポンシブ */
@media (max-width: 640px) {
  /* line 435, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .contract-wrapper {
    padding: 2rem 1.5rem;
  }

  /* line 436, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .info-grid {
    grid-template-columns: 1fr;
  }

  /* line 437, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .contract-title {
    font-size: 1.5rem;
  }
}
/* 日付フィールド全体のコンテナ */
/* line 442, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 0.75rem 1.5rem;
  background: #ffffff;
  border: 2px solid var(--border-color);
  border-radius: 1rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  width: fit-content;
  min-width: 300px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  /* 入力中・クリック時の青い強調 */
  /* --- CSS描画のモダンなカレンダーアイコン --- */
  /* --- テキスト入力エリア --- */
}
/* line 455, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field:hover {
  border-color: #cbd5e1;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
/* line 462, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field:focus-within {
  border-color: var(--primary-blue);
  box-shadow: 0 0 0 4px rgba(0, 102, 255, 0.1);
  /* フォーカス時にアイコンも少し強調 */
}
/* line 467, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field:focus-within .icon-calendar-blue {
  transform: scale(1.05);
}
/* line 473, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field .icon-calendar-blue {
  position: relative;
  width: 22px;
  height: 22px;
  border: 2px solid var(--primary-blue);
  border-radius: 4px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
  /* カレンダー上部の突起 */
  /* カレンダー内部の横線（デザインアクセント） */
}
/* line 483, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field .icon-calendar-blue::before, .date-field .icon-calendar-blue::after {
  content: '';
  position: absolute;
  top: -5px;
  width: 2px;
  height: 5px;
  background: var(--primary-blue);
  border-radius: 1px;
}
/* line 493, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field .icon-calendar-blue::before {
  left: 4px;
}
/* line 494, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field .icon-calendar-blue::after {
  right: 4px;
}
/* line 497, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field .icon-calendar-blue span {
  position: absolute;
  top: 6px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--primary-blue);
  opacity: 0.3;
}
/* line 509, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field .date-input-group {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
/* line 514, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field .date-input-group label {
  font-size: 0.65rem;
  font-weight: 800;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}
/* line 523, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field .date-input-group .styled-date-input {
  border: none;
  outline: none !important;
  background: transparent;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-dark);
  font-family: inherit;
  cursor: pointer;
  width: 100%;
  padding: 0;
  /* 標準のピッカーアイコンも青色へ(Chrome用) */
}
/* line 536, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field .date-input-group .styled-date-input::-webkit-calendar-picker-indicator {
  cursor: pointer;
  filter: invert(21%) sepia(100%) saturate(2514%) hue-rotate(212deg) brightness(97%) contrast(101%);
  opacity: 0.6;
}
/* line 540, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.date-field .date-input-group .styled-date-input::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

/* 調整：action-area内での中央揃え */
/* line 547, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.action-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  margin-top: 2rem;
}

/* --- おしゃれなモダンボタン --- */
/* line 564, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-card-body .sp-btn-modern.btn-primary {
  background-color: #0066ff;
  /* テーマカラー */
  border: none;
  color: #ffffff;
  border-radius: 4px;
  /* ここがポイント */
  padding: 12px 20px;
  width: 100%;
  font-weight: 700;
  text-transform: uppercase;
  /* すべて大文字に */
  letter-spacing: 0.12em;
  /* 文字間を少し広げる */
  font-size: 0.85rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  /* 軽い影 */
}

/* ホバー時の洗練されたアニメーション */
/* line 587, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-card-body .sp-btn-modern.btn-primary:hover,
.sp-card-body .sp-btn-modern.btn-primary:focus {
  background-color: #0044cc;
  /* 少し暗く */
  transform: translateY(-3px);
  /* 少し上に持ち上げる */
  box-shadow: 0 10px 20px rgba(0, 102, 255, 0.3);
  /* 青白い光のような影を強く */
  text-decoration: none;
  /* 下線を消す */
  color: #ffffff;
}

/* --- Update Card Layout --- */
/* line 600, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 80px;
}

/* カード全体をリンク化 */
/* line 608, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #ffffff;
  border: 2px solid #eeeeee;
  border-radius: 12px;
  padding: 32px;
  min-height: 220px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.04);
}

/* line 632, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card:hover,
.sp-news-card:focus {
  transform: translateY(-6px);
  border-color: #0066ff;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08), 0 10px 20px rgba(0, 102, 255, 0.12);
  text-decoration: none;
  color: inherit;
}

/* 日付とカテゴリ */
/* line 647, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card-date {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
}

/* line 654, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card-date time {
  font-size: 0.9rem;
  font-weight: 700;
  color: #64748b;
  letter-spacing: 0.05em;
}

/* line 661, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card-date .category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  background: rgba(0, 102, 255, 0.08);
  color: #0066ff;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

/* 本文 */
/* line 679, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card-body h3 {
  font-size: 2.0rem;
  font-weight: 800;
  line-height: 1.6;
  color: #0f172a;
  margin-bottom: 18px;
}

/* line 688, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card-body p {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0066ff;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0;
}

/* 矢印 */
/* line 700, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card-arrow {
  position: absolute;
  right: 28px;
  bottom: 28px;
  font-size: 1.2rem;
  color: #0066ff;
  transition: transform 0.3s ease;
}

/* line 711, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card:hover .sp-news-card-arrow {
  transform: translateX(4px);
}

/* Responsive */
@media (max-width: 768px) {
  /* line 717, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .sp-news-grid {
    grid-template-columns: 1fr;
  }

  /* line 721, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .sp-news-card {
    padding: 24px;
    min-height: auto;
  }

  /* line 726, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .sp-news-card-body h3 {
    font-size: 1.1rem;
  }
}
/* カード画像 */
/* line 733, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card-image {
  margin: 20px 0 24px;
  overflow: hidden;
  border-radius: 16px;
}

/* line 739, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card-image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), filter 0.3s ease;
}

/* hover演出 */
/* line 751, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
.sp-news-card:hover .sp-news-card-image img {
  transform: scale(1.04);
  filter: brightness(1.03);
}

/* モバイル */
@media (max-width: 768px) {
  /* line 758, /opt/webroot/jwork/app/assets/stylesheets/top.scss */
  .sp-news-card-image img {
    height: 180px;
  }
}
@charset "UTF-8";
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *



 */
/*ヘッダーのベース設定*/
/* line 24, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header {
  background-color: white;
  position: sticky;
  top: 0;
  z-index: 10;
}
/* line 29, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header .header-image {
  max-width: 250px;
  height: 100%;
}
/* line 33, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header .navi {
  background-color: #0058A6;
  line-height: middle;
  height: 40px;
}
/* line 37, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header .navi p {
  text-decoration: none;
  color: white;
  text-shadow: 1px 1px 1px #000;
  margin-top: -22px;
}
/* line 42, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header .navi p a:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
/* line 48, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu {
  list-style-type: none;
  width: 100%;
  height: 40px;
  margin: 0 auto;
  background: #0058A6;
}
@media screen and (max-width: 480px) {
  /* line 48, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  header #dropmenu {
    display: none;
  }
}
/* line 56, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu li {
  position: relative;
  width: 14%;
  float: left;
  text-align: center;
}
/* line 62, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu li a {
  display: block;
  margin: 0;
  padding: 10px 0px 15px;
  color: #fff;
  font-size: 100%;
  text-shadow: 1px 1px 1px #000;
  line-height: 1;
  text-decoration: none;
}
/* line 72, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu li ul {
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  border-radius: 0 0 3px 3px;
}
/* line 81, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu li:last-child ul {
  left: -100%;
  width: 100%;
}
/* line 85, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu li ul li {
  overflow: hidden;
  width: 300%;
  height: 0;
  color: #fff;
  -moz-transition: .2s;
  -webkit-transition: .2s;
  -o-transition: .2s;
  -ms-transition: .2s;
  transition: .2s;
}
/* line 96, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu li ul li a {
  padding: 13px 15px;
  background: #0058A6;
  text-align: left;
  font-size: 12px;
  font-weight: normal;
}
/* line 103, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu li:hover > a {
  background-color: #e6ecf0;
  color: #fff;
}
/* line 108, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu li:hover ul li {
  overflow: visible;
  height: 38px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
/* line 114, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu li:hover ul li:first-child {
  border-top: 0;
}
/* line 117, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu li:hover ul li:last-child {
  border-bottom: 0;
}
/* line 120, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
header #dropmenu li:hover ul li:last-child a {
  border-radius: 0 0 3px 3px;
}

/* line 125, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body {
  width: 100%;
  text-align: center;
  /*  メイン画像  */
  /*中央寄せ*/
  /*イエローライン*/
  /* =============================================
     1. Indexページ（.table-scroll配下）
     横スクロールが必要なテーブルの設定
     ============================================= */
  /* =============================================
     2. テーブル共通（詳細画面など）
     PC版：col[width] を有効にするための設定
     ============================================= */
  /* 入力フィールド */
  /* =============================================
     3. スマートフォン対応（768px以下）
     スマホの時だけ block にして col を無効化する
     ============================================= */
  /* =============================================
     4. その他共通設定
     ============================================= */
  /* Firefox用装飾 */
  /* 画像レスポンシブ */
  /*  Top Wrapper  */
  /*hr*/
  /*number parts big font*/
  /*bold*/
  /* 黒板風　タイトル　3 */
  /* ボックス */
  /* ボックス */
}
/* line 129, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body main {
  margin-top: -65px;
}
/* line 133, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body footer {
  width: 100%;
  height: auto;
  background-color: #E3E5E8;
  padding: 30px;
  margin: 0 auto;
}
/* line 140, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body footer .left {
  text-align: left;
}
/* line 144, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body footer h4 {
  font-size: 15px;
}
/* line 146, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body footer .underline {
  border-bottom: 1px solid #999;
  /* 下側の1本線 */
  width: 100%;
  padding-left: 30px;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
/* line 154, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body footer ul {
  display: inline-block;
}
/* line 158, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body footer li {
  text-align: left;
  padding: 3px 25px;
}
/* line 164, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .back-image-index {
  text-align: center;
  /*イエローライン*/
}
/* line 166, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .back-image-index .index-3 {
  font-size: 3.0vw;
  font-weight: bold;
  line-height: 7vw;
  color: var(--main-color);
  text-shadow: 2px 2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff, 2px 2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff;
}
@media (max-width: 748px) {
  /* line 166, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .back-image-index .index-3 {
    text-align: center;
    font-size: 6.5vw;
    line-height: 12vw;
  }
}
/* line 178, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .back-image-index .index-2 {
  font-size: 3.5vw;
  font-weight: bold;
  line-height: 7vw;
  color: var(--main-color);
  text-shadow: 2px 2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff, 2px 2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff;
}
@media (max-width: 748px) {
  /* line 178, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .back-image-index .index-2 {
    text-align: center;
    font-size: 6.5vw;
    line-height: 12vw;
  }
}
/* line 190, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .back-image-index .red {
  font-size: 4.2vw;
  font-weight: bold;
  line-height: 7vw;
  color: red;
  text-shadow: 2px 2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff, 2px 2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff;
}
@media (max-width: 748px) {
  /* line 190, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .back-image-index .red {
    text-align: center;
    font-size: 8.0vw;
    line-height: 12vw;
  }
}
/* line 203, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .back-image-index .push {
  text-align: center;
  font-size: 4.3vw;
  color: #F27200;
  font-weight: bold;
  width: 100%;
  text-shadow: 3px 3px 3px #fff, -3px 3px 3px #fff, 3px -3px 3px #fff, -3px -3px 3px #fff, 3px 3px 3px #fff, -3px 3px 3px #fff, 3px -3px 3px #fff, -3px -3px 3px #fff;
}
@media (max-width: 748px) {
  /* line 203, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .back-image-index .push {
    text-align: center;
    font-size: 7.0vw;
    line-height: 10vw;
  }
}
/* line 219, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .center {
  text-align: center;
  margin: 0 auto;
}
/* line 225, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .push {
  text-align: center;
  font-size: 5.0vw;
  color: orange;
  line-height: 8.5vw;
  font-weight: bold;
  width: 100%;
  text-shadow: 2px 2px 2px #000;
}
@media (max-width: 748px) {
  /* line 225, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .push {
    font-size: 6.5vw;
    line-height: 12vw;
  }
}
/* line 238, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .under {
  background: linear-gradient(transparent 60%, #FFFF66 60%);
}
/* line 248, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .table-scroll {
  width: 90% !important;
  margin: 0 auto !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  display: block;
  /* 親要素としてのブロック */
}
/* line 256, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .table-scroll table.company {
  width: auto;
  min-width: 100%;
  text-align: center;
  border-spacing: 0px 10px;
  /* colを有効にするため、ここでは display: table (初期値) を維持 */
  table-layout: fixed;
}
/* line 265, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .table-scroll table.company th,
body .table-scroll table.company td {
  white-space: nowrap !important;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  padding: 10px 15px;
}
/* line 278, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body table.company {
  width: 90%;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0px 10px;
  font-size: 1.5rem;
  /* 重要：display: table (デフォルト) である必要がある */
  table-layout: fixed;
}
/* line 288, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body table.company th,
body table.company td {
  padding: 10px;
  word-break: break-word;
  vertical-align: middle;
}
/* line 295, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body table.company th {
  background: #0058A6;
  color: #fff;
  font-weight: normal;
  font-size: 1.5rem;
  text-align: left;
}
/* line 303, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body table.company td {
  background: #f4f4f4;
}
/* line 308, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body td input[type="text"],
body td input[type="email"],
body td input[type="password"],
body td select {
  width: 100%;
  font-size: 1.5rem;
  padding: 8px;
  border-radius: 5px;
  border: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  /* line 125, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body {
    /* スマホでは col の 10%/20% 指定が邪魔になるので消す */
    /* .table-scroll 配下だけはスマホでも横スクロール(table維持)にする場合 */
  }
  /* line 325, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body table.company col {
    display: none !important;
  }
  /* line 329, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body table.company {
    width: 100% !important;
    display: block !important;
    /* ここで初めて block にする */
  }
  /* line 334, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body table.company tbody,
  body table.company tr {
    display: block !important;
    width: 100% !important;
  }
  /* line 340, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body table.company th,
  body table.company td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    border-radius: 5px;
    margin-bottom: 2px;
  }
  /* line 351, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .table-scroll table.company {
    display: table !important;
  }
  /* line 354, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .table-scroll table.company tr {
    display: table-row !important;
  }
  /* line 357, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .table-scroll table.company td {
    display: table-cell !important;
    width: auto !important;
  }
}
/* line 366, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body input, body textarea {
  width: 90%;
}
/* line 370, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body textarea {
  line-height: 1.5em;
}
/* line 374, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .price {
  color: red;
  font-size: 2.5vw;
  font-weight: bold;
}
@-moz-document url-prefix() {
  /* line 382, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body table.company th::after {
    float: right;
    padding: 0;
    left: 30px;
    top: 10px;
    content: " ";
    height: 0;
    width: 0;
    position: relative;
    pointer-events: none;
    border: 10px solid transparent;
    border-left: #0058A6 10px solid;
    margin-top: -10px;
  }
}
/* line 399, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .pc-image {
  display: block;
  width: 95%;
}
/* line 400, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .mobile-image {
  display: none;
}
@media only screen and (max-width: 599px) {
  /* line 403, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .pc-image {
    display: none;
  }
  /* line 404, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .mobile-image {
    display: block;
    width: 100%;
  }
}
/* line 408, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body input {
  width: 90%;
}
/* line 411, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body textarea {
  width: 90%;
  line-height: 1.5em;
}
/* line 417, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .price {
  color: red;
  font-size: 2.5vw;
  font-weight: bold;
}
/* line 423, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .point {
  color: red;
  font-size: 2.0vw;
  font-weight: bold;
}
/* line 431, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .top-wrapper {
  padding-bottom: 70px;
  position: relative;
  text-align: center;
  /*タイトル*/
}
/* line 436, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .top-wrapper .heading {
  text-align: center;
  color: #666;
  line-height: 36px;
}
/* line 441, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .top-wrapper h2 {
  font-size: 3vw;
  font-weight: bold;
}
@media screen and (max-width: 479px) {
  /* line 441, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .top-wrapper h2 {
    font-size: 2rem;
  }
}
/* line 446, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .top-wrapper p {
  font-size: 2vw;
}
/* line 449, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .top-wrapper strong {
  color: #0058A6;
  font-size: 125%;
  text-decoration: underline;
  font-weight: bold;
}
@media screen and (max-width: 479px) {
  /* line 449, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .top-wrapper strong {
    font-size: 2.5rem;
  }
}
/* line 456, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .top-wrapper h6 {
  line-height: 2.0em;
  font-size: 1.5vw;
  margin: 0 50px;
}
@media screen and (max-width: 479px) {
  /* line 456, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .top-wrapper h6 {
    font-size: 1.5rem;
    margin: 0 10px;
  }
}
/* line 466, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .tops-wrapper {
  margin: 50px 10px;
  text-align: center;
  font-weight: bold;
}
/* line 471, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .tops-wrapper .headline {
  padding: 0.4em 0.5em;
  /*文字の上下 左右の余白*/
  color: #494949;
  /*文字色*/
  background: #f4f4f4;
  /*背景色*/
  border-left: solid 5px #7db4e6;
  /*左線*/
  border-bottom: solid 3px #d7d7d7;
  /*下線*/
  text-align: left;
  padding-left: 30px;
  margin: 30px auto;
  width: 95%;
  font-size: 21px;
  font-weight: bold;
}
/* line 484, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .tops-wrapper p {
  line-height: 2.5;
  font-size: 18px;
  text-align: left;
  margin: 50px;
}
/* line 492, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .tops-wrapper h3 {
  background: linear-gradient(transparent 70%, #a7d6ff 70%);
  margin: 50px 30px 40px;
  text-align: left;
  font-weight: bold;
  padding-left: 20px;
}
@media screen and (max-width: 479px) {
  /* line 492, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  body .tops-wrapper h3 {
    font-size: 14px;
  }
}
/* line 503, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .tops-wrapper bold {
  font-weight: bold;
}
/* line 507, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .tops-wrapper span {
  color: #0058A6;
  font-size: 45px;
  text-decoration: underline;
  font-weight: bold;
}
/* line 513, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .tops-wrapper .red-text {
  color: red;
  font-size: inherit;
  /* 親と同じサイズ */
  font-weight: inherit;
  /* 親と同じ太さ */
  display: inline;
  /* 改行させない */
  text-decoration: none;
  /* 下線を消す */
}
/* line 522, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .line {
  height: 5px;
  background: #0058A6;
  background-image: -webkit-linear-gradient(left, #eee, #0058A6, #eee);
  background-image: -moz-linear-gradient(left, #eee, #0058A6, #eee);
  background-image: -ms-linear-gradient(left, #eee, #0058A6, #eee);
  background-image: -o-linear-gradient(left, #eee, #0058A6, #eee);
  width: 90%;
}
/* line 533, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .wide {
  font-size: 3.5rem;
  color: #FCC100;
  text-shadow: 2px 2px 2px #000;
}
/* line 539, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .bold {
  font-weight: bold;
  font-size: 3rem;
  color: black;
}
/* line 545, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .headline {
  padding: 0.4em 0.5em;
  /*文字の上下 左右の余白*/
  color: #494949;
  /*文字色*/
  background: #f4f4f4;
  /*背景色*/
  border-left: solid 5px #0058A6;
  /*左線*/
  border-bottom: solid 3px #d7d7d7;
  /*下線*/
  text-align: left;
  padding-left: 30px;
  margin: 30px auto;
  width: 95%;
  font-size: 21px;
  font-weight: bold;
}
/* line 559, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .both-set {
  margin: 0 30px;
  font-size: 12px;
  color: #666;
}
/* line 565, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .top-wrapper {
  margin: 0 40px -50px;
  text-align: left;
}
/* line 568, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .top-wrapper .float-image {
  float: left;
  margin: 0 20px 20px 0px;
}
/* line 572, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .top-wrapper p {
  font-size: 16px;
  line-height: 2.0;
}
/* line 579, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .kokuban-t3 {
  position: relative;
  margin: 2em auto;
  padding: 3.2em 1em 1em;
  width: 90%;
  /* ボックス幅 */
  background-color: #0058A6;
  /* ボックス背景色 */
  color: #fff;
  /* 文章色 */
  border: 10px solid #b2771f;
  /* 枠線 */
  border-radius: 3px;
  /* 角の丸み */
  box-shadow: 0 0 5px #333, 0 0 5px #555 inset;
}
/* line 590, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .kokuban-t3::before,
body .kokuban-t3::after {
  position: absolute;
  content: '';
  bottom: 0;
}
/* line 596, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .kokuban-t3::before {
  right: 10px;
  border: solid 3px #ffff6b;
  /*チョーク（黄色）*/
  width: 20px;
  border-radius: 3px 2px 0 2px;
}
/* line 602, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .kokuban-t3::after {
  right: 40px;
  border: solid 3px #fff;
  /*チョーク（白）*/
  width: 15px;
  border-radius: 8px 5px 2px 5px;
}
/* line 608, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .title-t3 {
  position: absolute;
  left: 1em;
  top: .5em;
  font-weight: bold;
  font-size: 1.1em;
  color: #ffff6b;
  /* タイトル色 */
}
/* line 621, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .mybox {
  border: 3px solid #0058A6;
  /* 線の太さ・種類・色 */
  border-radius: 8px;
  padding: 45px 10px 10px 10px;
  /* 内側の余白 上・右・左・下 */
  position: relative;
  margin-bottom: 40px;
}
/* line 627, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .mybox .title {
  background-color: #0058A6;
  /* タイトル部分背景色 */
  border-radius: 5px 5px 0px 0px;
  color: #fff;
  /* タイトル部分文字色 */
  height: 25px;
  /* タイトル部分高さ */
  padding: 5px 10px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
/* line 640, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .blue {
  color: #0058A6;
  margin: 15px 0;
  font-size: 115%;
}
/* line 646, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .font-height {
  line-height: 3.0vw;
  margin: 0 40px;
  width: 95%;
}
/* line 652, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .font-height-2 {
  font-size: 0.5vw;
  margin: 0 30px;
}
/* line 657, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .business-wrapper {
  text-align: left;
  margin: 0 30px;
  padding-left: 20px;
}
/* line 661, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .business-wrapper h3 {
  font-size: 21px;
  color: #0058A6;
  font-weight: bold;
}
/* line 668, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .red {
  color: red;
}
/* line 672, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .font-height {
  line-height: 3.0vw;
  margin: 0 30px;
}
/* line 677, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .font-height-2 {
  font-size: 0.5vw;
  margin: 0 30px;
}
/* line 683, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .mybox {
  border: 3px solid #0058A6;
  /* 線の太さ・種類・色 */
  border-radius: 8px;
  padding: 45px 10px 10px 10px;
  /* 内側の余白 上・右・左・下 */
  position: relative;
  margin-bottom: 40px;
}
/* line 689, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .mybox .title {
  background-color: #0058A6;
  /* タイトル部分背景色 */
  border-radius: 5px 5px 0px 0px;
  color: #fff;
  /* タイトル部分文字色 */
  height: 25px;
  /* タイトル部分高さ */
  padding: 5px 10px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
/* line 702, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .red {
  color: red;
  font-weight: bold;
}
/* line 707, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .label {
  background: red;
}
/* line 711, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .label-blue {
  background: blue;
}
/* line 716, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .call-flow {
  text-align: center;
}
/* line 718, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .call-flow h5 {
  font-size: 24px;
  color: black;
  font-weight: bold;
}
/* line 723, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .call-flow .col-sm-6 {
  padding: 0 40px;
}
/* line 726, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body .call-flow p {
  font-size: 12px;
}

/* line 736, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
nav.globalMenuSp {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  background: #0058A6;
  color: #fff;
  text-shadow: 1px 1px 1px #000;
  text-align: center;
  transform: translateY(-100%);
  transition: all 0.6s;
  width: 100%;
}

/* line 750, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
nav.globalMenuSp ul {
  background: #0058A6;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

/* line 757, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
nav.globalMenuSp ul li {
  font-size: 1.0em;
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px dotted #fff;
}

/* 最後はラインを描かない */
/* line 766, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

/* line 771, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  line-height: 3em;
}

/* このクラスを、jQueryで付与・削除する */
/* line 778, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
nav.globalMenuSp.active {
  transform: translateY(0%);
}

/* line 783, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.navToggle {
  display: block;
  position: fixed;
  /* bodyに対しての絶対位置指定 */
  right: 13px;
  top: 12px;
  width: 42px;
  height: 51px;
  cursor: pointer;
  z-index: 3;
  background: #e6ecf0;
  text-align: center;
}

/* line 796, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.navToggle span {
  display: block;
  position: absolute;
  /* .navToggleに対して */
  width: 30px;
  border-bottom: solid 3px #eee;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
  left: 6px;
}

/* line 807, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.navToggle span:nth-child(1) {
  top: 9px;
}

/* line 811, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.navToggle span:nth-child(2) {
  top: 18px;
}

/* line 815, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.navToggle span:nth-child(3) {
  top: 27px;
}

/* line 819, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.navToggle span:nth-child(4) {
  border: none;
  color: #eee;
  font-size: 9px;
  font-weight: bold;
  top: 34px;
}

/* 最初のspanをマイナス45度に */
/* line 828, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.navToggle.active span:nth-child(1) {
  top: 18px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
/* line 837, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
  top: 18px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* line 846, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.infobox {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
  height: 20em;
  /* 高さを制限(※) */
  width: 700px;
  overflow: scroll;
  /* スクロールバーを表示(※) */
  border: #000 3px border;
  /* 枠線を追加 */
  background-color: #fff;
  /* 背景色を追加 */
}

/* line 861, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
ul {
  padding: 0;
  width: 90%;
}

/* line 865, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
li {
  list-style-type: none;
}

/* line 868, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
dd {
  margin-left: 0;
}

/* line 872, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.flow > li {
  position: relative;
}

/* line 875, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.flow > li:not(:last-child) {
  margin-bottom: 40px;
}

/* line 878, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.flow > li:not(:first-child)::before {
  content: "";
  height: 60px;
  display: block;
  border-left: 4px dotted #0058A6;
  position: absolute;
  top: -40px;
  left: -webkit-calc(10% + 30px - 2px);
  left: calc(10% + 30px - 2px);
  z-index: 10;
}

/* line 889, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.flow > li dl {
  width: 100%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid #0058A6;
  border-radius: 10px;
  position: relative;
}

/* line 902, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

/* line 912, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.flow > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: #0058A6;
}

/* line 916, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.flow > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}

/* line 920, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.flow > li dl dt {
  font-size: 20px;
  font-weight: 600;
  color: #0058A6;
  -ms-flex-preferred-size: 20%;
  flex-basis: 25%;
  margin-right: 2vw;
  text-align: center;
}

/* line 929, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.flow > li dl dt .icon {
  font-size: 12px;
  color: #fff;
  background: #0058A6;
  background: -moz-linear-gradient(left, #0058A6 0%, #0058A6 100%);
  background: -webkit-linear-gradient(left, #0058A6 0%, #0058A6 100%);
  background: linear-gradient(to right, #0058A6 0%, #0058A6 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 9;
}

/* line 946, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.white {
  color: #0058A6;
  font-size: 10px;
}

/* line 952, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.center {
  text-align: center;
  margin: 0 auto;
}

/* line 957, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* line 962, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab {
  position: relative;
  padding-left: 0;
  overflow: hidden;
  width: 80%;
  margin: 0 auto 1em auto;
  color: #0058A6;
}
/* line 970, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab h4 {
  all: unset;
}

/* line 975, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab input {
  position: absolute;
  opacity: 0;
}

/* 質問 */
/* line 981, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab label {
  font-weight: bold;
  line-height: 1.6em;
  position: relative;
  display: block;
  margin: 0;
  padding: 1em 2em 1em 2.5em;
  cursor: pointer;
  text-indent: 1em;
  border-radius: 0.5em;
  background: rgba(0, 88, 166, 0.1);
  color: #0058A6;
}

/* line 995, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab label::before {
  font-family: serif;
  font-size: 1.5em;
  margin-left: -2em;
  padding-right: 0.5em;
  content: 'Q';
}

/* line 1003, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab label:hover {
  transition: all 0.3s;
  color: #0058A6;
}

/* 質問の＋アイコン */
/* line 1009, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab label::after {
  font-size: 1.7em;
  font-weight: bold;
  line-height: 2em;
  position: absolute;
  top: 0;
  right: 0;
  content: 'b';
  display: inline-block;
  width: 2em;
  height: 2em;
  -webkit-transition: transform 0.4s;
  transition: transform 0.4s;
}

/* 答え */
/* line 1025, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab .cp_actab-content {
  position: relative;
  overflow: hidden;
  max-height: 0;
  padding: 0 0 0 2.5em;
  -webkit-transition: max-height 0.2s;
  transition: max-height 0.2s;
  border-radius: 0 0 0.5em 0.5em;
}

/* line 1035, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab .cp_actab-content::before {
  font-family: serif;
  font-size: 1.5em;
  position: absolute;
  margin: 0.4em 0 0 -1em;
  padding: 0;
}

/* line 1043, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab .cp_actab-content p {
  margin: 1em 1em 1em 0;
}

/* 質問を開いた時の仕様 */
/* --答えの高さ */
/* line 1049, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
  max-height: 40em;
  border: 10px solid rgba(0, 88, 166, 0.1);
}

/* 質問をクリックした時のアイコンの動き */
/* line 1055, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab input:checked ~ label {
  color: #0058A6;
  border-radius: 0.5em 0.5em 0 0;
}

/* ＋の回転アニメーション */
/* line 1061, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

/* line 1067, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.border {
  padding: 0.5em 1em;
  margin: 0.5em 1em;
  font-size: 2.0vw;
  font-weight: bold;
  color: #0058A6;
  /*文字色*/
  background: #FFF;
  border: solid 5px #0058A6;
  /*線*/
  border-radius: 10px;
  /*角の丸み*/
}

/* line 1077, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.border p {
  margin: 0;
  padding: 0;
}

/* line 1084, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price {
  width: 90%;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 1px 0;
  font-size: 13px;
}

/* line 1091, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price th,
table.price td {
  padding: 10px;
}

/* line 1095, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price th {
  box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.8) inset;
  border-radius: 5px 5px 10px 10px;
  background: #88b7d5;
  vertical-align: middle;
  text-align: center;
  width: 125px;
  height: 50px;
  position: relative;
  color: #fff;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  font-size: 16px;
}

/* line 1108, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price th.c2 {
  background: #ed4993;
  /* Old browsers */
  background: -moz-linear-gradient(top, #cc1445 1%, #b6113d 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #cc1445), color-stop(100%, #b6113d));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #cc1445 1%, #b6113d 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #cc1445 1%, #b6113d 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #cc1445 1%, #b6113d 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #cc1445 1%, #b6113d 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cc1445', endColorstr='#b6113d',GradientType=0 );
  /* IE6-9 */
}

/* line 1118, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price th.c1 {
  background: #a2ce1a;
  /* Old browsers */
  background: -moz-linear-gradient(top, #61ae24 1%, #569b20 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #61ae24), color-stop(100%, #569b20));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #61ae24 1%, #ba9b20 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #61ae24 1%, #569b20 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #61ae24 1%, #569b20 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #61ae24 1%, #569b20 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#61ae24', endColorstr='#569b20',GradientType=0 );
  /* IE6-9 */
}

/* line 1128, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price th.c3 {
  background: #1d8ce9;
  /* Old browsers */
  background: -moz-linear-gradient(top, #113f8c 1%, #0f387d 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #113f8c), color-stop(100%, #0f387d));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #113f8c 1%, #0f387d 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #113f8c 1%, #0f387d 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #113f8c 1%, #0f387d 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #113f8c 1%, #0f387d 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#113f8c', endColorstr='#0f387d',GradientType=0 );
  /* IE6-9 */
}

/* firefox */
@-moz-document url-prefix() {
  /* line 1141, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  table.price th {
    text-indent: 10px;
  }

  /* line 1144, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  table.price th::after {
    padding: 0;
    top: 60px;
    left: 0;
    content: "";
    height: 0;
    width: 0;
    position: relative;
    pointer-events: none;
    border: 50px solid transparent;
    border-top: #B7D567 15px solid;
  }
}
/* line 1157, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price th.c2:after {
  border-top: #b6113d 15px solid;
}

/* line 1160, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price th.c3:after {
  border-top: #0f387d 15px solid;
}

/* line 1164, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price td {
  box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.3) inset;
  text-align: center;
  padding-top: 15px;
  border: none;
  height: 70px;
}

/* line 1172, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
td.black {
  color: black;
  font-size: 21px;
}

/* line 1175, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
td.red {
  color: red;
  font-weight: bold;
  font-size: 24px;
}

/* line 1181, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price tr:nth-child(2n+1) td.c2 {
  background: #ffecf5;
}

/* line 1184, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price tr:nth-child(2n+0) td.c2 {
  background: #ffdfed;
}

/* line 1188, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price tr:nth-child(2n+1) td.c3 {
  background: #fff;
}

/* line 1191, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price tr:nth-child(2n+0) td.c3 {
  background: #eee;
}

/* line 1195, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price tr:last-child td {
  border-radius: 0 0 5px 5px;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
}

/* line 1200, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price tr:last-child td button {
  font-size: 12px;
  font-family: Arial;
  font-weight: normal;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #ffaa22;
  padding: 9px 18px;
  text-decoration: none;
  background: -moz-linear-gradient(center top, #ffec64 5%, #ffab23 100%);
  background: -ms-linear-gradient(top, #ffec64 5%, #ffab23 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffec64', endColorstr='#ffab23');
  background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #ffec64), color-stop(100%, #ffab23));
  background-color: #ffec64;
  color: #333333;
  display: inline-block;
  text-shadow: 1px 1px 0px #ffee66;
  -webkit-box-shadow: inset 1px 1px 0px 0px #fff6af;
  -moz-box-shadow: inset 1px 1px 0px 0px #fff6af;
  box-shadow: inset 1px 1px 0px 0px #fff6af;
}

/* line 1222, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price tr:last-child td button:hover {
  background: -moz-linear-gradient(center top, #ffab23 5%, #ffec64 100%);
  background: -ms-linear-gradient(top, #ffab23 5%, #ffec64 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffab23', endColorstr='#ffec64');
  background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #ffab23), color-stop(100%, #ffec64));
  background-color: #ffab23;
}

/* line 1229, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.price tr:last-child td button {
  position: relative;
  top: 1px;
}

/* line 1236, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.contract-wrapper {
  margin: 0 40px;
  text-align: left;
}
/* line 1240, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.contract-wrapper .text {
  font-size: 14px;
  line-height: 2.0;
  padding: 0 50px;
}

/* line 1248, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.organize {
  text-align: left;
  margin: 15px 0;
}
/* line 1253, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.organize a {
  text-decoration: none;
  color: white;
  text-shadow: 1px 1px 1px #000;
  margin-top: 8px;
}
/* line 1259, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.organize a:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
/* line 1265, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.organize .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
/* line 1271, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.organize .col-xs-1 {
  flex: 0 0 5%;
  max-width: 5%;
}
/* line 1276, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.organize .col-xs-3 {
  flex: 0 0 25%;
  max-width: 25%;
  min-width: 180px;
}
/* line 1282, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.organize .col-xs-7 {
  flex: 1;
  max-width: 70%;
  min-width: 250px;
}

@media (max-width: 768px) {
  /* line 1291, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .organize .row {
    flex-direction: column;
    align-items: flex-start;
  }

  /* line 1296, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .organize .col-xs-1,
  .organize .col-xs-3,
  .organize .col-xs-7 {
    flex: 1 1 100%;
    max-width: 100%;
    margin-bottom: 8px;
  }
}
/* --- テーブル共通 (元のUI・デザインを完全維持) --- */
/* line 1307, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.list {
  width: 90%;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0px 5px;
  font-size: 1.0vw;
}
/* line 1314, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.list th {
  padding: 10px;
}
/* line 1315, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.list td {
  padding: 8px;
}
/* line 1317, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.list th {
  background: #0058A6;
  vertical-align: middle;
  text-align: left;
  overflow: visible;
  position: relative;
  color: #fff;
  font-weight: normal;
  font-size: 1.0vw;
}
/* line 1327, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.list td {
  background: #f4f4f4;
}

/* --- スマホ・レスポンシブ対応 --- */
/* PCのUI（1.0vwやcol幅）を壊さないよう、スマホ時のみ最小幅を確保して横スクロールさせます */
/* line 1335, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.table-responsive {
  width: 100%;
  overflow-x: auto;
  /* 横スクロールを有効化 */
  -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 768px) {
  /* 検索フォーム：テーブル構造を解除して縦並びに（入力不能回避のため） */
  /* line 1343, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  form table.list,
  form table.list thead,
  form table.list tr,
  form table.list td {
    display: block !important;
    width: 100% !important;
  }

  /* line 1351, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  form table.list td {
    padding: 5px 0 !important;
  }

  /* ユーザー一覧：PCのUI(比率)を維持したまま、潰れないよう最小幅を固定 */
  /* line 1356, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .table-responsive table.list {
    table-layout: fixed !important;
    /* Slim側のcol width指定を強制適用 */
    min-width: 1000px;
    /* スマホで14%幅が極小になるのを防ぐ */
    font-size: 12px;
    /* スマホで1.0vwだと小さすぎるため固定値へ */
  }

  /* line 1362, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .table-responsive table.list th {
    font-size: 12px;
  }
}
/* --- その他既存要素 (現状維持) --- */
/* line 1368, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.bulk-action-area {
  margin-bottom: 20px;
  padding: 15px;
  background: #fff5f5;
  border: 2px solid #ffcccc;
  border-radius: 5px;
}

/* line 1376, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.action-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

/* line 1383, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.set-devise {
  padding-top: 20px;
  padding-right: 35px;
}

/* line 1389, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.responsive-line {
  width: 95%;
  max-width: 100%;
  /* 幅の最大値を親幅に */
  box-sizing: border-box;
  /* パディング・ボーダーを幅に含める */
}
@media only screen and (max-width: 599px) {
  /* line 1389, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .responsive-line {
    width: 100%;
    max-width: 100%;
  }
}

/* line 1400, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.block-image {
  width: 100%;
  display: inline-block;
  /* 親の text-align: center; に従う */
  vertical-align: top;
  /* pタグとの上下ズレ防止 */
  margin: 10px auto;
}
@media only screen and (max-width: 599px) {
  /* line 1400, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .block-image {
    width: 100%;
    margin-top: 12px;
    margin-bottom: 20px;
  }
}

/* line 1413, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.entire-image {
  width: 65%;
  display: block;
  /* inline-block から block に変更して margin: auto が効くように */
  margin: 10px auto;
  /* 上下10px、左右自動で中央寄せ */
  vertical-align: top;
  /* pタグとの上下ズレ防止 */
  max-width: 100%;
  /* 横幅制限（画像がはみ出さないように） */
}
@media only screen and (max-width: 599px) {
  /* line 1413, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .entire-image {
    width: 100%;
    margin-top: 12px;
    margin-bottom: 20px;
  }
}

/* line 1427, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.border2 {
  text-align: center;
  margin: 0em 1.5em;
  font-size: 1.5vw;
  width: 100%;
  font-weight: bold;
  color: #fff;
  /* 文字色 */
  background: #0058A6;
  border: solid 5px #0058A6;
  /* 線 */
  border-radius: 10px;
  padding: 0em 0.2em;
  box-sizing: border-box;
  /* パディングとボーダー込みで幅計算 */
}
@media only screen and (max-width: 599px) {
  /* line 1427, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .border2 {
    font-size: 4.5vw;
    /* スマホで文字大きすぎるのを防ぐ */
    margin: 0.5em 1em;
    /* 左右のマージンを縮めて詰まり防止 */
  }
}

/* line 1446, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.border2 p {
  margin: 0;
  padding: 0;
}

@media only screen and (max-width: 599px) {
  /* line 1451, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .center-on-mobile {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
/* line 1459, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.blue-2 {
  color: #0058A6;
  font-size: 45px;
  font-weight: bold;
  margin: 15px 0;
}

/* テーブル共通 */
/* line 1467, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.review {
  border: 1px solid #aaa;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 6px;
  overflow: hidden;
}
/* line 1474, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.review .font-middle {
  font-size: 1.7rem;
}
/* line 1475, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.review .red {
  color: red;
}
/* line 1477, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.review th, table.review td {
  background: #f4f4f4;
  padding: 10px;
  line-height: 3rem;
  font-weight: bold;
}
/* line 1484, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.review .title {
  background-color: #0058A6;
  font-size: 1.5vw;
  color: white;
}
/* line 1490, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.review td {
  vertical-align: middle;
  text-align: left;
  overflow: visible;
  position: relative;
  color: #333;
  font-size: 1.3vw;
}
@media (max-width: 768px) {
  /* line 1501, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  table.review .title {
    font-size: 4vw;
  }
  /* line 1504, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  table.review td {
    font-size: 3.5vw;
  }
}

/* line 1509, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.left {
  margin: 5px 0px 5px 50px;
}

/* line 1510, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
table.right {
  margin: 5px 50px 5px 0px;
}

/* line 1513, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.check-mark {
  font-size: 60px;
}

/* line 1516, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.check {
  font-size: 60px;
  font-size: bold;
}

/* 全体ラッパー */
/* line 1523, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.category-wrapper {
  max-width: 960px;
  margin: 40px auto;
  padding: 0 20px;
  text-align: left;
}

/* 大見出し */
/* line 1531, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.headline {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 30px;
  color: #333;
  text-align: center;
}

/* 求人カード */
/* line 1540, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-card {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(5, 5, 238, 0.2);
  padding: 24px;
  margin-bottom: 24px;
  transition: box-shadow 0.3s ease;
}

/* line 1549, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-card:hover {
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
}

/* line 1553, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-card h3 {
  font-size: 20px;
  margin-bottom: 15px;
  color: #2c3e50;
}

/* line 1559, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-card p {
  margin: 10px 0;
  font-size: 15px;
  color: #555;
}

/* line 1565, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-card strong {
  font-size: 18px;
  color: black;
}

/* ボタン */
/* line 1572, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-card .btn-detail {
  display: inline-block;
  margin-top: 15px;
  padding: 8px 16px;
  background-color: #3498db;
  color: white;
  border-radius: 6px;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

/* line 1583, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-card .btn-detail:hover {
  background-color: #2980b9;
}

/* 求人詳細ページ専用ラッパー */
/* line 1588, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper {
  max-width: 900px;
  margin: 40px auto;
  padding: 0 20px;
  font-family: "Helvetica Neue", Arial, sans-serif;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* 大見出し */
/* line 1599, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper h1.job-title {
  font-size: 2.2rem;
  font-weight: 700;
  color: #2c3e50;
  margin-top: 24px;
  margin-bottom: 12px;
  text-align: center;
}

/* サブテキスト */
/* line 1609, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper p.job-subtitle {
  font-size: 1.2rem;
  color: #888;
  margin-bottom: 24px;
  text-align: center;
}

/* セクションタイトル */
/* line 1617, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper h2.section-title {
  font-size: 1.6rem;
  color: #34495e;
  border-bottom: 2px solid #3498db;
  padding-bottom: 8px;
  margin-top: 40px;
  margin-bottom: 24px;
}

/* テーブル全体 */
/* line 1627, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper table.job-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 36px;
}

/* ラベルセル */
/* line 1634, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper table.job-table td.label-cell {
  width: 30%;
  font-weight: 600;
  color: #2c3e50;
  padding: 10px 12px;
  background-color: #f4f7fa;
  border: 1px solid #ddd;
  vertical-align: top;
}

/* データセル */
/* line 1645, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper table.job-table td.data-cell {
  padding: 10px 12px;
  border: 1px solid #ddd;
  color: #555;
  vertical-align: top;
  white-space: pre-line;
}

/* ボタンラッパー */
/* line 1654, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper .action-buttons,
.job-detail-wrapper .admin-actions {
  margin-top: 30px;
  text-align: center;
}

/* ボタン共通 */
/* line 1661, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper .btn {
  padding: 10px 20px;
  font-size: 1rem;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  text-decoration: none;
  display: inline-block;
  margin: 0 8px;
}

/* 青ボタン */
/* line 1673, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper .btn-primary {
  background-color: #3498db;
  color: white;
  border: none;
}

/* line 1679, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper .btn-primary:hover {
  background-color: #2980b9;
}

/* 赤ボタン */
/* line 1684, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper .btn-danger {
  background-color: #e74c3c;
  color: white;
  border: none;
}

/* line 1690, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper .btn-danger:hover {
  background-color: #c0392b;
}

/* グレーのセカンダリーボタン */
/* line 1695, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper .btn-secondary {
  background-color: #bdc3c7;
  color: #2c3e50;
  border: none;
}

/* line 1701, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.job-detail-wrapper .btn-secondary:hover {
  background-color: #95a5a6;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  /* line 1707, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .category-wrapper {
    padding: 0 12px;
  }

  /* line 1711, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .headline {
    font-size: 22px;
  }

  /* line 1715, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .job-card {
    padding: 16px;
  }

  /* line 1719, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .job-card h3 {
    font-size: 24px;
    font-weight: bold;
  }

  /* line 1724, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .job-card p {
    font-size: 14px;
  }

  /* line 1728, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .job-detail-wrapper {
    padding: 0 12px;
  }

  /* line 1732, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .job-detail-wrapper h1.job-title {
    font-size: 1.8rem;
  }

  /* line 1736, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .job-detail-wrapper p.job-subtitle {
    font-size: 1rem;
  }

  /* line 1740, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .job-detail-wrapper h2.section-title {
    font-size: 1.4rem;
  }

  /* line 1744, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .job-detail-wrapper table.job-table td.label-cell,
  .job-detail-wrapper table.job-table td.data-cell {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  /* line 1751, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .job-detail-wrapper table.job-table td.label-cell {
    background-color: #eef2f7;
    border-bottom: none;
  }

  /* line 1756, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .job-detail-wrapper table.job-table td.data-cell {
    border-top: none;
    margin-bottom: 12px;
  }
}
/* ===============================
   J Work 専用デザインスタイル
   =============================== */
/* line 1771, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-section {
  background: #f9fafb;
  padding: 60px 0;
  border-bottom: 1px solid #e6e6e6;
}

/* line 1777, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-headline {
  font-size: 2.5rem;
  color: #222;
  text-align: center;
  font-weight: 700;
  margin-bottom: 40px;
  position: relative;
}

/* line 1786, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-headline::after {
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  background: #007aff;
  margin: 12px auto 0;
  border-radius: 3px;
}

/* line 1796, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-intro-text {
  font-size: 1.05rem;
  color: #333;
  line-height: 1.9;
  text-align: justify;
  max-width: 900px;
  margin: 0 auto 40px;
}

/* line 1805, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-intro-text p {
  margin-bottom: 20px;
}

/* line 1809, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-rules-box {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  padding: 30px;
  margin: 0 auto;
  max-width: 900px;
  color: #333;
  font-size: 1rem;
  line-height: 1.8;
}

/* line 1821, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-rules-box p {
  margin-bottom: 12px;
}

/* line 1825, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-rules-box p::before {
  content: "・";
  color: #007aff;
  font-weight: bold;
  margin-right: 4px;
}

/* line 1832, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-image-area {
  text-align: center;
}

/* line 1836, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-image-area img {
  border-radius: 16px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  margin-top: 20px;
}

/* line 1842, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-example-box {
  max-width: 900px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
  padding: 30px;
}

/* line 1851, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-example-box p {
  font-size: 1.5rem;
  color: #333;
  margin-bottom: 10px;
  line-height: 1.8;
}

/* line 1858, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-section h1 {
  line-height: 1.8;
  min-height: 120px;
  /* 高さを確保して詰まり防止 */
}

@media (max-width: 768px) {
  /* line 1864, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .jwork-section h1 {
    min-height: 160px;
    /* スマホ時はさらに余裕を確保 */
  }
}
/* line 1868, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-container {
  display: flex;
  gap: 20px;
  /* ボックス間の隙間 */
  justify-content: space-between;
}

/* line 1874, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-box {
  border: 1px solid #ccc;
  padding: 15px;
  width: 30%;
  /* 3列に収めるため */
  box-sizing: border-box;
  text-align: center;
}

/* line 1882, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-example-box img,
.jwork-example-box .image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  border-radius: 8px;
  object-fit: cover;
}

/* line 1892, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.condition {
  color: red;
  font-weight: bold;
}

/* line 1899, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process {
  background: #f7f8fc;
  padding: 40px 16px;
  font-family: 'Noto Sans JP', sans-serif;
}

/* ヘッダー */
/* line 1906, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.header {
  text-align: center;
  margin-bottom: 40px;
}

/* line 1911, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a237e;
}

/* line 1917, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.subtitle {
  font-size: 0.9rem;
  color: #666;
}

/* タイムライン */
/* line 1923, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.timeline {
  position: relative;
  max-width: 500px;
  margin: 0 auto;
}

/* line 1929, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.timeline::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #d1d5db;
}

/* ステップ */
/* line 1940, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 30px;
}

/* 番号丸 */
/* line 1948, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.circle {
  width: 40px;
  height: 40px;
  background: #1a237e;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  line-height: 40px;
  font-weight: 700;
  z-index: 1;
  flex-shrink: 0;
}

/* カード */
/* line 1962, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.card {
  background: #fff;
  margin-left: 16px;
  padding: 16px;
  border-radius: 10px;
  flex: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* line 1971, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.card h3 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 6px;
  color: #1a237e;
}

/* line 1978, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.card h3 a {
  color: #1a237e;
  text-decoration: none;
}

/* line 1983, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.card h3 a:hover {
  opacity: 0.7;
}

/* line 1987, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.card p {
  font-size: 1.3rem;
  color: #444;
  margin-bottom: 10px;
}

/* ボタン */
/* line 1994, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.btn-process {
  display: block;
  width: 100%;
  background: #1a237e;
  color: #fff;
  padding: 10px;
  border-radius: 8px;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  margin-bottom: 8px;
  transition: 0.2s;
}

/* line 2009, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.btn-process:hover {
  background: #3949ab;
}

/* info ページ：ご利用の流れ（process-container） */
/* line 2015, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-title {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #1a237e;
  margin: 0 0 8px;
}
/* line 2024, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-sub {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a237e;
  margin: 0 0 40px;
}
/* line 2032, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-container {
  position: relative;
  max-width: 720px;
  margin: 0 auto;
  padding-left: 8px;
}
/* line 2039, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-container::before {
  content: "";
  position: absolute;
  left: 28px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: #d1d5db;
}
/* line 2049, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-step {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 28px;
}
/* line 2057, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-step .num {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #1a237e;
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 44px;
  text-align: center;
}
/* line 2072, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-step .content {
  flex: 1;
  background: #fff;
  border-radius: 10px;
  padding: 16px 18px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  text-align: left;
}
/* line 2081, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-step .content h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: #1a237e;
}
/* line 2088, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-step .content h3 a {
  color: #1a237e;
  text-decoration: none;
}
/* line 2093, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-step .content h3 a:hover {
  opacity: 0.7;
}
/* line 2097, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-step .content p {
  font-size: 1.2rem;
  color: #444;
  line-height: 1.6;
  margin: 0 0 12px;
}
/* line 2104, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-step .content .row {
  margin-left: -5px;
  margin-right: -5px;
  margin-bottom: 6px;
}
/* line 2110, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-step .content [class*="col-"] {
  padding-left: 5px;
  padding-right: 5px;
  margin-bottom: 8px;
}
/* line 2116, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.process .process-step .btn-process,
.section.process .process-step a.btn-process {
  display: block;
  width: 100%;
  white-space: normal;
  word-break: break-word;
  line-height: 1.35;
  color: #fff;
}
@media (max-width: 768px) {
  /* line 2127, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .section.process .process-sub {
    font-size: 1.5rem;
  }
  /* line 2131, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .section.process .process-container {
    max-width: 100%;
  }
  /* line 2135, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .section.process .process-container::before {
    left: 21px;
  }
  /* line 2139, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .section.process .process-step .num {
    width: 36px;
    height: 36px;
    line-height: 36px;
    font-size: 0.95rem;
  }
  /* line 2146, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .section.process .process-step .content h3 {
    font-size: 1.3rem;
  }
  /* line 2150, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .section.process .process-step .content p {
    font-size: 1.05rem;
  }
}

/* line 2157, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
body {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  background-color: #f5f7fa;
  margin: 0;
  padding: 0;
}

/* line 2164, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

/* line 2171, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.calculator {
  background: #fff;
  padding: 20px;
  border-radius: 16px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  width: 90%;
  max-width: 400px;
}

/* line 2180, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.calculator h2 {
  text-align: center;
  margin-bottom: 20px;
  color: #333;
}

/* line 2186, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.form-group {
  margin-bottom: 15px;
}

/* line 2190, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
label {
  display: block;
  font-size: 14px;
  color: #555;
  margin-bottom: 6px;
}

/* line 2197, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.form-control {
  width: 100%;
  padding: 10px;
  font-size: 16px;
  border-radius: 8px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

/* line 2206, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.result-box {
  background: #f0f4f8;
  padding: 15px;
  border-radius: 10px;
  margin-top: 10px;
}

/* line 2213, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.result-box p {
  font-size: 16px;
  margin: 6px 0;
}

/* line 2218, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.highlight {
  font-weight: bold;
  color: #007aff;
  font-size: 18px;
}

/* line 2224, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 10px 0;
}

@media (max-width: 480px) {
  /* line 2231, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .calculator {
    padding: 15px;
    border-radius: 12px;
  }

  /* line 2236, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .form-control {
    font-size: 15px;
  }

  /* line 2240, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .highlight {
    font-size: 17px;
  }
}
/* line 2247, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 2253, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-checklist li {
  padding: 12px 8px;
  border-bottom: 1px solid #e5e5e5;
}

/* line 2258, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.jwork-check-label {
  display: flex;
  align-items: flex-start;
  /* ← 縦ズレ防止 */
  gap: 10px;
  font-size: 14px;
  line-height: 1.6;
}

/* line 2266, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.confirm-check {
  width: 18px;
  /* ← サイズ固定 */
  height: 18px;
  margin-top: 3px;
  /* ← テキスト1行目と中央揃え */
  flex-shrink: 0;
  /* ← 押し潰され防止 */
}

/* line 2273, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
#next-button.disabled {
  background-color: #ccc;
  border-color: #ccc;
}

/* ===== namespace: lc- ===== */
/* レイアウト */
/* line 2282, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-layout {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

/* line 2288, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-image {
  flex: 0 0 40%;
  text-align: center;
}

/* line 2293, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-img {
  width: 100%;
  max-width: 420px;
  border-radius: 16px;
}

/* line 2299, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-content {
  flex: 1;
}

/* カード */
/* line 2304, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-card {
  background: #fff;
  border-radius: 16px;
  padding: 12px;
  margin-bottom: 20px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* line 2312, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-good {
  border-left: 6px solid #1976d2;
}

/* line 2316, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-bad {
  border-left: 6px solid #90a4ae;
}

/* タイトル */
/* line 2321, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-card-title {
  font-size: 2.3rem;
  font-weight: 700;
  margin-bottom: 14px;
  margin-top: 5px;
  color: #1976d2;
}

/* line 2329, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-bad .lc-card-title {
  color: #546e7a;
}

/* リスト */
/* line 2334, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 2340, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  line-height: 1.7;
}

/* CSSチェック */
/* line 2348, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 10px;
  height: 10px;
  border-right: 3px solid #1976d2;
  border-bottom: 3px solid #1976d2;
  transform: rotate(45deg);
}

/* line 2360, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.lc-bad .lc-list li::before {
  border-color: #90a4ae;
}

/* モバイル */
@media (max-width: 768px) {
  /* line 2366, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .lc-layout {
    flex-direction: column;
  }

  /* line 2370, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
  .lc-image {
    flex: none;
  }
}
/* line 2376, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-indicator {
  margin-bottom: 40px;
}

/* line 2380, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-list {
  display: flex;
  justify-content: space-between;
  padding: 0;
  list-style: none;
}

/* line 2387, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-item {
  position: relative;
  flex: 1;
  text-align: center;
  color: #999;
}

/* 接続線 */
/* line 2395, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-item::after {
  content: '';
  position: absolute;
  top: 18px;
  right: -50%;
  width: 100%;
  height: 4px;
  background: #ddd;
  z-index: 0;
}

/* 最後のステップは線なし */
/* line 2407, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-item:last-child::after {
  display: none;
}

/* 丸 */
/* line 2412, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-number {
  position: relative;
  z-index: 1;
  display: inline-block;
  width: 36px;
  height: 36px;
  line-height: 36px;
  border-radius: 50%;
  background: #ddd;
  margin-bottom: 8px;
  font-weight: bold;
}

/* ラベル */
/* line 2426, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-label {
  display: block;
  font-size: 12px;
}

/* 完了済み（青） */
/* line 2432, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-item.is-done {
  color: #007bff;
}

/* line 2436, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-item.is-done .step-number {
  background: #007bff;
  color: #fff;
}

/* line 2441, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-item.is-done::after {
  background: #007bff;
}

/* 現在地（緑） */
/* line 2446, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-item.is-active {
  color: #28a745;
}

/* line 2450, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step-item.is-active .step-number {
  background: #28a745;
  color: #fff;
}

/* line 2457, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.doc-list {
  list-style: none;
  /* デフォルトの点を消す */
  padding-left: 0;
  margin-bottom: 16px;
}

/* line 2463, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.doc-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  font-size: 1.2rem;
  color: #1a237e;
  /* 文字色を丸と統一 */
  font-weight: 600;
  /* 少し強調しておしゃれに */
}

/* line 2474, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.section.black-number {
  background: #f7f8fc;
  padding: 40px 16px;
  font-family: 'Noto Sans JP', sans-serif;
}

/* line 2480, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.title {
  text-align: center;
  font-size: 2.2rem;
  /* タイトル大きめ */
  font-weight: 700;
  color: #1a237e;
  margin-bottom: 24px;
}

/* line 2488, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.note {
  text-align: center;
  font-size: 1rem;
  /* 注釈文字も少し大きく */
  color: #666;
  margin-bottom: 40px;
  line-height: 1.5;
}

/* タイムライン */
/* line 2497, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.timeline {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}

/* line 2503, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.timeline::before {
  content: "";
  position: absolute;
  left: 25px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #d1d5db;
}

/* ステップ */
/* line 2514, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.step {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 36px;
  /* 少し余白増やす */
}

/* 番号丸 */
/* line 2522, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.circle {
  width: 50px;
  /* 丸大きめ */
  height: 50px;
  background: #1a237e;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  line-height: 50px;
  font-weight: 700;
  font-size: 1.2rem;
  /* 数字大きめ */
  flex-shrink: 0;
}

/* カード */
/* line 2536, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.card {
  background: #fff;
  margin-left: 20px;
  padding: 20px;
  border-radius: 12px;
  flex: 1;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

/* line 2545, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.card h3 {
  font-size: 1.3rem;
  /* ステップ見出し大きめ */
  color: #1a237e;
  margin-bottom: 12px;
}

/* line 2551, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.card p {
  font-size: 1.05rem;
  /* 本文大きめ */
  color: #444;
  line-height: 1.6;
  margin-bottom: 8px;
}

/* line 2558, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.card .note {
  font-size: 0.95rem;
  color: #999;
  margin-bottom: 8px;
  line-height: 1.4;
}

/* 必要書類リスト */
/* line 2566, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.doc-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 16px;
}

/* line 2572, /opt/webroot/jwork/app/assets/stylesheets/application.scss */
.doc-list li {
  position: relative;
  padding-left: 24px;
  /* 丸との余白増やす */
  margin-bottom: 10px;
  font-size: 1.05rem;
  /* リスト文字大きめ */
  color: #1a237e;
  font-weight: 600;
  line-height: 1.5;
}
