.elementor-2168 .elementor-element.elementor-element-5d5f764{--display:flex;--min-height:440px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-width:0px 100px 0px 100px;--border-top-width:0px;--border-right-width:100px;--border-bottom-width:0px;--border-left-width:100px;border-color:#FFFFFF;--border-color:#FFFFFF;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2168 .elementor-element.elementor-element-5d5f764:not(.elementor-motion-effects-element-type-background), .elementor-2168 .elementor-element.elementor-element-5d5f764 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://sweet-johnson.163-43-30-20.plesk.page/wp-content/uploads/2026/06/img21.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-2168 .elementor-element.elementor-element-ca45492{--display:flex;--position:absolute;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;top:120px;}.elementor-2168 .elementor-element.elementor-element-ca45492:not(.elementor-motion-effects-element-type-background), .elementor-2168 .elementor-element.elementor-element-ca45492 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}body:not(.rtl) .elementor-2168 .elementor-element.elementor-element-ca45492{left:-40px;}body.rtl .elementor-2168 .elementor-element.elementor-element-ca45492{right:-40px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2168 .elementor-element.elementor-element-5885d5b .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:80px;font-weight:bold;text-transform:uppercase;line-height:66px;color:var( --e-global-color-accent );}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2168 .elementor-element.elementor-element-67ad1bc{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 6px;}.elementor-2168 .elementor-element.elementor-element-67ad1bc .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:20px;font-weight:600;letter-spacing:2px;}.elementor-2168 .elementor-element.elementor-element-b90552a{--display:flex;--position:absolute;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:126px;}body:not(.rtl) .elementor-2168 .elementor-element.elementor-element-b90552a{right:-50px;}body.rtl .elementor-2168 .elementor-element.elementor-element-b90552a{left:-50px;}.elementor-2168 .elementor-element.elementor-element-bc35813 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:20px;font-weight:500;text-transform:uppercase;color:var( --e-global-color-primary );}.elementor-2168 .elementor-element.elementor-element-948f702{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--padding-top:20px;--padding-bottom:20px;--padding-left:100px;--padding-right:100px;}.elementor-widget-breadcrumbs{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-2168 .elementor-element.elementor-element-7405894{font-family:"Noto Sans JP", Sans-serif;font-weight:400;color:#ACACAC;}.elementor-2168 .elementor-element.elementor-element-7405894 a{color:#ACACAC;}.elementor-2168 .elementor-element.elementor-element-02a3e59{--display:flex;--padding-top:40px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-2168 .elementor-element.elementor-element-e5ad40e{--display:flex;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-2168 .elementor-element.elementor-element-e5ad40e:not(.elementor-motion-effects-element-type-background), .elementor-2168 .elementor-element.elementor-element-e5ad40e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-2168 .elementor-element.elementor-element-f1f1e24{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2168 .elementor-element.elementor-element-44edaf0{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-2168 .elementor-element.elementor-element-885e6c0 .elementor-icon-wrapper{text-align:center;}.elementor-2168 .elementor-element.elementor-element-885e6c0.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-accent );}.elementor-2168 .elementor-element.elementor-element-885e6c0.elementor-view-framed .elementor-icon, .elementor-2168 .elementor-element.elementor-element-885e6c0.elementor-view-default .elementor-icon{color:var( --e-global-color-accent );border-color:var( --e-global-color-accent );}.elementor-2168 .elementor-element.elementor-element-885e6c0.elementor-view-framed .elementor-icon, .elementor-2168 .elementor-element.elementor-element-885e6c0.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-accent );}.elementor-2168 .elementor-element.elementor-element-885e6c0 .elementor-icon{font-size:13px;}.elementor-2168 .elementor-element.elementor-element-885e6c0 .elementor-icon svg{height:13px;}.elementor-2168 .elementor-element.elementor-element-31f4206.elementor-element{--align-self:center;}.elementor-2168 .elementor-element.elementor-element-31f4206 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:500;letter-spacing:1px;color:#015EEA;}.elementor-2168 .elementor-element.elementor-element-3ff3002 .elementor-heading-title{font-family:"Tahoma", Sans-serif;font-size:80px;font-weight:600;line-height:78px;letter-spacing:0px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2168 .elementor-element.elementor-element-c5a47d0{width:var( --container-widget-width, 800px );max-width:800px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:800px;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-2168 .elementor-element.elementor-element-c5a47d0.elementor-element{--align-self:center;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-field-group > label, .elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-field-subgroup label{color:#6F6F6F;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-field-group > label{font-family:"Noto Sans JP", Sans-serif;font-weight:400;letter-spacing:1px;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-field-type-html{padding-bottom:0px;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-field-group .elementor-field, .elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-field-subgroup label{font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:400;letter-spacing:1px;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-button{font-family:"Noto Sans JP", Sans-serif;font-weight:500;letter-spacing:1px;padding:30px 60px 30px 60px;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .e-form__buttons__wrapper__button-next{background-color:#015EEA;color:#ffffff;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-button[type="submit"]{background-color:#015EEA;color:#ffffff;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .e-form__buttons__wrapper__button-next:hover{background-color:#1A488D;color:#ffffff;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-button[type="submit"]:hover{background-color:#1A488D;color:#ffffff;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-2168 .elementor-element.elementor-element-c5a47d0 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-2168 .elementor-element.elementor-element-965a26b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-2168 .elementor-element.elementor-element-ca45492{--width:300px;}.elementor-2168 .elementor-element.elementor-element-b90552a{--width:20px;}}@media(max-width:767px){.elementor-2168 .elementor-element.elementor-element-5d5f764{--min-height:170px;border-width:0px 20px 0px 20px;--border-top-width:0px;--border-right-width:20px;--border-bottom-width:0px;--border-left-width:20px;}.elementor-2168 .elementor-element.elementor-element-ca45492{--width:140px;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;top:44px;}body:not(.rtl) .elementor-2168 .elementor-element.elementor-element-ca45492{left:-10px;}body.rtl .elementor-2168 .elementor-element.elementor-element-ca45492{right:-10px;}.elementor-2168 .elementor-element.elementor-element-5885d5b .elementor-heading-title{font-size:30px;line-height:1em;}.elementor-2168 .elementor-element.elementor-element-67ad1bc{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 4px;}.elementor-2168 .elementor-element.elementor-element-67ad1bc .elementor-heading-title{font-size:12px;line-height:1em;}.elementor-2168 .elementor-element.elementor-element-b90552a{--width:10px;top:32px;}body:not(.rtl) .elementor-2168 .elementor-element.elementor-element-b90552a{right:-14px;}body.rtl .elementor-2168 .elementor-element.elementor-element-b90552a{left:-14px;}.elementor-2168 .elementor-element.elementor-element-bc35813 .elementor-heading-title{font-size:10px;}.elementor-2168 .elementor-element.elementor-element-948f702{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-2168 .elementor-element.elementor-element-7405894{padding:8px 0px 8px 0px;font-size:10px;}.elementor-2168 .elementor-element.elementor-element-02a3e59{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-2168 .elementor-element.elementor-element-e5ad40e{--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-2168 .elementor-element.elementor-element-f1f1e24{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-2168 .elementor-element.elementor-element-31f4206 .elementor-heading-title{font-size:14px;}.elementor-2168 .elementor-element.elementor-element-3ff3002 .elementor-heading-title{font-size:40px;line-height:1em;}.elementor-2168 .elementor-element.elementor-element-c5a47d0{padding:0px 20px 0px 20px;}}/* Start custom CSS for heading, class: .elementor-element-bc35813 */.text-vertical {
  /* 縦書き（右から左へ改行）に設定 */
  writing-mode: vertical-rl;
  /* IE/Edgeの古いバージョン用の対策 */
  -ms-writing-mode: tb-rl;
  
  /* 文字の向きを直立（標準）に設定 */
  text-orientation: mixed;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b3f0042 */.flow-container {
    max-width: 800px;
    margin: 0px auto;
    font-family: sans-serif;
  }
  .flow-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 30px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  }
  .step-header {
    background-color: #015EEA;
    color: #ffffff;
    display: inline-block;
    padding: 4px 12px;
    border-radius: 6px;
    font-weight: bold;
    font-size: 0.9rem;
    margin-bottom: 8px;
  }
  .flow-text h3 {
    color: #333333;
    margin: 0 0 10px 0;
    font-size: 1.3rem;
  }
  .flow-text p {
    color: #333333;
    line-height: 1.7;
    margin: 0;
    font-size: 0.95rem;
  }
  .flow-img { 
    width: 240px; 
    flex-shrink: 0; 
  }
  .flow-img img { 
    width: 100%; 
    height: auto;
    display: block; 
  }

  /* レスポンシブ対応 */
  @media (max-width: 600px) {
    .flow-card { flex-direction: column; text-align: center; gap: 15px; }
    .flow-img { width: 150px; }
    .flow-text p {
  
    font-size: 14px;
  }
  }
  .fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
  }
  .fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
  }/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-c5a47d0 *//* ========== Elementor Form: 左ラベル／右入力（2カラム） ========== */
