@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ===============================
   フォーム外枠・ヘッダ
================================ */
.form-wrap{
  width:100%;max-width:820px;margin:40px auto;padding:30px 20px;
  background:#f9f9f9;border:1px solid #ddd;border-radius:12px;
  box-shadow:0 4px 12px rgba(0,0,0,.03);box-sizing:border-box;overflow-x:hidden;
}
.form-title{font-size:24px;font-weight:700;color:#1c4e80;text-align:center;margin-bottom:10px;}
.form-subtitle{font-size:16px;color:#555;text-align:center;margin-bottom:20px;line-height:1.6;}
.form-note{
  font-size:14px;background:#f0f6fb;border-left:5px solid #1c4e80;padding:12px 16px;
  margin-bottom:24px;color:#1c4e80;border-radius:4px;line-height:1.6;
}

/* ===============================
   テーブルレイアウト（CF7）
================================ */
table.cf7-seminar{
  width:100%;border-collapse:collapse;table-layout:fixed;word-break:break-word;
}
.cf7-seminar th,.cf7-seminar td{
  padding:10px 12px;vertical-align:top;box-sizing:border-box;line-height:1.5;
}
.cf7-seminar th{
  background:#f0f0f0;color:#333;text-align:left;width:30%;white-space:nowrap;font-size:15px;
}
.cf7-seminar td{background:#fff;}

/* 入力UI */
.cf7-seminar input[type="text"],
.cf7-seminar input[type="email"],
.cf7-seminar input[type="tel"],
.cf7-seminar input[type="url"],
.cf7-seminar input[type="date"],
.cf7-seminar input[type="time"],
.cf7-seminar select,
.cf7-seminar textarea{
  width:100%;padding:.7rem .9rem;border:1px solid #b0c4de;border-radius:6px;
  box-sizing:border-box;font-size:.95rem;transition:border-color .2s,box-shadow .2s;
}
.cf7-seminar input:focus,.cf7-seminar select:focus,.cf7-seminar textarea:focus{
  border-color:#1c4e80;box-shadow:0 0 4px rgba(28,78,128,.35);outline:0;
}

/* チェックボックス縦並び */
span.wpcf7-list-item{display:block;margin-top:5px;}


/* 業種チェックボックス・プランラジオを縦並びに・オートビズ用 */
.cf7-checks label,
.cf7-radios label {
  display: block;   /* ←縦並び */
  margin-bottom: 6px;
}


/* セクション見出し（統一） */
.cf7-section-box{
  background:#f0f6fb;border:1px solid #9eb6cc;padding:.6rem 1rem;margin:1.2rem 0;
  font-weight:700;color:#1c4e80;border-radius:6px;
}

/* ラベル & 必須マーク（高コントラスト） */
.cf7-label{display:inline-block;font-weight:600;color:#333;vertical-align:middle;}
.cf7-req{
  display:inline-block;font-size:12px;line-height:1;padding:2px 8px;background:#1c4e80;color:#fff;
  border-radius:999px;margin-right:6px;vertical-align:middle;white-space:nowrap;letter-spacing:.02em;
}
.cf7-req--outline{background:#fff;color:#1c4e80;border:1px solid #1c4e80;}
.cf7-req-space{display:inline-block;width:42px;}

/* プライバシーポリシー（スクロールボックス統一） */
.privacy-box{
  max-height:220px;overflow:auto;padding:12px;border:1px solid #e5e7eb;border-radius:8px;
  background:#fff;line-height:1.6;font-size:14px;text-align:left;margin-bottom:.8em;
}
.privacy-box p{margin:0 0 10px;}
.privacy-box b{font-weight:700;}

/* 送信ボタン */
.cf7-btn{text-align:center;margin-top:30px;}
.cf7-btn input.wpcf7-submit,#formbtn{
  background:#1c4e80;color:#fff;padding:14px 40px;font-size:16px;font-weight:700;border:none;
  border-radius:6px;cursor:pointer;width:100%;max-width:400px;transition:background .2s,transform .04s,box-shadow .2s;
}
.cf7-btn input.wpcf7-submit:hover,#formbtn:hover{background:#163c63;}
.cf7-btn input.wpcf7-submit:active,#formbtn:active{transform:translateY(1px);}
.wpcf7-spinner{width:0;margin:0;}

/* 送信結果メッセージ */
.wpcf7 form .wpcf7-response-output{border-radius:6px;padding:12px 14px;font-weight:600;}
.wpcf7 form.sent .wpcf7-response-output{border-color:#1c4e80;color:#1c4e80;background:#f0f6fb;}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed  .wpcf7-response-output{border-color:#d9534f;color:#d9534f;background:#fff4f3;}

/* ローディング（送信直後） */
.wpcf7 form.is-loading{opacity:.6;pointer-events:none;}
.is-loading{position:relative;}
.is-loading::after{
  content:"";position:absolute;right:14px;top:50%;width:16px;height:16px;margin-top:-8px;
  border:2px solid rgba(255,255,255,.7);border-top-color:transparent;border-radius:50%;
  animation:cws-spin .7s linear infinite;
}
@keyframes cws-spin{to{transform:rotate(360deg);}}

/* スマホ対応 */
@media (max-width:768px){
  .form-wrap{padding:20px 14px;margin:20px auto;}
  .cf7-seminar tr{display:block;margin-bottom:20px;border-bottom:1px solid #e5e5e5;}
  .cf7-seminar th{display:block;width:100%;background:none;color:#1c4e80;font-weight:700;padding:5px 0;font-size:15px;}
  .cf7-seminar td{display:block;width:100%;padding-top:4px;}
  .cf7-btn input.wpcf7-submit{width:90%;}
}

/* 業種・プランなどのチェック/ラジオを縦並びにしたうえで、余白を追加・オートビズ用 */
.cf7-checks label,
.cf7-radios label {
  display: block;
  margin: 8px 0;      /* ←縦方向の余白を広めに */
  line-height: 1.6;   /* 行間も少し広めに */
}

/* テーブルセル内の上下パディングを調整 */
.cf7-seminar th,
.cf7-seminar td {
  padding-top: 14px;
  padding-bottom: 14px;
}

/* フォームの入力欄（テキスト・メール・電話など）の上下余白 */
.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap textarea {
  padding: 12px 14px;
}

