/* --- 洗濯機キャッシュバックキャンペーン（CLI3 / BQ_CLI3） --- */

.cli3_site {
  --cli3-disable-button-background: #aeb9c4;
  --cli3-disable-button-border-color: #929fac;
  --cli3-ink: #2b211c;
  --cli3-primary: #064b86;
  --cli3-primary-dark: #03345f;
  --cli3-gold: #c99b42;
  --cli3-line: #d8cbbf;
  --cli3-surface: #faf8f5;
  --cli3-control-radius: 6px;
  color: var(--cli3-ink);
  background: #fff;
  line-height: 1.75;
}

.cli3_site .button_cli3:active {
  background: var(--cli3-primary-dark);
  border-color: var(--cli3-primary-dark);
  transform: translateY(2px);
}

.cli3_site main {
  padding-bottom: 70px;
}

.cli3_site .logo_wrapper_cli3 {
  width: 100%;
  margin: 20px 0 0;
  background: #f3f2f0;
}

.cli3_site .logo_wrapper_cli3 .pc_pic {
  max-width: 860px;
}

.cli3_site article {
  width: min(100% - 60px, 800px);
}

.cli3_site article form,
.cli3_site article .confirm_block,
.cli3_site .readability_padding,
.cli3_site .auth_wrapper {
  padding-right: 0;
  padding-left: 0;
}

.cli3_site .title {
  width: min(100%, 860px);
  margin: 0 auto 28px;
  padding: 0;
  background: transparent;
}

.cli3_site .title_text {
  padding: 11px 30px;
  color: #fff;
  background: var(--cli3-primary);
  font-size: 1.35rem;
  letter-spacing: 0;
}

.cli3_site .text3.title_cli3 {
  margin: 32px 0 20px;
  padding: 8px 12px;
  border: 0;
  color: var(--cli3-ink);
  background: #dce3e5;
  font-size: 1.08rem;
}

.cli3_site dl.form {
  margin: 0;
}

.cli3_site .form_section {
  margin-top: 40px;
}

.cli3_site .form_section:first-of-type {
  margin-top: 0;
}

.cli3_site .form_section_heading {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 20px;
  padding: 0 0 8px;
  border-bottom: 3px solid var(--cli3-primary);
  color: var(--cli3-primary-dark);
  background: transparent;
  font-size: 1.25rem;
  font-weight: bold;
}

.cli3_site .confirm_information_section+.confirm_information_section {
  margin-top: 32px;
}

.cli3_site .confirm_information_heading {
  margin: 0 0 16px;
  padding: 8px 12px;
  border-left: 5px solid var(--cli3-primary);
  color: var(--cli3-ink);
  background: #eef2f3;
  font-size: 1.05rem;
}

.cli3_site form.confirm_information_edit {
  margin-top: 28px;
}

.cli3_site .confirm_receipt_section {
  padding-bottom: 40px;
}

.cli3_site dl.form>dt.form_label {
  box-sizing: border-box;
  width: 100%;
  margin-top: 24px;
  padding: 10px 14px;
  grid-template-columns: 1em 1fr;
  column-gap: 0.45em;
  border-left: 5px solid var(--cli3-primary);
  background: #eef2f3;
  font-size: 1.05rem;
}

.cli3_site .form_label .label_icon,
.cli3_site .auth_label .label_icon {
  color: var(--cli3-primary);
}

.cli3_site dl.form>dd {
  box-sizing: border-box;
  margin-left: 0;
  padding-inline: 44px;
  text-align: left;
}

.cli3_site .email_field {
  padding-top: 16px;
}

.cli3_site .email_field div#email_display {
  margin-top: 0;
}

.cli3_site .field_body_spaced {
  padding-top: 8px;
}

.cli3_site dd.half_w {
  display: grid;
  grid-template-columns: 4em minmax(0, 480px);
  align-items: center;
  gap: 12px;
  margin-right: 0;
}

.cli3_site .subfield_label {
  display: block;
  width: auto;
  margin: 0 0 8px;
  color: #403832;
  font-size: 0.92rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
}

.cli3_site dd.half_w .subfield_label {
  margin-bottom: 0;
}

.cli3_site dd.half_w input {
  width: 100%;
}

.cli3_site dd.address input,
.cli3_site dd.address select {
  margin-top: 0;
}

