/* ベーススタイル */
body {
  font-family: 'Segoe UI', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  margin: 0;
  padding: 0;
  background: #f7f7f7;
  color: #222;
}

header {
  background: linear-gradient(135deg, #2d8f6f 0%, #1a6b4f 100%);
  color: #fff;
  padding: 1.2rem 0.8rem;
  text-align: center;
}

header h1 {
  margin: 0 0 0.5rem 0;
  font-size: 2rem;
  letter-spacing: 0.1em;
  background: linear-gradient(45deg, #ffffff 0%, #e0f7ef 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  text-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}

nav a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  transition: opacity 0.2s;
}

nav a:hover {
  opacity: 0.7;
}

main {
  max-width: 900px;
  margin: 2rem auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.07);
  padding: 2rem 1.2rem;
}

section h2 {
  margin-top: 0;
  color: #2d8f6f;
  font-size: 1.4rem;
}

footer {
  text-align: center;
  color: #888;
  padding: 1.2rem 0;
  font-size: 0.95rem;
  background: #e9e9e9;
  margin-top: 2rem;
  border-top: 1px solid #d0d0d0;
}

.pickDate {
  background: #2d8f6f;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 0.5em 1.2em;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
  box-shadow: 0 2px 6px rgba(45,143,111,0.08);
}
.pickDate:hover, .pickDate:focus {
  background: #24905e;
  box-shadow: 0 4px 12px rgba(45,143,111,0.15);
  outline: none;
}

table {
  border-collapse: collapse;
  width: 100%;
  margin: 1em 0;
}
th {
  background: #2d8f6f;
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  padding: 0.6em 0.7em;
}
td:nth-child(5), td:nth-child(6) {
  text-align: center;
}
th, td {
  border: 1px solid #bbb;
  padding: 0.5em 0.7em;
}

.inputLabel {
  display: block;
  margin-bottom: 0.5em;
  font-size: 1rem;
  color: #333;
}
.inputValue {
background-color: #f7f7f7;
  border: 1px solid #bbb;
  border-radius: 4px;
  padding: 0.5em;
  font-size: 1rem;
  width: calc(100% - 1.4em);
}
.inputButtons{
  padding:10px;
  text-align: center;
}
.inputButtons input[type="submit"] {
  background: #2d8f6f;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 0.5em 1.2em;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
}
.inputButtons input[type="submit"]:hover, .inputButtons input[type="submit"]:focus {
  background: rgb(56,115,180);
  box-shadow: 0 4px 12px rgba(45,143,111,0.15);
  outline: none;
}
.inputError {
  color: #e74c3c;
  font-size: 0.9rem;
  margin-top: 0.5em;
  text-align: center;
}
#buttonSelectMainte{
  display:block;
  float:right;
  text-decoration: none;
  padding:3px;
  border: 1px solid blueviolet;
  color:blueviolet;
  border-radius: 4px;
}
#buttonSelectMainte:hover{
  background-color: blueviolet;
  color:#fff;
}

#datePicker{
  float:right;
}
#date{
  width:165px;
}
.inputPlace{
  border:none;
  font-size: 1.7em;
}
#timePicker{
  padding:8px 3px;
}
#time_id{
  font-size:28px;
}
#time_id option{
  font-size:28px;
}
.time{
  border:1px solid #dcdcdc;
  border-radius: 4px;
  background-color: #f1f1f1;
  margin:3px;
  padding: 5px;
  cursor: pointer;
}
.time.selected{
  background-color: #2d8f6f;
  color: #fff;
}
.time.sent{
  background-color: #fff;
  border:1px solid #fff;
  font-weight: bold;
  cursor: default !important;
  font-size: 23px;
}

main{
  max-width: 500px;
  margin: 0 auto;
  padding: 20px;
}

#carLabel{
  width:170px;
}

#logout{
  display: block;
  float:right;
  margin-right: 20px;
  margin-top: -50px;
  background-color: #fff;
  border: 1px solid #bbb;
  border-radius: 4px;
  text-decoration: none;
  color:#1a6b4f
}

.cal_left2{
  background-color: #e0ffff;
}
.cal_left1{
  background-color: #ffff00;
}
.cal_left0{
  background-color: #dcdcdc;
}
.leftexp{
  padding:2px;
  font-size:13px;
}
.cellcolor{
  display: inline-block;
  width:24px;
  margin-right:5px;
}
#logolink{
  position: absolute;
  left:20px;
  top:10px;
}
#logo{
  border-radius: 15px;
  background-color: #fff;
  padding:3px;
}

/* スマホ対応（レスポンシブ） */
@media (max-width: 600px) {
  main {
    margin: 1rem 0.5rem;
    padding: 1.2rem 0.5rem;
  }
  header h1 {
    font-size: 1.4rem;
  }
  nav ul {
    gap: 0.7rem;
    flex-direction: column;
  }
  section h2 {
    font-size: 1.1rem;
  }
  #logout{
    margin-right: 1px;
    margin-top: -78px;
    font-size:12px;
  } 
  #logolink{
  position:unset;
  text-align: center;
  }
}