@charset "UTF-8";
/*----- form -----*/
header {
  background: linear-gradient(#102942 80px, transparent 0);
  height: 80px;
  width: 100%;
  margin-bottom: 125px;
}

header > div {
  width: 1100px;
  margin: 0 auto;
  position: relative;
}

header ul {
  height: 80px;
}

header li {
  margin-left: 10px;
}

header li.tel-btn {
  cursor: pointer;
}

header .l-tel-box {
  display: none;
  position: absolute;
  top: 80px;
  left: 480px;
  width: 274px;
  height: 264px;
  border: #102942 solid 3px;
  border-top: none;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.3);
  background-color: rgba(255, 255, 255, 0.9);
  padding-top: 26px;
}

header .l-tel-box h2 {
  font-size: 18px;
  font-weight: bold;
  color: #102942;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 18px;
}

header .l-tel-box > div {
  width: 240px;
  margin: 0 auto 19px;
  padding: 18px 0 13px;
  border-top: #102942 solid 1px;
  border-bottom: #102942 solid 1px;
}

header .l-tel-box > div em {
  display: block;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: -1px;
  color: #102942;
  text-align: right;
  background: url(../img/fixed_icon_tel.png) no-repeat left 3px;
  margin-bottom: 12px;
}

header .l-tel-box > div p {
  font-size: 14px;
  font-weight: bold;
  color: #102942;
  text-align: center;
}

header .l-tel-box .close-btn {
  cursor: pointer;
  width: 180px;
  margin: 0 auto;
  padding: 8px 0 8px 40px;
  font-size: 16px;
  color: #fff;
  background: #102942;
}

header .l-tel-box .close-btn:hover {
  opacity: 0.7;
}

#form #form-frame h2 {
  font-size: 50px;
  font-weight: bold;
  margin-bottom: 60px;
}
#form #main-frame {
  margin: 0 auto;
  width: 900px;
}
#form #main-frame .sub-title {
  font-size: 18px;
  color: #102942;
  line-height: 2.0;
  margin-bottom: 62px;
  padding-bottom: 17px;
  border-bottom: #102942 solid 2px;
}
#form .form-table {
  width: 810px;
  margin: 0 auto;
}
#form .form-table .error {
  display: block;
  width: 100%;
  color: #df3434;
  font-size: 14px;
  padding-bottom: 8px;
}
#form .form-table dl {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
#form .form-table dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
#form .form-table .el_inquiry_ttl {
  font-size: 19px;
  color: #102942;
}
#form .form-table .el_radio {
  display: inline-block;
  margin-top: 10px;
}
#form .form-table dt label {
  font-size: 19px;
  color: #102942;
  letter-spacing: -0.5px;
}
#form .form-table .req dt::after {
  content: "必須";
  color: #fff;
  font-size: 13px;
  background: #a43c41;
  padding: 6px;
}
#form .form-table .any dt::after {
  content: "任意";
  color: #fff;
  font-size: 13px;
  background: #a9a9a9;
  padding: 6px;
}
#form .form-table dt, #form .form-table dd {
  font-size: 16px;
}
#form .form-table dt {
  padding: 27px 0;
  width: 240px;
}
#form .form-table dd {
  padding: 20px 0;
  position: relative;
  width: 550px;
}

#form .form-table .scroll-box {
  background: #f3f2f0;
  width: 820px;
  height: 140px;
  margin: 45px auto 18px;
  padding: 30px 40px 2px;
  overflow-y: scroll;
}

#form .form-table .scroll-box p {
  font-size: 15px;
  color: #102942;
  line-height: 1.6;
  margin-bottom: 28px;
}

#form .form-table .scroll-box p a {
  text-decoration: underline;
}

#form .form-table .scroll-box p a.text-link {
  display: inline-block;
  margin-left: 1.8em;
}

#form .form-table .scroll-box p a:hover {
  text-decoration: none;
}

/*----- input周り(text,select,textarea等) -----*/
#form .form-table dl dd select, #form .form-table dl dd input[type=text], #form .form-table dl dd textarea {
  appearance: none;
  background-color: #fff;
  border: #102942 solid 1px;
  border-radius: 0;
  font-size: 15px;
  line-height: 1.5;
  padding: 8px 12px;
  resize: none;
  width: 100%;
}
#form .form-table dl dd select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url(../img/select_arrow.png) no-repeat right 10px center;
}
#form .form-table dl dd textarea {
  height: 160px;
}

