@charset "utf-8";

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-weight: 300;
	background: white;		/*背景色*/
	color: black;			/*文字色*/
}

.header {
	background-color: #c2edff; /* 上部背景色（例: 青） */
	padding: 10px 20px;
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 1000;

}

#formMessage{
	font-size: 14px;
	margin-top: 10px;
}



.main-container {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 20px;
}

.form-section {
  flex: 1;
  max-width: 400px;
  background-color: #ffffff;
  padding: 24px;
  border-radius: 10px;
  border: 1px solid #d0d7de;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.form-section h2 {
  font-size: 20px;
  margin-bottom: 16px;
  color: #333;
  border-bottom: 2px solid #4a90e2;
  padding-bottom: 8px;
}

.form-group {
  margin-bottom: 10px;
}

.form-group label {
  display: block;
  font-weight: bold;
  margin-bottom: 6px;
  color: #444;
}

.form-group input,
.form-group select {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
  box-sizing: border-box;
}

.form-group input:focus,
.form-group select:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 3px #4a90e2;
}

.form-section button {
  background-color: #4a90e2;
  color: #fff;
  border: none;
  padding: 14px 24px; /* ← ボタンの上下・左右の余白を大きくする */
  border-radius: 6px;
  font-size: 16px; /* ← フォントサイズを拡大 */
  font-weight: bold;
  cursor: pointer;
  margin-top: 12px;
  width: 100%; /* ← ボタンをフォームの幅いっぱいにする場合 */
  transition: background-color 0.3s ease;
}

.form-section button:hover {
  background-color: #357ab8;
}


.table-section {
  flex: 2;
  width: 100%;
  overflow-x: auto;
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  border: 1px solid #ccc;
  min-width: 0;
  overflow: auto;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.table-section h2 {
  font-size: 20px;
  margin-bottom: 16px;
  color: #333;
  border-bottom: 2px solid #4a90e2;
  padding-bottom: 8px;
}

#scheduleTable {
	min-width: 800px;
	width: 100%;
	border-collapse: collapse;
	font-family: Meiryo, Tahoma, Geneva, Verdana, sans-serif;
}

#scheduleTable th,
#scheduleTable td {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: center;
  white-space: nowrap;
}

#scheduleTable th {
  background-color: #e9f0fa;
}

#formMessage {
  font-size: 14px;
  margin-bottom: 10px; /* ボタンとの距離を調整 */
  padding: 6px 10px;
  border-radius: 4px;
  background-color: #f9f9f9;
}

/* --- 共通お知らせ枠（空なら hidden で詰める） --- */
.notice[hidden] { display: none !important; }

.notice {
  font-size: 14px;
  margin: 12px 20px 0;
  background: #f9f9f9;
  border: 1px solid #d0d7de;
  border-radius: 8px;
  padding: 10px 12px;
}
footer.footer { margin-top: 12px; }
