@charset "UTF-8";
/* --- formリセット --- */
input[type=text],
input[type=tel],
input[type=password],
input[type=email],
input[type=number],
input[type=url] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  box-sizing: border-box;
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  font-size: clamp(1.4rem, 1.1713030747vw, 1.6rem);
}

select {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
  box-sizing: border-box;
  font-size: clamp(1.4rem, 1.1713030747vw, 1.6rem);
}
select option {
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
}

select::-ms-expand {
  display: none;
}

button,
input[type=submit],
input[type=reset],
input[type=search],
input[type=date] {
  -webkit-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  box-sizing: border-box;
  font-size: clamp(1.4rem, 1.1713030747vw, 1.6rem);
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
}

textarea {
  -webkit-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  box-sizing: border-box;
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  font-size: clamp(1.4rem, 1.1713030747vw, 1.6rem);
}
/*「お問い合わせ項目」ラジオ*/
td label{
  display:inline-block;
  padding:5px 20px 5px 5px;
}
/*form*/
:root {
  --form_bd: #e8e8e8;
  --form_bg: #e8e8e8;
  --placeholder:#bbb;
}

/*入力例の文字装飾*/
::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder {
  color: var(--placeholder);
}

input:focus::-webkit-input-placeholder, input:focus:-moz-placeholder, input:focus::-moz-placeholder {
  color: transparent;
}

textarea:focus::-webkit-input-placeholder, textarea:focus:-moz-placeholder, textarea:focus::-moz-placeholder {
  color: transparent;
}

table.contact_table {
  /*form*/
  --form_tbl_bd: #999;
  --form_th_bg: #ddd;
  --form_td_bg: #fff;
  --form_td_child_bg: #eee;
  --form_tbl_pd_b: 12px;
  --form_tbl_pd_in: 16px;
  inline-size: 100%;
  -webkit-border-start: 1px solid var(--form_tbl_bd);
          border-inline-start: 1px solid var(--form_tbl_bd);
  -webkit-border-before: 1px solid var(--form_tbl_bd);
          border-block-start: 1px solid var(--form_tbl_bd);
}
table.contact_table tr th,
table.contact_table tr td {
  padding-inline: var(--form_tbl_pd_in);
  padding-block: var(--form_tbl_pd_b);
  text-align: left;
  line-height: 1.2;
}
table.contact_table tr th {
  display: block;
  -webkit-border-end: 1px solid var(--form_tbl_bd);
          border-inline-end: 1px solid var(--form_tbl_bd);
  -webkit-border-after: 1px solid var(--form_tbl_bd);
          border-block-end: 1px solid var(--form_tbl_bd);
  background: var(--form_th_bg);
}
table.contact_table tr td {
  display: block;
  -webkit-border-end: 1px solid var(--form_tbl_bd);
          border-inline-end: 1px solid var(--form_tbl_bd);
  -webkit-border-after: 1px solid var(--form_tbl_bd);
          border-block-end: 1px solid var(--form_tbl_bd);
  background: var(--form_td_bg);
}
table.contact_table tr td.td_child {
  -webkit-border-after: 1px dotted var(--form_tbl_bd);
          border-block-end: 1px dotted var(--form_tbl_bd);
}
@media (width >= 768px) {
  table.contact_table {
    border-collapse: separate;
  }
  table.contact_table tr th {
    display: table-cell;
    -webkit-border-end: 1px dotted var(--form_tbl_bd);
            border-inline-end: 1px dotted var(--form_tbl_bd);
    inline-size: 28%;
  }
  table.contact_table tr td {
    display: table-cell;
  }
  table.contact_table tr td.td_child {
    -webkit-border-end: 1px dotted var(--form_tbl_bd);
            border-inline-end: 1px dotted var(--form_tbl_bd);
    -webkit-border-after: 1px solid var(--form_tbl_bd);
            border-block-end: 1px solid var(--form_tbl_bd);
    background: var(--form_td_child_bg);
  }
}

input[type=number], input[type=text], input[type=email], input[type=tel], input[type=password] {
  border: 1px solid var(--form_bd);
  background: var(--form_bg);
  padding-block: 0.5em;
  padding-inline: 0.8em;
  margin-block: 0.1em;
}

textarea {
  border: 1px solid var(--form_bd);
  background: var(--form_bg);
  padding-block: 0.5em;
  padding-inline: 0.8em;
  margin-block: 0.1em;
}

select {
  border: 1px solid var(--form_bd);
  background: var(--form_bg);
  padding-block: 0.5em;
  padding-inline: 0.8em;
  margin-block: 0.1em;
}
select:focus {
  border: 1px solid var(--form_bd);
  background: var(--form_bg);
  padding-block: 0.5em;
  padding-inline: 0.8em;
  margin-block: 0.1em;
}

/*入力エリアサイズ*/
.input_10 {
  inline-size: clamp(40px, 10%, 48px);
}

.input_20 {
  inline-size: clamp(80px, 20%, 150px);
}

.input_30 {
  inline-size: clamp(180px, 30%, 240px);
}

.input_50 {
  inline-size: clamp(240px, 50%, 400px);
}

.input_80 {
  inline-size: min(100%, 600px);
}

