@charset "UTF-8";
/*----- Application form -----*/
body.bg_grade_noise::before {
  width: calc(50% - 12.8571428571em);
  height: 85.7142857143em;
}
body.bg_grade_noise.form_done::before {
  max-height: 100%;
}
@media screen and (max-width: 768px) {
  body.bg_grade_noise::before {
    width: calc(50% - 4.1666666667em);
    height: 94.5833333333em;
  }
}

#navi .banner {
  display: none;
}

/* ------------------------------------------------
 article_header
------------------------------------------------ */
#article_header {
  overflow: visible;
}
#article_header > .inner {
  padding-top: 8.2857142857em;
  padding-bottom: 7.8571428571em;
}
#article_header.bg_grade_noise::before {
  width: calc(50% - 12.8571428571em);
  height: 85.7142857143em;
}
#article_header .heading .en {
  width: 24.7857142857em;
}
#article_header .heading .ja {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  #article_header > .inner {
    padding-top: 4.8333333333em;
    padding-bottom: 4em;
  }
  #article_header .heading .en {
    width: 15.8333333333em;
  }
  #article_header .heading .ja {
    margin-top: -0.2727272727em;
  }
}

/* ------------------------------------------------
  form_contents
------------------------------------------------ */
.form_contents {
  margin: 0 auto;
  width: 41.4285714286em;
}
.form_contents sup.required {
  color: #a40000;
  font-size: 0.9em;
}
.form_contents .line + .line {
  margin-top: 2em;
}
.form_contents .line .label {
  font-weight: bold;
}
.form_contents .line .label sup.required {
  vertical-align: top;
}
.form_contents .line .label + .body {
  margin-top: 0.1428571429em;
}
.form_contents .line .body > p {
  position: relative;
}
.form_contents .line .body select, .form_contents .line .body input, .form_contents .line .body textarea {
  all: unset;
  box-sizing: border-box;
}
.form_contents .line .body input[type=text], .form_contents .line .body textarea {
  font-weight: bold;
  border: 1px solid #1b3f72;
  background-color: #fff;
  letter-spacing: 0.05em;
  padding: 1em 1em 0.8571428571em;
  outline: none;
  padding: 1em;
  vertical-align: middle;
}
.form_contents .line .body input[type=text]:focus, .form_contents .line .body textarea:focus {
  border-color: rgba(27, 63, 114, 0.5);
}
.form_contents .line .body input[type=text]:-webkit-autofill, .form_contents .line .body textarea:-webkit-autofill {
  box-shadow: 0 0 0 1000px #fff inset !important;
}
.form_contents .line .body input {
  width: 100%;
}
.form_contents .line .body input.short {
  width: 8.5714285714em;
}
.form_contents .line .body input.half {
  width: 100%;
}
.form_contents .line .body input.hidden {
  visibility: hidden;
  position: absolute;
}
.form_contents .line .body textarea {
  width: 100%;
}
.form_contents .line .body .select_wrapper {
  border: 1px solid #1b3f72;
  background-color: #fff;
  display: inline-block;
  align-items: center;
  position: relative;
}
.form_contents .line .body .select_wrapper:focus, .form_contents .line .body .select_wrapper:active {
  border-color: rgba(27, 63, 114, 0.5);
}
.form_contents .line .body .select_wrapper::after {
  content: "";
  background: transparent url(../images/common/icon_pulldown.svg) 50% 50% no-repeat;
  background-size: contain;
  width: 0.7142857143em;
  height: 0.7142857143em;
  display: block;
  position: absolute;
  right: 0.8571428571em;
  top: 1.4285714286em;
  z-index: 1;
}
.form_contents .line .body .select_wrapper select {
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 1em 2.4285714286em 0.9285714286em 1em;
  background-color: transparent;
  cursor: pointer;
  position: relative;
  z-index: 2;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  border-width: 0;
  box-sizing: border-box;
}
.form_contents .line .body .select_wrapper .formError {
  top: calc(100% + 0.2em) !important;
}
.form_contents .line .body .birthday span {
  display: inline-block;
  vertical-align: middle;
}
.form_contents .line .body .birthday span + input {
  margin-left: 0.7142857143em;
}
.form_contents .line .body .birthday input + span {
  margin-left: 0.3571428571em;
}
.form_contents .form_btn {
  text-align: center;
  margin-top: 4.6428571429em;
  padding-bottom: 5.7142857143em;
}
.form_contents .form_btn .note {
  font-size: 0.8571428571em;
  line-height: 1.8;
  margin-bottom: 1.4285714286em;
}
.form_contents .form_btn .btns {
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
}
.form_contents .form_btn .btns::before {
  background-image: linear-gradient(90deg, #1b3f72 0%, #d76f00 100%);
  position: absolute;
  left: 0.7142857143em;
  top: 0.7142857143em;
  opacity: 0.4;
  filter: blur(1.2857142857em);
}
.form_contents .form_btn .basic_btn.submit {
  padding-top: 1.5em;
  padding-bottom: 1.2142857143em;
  width: 22.8571428571em;
  display: block;
}
.form_contents .form_btn .basic_btn.submit .txt {
  font-size: 1.5714285714em;
  display: block;
}
.form_contents .form_btn .link a {
  color: #1b3f72;
  font-weight: bold;
}
.form_contents .form_btn * + .link {
  margin-top: 2.8571428571em;
}
@media screen and (max-width: 768px) {
  .form_contents {
    width: auto;
  }
  .form_contents .line {
    font-size: 1.0833333333em;
  }
  .form_contents .line + .line {
    margin-top: 1.3076923077em;
  }
  .form_contents .line .label + .body {
    margin-top: 0.3076923077em;
  }
  .form_contents .line .body input[type=text], .form_contents .line .body textarea {
    padding: 0.7307692308em 1em;
  }
  .form_contents .line .body input.short {
    width: 4.6153846154em;
  }
  .form_contents .line .body textarea {
    height: 8.8461538462em;
  }
  .form_contents .line .body .select_wrapper::after {
    width: 0.7692307692em;
    height: 0.6538461538em;
    right: 0.7692307692em;
    top: 1.0769230769em;
  }
  .form_contents .line .body .select_wrapper select {
    padding: 0.7307692308em 2em 0.7307692308em 1em;
  }
  .form_contents .form_btn {
    margin-top: 5em;
    padding-bottom: 5em;
  }
  .form_contents .form_btn .note {
    font-size: 0.8333333333em;
  }
  .form_contents .form_btn .note + .error_message {
    margin-top: -0.5em;
  }
  .form_contents .form_btn .btns::before {
    left: 0.8333333333em;
    top: 1.0833333333em;
  }
  .form_contents .form_btn .basic_btn.submit {
    padding-top: 1.4166666667em;
    padding-bottom: 1.25em;
    width: 24.1666666667em;
  }
  .form_contents .form_btn .basic_btn.submit .txt {
    font-size: 1.9166666667em;
  }
  .form_contents .form_btn * + .link {
    margin-top: 1.6666666667em;
  }
}

/* ----------------------------
 error_message
------------------------------*/
.form_contents .error_message {
  color: rgb(223, 49, 49);
  font-size: 0.7857142857em;
}
.form_contents .line .body .error_message {
  margin-top: -0.2em;
  position: absolute;
  left: 0;
  top: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s linear;
}
.form_contents .line .body.error {
  position: relative;
}
.form_contents .line .body.error .error_message {
  margin-top: 0.2em;
  opacity: 1;
  visibility: visible;
}
.form_contents .line .body.error input[type=text], .form_contents .line .body.error textarea, .form_contents .line .body.error .select_wrapper {
  border-color: rgba(223, 49, 49, 0.5);
}
.form_contents .form_btn .error_message {
  padding-bottom: 0.8333333333em;
  position: relative;
  z-index: 2;
  display: none;
}
.form_contents .form_btn .error_message.show {
  display: block;
}

/* ------------------------------------------------
 privacy_policy
------------------------------------------------ */
.privacy_policy {
  border: 1px solid #d2d2d2;
  margin-top: 2.8571428571em;
  padding: 1.7857142857em 2.1428571429em 1.7857142857em 1.7857142857em;
  height: 11.4285714286em;
  overflow: auto;
}
.privacy_policy::-webkit-scrollbar {
  width: 0.7142857143em;
}
.privacy_policy::-webkit-scrollbar-track {
  background: transparent;
}
.privacy_policy::-webkit-scrollbar-thumb {
  background-color: #1b3f72;
}
.privacy_policy > * {
  font-size: 0.7142857143em;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.privacy_policy .title {
  font-size: 0.8571428571em;
  font-weight: bold;
}
.privacy_policy .title + p {
  margin-top: 1.4em;
}
.privacy_policy .heading {
  font-weight: bold;
}
.privacy_policy * + .heading {
  margin-top: 1.25em;
}
.privacy_policy * + .list {
  margin-top: 1em;
}
.privacy_policy .list {
  margin-left: 0;
  padding-left: 0;
}
.privacy_policy .list li {
  text-indent: -0.75em;
  padding-left: 0.75em;
}
@media screen and (max-width: 768px) {
  .privacy_policy {
    margin-top: 3.3333333333em;
    padding: 1.25em 1.25em 1.25em 1.6666666667em;
    height: 11.5416666667em;
  }
}

/*----- 確認画面 -----*/
/* ------------------------------------------------
 .form_contents.confirm
------------------------------------------------ */
.form_contents.confirm .wrapper {
  border: 1px solid #1b3f72;
  padding: 2.5em 2.8571428571em;
}
.form_contents.confirm .line {
  display: flex;
  align-items: flex-start;
}
.form_contents.confirm .line + .line {
  margin-top: 2.5em;
}
.form_contents.confirm .line:first-of-type {
  border-top-width: 1px;
}
.form_contents.confirm .line .label {
  font-size: 1.1428571429em;
  width: 8.4375em;
}
.form_contents.confirm .line .label + .body {
  margin-top: -0.1em;
}
.form_contents.confirm .line .body {
  font-size: 1em;
  line-height: 1.8;
  flex-grow: 1;
  flex-basis: 0;
}
.form_contents.confirm .line .body .error_message {
  font-size: 1em;
  margin-top: 0;
  opacity: 1;
  visibility: visible;
}
.form_contents.confirm .form_btn .error_message {
  padding-bottom: 0;
  display: block;
}

/*----- 完了画面 -----*/
/* ------------------------------------------------
 #contents.form_done
------------------------------------------------ */
#contents.form_done {
  min-height: calc(100vh - 5.2857142857em);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#contents.form_done #article_header > .inner {
  padding-top: 5.2857142857em;
  padding-bottom: 2.5em;
}
#contents.form_done #article_header p.heading {
  font-size: 1.2857142857em;
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
}
#contents.form_done #form_done .notice {
  font-size: 0.8571428571em;
  border: 1px solid #d2d2d2;
  padding: 2em;
}
#contents.form_done #form_done .notice > * {
  line-height: 1.3;
}
#contents.form_done #form_done .notice > * + * {
  margin-top: 1em;
}
#contents.form_done #form_done .notice .list {
  padding: 0;
}
#contents.form_done #form_done .notice .list li {
  text-indent: -0.5em;
  padding-left: 0.5em;
}
#contents.form_done #form_done .form_btn {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  #contents.form_done {
    min-height: calc(100dvh - 2.6666666667em);
  }
  #contents.form_done #article_header > .inner {
    padding-top: 2.6666666667em;
    padding-bottom: 1.25em;
  }
  #contents.form_done #article_header p.heading {
    font-size: 1.25em;
  }
  #contents.form_done #form_done .notice {
    font-size: 0.8333333333em;
    padding: 1.75em 2em;
  }
}

/* ------------------------------------------------
 .notice
------------------------------------------------ */