/* WordPress の「追加CSS」をそのまま写したもの */
/* Contact Form 7 デザイン (CONNECT TRUST) v2 */
.ct-form{max-width:760px;margin:0 auto;background:#fff;border:1px solid rgba(15,34,64,.06);border-radius:24px;padding:48px 44px;box-shadow:0 18px 50px rgba(15,34,64,.06);}
.ct-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px;}
.ct-field{display:flex;flex-direction:column;gap:8px;margin:0;}
.ct-field--full{grid-column:1 / -1;}
.ct-field label{font-size:.85rem;font-weight:700;color:#0F2240;letter-spacing:.02em;}
.ct-req{color:#DC2626;font-size:.72rem;margin-left:6px;font-weight:700;}
.ct-opt{color:#7A8B9E;font-size:.72rem;margin-left:6px;font-weight:700;}

/* 入力欄：テーマの下線スタイルを確実に上書き */
.ct-form .ct-input,
.ct-form input.ct-input,
.ct-form textarea.ct-input{
  width:100% !important;
  height:52px !important;
  background:#F8F9FA !important;
  border:1px solid transparent !important;
  border-radius:10px !important;
  padding:0 16px !important;
  box-shadow:none !important;
  font-size:.95rem !important;
  color:#0F2240 !important;
  box-sizing:border-box !important;
  transition:.2s;
}
.ct-form textarea.ct-input{height:140px !important;padding:14px 16px !important;resize:vertical;}
.ct-form .ct-input:focus{
  background:#fff !important;
  border-color:#C5A880 !important;
  box-shadow:0 0 0 3px rgba(197,168,128,.18) !important;
  outline:none !important;
}
.ct-form .ct-input::placeholder{color:#A9B4C0 !important;}

/* 送信ボタン */
.ct-form__submit{text-align:center;margin-top:32px;}
.ct-form .ct-btn{
  display:inline-block;appearance:none;-webkit-appearance:none;
  border:none !important;cursor:pointer;
  background:#0F2240 !important;color:#fff !important;
  font-size:.9rem !important;font-weight:700 !important;letter-spacing:.15em;
  padding:0 56px !important;height:56px !important;line-height:56px !important;
  border-radius:40px !important;width:auto !important;transition:.25s;
}
.ct-form .ct-btn:hover{background:#C5A880 !important;transform:translateY(-2px);box-shadow:0 12px 30px rgba(197,168,128,.3);}

.wpcf7-spinner{margin:18px auto 0;display:block;}
.wpcf7-response-output{margin:24px 0 0 !important;border-radius:10px;font-size:.85rem;}
@media(max-width:640px){.ct-form{padding:32px 22px;}.ct-form__grid{grid-template-columns:1fr;}.ct-form .ct-btn{width:100% !important;padding:0 !important;}}





.company-profile{max-width:880px;margin:0 auto;}
.company-profile__head{text-align:center;margin-bottom:48px;}
.cp-eyebrow{display:block;font-size:.75rem;letter-spacing:.3em;color:#C5A880;font-weight:700;margin-bottom:12px;}
.cp-title{font-size:2.2rem;font-weight:700;color:#0F2240;margin:0 0 18px;letter-spacing:.04em;}
.cp-lead{color:#3E4D62;line-height:2;font-size:.95rem;margin:0;}
.cp-list{margin:0 0 48px;padding:0;border-top:1px solid rgba(15,34,64,.1);}
.cp-row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:24px 8px;margin:0;border-bottom:1px solid rgba(15,34,64,.1);align-items:start;}
.cp-row dt{font-size:.85rem;font-weight:700;color:#0F2240;letter-spacing:.08em;}
.cp-row dd{margin:0;color:#3E4D62;line-height:1.8;font-size:1rem;}
.cp-en{display:block;font-size:.8rem;color:#7A8B9E;letter-spacing:.05em;margin-top:4px;}
.cp-map{border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(15,34,64,.08);border:1px solid rgba(15,34,64,.06);}
.cp-map iframe{display:block;width:100%;height:380px;border:0;}
@media(max-width:680px){.cp-row{grid-template-columns:1fr;gap:6px;padding:20px 4px;}.cp-title{font-size:1.7rem;}.cp-map iframe{height:280px;}}
