.elementor-kit-9{--e-global-color-primary:#00B5E2;--e-global-color-secondary:#F5F2EC;--e-global-color-text:#1F3A5F;--e-global-color-accent:#C45050;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-secondary );color:#1F3A5F;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:16px;line-height:1.9em;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 h2{font-size:32px;}.elementor-kit-9 h3{font-size:28px;}.elementor-kit-9 h4{font-size:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1000px;}.e-con{--container-max-width:1000px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*---スマホ時改行--*/
@media screen and (max-width: 480px) {
.pc-br{display:none;}
.tb-br{display:none;}
.sp-br{display:block;}
}
/*---タブレット時改行--*/
@media screen and (min-width:481px) and (max-width: 1020px) {
.pc-br{display:none;}
.tb-br{display:block;}
.sp-br{display:none;}
}
/*---PC時改行--*/
@media screen and (min-width:1021px){
.pc-br{display:block;}
.tb-br{display:none;}
.sp-br{display:none;}
}

/*TOP会社概要のリスト調整*/
.small-list li::marker {
  font-size: 0.6em;
}

.small-list li:not(:last-child)  {
  margin-bottom: 5px;
}

/*アンカーリンクの飛び先の位置調整*/
.elementor-widget-menu-anchor {
   top: -150px;
}

/* 建物画像を設定している外側コンテナ */
.top-slant-wrap {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

/* 青い斜め帯 */
.top-slant-wrap::before, .top-slant-wrap2::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 46%;
  width: 46%;
  background: #00B5E2;
  transform: skewX(-19deg);
  transform-origin: top left;
  z-index: 1;

  pointer-events: none;
  
  /* ここから追加 */
  clip-path: inset(0 0 100% 0);
  animation: slant-grow-down 2.0s cubic-bezier(0.22, 1, 0.36, 1) 0.5s forwards;
  will-change: clip-path;
}

.top-slant-wrap2::before {
    left: 28%;
    z-index:0;
}

@media (prefers-reduced-motion: reduce) {
  .top-slant-wrap,.top-slant-wrap2::before {
    animation: none !important;
    clip-path: inset(0 0 0 0);
  }
}

/* 青い帯が上から下へ伸びる */
@keyframes slant-grow-down {
  from {
    clip-path: inset(0 0 100% 0);
  }

  to {
    clip-path: inset(0 0 0 0);
  }
}

@media screen and (max-width: 767px) {
  .top-slant-wrap::before {
    display: none !important;
  }
}

/* 見出しや画像などを青い帯より前に表示 */
.top-slant-wrap .slant-front {
  position: relative;
  z-index: 2 !important;
}

/*見出しに縁をつける*/
.intro-title-outline .elementor-heading-title {
  color: #fff;

  /* text-strokeが残っている場合は解除 */
  -webkit-text-stroke: 0;
  
  /* 青い縁取り */
  text-shadow:
     2px  0   0 #00B5E2,
    -2px  0   0 #00B5E2,
     0    2px 0 #00B5E2,
     0   -2px 0 #00B5E2,

     1.5px  1.5px 0 #00B5E2,
    -1.5px  1.5px 0 #00B5E2,
     1.5px -1.5px 0 #00B5E2,
    -1.5px -1.5px 0 #00B5E2;
}

/* ファーストビュー見出し：丸みのある青い縁取り */
.hero-title .elementor-heading-title {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;

  /* 以前のグラデーション・縁取りを解除 */
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-stroke: 0 transparent !important;

  /* 丸みのある青い縁取り */
  text-shadow:
     4px  0    0 #00B5E2,
    -4px  0    0 #00B5E2,
     0    4px  0 #00B5E2,
     0   -4px  0 #00B5E2,

     4px  1px  0 #00B5E2,
     4px -1px  0 #00B5E2,
    -4px  1px  0 #00B5E2,
    -4px -1px  0 #00B5E2,

     1px  4px  0 #00B5E2,
    -1px  4px  0 #00B5E2,
     1px -4px  0 #00B5E2,
    -1px -4px  0 #00B5E2,

     4px  2px  0 #00B5E2,
     4px -2px  0 #00B5E2,
    -4px  2px  0 #00B5E2,
    -4px -2px  0 #00B5E2,

     2px  4px  0 #00B5E2,
    -2px  4px  0 #00B5E2,
     2px -4px  0 #00B5E2,
    -2px -4px  0 #00B5E2,

     3px  3px  0 #00B5E2,
    -3px  3px  0 #00B5E2,
     3px -3px  0 #00B5E2,
    -3px -3px  0 #00B5E2 !important;
}

/* 「もっと見る」ボタン */
.more-button .elementor-button {
  position: relative;
}

/* テキストをボタン全体の中央に配置 */
.more-button .elementor-button-content-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 !important;
}

