/*--------------------------------------

form-calendar

---------------------------------------*/
.form-calendar {
    background: rgba(40, 124, 224, 0.1);
    text-align: center;
    padding: 1px 0 60px;
  }
  
  .form-calendar__title {
    padding: 0 20px 0 16px;
    max-width: 640px;
    margin: 0 auto;
  }
  
  .form-calendar__subtitle {
    text-align: center;
    font-size: 22px;
    font-weight: 400;
    margin-top: 0.5em;
    font-weight: bold;
  }
  
  @media (min-width: 1024px) {
    .form-calendar__subtitle {
      font-size: 48px;
    }
  }
  
  .form-calendar__caption {
    text-align: center;
    font-size: 14px;
    margin-top: 1em;
  }
  
  .form-calendar__caution {
    list-style-type: decimal-leading-zero;
    margin: 0 auto;
    margin-top: 1.5em;
    display: inline-block;
    text-align: left;
  }
  
  .form-calendar__caution li {
    margin: 0 0 0 32px;
    font-size: 14px;
    letter-spacing: 1px;
    padding-bottom: 5px;
  }
  
  .form-calendar .calendar__wrapper {
    padding: 0 10px;
    text-align: left;
  }
  
  .form-calendar .month {
    margin: 1.5em 0 0.5em;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color: #231815;
  }
  
  .form-calendar table.calendar {
    width: 100%;
    max-width: 1200px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-collapse: collapse;
    margin: 0 auto;
    border-top: solid 1px #231815;
  }
  
  .form-calendar table.calendar th {
    width: 14.2%;
    font-size: 90%;
    line-height: 100%;
    padding: 8px 0;
    color: #231815;
    text-align: center;
  }
  
  .form-calendar table.calendar td {
    padding: 10px 5px;
    vertical-align: top;
    border: 1px solid #231815;
  }
  
  .form-calendar .day {
    margin: 0;
    padding: 0;
    font-size: 95%;
    font-weight: bold;
    line-height: 100%;
    color: #231815;
    font-family: Arial, Helvetica, sans-serif;
  }
  
  .form-calendar .status {
    width: 100%;
    margin: 10px 0 0 0;
    padding: 5px 0 5px 0;
    font-size: 85%;
    display: inline-block;
    text-decoration: none;
    color: #fff;
    background: #777;
    text-align: center;
    border-radius: 3px;
  }
  
  @media (min-width: 1024px) {
    .form-calendar .status {
      font-size: 16px;
      padding: 10px 0;
    }
  }
  
  .form-calendar .form__step {
    margin-top: 40px;
  }
  
  .form-calendar .form__step p.form__step--title {
    line-height: 1.75;
  }
  
  .form-calendar .form__step--title {
    font-weight: 500;
    font-size: 18px;
  }
  
  @media (min-width: 768px) {
    .form-calendar .form__step--title {
      font-size: 24px;
    }
  }
  
  .form-calendar .form__step--title span {
    font-size: 36px;
    color: #fafafa;
    background: #F67602;
    font-weight: 500;
    padding: 0em .5em;
    -webkit-transform: skew(-6deg);
            transform: skew(-6deg);
    display: inline-block;
    text-shadow: 1px 1px 3px rgba(35, 24, 21, 0.3);
    -webkit-box-shadow: 1px 1px 3px rgba(35, 24, 21, 0.3);
            box-shadow: 1px 1px 3px rgba(35, 24, 21, 0.3);
    margin-right: 10px;
    line-height: 1.5;
  }
  
  @media (min-width: 1024px) {
    .form-calendar .form__step--title span {
      padding: .1em .5em;
    }
  }
  
  .form-calendar .form__step--box {
    max-width: 800px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 auto;
    margin-top: 20px;
  }
  
  .form-calendar .form__step--item {
    width: 100%;
    max-width: 320px;
    padding: 0 20px;
    margin: 10px auto 0;
  }
  
  @media (min-width: 1024px) {
    .form-calendar .form__step--item {
      width: 30%;
      padding: 0;
    }
  }
  
  @media (min-width: 1024px) {
    .form-calendar .form__step--item-sp {
      display: none;
    }
  }