@charset "UTF-8";
/* ==========================================================
   CTA改修・電話導線追加（2026/10）
   style.css の後に読み込む。既存クラスは変更せず、ここで上書き・追加する。
   ブレークポイントは既存に合わせて 839px / 840px。
   ========================================================== */

/* 電話番号の書体（数字を太く読みやすく） */
.cta-num { font-family: "Roboto", "Noto Sans JP", sans-serif; font-weight: 900; letter-spacing: .02em; line-height: 1; white-space: nowrap; }

/* ---------- ① ヘッダー右上の電話番号 ---------- */
.cta-head-tel {
  position: absolute; top: 14px; right: 3%; z-index: 3;
  display: flex; flex-direction: column; align-items: flex-end;
  color: #fff; text-decoration: none; }
  .cta-head-tel__row { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
  .cta-head-tel__badge { font-size: 12px; font-weight: bold; background: #FC4F3F; color: #fff; padding: 2px 6px; border-radius: 2px; line-height: 1.4; }
  .cta-head-tel .cta-num { font-size: 30px; text-shadow: 0 2px 6px rgba(0, 0, 0, .35); }
  .cta-head-tel__time { font-size: 12px; margin-top: 4px; text-shadow: 0 1px 4px rgba(0, 0, 0, .4); }
  @media screen and (max-width: 839px) {
    .cta-head-tel {
      top: 10px; right: 4%; align-items: center;
      background: #fff; border-radius: 4px; padding: 5px 8px; box-shadow: 0 2px 6px rgba(0, 0, 0, .2); }
      .cta-head-tel__badge { display: none; }
      .cta-head-tel .cta-num { font-size: 15px; color: #249AE3; text-shadow: none; }
      .cta-head-tel__time { font-size: 9px; color: #333; margin-top: 2px; text-shadow: none; } }

/* ---------- FVフォームの送信ボタン（中間CTAのカード型と同じデザインに揃える） ---------- */
.header .form .form__btn {
  height: 56px; border-radius: 10px; background: #F57300; box-shadow: 0 4px 0 #B85300;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  transition: transform .08s, box-shadow .08s, opacity .2s; }
  .header .form .form__btn:hover { opacity: .9; }
  .header .form .form__btn:active { transform: translateY(4px); box-shadow: none; }
  .header .form .form__btn .form__btn__txt {
    position: static; height: auto; width: auto; writing-mode: horizontal-tb; letter-spacing: 0;
    background: #FFF84E; color: #B85300; font-size: 12px; font-weight: 900; line-height: 1.3;
    border-radius: 4px; padding: 3px 7px; flex-shrink: 0; }
  .header .form .form__btn .form__btn__txt2 {
    position: static; line-height: 1; font-size: 18px; font-weight: 900; letter-spacing: .04em; white-space: nowrap; }
  .header .form .form__btn .form__btn__txt2::after { content: "›"; margin-left: 10px; font-size: 20px; }
@media screen and (max-width: 839px) {
  .header .form .form__btn { height: 54px; }
  .header .form .form__btn .form__btn__txt2 { font-size: 16px; } }

/* ---------- ④⑤ 中間CTA・最下部CTA（カード型 6b） ---------- */
.contact .cta-card-wrap { max-width: 860px; margin: 0 0 0 60px; position: relative; z-index: 1; }
.cta-head { display: flex; align-items: center; justify-content: center; gap: 18px; }
  .cta-head__badge { width: 92px; flex-shrink: 0; }
  .cta-head__txt { display: flex; flex-direction: column; align-items: center; gap: 6px; }
  .cta-head__row { display: flex; align-items: center; justify-content: center; gap: 10px; }
  .cta-head__lead { color: #237EAF; font-size: 21px; font-weight: bold; text-align: center; }
    .cta-head__lead span { background: linear-gradient(transparent 60%, #FFF84E 60%); }
.cta-card {
  margin-top: 26px; background: #fff; border-radius: 16px; box-shadow: 0 8px 30px rgba(35, 83, 125, .14);
  padding: 30px 28px 26px; box-sizing: border-box;
  display: grid; grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr); gap: 28px; }
  .cta-card__line { background: #E3E8EE; }
  .cta-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
  .cta-card__ttl { font-size: 20px; font-weight: 900; color: #23537D; }
  .cta-card__note { font-size: 13px; font-weight: bold; white-space: nowrap; }
  .cta-card__note--mail { color: #E06500; }
  .cta-card__note--tel { color: #249AE3; }
  .cta-card__btn {
    height: 76px; border-radius: 10px; color: #fff; text-decoration: none;
    display: flex; align-items: center; justify-content: center; gap: 12px;
    transition: transform .08s, box-shadow .08s, opacity .2s; }
    .cta-card__btn:hover { opacity: .9; }
    .cta-card__btn:active { transform: translateY(4px); box-shadow: none; }
  .cta-card__btn--mail { background: #F57300; box-shadow: 0 5px 0 #B85300; }
  .cta-card__btn--tel { background: #249AE3; box-shadow: 0 5px 0 #1A6FA6; }
  .cta-card__btn img { width: 28px; flex-shrink: 0; }
  .cta-card__btn--tel img { width: 24px; }
  .cta-card__free { flex-shrink: 0; background: #FFF84E; font-size: 13px; font-weight: 900; border-radius: 4px; padding: 3px 7px; line-height: 1.3; }
  .cta-card__btn--mail .cta-card__free { color: #B85300; }
  .cta-card__btn--tel .cta-card__free { color: #1A6FA6; }
  .cta-card__label { font-size: 25px; font-weight: 900; letter-spacing: .04em; white-space: nowrap; }
  .cta-card__btn .cta-num { font-size: 36px; }
@media screen and (min-width: 840px) and (max-width: 1199px) {
  .contact .cta-card-wrap { margin: 0 auto; }
  .contact .contact__img2 { display: none !important; }
  .cta-card__btn .cta-num { font-size: 30px; }
  .cta-card__label { font-size: 21px; } }
@media screen and (max-width: 839px) {
  .contact .cta-card-wrap { margin: 0 auto; }
  .cta-head__txt { gap: 10px; }
    .cta-head__badge { width: 56px; }
    .cta-head__lead { font-size: 17px; line-height: 1.5; text-align: left; }
  .cta-card { margin-top: 16px; grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 20px 14px 18px; border-radius: 14px; }
    .cta-card__line { height: 1px; }
    .cta-card__head { margin-bottom: 10px; }
    .cta-card__ttl { font-size: 16px; }
    .cta-card__note { font-size: 11px; }
    .cta-card__btn { height: 62px; gap: 8px; }
    .cta-card__btn img { width: 22px; }
    .cta-card__btn--tel img { width: 18px; }
    .cta-card__free { font-size: 11px; padding: 2px 6px; }
    .cta-card__label { font-size: 20px; }
    .cta-card__btn .cta-num { font-size: 27px; } }

/* ---------- ⑥ SP固定フッター ---------- */
@media screen and (max-width: 839px) {
  .footer-bnr .tel_box .form__btn__txt2,
  .footer-bnr .mail_box .form__btn__txt2 { line-height: 1.25; }
  .footer-bnr .tel_box .cta-num { font-size: 15px; }
  /* 時間外も電話ボタンは消さずに白抜き表示（既存の .off で非表示にしていた処理を置き換え） */
  .float_tel.off .tel_box { display: block; }
  .float_tel.off .mail_box { width: 48.5%; } }

/* ---------- ⑥⑦ 固定バナーのボタン（カード型と同じデザインに揃える） ---------- */
.footer-bnr .form__btn {
  border-radius: 10px; background: #F57300; box-shadow: 0 4px 0 #B85300;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  transition: transform .08s, box-shadow .08s, opacity .2s; }
  .footer-bnr .form__btn:hover { opacity: .9; }
  .footer-bnr .form__btn:active { transform: translateY(4px); box-shadow: none; }
  .footer-bnr .form__btn3 { background: #249AE3; box-shadow: 0 4px 0 #1A6FA6; }
  .footer-bnr .form__btn .form__btn__txt {
    position: static; height: auto; width: auto; writing-mode: horizontal-tb; letter-spacing: 0;
    background: #FFF84E; color: #B85300; font-size: 12px; font-weight: 900; line-height: 1.3;
    border-radius: 4px; padding: 3px 7px; flex-shrink: 0; }
  .footer-bnr .form__btn .form__btn__txt2 {
    position: static; top: auto; left: auto; display: flex; align-items: center; gap: 8px;
    line-height: 1.2; font-weight: 900; white-space: nowrap; }
  .footer-bnr .form__btn .form__btn__txt2 img { margin: 0; }
  .footer-bnr .form__btn .form__btn__arrow { display: none; }
@media screen and (min-width: 840px) {
  .footer-bnr.pc .form__btn2 { height: 60px; }
  .footer-bnr.pc .form__btn .form__btn__txt2 { font-size: 20px; letter-spacing: .04em; }
  .footer-bnr.pc .form__btn .form__btn__txt2::after { content: "›"; margin-left: 4px; font-size: 22px; }
  .footer-bnr.pc .form__btn__label { border-color: #F57300; color: #E06500; left: 50%; transform: translateX(-50%); white-space: nowrap; } }
@media screen and (max-width: 839px) {
  .footer-bnr .form__btn2 { height: 54px; box-shadow: 0 3px 0 #B85300; }
  .footer-bnr .form__btn3 { box-shadow: 0 3px 0 #1A6FA6; }
  /* SPは幅が狭いので「無料」タグは出さず、上の小さい文字に「無料」を入れる */
  .footer-bnr .form__btn .form__btn__txt { display: none; }
  .footer-bnr .form__btn .form__btn__txt2 { gap: 6px; font-size: 10px; text-align: left; }
  .footer-bnr .form__btn .form__btn__txt2 img { width: 18px; }
  .footer-bnr .form__btn .form__btn__txt2 span { font-size: 10px; font-weight: bold; }
  .footer-bnr .form__btn .cta-fix-label { font-size: 15px !important; font-weight: 900; }
  .footer-bnr .tel_box .cta-num { font-size: 16px !important; } }

/* ---------- ⑦ PC追従バナーに電話番号 ---------- */
@media screen and (min-width: 840px) {
  .footer-bnr.pc .footer-bnr__box { max-width: 1100px; padding: 12px 0; gap: 24px; }
  .cta-follow-tel { display: flex; flex-direction: column; align-items: center; color: #249AE3; flex-shrink: 0; }
    .cta-follow-tel__label { font-size: 12px; font-weight: bold; color: #fff; background: #249AE3; border-radius: 100px; padding: 1px 12px; margin-bottom: 6px; }
    .cta-follow-tel .cta-num { font-size: 34px; } }
@media screen and (min-width: 840px) and (max-width: 1199px) {
  .footer-bnr.pc .footer-bnr__img { display: none; }
  .footer-bnr.pc .footer-bnr__tit, .footer-bnr.pc .footer-bnr__tit2 { white-space: nowrap; font-size: 17px; }
  .footer-bnr.pc .form__btn2 { width: 320px; }
  .cta-follow-tel .cta-num { font-size: 28px; } }

/* ---------- 受付時間外（JSで <body> に .is-tel-closed を付与） ---------- */
.is-tel-closed .cta-card__btn--tel { background: #fff; color: #249AE3; box-shadow: inset 0 0 0 2px #249AE3; }
.is-tel-closed .cta-card__btn--tel img { filter: invert(48%) sepia(83%) saturate(1500%) hue-rotate(178deg) brightness(95%); }
.is-tel-closed .cta-card__note--tel { color: #8C8C8C; }
.is-tel-closed .footer-bnr .form__btn3 { box-shadow: inset 0 0 0 2px #249AE3 !important; background: #fff; color: #249AE3; box-shadow: inset 0 0 0 2px #249AE3; }
.is-tel-closed .footer-bnr .form__btn3 .form__btn__txt { background: #249AE3; color: #fff; }
.is-tel-closed .footer-bnr .form__btn3 .form__btn__txt2 img { filter: invert(48%) sepia(83%) saturate(1500%) hue-rotate(178deg) brightness(95%); }
.is-tel-closed .footer-bnr .form__btn3 .form__btn__txt2 { color: #249AE3; }
.is-tel-closed .cta-follow-tel__label { background: #8C8C8C; }

/* ---------- ボタンの色：メール系はオレンジ（サイト内の赤い見出し・ラベルと区別するため） ---------- */
/* メール #F57300 / 影 #B85300 / 文字色 #E06500 ・ 電話 #249AE3 / 影 #1A6FA6 */