.form--side-label .elementor-form-fields-wrapper{
  display: grid;
  gap: 18px; /* 行間 */
}

/* 各フィールドを2カラムに */
.form--side-label .elementor-field-group{
  display: grid;
  grid-template-columns: 220px minmax(0,1fr); /* 左:ラベル幅／右:入力 */
  align-items: center;
  gap: 14px;
}

/* ラベル体裁 */
.form--side-label .elementor-field-label{
  margin: 0;
  color: #fff;              /* ダーク背景想定：必要に応じて調整 */
  font-weight: 600;
  letter-spacing: .02em;
}

/* テキストエリアなどは上揃えに */
.form--side-label .elementor-field-group.elementor-field-type-textarea{
  align-items: start;
}

/* 送信ボタン行：右列に合わせる（左ラベル余白を空ける） */
.form--side-label .elementor-field-group.elementor-field-type-submit,
.form--side-label .e-form__buttons{
  grid-column: 2;
  justify-content: flex-start;
}

/* チェックボックス／ラジオの並び微調整 */
.form--side-label .elementor-field-type-checkbox .elementor-field-subgroup,
.form--side-label .elementor-field-type-acceptance .elementor-field-subgroup,
.form--side-label .elementor-field-type-radio .elementor-field-subgroup{
  display: grid;
  gap: 8px;
}