.cli3_site dl.form input:not([type="checkbox"]):not([type="file"]),
.cli3_site dl.form select,
.cli3_site div#email_display {
  box-sizing: border-box;
  min-height: 44px;
  border: 1px solid #9b8f85;
  border-radius: var(--cli3-control-radius);
  background-color: #fff;
}

.cli3_site dl.form input:focus,
.cli3_site dl.form select:focus {
  border-color: var(--cli3-primary);
  outline: 3px solid rgb(201 155 66 / 30%);
}

.cli3_site div#email_display.input_readonly {
  background-color: #eeeae6;
}

.cli3_site .postcode_fields {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0;
}

.cli3_site dl.form input.postcode {
  height: 44px;
  margin: 0;
  padding: 8px 10px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.cli3_site dl.form input.postcode_prefix {
  width: 5.5em;
}

.cli3_site dl.form input.postcode_suffix {
  width: 6.5em;
}

.cli3_site .postcode_separator {
  flex: 0 0 auto;
  color: #625a54;
  font-weight: bold;
  line-height: 1;
}

.cli3_site .button,
.cli3_site .button_a,
.cli3_site .button_cli3 {
  box-sizing: border-box;
  width: min(100%, 320px);
  min-height: 56px;
  height: auto;
  padding: 12px 24px;
  border: 2px solid var(--cli3-primary-dark);
  border-radius: var(--cli3-control-radius);
  color: #fff;
  background: linear-gradient(#0b619f, var(--cli3-primary));
  box-shadow: 0 3px 0 var(--cli3-primary-dark);
  cursor: pointer;
  line-height: 1.35;
}

.cli3_site .break_link {
  overflow-wrap: break-word;
}

.cli3_site .ui-dialog {
  box-sizing: border-box;
  border: 2px solid var(--cli3-gold);
  border-radius: 4px;
  box-shadow: 0 12px 32px rgb(0 0 0 / 28%);
}

.cli3_site .ui-dialog .ui-dialog-titlebar {
  border: 0;
  border-radius: 0;
  color: #fff;
  background: var(--cli3-primary);
}

.cli3_site .ui-dialog .ui-dialog-content {
  padding: 20px;
  line-height: 1.75;
}

.cli3_site .ui-dialog .ui-dialog-buttonpane {
  margin-top: 0;
  border-top: 1px solid var(--cli3-line);
  background: var(--cli3-surface);
}

.cli3_site .ui-widget-overlay {
  background: #1d2935;
  opacity: 0.55;
}

.cli3_site .button:hover,
.cli3_site .button_a:hover {
  background: var(--cli3-primary-dark);
}

.cli3_site .button:focus-visible,
.cli3_site .button_a:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px #fff,
    0 0 0 6px var(--cli3-gold),
    0 3px 0 var(--cli3-primary-dark);
}

.cli3_site button.button_cli3[type="button"][disabled] {
  border-color: var(--cli3-disable-button-border-color);
  color: #fff;
  background: var(--cli3-disable-button-background);
  box-shadow: none;
  cursor: not-allowed;
}

.cli3_site .core_message {
  padding: 16px 18px;
  border-top: 1px solid #c8d1d4;
  border-bottom: 1px solid #c8d1d4;
  background: #f5f7f7;
}

.cli3_site .mail_notice,
.cli3_site .confirm_incomplete_notice {
  box-sizing: border-box;
  border: 2px solid #a96100;
  border-left-width: 6px;
  background: #fff7df;
}

.cli3_site .mail_notice {
  margin: 24px 0;
  padding: 18px 20px;
  color: #3f2c14;
  text-align: left;
}

.cli3_site .mail_notice_compact {
  margin-top: 20px;
}

.cli3_site .mail_notice_complete {
  margin-top: 0;
  margin-bottom: 28px;
}

.cli3_site .mail_notice_heading {
  margin: 0 0 12px;
  color: #633c00;
  font-size: 1.15rem;
  font-weight: bold;
  line-height: 1.5;
}

.cli3_site .mail_notice p {
  margin: 0;
}

.cli3_site .mail_notice p+p {
  margin-top: 12px;
}

.cli3_site .mail_notice_steps {
  margin: 12px 0;
  padding-left: 1.5em;
}

.cli3_site .mail_notice_steps li+li {
  margin-top: 6px;
}

.cli3_site .mail_address {
  font-weight: bold;
  overflow-wrap: anywhere;
}

.cli3_site .mail_domain {
  display: inline-block;
  white-space: nowrap;
}

.cli3_site .mail_notice_emphasis {
  padding: 10px 12px;
  border-left: 4px solid #a96100;
  background: #fff;
  font-weight: bold;
}

.cli3_site .complete_section {
  margin-top: 42px;
}

.cli3_site .complete_section_heading {
  margin: 0 0 20px;
  padding-bottom: 8px;
  border-bottom: 3px solid var(--cli3-primary);
  color: var(--cli3-primary-dark);
  font-size: 1.25rem;
  line-height: 1.5;
}

.cli3_site .complete_flow {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: complete-step;
}

.cli3_site .complete_flow>li {
  position: relative;
  padding-left: 58px;
  counter-increment: complete-step;
}

.cli3_site .complete_flow>li+li {
  margin-top: 30px;
}

.cli3_site .complete_flow>li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #fff;
  background: var(--cli3-primary);
  font-weight: bold;
  line-height: 1;
  content: counter(complete-step);
  place-items: center;
}

