.elementor-1030 .elementor-element.elementor-element-7d6b96a2{--display:flex;--justify-content:space-evenly;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-1030 .elementor-element.elementor-element-7d6b96a2.e-con{--align-self:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1030 .elementor-element.elementor-element-8d6a78d{--display:flex;}.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-1030 .elementor-element.elementor-element-aeb968a .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-field-type-html{padding-bottom:0px;}.elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-1030 .elementor-element.elementor-element-aeb968a .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-button[type="submit"]{color:#ffffff;}.elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-1030 .elementor-element.elementor-element-aeb968a .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1030 .elementor-element.elementor-element-aeb968a .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-1030 .elementor-element.elementor-element-aeb968a .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-1030 .elementor-element.elementor-element-aeb968a .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-1030 .elementor-element.elementor-element-aeb968a{--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-1030 .elementor-element.elementor-element-07ad201{--display:flex;}.elementor-1030 .elementor-element.elementor-element-c4052d4{--display:flex;}/* Start custom CSS for text-editor, class: .elementor-element-3b8e54d4 *//* =========================================================
  Common: center align
========================================================= */
.infotxt,
.telcta,
.fromlinkarea {
  text-align: center;
}
.fromlinkarea {
    padding-top: 5px;
}
/* =========================================================
  Info
========================================================= */
.infotxt {
  margin: 20px auto 28px;
  padding: 0 16px;
}

.infotxt p {
  margin: 0;
  line-height: 1.8;
}

/* =========================================
   TEL CTA（.telcta）
   - カード化 / 幅統一 / 電話を主CTAボタン化
========================================= */

.telcta{
  max-width: 920px;
  margin: 0 auto 26px;
  padding: 22px 18px;
  background: #EEF5FF;
  border: 1px solid #CFE1FF;
  border-radius: 16px;
  text-align: center;
}

/* 営業時間 */
.telcta__hours{
  margin: 6px 0 12px;
  color: #1f2f46;
  font-weight: 700;
}

/* リストの余白リセット */
.telcta__list{
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 電話ボタン */
.telcta__tel a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(560px, 100%);
  padding: 14px 18px;
  border-radius: 14px;
  background: #196d94;
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .03em;
  border: 1px solid rgba(30, 90, 168, .25);
  box-shadow: 0 10px 20px rgba(30, 90, 168, .18);
  transition: filter .15s ease, transform .05s ease;
}

.telcta__tel a:hover{
  filter: brightness(.95);
}

.telcta__tel a:active{
  transform: translateY(1px);
}


/* SP微調整 */
@media (max-width: 767px){
  .telcta{
    padding: 18px 14px;
    border-radius: 14px;
    margin-bottom: 22px;
  }
  .telcta__tel a{
    min-width: 100%;
  }
}


/* =========================================================
  Section Headings (TEL / Form / Gform)
========================================================= */
.teltit,
.fromlinkarea h2,
.gformarea h2 {
  position: relative;
  margin: 0 0 16px;
  padding: 6px 10px 14px;
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .02em;
  color: #1f66b0;
}

.teltit::after,
.fromlinkarea h2::after,
.gformarea h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  margin: 10px auto 0;
  background: currentColor;
  border-radius: 999px;
  opacity: .85;
}

.teltit {
  text-align: center;
  position: relative;
  margin: 0 0 16px;
  padding: 6px 10px 14px;
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .02em;
  color: #196d94;
}

.teltit::after {
  background: #196d94;

}
/* =========================================================
  Department Buttons (Grid unified)
========================================================= */
.contact-dept {
  max-width: 920px;
  margin: 20px auto 40px;     /* 60px → 40px に調整 */
  padding: 20px 16px;         /* 2rem → 20px で密度を調整 */
  background: #cccccc30;
}

.contact-dept__title {
  margin: 0 0 12px;           /* 14px → 12px */
  font-size: 18px;
  font-weight: 700;
}

.contact-dept__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  max-width: 920px;
  margin: 0 auto;
  gap: 10px;
  aline-items: center;
}
.contact-dept__grid br {
  display: none;
}
.dept-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 360px;           /* 1枚の最大幅 */
  min-height: 44px;           /* 48 → 44 にして間延び解消 */
  padding: 10px 14px;         /* 12 → 10 にして密度UP */
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid #1e5aa8;
  color: #1e5aa8;
  background: #fff;
  line-height: 1.2;
  transition: transform .06s ease, background .15s ease, color .15s ease;
}
.dept-btn a {
    font-size: 17px;
}

.dept-btn:hover {
  background: #1e5aa8;
  color: #fff;
}

.dept-btn:active {
  transform: translateY(1px);
}

.dept-btn:focus-visible {
  outline: 3px solid rgba(30, 90, 168, .35);
  outline-offset: 2px;
}

/* =========================================================
  Anchor adjust (if fixed header)
========================================================= */
#contact-form {
  scroll-margin-top: 90px;
}

/* =========================================================
  iframe
========================================================= */
.contact-iframe {
  max-width: 100%;
  width: 640px;
  height: 2000px;
  border: 0;
  display: block;
  margin: 18px auto 0;
}


