header {
    position: sticky;
    top: 0;
    width: 100%;
    height: 5rem;
    background: #87caff;
    padding: 0 1.5rem;
    z-index: 8888;
    display: flex;
    align-items: center;
}
header button {
    width: 1.5rem;
}
header button img {
    width: 100%;
}

main .bnr {
    padding: 3rem 1.5rem;
    display: flex;
    flex-flow: column nowrap;
    gap: 1rem;
    background-color: #87caff;
    background-image: url(../img/icon-1.png);
    background-size: 10rem;
    background-position: right 2rem center;
    background-repeat: no-repeat;
}
main .bnr h2 {
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1.4;
    color: #fff;
}
main .bnr h2.kakao_h2 {
    color: #746f6b;
}
main .bnr h2 em {
    font-size: 2.8rem;
    font-weight: 900;
    color: #034b88;
}
main .bnr p {
    font-size: 1.4rem;
    color: #746f6b;
    font-weight: 600;
}
main .bnr p.kakao_p {
    line-height: 1.3;
}
main .bnr p b{
    font-size: 1.4rem;
    font-weight: 600;
    color: #333;
}
main #dbFrm {
    padding: 4rem 1.5rem;
}
main #dbFrm .input {
    margin-bottom: 3rem;
}
main #dbFrm .input h3 {
    font-size: 1.6rem;
    font-weight: 900;
    margin-bottom: 1.5rem;
}
main #dbFrm .input .flex {
    display: flex;
    gap: 1rem;
}
main #dbFrm .input .flex > input {
    width: 60%;
    font-size: 1.4rem;
    font-weight: 800;
    padding: 2rem 1.5rem;
    border-radius: 1rem;
    border: 1px solid #d9d9d9;
}
main #dbFrm .input .flex .gender {
    display: flex;
    gap: 1rem;
    width: 40%;
}
main #dbFrm .input .flex .gender label {
    position: relative;
    width: 50%;
}
main #dbFrm .input .flex .gender label input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
main #dbFrm .input .flex .gender label span {
    font-size: 1.4rem;
    font-weight: 600;
    width: 100%;
    height: 100%;
    border-radius: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #a7a7a7;
    border: 1px solid #d9d9d9;
}
main #dbFrm .input .flex .gender label input:checked + span {
    color: #fff;
    background: #229cff;
    border: 1px solid #229cff;
}
main #dbFrm .input > input,
main #dbFrm .input > select {
    font-size: 1.4rem;
    font-weight: 800;
    padding: 2rem 1.5rem;
    border-radius: 1rem;
    border: 1px solid #d9d9d9;
    width: 100%;
}
main #dbFrm .input > select { background: url(../img/arrow-2.png) no-repeat center right 1.5rem / 1.5rem; outline: none; color: #999;}
main #dbFrm .input > select option { font-size: 1.4rem;}
main #dbFrm .input > select.selected { color: #333;}
main #dbFrm .input > select.selected option { color: #333;}
main #dbFrm .input .tel {
    display: flex;
    gap: 1rem;
}
main #dbFrm .input .tel:nth-of-type(1) {
    margin-bottom: 1rem;
}
main #dbFrm .input .tel input {
    font-size: 1.4rem;
    font-weight: 800;
    padding: 2rem 1.5rem;
    border-radius: 1rem;
    border: 1px solid #d9d9d9;
    width: 80%;
}
main #dbFrm .input .tel button {
    width: 20%;
    border-radius: 1rem;
    font-size: 1.4rem;
    color: #fff;
    font-weight: 600;
    background: #229cff;
}
main #dbFrm > button {
    font-size: 2rem;
    font-weight: 800;
    color: #fff;
    background: #dbdbdb;
    padding: 2rem 0;
    border-radius: 1rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}
