@charset "utf-8";

@font-face {
    font-family: AppleSDGothicNeo;
    font-weight: 100;
    src: url(../fonts/AppleSDGothicNeoT.woff2) format("woff2"),
    	 url(../fonts/AppleSDGothicNeoT.ttf) format('truetype');
}

@font-face {
    font-family: AppleSDGothicNeo;
    font-weight: 200;
    src: url(../fonts/AppleSDGothicNeoUL.woff2) format("woff2"),
    	 url(../fonts/AppleSDGothicNeoUL.ttf) format('truetype');
}

@font-face {
    font-family: AppleSDGothicNeo;
    font-weight: 300;
    src: url(../fonts/AppleSDGothicNeoL.woff2) format("woff2"),
    	 url(../fonts/AppleSDGothicNeoL.ttf) format('truetype');
}

@font-face {
    font-family: AppleSDGothicNeo;
    font-weight: 400;
    src: url(../fonts/AppleSDGothicNeoR.woff2) format("woff2"),
    	 url(../fonts/AppleSDGothicNeoR.ttf) format('truetype');
}

@font-face {
    font-family: AppleSDGothicNeo;
    font-weight: 500;
    src: url(../fonts/AppleSDGothicNeoM.woff2) format("woff2"),
    	 url(../fonts/AppleSDGothicNeoM.ttf) format('truetype');
}

@font-face {
    font-family: AppleSDGothicNeo;
    font-weight: 600;
    src: url(../fonts/AppleSDGothicNeoSB.woff2) format("woff2"),
    	 url(../fonts/AppleSDGothicNeoSB.ttf) format('truetype');
}

@font-face {
    font-family: AppleSDGothicNeo;
    font-weight: 700;
    src: url(../fonts/AppleSDGothicNeoB.woff2) format("woff2"),
    	 url(../fonts/AppleSDGothicNeoB.ttf) format('truetype');
}

@font-face {
    font-family: AppleSDGothicNeo;
    font-weight: 800;
    src: url(../fonts/AppleSDGothicNeoEB.woff2) format("woff2"),
    	 url(../fonts/AppleSDGothicNeoEB.ttf) format('truetype');
}

@font-face {
    font-family: AppleSDGothicNeo;
    font-weight: 900;
    src: url(../fonts/AppleSDGothicNeoH.woff2) format("woff2"),
    	 url(../fonts/AppleSDGothicNeoH.ttf) format('truetype');
}

html {
  margin: 0;
  padding: 0;
  -webkit-overflow-scrolling: touch;
}

body {
  margin: 0;
  padding: 0;
  font-family: "AppleSDGothicNeo", "돋움", dotum, sans-serif;
  font-weight: 400;
  letter-spacing: -0.8px;
  font-size: 14px;
  line-height: 1.5;
  -webkit-text-size-adjust: none;
  color: #252525;
}

html,
body {
  width: 100%;
  height: 100%;
}

div,
h1,
h2,
h3,
h4,
h5,
h6,
ol,
ul,
li,
dl,
dt,
dd,
p,
form,
fieldset,
input,
table,
tr,
th,
td,
button,
textarea,
select {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 400;
}

img {
  width: 100%;
  border: 0;
  vertical-align: top;
}

hr {
  display: none;
}

ul,
ol,
dl,
dt,
dd,
li {
  list-style: none;
}

table,
th,
td {
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-weight: 400;
}

caption {
  text-indent: -9999em;
  overflow: hidden;
  height: 0;
  font-size: 0;
  line-height: 0;
}

fieldset,
blockquote,
iframe,
button {
  border: none;
}

i,
em,
u,
cite {
  font-style: normal;
}

p {
  vertical-align: middle;
}

strong,
em,
b {
  font-weight: 400;
}

a {
  color: inherit;
  text-decoration: none;
}

a:link,
a:active,
a:visited {
  color: inherit;
}

a:hover {
  color: inherit;
}

label {
  vertical-align: middle;
  cursor: pointer;
}

button {
  background: transparent;
  cursor: pointer;
  vertical-align: middle;
  margin: 0;
  padding: 0;
  border: none;
  border-image-width: 0;
  font-family: inherit;
  font-weight: 400;
  color: #252525;
}

button:focus {
  /*outline:0;*/
}

button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
  cursor: pointer;
  -webkit-appearance: none;
}

button:disabled {
  cursor: not-allowed;
}

section,
nav,
article,
aside,
header,
footer,
main {
  display: block;
}

input,
select,
textarea,
button {
  font-family: "AppleSDGothicNeo", "돋움", Dotum, Sans-serif;
  vertical-align: middle;
  font-weight: 400;
  font-size: 14px;
}

html.is-scr-block {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}

html.is-scr-block,
html.is-scr-block body,
html.is-scr-block .wrap {
  height: 100%;
  overflow: hidden;
}

.container {
  padding-bottom: 207px;
  margin: 0 auto;
  max-width: 768px;
  background-color: #fff;
}

img .campaign_top {
  width: 375px;
  height: 649px;
  margin: 56px 0 0;
  object-fit: contain;
}

