@charset "utf-8";
/* 공통 */
.member-btn { display: inline-block; padding: 16px 34px; border-radius: 50px; background: #F4F4F4; box-shadow: -4px -4px 0 0 rgba(0, 0, 0, 0.20) inset; color: var(--color-primary); line-height: 1.5em; font-weight: 800; border: none; cursor: pointer; transition: .3s;}
.member-btn:hover { background: var(--color-primary); color: #fff; }
.member-btn.border { box-shadow: none; background: #fff; border: 2px solid #eee; color: #878787; padding: 15px 34px;}

/* 로그인 */
.login-area {max-width:520px; margin:0 auto;}
.login-tab {text-align:center; border-bottom:4px solid var(--color-primary); margin-bottom:50px;}
.login-tab ul {display:flex; padding:0 2px;}
.login-tab ul li {flex:1; border:4px solid #dfdfdf; border-bottom:0; margin:0 -2px; border-radius:10px 10px 0 0;}
.login-tab ul li a {display:block; color:#333; font-size:18px; font-weight:500; line-height:60px;}
.login-tab ul li.active {position:relative; z-index:2; border-color:var(--color-primary);}
.login-tab ul li.active:after {content:""; position:absolute; left:0; right:0; bottom:-4px; height:4px; background:#fff;}
.login-tab ul li.active a {color:var(--color-primary); font-weight:700;}
.login-content .group {margin-bottom:16px;}
.login-content .group .input {display:block; width:100%; height:60px; font-size:16px; border-radius: 8px; padding: 0 20px; border: 1px solid #eee;}
.login-content .group .input::placeholder { color: #878787; }
.login-content .links {display:flex; justify-content:space-between; margin-top:16px; font-size:16px; color:#484848; font-weight:400; line-height:1.5em;}
.login-content .links a:hover {text-decoration:underline;}
.login-content .links .bar {display:inline-block; vertical-align:middle; margin:-.2em 10px 0; width:1px; height:10px; background:#eee;}
.login-content .btn-pack {display:block; width:100%; margin-top:10px; border-radius: 8px; }
.login-content .btn-pack.focus {margin-top:32px;}
.login-content .btn-pack.xlarge {font-weight:500;}

/* 약관동의 */
.agree-wrap {max-width:680px; margin:0 auto 50px;}
.agree-wrap .group {margin-top:50px;}
.agree-wrap .group:first-child {margin-top:0;}
.agree-wrap .agree-tit {color:#2c2c2c; font-size:20px; font-weight:700; line-height:1.3em;}
.agree-wrap .agree-tit .checkbox label:before {margin-top:-.02em; width:24px; height:24px; background:#fff url("../images/member/checkbox.png") 50% 50% no-repeat; border:2px solid #ccc; border-radius:100%;}
.agree-wrap .agree-tit .checkbox input:checked + label:before {background-color:var(--color-primary); border-color:var(--color-primary); background-image:url("/images/member/checkbox_on.png");}
.agree-wrap .agree-box {position:relative; max-height:230px; margin-top:20px; padding:20px; border:1px solid #eee; overflow:auto; border-radius: 8px; }
.agree-wrap .agree-box .terms-wrap {color:#767676; font-size:14px;}
.agree-wrap .agree-box .terms-wrap .sec {margin-bottom:20px;}
.agree-wrap .agree-box .terms-wrap .sec h3 {color:#767676; font-size:14px; font-weight:400; margin-bottom:0;}
.agree-wrap .agree-box .terms-wrap .sec strong {font-weight:400;}

.terms-wrap {font-weight:400; color:#666; line-height:1.75em;}
.terms-wrap .sec {margin-bottom:40px;}
.terms-wrap .sec h3 {color:#222; font-size:1.1em; font-weight:700; margin-bottom:7px;}
.terms-wrap .sec p {margin-bottom:1em;}
.terms-wrap .sec strong {font-weight:700;}
.terms-wrap .sec ol li {padding-left:1em; text-indent:-1em;}
.terms-wrap .sec ol li ol li {padding-left:1.35em; text-indent:-1.35em;}
.terms-wrap .policy-contact {display:flex; padding:20px 0; background:#fafafa; border:1px solid #e5e5e5; margin-bottom:1em;}
.terms-wrap .policy-contact dl {flex:1; padding:0 20px; border-left:1px solid #e5e5e5;}
.terms-wrap .policy-contact dl:first-child {border-left:0;}
.terms-wrap .policy-contact dt {font-weight:500; color:#333; margin-bottom:12px;}

/* 회원가입 */
.join-form {max-width:980px; margin:0 auto;}
.join-form .required {color:#ff0000}
.join-form .join-form-txt {color:#505050; font-weight:400; line-height:1.4em; margin-bottom:12px;}
.join-form table {width:100%; border-collapse:collapse; border-spacing:0px; border-top:2px solid #868686; font-size:16px; line-height:1.5em;}
.join-form table th {padding:12px 15px; border:1px solid #ddd; background:#fafafa; font-weight:700; color:#333;}
.join-form table td {padding:12px 20px; border:1px solid #ddd; color:#505050;}
.join-form tr th:first-child,
.join-form tr td:first-child {border-left:0;}
.join-form tr th:last-child,
.join-form tr td:last-child {border-right:0;}
.join-form input [readonly] {background-color:#fff; color:#505050;}
.join-form .help-text {display:inline-block; margin-left:10px; color:#767676;}
.join-form + .buttons {margin-top:50px;}

/* 가입완료 */
.join-complete {text-align:center;}
.join-complete .tit {color:#2c2c2c; font-size:28px; font-weight:800; line-height:1.5em; margin: 50px 0 32px; }
.join-complete .tit span { color: var(--color-primary);}
.join-complete .txt { font-size:18px; line-height:1.66em; margin-bottom: 70px; }
.join-complete .icon {width:80px; height:80px; background:var(--color-primary) url("../images/member/complete.png") 50% 50% no-repeat; border-radius:100%; margin: auto;}
.join-complete .buttons {margin:0;}

/* 게정찾기 */
.find-area {max-width:470px; margin:0 auto;}
.find-tab {text-align:center; border-bottom:4px solid var(--color-primary); margin-bottom:50px;}
.find-tab ul {display:flex; padding:0 2px;}
.find-tab ul li {flex:1; border:4px solid #dfdfdf; border-bottom:0; margin:0 -2px; border-radius:10px 10px 0 0;}
.find-tab ul li a {display:block; color:#333; font-size:18px; font-weight:500; line-height:60px;}
.find-tab ul li.active {position:relative; z-index:2; border-color:var(--color-primary);}
.find-tab ul li.active:after {content:""; position:absolute; left:0; right:0; bottom:-4px; height:4px; background:#fff;}
.find-tab ul li.active a {color:var(--color-primary); font-weight:700;}
.find-content .group {margin-bottom:8px;}
.find-content .group .input {display:block; width:100%; height:60px; font-size:16px; border-radius: 8px; padding: 0 20px; border: 1px solid #eee;}
.find-content .btn-pack {display:block; width:100%; margin-top:10px; border-radius: 8px; }
.find-content .btn-pack.focus {margin-top:30px;}
.find-content .btn-pack.xlarge {font-weight:500;}
.find-result {text-align:center; padding:34px 42px; color:#505050; font-size:18px; font-weight:400; line-height:1.75em; background:#fafafa; border-top:2px solid var(--color-primary); border-bottom:1px solid #ddd;}
.find-result h4 {font-size:22px; font-weight:700; line-height:1.4em; margin-bottom:20px;}
.find-result p:first-child {margin-bottom:10px;}
.find-result .name {color:var(--color-primary); font-size:30px; font-weight:700; line-height:1.5em;}

/* 회원탈퇴 */
.member-leave .txt {text-align:center; color:#505050; line-height:1.7em; margin-bottom:40px;}
.member-leave .txt .tit {color:#333; font-size:20px; line-height:1.5em; margin-bottom:15px;}
.member-leave .form {max-width:470px; margin:0 auto 40px; padding:50px; color:#666; font-size:16px; line-height:1.5em; background:#f9f9f9; border:1px solid #e5e5e5; border-radius:10px;}
.member-leave .form .group {display:flex; align-items:center; margin-bottom:20px;}
.member-leave .form .group:last-child {margin-bottom:0;}
.member-leave .form .group .label-tt {width:90px; color:#222; font-weight:700;}
.member-leave .form .group .text-id,
.member-leave .form .group .input {flex:1 1 auto; min-width:0; width:1%;} 

/* 마이페이지 공통 */
.mypage-title { font-size: var(--font-size40); line-height: 1.4em; color: #2c2c2c; font-family: var(--cafe); margin-bottom: 50px; }
.mypage-title.tc { text-align: center; }
.mypage { display: flex; height: 100%; align-items: flex-start;}
.mypage-menu { width: 220px; margin-right: 60px; position: sticky; top: 130px; height: 100%; }
.mypage-menu ul { padding: 20px 0; border-radius: 16px; border: 1px solid #EEE; background: #FFF;}
.mypage-menu ul li a { display: block; padding: 10px 30px; font-size: var(--font-size18); font-weight: 700; color: #afafaf; line-height: 1.55em; }
.mypage-menu ul li.active a,
.mypage-menu ul li a:hover { color: var(--color-primary); }
.mypage .contents { flex: 1 1 auto; min-width: 0; width: 1%; }
.mp-btn { display: inline-block; font-size: 15px; color: #fff; font-weight: 800; line-height: 1.33em; border-radius: 50px; background: #1C1C1C; padding: 12px 20px 10px; }
.mp-back-btn { display: inline-block; padding: 16px 34px 15px; font-weight: 800; line-height: 1.5em; color: #878787; background: #fff; border: 2px solid #eee; border-radius: 35px; }
.mp-tit { margin-bottom: 30px; font-size: var(--font-size24); line-height: 1.58em; color: #2c2c2c; font-weight: 800; }

/* 나의 프로그램 */
.mp-program-list.mg { margin-bottom: 50px; }
.mp-program-list .col { margin-bottom: 16px; border-radius: 16px; border: 1px solid #eee; background: #FFF; padding: 30px; }
.mp-program-list .col:last-child { margin-bottom: 0; }
.mp-program-list .col .head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 30px; border-bottom: 1px dashed #eee; }
.mp-program-list .col .head .sub-bftit { padding-bottom: 0; margin-bottom: 0; }
.mp-program-list .col .mid { padding: 16px 0; border-bottom: 1px dashed #eee; }
.mp-program-list .col .mid .tt { padding-top: 4px; }
.mp-program-list .col .btm { margin-top: 30px; }
.mp-program-list .col ul li { display: flex; margin-bottom: 12px; font-size: var(--font-size18); line-height: 1.66em; }
.mp-program-list .col ul li:last-child { margin-bottom: 0; }
.mp-program-list .col ul li .tt { width: 100px; font-weight: 700; color: #a8a8a8; }
.mp-program-list .col ul li .txt { flex: 1 1 auto; min-width: 0; width: 1%; }
.mp-program-ctr { display: inline-block; padding: 6px 10px 4px; border-radius: 25px; color: #ff7474; font-size: 15px; font-weight: 800; line-height: 1.6em; background: #ffe6e6; }
.mp-program-ctr.complete { color: var(--color-primary); background: #eef9e0; }
.mp-program-list .col ul li .txt span { display: inline-block; padding-left: 8px; font-size: 16px; font-weight: 500; color: #a8a8a8; }