.cli3_site .complete_flow h3 {
  margin: 0 0 8px;
  color: var(--cli3-ink);
  font-size: 1.1rem;
  line-height: 1.55;
}

.cli3_site .complete_flow p,
.cli3_site .application_summary_notice {
  margin: 0;
}

.cli3_site .complete_supporting_text {
  margin-top: 8px !important;
  color: #544b46;
  font-size: 0.94rem;
}

.cli3_site .complete_my_appliance {
  margin: 30px 0 0;
  padding: 16px 18px;
  border-left: 5px solid #71838d;
  background: #f1f4f5;
}

.cli3_site .complete_notes ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cli3_site .complete_notes li {
  position: relative;
  padding-left: 1.4em;
}

.cli3_site .complete_notes li::before {
  position: absolute;
  left: 0;
  content: "●";
}

.cli3_site .complete_notes li+li {
  margin-top: 10px;
}

.cli3_site .application_summary {
  margin-top: 48px;
  padding-bottom: 20px;
}

.cli3_site .application_summary_notice {
  margin-bottom: 18px;
}

.cli3_site .application_summary_list {
  margin: 0;
  border-top: 1px solid var(--cli3-line);
  border-right: 1px solid var(--cli3-line);
  border-left: 1px solid var(--cli3-line);
}

.cli3_site .application_summary_list>div {
  display: grid;
  grid-template-columns: minmax(10em, 34%) minmax(0, 1fr);
  border-bottom: 1px solid var(--cli3-line);
}

.cli3_site .application_summary_list dt,
.cli3_site .application_summary_list dd {
  box-sizing: border-box;
  margin: 0;
  padding: 14px 16px;
  overflow-wrap: anywhere;
}

.cli3_site .application_summary_list dt {
  background: #eee8e2;
  font-weight: bold;
}

.cli3_site .application_summary_list dd {
  border-left: 1px solid var(--cli3-line);
}

.cli3_site .confirm_incomplete_notice {
  margin: 0 0 18px;
  padding: 14px 16px;
  color: #633c00;
  font-size: 1.08rem;
  font-weight: bold;
  line-height: 1.6;
}

.cli3_site .confirm_submit_error {
  box-sizing: border-box;
  margin: 18px 0 24px;
  padding: 16px 18px;
  border: 2px solid #b42318;
  border-left-width: 8px;
  color: #7a1b14;
  background: #fff0ee;
  text-align: left;
}

.cli3_site .confirm_submit_error_heading {
  margin: 0 0 8px;
  color: #7a1b14;
  font-size: 1.12rem;
  line-height: 1.5;
}

.cli3_site .confirm_submit_error p {
  margin: 0;
  color: inherit;
  font-weight: bold;
  line-height: 1.6;
}

.cli3_site .confirm_submit_error p+p {
  margin-top: 6px;
}

.cli3_site .confirm_course,
.cli3_site .check,
.cli3_site p.dotted {
  box-sizing: border-box;
  border: 1px solid var(--cli3-line);
  background: var(--cli3-surface);
}

.cli3_site div.confirm_course {
  padding: 16px;
  border-left: 6px solid var(--cli3-primary);
}

.cli3_site .confirm_course .text8 {
  font-size: 1.12rem;
}

.cli3_site .check {
  font-size: 1rem;
  line-height: 1.6;
  padding: 14px;
}

