@charset "UTF-8";
/*  共通 */
body {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
}

p {
  letter-spacing: 0.12rem;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  p {
    font-size: 16px;
  }
}

.l-content {
  margin-bottom: 0 !important;
}

.c-widget__title {
  display: none;
}

.p-spMenu__bottom a {
  width: 100%;
}

.section {
  padding: 0 20px;
}
@media (max-width: 767px) {
  .section {
    padding: 0 16px;
  }
}

.mt-48 {
  margin-top: 48px !important;
}

/* インナー幅 */
.w-1100 {
  max-width: 1100px !important;
  width: 100%;
  margin: 0 auto;
}

.w-980 {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
}

.w-780 {
  max-width: 780px;
  width: 100%;
  margin: 0 auto;
}

/* タイトル */
/* セクション全体の余白 */
@media (max-width: 767px) {
  .sec-title {
    margin-bottom: 42px;
  }
}
.sec-title p {
  margin-top: 32px;
}

/* サブタイトル */
.wp-block-group.sec-title p:first-child {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 0.08em;
  position: relative;
}

/* サブタイトルの下線 */
/* メイン見出し */
.wp-block-group.sec-title .is-style-section_ttl {
  margin: 0;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.06em;
  font-size: clamp(24px, 4.2vw, 32px);
}

.sec-title__center {
  text-align: center;
}
.sec-title__center p:first-child::after {
  margin: 0 auto;
}

/* ボタン */
/* ===== 共通 ===== */
.c-btn .swell-block-button__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 260px;
  padding: 16px 32px;
  border-radius: 5px;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.06em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .c-btn .swell-block-button__link {
    font-size: 16px;
  }
}
.c-btn .swell-block-button__link:hover {
  opacity: 0.8;
}

/* ===== 塗り ===== */
.c-btn--fill {
  max-width: 260px;
  width: 100%;
  margin-top: 46px;
}

.c-btn--fill .swell-block-button__link {
  background: #FFE68B;
  background: linear-gradient(135deg, rgb(255, 230, 139) 0%, rgb(239, 200, 114) 50%, rgb(255, 230, 139) 100%);
}

/* ===== 白枠 ===== */
.c-btn--line .swell-block-button__link {
  background: #fff;
  color: #2A2A2A;
  border: 2px solid linear-gradient(135deg, rgb(255, 230, 139) 0%, rgb(239, 200, 114) 50%, rgb(255, 230, 139) 100%);
}
@media (max-width: 767px) {
  .c-btn--line .swell-block-button__link {
    margin: 0 auto;
  }
}

.c-btn__cta {
  max-width: 280px;
  width: 100%;
  margin: 0 auto;
}
.c-btn__cta .swell-block-button__link {
  background: #fff;
  color: #2A2A2A;
  border: 2px solid linear-gradient(135deg, rgb(255, 230, 139) 0%, rgb(239, 200, 114) 50%, rgb(255, 230, 139) 100%);
  max-width: 280px;
}

/* 下層ページfv */
.c-pageTitle {
  text-align: center;
  font-size: 42px;
}
@media (max-width: 767px) {
  .c-pageTitle {
    font-size: 28px;
  }
}

.l-topTitleArea {
  min-height: 280px;
  padding-top: 6em;
}

/* フッター */
/* 404ページ */
.error-contents {
  padding-bottom: 80px;
}

.top-btn {
  width: 32rem;
}
@media (max-width: 767px) {
  .top-btn {
    width: 100%;
  }
}

.error404 .p-breadcrumb {
  display: none;
}

.c-ttl404 {
  font-size: 24px;
  padding-top: 2em;
  text-align: center;
}
@media (max-width: 767px) {
  .c-ttl404 {
    font-size: 20px;
  }
}

.l-header__inner,
.l-fixHeader__inner {
  max-width: 100%;
  padding-right: 0;
}

.l-header__gnav,
.l-fixHeader__gnav {
  margin-right: 210px;
}

