input, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

label {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

button, [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
}

input[type=text] {
  line-height: 1.75;
}

.u-txt-p.txt-error {
  color: #28a7e0;
  font-weight: bold;
}

.u-list-link {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .u-list-link {
    margin-top: 80px;
  }
}
@media print, screen and (min-width: 768px) {
  .u-list-link .link-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 -30px;
  }
}
.u-list-link .link-list .list-item {
  padding: 0 30px;
  text-align: center;
}
.u-list-link .link-list .list-item .u-btn-common {
  min-width: 230px;
}
@media screen and (max-width: 767px) {
  .u-list-link .link-list .list-item + .list-item {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .u-list-link .link-list.link-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.u-btn-common {
  position: relative;
  display: inline-block;
  text-align: center;
  background-color: #28a7e0;
  border: solid 1px #28a7e0;
  color: #fff;
  padding: 14px 0 14px 0;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  line-height: 1.5;
  font-weight: bold;
  overflow: hidden;
  border-radius: 25px;
}
@media print, screen and (min-width: 768px) {
  .u-btn-common {
    padding: 13px 0 13px 0;
    border: solid 2px #28a7e0;
    border-radius: 30px;
    font-size: 2rem;
  }
}
.u-btn-common .btn-inner {
  display: block;
  position: relative;
  z-index: 3;
  padding: 0 15px 0 15px;
}
@media print, screen and (min-width: 768px) {
  .u-btn-common .btn-inner {
    padding: 0 44px 0 44px;
  }
}
[data-whatinput=keyboard] .u-btn-common:focus {
  cursor: pointer;
  background-color: #fff;
  color: #28a7e0;
}
@media print, screen and (min-width: 1025px) {
  .u-btn-common:hover {
    cursor: pointer;
    background-color: #fff;
    color: #28a7e0;
  }
}
.u-btn-common.btn-color-gray {
  border: none;
  background-color: #fff;
  color: #B4B4B4;
}
.u-btn-common.btn-color-gray::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border: solid 1px #DCDCDC;
  border-radius: 25px;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .u-btn-common.btn-color-gray::before {
    border-radius: 30px;
  }
}
.u-btn-common.btn-color-gray::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border: solid 2px #DCDCDC;
  border-radius: 25px;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  opacity: 0;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .u-btn-common.btn-color-gray::after {
    border-radius: 30px;
  }
}
[data-whatinput=keyboard] .u-btn-common.btn-color-gray:focus::after {
  opacity: 1;
}
@media print, screen and (min-width: 1025px) {
  .u-btn-common.btn-color-gray:hover::after {
    opacity: 1;
  }
}

