@charset "UTF-8";
/* ======================================================
 * contact_pc.css
 * ------------------------------------------------------
 * - Main
 * Media Queries
 * Print
====================================================== */
/* -----------------------------------------------------
  * Main
------------------------------------------------------*/
div.contents {
  max-width: 900px;
}

.label-required {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 45px;
  height: 25px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  vertical-align: text-bottom;
  background: #eb0000;
}

span.red {
  font-size: 0;
}
span.red::after {
  content: "必須";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 45px;
  height: 25px;
  font-size: 15px;
  color: #fff;
  background: #eb0000;
}

input[type=text],
input[type=tel],
input[type=email],
textarea,
select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  padding: 11px 18px 10px;
  background: #e8e8e8;
  border: none;
}
input[type=text].required-field,
input[type=tel].required-field,
input[type=email].required-field,
textarea.required-field,
select.required-field {
  background: #ffe5e5;
}
input[type=text]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, textarea::-webkit-input-placeholder, select::-webkit-input-placeholder {
  color: #9c9c9c;
}
input[type=text]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=email]::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  color: #9c9c9c;
}
input[type=text]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, textarea:-ms-input-placeholder, select:-ms-input-placeholder {
  color: #9c9c9c;
}
input[type=text]::-ms-input-placeholder, input[type=tel]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, textarea::-ms-input-placeholder, select::-ms-input-placeholder {
  color: #9c9c9c;
}
input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
textarea::placeholder,
select::placeholder {
  color: #9c9c9c;
}

input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  width: 30px;
  height: 30px;
  background: #fff;
  border: solid 1px #858585;
  -webkit-box-shadow: 0 0 0 0 transparent;
          box-shadow: 0 0 0 0 transparent;
  cursor: pointer;
}
input[type=checkbox]::before {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  opacity: 0;
  background: url("/contact/img/contact_ic_check.svg") center center no-repeat;
  background-size: contain;
  background-color: transparent;
}

input[type=checkbox]:checked::before {
  opacity: 1;
}

form {
  margin-top: 30px;
}

table {
  width: 100%;
  margin-bottom: 30px;
  font-size: clamp(16px, 1.3909224012vw, 19px);
  border: 1px solid #858585;
  border-radius: 10px;
  overflow: hidden;
  border-spacing: 0;
}
table tbody tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #858585;
}
table tbody tr:last-child {
  border: none;
}
table tbody tr > th {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: left;
  width: 36.3%;
  padding: 31px 20px 30px;
  font-weight: 600;
  background: #f7f7fa;
  border-right: 1px solid #858585;
}
table tbody tr > th:last-child {
  border: none;
}
table tbody tr > th > p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0;
  line-height: 1.5;
}
table tbody tr > th > p.required::after {
  content: "必須";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 45px;
  height: 25px;
  font-size: 15px;
  color: #fff;
  background: #ff0000;
}
table tbody tr td {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 15px;
  background: #fff;
}
table tbody tr td:has(p.example) {
  padding: 31px 15px 20px;
}
table tbody tr td p {
  line-height: 1.5 !important;
}
table tbody tr td p.example {
  margin-bottom: 7px !important;
  color: #757575;
}
table tbody tr td .error-text {
  margin-top: 5px;
  margin-bottom: 0 !important;
  font-size: clamp(12px, 2.0860495437vw, 16px);
  font-weight: 600;
  color: #ff0000;
  line-height: 1.5 !important;
}

.contact-privacy {
  margin-bottom: 30px;
  padding: 40px;
  font-size: clamp(14px, 1.317715959vw, 18px);
  -webkit-font-feature-settings: "pwid";
          font-feature-settings: "pwid";
  background: #e0e0e0;
  border-radius: 10px;
}
.contact-privacy p {
  max-width: 785px;
  margin: 0 auto 10px;
  line-height: 1.3;
}
.contact-privacy p:last-child {
  margin-top: 20px;
}
.contact-privacy .contact-privacy__title {
  font-weight: 600;
}

.contact-note {
  margin-bottom: 30px !important;
  text-align: center !important;
  -webkit-font-feature-settings: "pwid";
          font-feature-settings: "pwid";
}

table.table {
  display: none;
}

/*確認画面エラーメッセージ*/
/* 追加されたエラーメッセージのスタイル */
p.custom-error {
  color: #ff0000 !important; /* 赤字 */
  font-size: 14px !important;
  line-height: 1.5;
  display: block; /* 改行させる */
}

/* tdに余白がある場合は調整（画像2枚目のpadding対策） */
table td {
  vertical-align: top;
}

/* Xserverのエラーメッセージ */
form ul.error-list {
  list-style: none !important;
  padding-left: 0 !important;
  color: #eb0000;
  font-weight: bold;
}/*# sourceMappingURL=contact-table_pc.css.map */