html,
body {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-family: "Helvetica Neue", HelveticaNeue, Helvetica, Arial,
    "Lucida Grande", sans-serif;
  font-size: 100%;
  vertical-align: baseline;
  -webkit-text-size-adjust: none;
}

body {
  height: 100vh;
  background: #fff;
  color: #040404;
}

form {
  margin: 0;
}

a {
  text-decoration: none;
  margin: 0;
  padding: 0;
  color: #0045b6;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

a.close {
  display: none;
  position: absolute;
  z-index: 1111;
  top: 22px;
  right: 7px;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  background: #fff;
  font-family: HelveticaNeue, sans-serif;
  text-decoration: none;
}

a.close span {
  display: block;
  position: relative;
  width: 16px;
  height: 16px;
  margin: 7px;
}

a.close span::before,
a.close span::after {
  position: absolute;
  top: 8px;
  left: -2px;
}

a.close span::before {
  content: "";
  display: block;
  width: 19px;
  height: 1px;
  -webkit-transform: matrix(0.707107, 0.707107, -0.707107, 0.707107, 0, 0);
  transform: matrix(0.707107, 0.707107, -0.707107, 0.707107, 0, 0);
  background-attachment: scroll;
  background-clip: border-box;
  background-color: #141414;
  background-origin: padding-box;
}

a.close span::after {
  content: "";
  display: block;
  width: 19px;
  height: 1px;
  -webkit-transform: matrix(0.707107, -0.707107, 0.707107, 0.707107, 0, 0);
  transform: matrix(0.707107, -0.707107, 0.707107, 0.707107, 0, 0);
  background-attachment: scroll;
  background-clip: border-box;
  background-color: #141414;
  background-origin: padding-box;
}

.popup a.close {
  display: block;
}

.header {
  height: 72px;
  border-bottom: 1px solid #c8c8c8;
  background: #fff;
  box-shadow: 2px 2px 20px #c8c8c8;
  -webkit-box-shadow: 2px 2px 20px #c8c8c8;
}

.header h1 {
  display: block;
  max-width: 970px;
  margin: 0 auto;
  padding: 20px 0 0 30px;
}

h4 {
  font-weight: 400;
  text-align: right;
}

h5 {
  font-weight: 400;
}

.main-container {
  box-sizing: border-box;
  max-width: 1010px;
  height: 100vh;
  margin: 0 auto;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

.form-body {
  max-width: 100vw;
  margin: 0 auto;
  padding: 10px 0 50px;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

.form-body .txt-cont {
  padding: 0 15px;
}

.form-body .txt-cont h1 {
  display: block;
  margin-top: 40px;
  margin-bottom: 20px;
  color: #4f4f4f;
  color: #000;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  text-align: center;
}

.form-body .txt-cont h2 {
  display: block;
  margin-top: 40px;
  margin-bottom: 20px;
  color: #4f4f4f;
  color: #000;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
}

.form-body .txt-cont p {
  margin: 10px 0 20px 0;
  color: #000;
  font-size: 16px;
  line-height: 18px;
}

.form-body .txt-cont p a {
  color: #157dfb;
  text-shadow: none;
}

.form-body .txt-cont ul {
  margin: 0 0 0 16px;
  padding: 0 0 0 24px;
  font-size: 16px;
}

.form-body .txt-cont ol {
  margin: 12px 0 0 0;
  padding: 0 3px 0 20px;
  font-size: 16px;
}

.form-body .txt-cont li {
  padding: 0 0 3px 0;
  line-height: 20px;
}

.txt-cont img {
  max-width: 95%;
  margin: 0 auto;
  padding: 0;
  border: none;
}

.txt-cont .img-cont {
  display: block;
  padding: 10px 0 20px 0;
  text-align: center;
}

a:link,
a:visited,
a:active {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.form-body .pad {
  padding: 0 30px;
}

.form-body .pad h2 {
  display: block;
  margin: 0;
  padding-bottom: 15px;
}

.form-body .pad ul,
.form-body .pad ul li {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

.form-body .pad ul li {
  padding-bottom: 5px;
}

.form-body .pad ul li:last-child {
  padding-top: 10px;
  padding-bottom: 0;
}

.form-body .pad ul li span {
  display: block;
  clear: both;
}

.form-body .pad input[type="text"],
.form-body .pad input[type="password"] {
  display: block;
  width: 230px;
  padding: 5px;
  float: left;
  border: 1px solid #ababab;
  border-radius: 4px;
  font-size: 14px;
}

.form-body .pad textarea {
  display: block;
  width: 245px;
  height: 50px;
  padding: 5px;
  float: left;
  border: 1px solid #ababab;
  border-radius: 4px;
  font-family: Helvetica, Verdana, Arial;
  font-size: 14px;
}

.form-body .pad input[type="submit"] {
  display: block;
  width: 100px;
  height: 28px;
  border: 1px solid #7d7d7d;
  border-radius: 4px;
  background-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#fbfbfb),
    to(#d6d6d6)
  );
  font-size: 14px;
}

.requiredMark {
  margin-left: 5px;
  float: left;
  zoom: 1;
  font-size: 30px;
  font-weight: bold;
  line-height: 34px;
  vertical-align: middle;
}

.footer-menu {
  display: none;
}

.message {
  padding-top: 30px;
  color: #404040;
  font-size: 14px;
  text-align: center;
}

.form-body .txt-cont .block-round {
  display: block;
  width: 290px;
  margin: 0 auto;
  padding: 0;
  border: 1px solid #000;
  border-radius: 10px;
  background: #fff;
}

.form-body .txt-cont .block-round li {
  display: block;
  position: relative;
  margin: 0;
  padding: 15px 15px 15px 15px;
  border-top: 1px solid #000;
  font-size: 16px;
}

.form-body .txt-cont .block-round li:first-child {
  border-top: 0;
}

.form-body .txt-cont .block-round li img {
  display: none;
  margin-top: 10px;
}

.form-body .txt-cont .block-round li span {
  display: list-item;
  margin-left: 20px;
  list-style: disc;
}

.form-body .txt-cont .block-round li div {
  padding-right: 40px;
}

.form-body .txt-cont .block-round li div.button {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 28px;
  height: 28px;
  padding: 0;
  background: url(../img/button_sm.png) no-repeat 0 0;
}

.form-body .txt-cont .block-round li.active div.button {
  background-position: 0 -28px;
}

#li01 div.button {
  top: 10px;
}

#li06 div.button {
  top: 37px;
}

#li11 div.button {
  top: 30px;
}

.form-body .txt-cont .block-round li div.hidden-text {
  display: none;
  padding-top: 10px;
  font-size: 120%;
  font-size: 15px;
}

.banner-block {
  display: block;
  width: 300px;
  height: 65px;
  margin: 0 auto 17px auto;
  overflow: hidden;
  border: 0;
  background: transparent;
}

.banner-block-ringtone {
  display: block;
  width: 266px;
  height: 64px;
  margin: 0 auto 17px auto;
  overflow: hidden;
  border: 0;
  background: transparent;
}

table {
  width: 96%;
  margin: auto;
  table-layout: fixed;
  border-collapse: collapse;
}

table thead th,
table tbody td {
  width: auto;
  max-width: 25%;
  padding: 10px;
  border: 1px solid #000;
  word-wrap: break-word;
}

table.flags {
  margin: 10px auto 0 auto;
}

table.flags td {
  padding: 2px;
}

table.flags td a {
  display: block;
  font-size: 9px;
  text-align: center;
  text-decoration: none;
}

table.flags td img {
  width: 45px;
  height: 45px;
}


.footer {
  padding: 20px 30px 10px 0;
}

.footer span {
  font-size: 12px;
}

.home-btn {
  display: block;
  width: 107px;
  height: 33px;
  margin: 10px auto 0 auto;
  background: url(../img/home_button.png) no-repeat;
  background-size: contain;
}

.form-body .txt-cont ul.section {
  margin: 0;
  margin-bottom: 19px;
  padding: 0 0 0 15px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  background: rgba(255, 255, 255, 1);
  font-size: 16px;
}

.form-body .txt-cont ul.section li {
  display: block;
  margin: 0;
  padding: 0;
  padding-right: 8px;
  border-bottom: 1px solid #ccc;
  color: #000;
  font-size: 17px;
  list-style: none;
}

.form-body .txt-cont ul.section li:last-child {
  border-bottom: 0;
}

.form-body .txt-cont ul li a sup {
  position: relative;
  z-index: 11;
  top: -5px;
  margin-right: 4px;
  color: red;
  font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial,
    "Lucida Grande", sans-serif;
  font-size: 80%;
  font-style: italic;
  font-weight: normal;
  vertical-align: top;
}

.form-body .txt-cont ul.section li a {
  display: block;
  padding: 14px 24px 14px 2px;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAaCAYAAAC+aNwHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAC9SURBVHjapJSxDYMwEEUft4ZbZkjNHrQZK212SJkBGIHWM6R0GluyLBv+wZcQYOk9yQf+07Zt5MzAG1iBHTFWwV/gke+zR1DgkNeCR2LAL191ZIkBEVg6+5YkZQaXJVY9X5JY8+6WWEfqkthga7LEDgYsSezkM59KTPjZIvDsrAfgpQjKIWuzA6sJcH1OangBot2Bj4YowSOBDPcELrgVuOFepbngUaXJ8FGlSfCo0mS4V2kfDwwwpZS4k/8AuzlNcAfV54QAAAAASUVORK5CYII=);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 8px 13px;
  color: #000;
  text-decoration: none;
}

.form-body .txt-cont ul.free li {
  padding-right: 11px;
  background: none;
}

.form-body .txt-cont ul li a.red {
  color: red;
}

.form-body .txt-cont ul li a sup {
  position: relative;
  top: 0;
  margin-right: 4px;
  color: red;
  font-size: 80%;
  font-style: italic;
  vertical-align: top;
}

.overflowH {
  overflow-wrap: break-word;
}

.number {
  list-style-type: none;
}

.prohibited {
  padding-left: 20px;
}

/* iPhone X XS XR 11 12 */
@media only screen and (max-aspect-ratio: 428/926) {
  .main-container {
    padding-top: 20pt;
  }

  a.close {
    top: 35pt;
  }

  .form-body {
    padding-bottom: 80px;
  }
}