img .campaign_giveaway_info {
  width: 375px;
  height: 887px;
  margin: 649px 0 0;
  object-fit: contain;
}

img .campaign_participation_way {
  width: 375px;
  height: 429px;
  margin: 887px 0 0;
  object-fit: contain;
}

/* campaign_login_area */
.campaign_login_area {
  padding: 60px 40px 105px;
  background-color: #fff;
}

.campaign_login_area.pb39 {
  padding-bottom: 39px;
}

.campaign_login_area h2 {
  margin-bottom: 46px;
  font-size: 28px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.36;
  letter-spacing: -0.56px;
  text-align: left;
  color: #000;
}

.campaign_login_area span {
  color: #4c85f1;
}

.campaign_login_area h2 label {
  margin-top: 5px;
  padding: 4px 9px 3px 0;
  font-weight: bold;
  color: #fff;
  background-color: #3c7aef;
}

/* campaign_notice_area */
.campaign_notice_area {
  padding: 60px 40px 48px;
  background-color: #111;
}

.campaign_notice_area h2 {
  font-size: 20px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  letter-spacing: -0.22px;
  text-align: left;
  color: #fff;
}

.campaign_notice_area .box {
  margin-top: 30px;
  margin-bottom: 29.5px;
}

.campaign_notice_area .box li {
  position: relative;
  margin-top: 12px;
  padding-left: 10px;
  font-size: 12px;
  color: #888888;
}

.campaign_notice_area .box li:first-child {
  margin-top: 0;
}

.campaign_notice_area .box li:before {
  position: absolute;
  left: 0;
  top: 8px;
  width: 2px;
  height: 2px;
  background-color: #888888;
  border-radius: 50%;
  content: "";
}

.campaign_notice_area .box li span {
  color: #dddddd;
}

.input_form {
  margin-bottom: 10px;
}

.input_form.mb0 {
  margin-bottom: 0;
}

.input_form.mt10 {
  margin-top: 10px;
}

.input_form.mt23 {
  margin-top: 23px;
}

.input_form.mt40 {
  margin-top: 40px;
}

.input_form .complete_box {
  padding: 18px 40.5px;
  border-radius: 8px;
  background-color: #f5f6f8;
  font-size: 13px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.38;
  letter-spacing: normal;
  text-align: center;
  color: #3a416f;
}

/* btnA */
.btnA {
  width: 100%;
  height: 54px;
  padding: 18px 0 18px 0;
  border-radius: 8px;
  font-size: 16px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.13;
  letter-spacing: normal;
  text-align: center;  
  letter-spacing: -0.8px;
}

.btn_white {
  border: solid 1px #000;
  color: #000;
  background-color: #fff;
}

.btn_blue {
  color: #fff;
  background-color: #4d87f4;
}

.btn_indigo {
  color: #fff;
  background-color: #3a416f;
}

.btnA:disabled,
.btnA[disabled] {
  background-color: #ccc;
  border-color: #ccc;
  color: #fff;
}

/* checkboxA */
.checkboxA {
  display: inline-block;
  position: relative;
}

.checkboxA input {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  filter: alpha(opacity=0);
  cursor: pointer;
}

.checkboxA label {
  padding-left: 33px;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  z-index: 2;
  line-height: 20px;
  color: #000;
  letter-spacing: -0.8px;
}

.checkboxA label:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 23px;
  height: 23px;
  vertical-align: middle;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  border: solid 1px #ccc;
  background-color: #fff;  
}

.checkboxA .checkbox_label {
  font-size: 14px;
  color: #000;
}

.checkboxA input:checked+label:before {
  width: 23px;
  height: 23px;	
  background-image: url("../images/event/campaign_btn_check_on.png");
  background-color: #3a416f;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: 13px auto;
  background-size: 13px auto;
}

.checkboxA input:disabled+label > span {
  cursor: not-allowed;
}

.checkboxA input:disabled+label:before {
  width: 23px;
  height: 23px;		
  background-image: url("../images/event/campaign_btn_check_on.png");		
  background-color: #777;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-background-size: 13px auto;
  background-size: 13px auto;
  cursor: not-allowed;
}

/* agree_list */
.agree_list .checkboxA label {
  font-size: 18px;
}

.agree_list li {
  position: relative;
  margin-top: 20px;
  padding-right: 16px;
}

.agree_list li .btn_link_bp_campaign {
  position: absolute;
  margin-top: 3px;
  right: -4px;
  top: 0;
  width: 57px;
  height: 17px;
  line-height: 17px;
  vertical-align: middle;
  background: url("../images/event/campaign_btn_more.png") no-repeat 50% 50%;
  background-repeat: no-repeat;
  background-position: right center;
  -webkit-background-size: 17px auto;
  background-size: 17px auto;
}

.agree_list li a label {
  font-size: 18px;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  z-index: 2;
  line-height: 17px;
  color: #000;
  letter-spacing: -0.8px;
}

.agree_list .detail {
  font-size: 14px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  letter-spacing: normal;
  text-align: left;
  color: #000; 
}

.txt_c {
  margin: 5px 0;
  text-align: center;
  color: #707070;
  letter-spacing: -0.7px;
  line-height: 1.43;
}