/* アイコンを右側に独立して配置 */
.more-button .elementor-button-icon {
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
  line-height: 1;
}

/* SVGアイコンの大きさ */
.more-button .elementor-button-icon svg {
  width: 16px !important;
  height: 16px !important;
}

/* Font Awesomeなどのアイコンの場合 */
.more-button .elementor-button-icon i {
  font-size: 16px !important;
}

/* ボックス右下の三角形 */
.corner-triangle {
  position: relative;
  overflow: hidden;
}

.corner-triangle::after {
  content: "";
  position: absolute;
  right: 5px;
  bottom: 5px;

  width: 24px;
  height: 24px;

  background-color: #173b68;

  clip-path: polygon(
    100% 0,
    100% 100%,
    0 100%
  );
  
    /* 右下の直角を丸くする */
  border-bottom-right-radius: 3px;

  pointer-events: none;
  z-index: 2;
}

/*ブログカテゴリー*/
/* カテゴリーラベル全体 */
.news-cat-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

/* カテゴリーラベル */
.news-cat-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 110px;
  padding: 4px 12px;

  background-color: var(--badge-color, #173e6b);
  color: #fff;

  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
}

/* フィルターボタン */

.news-filter .jet-radio-list {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 32px;
  margin-bottom: 48px;
}

.news-filter .jet-radio-list__row,
.news-filter .jet-radio-list__item {
  width: auto !important;
  margin: 0 !important;
  flex: 0 0 auto;
}

.news-filter .jet-radio-list__row {
  margin-right: 20px !important;
}

.news-filter .jet-radio-list__row:last-child {
  margin-right: 0 !important;
}


/* 選択中 */
.news-filter .jet-radio-list__input:checked + .jet-radio-list__button,
.news-filter .jet-radio-list__input:checked ~ .jet-radio-list__button {
  background: #004A98;
  color: #fff;
}

/* ラベル内の文字 */
.news-filter .jet-radio-list__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

/* 左の小さいチェック・ラジオ四角を消したい場合 */
.news-filter .jet-radio-list__decorator {
  display: none;
}

/* フィルターボタン */

.news-filter .jet-radio-list-wrapper,
.news-filter .jet-radio-list {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  column-gap: 28px;
  row-gap: 16px;

}

.news-filter .jet-radio-list__row,
.news-filter .jet-radio-list__item {
  width: auto !important;
  margin: 0 !important;
  flex: 0 0 auto;
}

/* ボタン本体 */
.news-filter .jet-radio-list__button {
  min-width: 210px;
  height: 40px;
  padding: 0 22px;
  border: 1px solid #1F3A5F;
  background: #fff;
  color: #1F3A5F;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-left: 10px;
}

@media screen and (min-width:481px) and (max-width: 1020px) {
    .news-filter .jet-radio-list__button {
     min-width: 150px;
    }
}

@media screen and (max-width: 480px) {
        .news-filter .jet-radio-list__button {
     min-width: 160px;
     border-radius: 100px;
      padding: 0 10px;
      margin: 5px 0;
      font-size: 14px;
        }
    
    .news-filter .jet-radio-list {
  margin-bottom: 10px;
}
}