.input_100 {
  inline-size: 100%;
}

/*送信・戻るボタン*/
ul.submit_btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}
@media (width >= 768px) {
  ul.submit_btn {
    flex-direction: row;
  }
}
ul.submit_btn li.inp_submit01 input {
  border: none;
  padding-block: 1em;
  padding-inline: 1.5em;
  cursor: pointer;
  min-inline-size: 240px;
  transition: 0.2s;
  font-size: 1.2em;
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  color: #fff;
  background: rgba(var(--maincolor), 1);
}
ul.submit_btn li.inp_submit01 input:hover {
  opacity: 0.8;
}
ul.submit_btn li.inp_submit01 input:disabled {
  opacity: 0.8;
  cursor:default;
}
ul.submit_btn li.inp_submit02 input {
  border: none;
  padding-block: 1em;
  padding-inline: 1.5em;
  cursor: pointer;
  min-inline-size: 240px;
  transition: 0.2s;
  font-size: 1.2em;
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  color: rgba(var(--light_tx_color), 1);
  background: rgba(var(--gray), 1);
}
ul.submit_btn li.inp_submit02 input:hover {
  opacity: 0.8;
}

/*attention*/
.attention {
  color: rgba(var(--gray), 1);
  font-size: clamp(1.2rem, 1.0248901903vw, 1.4rem);
}

/*必須*/
.txt_required {
  display: inline-block;
  inline-size: -webkit-max-content;
  inline-size: max-content;
  color: rgba(var(--light_tx_color), 1);
  font-size: clamp(1rem, 0.878477306vw, 1.2rem);
  border-radius: 100px;
  padding-inline: 0.5em;
  line-height: 1.4;
  vertical-align: middle;
  -webkit-margin-end: 0.5em;
          margin-inline-end: 0.5em;
  background: rgba(var(--error_color), 1);
}

/*任意*/
.txt_optional {
  display: inline-block;
  inline-size: -webkit-max-content;
  inline-size: max-content;
  color: rgba(var(--light_tx_color), 1);
  font-size: clamp(1rem, 0.878477306vw, 1.2rem);
  border-radius: 100px;
  padding-inline: 0.5em;
  line-height: 1.4;
  vertical-align: middle;
  -webkit-margin-end: 0.5em;
          margin-inline-end: 0.5em;
  background: rgba(var(--gray), 1);
}

/*===============
エラーメッセージ用*/
.errtop {
  --errtop_size: 15px;
  position: relative;
  margin-block: calc(var(--errtop_size) + 6px);
  margin-inline: 0;
  padding: 0.6em;
  text-align: center;
  font-weight: bold;
  color: rgba(var(--error_color), 1);
  background: rgba(var(--error_color), 0.2);
}
.errtop::after {
  position: absolute;
  left: 50%;
  bottom: -30px;
  inline-size: 0;
  block-size: 0;
  -webkit-margin-start: calc(var(--errtop_size) * -1);
          margin-inline-start: calc(var(--errtop_size) * -1);
  content: "";
  border: solid var(--errtop_size) transparent;
  -webkit-border-before: solid var(--errtop_size) rgba(var(--error_color), 0.2);
          border-block-start: solid var(--errtop_size) rgba(var(--error_color), 0.2);
}

.errmsg span {
  --errmsg_size: 10px;
  position: relative;
  display: inline-block;
  -webkit-margin-before: calc(var(--errmsg_size) + 4px);
          margin-block-start: calc(var(--errmsg_size) + 4px);
  padding-block: 0.4em;
  padding-inline: 0.8em;
  font-weight: bold;
  color: rgba(var(--error_color), 1);
  background: rgba(var(--error_color), 0.2);
}
.errmsg span::after {
  position: absolute;
  left: 1.5em;
  top: calc(var(--errmsg_size) * 2 * -1);
  inline-size: 0;
  block-size: 0;
  content: "";
  border: solid var(--errmsg_size) transparent;
  -webkit-border-after: solid var(--errmsg_size) rgba(var(--error_color), 0.2);
          border-block-end: solid var(--errmsg_size) rgba(var(--error_color), 0.2);
}

/*===============
flatpickr使用時　ない時は削除   */
input[type=text].flatpickr {
  font-family: "Cinzel", serif;
  font-weight: 400;
}

.flatpickr_box {
  position: relative;
  display: inline-block;
}
.flatpickr_box::before {
  font-family: "Material Symbols Sharp";
  content: "\eb21";
  position: absolute;
  right: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-block: auto;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  font-size: 2rem;
  color: rgba(var(--bace_tx_color), 1);
  pointer-events: none;
}

/*===============
 privacy  */
.privacy_box {
  background: rgba(var(--bg_white), 1);
  padding: clamp(16px, 2.3426061493vw, 32px);
  border: 1px solid rgba(var(--bg_color01), 1);
}

.checkprivacy_instance_box {
  background: rgba(var(--bg_color01), 1);
  text-align: start;
  padding-inline: clamp(16px, 2.3426061493vw, 32px);
  padding-block: 16px;
  margin-block: 24px 32px;
}
.checkprivacy_instance_box .checkprivacy input {
  margin-inline: 8px;
  vertical-align: middle;
}