main #dbFrm > button.on {
    background: #229cff;
}
main #dbFrm > button img {
    width: 1.5rem;
}
main #dbFrm .agreeWrap {
    padding-bottom: 3rem;
    width: 100%;
}
main #dbFrm .agreeWrap h3 {
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}
main #dbFrm .agreeWrap h3 img {
    width: 1.5rem;
}
main #dbFrm .agreeWrap .toggleAgree {
    display: flex;
    align-items: center;
    gap: 1rem;
}
main #dbFrm .agreeWrap .toggleAgree button {
    width: 1.5rem;
}
main #dbFrm .agreeWrap .toggleAgree button img {
    width: 100%;
}
main #dbFrm .agreeWrap .toggleAgree label {
    font-size: 1.4rem;
    font-weight: 900;
    display: flex;
    gap: 1rem;
    align-items: center;
}
main #dbFrm .agreeWrap .toggleAgree label input {
    width: 2.5rem;
    height: 2.5rem;
    background-image: url(../img/check-box-1.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 0.5rem;
}
main #dbFrm .agreeWrap .toggleAgree label input:checked {
    background-image: url(../img/check-box-2.png);
    border: none;
}
main #dbFrm .agreeWrap .mustAgreeWrap {
    display: none;
    flex-flow: column nowrap;
    gap: 1.5rem;
    padding: 2.5rem 2rem;
    border-radius: 1rem;
    margin-top: 1rem;
    background: #f5f5f5;
}
main #dbFrm .agreeWrap .mustAgreeWrap.active {
    display: flex;
}
main #dbFrm .agreeWrap .mustAgreeWrap .mustAgree {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
main #dbFrm .agreeWrap .mustAgreeWrap .mustAgree label {
    font-size: 1.4rem;
    font-weight: 800;
    display: flex;
    gap: 1rem;
    align-items: center;
    position: relative;
    width: 100%;
}
main #dbFrm .agreeWrap .mustAgreeWrap .mustAgree label input {
    width: 1.5rem;
    height: 1.5rem;
    background-image: url(../img/arrow-3.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 0.5rem;
}
main #dbFrm .agreeWrap .mustAgreeWrap .mustAgree label input:checked {
    background-image: url(../img/arrow-2.png);
    border: none;
}
main #dbFrm .agreeWrap .mustAgreeWrap .mustAgree label a {
    font-size: 1.4rem;
    font-weight: 800;
    position: absolute;
    right: 0;
    color: #a6a6a6;
}
#privacyBtn {
    font-size: 1.4rem;
    font-weight: 900;
    padding: 1.5rem;
    background: #dbdbdb;
    width: 100%;
    text-align: left;
}

#privacyModal {
    z-index: 9999;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    padding: 0 1.5rem;
}
#privacyModal .privacy {
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    width: 100%;
    display: none;
}
#privacyModal .privacy .title {
    padding: 2.5rem 0;
    text-align: center;
    position: relative;
    background: #229cff;
}
#privacyModal .privacy .title h3 {
    font-size: 1.4rem;
    color: #fff;
    font-weight: 600;
}
#privacyModal .privacy .title button {
    width: 1.5rem;
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
}
#privacyModal .privacy .title button img {
    width: 100%;
}
#privacyModal .privacy pre {
    font-size: 1.2rem;
    line-height: 1.4;
    padding: 4rem 2rem;
    height: 20rem;
    overflow-y: auto;
}

.warning_modal {
    z-index: 9999;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    padding: 0 1.5rem;
}
.warning_modal .warning {
    border-radius: 1rem;
    padding: 3rem 1.5rem;
    background: #fff;
    text-align: center;
}
.warning_modal .warning p {
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 800;
    margin-bottom: 4rem;
}
.warning_modal .warning button {
    width: 100%;
    font-size: 2rem;
    color: #fff;
    padding: 1.5rem 0;
    border-radius: 1rem;
    background: #229cff;
}

.warning_modal .warning .btn_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}
.warning_modal .warning .btn_wrap .skip {
    background: #ccc;
}
.warning_modal .warning .btn_wrap button {
    font-size: 1.8rem;
}

#loading {
    z-index: 9999;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    text-align: center;
    display: none;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}
#loading p {
    font-size: 3rem;
    font-weight: 900;
    line-height: 2;
}
#loading p em {
    font-size: 3rem;
    font-weight: 900;
    color: #014d91;
}
#loading .icon {
    width: 30rem;
}
#loading .icon img {
    width: 100%;
}

main > .title {
    padding: 3rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}
main > .title.kakao {
    padding: 3rem 1.5rem 0 1.5rem;
}
main > .title .icon {
    width: 10rem;
}
main > .title .icon img {
    width: 100%;
}
main > .title h2 {
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.4;
}
main > .title h2 em {
    font-size: 2.6rem;
    font-weight: 900;
    color: #005087;
}
main .contentWrap {
    display: flex;
    flex-flow: column nowrap;
    gap: 4rem;
    padding: 0 1.5rem 4rem;
}
main .contentWrap .content {}
main .contentWrap .content h3 {
    font-size: 1.6rem;
    font-weight: 800;
    color: #1598fd;
    margin-bottom: 1.5rem;
}
main .contentWrap .content table {
    width: 100%;
    text-align: left;
    border: 1px solid #333;
    border-collapse: collapse;
}
main .contentWrap .content table tr {}
main .contentWrap .content table tr th {
    padding: 1rem 1.5rem;
    width: 30%;
    font-size: 1.4rem;
    font-weight: 600;
    background: #f6f6f6;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
}
main .contentWrap .content table tr td {
    border-bottom: 1px solid #333;
    width: 70%;
    padding: 1rem 1.5rem;
    font-size: 1.4rem;
    font-weight: 800;
}