.u-form-box {
  margin-top: 30px;
}
@media print, screen and (min-width: 1025px) {
  .u-form-box {
    margin-top: 40px;
    display: table;
    width: 100%;
  }
}
@media print, screen and (min-width: 1025px) {
  .u-form-box dl {
    display: table-row;
  }
}
.u-form-box dl dt {
  border-top: 1px solid #DCDCDC;
  padding: 15px;
  position: relative;
  background-color: #F7F7F7;
}
@media print, screen and (min-width: 1025px) {
  .u-form-box dl dt {
    border-bottom: 1px solid #DCDCDC;
    display: table-cell;
    vertical-align: top;
    padding: 30px;
    width: 19.5em;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.u-form-box dl dd {
  border-bottom: 1px solid #DCDCDC;
  padding: 20px 0 20px;
  position: relative;
}
.u-form-box dl dd > *:first-child {
  margin-top: 0 !important;
}
@media print, screen and (min-width: 1025px) {
  .u-form-box dl dd {
    border-top: 1px solid #DCDCDC;
    display: table-cell;
    vertical-align: top;
    padding: 30px 0 30px 88px;
    width: calc(100% - 19.5em);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.u-form-box dl dd .form-error {
  margin-top: 10px;
  color: #28a7e0;
}
@media print, screen and (min-width: 1025px) {
  .u-form-box dl dd .form-error {
    margin-top: 8px;
  }
}
.u-form-box dl dd .u-form-select + .u-form-textarea, .u-form-box dl dd .u-form-select + .u-form-text {
  margin-top: 10px;
}
@media print, screen and (min-width: 1025px) {
  .u-form-box dl dd .u-form-select + .u-form-textarea, .u-form-box dl dd .u-form-select + .u-form-text {
    margin-top: 20px;
  }
}
.u-form-box dl dd .u-form-select + .u-form-textarea.is-hidden, .u-form-box dl dd .u-form-select + .u-form-text.is-hidden {
  display: none;
}
.u-form-box dl + dl > dt, .u-form-box dl + dl > dd {
  border-top: none;
}

.u-form-txt {
  padding: 5px 10px;
  border: none;
  width: 100%;
  min-height: 50px;
  border-radius: 5px;
  font-size: 16px;
  font-size: 1.6rem;
  display: block;
  background-color: #fff;
  border-radius: 5px !important;
  border: 1px solid #DCDCDC;
  outline-color: #DCDCDC;
}
@media print, screen and (min-width: 1025px) {
  .u-form-txt {
    border-radius: 10px !important;
    min-height: 60px;
    padding: 10px 15px;
    font-size: 1.8rem;
  }
}
.u-form-txt.txt-size-s {
  width: 200px;
  display: inline-block;
  margin-right: 0.5em;
}
.u-form-txt.is-err {
  border: solid 2px #28a7e0;
}

.u-form-textarea {
  resize: vertical;
  width: 100%;
  height: 100px;
  vertical-align: bottom;
  padding: 10px;
  font-size: 16px;
  font-size: 1.6rem;
  background-color: #fff;
  border-radius: 5px;
  border: 1px solid #DCDCDC;
  outline-color: #DCDCDC;
}
@media print, screen and (min-width: 1025px) {
  .u-form-textarea {
    border-radius: 10px;
    padding: 15px 20px;
    font-size: 1.8rem;
    height: 200px;
  }
}
.u-form-textarea.is-err {
  border: solid 1px #28a7e0;
}

.u-form-select {
  position: relative;
  max-width: 100%;
  width: 100%;
}
.u-form-select:before {
  content: "";
  background: url(../../svg/i_arrow_select.svg) center no-repeat;
  background-size: 100% auto;
  width: 8px;
  height: 18px;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
}
.u-form-select select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  min-height: 50px;
  border: solid 1px #DCDCDC;
  border-radius: 5px;
  color: #333;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 10px 25px 10px 10px;
  background-color: #fff;
  width: 100%;
  outline: none;
}
@media print, screen and (min-width: 1025px) {
  .u-form-select select {
    border-radius: 10px;
    font-size: 1.8rem;
  }
}
.u-form-select select::-ms-expand {
  display: none;
}
[data-whatinput=keyboard] .u-form-select select:focus {
  cursor: pointer;
}
@media print, screen and (min-width: 1025px) {
  .u-form-select select:hover {
    cursor: pointer;
  }
}
@media print, screen and (min-width: 1025px) {
  .u-form-select.select-sizes {
    width: 240px;
  }
}

.u-form-radio {
  margin: 0 -10px;
  margin-bottom: -10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media print, screen and (min-width: 1025px) {
  .u-form-radio {
    margin: 0 -20px;
    margin-bottom: -20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.u-form-radio li.radio-item {
  margin-bottom: 10px;
  padding: 0 10px;
  height: 30px;
  position: relative;
}
@media print, screen and (min-width: 1025px) {
  .u-form-radio li.radio-item {
    margin-bottom: 20px;
    padding: 0 20px;
  }
}
.u-form-radio li.radio-item label {
  display: inline-block;
  position: relative;
  padding-left: 40px;
  line-height: 2.5;
}
@media print, screen and (min-width: 1025px) {
  .u-form-radio li.radio-item label {
    padding-left: 40px;
    cursor: pointer;
    line-height: 1.75;
  }
}
.u-form-radio li.radio-item label:before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: #fff;
  border: 1px solid #DCDCDC;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
}
.u-form-radio li.radio-item input {
  position: absolute;
  top: 0px;
  left: 0px;
  opacity: 0;
}
.u-form-radio li.radio-item input:checked + label:after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 10px;
  top: 10px;
  width: 10px;
  height: 10px;
  background-color: #333;
  border-radius: 50%;
}

@media print, screen and (min-width: 1025px) {
  .u-form-check {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.u-form-check li {
  position: relative;
}
.u-form-check li label {
  display: inline-block;
  position: relative;
  padding-left: 28px;
}
@media print, screen and (min-width: 1025px) {
  .u-form-check li label {
    padding-left: 28px;
    cursor: pointer;
  }
}
.u-form-check li label:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  background-color: #fff;
  border: 1px solid #DCDCDC;
  border-radius: 3px;
  overflow: hidden;
  position: absolute;
  left: 0px;
  top: 0.1em;
}
@media print, screen and (min-width: 1025px) {
  .u-form-check li label:before {
    top: 0.4em;
  }
}
.u-form-check li input {
  position: absolute;
  top: 0px;
  left: 0px;
  opacity: 0;
}
.u-form-check li input:checked + label:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 10px;
  background: url(../../svg/i_check.svg?c=333) center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 3px;
  top: 6px;
}
@media print, screen and (min-width: 1025px) {
  .u-form-check li input:checked + label:after {
    top: 11px;
  }
}
@media print, screen and (min-width: 1025px) {
  .u-form-check li + li {
    margin-right: 40px;
  }
}

.u-form-date {
  padding: 5px 10px;
  border: none;
  width: 100%;
  min-height: 50px;
  border-radius: 5px;
  font-size: 16px;
  font-size: 1.6rem;
  display: block;
  background-color: #fff;
  border-radius: 5px !important;
  border: 1px solid #DCDCDC;
  outline-color: #DCDCDC;
}
@media print, screen and (min-width: 1025px) {
  .u-form-date {
    border-radius: 10px !important;
    min-height: 60px;
    padding: 10px 15px;
    font-size: 1.8rem;
  }
}
.u-form-date.txt-size-s {
  width: 200px;
  display: inline-block;
  margin-right: 0.5em;
}
.u-form-date.is-err {
  border: solid 2px #28a7e0;
}

@media print, screen and (min-width: 1025px) {
  .u-form-address {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.u-form-address .address-ttl {
  line-height: 1.5;
}
@media print, screen and (min-width: 1025px) {
  .u-form-address .address-ttl {
    width: 5em;
  }
}
.u-form-address .address-ttl + .u-form-txt {
  margin-top: 0;
}
.u-form-address .address-cont {
  margin-top: 5px;
}
.u-form-address .address-cont > *:first-child {
  margin-top: 0 !important;
}
@media print, screen and (min-width: 1025px) {
  .u-form-address .address-cont {
    width: calc(100% - 5em);
    margin-left: 20px;
  }
}
.u-form-address + .u-form-address {
  margin-top: 10px;
}
@media print, screen and (min-width: 1025px) {
  .u-form-address + .u-form-address {
    margin-top: 16px;
  }
}

.u-form-agree {
  margin-top: 20px;
  text-align: center;
}
@media print, screen and (min-width: 1025px) {
  .u-form-agree {
    margin-top: 40px;
  }
}

.u-fotm-zip {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 0.5em;
}
.u-fotm-zip .zip-item {
  width: calc(50% - 30px);
}
.u-fotm-zip .zip-item.item-text {
  width: 30px;
}

dl.u-list-date {
  width: 100%;
}
@media print, screen and (min-width: 1025px) {
  dl.u-list-date {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
dl.u-list-date + dl.u-list-date {
  padding-top: 15px;
  margin-top: 15px;
}
@media print, screen and (min-width: 1025px) {
  dl.u-list-date + dl.u-list-date {
    border-top: 1px solid #DCDCDC;
    padding-top: 25px;
    margin-top: 25px;
  }
}
dl.u-list-date dt.date-ttl {
  background-color: #fff;
  border: none;
  padding: 0;
  margin-bottom: 5px;
}
@media print, screen and (min-width: 1025px) {
  dl.u-list-date dt.date-ttl {
    width: calc(30px + 6em);
    margin-bottom: 0;
  }
}
dl.u-list-date dd.date-cont {
  position: relative;
  border: none;
  padding: 0;
}
@media print, screen and (min-width: 1025px) {
  dl.u-list-date dd.date-cont {
    width: calc(100% - ( 30px + 6em ));
  }
}
dl.u-list-date dd.date-cont .cont-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
dl.u-list-date dd.date-cont .cont-list .list-item {
  width: calc((100% - 4.5em) / 3);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
dl.u-list-date dd.date-cont .cont-list .list-item .u-form-select {
  width: calc(100%);
  padding-left: 0.5em;
}
dl.u-list-date dd.date-cont .cont-list .list-item .item-text {
  width: 1.5em;
  display: block;
}
dl.u-list-date dd.date-cont .cont-list .list-separate {
  width: 1.5em;
  text-align: right;
}

dl.u-form-school {
  width: 100%;
}
@media print, screen and (min-width: 1025px) {
  dl.u-form-school {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
dl.u-form-school + dl.u-form-school {
  padding-top: 10px;
  margin-top: 10px;
}
@media print, screen and (min-width: 1025px) {
  dl.u-form-school + dl.u-form-school {
    border-top: 1px solid #DCDCDC;
    padding-top: 20px;
    margin-top: 20px;
  }
}
dl.u-form-school dt.school-ttl {
  background-color: #fff;
  border: none;
  padding: 0;
  margin-bottom: 5px;
}
@media print, screen and (min-width: 1025px) {
  dl.u-form-school dt.school-ttl {
    width: calc(30px + 4em);
    margin-bottom: 0;
  }
}
dl.u-form-school dd.school-cont {
  position: relative;
  border: none;
  padding: 0;
}
@media print, screen and (min-width: 1025px) {
  dl.u-form-school dd.school-cont {
    width: calc(100% - ( 30px + 4em ));
  }
}
dl.u-form-school dd.school-cont .cont-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
dl.u-form-school dd.school-cont .cont-list .list-item {
  width: calc(100% / 3);
  text-align: right;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
dl.u-form-school dd.school-cont .cont-list .list-item .u-form-select {
  width: calc(100% - 2em);
}
dl.u-form-school dd.school-cont .cont-list .list-item .u-form-select select {
  padding-left: 0.5em;
}
dl.u-form-school dd.school-cont .cont-list .list-item .item-text {
  width: 1.5em;
  display: block;
}

.formError {
  opacity: 1 !important;
  margin-top: 6px !important;
  color: #c00;
  font-weight: bold;
  font-size: 1.1rem;
}
@media print, screen and (min-width: 1025px) {
  .formError {
    font-size: 1.4rem;
    margin-top: 15px !important;
  }
}

.u-form-textarea + .formError {
  margin-top: 16px !important;
}
@media print, screen and (min-width: 1025px) {
  .u-form-textarea + .formError {
    margin-top: 25px !important;
  }
}

.u-form-radio li .formError {
  left: 10px !important;
  margin-top: 0 !important;
  top: 30px !important;
  margin-right: -3em;
}
@media print, screen and (min-width: 1025px) {
  .u-form-radio li .formError {
    left: 20px !important;
    top: 30px !important;
  }
}

.u-form-date .formError {
  margin-top: 15px !important;
  margin-right: -30px;
}
@media print, screen and (min-width: 1025px) {
  .u-form-date .formError {
    margin-top: 15px !important;
  }
}

@-moz-document url-prefix() {}
input[type=date] {
  width: 100%;
  position: relative;
}

input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  width: calc(100% - 30px);
  background-position: right center;
}

.form-agree-error {
  display: none;
  color: #c00;
  font-weight: bold;
}
.form-agree-error.is-error {
  display: block;
}