/* 会社へのお問い合わせ（代表） */
.contact-company{
  max-width: 920px;
  margin: 20px 0px 20px;
  padding: 20px 18px;
  background: #F6F8FB;
  border: 1px solid #D9E1EC;
  border-radius: 14px;
  text-align: center;
}

.contact-company__lead{
  margin: 0 0 14px;
  font-weight: 700;
  color: rgba(0,0,0,.70);
  letter-spacing: .02em;
}

/* 代表ボタン（主役） */
.company-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(560px, 100%);
  min-height: 54px;
  padding: 12px 18px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid #1f66b0;
  background: #1f66b0;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(31,102,176,.18);
  transition: transform .06s ease, filter .15s ease, box-shadow .15s ease;
}

.company-btn:hover{
  filter: brightness(1.04);
  box-shadow: 0 14px 28px rgba(31,102,176,.22);
}

.company-btn:active{
  transform: translateY(1px);
}

.company-btn:focus-visible{
  outline: 3px solid rgba(31,102,176,.35);
  outline-offset: 2px;
}


/* 部署別お問い合わせブロック */
.contact-dept{
  max-width: 920px;
  margin: 40px auto 24px;
  padding: 18px 16px;
  background: #FFFFFF;
  border: solid 1px #DCE7FF;
  border-radius: 14px;
}

.contact-dept__title{
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .02em;
}

/* グリッドの余白を最適化 */
.contact-dept__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px 14px;      /* ← 余白が大きいならここが最重要 */
  justify-items: center;
}

/* 部署ボタン：高さと余白を少し締める */
.dept-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 360px;
  min-height: 46px;
  padding: 10px 14px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid #1f66b0;
  color: #1f66b0;
  background: #fff;
  transition: transform .06s ease, background .15s ease, color .15s ease;
}

.dept-btn:hover{
  background: #1f66b0;
  color: #fff;
}

.dept-btn:active{
  transform: translateY(1px);
}


.contact-note{
  margin: 14px auto 18px;
  text-align: center;
  font-size: 13px;
  color: rgba(0,0,0,.65);
  line-height: 1.7;
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-aeb968a *//* =========================================
   Star Summit Contact Form (Elementor)
   scope: .ss-contact-form
========================================= */

/* フォーム全体を上と同じ幅に揃えて中央配置 */
.ss-contact-form .elementor-form{
  max-width: 920px;
  width: 100%;
  margin: 0 auto;
  padding: 22px 18px 18px;
  background: #f5f7fb;
  border: 1px solid rgba(30, 90, 168, .18);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}

/* 余白調整（フォーム内のグループ間） */
.ss-contact-form .elementor-field-group{
  margin-bottom: 14px;
}

/* ラベル */
.ss-contact-form .elementor-field-label{
  display: inline-block;
  margin: 0 0 6px;
  font-weight: 700;
  color: #1f2f46;
}

/* 必須マーク（Elementorの*） */
.ss-contact-form .elementor-field-label .required{
  color: #d12c2c;
  font-weight: 800;
}

/* input / select / textarea 共通 */
.ss-contact-form .elementor-field,
.ss-contact-form select.elementor-field,
.ss-contact-form textarea.elementor-field{
  width: 100%;
  border: 1px solid rgba(31, 47, 70, .22);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
  color: #15263d;
  transition: border-color .15s ease, box-shadow .15s ease;
}

/* フォーカス */
.ss-contact-form .elementor-field:focus,
.ss-contact-form select.elementor-field:focus,
.ss-contact-form textarea.elementor-field:focus{
  outline: none;
  border-color: rgba(30, 90, 168, .65);
  box-shadow: 0 0 0 4px rgba(30, 90, 168, .15);
}

/* textarea高さ（任意） */
.ss-contact-form textarea.elementor-field{
  min-height: 180px;
  resize: vertical;
}

/* 送信ボタン（上の代表ボタンとトーンを合わせる） */
.ss-contact-form .elementor-button{
  width: 100%;
  max-width: 560px;
  margin: 8px auto 0;
  display: block;
  background: #1e5aa8;
  border-radius: 14px;
  padding: 14px 18px;
  font-weight: 800;
  letter-spacing: .02em;
  border: 1px solid rgba(30, 90, 168, .25);
  box-shadow: 0 10px 20px rgba(30, 90, 168, .18);
}

.ss-contact-form .elementor-button:hover{
  filter: brightness(0.95);
}

.ss-contact-form .elementor-button:active{
  transform: translateY(1px);
}

/* 成功/エラー表示を見やすく */
.ss-contact-form .elementor-message{
  margin-top: 12px;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 700;
}

.ss-contact-form .elementor-message.elementor-message-success{
  background: rgba(30, 168, 90, .10);
  border: 1px solid rgba(30, 168, 90, .22);
}

.ss-contact-form .elementor-message.elementor-message-danger{
  background: rgba(209, 44, 44, .10);
  border: 1px solid rgba(209, 44, 44, .22);
}

/* SP微調整 */
@media (max-width: 767px){
  .ss-contact-form .elementor-form{
    padding: 18px 14px 14px;
    border-radius: 14px;
  }
  .ss-contact-form .elementor-button{
    max-width: 100%;
  }
}/* End custom CSS */