/* ========== 必須マーク：* を「必須」バッジに ========== */
/* Elementorの必須マークは .elementor-mark-required（環境で名称が異なる場合あり） */
.form--side-label .elementor-field-label .elementor-mark-required{
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px 3px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  background: #E94E77;   /* バッジ背景色（お好みで） */
  color: #fff;
  vertical-align: middle;
  /* 既存の「*」を消して擬似要素で文言を出す */
  font-family: inherit;
  position: relative;
  overflow: hidden;
}
.form--side-label .elementor-field-label .elementor-mark-required::before{
  content: "必須";
}
.form--side-label .elementor-field-label .elementor-mark-required{
  /* 一部環境で * が残る場合の保険（0にして擬似要素で表示） */
  font-size: 0;
}

/* ========== レスポンシブ（タブレット／スマホ） ========== */
@media (max-width: 1024px){
  .form--side-label .elementor-field-group{
    grid-template-columns: 180px minmax(0,1fr);
  }
}

@media (max-width: 640px){
  .form--side-label .elementor-field-group{
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  /* スマホではラベルの上→入力の縦積み */
  .form--side-label .elementor-field-label{ margin-bottom: 6px; }
  /* 送信ボタンは全幅のまま中央 or 左寄せ（好みで） */
  .form--side-label .elementor-field-group.elementor-field-type-submit,
  .form--side-label .e-form__buttons{
    grid-column: 1;
    justify-content: center; /* 左寄せにしたい場合は flex-start */
  }
}
/* ▼フォーム全体にこのクラスを付与： form--side-label */
/* フィールドを必ず1列（フル幅）にする：Elementorの列設定を無効化 */
.form--side-label .elementor-form-fields-wrapper{
  /* Elementorが使う列数のCSS変数を強制リセット（対応ver用） */
  --e-form-columns: 1 !important;
  --grid-columns: 1 !important;
}

/* グリッド系テンプレでも必ず1行に展開 */
.form--side-label .elementor-form-fields-wrapper{
  display: grid;               /* 左ラベル／右入力のための土台 */
  gap: 18px;
}

/* 各フィールドを1行扱いに固定（横2分割を禁止） */
.form--side-label .elementor-field-group{
  /* ここで左:ラベル幅 右:入力 の2カラムに分ける */
  display: grid !important;
  grid-template-columns: 250px minmax(0,1fr) !important;
  align-items: center;
  gap: 14px;
  /* Elementorの2カラム指定を打ち消す保険 */
  width: 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;   /* span指定を無効化 */
  flex: 0 0 100% !important;
}

/* ラベル体裁 */
.form--side-label .elementor-field-label{
  margin: 0;
  font-weight: 600;
}

/* テキストエリアは上揃え */
.form--side-label .elementor-field-group.elementor-field-type-textarea{
  align-items: start;
}

/* 送信ボタン行は右列に合わせる（左のラベル幅を空けない） */
.form--side-label .elementor-field-group.elementor-field-type-submit,
.form--side-label .e-form__buttons{
  grid-column: 2 !important;
  justify-content: flex-start;
}

/* スマホは縦積み（ラベル→入力） */
@media (max-width: 640px){
  .form--side-label .elementor-field-group{
    grid-template-columns: 1fr !important;
    align-items: stretch;
  }
  .form--side-label .elementor-field-label{ margin-bottom: 6px; }
  .form--side-label .elementor-field-group.elementor-field-type-submit,
  .form--side-label .e-form__buttons{
    grid-column: 1 !important;
    justify-content: center;
  }
}
/* ▼フォーム全体に付けたクラス（例） */
.form--side-label {

  /* 送信ボタン行を “右列（2列目）に揃えて” 自在に整列 */
  /* ElementorのDOM差異に対応して両方指定 */
  /* 1) 送信ボタンが .elementor-field-group に入っている場合 */
  /* 2) 送信ボタンが .e-form__buttons だけで出ている場合 */
}
.form--side-label .elementor-field-group.elementor-field-type-submit,
.form--side-label .e-form__buttons{
  grid-column: 2 / 3 !important;   /* 入力欄の列に置く */
  justify-content: flex-start;     /* 左寄せ */
  align-items: flex-start;         /* 上揃え（テキストエリア横にならない） */
  margin-top: 10px;                /* ひと呼吸あける（任意） */
}

/* 念のため、送信ボタンの自己整列も左に固定 */
.form--side-label .elementor-field-group.elementor-field-type-submit{
  justify-self: start;             /* グリッド内で左端に */
  align-self: start;               /* 行の上に */
  display: block;                  /* 余計な2カラム化を防止 */
}

/* Elementorのボタンラッパーが横幅を縮めないように */
.form--side-label .e-form__buttons,
.form--side-label .elementor-field-group.elementor-field-type-submit .elementor-button-wrapper{
  width: auto;
}

/* 余計な margin-left が入っていた場合のリセット */
.form--side-label .elementor-button{
  margin-left: 0 !important;
}

/* スマホでは1列にして中央寄せ（お好みで left に） */
@media (max-width: 640px){
  .form--side-label .elementor-field-group.elementor-field-type-submit,
  .form--side-label .e-form__buttons{
    grid-column: 1 / -1 !important;
    justify-content: center;       /* ←左寄せが良ければ flex-start に変更 */
    margin-top: 12px;
  }
}
/* ========= 送信ボタンの位置だけを安定させる最小パッチ ========= */
/* ラベル幅を変えるときはここを変更（PC/タブレット） */
.form--side-label{ --label-w:220px; --label-w-md:180px; }

/* 入力欄は既存の「左ラベル／右入力」のまま */

/* 送信ボタン行を“右列の頭”に合わせる：左インデントで吸収 */
.form--side-label .e-form__buttons,
.form--side-label .elementor-field-group.elementor-field-type-submit{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;

  /* ラベルと同じ幅だけ押し下げる（横にズラす）*/
  padding-left: var(--label-w);

  /* 余計な指定をリセット */
  margin-left: 0 !important;
  width: 100%;
  grid-column: 1 / -1 !important;  /* グリッド列指定は使わない */
}

/* タブレット：ラベル幅に合わせてインデント縮小 */
@media (max-width:1024px){
  .form--side-label{ --label-w: var(--label-w-md); }
}

/* スマホ：縦積みなのでインデントなし＋中央寄せ（左寄せにしたければ flex-start） */
@media (max-width:640px){
  .form--side-label{ --label-w: 0px; }
  .form--side-label .e-form__buttons,
  .form--side-label .elementor-field-group.elementor-field-type-submit{
    padding-left: 0;
    justify-content: center !important; /* ←左寄せなら flex-start */
  }
}
/* =======================
   送信ボタン：常に中央寄せ
   ======================= */
.form--side-label .e-form__buttons,
.form--side-label .elementor-field-group.elementor-field-type-submit{
  /* 2カラム位置指定は使わずフル幅の独立行にする */
  grid-column: 1 / -1 !important;
  padding-left: 0 !important;
  margin-left: 0 !important;

  display: flex !important;
  justify-content: center !important;  /* ←中央寄せ */
  align-items: center !important;
  width: 100%;
}

/* （任意）スマホで全幅ボタンにしたい場合は解除コメントをON
.form--side-label .e-form__buttons .elementor-button,
.form--side-label .elementor-field-group.elementor-field-type-submit .elementor-button{
  width: 100%;
  max-width: 420px;  // 好みで
}
*/

/* ==============================
   Required Mark を「必須」バッジに
   ============================== */
/* Elementorの環境によりクラスが異なることがあるので両対応 */
.form--side-label .elementor-field-label .elementor-mark-required,
.form--side-label .elementor-field-label .elementor-required{
  font-size: 0;                 /* 既存の * を消す */
  margin-left: 8px;
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* バッジ（アイコン風） */
.form--side-label .elementor-field-label .elementor-mark-required::before,
.form--side-label .elementor-field-label .elementor-required::before{
  content: "必須";
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #E94E77;          /* バッジ色：お好みで */
  border-radius: 999px;
  padding: 3px 8px;
  letter-spacing: .02em;
  display: inline-block;
  transform: translateY(-1px);  /* ベースライン微調整 */
}

/* （任意）薄い枠にしたい場合は以下をON
.form--side-label .elementor-field-label .elementor-mark-required::before,
.form--side-label .elementor-field-label .elementor-required::before{
  background: transparent;
  color: #E94E77;
  border: 1px solid #E94E77;
}
*/
/* 必須マークを「必須」バッジに置き換え（このフォームだけに適用） */
.form--side-label .elementor-mark-required .elementor-field-label::after{
  content: "必須";                 /* ← “*” を上書き */
  display: inline-block;
  margin-left: 8px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;

  color: #fff;
  background: #E94E77; }   
  /* 送信完了メッセージを目立たせる */
.elementor-message-success {
    background-color: #f8fafd !important; /* 薄い青背景 */
    border: 2px solid #4F5C7F !important; /* 塾のテーマカラー */
    border-radius: 12px !important;
    color: #1e2e3d !important;
    padding: 25px !important;
    margin-top: 20px !important;
    font-weight: bold !important;
    font-family: "Hiragino Kaku Gothic ProN", sans-serif !important;
    text-align: center !important;
    line-height: 1.8 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
}

/* スマホでは文字サイズを調整 */
@media (max-width: 768px) {
    .elementor-message-success {
        font-size: 14px !important;
        padding: 20px !important;
    }
}
/* --- 入力欄をクリックした際（フォーカス時）の枠色と影 --- */
.form--side-label .elementor-field-textual:focus,
.form--side-label .elementor-field-textual:active {
    border-color: #4F5C7F !important;      /* 枠の色（テーマカラー等に変更可） */
    outline: none !important;              /* ブラウザ標準の青枠を消す */
    box-shadow: 0 0 0 3px rgba(79, 92, 127, 0.2) !important; /* ふわっと光るような影 */
    transition: all 0.3s ease !important;  /* 色が変わるアニメーション */
}

/* フォームのラベルのフォーカス連動（任意：クリックした時にラベルも強調したい場合） */
.form--side-label .elementor-field-group:focus-within .elementor-field-label {
    color: #4F5C7F !important;             /* ラベルの色を強調 */
    transition: color 0.3s ease !important;
}/* End custom CSS */