.cli3_site .check_inner_split {
  gap: 0.75rem;
  line-height: 1.65;
}

.cli3_site #check1,
.cli3_site #check2 {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 0.2em;
}

.cli3_site .a_information {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.6;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.cli3_site table {
  width: 100%;
  border: 1px solid var(--cli3-line);
}

.cli3_site th {
  border-color: var(--cli3-line);
  background: #eee8e2;
  font-weight: bold;
}

.cli3_site td {
  border-color: var(--cli3-line);
  word-break: break-word;
}

.cli3_site .photo_area_cli3 {
  border: 4px solid var(--cli3-primary-dark);
  background: url(../pic/camera.png) no-repeat center / 92%, var(--cli3-primary);
}

.cli3_site footer {
  border-top: 1px solid #dce3e5;
  background: #fff;
}

.cli3_site .foot_all {
  width: min(100% - 60px, 860px);
  margin: 0 auto;
}

.cli3_site .footer_top {
  padding: 60px 0 70px;
}

.cli3_site .footer_title {
  margin-bottom: 20px;
  padding: 5px;
  color: #222;
  background: #dce3e5;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.cli3_site .footer_sub_title {
  margin: 0;
  font-size: 1.16rem;
  line-height: 1.5;
}

.cli3_site .foot_mid {
  margin: 20px 10px 0;
  padding-top: 7px;
  line-height: 1.5;
}

.cli3_site .foot_mid.inquiry {
  font-size: 1.31rem;
  font-weight: 700;
}

.cli3_site .foot_mid.inquiry a {
  text-decoration: none;
}

.cli3_site .foot_mid.text5 {
  margin-top: 0;
  font-size: 0.93rem;
}

.cli3_site .sharp_corporation {
  font-size: 0.75rem;
  line-height: 1.2;
}

@media only screen and (max-width: 750px) {
  .cli3_site .logo_wrapper_cli3 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .cli3_site article {
    width: min(100% - 30px, 800px);
  }

  .cli3_site .title {
    margin-bottom: 22px;
  }

  .cli3_site .title_text {
    padding: 9px 15px;
    font-size: 1.15rem;
  }

  .cli3_site dl.form>dd {
    padding-inline: 44px;
  }

  .cli3_site .form_section {
    margin-top: 34px;
  }

  .cli3_site .form_section_heading {
    margin-bottom: 16px;
    padding-bottom: 7px;
    font-size: 1.16rem;
  }

  .cli3_site .mail_notice {
    padding: 16px 14px;
  }

  .cli3_site .mail_notice_heading {
    font-size: 1.08rem;
  }

  .cli3_site .complete_section {
    margin-top: 34px;
  }

  .cli3_site .complete_section_heading {
    margin-bottom: 16px;
    font-size: 1.16rem;
  }

  .cli3_site .complete_flow>li {
    padding-left: 48px;
  }

  .cli3_site .complete_flow>li::before {
    width: 34px;
    height: 34px;
  }

  .cli3_site .complete_flow h3 {
    font-size: 1.03rem;
  }

  .cli3_site .complete_my_appliance {
    padding: 14px;
  }

  .cli3_site .application_summary {
    margin-top: 40px;
  }

  .cli3_site .application_summary_list>div {
    display: block;
  }

  .cli3_site .application_summary_list dt,
  .cli3_site .application_summary_list dd {
    padding: 10px 12px;
  }

  .cli3_site .application_summary_list dd {
    border-top: 1px solid var(--cli3-line);
    border-left: 0;
  }

  .cli3_site dd.half_w {
    grid-template-columns: 4em minmax(0, 1fr);
    gap: 8px;
  }

  .cli3_site #last_name,
  .cli3_site #first_name,
  .cli3_site #last_name_kana,
  .cli3_site #first_name_kana {
    width: 100%;
  }

  .cli3_site dl.form input.postcode_prefix {
    width: min(5.5em, calc(50% - 16px));
  }

  .cli3_site dl.form input.postcode_suffix {
    width: min(6.5em, calc(50% - 16px));
  }

  .cli3_site th,
  .cli3_site td {
    display: block;
    box-sizing: border-box;
    width: 100%;
  }

  .cli3_site th {
    border-bottom: 0;
  }

  .cli3_site .foot_all {
    width: calc(100% - 30px);
  }

  .cli3_site .sharp_corporation {
    font-size: 0.6875rem;
  }
}