#atFirst {
  margin-bottom:0;
}
#letsReserve ul {
/*
  margin-left:0;
  padding-left:0;
*/
}
#letsReserve li  {
  text-align:left;
  width:60%;
  margin-left:0;
  padding-left:0;
}
#letsReserve li select {
  width:300px;
  display:inline-block;
  margin-bottom:0.5em;
}
#letsReserve li input[type=date] {
  margin-bottom:0.5em;
  min-height:32px;
}
#letsReserve li:not(#reset_change) a {
  display:inline-block;
  width:1.6em;
  text-align:center;
  margin:0 auto;
  padding:0;
  vertical-align:top;
  background-color:#ffc2cc;
  color:#fff;
  font-weight:bold;
}
#letsReserve li div.customCheckbox {
  display:inline-block;
  margin:0 auto 0 1em;
}
#letsReserve li div.customCheckbox label:after {
  border-color:#ffa3b2;
}
#letsReserve li div.customCheckbox span {
  font-size:1.4em;
}

#letsReserve span.require, #letsReserve span.any {
  font-size:0.9em;
  margin-left:0.5em;
}
#letsReserve span.require {
  color:red;
}
#letsReserve span.any {
  color:gray;
}
#letsReserve span.require:before, #letsReserve span.any:before {
  content:'(';
}
#letsReserve span.require:after, #letsReserve span.any:after {
  content:')';
}
#letsReserve #reset_change {
  padding-top:0;
}
#letsReserve #pid_1.change {
    border-color:#ccc;
    background-image:none;
}

#hotel_schedule {
  padding:0;
}
#hotel_schedule .for_toggle {
  display:none;
}
#hotel_schedule .contents {
  border-top:none;
  margin-bottom:10px;
}
#hotel_schedule .ta-center {
  text-align:center;
}
#hotel_schedule #confirm {
  margin-bottom:40px;
}
#calendar {
    margin:0 40px;
}
#calendar h2:after {
  content:none;
}

#calendar .fc-toolbar {
  height:5em;
}
#calendar .fc-center {
  margin-top:-2.75em;
}
#calendar .fc-left {
  margin-top:2em;
}
#calendar .fc-left button::after {
  content:'前月';
}
#calendar .fc-left::after {
  content:' お預け日';
}
#calendar .fc-right {
  margin-top:2em;
}
#calendar .fc-right button::before {
  content:'翌月';
}
#calendar .fc-right::before {
  content:'お迎え日 ';
}

#calendar .fc-body .fc-past, #calendar .fc-body .fc-today, #calendar .fc-body .fc-day-top.fc-past, #calendar .fc-body .fc-day-top.fc-today {
  background-color:#f6f6f6;
  border-color:#ddd;
}
#calendar .fc-body .fc-future {
  background-color: #fff;
  border-color:#ddd;
}
#calendar .fc-body .fc-day-top.fc-future {
  background-color:transparent;
}
#calendar .fc-body .fc-day .status {
  box-sizing:border-box;
  width:100%;
  height:105px;
  text-align:center;
  padding-top:0.34em;
  font-size:4em;
}
/* iPad.safari用カレンダー補正 */
#calendar.ipad_safari .fc-body .fc-day .status {
  font-size:3em;
  padding-top:0.5em;
  padding-left:0.75em;
}
/* iPhone.safari用カレンダー補正 */
#calendar.iphone_safari .fc-body .fc-day .status {
  font-size:2em;
  padding-top:0.5em;
  padding-left:0.25em;
}
#calendar .fc-body td {
  vertical-align:middle;
  text-align:center;
  cursor:pointer;
}
#calendar .fc-body .fc-other-month, #calendar .fc-body .fc-past, #calendar .fc-body .fc-today, #calendar .fc-body .off_cursor {
  cursor:default;
}
#calendar .fc-body .fc-day a.status {
  color:#ff8498;
  text-decoration:none;
}
#calendar .fc-body .fc-day span.status {
  color:#bfbfbf;
}
#calendar .fc-body .fc-day span.status.closed, #calendar .fc-body .fc-day span.status.semiclosed {
  padding-top:0.75em;
  font-size:3em;
}
#calendar .fc-body .fc-day span.status.semiclosed {
  color:#ffcfc9;
}
#calendar .fc-body .fc-day.limit_over {
  background-color: #f6f6f6;
}
#calendar .fc-body .fc-highlight {
  background-color: #f2f01f;
  opacity:0.4;
}
#calendar .fc-body .fc-day.checkout-date {
  background-color:rgba(250, 250, 100, 0.2);
}
#calendar .fc-body .fc-day.alert_for_close_shop {
  animation: alert4closeShop 3s;
}
@keyframes alert4closeShop {
  0% { background-color: #ffaaaa; }
  100% { background-color: #fff; }
}
#calendar .fc-toolbar .fc-button {
  background-color:#ffa3b2;
  border-color:#e67c8e;
}
#calendar .fc-toolbar input.custom {
  border:1px solid #ffa3b2;
  padding: 0.45em;
  border-radius:2px;
  width:8em;
  height:1.25em;
  position: relative;
}
#calendar .fc-toolbar input.custom::-webkit-inner-spin-button, #calendar .fc-toolbar input.custom::-webkit-clear-button {
    -webkit-appearance: none;
}
#calendar .fc-toolbar input.custom::-webkit-calendar-picker-indicator {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}

