@charset "UTF-8";

/* -----------------------------------------------------------------
   form
   ----------------------------------------------------------------- */
  #EditForm{
    font-size:1.5vw;
  }


  table {
    border-collapse: collapse;
    border-spacing: 0;
  }

  #EditForm td{
    position:relative;
  }

  #EditForm tr {
      border-top: 1px solid #c4c6d5;
      border-bottom: 1px solid #c4c6d5;
  }

  #EditForm td:nth-child(1) {
    width: 29.999999%;
  }

  #EditForm td:nth-child(2) {
    width: 59.999999%;
  }
  #EditForm .check td:nth-child(2) {
    margin-left: 10%;
    color:#333;
  }

  #EditForm td {
    line-height: 1.5;
    padding: 2vw 0 2vw 2vw;
    vertical-align: top;
  }

  #EditForm input,#EditForm select,#EditForm textarea {
    font-size:1.2vw;
    padding: .8vw 1.6vw;
    border: 1px solid #333;
    color: #555;
    background-color: #eeefff;
    background-image: none;
    -webkit-border-radius: 0;
    -webkit-background-clip: padding-box;
    -moz-border-radius: 0;
    -moz-background-clip: padding;
    border-radius: 0;
  }
  #EditForm textarea {
      overflow-y: scroll;
  }

  #EditForm input {
      height: 3vw;
  }

  #EditForm select {
      height: 3vw;
  }

  #EditForm .help-inline {
      display: inline-block;
      color: #a3a3a3;
      margin: 4vw auto;
      font-size:1.5vw;
  }

  #EditForm input[type=file] {
      height: auto;
      margin-bottom: 2vw;
  }

  #EditForm input[type=checkbox],
  #EditForm input[type=radio] {
      display: inline-block;
      margin-right: 6px;
  }
  #EditForm input[type=checkbox] + label,
  #EditForm input[type=radio] + label {
      position: relative;
      display: inline-block;
      margin-right: 2rem;
      cursor: pointer;
  }

  #EditForm input[type=checkbox],
  #EditForm input[type=radio] {
      display: none;
      margin: 0;
  }
  #EditForm input[type=checkbox] + label,
  #EditForm input[type=radio] + label {
      padding: 0 0 0 24px;
  }
  #EditForm input[type=checkbox] + label::before,
  #EditForm input[type=radio] + label::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      display: block;
      width: 18px;
      height: 18px;
      margin-top: -9px;
      background: #FFF;
  }
  #EditForm input[type=radio] + label::before {
    border-radius: 9px;
  }

  #EditForm input[type=checkbox] + label::before,
  #EditForm input[type=radio] + label::before {
      border: 2px solid #ccc;
  }

  #EditForm input[type=checkbox]:checked + label::after,
  #EditForm input[type=radio]:checked + label::after {
      content: "";
      position: absolute;
      top: 50%;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      display: block;
  }
  #EditForm input[type=checkbox]:checked + label::after,
  #EditForm input[type=radio]:checked + label::after {
      left: 3px;
      width: 16px;
      height: 8px;
      margin-top: -8px;
      border-left: 3px solid #E71063;
      border-bottom: 3px solid #E71063;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
  }

  @media (max-width: 768px){
    #EditForm{
      font-size:4vw;
      line-height: 8vw;
    }
    #EditForm table {
        width:100%;
    }
    #EditForm td:nth-child(1) {
        padding: 4vw 0 4vw 4vw;
        font-weight: bold;
    }
    #EditForm td:nth-child(2),#EditForm .check td:nth-child(2) {
        padding-top: 4vw;
        margin-left: 0;
    }
    #EditForm td {
        display: block;
        padding-right: 0;
        padding-left: 0;
        width: 100% !important;
    }
    #EditForm td textarea,#EditForm td input[type="text"]:not(.calender),#EditForm td input[type="email"] {
        width: 100%;
        font-size:4vw;
        padding: 4vw 6vw;
    }
    #EditForm input,
    #EditForm select {
      height: 9vw;
      font-size:4vw;
    }
    #EditForm .help-inline {
        margin-left: 0;
        margin-top: 4vw;
        font-size:4vw;
    }
}

.file_icon {
    height:40px;
    padding: 2vw 0 2vw 4vw;
}

#lockscreen{
  display:none;
  position: fixed; /* 必須、ローディング画面をスクロールを不可にする */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background:rgba(255,255,255,0.8);
  z-index: 9998;
}

#lockscreen p {
  font-size:2vw;
  position: absolute;
  top: 50%;
  left: 45%;
  margin: auto;
  color: #000;
  z-index: 9999;
}

/* photo
================================================== */

