.breadcrumb {
  background: rgb(var(--colorsecond));
}

.breadcrumb .ss_active {
  color: rgb(var(--fontcolor));
}

.breadcrumb li {
  color: rgb(var(--colorcream));
}

.label-warning, .badge-warning {
  background-color: rgb(var(--colororange));
}
.ss_input .label-warning {
  background-color: #fa640a;
  /* color: rgb(var(--fontcolor)); */
}
.ss_error_msg {
  color: rgb(var(--colororange));
}
.table-hover tbody tr:hover>td, .table-hover tbody tr:hover>th {
  background-color: rgb(var(--colorthird) / 0.5);
}

#ss_inqtitle p {
  border-left: solid rgb(var(--colorforth));
  padding-left: 10px;
}

.table-bordered > :not(caption) > * > * {
  border-width: 0;
}

a {
  color: rgb(var(--colordarkblue));
}

.sb_user_index .css-cpcode{
  display:none;
}

.sb_confirm_index .css-cpcode{
  display:none;
}

/* 以下フォームデザイン調整用 */

/* --------------------------------------------------
   ベースフォント設定
   -------------------------------------------------- */

/* --------------------------------------------------
   ヘッダーエリア (タイトルバー)
   -------------------------------------------------- */
body{
  font-size: 0.85rem;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.navbar {
    padding: 0px 0px 15px 0px;
}

/* 緑色のタイトルバー */
.navbar .navbar-inner {
    background-color: #005a2f; /* メインの濃い緑 */
    border: none;
    border-radius: 5px;
    box-shadow: none;
    padding: 5px 10px;
    border-radius: 3px;
}

.navbar .brand {
    color: #fff;
    text-shadow: none;
    font-weight: bold;
    font-size: 22px;
    padding: 0.3rem 0.7rem;
    padding: 0;
    float: none;
}

/* --------------------------------------------------
   ステップバー (パンくずリスト)
   -------------------------------------------------- */
.breadcrumb {
    background-color: #048a24; /* 明るめの緑 */
    border-radius: 3px;
    border: none;
    color: #fff;
    margin-bottom: 15px;
    font-weight: bold;
    font-size: 14px;
}

.breadcrumb li {
    text-shadow: none;
    color: rgba(255,255,255,0.5);
}

.breadcrumb li.ss_active {
    color: rgba(255,255,255,1);
}

.breadcrumb .divider {
    color: rgba(255,255,255,0.5);
    padding: 0 10px;
}

/* --------------------------------------------------
   フォームテーブルのデザイン
   -------------------------------------------------- */
.ss_form table.table {
    border: 1px solid var(--bs-table-border-color);
    border-collapse: collapse;
    width: 100%;
}

.ss_form table.table > :not(caption) > * > * {
    border-bottom-width: 0;
}

/* 項目セル (th) */
.ss_form table.table th {
    width: 25%; /* 左側の幅 */
    font-weight: bold;
    color: #000000;
    border-top: none;
    vertical-align: middle;
    background-color: transparent; /* 背景色はtrに任せる */
}

/* 入力セル (td) */
.ss_form table.table td {
    border-top: none;
    vertical-align: middle;
    background-color: transparent;
}

/* ゼブラ柄の背景色設定
   奇数行(odd)を薄い緑、偶数行(even)を白にする */
.ss_form table.table tr:nth-child(odd) th,
.ss_form table.table tr:nth-child(odd) td {
    background-color: rgba(6,172,56,0.1); /* 薄い緑グレー */
}

/* Bootstrapのホバー効果を無効化（ゼブラ柄維持のため） */
.table-hover tbody tr:hover td,
.table-hover tbody tr:hover th {
    background-color: inherit;
}

/* --------------------------------------------------
   必須バッジ
   -------------------------------------------------- */
span.label.label-warning.ss_notnull, .label-warning, .badge-warning {
    background-color: #fa640a; /* オレンジ */
    border-radius: 4px;
    font-size: 11px;
    text-shadow: none;
    vertical-align: middle;
}

/* --------------------------------------------------
   入力フォーム要素
   -------------------------------------------------- */
/* テキスト入力・プルダウン */
input {
  font-size: 0.9rem;
}

input[type="text"],
select,
textarea {
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 0.25rem 0.25rem;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    background-color: #fff; /* 入力欄背景は白固定 */
    height: auto; /* Bootstrapのheight上書き */
}

/* フォーカス時の色 */
input[type="text"]:focus,
textarea:focus {
    border-color: #005a2f;
    box-shadow: 0 0 5px rgba(0, 93, 46, 0.5);
    outline: 0;
}

.ss_leftComment {
    margin-right: 5px;
    font-weight: normal;
}

/* ラジオボタン・チェックボックスの並び */
label {
    font-weight: normal;
}
input[type="radio"], input[type="checkbox"] {
    margin-top: 0;
    margin-right: 5px;
    vertical-align: -2px;
}

/* --------------------------------------------------
   送信ボタン (次へ)
   -------------------------------------------------- */
.ss_form_btn {
    text-align: center;
    margin-top: 40px;
    margin-bottom: 60px;
    background-color: transparent ; /* 背景色なし */
    border: none ;
}

.btn.btn-next {
    background-color: #005a2f; /* ボタンの緑 */
    color: #fff;
    border: 1px solid #005a24;
    border-radius: 5px;
    width: 25%;
    font-size: 18px;
    font-weight: bold;
    text-shadow: none;
}

.btn.btn-next,.btn.btn-back{
    margin: 10px;
}

.btn.btn-next:hover,
.btn.btn-next:focus,
.btn.btn-next:active,
.btn.btn-next.active,
.btn.btn-next.disabled,
.btn.btn-next[disabled] {
    background-color: #004522;
    text-decoration: none;
    color:#fff;
}

/* アイコンの色調整 */
.btn.btn-next i {
    opacity: 1;
}

/* --------------------------------------------------
   エラー表示調整 (Shanonデフォルトの上書き)
   -------------------------------------------------- */

.ss_error_msg {
    color: #fa640a;
}

/* --------------------------------------------------
   その他・微調整
   -------------------------------------------------- */
/* 説明文 */
p {
    font-size: 14px;
    line-height: 1.6;
    color: #000000;
}

i {
  font-style: normal;
}

.ss_privacy {
    color:#000000
}

#ss_inq {
    color:#000000
}

