@charset "utf-8";

/* レイアウト制御（リクルートと共通） */
html, body.lower-page-body { height: 100%; }
body.lower-page-body { display: flex; flex-direction: column; }
main.lower-page { flex: 1; margin-top: 80px; }

.page-header { background-color: #162d50; padding: 80px 0; text-align: center; color: #fff; }
.page-header .en { display: block; font-size: 14px; letter-spacing: 0.3em; margin-bottom: 10px; }
.page-header h2 { font-size: 28px; font-weight: 500; }

.contact-section { padding: 80px 0 120px; }
.contact-lead { text-align: center; margin-bottom: 50px; font-size: 15px; color: #666; line-height: 1.8; }

/* フォームテーブル */
.form-table { width: 100%; border-collapse: collapse; border-top: 1px solid #333; margin-bottom: 40px; }
.form-table th, .form-table td { padding: 25px 20px; border-bottom: 1px solid #eee; text-align: left; }
.form-table th { width: 250px; background-color: #f9f9f9; font-weight: 600; color: #162d50; vertical-align: top; }
.form-table th span { background: #e00; color: #fff; font-size: 10px; padding: 2px 6px; margin-left: 10px; vertical-align: middle; border-radius: 2px; }

/* 入力要素 */
input[type="text"], input[type="email"], input[type="tel"], select, textarea {
    width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; font-family: inherit;
}
textarea { resize: vertical; }

/* 送信ボタン */
.form-submit { text-align: center; margin-top: 40px; }
.form-submit .btn-detail { border: none; cursor: pointer; padding: 15px 80px; }

/* レスポンシブ */
@media screen and (max-width: 768px) {
    main.lower-page { margin-top: 60px; }
    .form-table th, .form-table td { display: block; width: 100%; }
    .form-table th { background: none; padding-bottom: 5px; }
    .form-table td { padding-top: 5px; }
}