:root {
  --color-primary: #0045b6;
  --color-secondary: #157dfb;
  --color-text: #040404;
  --font-family: "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Lucida Grande", sans-serif;
}

html,
body {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-family: var(--font-family);
  font-size: 100%;
  vertical-align: baseline;
  text-size-adjust: none;
}

body {
  height: 100vh;
  background: #fff;
  color: var(--color-text);
}


.word-break {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

a {
  text-decoration: none;
  margin: 0;
  padding: 0;
  color: var(--color-primary);
  word-break: break-word;
}

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

a:hover {
  text-decoration: underline;
}

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;
}


h1,
h2 {
  margin: 40px 0 20px 0;
  color: #000;
  font-size: 18px;
  font-weight: bold;
}

h1 {
  text-align: center;
}

h2 {
  text-align: left;
}

h3 {
  font-weight: bold;
}

h4,
h5 {
  font-weight: 400;
}

h4 {
  text-align: right;
}

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

.form-body {
  max-width: 100vw;
  margin: 0 auto;
  padding: 10px 0 50px;
}

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

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

.txt-cont p a {
  color: var(--color-secondary);
}

.txt-cont ul,
.txt-cont ol {
  font-size: 16px;
}

.txt-cont ul {
  margin: 0 0 0 16px;
  padding: 0 0 0 24px;
}

.txt-cont ol {
  margin: 12px 0 0 0;
  padding: 0 3px 0 20px;
}

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

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

table th,
table td {
  width: auto;
  max-width: 25%;
  padding: 10px;
  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.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;
  color: #6f6f6f;
  text-align: start;
}

.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;
  word-break: break-word;
}


@media only screen and (max-aspect-ratio: 56/100) {
  .main-container {
    padding-top: 20pt;
  }

  a.close {
    top: 60pt;
  }

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