.Photos {
    width:100%;
    margin:30px 0;
    clear:both;
}
.Photos li {
    width:195px;height:195px;
    max-width:195px;
    max-height:195px;
    margin-right:5px;
    margin-bottom:5px;
    float:left;
}
#EditForm #Files,#EditForm #FilesForm {
    position: relative;
    width:100%;
    height:200px;
    border:3px #d3d4e0 dashed;
    text-align:center;
    font-size:2em;
    line-height:1.2em;
    font-weight:bold;
    color:#d3d4e0;
    background:none;
    padding-top:56px;
}
#FilesForm {
    height:2vw;
    line-height:2vw;
    padding-top:0;
}

#EditForm .SThu {
    display: inline-block;
    background-color: #ccc;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
#EditForm .SThu {
    width:100%;height:100%;
}
#EditForm .SThu {
    background-size: contain;
    padding-top: 100%;
}
a.btndel {
    position:absolute;
    padding:0.2%;
    color: #fff;
    text-shadow: -1px -1px 2px rgba(0, 0, 0, .3);
}
a.btndel:hover {
    color: #666;
    border-color: #ff8b8b;
}


/* -----------------------------------------------------------------
   カレンダー
   ----------------------------------------------------------------- */

.ui-datepicker {
width: 12rem;
line-height: 160%;
}
.ui-datepicker td span,
.ui-datepicker td a {
   padding: .1rem;
   font-size: .9rem;
}
.ui-datepicker td span,
.ui-datepicker td a {
   padding: .1rem;
   font-size:.9rem;
}
.ui-datepicker th {
    padding: .3rem;
}

.ui-datepicker-trigger{
    margin:3px;
}

.ui-datepicker-title {
    white-space: nowrap;
    font-size:.6em;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    width: 39%;font-size:.9rem;
}


/*お問い合わせボタン*/
.btn_contact{
  color: #FFF;
  font-size: 1.55rem;
  line-height: 2.0rem;
  cursor: pointer
}
.btn_contact {
  display: inline-block;
  padding: 17px 80px 17px 60px;
  border-radius: 25px;
  text-decoration: none;
  color: #FFF;
  background-image: linear-gradient(45deg, #008CCF 0%, #00479D 100%);
}

.btn_contact:hover {
  background-image: -webkit-linear-gradient(45deg,rgba(0,169,251,1.00) 0%,rgba(0,96,213,1.00) 100%);
  background-image: -moz-linear-gradient(45deg,rgba(0,169,251,1.00) 0%,rgba(0,96,213,1.00) 100%);
  background-image: -o-linear-gradient(45deg,rgba(0,169,251,1.00) 0%,rgba(0,96,213,1.00) 100%);
  background-image: linear-gradient(45deg,rgba(0,169,251,1.00) 0%,rgba(0,96,213,1.00) 100%);
  color: #FFF;
}

/*その他ボタン*/
.btn_other {
  display: inline-block;
  padding: 10px 5%;
  border-radius: 25px;
  text-decoration: none;
  color: #fff;
  background-color:#008CCF;
  border: 2px solid #008CCF;
  font-weight:bold;
  cursor: pointer
}

.btn_other:hover {
  color: #008CCF;
  background-color:#fff;
}


.fa-chevron-circle-right {
  display:inline-block;
  position: relative;
}
.fa-chevron-circle-right:after {
  position: absolute;
  width: 1.0em;
  top:35%;
  right:5%;
}


@media screen and (max-width: 768px){
  .btn_contact {
    width:90%;
    padding: 16px;
  }
}

/* -----------------------------------------------------------------
   common系
   ----------------------------------------------------------------- */

form .err{
    background-color: #FFE3E3 !important
}

p{
  letter-spacing: 0.02rem;
}

.impro::before {
  content:"★";
  position:absolute;
  font-size:1em;
  color:red;
  left:0;
  top:0;
  z-index:999;
}

.small{
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
}

.center{
  text-align: center !important;
  align-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.left{
  text-align: left !important;
  align-content: left !important;
  margin-left: 0 !important;
}

.text-right{
  text-align: right !important;
}

.text-left{
  text-align: left !important;
}

.flex{
  display: flex;
}

.bold{
  font-weight:bold;
}


/* -----------------------------------------------------------------
   input長
   ----------------------------------------------------------------- */
.col-0{
  width: 2%;
}
.col-1{
  width: 80px;
}
.col-2{
  width: 160px;
}
.col-3{
  width: 240px;
}
.col-4{
  width: 320px;
}
.col-5{
  width: 400px;
}
.col-6{
  width: 480px;
  max-width:100%;
}
.col-7{
  width: 560px;
  max-width:100%;
}

.mt-1{
  margin-top:1rem !important;
}
.my-2{
  margin-top:2rem !important;
  margin-bottom:2rem !important;
}
.mb-1{
  margin-bottom:1rem !important;
}
.ml-1{
  margin-left:1rem !important;
}
.py-1{
  padding-top:1rem !important;
  padding-bottom:1rem !important;
}

