@charset "UTF-8";
.lw_content_wrap.page .paid-block-contact-2 {
  margin-left: calc((100% - 100vw) / 2);
  width: 100vw;
}

.lw_content_wrap.page:has(.first_content + .paid-block-contact-2) .first_content {
  display: none;
}

.lw_content_wrap.page:has(.paid-block-contact-2 + .last_content) .last_content {
  display: none;
}

.paid-block-contact-2 {
  position: relative;
  z-index: 10;
  padding: 80px 24px;
  container-type: inline-size;
}

@container (max-width: 800px) {
  .paid-block-contact-2 {
    padding: 64px 24px;
  }
}

@container (max-width: 600px) {
  .paid-block-contact-2 {
    padding: 56px 24px;
  }
}

.paid-block-contact-2 .bg_filter {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.paid-block-contact-2 .bg_filter .bg_filter_inner {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  content: "";
  opacity: 0.5;
}

.paid-block-contact-2 .bg_filter img {
  position: relative;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.paid-block-contact-2 .this_wrap {
  max-width: 1080px;
  margin: 0 auto;
}

.paid-block-contact-2 .this_wrap .title span {
  display: block;
  text-align: center;
  color: #fff;
}

.paid-block-contact-2 .this_wrap .title .main {
  font-size: 48px;
  line-height: 1.4em;
  letter-spacing: 0.08em;
  font-weight: 600;
}

@container (max-width: 900px) {
  .paid-block-contact-2 .this_wrap .title .main {
    font-size: 40px;
  }
}

@container (max-width: 800px) {
  .paid-block-contact-2 .this_wrap .title .main {
    font-size: 36px;
  }
}

@container (max-width: 500px) {
  .paid-block-contact-2 .this_wrap .title .main {
    font-size: 28px;
  }
}

.paid-block-contact-2 .this_wrap .title .sub {
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.6em;
  letter-spacing: 0.08em;
  font-weight: 500;
}

@container (max-width: 600px) {
  .paid-block-contact-2 .this_wrap .title .sub {
    font-size: 15px;
  }
}

.paid-block-contact-2 .this_wrap p.description {
  margin-top: 2.5em;
  line-height: 2;
  color: #fff;
  text-align: center;
  font-size: 16px;
}

@container (max-width: 600px) {
  .paid-block-contact-2 .this_wrap p.description {
    font-size: 15px;
  }
}

.paid-block-contact-2 .this_wrap p.description.pc_left {
  text-align: left;
}

.paid-block-contact-2 .this_wrap p.description.pc_center {
  text-align: center;
}

@container (max-width: 600px) {
  .paid-block-contact-2 .this_wrap p.description.sp_left {
    text-align: left;
  }
  .paid-block-contact-2 .this_wrap p.description.sp_center {
    text-align: center;
  }
}

.paid-block-contact-2 .lw_mail_form {
  margin-top: 24px;
}

.paid-block-contact-2 .lw_mail_form .form_group {
  position: relative;
  padding: 24px 0;
  color: #fff;
  grid-template-columns: 240px calc(100% - 240px);
}

@container (max-width: 800px) {
  .paid-block-contact-2 .lw_mail_form .form_group {
    padding: 16px 0;
    grid-template-columns: 100%;
  }
}

.paid-block-contact-2 .lw_mail_form .form_group + .form_group {
  margin-top: 0;
}

.paid-block-contact-2 .lw_mail_form .form_group .label_in label {
  justify-content: start;
  align-items: center;
  align-content: center;
  gap: 12px;
  color: #fff;
}

.paid-block-contact-2 .lw_mail_form .form_group .label_in label .required {
  margin-top: -2px;
  padding: 6px;
  font-size: 12px;
  border-radius: 0;
  line-height: 1;
  font-weight: 500;
}

.paid-block-contact-2 .lw_mail_form .form_group .form_in {
  padding-left: 40px;
}

@container (max-width: 800px) {
  .paid-block-contact-2 .lw_mail_form .form_group .form_in {
    padding-left: 0;
  }
}

.paid-block-contact-2 .lw_mail_form .form_group input[type="text"],
.paid-block-contact-2 .lw_mail_form .form_group input[type="email"],
.paid-block-contact-2 .lw_mail_form .form_group input[type="tel"],
.paid-block-contact-2 .lw_mail_form .form_group input[type="url"],
.paid-block-contact-2 .lw_mail_form .form_group input[type="password"],
.paid-block-contact-2 .lw_mail_form .form_group textarea {
  padding: 0.8em 0.8em 0.6em 0.8em;
  line-height: 1.8em;
  width: 100%;
  background: #f6f6f6;
  border-radius: 0;
  border: none;
}

@container (max-width: 800px) {
  .paid-block-contact-2 .lw_mail_form .form_group input[type="text"],
  .paid-block-contact-2 .lw_mail_form .form_group input[type="email"],
  .paid-block-contact-2 .lw_mail_form .form_group input[type="tel"],
  .paid-block-contact-2 .lw_mail_form .form_group input[type="url"],
  .paid-block-contact-2 .lw_mail_form .form_group input[type="password"],
  .paid-block-contact-2 .lw_mail_form .form_group textarea {
    font-size: var(--font-size-post-df_tb);
  }
}

@container (max-width:600px) {
  .paid-block-contact-2 .lw_mail_form .form_group input[type="text"],
  .paid-block-contact-2 .lw_mail_form .form_group input[type="email"],
  .paid-block-contact-2 .lw_mail_form .form_group input[type="tel"],
  .paid-block-contact-2 .lw_mail_form .form_group input[type="url"],
  .paid-block-contact-2 .lw_mail_form .form_group input[type="password"],
  .paid-block-contact-2 .lw_mail_form .form_group textarea {
    font-size: var(--font-size-post-df_sp);
  }
}

.paid-block-contact-2 .lw_mail_form .form_group input[type="text"]:focus,
.paid-block-contact-2 .lw_mail_form .form_group input[type="email"]:focus,
.paid-block-contact-2 .lw_mail_form .form_group input[type="tel"]:focus,
.paid-block-contact-2 .lw_mail_form .form_group input[type="url"]:focus,
.paid-block-contact-2 .lw_mail_form .form_group input[type="password"]:focus,
.paid-block-contact-2 .lw_mail_form .form_group textarea:focus {
  border-color: var(--color-main);
  outline-color: var(--color-main);
}

.paid-block-contact-2 .lw_mail_form .form_group input[type="text"]::placeholder,
.paid-block-contact-2 .lw_mail_form .form_group input[type="email"]::placeholder,
.paid-block-contact-2 .lw_mail_form .form_group input[type="tel"]::placeholder,
.paid-block-contact-2 .lw_mail_form .form_group input[type="url"]::placeholder,
.paid-block-contact-2 .lw_mail_form .form_group input[type="password"]::placeholder,
.paid-block-contact-2 .lw_mail_form .form_group textarea::placeholder {
  color: #c6c6c6;
}

.paid-block-contact-2 .lw_mail_form .form_group select {
  padding: 1em 0.8em 0.8em 0.8em;
  border-radius: 0;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l256 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z' fill='%234e4e4e'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px top 40%;
  background-size: 16px 20px;
}

@container (max-width: 800px) {
  .paid-block-contact-2 .lw_mail_form .form_group select {
    background-position: right 8px top 34%;
  }
}

.paid-block-contact-2 .lw_mail_form .form_group .radio_in {
  display: grid;
  gap: 20px;
}

.paid-block-contact-2 .lw_mail_form .form_group .radio_in label {
  cursor: pointer;
}

.paid-block-contact-2 .lw_mail_form .form_group .radio_in label + label {
  margin-top: 0 !important;
  color: #fff;
}

.paid-block-contact-2 .lw_mail_form .form_group .radio_in label input {
  position: relative;
  margin-top: -2px;
  width: 18px;
  height: 18px;
  accent-color: var(--color-main);
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  outline: none;
  background: #fff;
  border-radius: 50%;
}

.paid-block-contact-2 .lw_mail_form .form_group .radio_in label input:checked::before {
  position: absolute;
  top: 2px;
  left: 2px;
  content: "";
  width: 14px;
  height: 14px;
  background-color: #0377b1;
  /* 選択色 */
  border-radius: 50%;
}

.paid-block-contact-2 .lw_mail_form .checkbox_in label,
.paid-block-contact-2 .lw_mail_form .consent_check_wrap label {
  cursor: pointer;
}

.paid-block-contact-2 .lw_mail_form .checkbox_in input[type="checkbox"],
.paid-block-contact-2 .lw_mail_form .consent_check_wrap input[type="checkbox"] {
  margin-top: -2px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 18px;
  height: 18px;
  background-color: #f0f0f0;
  /* 未選択時の背景 */
  cursor: pointer;
  position: relative;
  outline: none;
  border: none;
  /* ← ボーダーを完全に消す */
}

.paid-block-contact-2 .lw_mail_form .checkbox_in input[type="checkbox"]:checked::after,
.paid-block-contact-2 .lw_mail_form .consent_check_wrap input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 12px;
  height: 12px;
  background-color: #007cba;
  /* チェック色 */
}

.paid-block-contact-2 .consent_check_wrap {
  margin-top: 16px;
  color: #fff;
}

.paid-block-contact-2 .consent_check_wrap p a {
  color: #fff;
}

@container (max-width:600px) {
  .paid-block-contact-2 .consent_set {
    margin-top: 0 !important;
  }
}

.paid-block-contact-2 .consent_set .consent_text_wrap {
  border-radius: 0;
  border: none !important;
  color: #000;
}