.campaign_footer {
  padding: 15.5px 0 0;
  border-top: 1px solid #707070;
  font-family: AppleSDGothicNeo;
  font-size: 11px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.73;
  letter-spacing: normal;
  text-align: left;
  color: #fff;
}

/* popup scroll*/
.layer_wrap .scroll_area {
  overflow-y: auto;
  padding-right: 13px;
  margin-right: -13px;
  max-height: 380px;
  -webkit-overflow-scrolling: auto;
}

.layer_wrap .scroll_area::-webkit-scrollbar {
  -webkit-appearance: none;
}

.layer_wrap .scroll_area::-webkit-scrollbar:vertical {
  width: 7px;
}

.layer_wrap .scroll_area::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 50px;
  height: 60px;
}

.layer_wrap .scroll_area::-webkit-scrollbar-track {
  background-color: #fff;
}

.layer_wrap .scroll_area.h340 {
  max-height: 340px;
}

.layer_wrap .scroll_area.h170 {
  max-height: 170px;
}

.layer_wrap .scroll_area.h97 {
  max-height: 97px;
}

/* agree-txt */
.agree-txt {
  padding: 0;
  font-size: 14px;
  line-height: 1.43;
}

.agree-txt h4,
.agree-txt h5,
.agree-txt h6 {
  margin: 10px 0;
  font-weight: 500;
}

.agree-txt h3 {
  font-size: 20px;
  font-weight: 700;
}

.agree-txt [class*="agree-list-num"]>li,
.agree-txt p,
.agree-txt .agree-list,
.agree-txt .inner-list {
  margin-top: 10px;
  text-align: left;
}

.agree-txt .list-tit {
  display: block;
}

.agree-txt .inner-list {
  padding-left: 3px;
}

.agree-txt .inner-list li,
.agree-txt .agree-list li {
  position: relative;
  padding-left: 5px;
}

.agree-txt .inner-list li:after,
.agree-txt .agree-list li:after {
  /* content: ''; */
  position: absolute;
  left: 0;
  top: 10px;
  display: block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #000;
}

.agree-txt a {
  text-decoration: underline;
  color: #000;
}

.agree-txt .addenda .list-tit {
  font-weight: 700;
}

.agree-txt .addenda ul li {
  position: relative;
  padding-left: 80px;
}

.agree-txt .addenda ul li .add-date {
  position: absolute;
  left: 0;
  top: 0;
}

.agree-txt table {
  margin-top: 25px;
  font-size: 13px;
  border: solid #d4d4d7;
  border-width: 2px 0;
}

.agree-txt table th {
  padding: 18px 10px;
  background: #ececec;
}

.agree-txt table th+th {
  border-left: 1px solid #d4d4d7;
}

.agree-txt table tbody th {
  border-right: 1px solid #d4d4d7;
}

.agree-txt table tbody tr+tr th {
  border-top: 1px solid #d4d4d7;
}

.agree-txt table td {
  padding: 18px 10px;
  border-top: 1px solid #d4d4d7;
}

.agree-txt table td+td {
  border-left: 1px solid #d4d4d7;
}

.agree-txt .agree_txt_emp {
  font-weight: 1000;
}

.agree-txt .agree_txt_strong {
  font-size:1.2em;font-weight: bold;
}

/* layer-wrap */
.layer_wrap {
  position: fixed;
  top: 0;
  left: 0;
  padding: 2px;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  overflow: auto;
  white-space: nowrap;
  font-size: 0;
  line-height: 0;
  text-align: center;
  display: none;
  z-index: 999;
}

.layer_wrap:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.layer_wrap .layer_dialog {
  position: relative;
  display: inline-block;
  padding: 35px 20px 20px;
  width: 100%;
  max-width: 315px;
  background-color: #fff;
  vertical-align: middle;
  white-space: normal;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
  z-index: 10;
}

.layer_wrap .layer_dialog .layer_title {
  padding-bottom: 20px;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -1px;
  font-weight: 700;
}

.layer_wrap .layer_dialog .layer_title.ta_l {
  text-align: left;
}

.layer_wrap .layer_dialog .layer_msg {
  padding-bottom: 35px;
  font-size: 16px;
  line-height: 1.5;
}

.layer_wrap .layer_dialog .layer_msg span {
  color: #3173ef;
  font-weight: bold;
}

.layer_wrap .layer_dialog .layer_buttons {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin: 0 -3px;
}

.layer_wrap .layer_dialog .layer_buttons.mt20 {
  margin-top: 20px;
}

.layer_wrap .layer_dialog .layer_buttons.mt35 {
  margin-top: 35px;
}

.layer_wrap .layer_dialog .layer_buttons .layer_btn {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 0 3px;
}

.layer_wrap .layer_dialog .layer_buttons .btnA {
  font-weight: normal;
  height: 49px;
}

.layer_wrap.is_show {
  display: block;
}

@media only all and (min-width: 768px) {
  .container {
    max-width: 520px;
  }
  
    /* layer-wrap */
  .layer_wrap .layer_dialog {
    max-width: 375px;
  }
}