@charset "UTF-8";
/* ===== DSS FORM (scoped) ===== */

.dss-form-scope { font-size: 0.875rem; line-height: 1.7; }

.dss-form-scope .gform-flow{
  width:100%; max-width:760px; margin:0 auto 2.5rem; padding:0;
  background:transparent; box-shadow:none; border-radius:0; font:inherit;
}

/* group & label */
.dss-form-scope .form-group{ margin-bottom:1.25rem; }
.dss-form-scope label{ display:block; font-weight:600; color:#222; margin:0 0 .375rem; }

/* inputs */
.dss-form-scope input[type="text"],
.dss-form-scope input[type="email"],
.dss-form-scope input[type="tel"],
.dss-form-scope select,
.dss-form-scope textarea{
  width:100%; padding:.625rem .75rem; border:1px solid #cfd3d7;
  border-radius:.375rem; background:#fff; color:#222; line-height:1.6;
  transition:border-color .2s ease, box-shadow .2s ease; appearance:none;
}
.dss-form-scope textarea{ min-height:7.5rem; resize:vertical; }
.dss-form-scope select{
  background-image: linear-gradient(45deg, transparent 50%, #005bac 50%),
                    linear-gradient(135deg, #005bac 50%, transparent 50%);
  background-position: calc(100% - 15px) calc(50% - 2px),
                       calc(100% - 10px) calc(50% - 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
.dss-form-scope input:focus,
.dss-form-scope select:focus,
.dss-form-scope textarea:focus{
  border-color:#005bac; box-shadow:0 0 0 2px rgba(0,91,172,.12); outline:0;
}
.dss-form-scope .is-invalid{ border-color:#d33 !important; }

/* agree (checkbox) */
.dss-form-scope .agree .checkbox{
  display:flex; align-items:flex-start; gap:.5rem;
}
.dss-form-scope .agree .checkbox input[type="checkbox"]{
  inline-size:1.125rem; block-size:1.125rem; margin-top:.125rem;
  accent-color:#005bac; flex-shrink:0;
}
.dss-form-scope .agree .checkbox span{
  display:inline-block; font-weight:500; color:#333;
}

/* error */
.dss-form-scope .gform-error{
  display:block; margin-top:.375rem; color:#d33;
  font-size:0.875rem; line-height:1.6; word-break:break-word;
}

/* actions */
.dss-form-scope .gform-actions{
  display:flex; justify-content:center; gap:.75rem; margin-top:2rem;
}
.dss-form-scope .btn{
  display:inline-block; padding:.625rem 1.25rem; border:0; border-radius:.375rem;
  cursor:pointer; transition:filter .2s ease; font:inherit;
}
.dss-form-scope .btn-primary{ background:#005bac; color:#fff; }
.dss-form-scope .btn-primary:hover{ filter:brightness(.95); }
.dss-form-scope .btn-secondary{ background:#e9ecef; color:#333; }
.dss-form-scope .btn-secondary:hover{ filter:brightness(.98); }

/* confirm view */
.dss-form-scope .confirm-title{
    font-weight: 700;
    margin: 0 0 .75rem;
    font-size: 1.25rem;

}
.dss-form-scope .confirm-table{
    display: grid;
    grid-template-columns: 10rem 1fr;
    gap: 1.5rem 1rem;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    padding: 3rem 0;

}
.dss-form-scope .confirm-table .term{ color:#555; }
.dss-form-scope .confirm-table .desc{ white-space:pre-wrap; }

/* mobile */
@media (max-width: 768px){
  .dss-form-scope .gform-flow{ max-width:100%; margin:0 auto 1.75rem; }
  .dss-form-scope .confirm-table{
    grid-template-columns: 1fr; gap:.25rem .75rem;
  }
}

/* === checkbox をネイティブ表示に強制（フォーム範囲内のみ） === */
.dss-form-scope .form-group.agree label.checkbox {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
  line-height: 1.6;
}

/* テーマのカスタム装飾を無効化して、標準の□を出す */
.dss-form-scope input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  -moz-appearance: auto !important;
  display: inline-block !important;
  position: static !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
  margin: 0.15em 0 0 0 !important; /* 行頭を少し下げて文字と揃える */
  border: initial !important;
  background: initial !important;
  box-shadow: none !important;
}

/* ラベルテキストは改行可能にして、エラーと揃える */
.dss-form-scope .form-group.agree label.checkbox span {
  display: inline-block;
  word-break: break-word;
}

/* 同意のエラーメッセージはブロックで改行・他と同じ見た目 */
.dss-form-scope .form-group.agree .gform-error {
  display: block;
  margin-top: 0.375rem;
  font-size: 1rem;
  color: #d01;
  line-height: 1.6;
}

/* ===== チェックボックスの見た目調整（フォーム専用） ===== */
.dss-form-scope .form-group.agree label.checkbox {
  display: inline-flex;
  align-items: center; /* 縦位置をテキスト中央に */
  gap: 0.5rem;
  line-height: 1.6;
  font-size: 0.875rem;
}

/* □をフォントに対して自然なサイズに調整 */
.dss-form-scope input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  -moz-appearance: checkbox !important;
  width: 1.1em !important;
  height: 1.1em !important;
  flex-shrink: 0;
  vertical-align: middle;
  margin: 0;
  accent-color: #005bac; /* DSSブルーで統一 */
}

/* テキスト部分 */
.dss-form-scope .form-group.agree label.checkbox span {
  display: inline-block;
  line-height: 1.6;
  color: #222;
}

/* エラーメッセージ（改行されるように） */
.dss-form-scope .form-group.agree .gform-error {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.875rem;
  color: #d00;
  line-height: 1.6;
}