@charset "UTF-8";
/* ==================================================================
  Reset Style
================================================================== */
/* ==================================================================
  Import
================================================================== */
/* ==================================================================
  色設定
==================================================a================ */
.button {
  transition: opacity 0.2s;
}
.button:hover, .button:focus {
  opacity: 0.6;
}

/* ==================================================================
  Main Style
================================================================== */
.form__section {
  width: 100%;
  max-width: 1040px;
  padding: 0 1em;
  margin: 0 auto;
  line-height: 1.6;
}
section + .form__section {
  margin-top: 5em;
}

.form__h1 {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .form__h1 {
    font-size: 1.25em;
  }
}

.form__h2 {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .form__h2 {
    font-size: 1em;
  }
}
.form__h2:not(:first-child) {
  margin-top: 3em;
}

.form__h3 {
  margin-top: 2em;
  font-weight: bold;
  margin-bottom: 0.5em;
  padding-left: 1em;
  text-indent: -1em;
}
.form__h2 + .form__h3 {
  margin-top: 0;
}

.form__lead {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .form__lead {
    font-size: 1em;
  }
}

.form__p {
  margin-bottom: 1em;
}

.form__dl {
  margin-bottom: 1em;
}
.form__dl dt {
  margin-bottom: 0.2em;
}
.form__dl dt:not(:first-child) {
  margin-top: 1.5em;
}
ul {
  list-style: none;
}

.numlist {
  margin: 0.2em 0;
}
.numlist li {
  text-indent: -2.5em;
  padding-left: 2.5em;
}
.numlist--dot li {
  text-indent: -1.75em;
  padding-left: 1.75em;
}

.link {
  text-decoration: underline;
  color: #00b0ec;
}
.link:hover {
  text-decoration: none;
}

.button {
  display: inline-block;
  margin: 1em auto;
  padding: 1em;
  background: #0C4DA1;
  border-radius: 0.5em;
  color: #fff;
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  line-height: 1.4;
}

.form__complete {
  line-height: 1.6;
}
.form__complete p + p {
  margin-top: 1em;
}

.form__footer {
  margin-top: 10em;
}
@media screen and (max-width: 767px) {
  .form__footer {
    margin-top: 5em;
  }
}
.form__footer__banner {
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
  width: 100%;
  max-width: 1040px;
  padding: 0 1em;
  margin: 1em auto 2em;
}
@media print, screen and (min-width: 768px) {
  .form__footer__banner__item {
    width: 20%;
    max-width: 220px;
    height: 80px;
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .form__footer__banner__item {
    width: 50%;
    max-width: 160px;
    padding: 5px 10px;
  }
}
.form__footer__banner__item a {
  display: flex;
  height: 100%;
  align-items: center;
  transition: opacity 0.2s;
}
.form__footer__banner__item a:hover, .form__footer__banner__item a:focus, .form__footer__banner__item a:focus {
  opacity: 0.6;
}
.form__footer__banner__item a img {
  width: 100%;
}
.form__footer__copy {
  background-color: #00b0ec;
  padding: 1.25em 1em;
  font-size: 0.8em;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .form__footer__copy {
    font-size: 10px;
  }
}

.form__leadtext {
  text-align: center;
  margin: 1em auto 2em;
  line-height: 1.6;
}
.form__leadtext dt {
  font-size: 1.1em;
}

.userPolicy > * {
  font-size: 125%;
}
.userPolicy p + * {
  margin-top: 1em;
}
.userPolicy .form__dl dt {
  margin-bottom: 0.5em;
}
.userPolicy .form__dl .numlist--dot {
  padding-left: 1em;
}
.userPolicy .form__dl .numlist--dot > li:not(:first-child) {
  margin-top: 0.25em;
}

/* ==================================================================
  Common Style
================================================================== */
.br {
  display: inline-block !important;
}

.hidden {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .br__sp {
    display: block !important;
  }
  .pcOnly {
    display: none !important;
  }
}
@media print, screen and (min-width: 768px) {
  .br__pc {
    display: block !important;
  }
  .spOnly {
    display: none !important;
  }
}
.bold {
  font-weight: bold !important;
}

.txc {
  text-align: center !important;
}

.txl {
  text-align: left !important;
}

.txr {
  text-align: right !important;
}

.ma {
  margin: auto;
}

.strong {
  font-weight: bold;
  color: #00b0ec;
}

/* ==================================================================
  Add Style
================================================================== */
section.l-login #form-submit {
  margin-bottom: 2em;
}
section.l-login #form-submit fieldset.input-password + div.link-box {
  display: none !important;
}
section.l-login #form-submit fieldset.input-password + div.link-box > * {
  display: none !important;
}