.elementor-4221 .elementor-element.elementor-element-295486c{--display:flex;--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;--margin-top:8px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4221 .elementor-element.elementor-element-81b6944{--display:flex;--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;--margin-top:8px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-4221 .elementor-element.elementor-element-50caaa4 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-4221 .elementor-element.elementor-element-6351557{--display:flex;--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;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4221 .elementor-element.elementor-element-7e13ef2{font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-4221 .elementor-element.elementor-element-e058c04{--display:flex;--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;}.elementor-4221 .elementor-element.elementor-element-306e00d{--display:flex;--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;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-4221 .elementor-element.elementor-element-81b6944{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-4221 .elementor-element.elementor-element-81b6944{--width:100%;}}@media(max-width:1024px){.elementor-4221 .elementor-element.elementor-element-81b6944{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4221 .elementor-element.elementor-element-e058c04{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-4221 .elementor-element.elementor-element-81b6944{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}/* Start custom CSS for text-editor, class: .elementor-element-50caaa4 *//* ベース：このウィジェット内のボタンリスト共通 */
.elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* 上段：PCは3列 */
.elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list.top li{
  flex: 1 1 calc(33.333% - 8px);
}

/* 下段：必ず2分割（左右固定） */
.elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list.bottom{
  display: flex;
  flex-direction: row !important;    /* row-reverse を強制無効化 */
}
.elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list.bottom li{
  flex: 1 1 calc(50% - 8px) !important;
  order: initial !important;         /* 既存の order を打ち消し */
}
/* 念のため、左→右の順を明示固定 */
.elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list.bottom li:first-child{ order: 1 !important; }
.elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list.bottom li:last-child { order: 2 !important; }

/* 2段の間の余白 */
.elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list.top + .button-list.bottom{ margin-top: 8px; }

/* ボタンの見た目 */
.elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list li a{
  display: block;
  text-decoration: none;
  text-align: center;
  background: #0e3f73;       /* 濃紺 */
  color: #fff;
  border-radius: 10px;
  padding: 14px 12px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  transition: background .2s ease, transform .02s ease;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.06);
}
.elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list li a:hover{ background: #145b9e; }

/* 強調（青）したいボタンに .highlight を付ける */
.elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list li a.highlight{ background: #2589d0; }
.elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list li a.highlight:hover{ background: #0e63aa; }

/* レスポンシブ：タブレット/スマホは2列 */
@media (max-width: 1024px){
  .elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list.top li{ flex: 1 1 calc(50% - 8px); }
}
@media (max-width: 600px){
  .elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list.top li{ flex: 1 1 calc(50% - 8px); }
  .elementor-4221 .elementor-element.elementor-element-50caaa4 .button-list.bottom li{ flex: 1 1 calc(50% - 8px) !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-81b6944 *//* メニュー全体のUL */
.line-banner-area ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 960px; /* バナーに合わせる */
  margin: 0 auto;    /* 中央揃え */
  padding: 0;
  list-style: none;
}

/* 各LI要素の幅設定：3列 */
.line-banner-area ul li {
  flex: 1 1 calc(33.333% - 8px);
  height: 100%;
}

/* ボタンとして見せるAタグ */
.line-banner-area ul li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 12px;
  height: 100%;
  width: 100%;
  text-align: center;
  text-decoration: none;
  background-color: #004080;
  color: #fff;
  border-radius: 6px;
}
@media (max-width: 1024px) {
  .line-banner-area ul {
    flex-direction: column;
    max-width: 100%; /* スマホでは全幅 */
  }

  .line-banner-area ul li {
    flex: 1 1 auto;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7e13ef2 *//* 問い合わせフォームの説明文に余白を追加 */
.entry-content .form-description{
  margin-top: 28px;   /* 上に余白を追加 */
  margin-bottom: 20px; /* 下も少し広げる（任意） */
  font-size: 16px;
  color: #666;
  text-align: center; /* 中央寄せにしたい場合 */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e058c04 *//* =====================================
   共通：見出しスタイル
===================================== */
.entry-content h2,
h2.section-title {
  border-bottom: 2px solid #222;
  padding-bottom: .6em;
  margin-bottom: 1em;
}

/* =====================================
   お問い合わせフォーム本体テーブル
===================================== */
.class-contact-form {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #eee;
}

.class-contact-form th,
.class-contact-form td {
  border-top: 1px solid #eee;
  padding: 14px 16px;
  vertical-align: middle;
}

.class-contact-form tr:first-child th,
.class-contact-form tr:first-child td {
  border-top: none;
}

.class-contact-form th {
  width: 28%;
  background: #f2f7fc;
  font-weight: 600;
  color: #333;
}

/* 必須／任意バッジ */
.class-contact-form .required,
.class-contact-form .optional {
  display: inline-block;
  min-width: 2.5em;
  padding: 2px 8px;
  margin-right: 8px;
  border-radius: 18px;
  line-height: 1.6;
  font-size: 12px;
  color: #fff;
  text-align: center;
}

.class-contact-form .required { background: #f05a7e; }
.class-contact-form .optional { background: #7aa7e9; }

/* 入力要素 */
.class-contact-form input[type="text"],
.class-contact-form input[type="email"],
.class-contact-form input[type="tel"],
.class-contact-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d9e1ec;
  background: #fff;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 15px;
  color: #333;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}

.class-contact-form textarea {
  min-height: 220px;
  resize: vertical;
}

.class-contact-form input:focus,
.class-contact-form textarea:focus {
  border-color: #6aa0ff;
  box-shadow: 0 0 0 3px rgba(106, 160, 255, .15);
}

/* テーブル内は基本左揃え */
.class-contact-form th,
.class-contact-form td,
.class-contact-form input,
.class-contact-form select,
.class-contact-form textarea {
  text-align: left !important;
}

/* プルダウンも左寄せ */
.class-contact-form select {
  text-align: left;
  text-align-last: left; /* Chrome／Edge */
}

/* プレースホルダーも左寄せ */
.class-contact-form ::placeholder {
  text-align: left;
}

/* ― スマホ：テーブルを縦積み ― */
@media (max-width: 768px) {
  .class-contact-form th,
  .class-contact-form td {
    display: block;
    width: 100%;
    border-top: none;
    padding: 10px 12px;
  }

  .class-contact-form tr {
    border-top: 1px solid #eee;
  }

  .class-contact-form tr:first-child {
    border-top: none;
  }
}

/* =====================================
   CF7：プライバシーリンク＋同意＋送信ボタン
   3行まとめて中央揃え（flex使わない版）
===================================== */

/* 3 行（リンク／同意／ボタン）を包む箱 */
.entry-content .cf7-center {
  width: 100%;
  max-width: 480px;
  margin: 12px auto 0 !important;  /* 上の余白少なめで中央寄せ */
  text-align: center !important;    /* 子要素の基準を中央に */
}

/* 中の3要素はブロックで縦積み */
.entry-content .cf7-center > * {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

/* プライバシーポリシーの一行 */
.entry-content .cf7-center .pp-link {
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-size: 12px;
}

.entry-content .cf7-center .pp-link a {
  color: #3b7bdc;
  text-decoration: underline;
}

.entry-content .cf7-center .pp-link a:hover {
  text-decoration: none;
}

/* 同意チェック行（全体は中央、文言は読みやすく左寄せ） */
.entry-content .cf7-center .cf7-accept {
  margin: 0 0 4px !important;
  padding: 0 !important;
  text-align: center !important;
}

/* CF7 が出力する .wpcf7-acceptance を“塊”として中央に */
.entry-content .wpcf7 form .wpcf7-acceptance {
  display: inline-block !important;  /* 中央揃えの対象をコンテンツ幅に */
  text-align: left !important;       /* 中のテキストは左寄せ */
}

/* ラベル内（チェックボックス＋テキスト） */
.entry-content .wpcf7 form .wpcf7-acceptance label {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  cursor: pointer;
  line-height: 1.3;
  margin: 0;
}

/* チェックボックスの大きさ */
.entry-content .wpcf7 form .wpcf7-acceptance input[type="checkbox"] {
  width: 18px;
  height: 18px;
  vertical-align: middle;
}

/* 送信ボタン行 */
.entry-content .cf7-center .cf7-submit-wrap {
  margin: 4px 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

/* 送信ボタン本体（必ずど真ん中） */
.entry-content .cf7-center #formbtn {
  display: inline-block !important;
  background: #4a87d7;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 14px 28px;
  font-size: 16px;
  cursor: pointer;
  transition: background .2s, transform .02s;
  float: none !important;
  margin: 0 auto !important;  /* 中央固定 */
}

.entry-content .cf7-center #formbtn:hover {
  background: #3c75c5;
}

.entry-content .cf7-center #formbtn:active {
  transform: translateY(1px);
}

/* フォーム末尾の余白を詰める */
.entry-content .wpcf7 form,
.entry-content .wpcf7 form p:last-child {
  margin-bottom: 0 !important;
}

/* スマホ：少しだけ箱を細くして“中央感”を出す */
@media (max-width: 480px) {
  .entry-content .cf7-center {
    max-width: 360px;
  }
}

/* ▼ プライバシーポリシーリンクを強制ど真ん中にする */
.entry-content .cf7-center .pp-link {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100%;
  margin: 0 auto 4px !important;
  padding: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;   /* テーマの字下げを打ち消す */
}

/* 中の a にも余計な字下げが付かないようにする */
.entry-content .cf7-center .pp-link a {
  display: inline-block;
  text-indent: 0 !important;
}
/* ▼ プライバシーポリシーリンクを強制ど真ん中にする */
.entry-content .cf7-center .pp-link {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100%;
  margin: 0 auto 4px !important;
  padding: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;   /* テーマの字下げを打ち消す */
}

/* 中の a にも余計な字下げが付かないようにする */
.entry-content .cf7-center .pp-link a {
  display: inline-block;
  text-indent: 0 !important;
}
/* ページIDは実際のIDに置き換え */
.page-id-123 .site-content .ast-container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
/* ▼ 送信ボタンだけを右にずらす（全デバイスで一定） */
.entry-content .cf7-center #formbtn {
  position: relative;
  left: 45px;   /* ← ここを調整して好みの位置に（8〜16pxが無難） */
}/* End custom CSS */