/* ラジオの標準マークを非表示 */
.news-filter .jet-radio-list__decorator {
  display: none;
}

/* ラベル内 */
.news-filter .jet-radio-list__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

/* 未選択時：●だけカテゴリー色 */
.news-filter .jet-radio-list__label::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--filter-color, #004A98);
  display: inline-block;
  flex: 0 0 auto;
}

/* 選択時：背景をカテゴリー色、文字を白 */
.news-filter .jet-radio-list__input:checked + .jet-radio-list__button,
.news-filter .jet-radio-list__input:checked ~ .jet-radio-list__button {
  background: var(--filter-color, #1F3A5F);
  border-color: var(--filter-color, #004A98);
  color: #fff;
}

/* 選択時：●は白 */
.news-filter .jet-radio-list__input:checked + .jet-radio-list__button .jet-radio-list__label::before,
.news-filter .jet-radio-list__input:checked ~ .jet-radio-list__button .jet-radio-list__label::before {
  background: #ffffff;
}


/* ページネーション */
.jet-filters-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 48px;
}

.jet-filters-pagination__link {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  color: #00B5E2;
  font-size: 14px;
  font-weight: 700;
}

/* 現在選択されているページ */
.jet-filters-pagination__current
.jet-filters-pagination__link {
  background-color: #00B5E2;
  color: #fff;
}

/* =====================================
   不動産相談フォーム
===================================== */

.realestate-form {
  --form-navy: #173a60;
  --form-cyan: #0bb8df;
  --form-border: #c8d4df;
  --form-required: #df7d76;
  --form-placeholder: #9aa6b2;

  width: 100%;
  max-width: 880px;
  margin-right: auto;
  margin-left: auto;
}


/* =====================================
   フォーム全体のグリッド
===================================== */

.realestate-form .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-auto-flow: row;
  column-gap: 24px !important;
  row-gap: 18px !important;
  align-items: start;
  width: 100% !important;
  margin: 0 !important;
}


/*
   Elementor側の列幅を解除。
   個別指定のないフィールドは横幅100％。
*/
.realestate-form
.elementor-form-fields-wrapper
> .elementor-field-group {
  grid-column: 1 / -1;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}


/*
   HTMLフィールドにはIDが付けられないため、
   HTMLタイプはすべて横幅100％にする。
*/
.realestate-form
.elementor-form-fields-wrapper
> .elementor-field-type-html {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}


/* =====================================
   PC・タブレットのフィールド配置
===================================== */

@media screen and (min-width: 768px) {

  /* お名前・フリガナ */
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-name {
    grid-column: 1 / span 6 !important;
  }

  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-kana {
    grid-column: 7 / span 6 !important;
  }


  /* メールアドレス：左半分 */
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-email {
    grid-column: 1 / span 6 !important;
  }

  /* 確認用メールアドレス：左半分・次の行 */
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-email_confirm {
    grid-column: 1 / span 6 !important;
  }


  /* 電話番号・ご希望の連絡手段 */
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-tel {
    grid-column: 1 / span 5 !important;
  }

  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-contact_method {
    grid-column: 6 / span 7 !important;
  }


  /* 都道府県・市区町村／番地 */
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-prefecture {
    grid-column: 1 / span 4 !important;
  }

  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-address {
    grid-column: 5 / span 8 !important;
  }


  /* 自己資金 */
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-budget {
    grid-column: 1 / -1 !important;
  }


  /* 収益不動産の有無：フォーム全体の半分 */
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-rental {
    grid-column: 1 / span 6 !important;
  }


  /* お問い合わせ内容 */
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-message {
    grid-column: 1 / -1 !important;
  }


  /* 個人情報同意 */
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group-privacy {
    grid-column: 1 / -1 !important;
  }


  /* 送信ボタン */
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-type-submit {
    grid-column: 1 / -1 !important;
  }
}


