@charset "utf-8";
/* 予約フォームの見た目：2個目のLP（career_202610 の plus.css）と同一。style.css の後に読み込みます */
.efo-block .efo-wrap{max-width:none;}
.efo-block .efo-balloon{color:var(--efo-ink);}
.efo-block .efo-head__ja b{font-weight:700;font-size:inherit;}
.efo-block .efo-btn{width:auto;}
/* ============================================================
   ここから予約フォーム（.efo-block）
   ------------------------------------------------------------
   ・すべて .efo-block 配下のみに効くようにスコープしています
   ・上部(#entry-top)・下部(#entry)の2か所に同じスタイルが適用されます
   ・色を変えるときは下の変数だけ書き換えてください
   ============================================================ */
.efo-block{
  --efo-brand: #00008B;        /* LP本体と同じピンク */
  --efo-brand-dark:#D50049;
  --efo-pale: #F0F8FF;         /* 選択肢ホバー時の淡いピンク */
  --efo-line: #F0F8FF;         /* 選択肢・入力欄の枠線 */
  --efo-ink:#333333;
  --efo-gray:#7A7A7A;
  --efo-wash: #F0F8FF;         /* セクション背景 */
  --efo-green:#06C755;        /* LINEカラー */
  --efo-warn:#D32F2F;
  background:var(--efo-wash);
  padding:2rem .75rem 3.5rem;  /* 最下部に配置。下は余裕をもたせる */
  color:var(--efo-ink);
  line-height:1.7;
}
.efo-block *{box-sizing:border-box;}
/* body側のh2/pの共通指定を打ち消す */
.efo-block p{letter-spacing:normal;line-height:1.7;}
.efo-block .efo-wrap{width:100%;}

/* --- 見出し --- */
.efo-block .efo-head{text-align:center;margin-bottom:1.25rem;}
.efo-block .efo-head__en{
  display:block;font-size:12px;letter-spacing:.28em;color:var(--efo-brand);
  font-weight:700;margin-bottom:4px;
}
.efo-block .efo-head__ja{
  font-size:23px;font-weight:700;line-height:1.45;color:var(--efo-ink);
  background:none;padding:0;margin:0;
}
.efo-block .efo-head__ja b{color:var(--efo-brand);}

/* --- 「たった30秒」吹き出し --- */
.efo-block .efo-balloon{
  position:relative;width:max-content;margin:0 auto 11px;
  border:2px solid var(--efo-ink);border-radius:6px;background:#fff;
  padding:2px 26px;font-size:14px;font-weight:700;line-height:1.6;
}
.efo-block .efo-balloon::after{content:"";position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);
  border:9px solid transparent;border-top-color:var(--efo-ink);border-bottom:0;}
.efo-block .efo-balloon::before{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);
  border:7px solid transparent;border-top-color:#fff;border-bottom:0;z-index:1;}

/* --- 既存のCTA画像を見出しとして使用 --- */
.efo-block .efo-bar-img{text-align:center;line-height:0;}
.efo-block .efo-bar-img img{width:95%;height:auto;}

/* --- カード --- */
.efo-block .efo-card{
  background:#fff;
  border-radius:16px;
  padding:1.4rem 1.1rem 1.5rem;
  margin-top:1rem;
  box-shadow: 0 6px 20px rgba(0,0,0,.10);
}

