*,
*::before,
*::after {
  box-sizing: border-box;
}

/* prettier-ignore */
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center,
cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6,
header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre,
q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead,
time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

/* prettier-ignore */
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

/* prettier-ignore */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
  -webkit-touch-callout: none !important;
}

a,
button,
img {
  -webkit-touch-callout: none !important;
  -webkit-user-select: none !important;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
}

em {
  font-style: normal;
}

select,
button {
  -webkit-touch-callout: none !important;
  -webkit-appearance: none;
  font-family: inherit;
  font-size: inherit;
  border-radius: 0;
}

* {
  -webkit-text-size-adjust: none;
  -webkit-tap-highlight-color: transparent;
}

body {
  font-size: 1.5rem;
  font-family: 'Noto Sans', sans-serif;
  line-height: 1.5;
  background-color: white;
  height: 100%;
  min-height: 100%;
  margin: 0px;
}

button,
input,
label,
select {
  -webkit-appearance: none;
  font-family: inherit;
  font-size: inherit;
  -webkit-border-radius: 0;
  border-radius: 0;
  outline: 0;
  border: 0;
}

html,
body {
  height: 100%;
  font-size: 12px;
  margin: 0;
  font-family: 'Noto Sans', sans-serif;
  font-weight: 300;
}

body:lang(ko) {
  font-family: 'Noto Sans KR', sans-serif;
  font-weight: 400;
}

body:lang(zh-Hant) {
  font-family: 'Noto Sans TC', sans-serif;
  font-weight: 400;
}

@media screen and (min-width: 340px) {
  body {
    font-size: 15px;
  }
}

@media screen and (min-width: 480px) {
  body {
    font-size: 18px;
  }
}

@media screen and (min-width: 768px) {
  body {
    font-size: 22px;
  }
}

input::-webkit-input-placeholder {
  -webkit-transition: color 0.24s;
  transition: color 0.24s;
  text-transform: none;
  text-align: center;
}

input:-moz-placeholder {
  -webkit-transition: color 0.24s;
  transition: color 0.24s;
  text-transform: none;
  text-align: center;
}

input::-moz-placeholder {
  -webkit-transition: color 0.24s;
  transition: color 0.24s;
  text-transform: none;
  text-align: center;
}

input:-ms-input-placeholder {
  -webkit-transition: color 0.24s;
  transition: color 0.24s;
  text-transform: none !important;
  text-align: center;
}

input::placeholder {
  -webkit-transition: color 0.24s;
  transition: color 0.24s;
  text-transform: none;
  text-align: center;
}

input:focus::-webkit-input-placeholder {
  color: transparent;
  -webkit-transition: color 0.24s;
  transition: color 0.24s;
  text-transform: none;
  text-align: center;
}

input:focus:-moz-placeholder {
  color: transparent;
  -webkit-transition: color 0.24s;
  transition: color 0.24s;
  text-transform: none;
  text-align: center;
}

input:focus::-moz-placeholder {
  color: transparent;
  -webkit-transition: color 0.24s;
  transition: color 0.24s;
  text-transform: none;
  text-align: center;
}

input:focus:-ms-input-placeholder {
  color: transparent;
  -webkit-transition: color 0.24s;
  transition: color 0.24s;
  text-transform: none;
  text-align: center;
}

input:focus::placeholder {
  color: transparent;
  -webkit-transition: color 0.24s;
  transition: color 0.24s;
  text-transform: none;
  text-align: center;
}

.notice {
  font-size: 14px;
  word-break: keep-all;
  word-wrap: break-word;
}

.notice b,
.notice strong {
  font-weight: bold !important;
}

.notice a {
  color: #000;
  text-decoration: underline;
}

.notice .ico {
  position: relative;
  top: -2px;
  vertical-align: middle;
}

.wrap {
  height: 100%;
}

.content {
  max-width: 768px;
  margin: auto;
  padding: 0.5em 1em 0.2em 0.9em;
}

.footer {
  padding-top: 1em;
  padding-bottom: 1em;
}

@media screen and (min-width: 768px) {
  .content {
    padding: 0.5em 99px 0.2em;
  }
}

.with-bg {
  -webkit-background-size: 100% auto;
  -moz-background-size: 100% auto;
  -o-background-size: 100% auto;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.bg-top {
  width: 100%;
}

.bg-top.small {
  display: inline;
}

.bg-top.big {
  display: none;
}

@media screen and (min-width: 768px) {
  .bg-top {
    background-position: top;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
  }

  .bg-top.small {
    display: none;
  }

  .bg-top.big {
    display: inline;
  }
}

.center-text {
  text-align: center;
}

.input-element {
  margin-top: 1.2em;
  vertical-align: top;
}

.input-desc {
  margin: 0 1.2em 0.6em 1em;
  font-weight: bold;
}

.input-box {
  height: 3.4em;
  border-radius: 1.7em;
  border: 0.1em solid #d5d5d5;
  box-shadow: 0.16em 0.25em 0.25em 0 rgba(34, 33, 29, 0.2);
  width: 100%;
  text-align: center;
  padding-left: 1.7em;
  padding-right: 1.7em;
  background-color: transparent;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

#coupon {
  text-transform: uppercase;
}

.input-box::-ms-clear {
  width: 0;
  height: 0;
}

@media screen and (min-width: 768px) {
  .input-box {
    height: 3.33em;
    border-radius: 1.67em;
    box-shadow: 2px 3px 2px 0 rgba(34, 33, 29, 0.2);
  }

  .input-desc {
    margin-left: 0;
    margin-right: 0;
  }
}

.submit-button {
  background-image: url('./images/btn.png');
  background-color: transparent;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  overflow: hidden;
  width: 12em;
  height: 4.1em;
  line-height: 1;
  margin: 0 auto;
  cursor: pointer;
  padding-top: 1.1em;
}

.ko-kr .submit-button {
  background-image: url('./images/btn.png');
}

.zh-tw .submit-button {
  background-image: url('./images/btn.png');
}

.zh-cn .submit-button {
  background-image: url('./images/btn.png');
}

.ja-jp .submit-button {
  background-image: url('./images/btn.png');
}

@media screen and (min-width: 768px) {
  .submit-button {
    background-image: url('./images/btn.png');
    cursor: pointer;
  }

  .ko-kr .submit-button {
    background-image: url('./images/btn.png');
  }

  .zh-tw .submit-button {
    background-image: url('./images/btn.png');
  }

  .zh-cn .submit-button {
    background-image: url('./images/btn.png');
  }

  .ja-jp .submit-button {
    background-image: url('./images/btn.png');
  }
}

.copyright {
  margin-top: 0.8em;
  margin-bottom: 1em;
  text-align: center;
  font-size: 0.75em;
  color: #b5b5b5;
}

.spinner {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 100vh;
  background: rgba(0, 0, 0, 0.25);
}

.loading {
  margin-top: calc(50vh - 20px) !important;
}
