@charset "UTF-8";
.sec-consult {
  background: #fff;
  font-feature-settings: normal;
}
.consult-main {
  position: relative;
  height: 730px;
  background: #FCFCFD;
  overflow: hidden;
}
.consult-photo {
  position: absolute;
  top: -82px;
  left: 46.0938%;
  width: 54.4792%;
  height: 820.724px;
  -webkit-clip-path: polygon(13.3208% 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(13.3208% 0, 100% 0, 100% 100%, 0 100%);
}
.consult-photo-img {
  position: absolute;
  right: -11px;
  top: -90px;
  width: 1494px;
  height: 996px;
  max-width: none;
  object-fit: cover;
}
.consult-photo-accent {
  display: none;
}
.consult-body {
  position: absolute;
  top: 180px;
  left: 20.6771%;
  width: 23.9583%;
  max-width: 460px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.consult-head {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
}
.consult-title {
  margin: -24.144px 0 -17.472px;
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 48px;
  line-height: 1.6;
  color: var(--c-text);
  text-align: center;
  white-space: nowrap;
}
.consult-title-l { font-size: 48px; }
.consult-title-s { font-size: 40px; }
.consult-divider {
  display: block;
  width: 80px;
  height: 1px;
  margin: -0.5px 0;
}
.consult-lead {
  width: 100%;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.72px;
  color: var(--c-text);
}
.consult-br--sp { display: none; }
.consult-cta {
  --consult-s: 1;
  position: relative;
  background: #FAF8F6;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
  padding: 74px 0 62px;
  -webkit-clip-path: inset(-8px 0 0 0);
          clip-path: inset(-8px 0 0 0);
}
.consult-cta-inner {
  width: min(1044px, calc(100% - 48px));
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.consult-btn {
  position: relative;
  display: block;
  width: 45.977%;
  height: calc(134px * var(--consult-s));
}
.consult-btn--tel {
  background: #F8F8F8;
  box-shadow:
    0 calc(4px * var(--consult-s)) calc(4px * var(--consult-s)) rgba(0, 0, 0, 0.25),
    inset 0 0 0 calc(2px * var(--consult-s)) var(--c-primary);
}
.consult-btn--free {
  background: #F0831E;
  box-shadow: 0 calc(4px * var(--consult-s)) calc(4px * var(--consult-s)) rgba(0, 0, 0, 0.25);
}
.consult-btn-deco {
  position: absolute;
  display: block;
  max-width: none;
  transform: rotate(180deg);
}
.consult-btn--tel .consult-btn-deco {
  left: 0.399375%;
  top: calc(2.75px * var(--consult-s));
  width: 99.4125%;
  height: calc(128.25px * var(--consult-s));
}
.consult-btn--free .consult-btn-deco {
  left: 0.565833%;
  top: calc(0.5px * var(--consult-s));
  width: 98.8713%;
  height: calc(133.5px * var(--consult-s));
}
.consult-btn-arrow {
  position: absolute;
  display: block;
  max-width: none;
  top: calc(57.25px * var(--consult-s));
  width: calc(48px * var(--consult-s));
  height: calc(14px * var(--consult-s));
}
.consult-btn--tel  .consult-btn-arrow { left: 85.5208%; }
.consult-btn--free .consult-btn-arrow { left: 86.3542%; }
.consult-btn-label {
  position: absolute;
  left: 50%;
  white-space: nowrap;
  font-family: var(--font-body);
}
.consult-btn--tel .consult-btn-label {
  top: calc(21px * var(--consult-s));
  transform: translateX(calc(-50% + 1px * var(--consult-s)));
  font-weight: 300;
  font-size: calc(20px * var(--consult-s));
  line-height: calc(24px * var(--consult-s));
  letter-spacing: calc(2px * var(--consult-s));
  color: var(--c-text);
}
.consult-btn--free .consult-btn-label {
  top: calc(58px * var(--consult-s));
  transform: translateX(calc(-50% + 0.845px * var(--consult-s)));
  font-weight: 500;
  font-size: calc(24px * var(--consult-s));
  line-height: calc(24px * var(--consult-s));
  letter-spacing: calc(1.69px * var(--consult-s));
  color: #fff;
  text-shadow: 0 calc(2px * var(--consult-s)) calc(4px * var(--consult-s)) rgba(0, 0, 0, 0.25);
}
.consult-tel-num {
  position: absolute;
  left: 25.2083%;
  top: calc(51px * var(--consult-s));
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: calc(39.488px * var(--consult-s));
  line-height: 1;
  color: var(--c-primary);
  white-space: nowrap;
}
.consult-tel-icon {
  position: absolute;
  display: block;
  max-width: none;
  left: 18.75%;
  top: calc(61.664px * var(--consult-s));
  width: calc(23.869px * var(--consult-s));
  height: calc(28.821px * var(--consult-s));
}
.consult-badge {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(-17.25px * var(--consult-s));
  width: calc(311px * var(--consult-s));
  height: calc(44px * var(--consult-s));
  background: #fff;
  border: calc(1px * var(--consult-s)) solid #F0831E;
  border-radius: calc(26px * var(--consult-s));
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.consult-badge-text {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: max(15px, calc(20px * var(--consult-s)));
  line-height: calc(24px * var(--consult-s));
  letter-spacing: calc(1px * var(--consult-s));
  color: #F0831E;
  white-space: nowrap;
}
@media (min-width: 768px) and (max-width: 1279px) {
  .consult-photo-img {
    right: auto;
    left: 0;
    top: -9%;
    width: 100%;
    height: 118%;
    object-fit: cover;
    object-position: 82% 50%;
  }
  .consult-body {
    top: 50%;
    left: 5.5%;
    width: 40%;
    max-width: none;
    transform: translateY(-50%);
  }
  .consult-title {
    font-size: calc(34px + 14 * (100vw - 768px) / 512);
    margin: -0.503em 0 -0.364em;
  }
  .consult-title-l { font-size: 1em; }
  .consult-title-s { font-size: 0.833333em; }
}
@media (min-width: 768px) and (max-width: 899px) {
  .consult-cta { --consult-s: 0.72; }
}
@media (min-width: 900px) and (max-width: 1091px) {
  .consult-cta { --consult-s: 0.88; }
}
@media (max-width: 767px) {
  .consult-main {
    height: 631px;
  }
  .consult-photo-accent {
    display: block;
    position: absolute;
    left: 166px;
    top: 245px;
    width: 298px;
    height: 357.6px;
    max-width: none;
  }
  .consult-photo {
    left: 157px;
    top: 227px;
    width: 298px;
    height: 357.6px;
    -webkit-clip-path: polygon(19.6851% 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(19.6851% 0, 100% 0, 100% 100%, 0 100%);
  }
  .consult-photo-img {
    right: auto;
    left: -386px;
    top: -97px;
    width: 782px;
    height: 521px;
  }
  .consult-body {
    position: static;
    display: block;
    width: auto;
    max-width: none;
    gap: 0;
  }
  .consult-head {
    position: absolute;
    top: 80px;
    left: 24px;
    width: min(342px, calc(100% - 48px));
    gap: 32px;
  }
  .consult-title {
    margin: -14.084px 0 -10.192px;
    font-size: 28px;
  }
  .consult-title-l { font-size: 28px; }
  .consult-title-s { font-size: 24px; }
  .consult-divider { width: 64px; }
  .consult-lead {
    position: absolute;
    top: 256px;
    left: 24px;
    width: 191px;
    font-size: 16px;
    letter-spacing: 0.16px;
    text-align: justify;
  }
  .consult-br--sp { display: inline; }
  .consult-cta {
    --consult-s: 0.644118;
    margin-top: 10px;
    padding: 59.34px 0 57.88px;
  }
  .consult-cta-inner {
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 39.16px;
  }
  .consult-btn {
    width: 309.177px;
  }
  .consult-btn--free { order: -1; }
}
.consult-lead { text-wrap: pretty; }