/* =====================================
   セクション見出し
===================================== */

.realestate-form .form-section-title {
  position: relative;
  margin: 4px 0 0;
  padding-left: 22px;
  color: var(--form-navy);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.realestate-form .form-section-title::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 14px;
  background-color: var(--form-navy);
  content: "";
  transform: translateY(-50%);
}

.realestate-form .form-marker {
  width: 100%;
  margin: 0;
  padding: 0;
}


/* =====================================
   ラベル
===================================== */

.realestate-form .elementor-field-label,
.realestate-form .form-address-label {
  display: block;
  margin-bottom: 8px;
  color: var(--form-navy);
  font-size: 14px;
  font-weight: 500 !important;
  line-height: 1.5;
  letter-spacing: 0.04em;
}


/* Elementor標準の必須アスタリスクを非表示 */
.realestate-form
.elementor-field-label
.elementor-required {
  display: none;
}


/* CSSで「※必須」を表示 */
.realestate-form
.elementor-field-required
> .elementor-field-label::after {
  margin-left: 4px;
  color: var(--form-required);
  font-size: 10px;
  font-weight: 500 !important;
  content: "※必須";
}

.realestate-form .form-address-label span {
  margin-left: 4px;
  color: var(--form-required);
  font-size: 10px;
  font-weight: 500 !important;
}


/*
   ご住所はHTMLフィールドでまとめて表示するため、
   都道府県と住所それぞれのラベルは非表示。
*/
.realestate-form
.elementor-field-group-prefecture
> .elementor-field-label,
.realestate-form
.elementor-field-group-address
> .elementor-field-label {
  display: none !important;
}


/* =====================================
   入力欄・選択欄
===================================== */