main .contentWrap .content .result p {
    display: none;
    font-size: 1.8rem;
    letter-spacing: -.1rem;
    line-height: 1.4;
}
main .contentWrap .content .result b {
    font: inherit;
    letter-spacing: inherit;
}
main .contentWrap .content .result p b {
    font-weight: 800;
}
main .contentWrap .content .result span {
    display: block;
    font-size: 1.5rem;
    letter-spacing: -.1rem;
    line-height: 1.4;
}
main .contentWrap .content .result span b {
    font-weight: 800;
    color: #229cff;
}
main .contentWrap .content .result a {
    display: block;
    background: #229cff url("../img/arrow-1.png") no-repeat calc(100% - 1.2rem) 50% / 1.5rem;
    font-size: 1.7rem;
    color: #fff;
    padding: 1.5rem 1.2rem;
    letter-spacing: -.1rem;
    border-radius: .7rem;
    margin-top: 2rem;
}
main .contentWrap .content .result .active {
    display: block;
}


main .contentWrap .content .target {
    display: flex;
    flex-flow: column nowrap;
    gap: 1.5rem;
    text-align: center;
    margin-bottom: 4rem;
}
main .contentWrap .content .target .top {
    display: flex;
    gap: 1.5rem;
}
main .contentWrap .content .target .top h4 {
    width: 50%;
    border-radius: 1rem;
    font-size: 1.6rem;
    font-weight: 600;
    color: #fff;
    background: #87caff;
    padding: 1rem 0;
}
main .contentWrap .content .target .bottom {
    display: flex;
    gap: 1.5rem;
    align-items: stretch;
}
main .contentWrap .content .target .bottom .left {
    display: flex;
    flex-flow: column nowrap;
    gap: 1.5rem;
    width: 50%;
}
main .contentWrap .content .target .bottom .left p {
    font-size: 1.6rem;
    font-weight: 800;
    padding: 1rem 0;
    border: 1px solid #87caff;
    border-radius: 1rem;
    height: 25%;
    width: 100%;
}
main .contentWrap .content .target .bottom .right {
    width: 50%;
    border-radius: 1rem;
    font-size: 1.6rem;
    font-weight: 800;
    color: #2d9df9;
    background: #deefff;
    display: flex;
    align-items: center;
    justify-content: center;
}
main .contentWrap .content pre {
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 600;
}

.bannerImg {
    width: 100%;
    position: sticky;
    top: 5rem;
}
.bannerImg a {
    width: 100%;
}
.bannerImg a img {
    width: 100%;
}


/* kakao_index.php */
.kakao-index {
  height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-bottom: 3.5rem;
}
.kakao-index .title-wrap {
  text-align: center;
  margin-bottom: 4rem;
}
.kakao-index .title-wrap span {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: -.1rem;
  color: #888;
  margin-bottom: 2.5rem;
}
.kakao-index .title-wrap h1 {
  font-size: 3.2rem;
  font-weight: 800;
  letter-spacing: -.3rem;
  line-height: 1.8;
  color: #444;
}
.kakao-index .title-wrap h1 b {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  color: #004885;
}
.kakao-index .target-wrap {
  border: 1px solid #ddd;
  padding: 2.5rem 2rem;
  width: 90%;
  border-radius: 1rem;
  text-align: center;
  margin-bottom: 5rem;
}
.kakao-index .target-wrap img {
  width: 2.3rem;
  margin-bottom: .8rem;
}
.kakao-index .target-wrap p {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -.1rem;
  margin-bottom: 2rem;
}
.kakao-index .target-wrap h6 {
  background: #229cff;
  font-size: 1.5rem;
  font-weight: 600;
  color: #fff;
  padding: 1.5rem 0;
  border-radius: .7rem;
}
.kakao-index .check-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  width: 90%;
  background: #757575;
  color: #fff;
  font-size: 2.3rem;
  font-weight: 800;
  padding: 1.8rem 0;
  border-radius: .7rem;
  letter-spacing: -.1rem;
}
.kakao-index .check-link img {
  width: 2rem;
}
.kakao-index .footer-notice {
  width: 100%;
  background: #dbdbdb;
  padding: 1.2rem 1.5rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.kakao-index .footer-notice p {
  font-size: 1rem;
  color: #aaa;
}

/* banner-popup */
.banner-popup {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999999999;
}
.banner-popup .banner-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
}
.banner-popup .banner-container img {
    width: 100%;
}
.banner-popup .banner-container .close-btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 4rem;
    height: 4rem;
    z-index: 99;
}