.header-cta-wrap {
  position: absolute;
  width: 186px;
  height: 50px;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.header-cta {
  position: relative;
  background: #FFE68B;
  background: linear-gradient(135deg, rgb(255, 230, 139) 0%, rgb(239, 200, 114) 50%, rgb(255, 230, 139) 100%);
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #2A2A2A;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 18px;
  font-weight: 700;
  border-radius: 30px;
  padding-left: 24px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header-cta::after {
  content: "";
  position: absolute;
  left: 22px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: url(../img/mail.svg) no-repeat center center/contain;
}
.header-cta:hover {
  background: #fff;
  border: 2px solid #EFC872;
  color: #2A2A2A;
  cursor: pointer;
}

.c-gnav > .menu-item > a .ttl {
  font-size: 16px;
}

.l-footer .w-footer__box {
  padding: 0;
}
.l-footer__foot {
  display: none;
}
.l-footer .l-footer__widgetArea {
  padding: 0;
}
.l-footer .l-footer__widgetArea .l-container {
  margin-left: 0;
  margin-right: 0;
  padding: 0;
}
.l-footer .c-footer__body {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 70px 20px 40px;
  color: #fff;
}
@media (max-width: 767px) {
  .l-footer .c-footer__body {
    padding: 50px 16px 40px;
  }
}
.l-footer .c-footer__body h2 {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .l-footer .c-footer__body h2 {
    font-size: 24px;
    margin-bottom: 16px;
  }
}
@media (max-width: 959px) {
  .l-footer .c-footer__body .c-footer__items-left {
    margin-bottom: 32px;
  }
}
@media (max-width: 767px) {
  .l-footer .c-footer__body .c-footer__items-left p {
    margin-bottom: 10px;
  }
}
.l-footer .c-footer__body .footer-sns {
  font-size: 32px;
  line-height: 1;
}
.l-footer .c-footer__body .swell-block-columns__inner {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 959px) {
  .l-footer .c-footer__body .swell-block-columns__inner {
    row-gap: 12px;
  }
}
.l-footer .c-footer__items ul {
  gap: 20px;
}
@media (max-width: 959px) {
  .l-footer .c-footer__items ul {
    gap: 12px;
  }
}
.l-footer .c-footer__items .swell-block-linkList__link {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.l-footer .c-footer__items .swell-block-linkList__link:hover {
  opacity: 0.8;
  cursor: pointer;
}

/* キャッチ */
#main_visual .p-mainVisual__slideTitle {
  color: #fff !important;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.08em;
  font-size: clamp(28px, 4.2vw, 46px);
  text-shadow: none !important;
  /* 影を消したい場合 */
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  font-style: normal;
}

/* サブコピー */
#main_visual .p-mainVisual__slideText {
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(16px, 1.8vw, 22px);
  margin-top: 18px;
  text-align: center;
  line-height: 1;
}

/* ボタンの外枠（中央寄せ） */
#main_visual .p-mainVisual__slideBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
}

/* mvボタン */
#main_visual a.c-mvBtn__btn {
  position: relative;
  width: 280px;
  padding: 17px 36px 17px 61px;
  font-size: 18px;
  font-weight: 700;
  position: relative;
  background: #FFE68B;
  background: linear-gradient(135deg, rgb(255, 230, 139) 0%, rgb(239, 200, 114) 50%, rgb(255, 230, 139) 100%);
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 30px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#main_visual a.c-mvBtn__btn::after {
  content: "";
  position: absolute;
  left: 32px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url(../img/mail.svg) no-repeat center center/contain;
}
#main_visual a.c-mvBtn__btn:hover {
  background: #fff;
  border: 2px solid #EFC872;
  color: #2A2A2A;
  cursor: pointer;
}

.top #content {
  padding-top: 0;
}

