/* トレンド総合専用CF7。既存の金色見出し・赤いボタンのデザインを継承。 */
.wpcf7 .trend-general-cf7 { --cf7c-button-bg:#9f3335; --cf7c-button-color:#fff; text-align:left; }
.wpcf7 .trend-general-cf7 [hidden] { display:none !important; }
/* ページ上部と重複する入力時の見出しだけ非表示。確認・完了の見出しは表示する。 */
.wpcf7 .trend-general-cf7[data-cf7c-stage="input"] .cf7c-stage-title { display:none; }
.wpcf7 .trend-general-cf7 .tgc-field { min-width:0; }
.wpcf7 .trend-general-cf7 .cf7c-preview-list[data-preview-template] { display:block; }
/* 外側のHTML整形改行は畳み、入力された値だけで改行を保持する。 */
.wpcf7 .trend-general-cf7 .cf7c-preview-list dd { white-space:normal; overflow-wrap:anywhere; }
.wpcf7 .trend-general-cf7 .cf7c-preview-list .tgc-field {
 display:grid; grid-template-columns:240px minmax(0,1fr); gap:12px 24px;
 padding:18px 20px; border-bottom:1px solid #dedace;
}
.wpcf7 .trend-general-cf7 .cf7c-preview-list .tgc-field:first-child { border-top:1px solid #dedace; }
.wpcf7 .trend-general-cf7 .cf7c-preview-list dt,
.wpcf7 .trend-general-cf7 .cf7c-preview-list dd {
 float:none; width:auto; height:auto; min-height:0; margin:0; padding:0;
 border:0; background:transparent; text-indent:0; font-size:1em; line-height:1.7;
}
.wpcf7 .trend-general-cf7 .cf7c-preview-list dt { color:#887e3c; font-weight:600; }
.wpcf7 .trend-general-cf7 .cf7c-preview-list dt p,
.wpcf7 .trend-general-cf7 .cf7c-preview-list dd p { margin:0; padding:0; font:inherit; line-height:inherit; }
.wpcf7 .trend-general-cf7 .cf7c-preview-list [data-confirm-name] { display:block; white-space:pre-wrap; overflow-wrap:anywhere; }
.wpcf7 .trend-general-cf7 .cf7c-stage-title { margin:0 0 20px; font-size:22px; font-weight:600; line-height:1.5; }
.wpcf7 .trend-general-cf7 .hotellist { display:block; }
.wpcf7 .trend-general-cf7 .hotellist span { width:auto !important; margin:0 !important; }
.wpcf7 .trend-general-cf7 .hotellist .wpcf7-form-control-wrap { display:block; width:100% !important; }
.wpcf7 .trend-general-cf7 .hotellist .wpcf7-radio { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 20px; }
.wpcf7 .trend-general-cf7 .wpcf7-list-item { margin:0 18px 10px 0; }
.wpcf7 .trend-general-cf7 .hotellist .wpcf7-list-item { display:block !important; margin:0 !important; width:auto !important; }
.wpcf7 .trend-general-cf7 .wpcf7-list-item label { display:inline-flex; align-items:flex-start; gap:6px; cursor:pointer; }
.wpcf7 .trend-general-cf7 input[type=radio] { flex:0 0 auto; margin:5px 0 0; }
.wpcf7 .trend-general-cf7 .tgc-choices .wpcf7-list-item { display:block; }
.wpcf7 .trend-general-cf7 .tgc-choices br,
.wpcf7 .trend-general-cf7 .tgc-choices-inline br,
.wpcf7 .trend-general-cf7 .hotellist br { display:none; }
.wpcf7 .trend-general-cf7 .contact input[type=text],
.wpcf7 .trend-general-cf7 .contact input[type=email],
.wpcf7 .trend-general-cf7 .contact textarea { box-sizing:border-box; max-width:100%; border:1px solid #ddd; border-radius:3px; padding:10px; background:#fff; color:#333; font:inherit; }
.wpcf7 .trend-general-cf7 input[name=your-name] { width:300px; }
.wpcf7 .trend-general-cf7 input[name=mailadd] { width:500px; }
.wpcf7 .trend-general-cf7 textarea { width:calc(100% - 20px); resize:vertical; }
.wpcf7 .trend-general-cf7 .contact_btn.cf7c-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:28px 0; }
.wpcf7 .trend-general-cf7 .contact_btn > p { display:contents; }
.wpcf7 .trend-general-cf7 .contact_btn br { display:none; }
.wpcf7 .trend-general-cf7 .contact_btn button,
.wpcf7 .trend-general-cf7 .contact_btn input[type=submit] { box-sizing:border-box; width:300px; max-width:100%; min-height:50px; padding:15px; margin:0; border:1px solid #9f3335; border-radius:5px; background:#9f3335; color:#fff; font:inherit; cursor:pointer; }
.wpcf7 .trend-general-cf7 .contact_btn .cf7c-back-button { color:#9f3335; background:#fff; }
.wpcf7 .trend-general-cf7 .wpcf7-not-valid-tip,
.wpcf7 .trend-general-cf7 .cf7c-field-error { display:block; color:#b00020; margin-top:6px; }
.wpcf7 .trend-general-cf7 .trend-email-filter-notice { display:block; margin-top:6px; color:#b00020; }
.wpcf7 .trend-general-cf7 .cf7c-error-summary:empty { display:none; }
/* 元ページでフォームの前にある案内文は、確認・完了時だけ隠す。 */
section:has(> .wpcf7 .trend-general-cf7[data-cf7c-stage="confirm"]) > p,
section:has(> .wpcf7 .trend-general-cf7[data-cf7c-stage="complete"]) > p { display:none !important; }
@media (max-width:767px) {
 .wpcf7 .trend-general-cf7 .cf7c-preview-list .tgc-field { grid-template-columns:minmax(0,1fr); gap:6px; padding:16px 10px; }
 .wpcf7 .trend-general-cf7 .hotellist .wpcf7-radio { grid-template-columns:minmax(0,1fr); }
 .wpcf7 .trend-general-cf7 .contact_btn button,
 .wpcf7 .trend-general-cf7 .contact_btn input[type=submit] { width:100%; }
 .wpcf7 .trend-general-cf7 input[name=your-name],
 .wpcf7 .trend-general-cf7 input[name=mailadd] { width:calc(100% - 20px); }
}

/* 総合の採用2種類：一般事務・経理事務の共通指定。通常お問い合わせには適用しません。 */
.wpcf7 .trend-general-cf7.trend-office-recruit .contact select,
.wpcf7 .trend-general-cf7.trend-office-recruit .contact input[type=tel] {
 box-sizing:border-box; width:300px; max-width:100%; min-height:44px; margin:0;
 padding:10px; border:1px solid #ddd; border-radius:3px; background:#fff; color:#333; font:inherit;
}
.wpcf7 .trend-general-cf7.trend-office-recruit input[name=furigana] { width:300px; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-badge { margin-left:8px; font-family:sans-serif; font-size:12px; font-weight:normal; white-space:nowrap; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-help { margin:8px 0 0; color:#666; font-size:14px; line-height:1.7; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date-part { display:flex; flex:0 0 auto; align-items:center; gap:6px; }
/* CF7が追加する段落・改行で「年・月・日」が下に落ちるのを防ぐ。 */
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date > p,
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date-part > p { display:contents; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date br { display:none; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date .wpcf7-form-control-wrap { display:block; flex:0 0 auto; width:auto; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date select { width:90px; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date select[name=birth-year] { width:110px; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-birth-preview { display:flex; flex-wrap:wrap; gap:4px 12px; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-birth-value { display:inline-flex; align-items:baseline; gap:3px; white-space:nowrap; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:767px) {
 .wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date { gap:8px; }
 .wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date-part { gap:3px; }
 .wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date select { width:60px; padding:8px 4px; }
 .wpcf7 .trend-general-cf7.trend-office-recruit .tgo-date select[name=birth-year] { width:80px; }
}

/* === 総合の採用フォーム：ページ専用CSSに依存しないレイアウト === */
.wpcf7 .trend-general-cf7.trend-office-recruit {
 box-sizing:border-box; width:100%; max-width:1000px; margin:28px auto;
 color:#554c47; font-size:16px; line-height:1.7;
}
.wpcf7 .trend-general-cf7.trend-office-recruit *,
.wpcf7 .trend-general-cf7.trend-office-recruit *::before,
.wpcf7 .trend-general-cf7.trend-office-recruit *::after { box-sizing:border-box; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgc-input-guide { margin:0 0 20px; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input .contact { display:block; margin:0; padding:0; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input .tgc-field {
 display:grid; grid-template-columns:220px minmax(0,1fr); gap:12px 28px;
 align-items:start; margin:0; padding:24px 0; border-bottom:1px solid #e5e0d7;
}
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input .tgc-field:first-child { border-top:1px solid #e5e0d7; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input dt,
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input dd {
 float:none; width:auto; height:auto; min-height:0; min-width:0; margin:0; padding:0;
 border:0; background:transparent; text-align:left; text-indent:0; line-height:1.7;
}
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input dt {
 padding-top:9px; color:#887e3c; font-family:inherit; font-size:18px; font-weight:600;
}
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input dt label { display:inline; margin:0; color:inherit; font:inherit; }
.wpcf7 .trend-general-cf7.trend-office-recruit .tgo-badge {
 display:inline-block; margin-left:6px; padding:1px 6px; border-radius:3px;
 background:#eee9df; color:#655c51; font-size:11px; line-height:1.7; vertical-align:1px;
}
/* CF7が自動挿入するpの余白は畳み、例文の余白だけを個別指定。 */
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input dt p,
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input dd > p { margin:0; padding:0; font:inherit; line-height:1.7; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input dd > br { display:none; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input .wpcf7-form-control-wrap { display:block; min-width:0; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input .tgo-help { margin:8px 0 0; color:#666; font-size:13px; line-height:1.7; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input input[type=text],
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input input[type=email],
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input input[type=tel],
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input select,
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input textarea {
 display:block; width:100%; max-width:560px; min-height:48px; margin:0; padding:11px 12px;
 border:1px solid #cfc7bd; border-radius:4px; background:#fff; color:#333;
 font:inherit; line-height:1.5; box-shadow:none;
}
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input input[name=your-name],
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input input[name=furigana] { max-width:420px; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input input[type=tel],
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input select { max-width:300px; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input textarea { max-width:100%; height:200px; min-height:200px; resize:vertical; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input .tgo-date select { width:90px; padding:11px 8px; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input .tgo-date select[name=birth-year] { width:110px; }
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input input:focus,
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input select:focus,
.wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input textarea:focus { outline:2px solid #887e3c; outline-offset:2px; }
@media (max-width:767px) {
 .wpcf7 .trend-general-cf7.trend-office-recruit { margin:20px auto; font-size:15px; }
 .wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input .tgc-field { grid-template-columns:minmax(0,1fr); gap:10px; padding:20px 0; }
 .wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input dt { padding-top:0; font-size:17px; }
 .wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input .tgo-date select { width:60px; padding:10px 4px; }
 .wpcf7 .trend-general-cf7.trend-office-recruit .cf7c-input .tgo-date select[name=birth-year] { width:80px; }
}

/* サブリース専用：名前・メール・内容の3項目。ページ専用CSSなしでも余白を保つ。 */
.wpcf7 .trend-general-cf7.trend-general-sublease { box-sizing:border-box; width:100%; max-width:1000px; margin:28px auto; font-size:16px; line-height:1.7; }
.wpcf7 .trend-general-cf7.trend-general-sublease .tgc-input-guide { margin:0 0 24px; }
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input .contact { display:block; margin:0; padding:0; }
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input .tgc-field { margin:0 0 30px; }
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input dt { float:none; width:auto; margin:0 0 14px; padding:0 0 8px; background:transparent; border:0; border-bottom:1px solid #887e3c; text-indent:0; color:#887e3c; font-size:22px; font-weight:600; line-height:1.5; }
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input dt label { display:inline; margin:0; color:inherit; font:inherit; }
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input dd { float:none; width:auto; height:auto; min-height:0; margin:0; padding:0; border:0; background:transparent; }
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input dt p,
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input dd p { margin:0; padding:0; font:inherit; }
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input input[type=text],
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input input[type=email],
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input textarea { display:block; width:100%; max-width:560px; min-height:48px; margin:0; padding:11px 12px; border:1px solid #cfc7bd; border-radius:4px; background:#fff; color:#333; font:inherit; line-height:1.5; }
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input input[name=your-name] { max-width:420px; }
.wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input textarea { max-width:100%; height:200px; min-height:200px; resize:vertical; }
@media (max-width:767px) {
 .wpcf7 .trend-general-cf7.trend-general-sublease { margin:20px auto; font-size:15px; }
 .wpcf7 .trend-general-cf7.trend-general-sublease .cf7c-input dt { font-size:20px; }
}