address {
  color: #000000;
}

.alert-error {
  color: #000000;
}

/* フッターのお問い合わせエリア */
#ss_inqtitle {
    border-left: 5px solid #048a24;
    color: #000000;
    margin-top: 40px;
}

/* テーブル全体の設定 */
.ss_form table.table {
    border-collapse: separate; /* 角丸のために必須 */
    border-spacing: 0;                    /* 隙間をなくす */
    border: 1px solid var(--bs-table-border-color); /* ★外枠（上下左右）はテーブル自身が描く */
    border-radius: 3px;                   /* 角丸 */
    overflow: hidden;                     /* はみ出し防止 */
}

/* セルの設定（一度リセットして引き直す） */
.ss_form table.table th,
.ss_form table.table td {
    border-right: 1px solid var(--bs-table-border-color);
}

.ss_form table.table tr + tr > * {
    border-top: 1px solid var(--bs-table-border-color);
}

/* 一番右の列だけ、右線を消す（テーブルの外枠があるから不要） */
.ss_form table.table tr th:last-child,
.ss_form table.table tr td:last-child {
    border-right: none;
}

@media only screen and (max-width: 767px) {
  .ss_form table.table th{
    width:auto;
  }

  .ss_form table.table th,
  .ss_form table.table td {
      /* ★セルは「下」と「右」だけに線を引く */
      border-top: 1px solid var(--bs-table-border-color);
      border-right:none;
  }

  /* 一番右の列だけ、右線を消す（テーブルの外枠があるから不要） */
  .ss_form table.table tr:first-child th {
      border-top: none;
  }

  .privacy-bordered {
    border: none;
  }

  .table-bordered > :not(caption) > * {
    border-width: 0;
  }

  .btn.btn-next, .btn.btn-back{
    margin: 10px 0;
  }

  .btn.btn-next {
    width: 95%;
  }
}

/* 以下確認画面 */

.sb_confirm_index .btn.btn-next {
  width: 35%;
}

.sb_confirm_index button.btn-back {
    background-color: rgba(75,79,79,0.4);
    font-size: 18px;
    font-weight: bold;
    border: 1px solid rgba(75,79,79,0.4);
    border-radius: 5px;
    color: #000000;
}

.sb_confirm_index .btn-back:hover,
.sb_confirm_index .btn-back:focus,
.sb_confirm_index .btn-back:active,
.sb_confirm_index .btn-back.active,
.sb_confirm_index .btn-back.disabled,
.sb_confirm_index .btn-back[disabled] {
	background-color: rgba(75,79,79,0.6);
    border: 1px solid rgba(75,79,79,0.4);
}

@media only screen and (max-width: 767px) {
  .sb_confirm_index .btn.btn-next,.sb_confirm_index button.btn-back{
    width: 95%;
  }
}