@charset "UTF-8";
/* ===================================================================
 LP サイト「リニューアル共通（ヘッダー・フッター付き）」テンプレート用：予約フォーム（[opus_lp_form]・CF7）
 本サイト /contact-3/ のフォーム（pc-page.css／sp-page.css の #page.contact-3-page .contact-3-form）の数値に合わせる。
 文字の最低サイズ：SP 14px／PC 15px／1441px 以上 16px。このテンプレートのページ（body.opus-rn-page）だけに効く。
==================================================================== */
:root{
  --opus-rn-form-ink:#574d43;
  --opus-rn-form-line:#d9d9d9;
  --opus-rn-form-rule:#7f7060;
  --opus-rn-form-red:#b2191d;
  --opus-rn-form-btn:#574d43;
  --opus-rn-form-bg:#fff;
}

/* 外枠：テーマや LP 独自スキンの装飾を打ち消す */
body.opus-rn-page .wpcf7,
body.opus-rn-page .wpcf7-form,
body.opus-rn-page .wpcf7-form .form,
body.opus-rn-page .wpcf7-form .mailform-wrap{width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.opus-rn-page .wpcf7{max-width:850px;margin:0 auto!important;color:var(--opus-rn-form-ink);font-family:YakuHanJP,"Zen Kaku Gothic New",sans-serif;letter-spacing:.1em}
body.opus-rn-page .wpcf7 *,body.opus-rn-page .wpcf7 *::before,body.opus-rn-page .wpcf7 *::after{box-sizing:border-box}

/* 受付時間外のお知らせ等（[holiday_notice]） */
body.opus-rn-page .wpcf7-form .form > p{margin:0 0 24px;font-size:15px;line-height:1.8}
body.opus-rn-page .wpcf7-form .form > p:empty{display:none}

/* 行：PC は「項目名 203px＋入力欄」の2列 */
body.opus-rn-page .wpcf7-form .mailform{display:flex;flex-direction:column;gap:40px;margin:0 0 4em}
body.opus-rn-page .wpcf7-form .mailform .cf{display:grid;grid-template-columns:203px minmax(0,580px);column-gap:67px;align-items:start;width:100%;margin:0;padding:0;border:0;background:transparent}
body.opus-rn-page .wpcf7-form .mailform .cf::before,
body.opus-rn-page .wpcf7-form .mailform .cf::after{display:none!important;content:none!important}
body.opus-rn-page .wpcf7-form .mailform .title{display:block;float:none;width:100%;margin:0!important;padding:0;background:transparent}
body.opus-rn-page .wpcf7-form .mailform .title > p{display:flex;align-items:center;gap:8px;min-height:58px;width:100%;margin:0!important;padding:0;color:var(--opus-rn-form-ink);font-size:15px;font-weight:400;line-height:1.8;letter-spacing:.1em}
body.opus-rn-page .wpcf7-form .mailform .cf > p{width:100%;margin:0!important;padding:0;font-size:15px;line-height:1.8;letter-spacing:.1em}

/* 必須マーク：赤い枠 */
body.opus-rn-page .wpcf7-form .hissu{position:static!important;top:auto;left:auto;transform:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;order:2;height:24px;margin:0;padding:4px 10px;border:1px solid var(--opus-rn-form-red);border-radius:3px;background:transparent;color:var(--opus-rn-form-red);font-size:12px;line-height:1;letter-spacing:.1em;white-space:nowrap}

/* 入力欄・選択欄 */
body.opus-rn-page .wpcf7-form input[type=text],
body.opus-rn-page .wpcf7-form input[type=email],
body.opus-rn-page .wpcf7-form input[type=tel],
body.opus-rn-page .wpcf7-form select,
body.opus-rn-page .wpcf7-form textarea{display:block;width:100%;max-width:none;height:58px;margin:0;padding:10px 16px;border:1px solid var(--opus-rn-form-line);border-radius:4px;background:var(--opus-rn-form-bg);box-shadow:none;color:var(--opus-rn-form-ink);font-family:inherit;font-size:15px;line-height:1.8;letter-spacing:.06em;outline:none}
body.opus-rn-page .wpcf7-form select{-webkit-appearance:none;appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23574d43' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
body.opus-rn-page .wpcf7-form textarea{height:250px;min-height:250px;resize:vertical}
body.opus-rn-page .wpcf7-form input:focus,
body.opus-rn-page .wpcf7-form select:focus,
body.opus-rn-page .wpcf7-form textarea:focus{border-color:var(--opus-rn-form-ink)}
body.opus-rn-page .wpcf7-form .wpcf7-form-control-wrap{display:block;width:100%}

/* ラジオ・チェック */
body.opus-rn-page .wpcf7-form .wpcf7-list-item{display:inline-block!important;margin:0 24px 0 0!important;padding:0;border:0;background:transparent}
body.opus-rn-page .wpcf7-form .wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;margin:0;padding:0;color:var(--opus-rn-form-ink);font-size:15px;line-height:1.8;letter-spacing:.1em}
body.opus-rn-page .wpcf7-form input[type=radio],
body.opus-rn-page .wpcf7-form input[type=checkbox]{-webkit-appearance:auto;appearance:auto;width:20px!important;height:20px;margin:0;accent-color:#6f9fd8}

/* 送信ボタン：本サイトと同じ濃い茶の面に白文字 */
body.opus-rn-page .wpcf7-form input[type=submit],
body.opus-rn-page .wpcf7-form .wpcf7-submit{display:block;width:596px;max-width:100%;height:80px;margin:0 auto;padding:0 16px;border:1px solid var(--opus-rn-form-btn);border-radius:4px;background:var(--opus-rn-form-btn);box-shadow:none;color:#fff;font-family:inherit;font-size:18px;line-height:1.8;letter-spacing:.1em;cursor:pointer;-webkit-appearance:none;appearance:none;transition:opacity .3s ease}
body.opus-rn-page .wpcf7-form input[type=submit]:hover,
body.opus-rn-page .wpcf7-form .wpcf7-submit:hover{opacity:.8}
body.opus-rn-page .wpcf7-form .wpcf7-spinner{display:block;margin:12px auto 0}

/* 注記・エラー表示 */
body.opus-rn-page .wpcf7-form .privacy-doui{width:100%;max-width:none;margin:20px 0 0!important;padding:0;color:var(--opus-rn-form-ink);font-size:15px;line-height:1.8;letter-spacing:.1em}
body.opus-rn-page .wpcf7-form .privacy-doui a{color:inherit;text-decoration:underline}
body.opus-rn-page .wpcf7-form .wpcf7-not-valid-tip{display:block;margin-top:6px;color:var(--opus-rn-form-red);font-size:15px;line-height:1.6}
body.opus-rn-page .wpcf7-form .wpcf7-response-output{margin:24px 0 0;padding:16px;border-width:1px;font-size:15px;line-height:1.8}
body.opus-rn-page .wpcf7-form .akismet-fields-container{display:none!important}

/* 1441px 以上：最低 16px */
@media screen and (min-width:1441px){
  body.opus-rn-page .wpcf7-form .form > p,
  body.opus-rn-page .wpcf7-form .mailform .title > p,
  body.opus-rn-page .wpcf7-form .mailform .cf > p,
  body.opus-rn-page .wpcf7-form input[type=text],
  body.opus-rn-page .wpcf7-form input[type=email],
  body.opus-rn-page .wpcf7-form input[type=tel],
  body.opus-rn-page .wpcf7-form select,
  body.opus-rn-page .wpcf7-form textarea,
  body.opus-rn-page .wpcf7-form .wpcf7-list-item label,
  body.opus-rn-page .wpcf7-form .privacy-doui,
  body.opus-rn-page .wpcf7-form .wpcf7-not-valid-tip,
  body.opus-rn-page .wpcf7-form .wpcf7-response-output{font-size:16px}
  body.opus-rn-page .wpcf7-form .hissu{font-size:16px;height:28px}
}

/* SP（1023px 以下）：1列、文字は最低 14px */
@media screen and (max-width:1023px){
  body.opus-rn-page .wpcf7{max-width:none;padding:0 16px}
  body.opus-rn-page .wpcf7-form .mailform{gap:40px}
  body.opus-rn-page .wpcf7-form .mailform .cf{grid-template-columns:minmax(0,1fr);gap:16px}
  body.opus-rn-page .wpcf7-form .mailform .title > p{min-height:0}
  body.opus-rn-page .wpcf7-form .hissu{font-size:14px;height:26px}
  body.opus-rn-page .wpcf7-form .form > p,
  body.opus-rn-page .wpcf7-form .privacy-doui,
  body.opus-rn-page .wpcf7-form .wpcf7-not-valid-tip,
  body.opus-rn-page .wpcf7-form .wpcf7-response-output{font-size:14px}
  body.opus-rn-page .wpcf7-form input[type=submit],
  body.opus-rn-page .wpcf7-form .wpcf7-submit{width:343px}
}
