/* GLOBAL STYLES
-------------------------------------------------- */
html {
  font-size:62.5%;
  z-index: 1;
}
body {
  font-size:16px;
  font-size:1.6rem;
  line-height:160%;
}
a:hover{
  text-decoration:none;
}
.mt10 {margin-top:10px;}
.mt20 {margin-top:20px;}
.mt30 {margin-top:30px;}
.mt40 {margin-top:40px;}
.mt50 {margin-top:50px;}
.mb10 {margin-bottom:10px;}
.mb20 {margin-bottom:20px;}
.mb30 {margin-bottom:30px;}
.mb40 {margin-bottom:40px;}
.mb50 {margin-bottom:50px;}
.mb80 {margin-bottom:80px;}
.pdt15{padding-top:15px;}
.pdb15{padding-bottom:15px;}
.fs2{font-size:2rem;}
.contents { padding-bottom:150px; }
.bordertop{ border-top:1px solid #ccc }
.textalignc{text-align:center;}
.fonts12{font-size:1.2rem;}
h1#site-logo {
  margin:15px auto;
  width:200px;
}
@media (min-width: 768px) {
  h1#site-logo {
    margin:30px auto;
    width:400px;
  } }
h2#page-ttl {
  background: #005d00;
  padding:10px;
  text-align:center;
  color:#fff;
  font-size: 2.4rem;
  font-weight: 100;}
  @media (min-width: 768px) {
    h2#page-ttl {
      padding:20px;} }
.contents-top {
  margin-top:20px;
}
.user-info{
  border: 1px solid #ccc;
  border-radius: 5px;
  padding-bottom: 15px;
  background:#eee;
}
p.welcome {
  font-size:1.4rem;
  text-align:left;
  margin-bottom:0;
  margin-top: 10px;
}
p.information {
  font-size:1.4rem;
  text-align:right;
  margin-bottom:0;
  margin-top: 10px;
}
span.price {
  font-size:1.6rem;
  color:#ff0000;}
span.spbr::before{
  content: "\A" ;
  white-space: pre ;}
  @media (min-width: 768px) {
  span.spbr::before {
    content: none;}}
.footer {
  position:fixed;
  bottom:0px;
  width:100%;
  background:rgb(57,33,24);
  z-index:1;
}
.footer .container {
  max-width:100%;
}
.div-5{
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  -ms-flex: 0 0 20%;
  flex: 0 0 20%;
  max-width: 20%;
}

.footer .div-5 {
  padding:0;
  background:rgb(57,33,24);
}
.footer .div-5:hover {
  background:rgb(123,74,57);
}
.div-5 > a > .fnav {
  text-align:center;
  padding:10px 5px;
  font-size:1.4rem;
  border-right: 1px solid #ccc;
  color:#fff;
}
.div-5:first-child > a > .fnav{
  border-left: 1px solid #ccc;
}
.div-5 > a > .fnav::before{
  display:block;
  position: relative;
  width: 30%;
  margin:0px auto;
  height: 30px;
  width: 30px;
}
.div-5 > a > .fnav#car::before{
  content:url("./../img/common/fnav1.svg");
}
.div-5 > a > .fnav#par::before{
  content:url("./../img/common/fnav2.svg");
}
.div-5 > a > .fnav#chi::before{
  content:url("./../img/common/fnav3.svg");
}
.div-5 > a > .fnav#doc::before{
  content:url("./../img/common/fnav4.svg");
}
.div-5 > a > .fnav#log::before{
  content:url("./../img/common/fnav5.svg");
}
.div-5 > a > .fnav span{
  display:none;
}
@media (min-width: 768px) {
  .div-5 > a > .fnav::before{
    margin:10px auto;
  }
  .div-5 > a > .fnav span{
    display:block;}}

.login {
  max-width:600px;
  margin-top:100px;}
.page {
  margin-top:50px;
  margin-bottom:50px;}
span.attention {
  background:#ff3333;
  border-radius: 10px;
  font-size:1.2rem;
  color:#fff;
  padding:2px 5px;
  margin-left:5px;
  vertical-align: top;}
.border-top-dotted { 
  padding:10px;
  background: rgb(255,245,232);}
h3#today {
  text-align:center;
  font-weight: 100;
  font-size:2.4rem;
  margin-bottom:30px;
  position:relative;
  background:#005d00;
  color:#fff;
  padding:15px;
  border-radius: 5px;}
  @media (min-width: 768px) {
    h3#today {
      font-size:3.4rem;} }

h3#today a{font-size:5.0rem;}
h3#today a.before_month {
  position:absolute;
  top:4px;
  left:15px;
  color:#fff;
}
h3#today a.next_month {
  position:absolute;
  top:4px;
  right:15px;
  color:#fff;}
h3#reserved {
  text-align:center;
  font-weight: 100;
  font-size:2.4rem;
  margin-bottom:30px;
  background:#005d00;
  color:#fff;
  padding:15px;
  border-radius: 5px;}
  @media (min-width: 768px) {
    h3#reserved {
      font-size:3.4rem;} }
.table thead th {
  padding:1rem;
}
.table.calendar th, .table.calendar td {
  vertical-align: middle;
  width:14.44444%;}

.actions a {
  font-size:1.2rem;
  padding:0.5rem;
  border:1px solid #ccc;
  border-radius:10px;
  background:#eee;
  color:#000;
  display:inline-block;
  line-height: 1;}
.alert {
  margin:30px 20px;
  max-width:930px;
  padding:15px;
  border-radius:10px;
}
  @media (min-width: 768px) {
    .alert {
      margin-left:auto;
      margin-right:auto;
    }
  }
.alert.alert-danger {
  border:1px solid #ff3333;
  background:#ffeeee;
}
.alert.alert-success {
  border:1px solid #33ff33;
  background:#eeffee;
}
label {
  vertical-align: text-top;
  margin-left:5px;
}
.password {
  margin-bottom:5px;
}
.table th, .table td {
  padding:0em;
}
.table.calendar td {
  color:#333;
  font-size:2rem;
}
.table.calendar td.nolink{
  padding:2rem 0;
}
.table.calendar td a {
  display:block;
  width:100%;
  padding: 2rem 0;
  color:#333;
}
.table.calendar td.reserved a {
  background:rgb(244,99,46);
  color:#fff;
}
.table.calendar td a:hover {
  background:#007bff;
  color:#fff;
}
.table.calendar td.reserved a:hover {
  background:rgba(244,99,46, 0.8);
}
.table.table-striped td {
  padding:2rem 1rem;
}
.table.calendar td.reserved.is_past {
  background:rgb(46, 99, 244);
  color:#fff;
}

.kiyaku h4,
.privacy h4 {
  margin:20px 0;
  font-size:1.8rem;
}

ul.decimal li{
   list-style-type:decimal;
   margin-bottom:10px;
}
ul.decimal > li > ul.decimal{
  margin-top:10px;
}
.is-invalid.form-control {
  background:#ffdddd;
}
.invalid-feedback {
  color:#ff3333;
}