/* Works
-------------------------------------------------- */
.top-works {
  position: relative;
}
.top-works__content {
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
.top-works__content p {
  margin-top: 26px;
}
.top-works__contents-items {
  padding-top: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .top-works__contents-items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 18px;
  }
}
.top-works__contents-item {
  width: calc(100% - 32px);
  background: #eee;
  padding: 22px 16px;
}
.top-works__contents-item:hover .works-detail > img {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}
@media (max-width: 767px) {
  .top-works__contents-item {
    width: 100%;
  }
}
.top-works__contents-item .works-title h3 {
  font-size: 20px;
  font-weight: 700;
  padding: 0;
  margin-bottom: 8px;
  color: #2A2A2A;
}
@media (max-width: 767px) {
  .top-works__contents-item .works-title h3 {
    font-size: 18px;
  }
}
.top-works__contents-item .works-body {
  margin-top: 24px;
}
.top-works__contents-item .works-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
  margin-top: 12px;
}
.top-works__contents-item .works-detail p {
  font-size: 14px;
  color: #2A2A2A;
  font-family: "Noto Sans JP", sans-serif;
  border: solid 1px #2A2A2A;
  padding: 2px 12px;
  border-radius: 20px;
  display: block;
}
.top-works__contents-item .works-detail img {
  width: 32px;
  height: 32px;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media (max-width: 767px) {
  .top-works__contents-item .works-image {
    width: 100%;
    height: 110px;
  }
}
.top-works__contents-item .works-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

/* Review
-------------------------------------------------- */
.top-review {
  position: relative;
}
.top-review__contents {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.top-review__content {
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .top-review__content {
    padding: 56px 20px;
  }
}
.top-review__content p {
  margin-top: 26px;
}
.top-review__contents-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .top-review__contents-items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 18px;
  }
}
.top-review__contents-item {
  width: calc(100% - 32px);
  background: #fff;
  padding: 12px 26px;
}
@media (max-width: 767px) {
  .top-review__contents-item {
    width: 100%;
  }
}
.top-review__contents-item .review-customer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
@media (max-width: 767px) {
  .top-review__contents-item .review-customer__detail {
    font-size: 14px;
  }
}
.top-review__contents-item .review-customer__detail p {
  font-size: 14px;
  color: #999;
  font-family: "Noto Sans JP", sans-serif;
}
.top-review__contents-item .review-customer__detail img {
  width: 100%;
  height: auto;
}
.top-review__contents-item .review-body {
  color: #2A2A2A;
  margin-top: 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.8;
}