/* --- ステップドット --- */
.efo-block .efo-dots{display:flex;justify-content:center;gap:6px;margin-bottom:1rem;}
.efo-block .efo-dot{
  width:29px;height:29px;border-radius:50%;border:1.5px solid var(--efo-brand);
  background:#fff;color:var(--efo-brand);font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;transition:.2s;flex:0 0 auto;
}
.efo-block .efo-dot.is-current{background:var(--efo-brand);color:#fff;}

/* --- 設問（この中だけが切り替わります） --- */
.efo-block .efo-q{
  font-size:20px;font-weight:700;text-align:center;margin:0 0 1.1rem;line-height:1.5;
  background:none;color:var(--efo-ink);padding:0;
}
.efo-block .efo-stage{min-height:290px;}
.efo-block .efo-stage.is-swap{animation:efoSwap .22s ease;}
@keyframes efoSwap{from{opacity:0;transform:translateX(14px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.efo-block .efo-stage.is-swap{animation:none;}}

/* --- 選択肢 --- */
.efo-block .efo-opts{display:grid;gap:10px;}
.efo-block .efo-opts--2{grid-template-columns:1fr 1fr;}
.efo-block .efo-opt{
  padding:13px 8px;border:1px solid var(--efo-line);border-radius:8px;background:#fff;
  color:var(--efo-brand);font-size:15px;font-weight:600;cursor:pointer;transition:.15s;
  text-align:center;width:100%;line-height:1.4;letter-spacing:normal;
  font-family:"Noto Sans JP",sans-serif;
}
.efo-block .efo-opt:hover{background:var(--efo-pale);border-color:var(--efo-brand);}
.efo-block .efo-opt.is-on{background:var(--efo-brand);border-color:var(--efo-brand);color:#fff;}

/* --- 入力欄 --- */
.efo-block .efo-f{margin-bottom:15px;}
.efo-block .efo-f__label{font-size:14px;font-weight:700;margin-bottom:6px;}
.efo-block .efo-f__in{
  width:100%;padding:12px 13px;border:1px solid var(--efo-line);border-radius:8px;
  background:#fff;color:var(--efo-ink);font-size:16px;   /* iOSの自動ズーム防止 */
  font-family:"Noto Sans JP",sans-serif;
}
.efo-block .efo-f__in::placeholder{color:#B9B9B9;}
.efo-block .efo-f__in:focus,
.efo-block .efo-sel:focus,
.efo-block .efo-opt:focus-visible,
.efo-block .efo-btn:focus-visible{
  outline:3px solid rgba(255,10,93,.25);outline-offset:1px;border-color:var(--efo-brand);
}
.efo-block .efo-f__err{font-size:12.5px;color:var(--efo-warn);font-weight:700;margin:5px 0 0;display:none;}
.efo-block .efo-f.is-err .efo-f__in{border-color:var(--efo-warn);background:#FFF5F5;}
.efo-block .efo-f.is-err .efo-f__err{display:block;}

.efo-block .efo-birth{display:flex;align-items:center;gap:6px;margin-bottom:1.1rem;}
.efo-block .efo-sel{
  padding:11px 8px;border:1px solid var(--efo-line);border-radius:8px;background:#fff;
  color:var(--efo-ink);font-size:16px;font-family:"Noto Sans JP",sans-serif;
}
.efo-block .efo-birth span{font-size:14px;}

/* --- 同意チェック --- */
.efo-block .efo-agree{
  display:flex;align-items:center;justify-content:center;gap:9px;
  margin:1.1rem 0 0;font-size:14px;font-weight:400;
}
.efo-block .efo-agree input{width:19px;height:19px;accent-color:var(--efo-brand);margin:0;}
.efo-block .efo-agree a{text-decoration:underline;}

/* --- 下部ボタン --- */
.efo-block .efo-nav{display:flex;gap:10px;margin-top:1.25rem;}
.efo-block .efo-btn{
  flex:1;padding:13px;border:0;border-radius:8px;font-size:15px;font-weight:700;
  cursor:pointer;transition:.15s;font-family:"Noto Sans JP",sans-serif;
}
.efo-block .efo-btn--back{background:var(--efo-gray);color:#fff;}
.efo-block .efo-btn--next{background:var(--efo-brand);color:#fff;}
.efo-block .efo-btn--next:hover{background:var(--efo-brand-dark);color:#fff;}
.efo-block .efo-btn--next:disabled{background: #00CED1;cursor:not-allowed;}

/* --- 完了画面 --- */
.efo-block .efo-done{text-align:center;padding:1.5rem .25rem .5rem;}
.efo-block .efo-done__mark{
  width:60px;height:60px;border-radius:50%;background:var(--efo-brand);
  color:#fff;font-size:30px;line-height:60px;margin:0 auto 1rem;
}
.efo-block .efo-done__t{font-size:20px;font-weight:700;margin:0 0 10px;}
.efo-block .efo-done__p{font-size:14px;color:var(--efo-gray);margin:0 0 1.25rem;}
.efo-block .efo-done__line{
  display:block;background:var(--efo-green);text-decoration:none;
  font-weight:700;font-size:16px;padding:15px;border-radius:999px;
  box-shadow:0 4px 0 #04A548;
  color:#fff !important;   /* a{color:#FF0A5D !important} を上書き */
}
.efo-block .efo-done__line:hover{opacity:.92;text-decoration:none;}
.efo-block .efo-note{font-size:11.5px;color:var(--efo-gray);text-align:center;margin:.9rem 0 0;line-height:1.6;}

/* --- ファーストビュー直下のフォームは余白を詰める --- */
.efo-block--top{
  padding:1.5rem .75rem 2rem;
  margin-top:0;   /* ヘッダーCTA画像との間隔。詰めたい場合は -1rem などに調整 */
  position:relative;
  z-index:9;
}
.efo-block--top .efo-head{margin-bottom:1rem;}
.efo-block--top .efo-head__ja{font-size:21px;}