.realestate-form
input:not([type="radio"]):not([type="checkbox"]),
.realestate-form select,
.realestate-form textarea {
  width: 100%;
  border: 1px solid var(--form-border) !important;
  border-radius: 0 !important;
  background-color: #fff !important;
  color: var(--form-navy) !important;
  font-size: 14px !important;
  box-shadow: none !important;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.realestate-form
input:not([type="radio"]):not([type="checkbox"]),
.realestate-form select {
  min-height: 48px;
  padding: 0 15px !important;
}

.realestate-form textarea {
  min-height: 240px;
  padding: 15px !important;
  resize: vertical;
}

.realestate-form input::placeholder,
.realestate-form textarea::placeholder {
  color: var(--form-placeholder);
  font-size: 11px;
  opacity: 1;
}

.realestate-form input:focus,
.realestate-form select:focus,
.realestate-form textarea:focus {
  border-color: var(--form-cyan) !important;
  box-shadow: 0 0 0 1px var(--form-cyan) !important;
  outline: none;
}


/* =====================================
   ラジオボタン共通
===================================== */

.realestate-form
.elementor-field-group-contact_method
.elementor-field-subgroup,
.realestate-form
.elementor-field-group-budget
.elementor-field-subgroup,
.realestate-form
.elementor-field-group-rental
.elementor-field-subgroup {
  display: grid !important;
  gap: 8px;
  width: 100% !important;
  max-width: none !important;
}


/* ご希望の連絡手段：3列 */
.realestate-form
.elementor-field-group-contact_method
.elementor-field-subgroup {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}


/* 自己資金：4列 */
.realestate-form
.elementor-field-group-budget
.elementor-field-subgroup {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}


/* 収益不動産の有無：2列 */
.realestate-form
.elementor-field-group-rental
.elementor-field-subgroup {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* Elementor標準の列幅を解除 */
.realestate-form
.elementor-field-subgroup
.elementor-field-option {
  position: relative;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}


/* ラジオボタン本体 */
.realestate-form
.elementor-field-subgroup
input[type="radio"] {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 16px;
  width: 14px;
  height: 14px;
  margin: 0;
  border: 1px solid #aebdca;
  border-radius: 50%;
  background-color: #fff;
  appearance: none;
  -webkit-appearance: none;
  transform: translateY(-50%);
  cursor: pointer;
}


/* 選択中のラジオボタン */
.realestate-form
.elementor-field-subgroup
input[type="radio"]:checked {
  border: 4px solid #fff;
  background-color: var(--form-cyan);
  box-shadow: 0 0 0 1px var(--form-cyan);
}


/* ラジオボタン選択肢の枠 */
.realestate-form
.elementor-field-subgroup
input[type="radio"]
+ label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  margin: 0 !important;
  padding: 4px 10px 4px 38px;
  border: 1px solid var(--form-border);
  background-color: #fff;
  color: var(--form-navy);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}


/* 選択中の枠線 */
.realestate-form
.elementor-field-subgroup
input[type="radio"]:checked
+ label {
  border-color: var(--form-cyan);
}


/* ホバー時 */
.realestate-form
.elementor-field-subgroup
input[type="radio"]
+ label:hover {
  border-color: var(--form-cyan);
}


/* =====================================
   個人情報同意・Acceptance
===================================== */

/* 同意欄全体 */
.realestate-form
.elementor-field-type-acceptance
.elementor-field-subgroup,
.realestate-form
.elementor-field-group-privacy
.elementor-field-subgroup {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

/* チェックボックスと文章を横並び */
.realestate-form
.elementor-field-type-acceptance
.elementor-field-option,
.realestate-form
.elementor-field-group-privacy
.elementor-field-option {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

/* チェックボックス */
.realestate-form
.elementor-field-type-acceptance
input[type="checkbox"],
.realestate-form
.elementor-field-group-privacy
input[type="checkbox"] {
  position: relative !important;
  z-index: 2 !important;

  display: inline-block !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;

  margin: 0 8px 0 0 !important;
  padding: 0 !important;

  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  cursor: pointer !important;

  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  accent-color: var(--form-cyan);
}

/* 以前の独自チェックマークを解除 */
.realestate-form
.elementor-field-type-acceptance
input[type="checkbox"]::after,
.realestate-form
.elementor-field-group-privacy
input[type="checkbox"]::after {
  display: none !important;
  content: none !important;
}

/* 同意文 */
.realestate-form
.elementor-field-type-acceptance
label,
.realestate-form
.elementor-field-group-privacy
label {
  position: relative !important;
  z-index: 1 !important;

  display: inline-block !important;
  width: auto !important;
  margin: 0 !important;

  color: var(--form-cyan);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;

  pointer-events: auto !important;
  cursor: pointer !important;
}

/* リンク */
.realestate-form
.elementor-field-type-acceptance
label a,
.realestate-form
.elementor-field-group-privacy
label a {
  color: var(--form-cyan);
  text-decoration: none;
  pointer-events: auto !important;
}

.realestate-form
.elementor-field-type-acceptance
label a:hover,
.realestate-form
.elementor-field-group-privacy
label a:hover {
  text-decoration: underline;
}

/* =====================================
   送信ボタン
===================================== */

.realestate-form .elementor-field-type-submit {
  display: flex;
  justify-content: center;
  margin-top: 2px !important;
}

.realestate-form .elementor-button[type="submit"] {
  width: 330px !important;
  min-height: 60px;
  padding: 12px 24px;
  border: 0 !important;
  border-radius: 999px !important;
  background-color: var(--form-cyan) !important;
  color: #fff !important;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.08em;
  box-shadow: none !important;
}

.realestate-form .elementor-button[type="submit"]:hover,
.realestate-form .elementor-button[type="submit"]:focus {
  background-color: #079fc2 !important;
  color: #fff !important;
}


/* =====================================
   エラーメッセージ
===================================== */

.realestate-form .elementor-message-danger,
.realestate-form .elementor-help-inline {
  color: #d85f58;
  font-size: 12px;
}


/* =====================================
   スマホ表示
===================================== */

@media screen and (max-width: 767px) {

  .realestate-form .elementor-form-fields-wrapper {
    grid-template-columns: minmax(0, 1fr) !important;
    column-gap: 0 !important;
    row-gap: 16px !important;
  }

  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-group,
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-type-html,
  .realestate-form
  .elementor-form-fields-wrapper
  > .elementor-field-type-submit {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  .realestate-form .form-section-title {
    font-size: 16px;
  }

  .realestate-form
  .elementor-field-group-contact_method
  .elementor-field-subgroup {
    grid-template-columns: minmax(0, 1fr);
  }

  .realestate-form
  .elementor-field-group-budget
  .elementor-field-subgroup,
  .realestate-form
  .elementor-field-group-rental
  .elementor-field-subgroup {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .realestate-form
  .elementor-field-subgroup
  input[type="radio"]
  + label {
    min-height: 46px;
    font-size: 13px;
  }

  .realestate-form textarea {
    min-height: 200px;
  }

  .realestate-form .elementor-button[type="submit"] {
    width: 100% !important;
    min-height: 56px;
  }
}

/* ご住所ラベルと住所フィールドの間隔を詰める */
.realestate-form
.elementor-form-fields-wrapper
> .elementor-field-type-html:has(.form-marker-address) {
  margin-bottom: -10px !important;
}

.realestate-form
.form-marker-address
.form-address-label {
  margin-bottom: 0 !important;
}

/* =====================================
   フォームページ共通ヘッダー
===================================== */

.form-hero {
  /*
   中央の白い部分の半分の幅。
   250pxの場合、中央の白は約500px。
  */
  --hero-center-half: clamp(200px, 18vw, 250px);

  /*
   斜め部分の半分。
   実際の斜め幅は、この数値の約2倍。
  */
  --hero-slant-half: clamp(38px, 4vw, 58px);
  --hero-slant: calc(var(--hero-slant-half) * 2);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  width: 100vw;
  max-width: none !important;
  min-height: clamp(180px, 17vw, 250px);

  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);

  display: flex;
  align-items: center;
  justify-content: center;

  /* 中央の白い部分は親要素の背景をそのまま使う */
  background-color: #fff;
}


/* =====================================
   左側の青
===================================== */

.form-hero::before {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 0;

  /*
   白い部分が画面中央に来るように、
   中央幅と斜め幅から青部分の横幅を算出
  */
  width: calc(
    50% - var(--hero-center-half) + var(--hero-slant-half)
  );

  background-color: #00B5E2;

  clip-path: polygon(
    0 0,
    100% 0,
    calc(100% - var(--hero-slant)) 100%,
    0 100%
  );

  content: "";
}


/* =====================================
   右側の共通画像
===================================== */

.form-hero::after {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;

  width: calc(
    50% - var(--hero-center-half) + var(--hero-slant-half)
  );

  background-image: url("http://triplea-realestateasset.com/wp-content/uploads/2026/07/header_img-1.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  clip-path: polygon(
    var(--hero-slant) 0,
    100% 0,
    100% 100%,
    0 100%
  );

  content: "";
}


/* =====================================
   中央のテキスト
===================================== */

.form-hero__content {
  position: relative;
  z-index: 2;

  width: min(440px, calc(100% - 40px));
  margin: 0 auto;
  padding: 24px 20px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-align: center;

  /*
   背景・clip-pathは付けない。
   親の白背景をそのまま表示する。
  */
  background: transparent !important;
  clip-path: none !important;
}


/* 小見出し */
.form-hero__eyebrow {
  margin: 0 0 8px;
  color: #00B5E2;
  font-size: clamp(12px, 1vw, 16px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
}


/* メイン見出し */
.form-hero__title {
  margin: 0;
  color: #1F3A5F;
  font-size: clamp(24px, 2vw, 36px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.03em;
}


/* 説明文 */
.form-hero__desc {
  margin: 10px 0 0;
  color: #1F3A5F;
  font-size: clamp(10px, 0.8vw, 13px);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
}


/* =====================================
   タブレット
===================================== */

@media screen and (max-width: 1024px) {

  .form-hero {
    --hero-center-half: clamp(190px, 24vw, 230px);
    --hero-slant-half: clamp(32px, 4vw, 46px);

    min-height: 190px;
  }

  .form-hero__content {
    width: min(400px, calc(100% - 32px));
  }

  .form-hero__title {
    font-size: clamp(22px, 3vw, 30px);
  }
}


/* =====================================
   スマホ
===================================== */

@media screen and (max-width: 767px) {

  .form-hero {
    --hero-center-half: clamp(145px, 39vw, 180px);
    --hero-slant-half: clamp(22px, 6vw, 32px);

    min-height: 160px;
  }

  .form-hero__content {
    width: min(300px, calc(100% - 32px));
    padding: 20px 16px;
  }

  .form-hero__eyebrow {
    margin-bottom: 5px;
    font-size: 11px;
  }

  .form-hero__title {
    font-size: clamp(19px, 5vw, 24px);
  }

  .form-hero__desc {
    margin-top: 7px;
    font-size: 10px;
    line-height: 1.6;
  }
}

/* =====================================
   フォームヘッダー最終調整
   PC・タブレット
===================================== */

@media screen and (min-width: 768px) {

  .form-hero {
    /* 中央の白い部分：320px × 2 ＝ 約640px */
    --hero-center-half: 320px;

    width: 100vw;
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
  }

  /* 中央のテキストエリア */
  .form-hero__content {
    width: min(560px, calc(100% - 48px)) !important;
    height: 100% !important;
    min-height: 0 !important;

    margin: 0 auto !important;
    padding: 0 24px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box;
    text-align: center;
    background: transparent !important;
    clip-path: none !important;
  }

  /* Elementorの各ウィジェットを中央配置 */
  .form-hero__content > .elementor-element {
    flex: 0 0 auto;
    width: 100%;
  }

  /* Elementor内部の余計な余白を解除 */
  .form-hero__eyebrow .elementor-heading-title,
  .form-hero__title .elementor-heading-title,
  .form-hero__desc p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* =====================================
   白い部分の角度をさらに鋭角に調整
===================================== */

@media screen and (min-width: 768px) {
  .form-hero {
    /* 340px高さに対して、斜めラインを強める */
    --hero-slant-half: 128px;
  }
}

@media screen and (max-width: 767px) {
  .form-hero {
    /* スマホは少し控えめ */
    --hero-slant-half: 54px;
  }
}

/* =====================================
   フォームヘッダー：スマホ表示
   左の青＋白背景のみ
===================================== */

@media screen and (max-width: 767px) {

  .form-hero {
    position: relative;
    overflow: hidden;

    height: auto !important;
    min-height: 176px !important;
    max-height: none !important;

    background-color: #fff !important;
  }

  /* 右側の画像を非表示 */
  .form-hero::after {
    display: none !important;
    width: 0 !important;
    background-image: none !important;
    content: none !important;
  }

  /* 左側の青い斜め部分 */
  .form-hero::before {
    display: block !important;
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;

    width: clamp(115px, 36vw, 276px) !important;
    height: 100%;

    background-color: #0bb8df !important;

    /*
     上側は広く、下側は細くする
     30%を小さくすると斜めが鋭くなる
    */
    clip-path: polygon(
      0 0,
      100% 0,
      30% 100%,
      0 100%
    ) !important;

    content: "" !important;
  }

  /* 中央テキスト */
  .form-hero__content {
    position: relative;
    z-index: 2;

    width: min(340px, calc(100% - 32px)) !important;
    min-height: 176px !important;
    height: auto !important;

    margin: 0 auto !important;
    padding: 20px 10px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    background: transparent !important;
    clip-path: none !important;
    box-sizing: border-box;
    text-align: center;
  }
}

/* =====================================
   ご希望の連絡手段
   スマホ時も3項目を横並び
===================================== */

@media screen and (max-width: 767px) {

  .realestate-form
  .elementor-field-group-contact_method
  .elementor-field-subgroup {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .realestate-form
  .elementor-field-group-contact_method
  .elementor-field-option {
    width: auto !important;
    min-width: 0 !important;
  }

  /* 選択肢の枠 */
  .realestate-form
  .elementor-field-group-contact_method
  input[type="radio"]
  + label {
    min-height: 46px;
    padding: 4px 5px 4px 30px !important;
    font-size: 13px !important;
    line-height: 1.3;
    white-space: nowrap;
  }

  /* ラジオボタンの位置 */
  .realestate-form
  .elementor-field-group-contact_method
  input[type="radio"] {
    left: 11px;
  }
}

@media screen and (max-width: 390px) {

  .realestate-form
  .elementor-field-group-contact_method
  input[type="radio"]
  + label {
    padding-right: 3px !important;
    padding-left: 27px !important;
    font-size: 12px !important;
  }

  .realestate-form
  .elementor-field-group-contact_method
  input[type="radio"] {
    left: 9px;
  }
}

/* =====================================
   査定物件の種別
   PC・SPとも「一棟・区分」を横並び
===================================== */

/* フィールドIDを直接検出して、選択肢の親を2列にする */
.realestate-form
.elementor-field-subgroup:has(
  input[name="form_fields[property_type]"]
) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: column !important;
  gap: 8px !important;

  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* 一棟・区分それぞれの要素 */
.realestate-form
.elementor-field-subgroup:has(
  input[name="form_fields[property_type]"]
)
> .elementor-field-option {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* 選択肢の枠 */
.realestate-form
.elementor-field-subgroup:has(
  input[name="form_fields[property_type]"]
)
input[type="radio"]
+ label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  min-height: 48px;
  box-sizing: border-box;

  margin: 0 !important;
  white-space: nowrap;
}

/* スマホも2列を維持 */
@media screen and (max-width: 767px) {

  .realestate-form
  .elementor-field-subgroup:has(
    input[name="form_fields[property_type]"]
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .realestate-form
  .elementor-field-subgroup:has(
    input[name="form_fields[property_type]"]
  )
  input[type="radio"]
  + label {
    min-height: 46px;
    font-size: 13px !important;
  }
}

/* =====================================
   査定物件の種別
   PCでは左寄せ・短めの幅
===================================== */

@media screen and (min-width: 768px) {

  .realestate-form
  .elementor-field-subgroup:has(
    input[name="form_fields[property_type]"]
  ) {
    width: 100% !important;
    max-width: 440px !important;
    margin-right: auto !important;
    margin-left: 0 !important;
  }
}

/* =====================================
   査定物件の種別
   ラベルの下に選択肢を配置
===================================== */

.realestate-form
.elementor-form-fields-wrapper
> .elementor-field-group-property_type {
  grid-column: 1 / -1 !important;

  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;

  width: 100% !important;
  max-width: none !important;
}

/* ラベルを1行分の幅にする */
.realestate-form
.elementor-field-group-property_type
> .elementor-field-label {
  display: block !important;
  width: 100% !important;
  flex: 0 0 100% !important;
  margin-bottom: 8px !important;
}

/* 一棟・区分の選択欄 */
.realestate-form
.elementor-field-group-property_type
.elementor-field-subgroup {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;

  width: 100% !important;
  max-width: 440px !important;

  margin-right: auto !important;
  margin-left: 0 !important;
}

/* スマホではフォーム幅いっぱいにする */
@media screen and (max-width: 767px) {

  .realestate-form
  .elementor-field-group-property_type
  .elementor-field-subgroup {
    max-width: none !important;
    gap: 6px !important;
  }
}/* End custom CSS */