/* Service
-------------------------------------------------- */
.top-service {
  position: relative;
}
.top-service__contents {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
.top-service__item {
  background: #fff;
}
.top-service__item figure {
  margin: 0;
}
.top-service__item p {
  color: #2A2A2A;
  font-size: 18px;
  padding: 8px 0;
}

/* Area
-------------------------------------------------- */
.top-area {
  position: relative;
}
.top-area__contents {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

/* flow
-------------------------------------------------- */
.top-flow {
  position: relative;
  /* SP（デフォルト）は縦並びのままにする */
  /* PCだけ横並びにする */
}
.top-flow__contents {
  max-width: 1100px;
  margin: 0 auto;
  width: 100%;
  color: #1e1e1e;
}
@media (max-width: 959px) {
  .top-flow .swell-block-step__item::before {
    left: 37px;
    border-left: solid 2px #D4AF37;
  }
}
.top-flow .swell-block-step__number {
  line-height: 1;
}
.top-flow .swell-block-step__number::after {
  font-size: 32px;
}
.top-flow .swell-block-step__title {
  font-size: 20px;
  font-weight: 700;
  padding-left: 28px;
  padding-top: 12px;
}
.top-flow .swell-block-step__body {
  padding-left: 28px;
}
.top-flow .swell-block-step.flow-steps .swell-block-step__number {
  width: 74px;
  height: 74px;
  background: #FFE68B;
  background: linear-gradient(135deg, rgb(255, 230, 139) 0%, rgb(239, 200, 114) 50%, rgb(255, 230, 139) 100%);
  color: #1e1e1e !important;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}
@media (min-width: 768px) {
  .top-flow {
    /* タイトル/本文：中央寄せ（画像風） */
    /* ステップの一覧（親）を横並びに */
    /* 横ライン：各丸の中心から右へ伸ばす（最後だけ無し） */
  }
  .top-flow .swell-block-step.flow-steps .swell-block-step__number {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    margin: 0 auto 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    place-items: center;
    background: #FFE68B;
    background: linear-gradient(135deg, rgb(255, 230, 139) 0%, rgb(239, 200, 114) 50%, rgb(255, 230, 139) 100%);
    color: #1e1e1e !important;
    position: relative;
    z-index: 2;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
  }
  .top-flow .swell-block-step.flow-steps .swell-block-step__title,
  .top-flow .swell-block-step.flow-steps .swell-block-step__body {
    text-align: center;
    padding: 0;
  }
  .top-flow .flow-steps {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 40px;
    /* ステップ間の余白 */
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    /* 各ステップ */
    /* 各ステップの横幅を完全に均等化 */
    /* 縦並び用の線（点線）が出ている場合の対策（任意） */
  }
  .top-flow .flow-steps .swell-block-step__item {
    padding: 0;
  }
  .top-flow .flow-steps .swell-step__item {
    width: calc((100% - 160px) / 5);
    /* 5個想定（gap 40px×4=160px） */
    margin: 0 !important;
    /* 縦用の余白を消す */
    color: #1e1e1e;
  }
  .top-flow .flow-steps .swell-block-step.flow-steps .swell-block-step__item {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 0px !important;
            flex: 1 1 0 !important;
    /* ←これがポイント（均等割り） */
    min-width: 0;
    /* 折返し・はみ出し対策 */
  }
  .top-flow .flow-steps .swell-step__line {
    display: none;
  }
  .top-flow .swell-block-step.flow-steps .swell-block-step__item::before {
    content: "";
    position: absolute;
    top: 37px;
    /* 丸の中心（74pxの半分） */
    left: 50%;
    width: calc(100% + 48px);
    /* gap分もまたいで伸ばす */
    height: 2px;
    background: #FFE68B;
    background: linear-gradient(135deg, rgb(255, 230, 139) 0%, rgb(239, 200, 114) 50%, rgb(255, 230, 139) 100%);
    -webkit-transform: translateX(37px);
            transform: translateX(37px);
    /* 丸の右端から開始するイメージ */
    z-index: 1;
    opacity: 0.95;
  }
  .top-flow .swell-block-step.flow-steps .swell-block-step__item:last-child::before {
    display: none;
  }
}

/* Company
-------------------------------------------------- */
.top-company {
  position: relative;
}
.top-company__contents {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
.top-company__info table tr {
  border-bottom: solid 1px #eee;
}
@media (max-width: 767px) {
  .top-company__info table tr {
    display: block;
    padding: 16px 0;
  }
}
.top-company__info table th,
.top-company__info table td {
  padding: 16px 0;
  vertical-align: top;
  border: 0;
  background: #2A2A2A;
}
@media (max-width: 767px) {
  .top-company__info table th,
  .top-company__info table td {
    display: block;
    width: 100%;
    padding: 0;
  }
}
.top-company__info table th {
  width: 180px;
  color: #D4AF37;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: left;
}
@media (max-width: 767px) {
  .top-company__info table th {
    padding-bottom: 8px;
  }
}

/* faq
-------------------------------------------------- */
.top-faq .swell-block-faq__item {
  background: #fff;
  border: 0;
  color: #2A2A2A;
}
.top-faq .faq_q {
  border: 0;
}
.top-faq .faq_q::before {
  color: #2A2A2A;
}
.top-faq .faq_a {
  padding-top: 0;
}
.top-faq .faq_a::before {
  top: 0;
}
@media (max-width: 767px) {
  .top-faq {
    padding-bottom: 0;
  }
}

.w-beforeFooter {
  margin: 0;
}

@media (max-width: 767px) {
  .cta .sec-title {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .cta .sec-title h2 {
    text-align: center !important;
  }
}
.cta .wp-block-columns {
  position: relative;
}
.cta .wp-block-columns::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  height: 136px;
  width: 1px;
  background: #1e1e1e;
}
@media (max-width: 767px) {
  .cta .wp-block-columns::after {
    width: 0;
    height: 0;
  }
}
.cta .swell-block-button {
  color: #1e1e1e;
  margin-bottom: 12px;
}
.cta .swell-block-button__link {
  background: #fff;
}
.cta .swell-block-button__link svg {
  color: #1e1e1e;
}
.cta .cta-time {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
}

/* --------------------------------
contact
----------------------------------- */
.contact {
  position: relative;
}
.contact .contact-body .smf-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2.6rem;
  color: #1e1e1e;
  padding: 0 20px;
}
@media (max-width: 767px) {
  .contact .contact-body .smf-form {
    row-gap: 2rem;
  }
}
.contact .contact-body .smf-form .smf-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767px) {
  .contact .contact-body .smf-form .smf-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 0.6rem;
  }
}
.contact .contact-body .smf-form .smf-item__col--label {
  font-weight: bold;
  width: 18rem;
  height: 42px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  font-size: 18px;
  padding-left: 60px;
}
@media (max-width: 767px) {
  .contact .contact-body .smf-form .smf-item__col--label {
    width: 100%;
    height: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-right: 0;
    font-size: 16px;
  }
}
.contact .contact-body .smf-form .smf-item:has([data-validations~=required]) .smf-item__col--label .smf-item__label__text {
  position: relative;
}
.contact .contact-body .smf-form .smf-item:has([data-validations~=required]) .smf-item__col--label .smf-item__label__text::after {
  position: absolute;
  content: "必須";
  color: #fff;
  width: 60px;
  height: 26px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: calc(100% + 1rem);
  display: grid;
  place-items: center;
  background: #DD3234;
  border-radius: 5px;
  font-size: 14px;
}
@media (max-width: 767px) {
  .contact .contact-body .smf-form .smf-item:has([data-validations~=required]) .smf-item__col--label .smf-item__label__text::after {
    width: 50px;
    height: 20px;
    font-size: 12px;
    right: calc(100% + 0.5rem);
  }
}
.contact .contact-body .smf-form .smf-item__col--controls {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 767px) {
  .contact .contact-body .smf-form .smf-item__col--controls {
    width: 100%;
  }
}
.contact .contact-body .smf-form .smf-item__col--controls input[type=text],
.contact .contact-body .smf-form .smf-item__col--controls input[type=tel],
.contact .contact-body .smf-form .smf-item__col--controls input[type=email] {
  width: 100%;
  height: 42px;
  border: 0.1rem solid #F6F6F6;
  border-radius: 0.5rem;
}
.contact .contact-body .smf-form .smf-item__col--controls textarea {
  width: 100%;
  height: 20.3rem;
  border: 0.1rem solid #F6F6F6;
  border-radius: 0.5rem;
}
.contact .contact-body .smf-form .smf-item__col--controls .smf-radio-buttons-control__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 3.2rem;
     -moz-column-gap: 3.2rem;
          column-gap: 3.2rem;
  height: 42px;
}
.contact .contact-body .smf-form .smf-item__col--controls .smf-radio-buttons-control__control .smf-label {
  margin: 0;
}
.contact .contact-body .smf-form .smf-item__col--controls .smf-radio-buttons-control__control .smf-radio-button-control input {
  display: none;
}
.contact .contact-body .smf-form .smf-item__col--controls .smf-radio-buttons-control__control .smf-radio-button-control .smf-radio-button-control__label {
  position: relative;
  padding-left: 2.8rem;
}
@media (max-width: 767px) {
  .contact .contact-body .smf-form .smf-item__col--controls .smf-radio-buttons-control__control .smf-radio-button-control .smf-radio-button-control__label {
    font-size: 16px;
    padding-left: 30px;
  }
}
.contact .contact-body .smf-form .smf-item__col--controls .smf-radio-buttons-control__control .smf-radio-button-control .smf-radio-button-control__label::before {
  content: "";
  width: 24px;
  height: 24px;
  background: #fff;
  border: 0.1rem solid #F6F6F6;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 767px) {
  .contact .contact-body .smf-form .smf-item__col--controls .smf-radio-buttons-control__control .smf-radio-button-control .smf-radio-button-control__label::before {
    width: 20px;
    height: 20px;
  }
}
.contact .contact-body .smf-form .smf-item__col--controls .smf-radio-buttons-control__control .smf-radio-button-control .smf-radio-button-control__label::after {
  content: "";
  width: 12px;
  height: 12px;
  background: #d4af37;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 50%;
  left: 6px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
@media (max-width: 767px) {
  .contact .contact-body .smf-form .smf-item__col--controls .smf-radio-buttons-control__control .smf-radio-button-control .smf-radio-button-control__label::after {
    width: 10px;
    height: 10px;
    left: 5px;
  }
}
.contact .contact-body .smf-form .smf-item__col--controls .smf-radio-buttons-control__control .smf-radio-button-control input:checked + .smf-radio-button-control__label::after {
  opacity: 1;
}
.contact .contact-body .smf-action {
  margin-top: 5.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 4rem;
     -moz-column-gap: 4rem;
          column-gap: 4rem;
}
@media (max-width: 767px) {
  .contact .contact-body .smf-action {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 2rem;
  }
}
.contact .contact-body .smf-action .smf-button-control__control {
  width: 320px;
  background: #fff;
  border-radius: 2.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-block: 1.8rem;
  font-size: 18px;
  line-height: 1;
  border: 2px solid #d4af37;
  color: #1e1e1e;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  font-weight: bold;
  overflow: hidden;
  -webkit-transition: all 0.3s ease 0.5s;
  transition: all 0.3s ease 0.5s;
}
@media (max-width: 767px) {
  .contact .contact-body .smf-action .smf-button-control__control {
    padding-bottom: 1.4rem;
  }
}
.contact .contact-body .smf-action .smf-button-control__control:hover {
  background: #d4af37;
}
.contact .contact-body .smf-action .smf-button-control__control:hover::before {
  -webkit-animation: ripple 1s forwards 0.1s;
          animation: ripple 1s forwards 0.1s;
}
.contact .contact-body .smf-error-messages {
  font-size: 14px;
}
.contact:has([data-screen=confirm]) .contact-form__text p.type-input {
  display: none;
}
.contact:has([data-screen=confirm]) .contact-form__text p.type-confirm {
  display: block;
}
.contact:has([data-screen=confirm]) .smf-placeholder[data-name=privacy] {
  display: none;
}
.contact:has([data-screen=confirm]) .smf-action .smf-button-control__control::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  right: initial;
  left: 2rem;
}
.contact:has([data-screen=confirm]) .smf-action .smf-button-control__control:hover {
  background: rgba(212, 175, 55, 0.3);
}
.contact:has([data-screen=confirm]) .smf-action .smf-button-control:nth-of-type(2) .smf-button-control__control {
  background: #d4af37;
  color: #fff;
}
.contact:has([data-screen=confirm]) .smf-action .smf-button-control:nth-of-type(2) .smf-button-control__control::after {
  display: none;
}
.contact:has([data-screen=confirm]) .smf-action .smf-button-control:nth-of-type(2) .smf-button-control__control::before {
  background: #fff;
}
.contact:has([data-screen=confirm]) .smf-action .smf-button-control:nth-of-type(2) .smf-button-control__control:hover {
  background: #fff;
  color: #1e1e1e;
}
.contact:has([data-screen=complete]) .contact-form__text {
  display: none;
}
.contact:has([data-screen=complete]) .smf-form .smf-complete-content {
  text-align: center;
}
.contact:has([data-screen=complete]) .smf-form .smf-complete-content p {
  font-size: 18px;
  line-height: 1.625;
}
.contact:has([data-screen=complete]) .smf-form .smf-complete-content .contact-form__link {
  margin-top: 32px;
}
.contact:has([data-screen=complete]) .smf-form .smf-complete-content .contact-form__link .swell-block-button__link {
  display: block;
  margin: 0 auto;
  width: 280px;
  padding: 18px;
  background: #fff;
  border: solid 2px #d4af37;
}
.contact:has([data-screen=complete]) .smf-form .smf-complete-content .contact-form__link .swell-block-button__link span {
  font-size: 18px;
  color: #1e1e1e;
}
.contact .dp-n {
  display: none;
}