body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    background-color: #f9f9f9;
    color: #333;
    line-height: 1.6;
    margin: 0;
    padding: 20px;
}
.container {
    max-width: 1000px;
    margin: 0 auto;
    background: #fff;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    border-top: 5px solid #4CAF50;
}
/* ロゴ・ヘッダーエリア */
.branding {
    text-align: center;
    margin-bottom: 30px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}
.branding img {
    max-width: 120px; /* ロゴサイズを小さく修正 */
    height: auto;
    margin-bottom: 10px;
}
.branding .org-name {
    font-weight: bold;
    color: #006400;
    font-size: 1.1em;
    letter-spacing: 0.05em;
}

h1, h2 { color: #006400; text-align: center; margin-bottom: 30px; }
h1 { font-size: 24px; margin-top: 0; }
.form-group { margin-bottom: 20px; }
label { font-weight: bold; display: block; margin-bottom: 8px; color: #555; font-size: 0.95em; }
.sub-label { font-weight: normal; font-size: 0.85em; color: #666; margin-left: 5px; }
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="datetime-local"], textarea, select {
    width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; font-size: 16px;
}
.checkbox-group, .radio-group { background: #fdfdfd; padding: 10px; border: 1px solid #eee; border-radius: 4px; }
.checkbox-group label, .radio-group label { display: inline-block; margin-right: 15px; margin-bottom: 5px; font-weight: normal; cursor: pointer; }
input[type="checkbox"], input[type="radio"] { margin-right: 5px; transform: scale(1.2); }
button {
    display: block; width: 100%; padding: 15px; background-color: #F39800; color: white; border: none; border-radius: 4px; font-size: 1.1em; cursor: pointer; font-weight: bold; transition: background 0.3s;
}
button:hover { background-color: #d68500; }
.message { padding: 15px; margin-bottom: 20px; border-radius: 4px; text-align: center; }
.success { background-color: #e8f5e9; color: #2e7d32; }
.error { background-color: #ffebee; color: #c62828; }
.warning { background-color: #fff3cd; color: #856404; }
.admin-table-wrapper { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 0.9em; min-width: 900px; }
th, td { border: 1px solid #ddd; padding: 10px; text-align: left; vertical-align: top; }
th { background-color: #f2f2f2; white-space: nowrap; }
.status-form { display: flex; gap: 5px; align-items: center; }
.status-select { padding: 5px; font-size: 14px; border: 1px solid #ccc; border-radius: 3px; }
.btn-update { background-color: #2196F3; color: white; border: none; padding: 6px 10px; border-radius: 3px; cursor: pointer; font-size: 12px; width: auto; display: inline-block; }
.btn-archive { background-color: #FF9800; color: white; border: none; padding: 6px 10px; border-radius: 3px; cursor: pointer; font-size: 12px; width: auto; display: inline-block; }
.btn-restore { background-color: #4CAF50; color: white; border: none; padding: 6px 10px; border-radius: 3px; cursor: pointer; font-size: 12px; width: auto; display: inline-block; }
.btn-delete { background-color: #f44336; color: white; border: none; padding: 6px 10px; border-radius: 3px; cursor: pointer; font-size: 12px; width: auto; display: inline-block; }
.status-badge { display: inline-block; padding: 3px 8px; border-radius: 12px; font-size: 0.85em; color: white; background: #999; margin-bottom: 5px; }
.st-未対応 { background: #999; }
.st-連絡済 { background: #00bcd4; }
.st-仮申込 { background: #ff9800; }
.st-本申込 { background: #9c27b0; }
.st-確定済 { background: #4CAF50; }
.nav-tabs { margin-bottom: 20px; border-bottom: 2px solid #ddd; }
.nav-tabs a { display: inline-block; padding: 10px 20px; text-decoration: none; color: #555; border: 1px solid transparent; border-bottom: none; margin-bottom: -2px; }
.nav-tabs a.active { border: 1px solid #ddd; border-bottom: 2px solid #fff; background: #fff; color: #000; font-weight: bold; border-radius: 5px 5px 0 0; }