#form .form-table dl.facility dd.checkbox {
  font-size: 0;
}
#form .form-table dl.facility dd.checkbox input[type=checkbox] {
  display: none;
}
#form .form-table dl.facility dd.checkbox input[type=checkbox] + label {
  background: #fff;
  border: #d2d2d2 solid 2px;
  cursor: pointer;
  color: #102942;
  display: inline-block;
  font-size: 19px;
  letter-spacing: -2px;
  margin-right: 10px;
  padding: 13px 0 13px 40px;
  position: relative;
  user-select: none;
  transition: 0.2s;
}
#form .form-table dl.facility dd.checkbox input[type=checkbox] + label[for=facility01] {
  width: 230px;
}
#form .form-table dl.facility dd.checkbox input[type=checkbox] + label[for=facility02] {
  width: 150px;
}
#form .form-table dl.facility dd.checkbox input[type=checkbox] + label[for=facility03] {
  width: 150px;
  margin-right: 0;
}
#form .form-table dl.facility dd.checkbox input[type=checkbox] + label::before {
  content: "";
  background: #fff;
  border: 2px solid #d2d2d2;
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 8px;
  top: 14px;
  transition: 0.2s;
}
#form .form-table dl.facility dd.checkbox input[type=checkbox] + label::after {
  content: "";
  border-right: 3px solid #102942;
  border-bottom: 3px solid #102942;
  display: block;
  opacity: 0;
  width: 11px;
  height: 20px;
  position: absolute;
  left: 14px;
  top: 9px;
  transform: rotate(45deg);
  transition: 0.2s;
}
#form .form-table dl.facility dd.checkbox input[type=checkbox] + label:last-child {
  margin-bottom: 0;
}
#form .form-table dl.facility dd.checkbox input[type=checkbox]:checked + label {
  border-color: #102942;
}
#form .form-table dl.facility dd.checkbox input[type=checkbox]:checked + label::after {
  opacity: 1;
}

/*----- パーツ(項目ごとの微調整用) -----*/
#form .form-table dl.tel dd input {
  width: 70px;
}

#form .form-table dl.tel dd span {
  display: inline-block;
  vertical-align: middle;
  font-size: 20px;
  color: #102942;
  margin: 0 6px;
}

#form .form-table dl.etc {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

#form .form-table dl.facility dt {
  padding: 19px 0;
}

#form .form-table dl.facility dd {
  padding: 17px 0;
}

#form .form-table dl.facility dt label span {
  display: block;
  font-size: 15px;
  color: #102942;
  margin-top: 8px;
}

#form .agree {
  width: 245px;
  font-size: 0;
  margin: 0 auto;
  padding-left: 60px;
  position: relative;
}
#form .agree::before {
  content: "必須";
  color: #fff;
  font-size: 14px;
  background: #a43c41;
  padding: 6px;
  position: absolute;
  bottom: -4px;
  left: 0;
}
#form .agree input[type=checkbox] {
  display: none;
}
#form .agree input[type=checkbox] + label {
  cursor: pointer;
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  color: #102942;
  letter-spacing: 1px;
  width: 100%;
  padding-left: 45px;
  position: relative;
  user-select: none;
  transition: 0.2s;
}
#form .agree input[type=checkbox] + label::before {
  content: "";
  background: #d9d9d9;
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 0;
  transition: 0.2s;
}
#form .agree input[type=checkbox] + label::after {
  content: "";
  border-right: 3px solid #102942;
  border-bottom: 3px solid #102942;
  display: block;
  opacity: 0;
  width: 12px;
  height: 20px;
  position: absolute;
  left: 5px;
  top: -5px;
  transform: rotate(45deg);
  transition: 0.2s;
}
#form .agree input[type=checkbox]:checked + label::before {
  border-color: #b46363;
}
#form .agree input[type=checkbox]:checked + label::after {
  opacity: 1;
}

#form.confirm .form-table dl.etc dd {
  line-height: 1.5;
}

/*----- datepicker -----*/
div.ui-datepicker {
  font-size: 18px;
}
#form .form-table dl dd #date {
  padding: 8px 0 8px 51px;
  background: #fff url(../img/form_icon_calendar.png) no-repeat 9px center;
}

/*----- formボタン -----*/
#form #next-btn {
  margin: 90px 0 136px;
  text-align: center;
}
#form #sent-prev {
  margin: 90px 0 130px;
  text-align: center;
}
#form #sent-prev #send-btn {
  margin-bottom: 80px;
}
#form #sent-prev #prev-btn a {
  font-size: 19px;
  font-weight: bold;
  color: #102942;
  text-decoration: underline;
}
#form #sent-prev #prev-btn a:hover {
  text-decoration: none;
}
#form input[type=image]:hover {
  opacity: 0.7;
}

/*----- thanks -----*/
#form .thanks-text {
  margin: 90px auto 88px;
  width: 900px;
}
#form .thanks-text .title {
  color: #102942;
  font-size: 27px;
  letter-spacing: 3px;
  border-bottom: #102942 solid 2px;
  margin-bottom: 46px;
  padding-bottom: 26px;
}
#form .thanks-text .text {
  font-size: 17px;
  color: #102942;
  line-height: 2.0;
}
#form .thanks-text .btn {
  margin: 34px 0 120px;
}
#form .go-top {
  margin-bottom: 300px;
  text-align: center;
}
#form .go-top a {
  color: #102942;
  font-size: 19px;
  font-weight: bold;
  text-decoration: underline;
}
#form .go-top a:hover {
  text-decoration: none;
}

/* footer */
footer {
  background-color: #102942;
  color: #fff;
  padding-bottom: 20px;
}

footer > div {
  width: 780px;
  margin: 0 auto;
  padding-top: 50px;
}

footer .box-1 {
  border-bottom: 1px solid #fff;
  padding-bottom: 5px;
  margin-bottom: 13px;
}

footer dl {
  width: 610px;
  text-align: left;
}

footer dt {
  padding-left: 10px;
  width: 95px;
}

footer .box-2 {
  padding-bottom: 30px;
}

footer .lists {
  width: 220px;
}

footer dt,
footer dd,
footer li {
  font-size: 14px;
  line-height: 1.71;
  letter-spacing: .06em;
}

footer small {
  font-size: 13px;
  letter-spacing: .06em;
}