/* CSS Document */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

input[type="number"] {
  -moz-appearance: textfield;
}

#contents .inner article section .contact_list dl {
  font-size: 1.4rem;
  margin: 0;
}
#contents .inner article section .contact_list dt {
  display: block;
  background: #3656a5;
  color: #fff;
  padding: 5px;
  margin: 0;
}
#contents .inner article section .contact_list dt .required {
  display: inline-block;
  width: 3em;
  margin: 0 2px;
  text-align: center;
  font-size: 1.2rem;
  border-radius: 4px;
  color: #fff;
  background: #f00;
}
#contents .inner article section .contact_list dd {
  display: block;
  padding: 5px;
  border: 1px solid #ddd;
  margin: 0;
}
#contents .inner article section .contact_list dd input[type="text"] {
  width: 85%;
  margin-bottom: 10px;
}
#contents .inner article section .contact_list dd input[type="text"].zip {
  width: 8em;
  margin-bottom: 10px;
}
#contents .inner article section .contact_list dd input[type="text"].s {
  width: auto;
  margin-bottom: 10px;
}
#contents .inner article section .contact_list dd input[type="number"] {
  width: 4em;
  margin-bottom: 10px;
}
#contents .inner article section .contact_list dd textarea {
  width: 85%;
  margin-bottom: 10px;
}

#contents .inner article section ul.step {
  list-style-type: none;
  display: flex;
  width: 100%;
  padding: 0;
  margin: 0 0 10px;
  overflow: hidden;
  border: 0 none;
  height: 60px;
}
#contents .inner article section ul.step li {
  height: 40px;
  flex-basis: 33%;
  position: relative;
  background: #ddd;
  padding: 10px 0.5rem 10px 2rem;
  color: #fff;
}
#contents .inner article section ul.step li:nth-child(2) {
  flex-grow: 1.5;
}
#contents .inner article section ul.step li span {
  display: block;
  font-size: 1rem;
}
#contents .inner article section ul.step li p {
  display: block;
  font-size: 1.2rem;
  margin: 0;
  padding: 0;
  text-indent: 0;
}
#contents .inner article section ul.step li:first-child {
  border-radius: 6px 0 0 6px;
  padding-right: 1em;
}
#contents .inner article section ul.step li:last-child {
  border-radius: 0 6px 6px 0;
  padding-right: 1em;
}
#contents .inner article section ul.step li:last-child::before, #contents .inner article section ul.step li:last-child::after {
  display: none;
}
#contents .inner article section ul.step li::before, #contents .inner article section ul.step li::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin: auto;
  overflow: hidden;
  border-width: 34px 0 34px 15px;
}
#contents .inner article section ul.step li::before {
  top: -4px;
  right: -17px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  z-index: 10;
}
#contents .inner article section ul.step li::after {
  top: -4px;
  right: -15px;
  border-style: solid;
  border-color: transparent transparent transparent #ddd;
  z-index: 10;
}
#contents .inner article section ul.step li.is-current {
  background: #2b5796;
  font-weight: bold;
}
#contents .inner article section ul.step li.is-current::after {
  border-color: transparent transparent transparent #2b5796;
}

.btnset {
  text-align: center;
}
.btnset form {
  display: inline-block;
}
.btnset button {
  padding: 5px;
  width: 8em;
  background: #2b5796;
  border: 0 none;
  color: #fff;
  margin: 10px;
  text-align: center;
  display: inline-block;
  border-radius: 8px;
  box-shadow: 0 0 0 2px white, 0 0 0 4px #2b5796;
}
.btnset button.btn2 {
  width: 12em;
}

@media (min-width: 768px) {
  #contents .inner article section .contact_list dl {
    border: 1px solid #ddd;
    font-size: 1.4rem;
    display: flex;
  }
  #contents .inner article section .contact_list dt {
    display: block;
    background: #3656a5;
    color: #fff;
    padding: 5px;
    flex-basis: 160px;
    position: relative;
  }
  #contents .inner article section .contact_list dt .required {
    position: absolute;
    display: inline-block;
    width: 3em;
    margin: 0 2px;
    text-align: center;
    font-size: 1.2rem;
    border-radius: 4px;
    color: #fff;
    background: #f00;
    right: 5px;
    top: 5px;
  }
  #contents .inner article section .contact_list dd {
    display: block;
    flex-grow: 2;
    padding: 5px;
    border: 0 solid #ddd;
    flex-basis: 300px;
  }
  #contents .inner article section .contact_list dd input[type="text"] {
    margin-bottom: 10px;
  }
  #contents .inner article section .contact_list dd textarea {
    margin-bottom: 10px;
  }

  #contents .inner article section ul.step li {
    flex-basis: 33%;
  }
  #contents .inner article section ul.step li p {
    display: block;
    font-size: 1.4rem;
    margin: 0;
    padding: 0;
    text-indent: 0;
  }
  #contents .inner article section ul.step li:nth-child(2) {
    flex-grow: 1;
  }
}