#calendar .fc-highlight-skeleton, #calendar .fc-highlight-skeleton tr, #calendar .fc-highlight-skeleton td {
  pointer-events: none;
}

#add_pointer:hover {
  text-decoration:none;
  cursor:pointer;
}

main + #confirm_form {
  display:none;
}

#hotel_schedule .contents + div.ta-center.for_toggle #term_error {
  color:red;
  font-size:1.2em;
  margin-bottom:1em;
}

/* 一時預かりの時間制限周知用モーダル */
#info_open {
  display:none;
}
#info_block {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background-color: rgba(0,0,0,0.2);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  box-sizing: border-box;
}
#info_block:before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 80%;
}
#info_block.active {
  opacity: 1;
  visibility: visible;
}
#info_block .info_body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 400px;
  width: 90%;
  border:1px solid #666;
  border-radius:2px;
  background: #fff;
  font-size:1.125em;
}
#info_block .info_close {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  font-size: 30px;
  border:2px solid #666;
  border-radius:40px;
  background-color:#fff;
  color: #666;
  cursor: pointer;
}
#info_block .info_content {
  text-align: left;
  padding: 12px 8px 16px;
}
#info_block .info_content span.none {
  display:none;
}
#info_block .info_content .info_label:after {
  content:': ';
}
#info_block #confirm_trigger {
  min-width:initial;
  padding:0 10px;
  font-size:1.125em;
  border-radius:5px;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  margin-top:0.75em;
}


@media screen and (max-width:740px) {
  #hotel_schedule h2 {
    padding-top:1em;
  }
  #calendar .fc-toolbar {
    display:block;
  }
  #calendar .fc-center {
        margin-top:-7em;
  }
  #calendar .fc-left {
    margin-top:1em;
  }
  #calendar .fc-right {
    margin-top:3.5em;
/*
    text-align:right;
*/
  }
  #calendar .fc-right::after {
    content:' 宿泊終了日';
  }
  #calendar .fc-right::before {
    content:'';
  }
  #calendar .fc-body .fc-day .status {
    font-size:3.5em;
  }
  #calendar .fc-body .fc-day span.status.closed, #calendar .fc-body .fc-day span.status.semiclosed {
    padding-top:0.5em;
    font-size:2.5em;
  }
  #letsReserve li  {
    width:100% !important;
  }
  #letsReserve li a {
    vertical-align:middle;
    width:1.25em;
    height:1.25em;
  }
  #letsReserve li .customCheckbox {
    line-height:2;
  }
  #letsReserve li .customCheckbox label {
    font-size:0.75em;
  }
  #letsReserve li #search {
    font-size:1.25em;
    height:2.5em;
  }
}
@media screen and (max-width:600px) {
  #calendar .fc-body .fc-day-top {
    background-color:transparent !important;
  }
  #calendar .fc-body .fc-day .status {
    font-size:2.75em;
  }
  #calendar .fc-body .fc-day span.status.closed, #calendar .fc-body .fc-day span.status.semiclosed {
    font-size:2.5em;
  }
}
@media screen and (max-width:540px) {
  #calendar .fc-body .fc-day .status {
    font-size:2.25em;
  }
  #calendar .fc-body .fc-day span.status.closed, #calendar .fc-body .fc-day span.status.semiclosed {
    font-size:2.125em;
  }
}
@media screen and (max-width:485px) {
  #calendar .fc-body .fc-day .status {
    font-size:2.25em;
    padding-top: 0.375em;
  }
  #calendar .fc-body td {
    vertical-align:bottom;
  }
}


/* つなぐアレンジ＋↓ */
/*
#calendar .fc-body .fc-day > * {
	display: flex !important;
	flex-flow: column wrap;
	justify-content: center;
}
*/
/* つなぐアレンジ＋↑ */



@media screen and (max-width:360px) {
  #calendar .fc-left .custom, #calendar .fc-right .custom {
    font-size:0.975em;
  }
}
@media screen and (max-width:570px) {
  #letsReserve #start_date, #letsReserve #end_date {
    height:30px;
  }
}

/* for ts-alamode */
#guide_for_full {
  margin:20px 40px 0;
  font-size:1rem;
  font-weight:bold;
  color:red;
  line-height:1.25rem;
  display:none;
}
#guide_for_full span {
  color: #bfbfbf;
  font-size: 2.5rem;
  font-weight:normal;
  vertical-align:middle;
}
@media screen and (max-width:740px) {
  #guide_for_full {
    font-weight:normal;
  }
}
@media screen and (max-width:570px) {
  #guide_for_full {
    font-size:0.9rem;
    line-height:1.1rem;
  }
  #guide_for_full span {
    font-size: 2.25rem;
  }
}
