.contact_250915 {
  --point: #FF5F68;
  --color: #444;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.contact {
  position: relative;
  width: 100%;
  color: #fff;
  display: flex;
  z-index: 1;
}
.contact header {
  letter-spacing: 0;
  display: flex;
  flex-direction: column;
}
.contact header h2 {
  font-weight: 700;
  line-height: 140%;
  letter-spacing: -1px;
  color: inherit;
}
.contact header h2 span {
  position: relative;
  width: 140px;
  height: 56px;
  margin-bottom: 11px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -1px;
  line-height: 1;
  border-radius: 50%;
  background-color: var(--point); 
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact header h2 span::after {
  position: absolute;
  bottom: -2px;
  left: 19px;
  width: 15px;
  height: 13px;
  mask-image: url("data:image/svg+xml,%3Csvg width='15' height='13' viewBox='0 0 15 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.76795 12C6.53775 13.3333 8.46225 13.3333 9.23205 12L13.9952 3.75C14.765 2.41667 13.8027 0.75 12.2631 0.75H2.73686C1.19726 0.75 0.235009 2.41667 1.00481 3.75L5.76795 12Z' fill='%23FF5F68'/%3E%3C/svg%3E%0A");
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: var(--point); 
  display: block;
  content: '';
}
.contact .point_area,
.contact .point_area li {
  position: relative;
  list-style: none;
}
.contact .point_area li {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.7;
  color: var(--color);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.contact .point_area li > img {
  width: 80px;
}
/* leadform */
.contact .contact-box {
  width: 100%;
}
.contact .form-box {
  width: 100%;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.contact .leadforms_box {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.contact .leadforms_box .wpforms-container {
  margin: 0 auto !important;
}
.contact .leadforms_box .wpforms-submit-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-top: 0 !important;
  display: flex;
  align-items: center;
}
.contact .check_small > label {
  font-size: inherit !important;
}
.contact .check_small input:checked + label::after,
.contact .check_round input:checked + label::after {
  background-color: var(--point);
}
.contact .check_round input:checked + label::after {
  border-color: var(--point);
}
/* .contact [id*="leadAgreePravicy"] ~ label > span {
  color: var(--point);
} */
.contact div.wpforms-container-full .wpforms-form button[type=submit] {
  letter-spacing: 0;
  padding: 0 !important;
}
.contact div.wpforms-container-full .wpforms-form button[type=submit]:not(:disabled),
.contact div.wpforms-container-full .wpforms-form button[type=submit]:not(:disabled):hover {
  background: var(--point) !important;
}
.contact .wpforms-container .wpforms-required-label {
  color: var(--point);
}
.contact div.wpforms-container-full .wpforms-form .wpforms-field-label {
  color: var(--color);
}
.contact ._cautions_box {
  color: var(--point);
  letter-spacing: 0;
  line-height: 170%;
}
.contact ._cautions_box {
  position: absolute;
  width: fit-content;
  font-size: 12px;
  font-weight: 400;
  text-align: center;
  background-color: #FFF2F5;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.contact ._cautions_box::after {
  position: absolute;
  bottom: -8px;
  left: 40px;
  width: 13px;
  height: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8' fill='none'%3E%3Cpath d='M5.7 6.93333C6.1 7.46667 6.9 7.46667 7.3 6.93333L12.5 0H0.5L5.7 6.93333Z' fill='%23FFF2F5'/%3E%3C/svg%3E");
  display: block;
  transform: translateX(-50%);
  content: '';
}
.contact input[type="text"],
.contact input[type="number"],
.contact input[type="email"] {
  border-radius: 0 !important;
}
.contact .div.wpforms-container-full .wpforms-form label.wpforms-error, 
.contact div.wpforms-container-full .wpforms-form em.wpforms-error {
  margin-top: 0 !important;
}

/* desktop */
@media (min-width: 961px) {
  .hidden_pc { display: none; }
  .hidden_mo { display: block; }

  .contact_250915 { padding: 100px var(--menu_padding) 235px; background: url('/wp-content/themes/fastfive/assets/images/contact/bg_contact_250915.jpg') center no-repeat;  background-size: cover; }
  .contact { max-width: 1240px; align-items: flex-start; }
  .contact header { width: 49.52%; padding-right: 30px; flex: 0 0 auto; }
  .contact header h2 { font-size: 40px; }

  .contact .point_area { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 16px; }
  .contact .point_area li { width: min(12.59vw, 136px); height: min(12.59vw, 136px); color: #444; border-radius: 12px; background: #FFEDEC; gap: 8px; }

  .contact .contact-box { max-width: 626px; }
  .contact .leadforms_box { max-width: 538px; padding: 40px 40px 0; }
  .contact .form-box { position: relative; padding-bottom: 56px; border-radius: 24px; }
  .contact ._cautions_box { left: 40px; bottom: 68px; min-width: 353px; height: 32px; padding: 0 10px; border-radius: 8px; }

  .contact .leadforms_box .wpforms-field-container { padding: 0 0 96px !important; }
  .contact .leadforms_box .wpforms-submit-container { max-width: 538px; padding: 0 !important; }
  .contact .lead_agree_form { margin-top: 56px !important; }
}

/* mobile */
@media (max-width: 960px) {
  .hidden_pc {display: block;}
  .hidden_mo {display: none;}

  .contact_250915 { padding: 0; background: #f1f4f8; }
  .contact_250915 ._moBG { position: absolute; width: 100%; max-height: 287px; display: block; object-fit: cover; object-position: center; }
  .contact { max-width: 375px; padding: 50px var(--menu_padding) 100px; background-size: 375px auto; flex-direction: column; }
  .contact header { text-align: center; align-items: center; }
  .contact header h2 { font-size: 28px; order: 1; }
  .contact header h2 span { width: 117px; height: 46px; margin: 0 auto 24px; font-size: 16px; font-weight: 500; }
  .contact header h2 span::after { position: absolute; bottom: -7px; left: calc(50% - 6px); width: 12px; height: 11px;  mask-image: url("data:image/svg+xml,%3Csvg width='12' height='11' viewBox='0 0 12 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.47329 9.5C5.11479 10.6111 6.71854 10.6111 7.36004 9.5L11.3293 2.625C11.9708 1.51389 11.169 0.125 9.88595 0.125H1.94738C0.664383 0.125 -0.137493 1.51389 0.504008 2.625L4.47329 9.5Z' fill='%23FF5F68'/%3E%3C/svg%3E%0A"); mask-size: contain; mask-repeat: no-repeat; background-color: inherit; display: block;  content: ''; }
  
  .contact .point_area { width: 100%; margin-top: 40px; padding: 32px 30px; background-color: #FFEDEC; border-radius: 12px 12px 0 0; display: grid; grid-template-columns: repeat(3, auto); justify-content: center; gap: 32px; order: 4; }
  .contact .point_area li { font-size: 12px; padding: 0; gap: 12px; }
  .contact .point_area li + li::before { position: absolute; left: -16px; width: 1px; height: 73px; background: rgba(255, 91, 91, 0.30); display: inline-block; content: ''; }
  .contact .point_area li > img { width: 60px; }

  .contact .form-box { padding-bottom: 40px; }
  .contact .leadforms_box .wpforms-field-container { padding-bottom: 116px !important; }
  .contact div.wpforms-container-full .wpforms-form .wpforms-field-label { font-size: 16px !important; }
  .contact div.wpforms-container-full .wpforms-form button[type=submit] { font-size: 16px !important; }
  .contact .check_small > label { font-size: 12px !important; }
  .contact ._cautions_box { left: 30px; bottom: 68px; min-width: 202px; padding: 6px 10px; border-radius: 8px; text-align: left; }
}