/* NaviCebu Contact Lite v1.0.2 — テーマCSSに負けないよう .nccl を前置＋要所のみ !important */
.nccl{
  --nb:#1D4ED8; --nb2:#2563EB; --nb-ink:#17408F; --nb-bg:#EFF5FF; --nb-line:#DCE6F6;
  --ink:#182231; --sub:#55657A; --faint:#8A99AD;
  --card:#FFFFFF; --field:#FFFFFF; --field-line:#C9D6E8;
  --ok:#047857; --err:#B42318; --err-bg:#FEF3F2;
  max-width:640px; margin:0 auto; color:var(--ink); line-height:1.8; text-align:left;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",Meiryo,system-ui,sans-serif;
}
.nccl *{box-sizing:border-box}

.nccl .nccl-lede{margin:0 0 24px !important; padding:0 !important}
.nccl .nccl-lede h2{
  font-size:26px !important; line-height:1.5 !important; font-weight:700 !important;
  color:var(--ink) !important; margin:0 0 12px !important; padding:0 !important;
  border:0 !important; text-align:left !important; letter-spacing:.01em; text-wrap:balance;
}
.nccl .nccl-lede h2::before,.nccl .nccl-lede h2::after{content:none !important; display:none !important}
.nccl .nccl-lede p{
  margin:0 !important; color:var(--sub) !important; font-size:15px !important;
  line-height:1.85 !important; text-align:left !important;
}

.nccl .nccl-card{
  background:var(--card); border:1px solid var(--nb-line); border-radius:16px;
  box-shadow:0 1px 2px rgba(23,64,143,.04), 0 22px 48px -34px rgba(23,64,143,.4);
  padding:clamp(20px,5vw,32px); margin:0;
}

.nccl form{display:flex; flex-direction:column; gap:22px; margin:0 !important; padding:0 !important}
.nccl .nccl-field{display:flex; flex-direction:column; gap:8px; margin:0}
.nccl .nccl-field label{
  display:block; font-size:14px !important; font-weight:700 !important; line-height:1.6 !important;
  letter-spacing:.02em; color:var(--ink) !important; margin:0 !important; padding:0 !important;
}
.nccl .nccl-hint{
  margin:0 !important; font-size:12.5px !important; color:var(--faint) !important; line-height:1.7 !important;
}

.nccl input[type="text"],
.nccl input[type="email"],
.nccl textarea{
  width:100%; font-family:inherit; font-size:16px !important; line-height:1.75 !important;
  color:var(--ink) !important; background:var(--field) !important;
  border:1.5px solid var(--field-line) !important; border-radius:10px !important;
  padding:13px 14px !important; margin:0 !important; box-shadow:none !important;
  transition:border-color .15s ease, box-shadow .15s ease; max-width:100%;
}
.nccl textarea{min-height:148px !important; resize:vertical}
.nccl input::placeholder,.nccl textarea::placeholder{color:var(--faint); opacity:1}
.nccl input:focus,.nccl textarea:focus{
  outline:none; border-color:var(--nb) !important; box-shadow:0 0 0 3px rgba(37,99,235,.16) !important;
}
.nccl .nccl-field.is-bad input,.nccl .nccl-field.is-bad textarea{border-color:var(--err) !important}

.nccl .nccl-err{
  display:none; margin:0 !important; font-size:12.5px !important; font-weight:500;
  color:var(--err) !important; background:var(--err-bg); border-radius:6px; padding:6px 10px !important;
  line-height:1.7 !important;
}
.nccl .nccl-field.is-bad .nccl-err{display:block}

.nccl .nccl-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.nccl .nccl-turnstile{min-height:0}

.nccl .nccl-send{display:flex; flex-direction:column; gap:12px; margin-top:2px}
.nccl .nccl-btn{
  display:flex; align-items:center; justify-content:center; width:100%;
  font-family:inherit; font-size:16.5px !important; font-weight:700 !important;
  line-height:1.4 !important; letter-spacing:.04em; color:#fff !important; text-decoration:none;
  cursor:pointer; background:linear-gradient(135deg,var(--nb),var(--nb2)) !important; border:0 !important;
  border-radius:11px !important; padding:15px 26px !important; min-height:54px; margin:0 !important;
  box-shadow:0 6px 18px -4px rgba(29,78,216,.4); text-shadow:none;
  transition:filter .15s ease, transform .1s ease;
}
.nccl .nccl-btn:hover,.nccl .nccl-btn:focus{filter:brightness(1.06); color:#fff !important}
.nccl .nccl-btn:active{transform:translateY(1px)}
.nccl .nccl-btn:focus-visible{outline:3px solid var(--nb); outline-offset:3px}
.nccl .nccl-btn[disabled]{opacity:.6; cursor:default; transform:none}

.nccl .nccl-consent{
  margin:0 !important; font-size:12px !important; color:var(--faint) !important;
  text-align:center !important; line-height:1.75 !important;
}
.nccl .nccl-consent a{color:var(--sub) !important; text-decoration:underline; text-underline-offset:2px}

.nccl .nccl-fail{
  display:none; margin:0 !important; font-size:13px !important; color:var(--err) !important;
  background:var(--err-bg); border-radius:8px; padding:10px 12px !important; text-align:center;
  line-height:1.7 !important;
}
.nccl .nccl-fail.is-on{display:block}

.nccl .nccl-done{display:none; text-align:center}
.nccl .nccl-done.is-on{display:block}
.nccl form.is-off{display:none}
.nccl .nccl-mark{
  width:50px; height:50px; border-radius:999px; margin:2px auto 16px; background:var(--nb-bg);
  color:var(--ok); display:flex; align-items:center; justify-content:center;
  font-size:24px !important; font-weight:700; line-height:1 !important;
}
.nccl .nccl-done h3{
  margin:0 0 10px !important; font-size:20px !important; line-height:1.5 !important;
  font-weight:700 !important; color:var(--ink) !important; padding:0 !important; border:0 !important;
  text-align:center !important;
}
.nccl .nccl-done h3::before,.nccl .nccl-done h3::after{content:none !important; display:none !important}
.nccl .nccl-done p{
  margin:0 0 4px !important; color:var(--sub) !important; font-size:14.5px !important;
  line-height:1.8 !important; text-align:center !important;
}
.nccl .nccl-next{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:22px}
.nccl .nccl-next a{
  font-size:13px !important; font-weight:700; text-decoration:none !important; color:var(--nb-ink) !important;
  background:var(--nb-bg); border:1px solid var(--nb-line); border-radius:999px; padding:9px 16px !important;
  line-height:1.6 !important;
}

@media (max-width:600px){
  .nccl .nccl-lede h2{font-size:22px !important}
  .nccl .nccl-card{border-radius:14px}
}

@media (prefers-reduced-motion: reduce){.nccl *{transition:none !important}}

/* 旧フォームがテーマ側の別フックで出力された場合の保険（このページでのみ読み込まれます） */
.ncct-wrap{display:none !important}
