
.form-consent{font-size:11px;line-height:1.5;color:#6b7684;margin:6px 0 0;text-align:center;}

/* ------------------------------------------------------------------ 申込の流れ
   ボタンを押すと電話の発信画面が開くため、何が起きるかを先に伝えておく。
   ＬＰ本体のデザインに合わせて、色や余白は調整してください。 */
.entry-steps{background:rgba(255,255,255,.92);border:1px solid #d9e4e8;border-radius:10px;
  padding:12px 12px 10px;margin:4px 0 10px;text-align:left;}
.entry-steps-title{font-size:11px;font-weight:700;letter-spacing:.08em;color:#0b4655;
  margin:0 0 8px;text-align:center;}
.entry-steps-list{list-style:none;margin:0;padding:0;}
.entry-steps-list li{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;}
.entry-steps-list li:last-child{margin-bottom:0;}
.entry-steps .es-no{flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#0b4655;
  color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;margin-top:1px;}
.entry-steps .es-tx{font-size:12px;line-height:1.55;color:#33414b;}
.entry-steps .es-tx b{color:#0b4655;}
.entry-steps .es-tx small{display:block;font-size:11px;line-height:1.65;color:#6b7684;margin-top:3px;}
.entry-steps-why{font-size:11px;line-height:1.6;color:#6b7684;margin:9px 0 0;padding-top:8px;
  border-top:1px dashed #d9e4e8;text-align:center;}
.entry-steps-why b{color:#0b7a4b;}
@media (max-width:620px){
  .entry-steps{padding:10px 10px 8px;}
  .entry-steps .es-tx{font-size:11.5px;}
}
/* キービジュアルの上に重ねているフォーム（.hero-form-wrap）では、
   高さが増えると画像からはみ出して表示が崩れるため、広い画面では出さない。
   ※ 広い画面向けに流れを見せる場合は、キービジュアルの外へ別途配置してください。 */
@media (min-width:900px){
  .hero-form-wrap .entry-steps{display:none;}
}
.form-error{font-size:12px;line-height:1.6;color:#c62828;background:#fdecea;border:1px solid #f5c2bd;
            border-radius:6px;padding:8px 10px;margin:8px 0 0;}
.invitation-form[aria-busy="true"] .submit-invitation{opacity:.55;pointer-events:none;}
/* お名前を姓・名の2欄に分ける。
   input は label の直下のままにして、既存のＣＳＳ（枠線・高さ・文字サイズ）をそのまま効かせ、
   並べ方だけを上書きする。
   ※ 既存ＣＳＳ（styles.css / variant.css）の指定が勝つため !important で確実に上書きしている。
     外部ＣＳＳ側に取り込む場合は !important を外してよい。 */
.invitation-form label.name-2col{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  column-gap:6px !important;
  row-gap:0 !important;
  align-items:end !important;
}
.invitation-form label.name-2col > span{grid-column:1 / -1 !important;}
.invitation-form label.name-2col > input{width:100% !important;min-width:0 !important;box-sizing:border-box !important;}
/* 狭い画面で例示が切れても入力の妨げにならないよう、はみ出しを隠す */
.invitation-form label.name-2col > input::placeholder{overflow:hidden;text-overflow:ellipsis;}

/* ------------------------------------------------------------------ 発信パネル
   受付が登録できたあとに表示する。既存の完了レイヤー（#static-delivery-layer）と
   同じ見え方になるよう、最前面に重ねる。 */
#entry-call-layer{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:rgba(8,38,46,.86);padding:20px;}
#entry-call-layer[hidden]{display:none;}
#entry-call-layer .ecl-card{background:#fff;border-radius:14px;max-width:420px;width:100%;
  padding:26px 22px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.3);}
#entry-call-layer .ecl-step{font-size:11px;letter-spacing:.14em;color:#0b4655;margin:0 0 6px;}
#entry-call-layer h2{font-size:21px;line-height:1.45;color:#10323c;margin:0 0 10px;}
#entry-call-layer .ecl-lead{font-size:13px;line-height:1.75;color:#55646b;margin:0 0 18px;}
#entry-call-layer .ecl-btn{display:block;background:#0b4655;color:#fff;text-decoration:none;
  border-radius:10px;padding:16px 12px;font-size:19px;font-weight:700;letter-spacing:.04em;}
#entry-call-layer .ecl-btn:active{opacity:.85;}
#entry-call-layer .ecl-free{font-size:12px;color:#0b7a4b;margin:10px 0 0;font-weight:700;}
#entry-call-layer .ecl-busy{font-size:14px;font-weight:700;line-height:1.6;color:#c62828;
  background:#fdecea;border:1px solid #f5c2bd;border-radius:8px;padding:10px 12px;margin:0 0 12px;}
#entry-call-layer .ecl-sms{font-size:11.5px;line-height:1.7;color:#6b7684;margin:10px 0 0;}
#entry-call-layer .ecl-btn-sub{background:#f1f6f8;color:#0b4655;font-size:15px;padding:12px 10px;
  border:1px solid #cfe0e6;margin-top:14px;}
#entry-call-layer .ecl-l4{display:block;width:100%;box-sizing:border-box;text-align:center;
  font-size:30px;letter-spacing:.42em;padding:12px 10px;margin:0 0 12px;border:2px solid #0b4655;
  border-radius:10px;background:#fff;color:#10323c;}
#entry-call-layer .ecl-l4err{font-size:12px;line-height:1.6;color:#c62828;background:#fdecea;
  border:1px solid #f5c2bd;border-radius:6px;padding:8px 10px;margin:0 0 12px;}
#entry-call-layer .ecl-telno{font-size:26px;font-weight:700;letter-spacing:.06em;color:#0b4655;
  background:#f1f6f8;border-radius:10px;padding:14px 10px;margin:0;}
#entry-call-layer .ecl-note{font-size:11px;line-height:1.7;color:#8a949a;margin:14px 0 0;text-align:left;}
#entry-call-layer .ecl-close{margin:16px 0 0;background:none;border:0;color:#8a949a;font-size:12px;
  text-decoration:underline;cursor:pointer;}
#entry-call-layer .ecl-wait{font-size:12px;color:#55646b;margin:14px 0 0;}
