@charset "UTF-8";
.form_body {
  padding-top: 80px; }

.price_input {
  width: 130px;
  text-align: right; }

.form_tbl th {
  padding: 10px;
  font-weight: bold;
  font-size: 14px;
  background: #ecf7f9;
  color: black;
  border-bottom: 1px solid #CCC;
  border-right: none !important;
  border-left: none !important; }
  .form_tbl th.title_th {
    color: black;
    font-size: 100%; }
  .form_tbl th i {
    font-style: normal;
    float: right;
    font-size: 11px;
    border: 1px solid #F39C11;
    color: #F39C11;
    background: white;
    padding: 3px; }
.form_tbl td {
  padding: 10px;
  font-size: 16px;
  border-bottom: 1px solid #CCC;
  border-right: none !important;
  border-left: none !important; }
  .form_tbl td span {
    display: block;
    margin-top: 5px;
    font-size: 13px; }

.non_tbl {
  width: 100%; }
  .non_tbl th {
    border-bottom: 1px solid #CCC; }
  .non_tbl td {
    border-bottom: 1px solid #CCC; }
  .non_tbl tr:last-child th, .non_tbl tr:last-child td {
    border-bottom: none; }

h3 {
  font-weight: bold;
  margin-bottom: 10px; }

.page_title {
  font-size: 1.8em;
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 10px; }

.plan_media {
  border: 3px solid #69C2C8;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  padding: 10px; }
  .plan_media .media-object {
    width: 150px; }
  .plan_media .media-heading {
    font-weight: bold;
    font-size: 1.2em; }
    @media (max-width: 768px) {
      .plan_media .media-heading {
        font-size: 1.0em; } }
  .plan_media .price {
    position: absolute;
    bottom: 10px;
    right: 30px; }
    .plan_media .price strong {
      color: #f57c00;
      font-size: 1.3em; }

.step {
  position: relative;
  margin-top: 10px;
  margin-right: 30px;
  margin-left: 30px;
  margin-bottom: 60px;
  background: #e0e0e0;
  height: 10px;
  font-size: 12px;
  text-align: center;
  color: #212121; }

.step-item {
  position: absolute;
  top: -7px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%); }

.step-item::before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  margin: 0 auto 10px;
  border-radius: 12px;
  background-color: #e0e0e0; }

.step-item1 {
  left: 0; }

.step-item2 {
  left: 33.3%; }

.step-item3 {
  left: 66.66%; }

.step-item4 {
  width: 4em;
  left: 100%; }

.step-current-1 .step-item1::before,
.step-current-2 .step-item1::before,
.step-current-2 .step-item2::before,
.step-current-3 .step-item1::before,
.step-current-3 .step-item2::before,
.step-current-3 .step-item3::before,
.step-current-4 .step-item1::before,
.step-current-4 .step-item2::before,
.step-current-4 .step-item3::before,
.step-current-4 .step-item4::before {
  background-color: #fb8c00; }

.step-current-2 {
  background-image: -webkit-linear-gradient(left, #fb8c00 33.3%, #e0e0e0 33.3%);
  background-image: linear-gradient(to right, #fb8c00 33.3%, #e0e0e0 33.3%); }

.step-current-3 {
  background-image: -webkit-linear-gradient(left, #fb8c00 66.6%, #e0e0e0 66.6%);
  background-image: linear-gradient(to right, #fb8c00 66.6%, #e0e0e0 66.6%); }

.step-current-4 {
  background-color: #fb8c00; }

.step3 .step-item2 {
  left: 50%; }

.step3 .step-item3 {
  width: 4em;
  left: 100%; }

.step3 .step-current-2 {
  background-image: -webkit-linear-gradient(left, #fb8c00 50%, #e0e0e0 50%);
  background-image: linear-gradient(to right, #fb8c00 50%, #e0e0e0 50%); }

.step3 .step-current-3 {
  background-image: -webkit-linear-gradient(left, #fb8c00 100%, #e0e0e0 100%);
  background-image: linear-gradient(to right, #fb8c00 100%, #e0e0e0 100%); }

/** カレンダー **/
.calender {
  background: #ccc; }
  .calender .holiday {
    font-size: 12px;
    background: #e57373;
    color: white;
    padding: 2px;
    display: block;
    position: absolute;
    bottom: 0px;
    width: 100%; }
  .calender th {
    background: #F7F7F7;
    border: 1px solid #ccc;
    color: #333;
    padding: 0px;
    padding-right: 0px;
    font-size: 12px;
    text-align: center !important;
    line-height: 30px;
    font-weight: bold; }
    .calender th.red {
      background: #fce4ec; }
    .calender th.blue {
      background: #e3f2fd; }
    .calender th.gray {
      background: #f5f5f5; }
  .calender td {
    border: 1px solid #ccc;
    font-weight: normal;
    background: white;
    width: 13%;
    height: 60px;
    padding: 0px;
    position: relative;
    vertical-align: top; }
    .calender td.clickable {
      -webkit-transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all  0.3s ease;
      cursor: pointer; }
      .calender td.clickable:hover {
        background: #ecf2fa; }
    .calender td.clickable_on {
      background: #29b6f6 !important;
      color: white; }
      .calender td.clickable_on i {
        color: white; }
    .calender td small {
      display: block;
      font-size: 13px;
      line-height: 14px; }
    .calender td b {
      display: block;
      position: relative;
      margin-bottom: 5px;
      font-size: 1.1em;
      text-align: left;
      padding-top: 5px;
      padding-left: 5px; }
    .calender td p {
      font-size: 90%;
      margin-bottom: 0px; }
      .calender td p.con {
        background: #f57c00 !important; }
        .calender td p.con a {
          color: white !important; }
    .calender td.today {
      border: 2px solid #42a5f5; }
    .calender td.red {
      background: #fce4ec; }
    .calender td.blue {
      background: #e3f2fd; }
    .calender td.gray {
      background: #f5f5f5; }
    .calender td a {
      display: block !important;
      font-size: 14px;
      text-align: center;
      padding: 0px;
      color: #1e88e5;
      font-weight: 400;
      margin-bottom: 0px !important; }
      .calender td a:hover {
        background: #EFF8F8; }
    .calender td.link_td {
      padding: 0px;
      height: 50px; }
      .calender td.link_td small {
        color: #3598DB;
        border: 1px solid #3598DB;
        padding: 5px 10px; }
      .calender td.link_td:hover {
        cursor: pointer; }
    .calender td strong {
      display: block;
      font-size: 16px; }
    .calender td i {
      color: #1976d2;
      font-size: 20px; }
    .calender td ul {
      text-align: left; }
    .calender td.pricetd {
      text-align: center;
      padding: 3px; }
  .calender .inner td.day {
    color: #666666;
    font-size: 14px;
    font-weight: 600;
    text-align: right; }

.tcenter_title {
  text-align: center;
  font-size: 18px !important;
  background: #F9F9F9;
  color: #333;
  line-height: 110%;
  display: block;
  padding: 10px;
  margin-bottom: 10px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  letter-spacing: 1px; }

/*　消えるアラート　*/
.alert_my {
  display: none;
  width: 300px;
  position: fixed;
  top: 30%;
  left: 50%;
  margin-left: -150px;
  z-index: 9999;
  background: #FFF;
  padding: 30px;
  color: #4E0001;
  text-align: center;
  box-shadow: 0px 0px 10px #333;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  font-size: 16px; }

.alert_loading {
  display: none;
  width: 300px;
  position: fixed;
  top: 30%;
  left: 50%;
  margin-left: -150px;
  z-index: 9999;
  background: #444444;
  padding: 30px;
  color: #FFF;
  text-align: center;
  box-shadow: 0px 0px 10px #333;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  font-size: 16px;
  font-weight: normal; }
  .alert_loading span {
    padding-left: 60px;
    background: url("../img/loading.gif") no-repeat left center;
    padding-top: 15px;
    padding-bottom: 15px; }

.alert_close {
  position: absolute;
  right: -15px;
  top: -15px;
  text-align: center;
  cursor: pointer;
  font-size: 30px !important;
  color: black; }

.dialog {
  display: none;
  width: 300px;
  position: fixed;
  top: 30%;
  left: 50%;
  margin-left: -175px;
  z-index: 9999;
  background: #FFF;
  padding: 30px;
  color: #4E0001;
  text-align: center;
  box-shadow: 0px 0px 10px #333;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  font-size: 16px; }

.dl_dialog {
  display: none;
  width: 400px;
  position: fixed;
  top: 30%;
  left: 50%;
  margin-left: -200px;
  z-index: 9999;
  background: #FFF;
  padding: 30px;
  color: #4E0001;
  text-align: center;
  box-shadow: 0px 0px 10px #333;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  font-size: 14px;
  font-weight: normal; }

.read_dialog {
  display: none;
  width: 400px;
  position: fixed;
  top: 30%;
  left: 50%;
  margin-left: -200px;
  z-index: 9999;
  background: #FFF;
  padding: 30px;
  color: #4E0001;
  text-align: center;
  box-shadow: 0px 0px 10px #333;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  font-size: 14px; }

.overlay {
  opacity: 0.8;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: #FFF;
  z-index: 1; }

.form_btn {
  border-top: 2px solid #eeeeee;
  background: white;
  position: fixed;
  bottom: 0px;
  left: 0px;
  padding: 15px 10px;
  width: 100%; }
