@charset "UTF-8";

@import 'reset.css';
@import 'modal.css';

/* Noto Sans KR (korean) http://www.google.com/fonts/earlyaccess */
@font-face {font-family: 'Noto Sans KR'; font-weight: 300; font-style: normal; src: url(/assets/css/bill/css/fonts/notosans/NotoSansKR-Light.woff2) format('woff2'),
url(/assets/css/bill/css/fonts/notosans/NotoSansKR-Light.woff) format('woff');}
@font-face {font-family: 'Noto Sans KR'; font-weight: 400; font-style: normal; src: url(/assets/css/bill/css/fonts/notosans/NotoSansKR-Regular.woff2) format('woff2'),
url(/assets/css/bill/css/fonts/notosans/NotoSansKR-Regular.woff) format('woff');}
@font-face {font-family: 'Noto Sans KR'; font-weight: 500; font-style: normal; src: url(/assets/css/bill/css/fonts/notosans/NotoSansKR-Medium.woff2) format('woff2'),
url(/assets/css/bill/css/fonts/notosans/NotoSansKR-Medium.woff) format('woff');}
@font-face {font-family: 'Noto Sans KR'; font-weight: 700; font-style: normal; src: url(/assets/css/bill/css/fonts/notosans/NotoSansKR-Bold.woff2) format('woff2'),
url(/assets/css/bill/css/fonts/notosans/NotoSansKR-Bold.woff) format('woff');}

* {box-sizing: border-box; font-family: 'Noto Sans CJK KR', 'Noto Sans KR', '맑은고딕', sans-serif;}
*,*:before,*:after {box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}
b,h1,h2,h3,h4,h5,h6,strong,th {font-weight: 500;}
html {
	background-color: rgba(248, 248,248, 1);}
html,body {width: 100%; min-height: 100%; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(248, 248,248, 1);}
body {overflow-y: scroll; min-width: 320px; color: #000; font-size: 16px; font-weight: 400; word-break: break-all; word-spacing: -1px; letter-spacing: -.6px; }
a {color: #000;}
input,textarea,button,select {-webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0;}
/* input,button,select,textarea {font-weight: 300;} */
button {cursor: pointer;}
a:focus,button:focus {outline: 0;}

/* Skip To Content */
.skipToContent {position: absolute; top: -40px; right: 0; left: 0; z-index: 1000; min-width: 320px; height: 40px; color: #666; font-size: 12px; text-align: center; letter-spacing: -1.5px; line-height: 40px; background-color: #666; transition: .1s ease-in-out;}
.skipToContent:focus,.skipToContent:hover {top: 0; color: #fff; text-decoration: none;}

/* Selection */
::-moz-selection {background-color: rgba(62, 155, 174, .1);}
::selection {background-color: rgba(62, 155, 174, .1);}

/* margin&padding */
.mt-0 {margin-top: 0 !important;}
.mt-10 {margin-top: 10px !important;}
.mt-20 {margin-top: 20px !important;}
.mt-30 {margin-top: 30px !important;}
.mb-10 {margin-bottom: 10px !important;}

/* text-align */
.t-l {text-align: left !important;}
.t-r {text-align: right !important;}
.t-c {text-align: center !important;}

/* float */
.f-l {float: left !important;}
.f-r {float: right !important;}

/* font-size */
.text-m {font-size: 18px !important;}
.text-s {font-size: 16px !important;}

/* color */
.grey {color: #747474;}

/* Clear Fix */
.cf:before,.cf:after {content: ''; display: table;}
.cf:after {clear: both;}

/* hideEl */
.sr-only {overflow: hidden; position: absolute; width: 1px; height: 1px; margin: 0 !important; padding: 0 !important;}
.sr-only-text {overflow: hidden; color: transparent; text-indent: 100%; white-space: nowrap;}

/* Ellipsis text */
.ellipsis {overflow: hidden; text-overflow: ellipsis; word-break: break-all; white-space: nowrap;}

/* display */
.d-mob {display: none !important;}

/* modal */
.modal {display: none; overflow-x: hidden; overflow-y: auto; position: fixed; top: 0; left: 0; width: 100%; height: 100%; border: 0; background: rgba(0, 0, 0, .5);}
.modal-dialog {margin-right: auto; margin-left: auto;}
.modal.modal-l .modal-dialog {max-width: 800px;}
.modal-content {overflow: hidden; border: 0; border-radius: 15px; background: #fff; box-shadow: 0 0 20px rgba(0, 0, 0, .4); max-width: 720px; margin: 0 auto;}
.modal-dialog-scrollable .modal-foot,.modal-dialog-scrollable .modal-head {flex-shrink: 0; -ms-flex-negative: 0;}
.modal-head {padding: 15px 20px;}
.modal-head h1 {font-size: 20px; padding-right: 30px;}
.modal .btn-close {display: block; position: absolute; top: 8px; right: 10px; width: 40px; height: 40px; border: 0; background: url(../img/icon_close.png) no-repeat center; background-size: 18px auto;}
.modal-backdrop {display: none !important;}

/* dim */
.dim {display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 100; background-color: #000; opacity: .6;}


/*--------------------------------------
	공통
---------------------------------------*/

/* Layout */
.inner {width: 100%; max-width: 1200px; margin: 0 auto; }
.container {padding-bottom: 60px; background-color: rgb(248, 248, 248);min-height:calc(100vh - 337.19px); }

/* top-banner */
.top-banner {height: 80px; background: #ffe18d;}
.top-banner .inner {position: relative; height: 100%; text-align: center;}
.top-banner a {display: block; width: 100%; color: #000; font-size: 24px; text-align: center; line-height: 80px;}
.top-banner .btn-close {display: inline-block; position: absolute; top: 50%; right: 30px; z-index: 10; width: 50px; height: 50px; border: 0; background: url(../img/icon_close.png) no-repeat center; transform: translateY(-50%);}

/* modal-topBanner */
.modal-topBanner {padding-top: 100px; padding-bottom: 80px; background: #ffefc1;}
.modal-topBanner .modal-dialog {max-width: 100% !important; background-color: #ffefc1;}
.modal-topBanner .modal-content {max-width: 1200px; margin: 0 auto; padding-left: 30px; background: transparent; box-shadow: 0 0 0;}
html.is-topBanner .top-banner {position: relative; z-index: 1500;}
.modal-topBanner {transition: -webkit-transform .2s ease-out; transition: transform .2s ease-out; transition: transform .2s ease-out, -webkit-transform .2s ease-out; -webkit-transform: translate(0, -100%); transform: translate(0, -100%);}
.modal-topBanner.show {-webkit-transform: none; transform: none;}
html.is-topBanner .modal-backdrop {display: none !important;}
.btn-topBanner strong {font-weight: 600;}

/* Header */
#header {display: block; background: #fff; height:160px; padding-top:105px;}
#header .inner {position: relative;}
.hd-top {display: flex; align-items: center; justify-content: space-between; text-align: left; background: #fff;}


/*.hd-util {padding: 7px 15px 6px; border: 1px solid #000; border-radius: 7px; transition: all .3s;}
.hd-util ul:after {content: ''; display: block; clear: both;}
.hd-util li {float: left; line-height: 1;}
.hd-util li + li {position: relative; margin-left: 16px; padding-left: 17px;}
.hd-util li + li:before {content: ''; display: block; position: absolute; top: 50%; left: 0; width: 1px; height: 12px; background: #000; transform: translateY(-50%);}
.hd-util a {vertical-align: top; color: #000; font-size: 14px;}
.hd-util:hover {background: #000;}
.hd-util:hover a {color: #fff;}
.hd-util:hover li + li:before {background: #fff;}*/
.hd-util:after {content: ''; display: block; clear: both;}
.hd-util li {float: left;}
.hd-util li + li {margin-left: 5px;}
.hd-util a {display: inline-block; overflow: hidden; vertical-align: top; padding: 4px 10px 5px; border: 1px solid #000; border-radius: 6px; color: #000; font-size: 14px; transition: all .3s;}
.hd-util a:hover {color: #fff; background: #000;}

/* gnb */
.gnb .close {position:absolute; top:40px; right:42px; cursor:pointer;}
.gnb-list {position: absolute; right:113px; top:195px; width:235px;}
.gnb-list:after {content: ''; display: block; clear: both;}
.gnb-list p {
	line-height: 46px;
	text-align: left;
	font-family: Noto Sans CJK KR;
	font-style: normal;
	font-size: 36px;
	color: rgba(255,255,255,1);
	margin-bottom:60px;
}
.gnb-list li {
	border-top:1px solid #fff;
	text-align: center;
}
.gnb-list li a {
	display:inline-block;
	font-family: Noto Sans CJK KR;
	font-style: normal;
	font-weight: lighter;
	font-size: 26px;
	line-height:26px;
	color: rgba(255,255,255,1);
	padding:35px 0;
}
[class*=gnb-item] {float: left; position: relative; min-width: 120px; text-align: center;}
[class*=gnb-item] > a {display: block; position: relative; width: 100%; padding: 0 10px; color: #000; font-size: 18px; font-weight: 500; line-height: 55px;}
[class*=gnb-item] > a:after {content: ''; display: block; position: absolute; bottom: 0; left: 0; z-index: 10; width: 0; height: 2px; background: #ffda74; transition: all .3s;}
.gnb-sub {display: none; position: absolute; z-index: 600; width: 500px; padding-left: 15px; text-align: left;}
.gnb-depth2 {display: inline-block;}
.gnb-depth2 + .gnb-depth2 {margin-left: 20px;}
.gnb-depth2 > a {color: #000; font-size: 16px; line-height: 48px; transition: all .3s;}
.gnb-depth2 > a:hover {font-weight: 500;}
.gnb-depth2 > a.current {font-weight: 500;}
[class*=gnb-item].on a:after {width: 100%;}
[class*=gnb-item].on .gnb-sub {display: block;}

[class*=gnb-item]:last-child .gnb-sub {right: 0; text-align: right;}
.gnb-bg {position: absolute; z-index: 500; width: 100%; height: 0; background: #efefef; transition: all .3s;}
html.gnb-open-bar .gnb-bg {height: 48px;}

/* Footer */
#footer { width: 100%; background: #484848;}
#footer .inner { position:relative; padding-top: 20px; padding-bottom: 25px;}
#footer .inner > p {position: absolute; bottom:25px; right:0; color: #fff;font-size: 12px;font-weight: 500;}
#footer a {vertical-align: top;}
#footer a:hover {opacity: .8;}
.ft-top {position: relative;}
.ft-top .ft-link:after {content: ''; display: block; clear: both;}
.ft-top .ft-link li {float: left; line-height: 1;}
.ft-top .ft-link li + li {margin-left: 30px;}
.ft-top .ft-link a {color: #fff; font-size: 12px; font-weight: 500;}
.ft-top .ft-sns {position: absolute; top: 0; right: 0;}
.ft-top .ft-sns li {display: inline-block; vertical-align: top;}
.ft-top .ft-sns li + li {margin-left: 22px;}
.ft-top .ft-sns li a {display: block; width: 25px; height: 25px; background-repeat: no-repeat; background-position: center; background-size: auto 15px;}
.ft-top .ft-sns .btn-in {background-image: url(../img/icon_insta.png);}
.ft-top .ft-sns .btn-tw {background-image: url(../img/icon_tw.png); background-size: auto 14px;}
.ft-top .ft-sns .btn-blog {background-image: url(../img/icon_blog.png);}
.ft-top .ft-sns .btn-fb {background-image: url(../img/icon_fb.png);}
.ft-gnb {margin-top: 15px;}
.ft-gnb:after {content: ''; display: block; clear: both;}
.ft-gnb li {float: left; position: relative; margin-right: 10px; line-height: 1.2;}
.ft-gnb li + li {padding-left: 11px;}
.ft-gnb li + li:before {content: ''; display: block; position: absolute; top: 2px; left: 0; width: 1px; height: 12px; background: #fff;}
.ft-gnb li a {color: #fff; font-size: 14px;}
.ft-address {display: flex; align-items: flex-end; justify-content: space-between; margin-top: 10px;}
.ft-address p {color: #fff; font-size: 12px; line-height: 18px;}

.btn-more {position: relative; padding-left: 10px; font-size: 12px;}
.btn-more:before {content: '+'; display: block; position: absolute; top: 0; left: 0;}
.btn-more.size-l {padding-left: 20px; font-size: 18px;}

/*--------------------------------------
	main
---------------------------------------*/

/* visual slide */
.swiper-container {width: 100%;
	/* height: 100%; */}
.swiper-slide {/* Center slide text vertically */
	display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; align-items: center; justify-content: center; font-size: 18px; text-align: center; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center;}
.swiper-slide img {height:100%; width:auto;}
.swiper-button-next,.swiper-button-prev {width: 40px; height: 80px; margin-top: -40px; border: 0; background-color: transparent; background-repeat: no-repeat; background-size: 100% auto;}
.swiper-button-prev {background-image: url(../img/icon_prev.png);}
.swiper-button-next {background-image: url(../img/icon_next.png);}
.visual-text {position: absolute; top: 50%; left: 50%; z-index: 400; text-align: center; transform: translate(-50%, -50%);}
.visual-text img {margin: 0 auto;}

/* main-profile */
.main-profile {display: table; table-layout: fixed; position: relative; z-index: 50; align-items: center; width: 100%; height: 300px; margin-top: -120px; padding: 25px 40px; border-radius: 15px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.16);}
.main-profile > * {display: table-cell; vertical-align: middle;}
.main-profile > * + * {border-left: 1px solid #ddd;}
.main-profile .login p {position: relative; padding-top: 20px; color: #444444; font-size: 25px; font-weight: 700; text-align: center;margin-bottom:6px;}
/* .main-profile .login p:before {content: ''; display: block; position: absolute; top: 0; left: 50%; width: 100px; height: 100px; background: url(../img/icon_profile.png) no-repeat; background-size: 100% auto; transform: translateX(-50%);} */

/* .main-profile .login p {position: absolute; color: #000; font-size: 20px; font-weight: 700; text-align: center;     left: 26%; top: 61%;}
.login-link{display: block; position: absolute; top: 24%; left: 32%; width: 100px; height: 100px;} */

.main-profile .my {padding-right: 35px;}
.main-profile .my .my-greeting {display: block; font-size: 24px; line-height: 36px;}
.main-profile .my .my-greeting strong {font-size: 30px; font-weight: 700;}
.main-profile .my .my-link {display: flex; align-items: flex-start; justify-content: space-between; margin-top: 25px;}
.main-profile .my .my-link a {display: block; position: relative; width: 100px; height: 100px; padding-top: 65px; border-radius: 15px; text-align: center; background: #fadbd8; transition: all .3s;}
.main-profile .my .my-link a:before {content: ''; display: block; position: absolute; top: 15px; left: 50%; width: 42px; height: 42px; background-repeat: no-repeat; background-position: center; background-size: 100% auto; transform: translateX(-50%);}
.main-profile .my .my-link a span {font-size: 16px;}
.main-profile .my .my-link a .icon-new {display: inline-block; overflow: hidden; position: absolute; top: -8px; right: -8px; z-index: 10; width: 26px; height: 26px; border-radius: 50%; color: #fff; font-size: 16px; font-weight: 500; text-align: center; line-height: 26px; background: #cb4335;}
.main-profile .list {padding: 0 30px;}
.main-profile .list > div + div {margin-top: 15px;}
.main-profile .list-title {position: relative; padding-left: 25px; font-size: 18px;}
.main-profile .list-title:before {content: ''; display: block; position: absolute; top: 50%; left: 0; width: 20px; height: 20px; background-repeat: no-repeat; background-position: center; background-size: 100% auto; transform: translateY(-50%);}
.main-profile .list ul {display: flex; justify-content: space-between; flex-wrap: wrap; margin: 5px 0;}
.main-profile .list ul li {position: relative; width: 50%; padding-left: 10px;}
.main-profile .list ul li a {font-size: 15px; line-height: 24px; transition: all .3s;}
.main-profile .list ul li:before {content: ''; display: block; position: absolute; top: 9px; left: 0; width: 6px; height: 6px; border-radius: 50%; background: #bdbdbd;}
.text-alert {position: relative; margin-top: 10px; padding-left: 24px; font-size: 14px; line-height: 16px;}
.text-alert:before {content: ''; display: block; position: absolute; top: 1px; left: 0; width: 16px; height: 16px; background-image: url(../img/icon_alert.png); background-repeat: no-repeat; background-position: center; background-size: 100% auto;}
.main-profile .link {width: 310px; height: 260px; padding-left: 34px;}
.main-profile .link a {display: inline-block; width: 276px; border: 0; border-radius: 15px; font-size: 20px; font-weight: 500; text-align: center; line-height: 80px; box-shadow: 0 1px 2px rgba(0,0,0,.25); margin-left:2px;}
.main-profile .link a + a {margin-top: 20px;}
.main-profile .link a.btn-red {color: #cb4335; background: #fadbd8; }
.main-profile .link a.btn-red:hover{background:#FCCDC8;}
/*호버시 색상 색상추가 20211013*/
.main-profile .link a.btn-blue {color: #3292c4; background: #ddf3ff;}
.main-profile .link a.btn-blue:hover{background:#C8EAFC;}
/*호버시 색상 색상추가 20211013*/

/* 회색 버튼으로 로그인 회원가입 추가 20211012*/
.main-profile .link a.btn-gray {width: 240px; color: #747474; background: #efefef;}
.main-profile .link a.btn-gray:hover{background:#f9e298; color:#000;}

.main-profile .my .my-link01 a:before {background-image: url(../img/icon_manage1.png);}
.main-profile .my .my-link02 a:before {background-image: url(../img/icon_manage2.png);}
.main-profile .my .my-link03 a:before {background-image: url(../img/icon_manage3.png);}
.main-profile .list-title.center:before {background-image: url(../img/icon_center.png);}
.main-profile .list-title.programe:before {left: 2px; width: 17px; background-image: url(../img/icon_programe.png);}

/* .main-banner */
.main-banner {display: flex; justify-content: space-between; margin-top: 50px;}
.main-banner .programe-swiper {display: block; overflow: hidden; width: 66%; margin: 0; border-radius: 15px;}
.main-banner .programe-swiper a {display: block; width: 100%;}
.main-banner .news {width: calc(35% - 40px); padding: 35px 25px; border: 4px solid #efefef; border-radius: 15px;}
.main-banner .news-title {margin-bottom: 15px; color: #000; font-size: 34px; font-weight: 700;}
.main-banner .news-title span {display: inline-block; vertical-align: middle; margin-left: 10px; color: #707070; font-size: 18px;}
.news-swiper-pagination {margin-top: 25px; text-align: center;}
.swiper-pagination-bullet {width: 10px; height: 10px; margin: 0 6px !important; border: 1px solid #bdbdbd; background: transparent; opacity: 1;}
.swiper-pagination-bullet-active {background: #efefef;}

/* main-link */
.main-link {display: flex; justify-content: space-between; margin-top: 50px;}
.main-link a {display: flex; position: relative; justify-content: center ; flex-direction: column; width: 377px; height: 152px; padding-left: 12%; border-radius: 15px; color: #000; box-shadow: 0 2px 5px rgba(0,0,0,.16);}
.main-link a + a {margin-left: 10px;}
.main-link a:before {content: ''; display: block; position: absolute; top: 50%; left: 12%; width: 70px; height: 70px; background-repeat: no-repeat; background-position: center; background-size: auto 100%; transform: translateY(-50%);}
.main-link a.link1:before {background-image: url(../img/icon_link1.png);}
.main-link a.link2:before {background-image: url(../img/icon_link2.png);}
.main-link a.link3:before {background-image: url(../img/icon_link3.png);}
.main-link a strong {display: inline-block; vertical-align: middle; font-size: 22px; font-weight: 700;}
.main-link a strong:after {content: ''; display: inline-block; vertical-align: top; width: 24px; height: 24px; margin-top: 3px; margin-left: 10px; background: url(../img/icon_link_arrow.png) no-repeat; background-size: 100% auto; transition: all .3s;}
.main-link a p {margin-top: 10px; font-size: 16px; font-weight: 300; line-height: 24px;}


/*--------------------------------------
	sub page
---------------------------------------*/
.content {padding-top: 80px;}
.content .inner {max-width: 1020px;}
.content .inner-wrapper {display: flex; align-items: center; justify-content: space-between;margin-bottom:10px;}
.content .inner-wrapper .siblings-tab {width:auto;margin-top:0;}
.content .inner-wrapper .siblings-tab .tabs {margin-bottom:0;}
.sub-title {font-size: 24px;}
.sub-title strong {font-weight: 700;}
.sub-title i {text-decoration: underline;}

/* box */
.box {overflow: hidden; margin-bottom: 20px; border: 1px solid rgba(0, 0, 0, .16); border-radius: 15px; background: #fff;}
.box .box-head {padding: 18px 10px; border-bottom: 1px solid #eab9b3; text-align: center;}
.box .box-head strong {font-size: 22px; font-weight: 700;}
.box .box-body {padding: 15px 10px;}
.box .box-body .info {text-align: center;}
.box .box-body .info li {display: inline-block;}
.box .box-body .info li + li {position: relative; margin-left: 15px; padding-left: 16px;}
.box .box-body .info li + li:before {content: ''; display: block; position: absolute; top: 50%; left: 0; width: 1px; height: 15px; background: #000; transform: translateY(-50%);}
.box .box-body .info li a {font-size: 20px;}

/* tab */
.tab-menu {display: flex; height: 60px; border-bottom: 1px solid rgba(0, 0, 0, .16);  }
.tab-menu li {flex: 1;}
.tab-menu .tab-link {display: block; border-bottom: 1px solid rgba(0, 0, 0, .16); border-radius: 15px 15px 0 0; font-size: 20px; text-align: center; line-height: 65px; background: #fff;}
.tab-menu .tab-link.active {border: 1px solid rgba(0, 0, 0, .16); border-bottom: 1px solid #fff; border-radius: 15px 15px 0 0;}
.tab-cont {padding: 45px 40px 60px; border: 1px solid rgba(0, 0, 0, .16);border-radius: 0 0 15px 15px; font-size: 18px; background: #fff;}
.tab-cont.active {display: block;}

/* form */
.form-flex {display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; min-height: 42px; -webkit-box-align: center; -ms-flex-align: center;}
.form-flexible {flex: 1; width: 100%; -webkit-box-flex: 1; -ms-flex: 1;}
.form-flex > * + * {margin: 5px 0 5px 15px !important;}
.form-title {font-size: 18px; line-height: 42px;}

.select {display: block; position: relative;}
.select select,.input {width: 100%; height: 42px; padding: 4px 10px; border: 1px solid #e5e5e5; outline: 0; font-size: 18px; border-radius: 4px;}
.select select,.input::placeholder{color:#999999; font-weight:500;}
.select select, .input2 { width: 100%; height: 42px; padding: 4px 10px; border: 1px solid #e5e5e5; outline: 0; font-size: 18px;} /*회원가입 여부 확인 삽입으로인한 클래스부여*/

.selectr {display: block; position: relative;}
/*.selectr select,.input {width: 100%; height: 42px; padding: 4px 14px; border: 1px solid #e4e4e4; outline: 0;
 font-size: 12.4px; font-weight:550;  outline:thin dotted #e4e4e4 !important;}*/


.selectr select {width:100%; height: 42px; background-color: #fff; background-image: url(../img/icon_select_gray.png);
	background-repeat: no-repeat; background-position: right 8px center; background-size: auto 9px; font-size: 11.9px; font-weight: 650; padding: 0 11px;}

.form-check {position: relative;}
.form-check input {overflow: hidden; position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; clip: rect(0,0,0,0);}
.form-check input + label {display: inline-block; position: relative; vertical-align: top; padding-left: 30px; font-size: 18px; font-weight: 300; transition: all .3s; cursor: pointer; ;}
.form-check input + label:before {content: ''; position: absolute; top: 4px; left: 0; width: 20px; height: 20px; background-image: url(../img/icon_check.png); background-repeat: no-repeat; background-size: 100% 100%;}
.form-check input:checked + label {font-weight: 500;}
.form-check input:checked + label:before {background-image: url(../img/icon_check_on.png);}
.form-check:last-child.on {background:#cb4335 !important; border-color: #cb4335 !important;}
.form-check:last-child.on label {color:#fff;}

.form-radio {display: inline-block; position: relative; margin-right: 15px; padding: 2px 0;}
.form-radio.d-block {display: block; margin-right: 0; padding: 6px 0;}
.form-radio.d-block + .form-radio.d-block {margin-top: 6px;}
.form-radio input {overflow: hidden; position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; clip: rect(0,0,0,0);}
.form-radio input + label {display: inline-block; position: relative; vertical-align: top; padding: 0 0 0 40px; font-size: 17px; font-weight: 300; line-height: 30px; transition: all .3s; cursor: pointer;}
.form-radio input + label:before {content: ''; position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-image: url(../img/icon_radio.png); background-repeat: no-repeat; background-size: 100% 100%;}
.form-radio input:checked + label {font-weight: 500;}
.form-radio input:checked + label:before {background-image: url(../img/icon_radio_on.png);}

.form-flex + .list-group {margin-top: 15px;}
.list-group .list-item {display: flex; align-items: center; justify-content: space-between; padding: 12px 0; font-size: 16px;}
.list-group .list-item + .list-item {text-align: left;}
.list-group .list-item > * + * {margin-left: 30px; width: 80px; text-align: right;}

.list-group .checks {width: 20px;}
.list-group .title {overflow: hidden; width: 700px; flex: 1; font-weight: 300; text-align: left; text-overflow: ellipsis; word-break: break-all; white-space: nowrap;}
.list-group .list-item > * + .title {margin-left: 10px;}
.list-group .active .title {font-weight: 400;}

.list-group .list-item.cancel {position: relative; color: #bdbdbd;}
.list-group .list-item.cancel a {position: relative; color: #bdbdbd;}
.list-group .list-item.cancel:after {content: ''; display: block; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; border-bottom: 1px solid #bdbdbd; transform: translateY(-50%);}

/* btn-wrap */
.btn-wrap {margin-top: 40px; text-align: center;}
.btn-wrap .btn {width: 320px; height: 50px; border: 0; border-radius: 15px; color: #cb4335; font-size: 20px; font-weight: 500; line-height: 48px; background: #fadbd8;}
.btn-basic {display: inline-block; min-width: 80px; padding: 2px 5px 3px; border-radius: 4px; color: #fff; font-size: 14px; font-weight: 500; text-align: center; background: #bf514d;}

.btn-wrap .btn2 {width: 250px; height: 50px; border: 0; border-radius: 15px; color: #cb4335; font-size: 20px; font-weight: 500; line-height: 48px; background: rgba(255,242,241,1); }
.type02 .btn-wrap .btn2 {color: #3292c4; background-color: #ddf3ff;}
/*button 사이즈조절*/

.btn-wrap .btn2:last-child{margin-left: 5px;}

.rechk{height:42px; line-height:33px; margin-left:5px;}


/* 중복체크 버튼 20211020*/
.btncs{	width: 31%;
	height: 44px;
	border: 0;
	border-radius: 11px;
	color: #cb4335;
	font-size: 17px;
	font-weight: 500;
	line-height: 43px;
	background: #fadbd8;}

/* search*/
.search-wrap {display: block; position: relative;}
.input-search {position: relative;}
.input-search .input {padding-right: 60px;}
.input-search .btn-search {display: block; position: absolute; top: 50%; right: 5px; width: 40px; height: 40px; border: 0; background: url(../img/icon_search.png) no-repeat center; background-size: 18px auto; transform: translateY(-50%);}
.keyword-section {display: none; position: absolute; top: 42px; left: 0; z-index: 10; width: 100%; padding: 10px; border: 1px solid #f5b7b1; border-top: 0; color: #bf514d; background: #fff;}
.keyword-section a {display: block; padding: 3px 10px; color: #747474; font-size: 18px; font-weight: 300;}
.keyword-section a:hover,.keyword-section a:focus {color: #fff; background: #f5b7b1;}
.search-wrap.active .keyword-section {display: block;}

/* 예약 */
.sub-title2 {display: block; margin-bottom: 15px; font-size: 20px; font-weight: 500;}
.card {border: 1px solid #eab9b3;}
.card .no-data {padding: 20px 25px; font-size: 20px; font-weight: 300;}
.card .card-item {padding: 20px 25px;}
.card .card-item + .card-item {border-top: 1px dashed #bdbdbd;}
.list-doc li {display: table; table-layout: fixed; width: 100%; color: #000;}
.list-doc li > * {display: table-cell; vertical-align: middle; padding: 2px 5px;}
.list-doc em {width: 90px; padding-left: 0; font-size: 18px; font-weight: 400;}
.list-doc span {font-size: 18px; font-weight: 300;}

.reservation-group {display: flex; justify-content: space-between;}
.reservation-group .form-group {width: 50%;}
.reservation-group .link {display: inline-block; position: relative; vertical-align: top; margin-top: 8px; padding-right: 20px; font-size: 16px;}
.reservation-group .link:after {content: ''; display: inline-block; position: absolute; top: 8px; right: 0; width: 13px; height: 11px; line-height: 1; background-image: url(../img/icon_link_red.png); background-repeat: no-repeat; background-position: center; background-size: auto 100%;}
.reservation-group .form-date {width: 370px;}
.date-inline .ui-datepicker {border: 0; box-shadow: 0 0 0;}
.reserve .text-alert {margin-top: 40px; font-size: 18px; line-height: 1.3;}
.reserve .text-alert:before {top: 5px;}
.list-check {margin-top: 40px; padding-top: 40px; border-top: 1px solid #f5b7b1;}
.list-check li {display: flex; align-items: center;}
.list-check li + li {margin-top: 20px;}
.list-check em {width: 300px; font-size: 18px;}
.list-check .btn-basic {margin-left: 10px;}
.list-check .form-check + .form-check {margin-left: 20px;}
#modal-reserve .modal-body {padding-top: 30px; padding-bottom: 30px;}


/* 마이페이지 */
.box-group {display: flex; margin-bottom: 20px;}
.box-group > * {flex: 1;}
.box-group > * + * {margin-left: 20px;}
.box-mypage .box-body li {font-size: 18px; font-weight: 300;}
.form-group .form-row {display: flex; align-items: center;}
.form-group .form-row + .form-row {margin-top: 20px;}
.form-group .form-item {flex: 1;}
.form-group .form-item + .form-item {margin-left: 20px;}
.form-group .form-address .input-search {width: 41.5%;}
.form-group .form-title {align-self: flex-start; flex: 0 0 auto; width: 180px;}
.input-date {position: relative;}
.input-date input {background: url(/assets/img/icon_date.png) no-repeat right 12px center; background-size: 16px auto;}
.form-flex.mail {width: 100%;}

/* datepicker */
.ui-datepicker {display: none; z-index: 3000 !important; border: 1px solid #eee; background-color: #fff; box-shadow: 0 0 5px rgba(0,0,0,.25);}
.ui-datepicker thead th {padding: 6px 5px; color: #000; font-size: 15px; font-weight: 400; text-align: center; background: #f8f8f8;}
.ui-datepicker thead th.ui-datepicker-week-end:first-child {color: #cb4335;}
.ui-datepicker thead th.ui-datepicker-week-end:last-child {color: #3292c4;}
.ui-datepicker tbody td {width: 50px; height: 35px; padding: 2px; color: #aaa; font-size: 15px; text-align: center;}
.ui-datepicker tbody td > a {display: block; position: relative; width: 35px; height: 35px; margin: 0 auto; color: #000; font-size: 15px; line-height: 35px;}
.ui-datepicker tbody td.ui-datepicker-week-end > a {color: #cb4335;}
.ui-datepicker tbody td.ui-datepicker-week-end:last-child > a {color: #3292c4;}
.ui-datepicker-header {position: relative; padding: 5px 30px;}
.ui-datepicker-header a {display: inline-block; overflow: hidden; position: absolute; top: 10px; width: 30px; height: 30px; color: transparent; text-indent: 100%; white-space: nowrap; background-repeat: no-repeat; background-position: center; background-size: 10px auto; cursor: pointer;}
.ui-datepicker-header .ui-datepicker-prev {left: 0; background-image: url(../img/icon_datePrev.png);}
.ui-datepicker-header .ui-datepicker-next {right: 0; background-image: url(../img/icon_dateNext.png);}
.ui-datepicker-title {padding: 5px 0; text-align: center;}
.ui-datepicker-title span {color: #000; font-size: 17px;}
.ui-datepicker tbody td > a.ui-state-active {border: 2px solid #ba4d3d; border-radius: 50%; line-height: 31px; background: #fff;}
.ui-state-disabled,.ui-datepicker-other-month {color: #aaa;}
.ui-monthpicker .ui-datepicker-calendar td {padding: 0; border: 1px solid #ddd;}
.ui-datepicker tbody td > a.ui-state-highlight:after {content: ''; display: block; position: absolute; bottom: 0; left: 50%; width: 6px; height: 6px; border-radius: 50%; background-color: #cb4335; transform: translateX(-50%);}
.ui-datepicker tbody td > a.ui-state-active.ui-state-highlight:after {display: none;}
select.ui-datepicker-year,select.ui-datepicker-month {vertical-align: top; margin: 0 3px; padding: 5px 7px; border: 0; border: 1px solid #ccc; color: #333; font-size: 14px; background-color: transparent;}

/* modal-bill */
.modal-bill .modal-dialog {width: 420px;}
.modal-bill .modal-content {padding: 35px 25px; border-radius: 0; background: transparent url(../img/bg_bill.png) no-repeat; background-size: 100% 100%; box-shadow: 0 0 0;}
.modal-bill h1 {margin-bottom: 15px; font-size: 24px; font-weight: 500;}
.modal-bill .bill-title {font-size: 20px; font-weight: 500; line-height: 28px;}
.modal-bill .bill-doc {margin-top: 15px; padding: 10px; border-top: 1px solid #bdbdbd;}
.modal-bill .bill-doc li {display: table; table-layout: fixed; width: 100%; color: #000;}
.modal-bill .bill-doc li > * {display: table-cell; vertical-align: middle; padding: 3px 5px;}
.modal-bill .bill-doc em {width: 90px; padding-left: 0; font-size: 18px; font-weight: 400;}
.modal-bill .bill-doc span {font-size: 18px; font-weight: 300;}
.modal-bill .bill-company-group {padding: 15px 5px; border-top: 1px solid #bdbdbd;}
.modal-bill .bill-company-title {display: block; font-size: 18px;}
.modal-bill .bill-company li {display: table; table-layout: fixed; width: 100%; color: #000;}
.modal-bill .bill-company li > * {display: table-cell; vertical-align: middle; padding: 1px 5px;}
.modal-bill .bill-company em {width: 90px; padding-left: 0; font-size: 16px; font-weight: 400;}
.modal-bill .bill-company span {font-size: 16px; font-weight: 300;}
.modal-bill .btn-close {top: 30px; right: 30px;}

/* modal-alert */
.modal-alert .modal-dialog {width: 360px;}
.modal-alert .modal-content .modal-body {padding: 60px 10px; color: #000; font-size: 20px; font-weight: 400; text-align: center;}
.modal-alert .total {font-size: 22px;}
.modal-alert .modal-content .modal-foot {display: flex; border-top: 1px solid #bdbdbd;}
.modal-alert .modal-content .modal-foot > span {flex: 1;}
.modal-alert .modal-content .modal-foot > span + span {border-left: 1px solid #bdbdbd;}
.modal-alert .modal-content .modal-foot > span .btn-modal {width: 100%; border: 0; color: #747474; font-size: 20px; text-align: center; line-height: 60px; background: #fff;}

/* modal-payment */
.modal-payment .modal-dialog {max-width: 990px !important;}
.modal-payment h1 {font-size: 25px;}
.modal-payment h2 {font-size: 19px;}
.payment-info {display: flex; align-items: flex-start; justify-content: space-between;}
.payment-info > * {flex: 1;}
.payment-info > * + * {margin-left: 20px;}
.payment-info h2 {margin-bottom: 20px; padding-bottom: 7px; border-bottom: 1px solid #eab9b3;}
.payment-info li {display: flex; align-items: flex-start; font-size: 15px; text-align: left;}
.payment-info li + li {margin-top: 2px;}
.payment-info li em {min-width: 120px; padding-right: 10px; font-weight: 500;}

.payment-detail {margin-top: 20px;}
.payment-detail table {border-bottom: 2px solid #eab9b3;}
.payment-detail table thead th {padding: 6px 10px; color: #fff; font-size: 20px; text-align: center; background: #eab9b3;}
.payment-detail table td {padding: 15px 20px; font-size: 18px;}

.payment-total {padding: 15px 0; border-bottom: 2px solid #eab9b3;}
.payment-total:after {content: ''; display: block; clear: both;}
.payment-total ul {float: right; width: 270px; padding-right: 20px;}
.payment-total li {display: flex; align-items: center; justify-content: space-between; font-size: 17px;}
.payment-total li + li {margin-top: 6px;}

.payment-method {display: flex; align-items: flex-start; padding: 30px 0; border-bottom: 2px solid #eab9b3;}
.payment-method .right {flex: 1;}
.payment-method .right > div {display: flex; align-items: center; justify-content: space-between;}
.payment-method .right > div + div {margin-top: 16px;}
.payment-method .right h2 {flex: 0 0 auto; min-width: 100px; padding-right: 15px;}
.payment-method .card-pw {display: flex; align-items: center; flex: 0 0 auto; width: 288px; padding-left: 25px;}
.payment-method .right > div > * + *,.payment-method .card-pw > * + * {margin-left: 10px;}
.payment-method .password {width: 70px;}
.payment-method .desc {flex: 0 0 auto;}
.payment-method .right .my-num {justify-content: flex-start;}
.payment-method .my-num .input {max-width: 290px;}

/* modal-member */
.modal-member .modal-dialog {max-width: 990px !important;}
.modal-member h1 {font-size: 25px;}
.modal-member h2 {font-size: 23px; margin-bottom: 10px;}
.modal-member .form-group {padding: 35px 30px; border-top: 2px solid #f5b7b1; border-bottom: 2px solid #f5b7b1;}

/* 로그아웃 추가 20210707 */
.mo-loginl {display: none !important;}
.mo-loginll {font-size:15px; font-weight: bold; margin-bottom:10px;}
.mo-loginlt {vertical-align: top;
	font-size: 14px;
	line-height: 1.5;
	text-align:center;}
.mo-loginl { vertical-align: top;
	font-size: 14px;
	line-height: 1.5;
	text-align:center;margin-top:-14px;}
.mo-loginl:hover {color:#000; font-weight: bold;}

.mo-loginl2{margin-bottom:10px;}
.mologi{margin-top:10px;}
#birthY{
	width: 100%;
	height: 42px;
	padding: 4px 10px;
	border: 1px solid #e5e5e5;
	outline: 0;
	font-size: 18px;
	color:#999999;
	font-weight: 500;
	background-color: #fff;
	border-radius:4px;
}
#birthM{
	width: 100%;
	height: 42px;
	padding: 4px 10px;
	border: 1px solid #e5e5e5;
	outline: 0;
	font-size: 18px;
	color:#999999;
	font-weight: 500;
	background-color: #fff;
	border-radius:4px;
}
#birthD{
	width: 100%;
	height: 42px;
	padding: 4px 10px;
	border: 1px solid #e5e5e5;
	outline: 0;
	font-size: 18px;
	color:#999999;
	font-weight: 500;
	background-color: #fff;
	border-radius:4px;
}

#appDay{color:#999999 !important; font-weight:500;}
/*희망일자 달력에서 표시되는 폰트 색상,볼드 추가 */
.input-r-form{width:100%; max-width:237px;}
.input-r-form-mom{display:flex; max-width:300px;}
.input-r-form-mom span:first-child{flex:1; width:70%;}
.input-r-form-mom span:last-child{flex:1; width:30%;}
.newformtitle{font-size: 18px;
	line-height: 42px;
	color: #3292c4 !important;
	padding: 35px 30px;
	border-top: 2px solid #f5b7b1;
	border-bottom: 2px solid #f5b7b1;
	width:auto;
}

/*  */
@media (min-width: 1024px) {
	.modal-payment .btn-close {top: 35px; right: 50px;}
	.modal-payment .modal-head {padding: 40px 60px 25px;}
	.modal-payment .modal-body {padding: 0 60px 60px;}
	.payment-method .left {width: 20%;}
	.payment-method .left h2 {margin-bottom: 20px; line-height: 42px;}
	.payment-method .left .form-radio {display: block; margin: 0; padding: 6px 0;}
	.payment-method .left .form-radio + .form-radio {margin-top: 12px;}

	.modal-member .btn-close {top: 60px; right: 50px;}
	.modal-member .modal-head {padding: 60px 60px 25px;}
	.modal-member .modal-body {padding: 0 60px 60px;}
	.modal-member .form-group .form-item + .form-item {margin-left: 40px;}
	.modal-member .form-group .form-title {width: auto;}
	.modal-member .form-group .name {width: 100%; flex: 0 0 auto}

	/* 메인 비로그인 이미지 및 폰트 */
	.no-pc{display:none;}
	/*.pro_img{width:150px; height:150px; margin-bottom:20px;}*/
	.main-profile .link a.btn-gray {border-top: 1px solid #ddd;}
	/*로그인/ 회원부분 사이즈 자동조정 */
	.Link-tl{border-top:none;}
	/* pc 부분 윗라인 없애는것*/


}

@media (min-width: 1024px) and (max-width: 1200px) {
	.visual-text img {max-width: 450px;}
	.main-profile {margin-top: -50px;}
	.main-profile {padding-right: 30px; padding-left: 30px;}
	.main-profile .my {padding-right: 25px;}
	.main-profile .my .my-link a {width: 85px;}
	.main-profile .my .my-link a span {font-size: 14px;}
	.main-profile .list ul li {width: 100%;}
	.main-profile .link {width: 300px; padding-left: 25px;}
	.main-profile .link a {width: 100%;}
	.main-banner .news-title {font-size: 28px; line-height: 1.2;}

	/* 메인 비로그인 이미지 */
	.no-pc{display:none;}
	.pro_img{width:110px; height:110px;}/*1024~1200 이미지 사이즈조정 */
}

@media screen and (max-width: 1023.5px) {
	/* Layout */
	.d-pc {display: none !important;}
	.d-mob {display: block !important;}
	.mo-loginl {display: block !important;}

	/* font-size */
	.text-m {font-size: 15px !important;}
	.text-s {font-size: 13px !important;}

	/* top-banner */
	.top-banner {height: 50px;}
	.top-banner a {font-size: 15px; letter-spacing: -.5px; line-height: 50px;}
	.top-banner .btn-close {right: 10px; width: 30px; height: 30px; background-size: 15px auto;}

	/* modal-topBanner */
	.modal-topBanner {padding-top: 50px; padding-bottom: 50px;}
	.modal-topBanner .modal-content {padding: 10px;}
	html.is-topBanner .top-banner {position: relative; z-index: 1500;}
}

/* Header */
.hd-top {position: relative;}
.btn-menu {z-index:9998;display: block; position: absolute; top: 50%; left: -10px; width: 50px; height: 50px; border: 0; background-color: transparent; background-repeat: no-repeat; background-position: center; background-size: 20px auto; transform: translateY(-50%);}
.hd-util {display: none;}

/* gnb */
.gnb {position: fixed; top: 0; left: -250px; z-index: 500; width: 250px; height: 100%; padding: 50px 30px 30px; background: #fff; transition: all .3s;}
html.gnb-open .gnb {overflow-y: scroll; left:0; width:40.6vw; height: 100%;padding-left: box-shadow: 0 0 10px rgba(0,0,0,.3);-ms-overflow-style: none; /* IE and Edge */
	scrollbar-width: none; /* Firefox */
}
html.gnb-open .gnb::-webkit-scrollbar {
	display: none; /* Chrome, Safari, Opera*/
}
html.gnb-open .dim {display: block !important;}

.gnb-login {margin-bottom: 25px; color: #000; font-size: 15px;}
.gnb-my {margin-bottom: 25px; color: #fff; font-size: 18px; line-height: 1.5;}
.gnb-my strong {font-weight: 700;}
.gnb-list {height: auto; border: 0;}
[class*=gnb-item] {width: 100%; padding: 20px 10px; border-top: 1px solid #707070;}
[class*=gnb-item] > a {font-size: 16px; font-weight: 600; line-height: 1.5;}
[class*=gnb-item] > a:after {display: none;}
.gnb-sub {display: block; position: relative; width: auto; margin-top: 10px; padding: 0; text-align: center !important;}
.gnb-depth2 {display: block;}
.gnb-depth2 + .gnb-depth2 {margin: 5px 0 0;}
.gnb-depth2 > a {vertical-align: top; font-size: 14px; line-height: 1.5;}
.gnb-bg {display: none !important;}

/* footer */
.ft-top .ft-link li + li {margin-left: 10px;}
.ft-top .ft-sns {top: -5px;}
.ft-top .ft-sns li + li {margin-left: 10px;}
.ft-gnb li a {font-size: 13px;}
.ft-address {flex-wrap: wrap;}

.btn-more {padding-left: 10px !important; font-size: 12px !important;}


/*--------------------------------------
	main
---------------------------------------*/

/* visual slide */
.swiper-button-next,.swiper-button-prev {width: 15px; height: 30px; margin-top: -20px;}
.visual-text {width: 100%;}
.visual-text strong {font-size: 35px; line-height: 42px;}
.visual-text p {font-size: 14px;}

/* main-profile */
.main-profile {display: block; height: auto; margin-top: -40px; padding: 15px;}
.main-profile > * {display: block; padding: 20px 10px !important;}
.main-profile > * + * { border-left: 0;} /*border-top: 1px solid #ddd; 지움*/
.main-profile .login p {padding-top: 20px; font-size: 15px; padding:0;}/*padding:0 추가, margin-bottom:20px 삭제*/
.main-profile .login p:before {width: 50px; height: 50px;}
.main-profile .login p:first-child{display:none;} /*모바일에서 이미지 안보이게*/
.main-profile .link {display: flex; width: 100%; height: auto; border-left: 0;} /*border-top: 1px solid #ddd; 단독으로 주기위해 삭제*/
.main-profile .link a {flex: 1; width: auto; border-radius: 8px; font-size: 13px; line-height: 40px;}
.main-profile .link a + a {margin: 0 0 0 10px;}

.main-profile .my .my-greeting {font-size: 18px; line-height: 24px;}
.main-profile .my .my-greeting strong {font-size: 20px;}
.main-profile .my .my-link {justify-content: space-around; margin-top: 15px;}
.main-profile .my .my-link a {width: 90px; height: 90px; padding-top: 50px;}
.main-profile .my .my-link a:before {top: 18px; width: 26px; height: 26px; transform: translateX(-50%);}
.main-profile .my .my-link a span {font-size: 14px;}
.main-profile .my .my-link a .icon-new {top: -4px; right: -4px; width: 20px; height: 20px; font-size: 12px; line-height: 20px;}

.main-profile .list > div + div {margin-top: 10px;}
.main-profile .list-title {padding-left: 25px; font-size: 15px;}
.main-profile .list ul li a {font-size: 14px; line-height: 20px;}
.main-profile .list ul li:before {top: 12px; width: 4px; height: 4px;}
.main-profile .list .text-alert {font-size: 13px;}

/* .main-banner */
.main-banner {flex-direction: column; margin-top: 40px; padding: 0 20px;}
.main-banner .programe-swiper {width: 100%;}
.main-banner .news {width: 100%; margin-top: 40px; padding: 20px 15px; border-width: 2px; border-radius: 8px;}
.main-banner .news-title {font-size: 25px;}
.main-banner .news-title span {font-size: 16px;}
.news-swiper-pagination {margin-top: 10px;}

/* main-link */
.main-link {flex-direction: column; margin-top: 20px;}
.main-link a {width: 100%; height: auto; margin-top: 20px; padding: 15px 15px 15px 120px; border-radius: 8px;}
.main-link a + a {margin-left: 0;}
.main-link a:before {left: 40px; width: 50px; height: 50px;}
.main-link a strong {font-size: 17px; line-height: 1;}
.main-link a strong:after {width: 18px; height: 18px; margin-top: 0;}
.main-link a p {font-size: 15px; line-height: 22px;}


/*--------------------------------------
	sub page
---------------------------------------*/

@media screen and (max-width: 1023.5px) {
	.content {padding-top: 30px;}
	.page-heading {height: 45px; border-top: 1px solid #efefef; color: #000; font-size: 18px; font-weight: 500; text-align: center; line-height: 45px; background: #efefef;}
	.sub-title {margin-bottom: 25px; font-size: 15px; text-align: center;}

	/* box */
	.box .box-head {padding: 5px 10px;}
	.box .box-head strong {font-size: 14px;}
	/*  .box .box-body {padding: 5px 10px;}
	.box .box-body .info li {height: 20px;}
	.box .box-body .info li + li {margin-left: 5px; padding-left: 6px;}
	.box .box-body .info li + li:before {height: 10px;}
	.box .box-body .info li a {vertical-align: top; font-size: 13px; line-height: 20px;} */

	.box .box-body {padding: 10px;}
	.box .box-body .info li {display: block; height: auto; line-height: 1;}
	.box .box-body .info li + li {margin: 5px 0 0; padding: 0;}
	.box .box-body .info li + li:before {display: none;}
	.box .box-body .info li a {vertical-align: top; font-size: 14px; line-height: 18px;}

	/* tab */
	.tab-menu {height: 40px;}
	.tab-menu .tab-link {font-size: 14px; line-height: 40px;}
	.tab-cont {padding: 25px 15px; font-size: 13px;}
	.tab-cont.active {display: block;}

	/* form */
	.form-flex {position:relative; min-height: auto;}
	.form-flex > * + * {margin: 0 0 0 6px !important;}
	.form-flex > p {position:absolute; top:-20px !important; bottom:auto !important; right:0 !important; left:auto !important; font-size:12px !important; color:red;}
	.form-title {font-size: 14px; line-height: 34px;}

	.select {display: block; position: relative;}
	.select select,.input {width: 100%; height: 42px; padding: 6px 10px; font-size: 13px;}
	.select select {background-size: 12px auto;}

	.form-check input + label,.form-radio input + label {font-size: 14px;}
	.form-check input + label:before {top: 0;}
	.form-radio input + label {padding-left: 30px; line-height: 20px;}
	.form-radio input + label:before {width: 20px; height: 20px;}
	.form-radio.d-block {margin-top: 0 !important; padding: 6px 0;}

	.form-flex + .list-group {margin-top: 20px;}
	.list-group .list-item {padding: 10px 0; font-size: 13px;}
	.list-group .list-item > * + * {margin-left: 0px; width: 65px;}

	/* btn-wrap */
	.btn-wrap {margin-top: 20px;}
	.btn-wrap .btn {width: 100%; height: 40px; font-size: 16px; line-height: 38px;}
	.btn-basic {min-width: 40px; font-size: 13px;}

	/* search */
	.input-search .input {padding-right: 60px;}
	.input-search .btn-search {width: 30px; height: 30px; background-size: 14px auto;}
	.keyword-section {top: 34px; padding: 5px;}
	.keyword-section a {padding: 2px 6px; font-size: 13px;}

	/* 예약 */
	.sub-title2 {margin-bottom: 10px; font-size: 15px !important;}
	.card .no-data {padding: 10px 15px; font-size: 13px;}
	.card .card-item {padding: 10px 15px;}
	.list-doc em {width: 70px; font-size: 13px;}
	.list-doc span {font-size: 13px;}

	.reservation-group {flex-direction: column;}
	.reservation-group > * {width: 100% !important;}
	.reservation-group > * + * {margin: 20px 0 0 0;}
	.reservation-group .link {margin-top: 5px; padding-right: 15px; font-size: 13px;}
	.reservation-group .link:after {top: 6px; height: 10px;}
	.reservation-group .form-date {padding-left: 0;}
	.reserve .text-alert {margin-top: 20px; padding: 22px 0 0; font-size: 15px; text-align: center;}
	.reserve .text-alert:before {top: 0; left: 50%; margin-left: -8px;}
	.list-check {margin-top: 30px; padding-top: 30px;}
	.list-check li + li {margin-top: 20px;}
	.list-check em {width: 250px; font-size: 14px;}
	.list-check .btn-basic {margin-left: 5px;}
	.list-check .form-check + .form-check {margin-left: 10px;}
	.list-check .form-check input + label {padding-left: 25px; font-size: 14px;}

	/* 마이페이지 */
	.box-group {flex-direction: column;}
	.box-group > * + * {margin-left: 0;}
	.box-group .box {margin-bottom: 10px;}
	.box-mypage .box-body {padding: 10px;}
	.box-mypage .box-body li {font-size: 13px; font-weight: 300;}
	.form-group .form-row {display: block;}
	.form-group .form-row + .form-row {margin-top: 10px;}
	.form-group .form-item {width: 100%;}
	.form-group .form-item + .form-item {margin: 10px 0 0 0;}
	.form-group .form-address .input-search {width: 100%;}
	.form-group .form-title {width: 95px;}
	.input-date {position: relative;}
	.input-date input {background-size: 15px auto;}
	.mail {flex-wrap: wrap;}
	.mail-domain {flex: 0 0 auto; width: 100%; margin: 10px 0 0 0 !important;}

	/* modal-payment */
	.modal-member .modal-content {padding: 20px 0;}
	.modal-member h1 {font-size: 16px;}
	.modal-member h2 {font-size: 15px;}
	.modal-member .form-group {padding: 20px 0;}

	/* modal */
	.modal .modal-dialog {max-width: 90% !important;}
	.modal-body {font-size: 13px;}
}

/* datepicker */
.ui-datepicker-calendar {table-layout: fixed; width: 100%;}
.ui-datepicker thead th {font-size: 13px;}
.ui-datepicker tbody td {width: 45px; height: 35px; font-size: 14px;}
.ui-datepicker tbody td > a {width: 40px; height: 40PX; font-size: 14px; line-height: 40px;}
.ui-datepicker tbody td > a.ui-state-active {line-height: 36px;}
#ui-datepicker-div {position: fixed !important; top: 50%!important; left: 50%!important; width: 300px; -webkit-transform: translateX(-50%) translateY(-50%)!important; -moz-transform: translateX(-50%) translateY(-50%)!important; -ms-transform: translateX(-50%) translateY(-50%)!important; transform: translateX(-50%) translateY(-50%)!important;}
.is-datepicker .dim {display: block;}

/* modal-bill */
.modal-bill .modal-content {padding: 20px;}
.modal-bill h1 {font-size: 20px;}
.modal-bill .bill-title {font-size: 15px; line-height: 20px;}
.modal-bill .bill-doc {margin-top: 15px;}
.modal-bill .bill-doc em {font-size: 13px;}
.modal-bill .bill-doc span {font-size: 13px;}
.modal-bill .bill-company-title {font-size: 15px;}
.modal-bill .bill-company em {font-size: 13px;}
.modal-bill .bill-company span {font-size: 13px;}
.modal-bill .btn-close {top: 20px; right: 20px; width: 30px; height: 30px;}

/* modal-alert */
.modal-alert .total {font-size: 15px;}
.modal-alert .modal-content .modal-body {padding: 30px 10px; font-size: 15px;}
.modal-alert .modal-content .modal-foot > span .btn-modal {font-size: 15px; line-height: 50px;}

/* modal-payment */
.modal-payment h1 {font-size: 18px;}
.modal-payment h2 {font-size: 15px;}
.payment-method .left h2 {line-height: 34px;}
.payment-method .ml {padding-left: 0;}
.payment-info {flex-direction: column;}
.payment-info h2 {margin-bottom: 10px;}
.payment-info > * {width: 100%;}
.payment-info > * + * {margin: 20px 0 0 0;}

.payment-detail table thead th {padding: 5px; font-size: 13px;}
.payment-detail table td {padding: 5px; font-size: 13px;}

.payment-info li {font-size: 13px;}
.payment-info li em {min-width: 100px;}

.payment-total ul {float: none; width: 100%; padding: 0 10px;}
.payment-total li {font-size: 13px;}

.payment-method {flex-direction: column; padding: 20px 0;}
.payment-method .left {display: flex; align-items: center; justify-content: space-between;}
.payment-method .left > * + * {margin-left: 10px;}
.payment-method .left h2 {flex: 0 0 auto; padding-right: 15px;}
.payment-method .left h2,.payment-method .right h2 {min-width: 80px;}
.payment-method .right {margin-top: 10px;}
.payment-method .right > div + div {margin-top: 10px;}

/* 메인 비로그인 이미지 부분 */
.pro_img{width:90px; height:90px;}
/*로그인/회원가입 버튼 사이즈 자동조정*/
.main-profile .link a.btn-gray {width:auto;}
/*#btnRegisterMember{margin-top:7px;}*/

@media screen and (max-width: 768px) {
	.main-profile .link {flex-direction: column;}
	.main-profile .link a + a {margin: 10px 0 0;}

	.list-check em {width: 190px;}

	/* modal-payment */
	.modal-payment {padding-right: 0 !important;}
	.modal-payment .modal-dialog {align-items: flex-start; max-width: 100% !important; margin: 0;}
	.modal-payment .modal-content {border-radius: 0;}
	.modal-payment .modal-body {padding-right: 10px; padding-left: 10px;}

	.payment-detail table thead th {font-size: 12px;}
	.payment-detail table td {font-size: 12px;}

	.payment-method .card-date {justify-content: flex-start !important; flex-wrap: wrap;}
	.payment-method .card-date > input {width: 70px;}
	.payment-method .card-pw {width: 100%; margin-top: 16px; margin-left: 0 !important; padding: 0;}
	.main-profile .link a.btn-gray {width:auto; border-top: 1px solid #ddd;}
	/*로그인 / 회원가입 윗라인 추가 */
	.select select,.input {width: 100%; height: 42px; padding: 4px 10px; border: 1px solid #e5e5e5; outline: 0; font-size:12.9px; font-weight:400;}
	#birthY{font-size: 12.9px; color:#999999; font-weight: 450; background-color: #fff;}
	#birthM{font-size: 12.9px; color:#999999; font-weight: 450; background-color: #fff;}
	#birthD{font-size: 12.9px; color:#999999; font-weight: 450; background-color: #fff;}
	/*키즈 진단검사 모바일 폼 추가*/
	.btncs{	width: 31%;height: 44px;border: 0;border-radius: 11px;color: #cb4335;font-size: 12.9px;font-weight: 500;line-height: 43px;background: #fadbd8;}
	/*가입여부확인 폰트수정*/
	#btnRegisterMember{margin-top:7px;}
	.rechk{height:42px; line-height:33px; margin-left:5px;}

}

@media screen and (max-width: 400px) {
	.top-banner a {font-size: 13px;}
	.main-profile .link a {font-size: 13px;}
	.tab-menu .tab-link {font-size: 13px;}
	.main-profile .link a.btn-gray {width:auto; border-top: 1px solid #ddd;}
	/*로그인 / 회원가입 폰트 조정 추가 */
}

@media screen and (max-width: 374px) {
	.main-profile .my .my-link {justify-content: space-between;}
	.main-profile .my .my-link a {width: 70px; height: 85px; font-size: 12px;}
	.main-profile .list ul li {width: 100%;}
	.tab-menu .tab-link {font-size: 12px;}

	.list-check li {flex-direction: column;}
	.list-check li > * {width: 100%;}
	.list-check div {width: 100%; margin-top: 10px; text-align: right;}
	.main-profile .link a.btn-gray {width:auto; border-top: 1px solid #ddd;}
	/*로그인 / 회원가입 윗라인 추가 */

}


/*--------------------------------------
	color change
---------------------------------------*/
/* type01 */
.type01 .color-primary {color: #cb4335 !important;}
.type01 #header,.type01 .hd-top {background: #cb4335 !important;}
.type01 .hd-util a {border-color: #fff; color: #fff;}
.type01 .hd-util a:hover {color: #cb4335; background: #fff;}
.type01 [class*=gnb-item] > a {color: #fff;}
.type01 [class*=gnb-item] > a {color: #fff;}
.type01 [class*=gnb-item] > a:after {background: #fff;}
.type01 .gnb-depth2 > a {color: #cb4335;}
.type01 .gnb-bg {background: #fadbd8;}
.type01 .main-link a.link1:before {background-image: url(/assets/img/icon_link1_red.png);}
.type01 .main-link a.link2:before {background-image: url(/assets/img/icon_link2_red.png);}
.type01 .main-link a.link3:before {background-image: url(/assets/img/icon_link3_red.png);}
.type01 .main-banner .news {border-color: #f4dcd9;}
.type01 .main-link a strong {color: #cb4335;}
.type01 .main-link a strong:after {background-image: url(/assets/img/icon_link_arrow_red.png);}

.type01 .page-heading {border-color: #eab9b3; color: #fff; background: #cb4335;}
.type01 .tab-menu .tab-link.active {color: #cb4335;}

.type01 .modal .btn-close {background-image: url(/assets/img/icon_close_red.png);}

/* type02 */
.type02 .color-primary {color: #3292c4 !important;}
.type02 #header,.type02 .hd-top {background: #3292c4 !important;}
.type02 .hd-logo a {background-image: url(/assets/img/brand/btn_logo_wh.png);}
/*.type02 .hd-util {border-color: #fff;}
.type02 .hd-util li + li:before {background: #fff;}
.type02 .hd-util a {color: #fff;}
.type02 .hd-util:hover {background: #fff;}
.type02 .hd-util:hover a {color: #3292c4;}
.type02 .hd-util:hover li + li:before {background: #3292c4;}*/
.type02 .hd-util a {border-color: #fff; color: #fff;}
.type02 .hd-util a:hover {color: #3292c4; background: #fff;}
.type02 [class*=gnb-item] > a {color: #fff;}
.type02 [class*=gnb-item] > a {color: #fff;}
.type02 [class*=gnb-item] > a:after {background: #fff;}
.type02 .gnb-depth2 > a {color: #3292c4;}
.type02 .gnb-bg {background: #ddf3ff;}
.type02 .main-link a.link1:before {background-image: url(/assets/img/icon_link1_blue.png);}
.type02 .main-link a.link2:before {background-image: url(/assets/img/icon_link2_blue.png);}
.type02 .main-link a.link3:before {background-image: url(/assets/img/icon_link3_blue.png);}
.type02 .main-banner .news {border-color: #e2f2fe;}
.type02 .main-link a strong {color: #3292c4;}
.type02 .main-link a strong:after {background-image: url(/assets/img/icon_link_arrow_blue.png);}

.type02 .main-profile .my .my-link a {background: #e2f2fe;}
.type02 .main-profile .my .my-link01 a:before {background-image: url(/assets/img/icon_manage1_blue.png);}
.type02 .main-profile .my .my-link02 a:before {background-image: url(/assets/img/icon_manage2_blue.png);}
.type02 .main-profile .my .my-link03 a:before {background-image: url(/assets/img/icon_manage3_blue.png);}
.type02 .main-profile .list-title.center:before {background-image: url(/assets/img/icon_center_blue.png);}
.type02 .main-profile .list-title.programe:before {background-image: url(/assets/img/icon_programe_blue.png);}
.type02 .main-profile .my .my-link a .icon-new {background: #3292c4;}
.type02 .text-alert:before {background-image: url(/assets/img/icon_alert_blue.png);}

.type02 .tab-menu .tab-link.active {color: #3292c4;}

.type02 .page-heading {border-color: #e2f2fe; color: #fff; background: #3292c4;}
.type02 .box .box-head {border-color: #e2f2fe;}
.type02 .card {border-color: #e2f2fe;}
.type02 .btn,.type02 .btn-basic {color: #3292c4; background: #ddf3ff;}

.type02 .select select,.type02 .input {border: 1px solid #3292c4;}
.type02 .select select:focus,.type02 .input:focus {box-shadow: 0 0 3px #e2f2fe;}
.type02 .select select {background-image: url(../img/icon_select_blue.png) ;background-position: right 14px center; background-repeat: no-repeat;}
.type02 .form-check input + label:before {background-image: url(/assets/img/icon_check_blue.png);}
.type02 .form-check input:checked + label:before {background-image: url(/assets/img/icon_check_on_blue.png);}
.type02 .form-radio input + label:before {background-image: url(/assets/img/icon_radio_blue.png);}
.type02 .form-radio input:checked + label:before {background-image: url(/assets/img/icon_radio_on_blue.png);}

.type02 .input-search .btn-search {background-image: url(../img/icon_search_blue.png);}
.type02 .keyword-section {border-color: #3292c4; color: #3292c4;}
.type02 .keyword-section a:hover,.type02 .keyword-section a:focus {color: #3292c4; background: #e2f2fe;}

.type02 .modal .btn-close {background-image: url(/assets/img/icon_close_blue.png);}
.type02 .text-alert:before {background-image: url(/assets/img/icon_alert_blue.png);}
.type02 .input-date input {background-image: url(/assets/img/icon_date_blue.png);}

.type02 .ui-datepicker-header .ui-datepicker-prev {background-image: url(/assets/img/icon_datePrev_blue.png);}
.type02 .ui-datepicker-header .ui-datepicker-next {background-image: url(/assets/img/icon_dateNext_blue.png);}
.type02 .ui-datepicker tbody td > a.ui-state-active {border-color: #3292c4;}

.type02 .list-check {border-color: #3292c4;}
.type02 .reservation-group .link:after {background-image: url(/assets/img/icon_link_blue.png);}

/* section-red */
.section-red .color-primary {color: #cb4335 !important;}
.section-red .tab-menu .tab-link.active {color: #cb4335;}

/* section-blue */
.section-blue .color-primary {color: #3292c4 !important;}
.section-blue .tab-menu .tab-link.active {color: #3292c4;}

.section-blue .box .box-head {border-color: #e2f2fe;}
.section-blue .card {border-color: #e2f2fe;}
.section-blue .btn,.section-blue .btn-basic {color: #3292c4; background: #ddf3ff;}

.section-blue .select select,.section-blue .input {border: 1px solid #3292c4;}
.section-blue .select select:focus,.section-blue .input:focus {box-shadow: 0 0 3px #e2f2fe;}
.section-blue .select select {background-image: url(/assets/img/icon_select_blue.png);}
.section-blue .form-check input + label:before {background-image: url(/assets/img/icon_check_blue.png);}
.section-blue .form-check input:checked + label:before {background-image: url(/assets/img/icon_check_on_blue.png);}
.section-blue .form-radio input + label:before {background-image: url(/assets/img/icon_radio_blue.png);}
.section-blue .form-radio input:checked + label:before {background-image: url(/assets/img/icon_radio_on_blue.png);}

.section-blue .input-search .btn-search {background-image: url(/assets/img/icon_search_blue.png);}
.section-blue .keyword-section {border-color: #3292c4; color: #3292c4;}
.section-blue .keyword-section a:hover,.section-blue .keyword-section a:focus {color: #3292c4; background: #e2f2fe;}

.section-blue .text-alert:before {background-image: url(/assets/img/icon_alert_blue.png);}
.section-blue .input-date input {background-image: url(/assets/img/icon_date_blue.png);}

.section-blue .ui-datepicker-header .ui-datepicker-prev {background-image: url(/assets/img/icon_datePrev_blue.png);}
.section-blue .ui-datepicker-header .ui-datepicker-next {background-image: url(/assets/img/icon_dateNext_blue.png);}
.section-blue .ui-datepicker tbody td > a.ui-state-active {border-color: #3292c4;}

.section-blue .list-check {border-color: #3292c4;}
.section-blue .reservation-group .link:after {background-image: url(/assets/img/icon_link_blue.png);}

.type02 .payment-info h2,.type02 .payment-detail table,.type02 .payment-total,.type02 .payment-method {border-color: #e2f2fe;}
.type02 .payment-detail table thead th {background: #3292c4;}

.type02 .modal-member .form-group {border-color: #e2f2fe;}


/* type01 */
.type01 .gnb {background: #cb4335;}
.type01 .gnb-depth2 > a {color: #fff;}
.type01 .gnb-login {color: #fff;}
.type01 [class*=gnb-item] {border-color: #fff;}
.type01 .gnb-depth2 > a {color: #fff;}

/* type02 */
.type02 .gnb {background: #3292c4;}
.type02 .gnb-depth2 > a {color: #fff;}
.type02 .gnb-login {color: #fff;}
.type02 [class*=gnb-item] {border-color: #fff;}
.type02 .gnb-depth2 > a {color: #fff;}
.Link-tl{border-top: 1px solid #ddd;}



.btn-menu > img {
	width:30px;
	height:26px;
}
.hd-logo a {
	display: inline-block;
	width:168px;
	height:28.13px;
	background:url(/assets/img/brand/btn_logo_gray.png);
	background-size: cover;
}
.type01 .hd-logo a {
	background:url(/assets/img/brand/btn_logo.png);
	background-size: cover;
}

/* 결제 센터 정보 */
.payment-info {
	margin-top: 15px;
	padding: 15px;
	border-radius: 10px;
	background: linear-gradient(135deg, #f0f0f0, #e6e6e6);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.payment-info-header {
	font-size: 16px;
	font-weight: bold;
	color: #444;
	margin-bottom: 10px;
	text-align: center;
	border-bottom: 2px solid #ddd;
	padding-bottom: 5px;
}

.payment-info-content {
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-size: 14px;
	color: #666;
	text-align: center;
}

.payment-info-content span {
	display: block;
}
/* 결제 센터 정보 */

/*PC 스타일*/
@media screen and (min-width: 1023.4px) {
	.btn-menu.btn-menu-fixed {position:fixed; top:122px; left:calc((100% - 1220px)/2)}
}
/*모바일 스타일*/
@media screen and (max-width: 1023.5px) {
	.container {min-height:calc(100vh - 29.6vw - 165.17px); }
	.content > .inner {
		padding: 0 15px;
	}
	#header{
		height:auto;
		padding:8.3vw 5.5vw 0;
	}
	#header .inner {
		padding-bottom:2.7vw;
	}
	.hd-top > div {
		display:flex;
		align-items: center;
	}
	.btn-menu{
		position:relative;
		top:auto;
		left:auto;
		width:auto;
		height:auto;
		transform: none;
	}
	.btn-menu > img {
		width:5.5vw;
		height:auto;
	}
	.hd-logo {
		padding-left:3vw;
	}
	.hd-logo > a {
		display: block;
		width:33.4vw;
		height:5.5vw;
	}
	html.gnb-open .gnb {
		width:49.1vw;
		padding:0;
		/*min-width:350px;*/
	}
	.gnb .close {
		display:none;
	}
	.gnb-list {
		position:absolute;
		top:12vw;
		left:0;
		right:auto;
		width:100%;
		padding:21.3vw 8.2vw 8.2vw;
		height: calc(100vh - 20.2vw);
		overflow-y: scroll;
		-ms-overflow-style: none; /* IE and Edge */
		scrollbar-height: none; /* Firefox */
	}
	.gnb-list::-webkit-scrollbar {
		display: none; /* Chrome, Safari, Opera*/
	}
	.btn-menu.btn-menu-fixed {z-index:9999}
	.gnb-list p {
		margin-bottom:16.6vw;
		line-height:6.5vw;
		font-size:5.5vw;
	}
	.gnb-list li a {
		font-family: Noto Sans CJK KR;
		font-style: normal;
		font-weight: bold;
		font-size: 4.1vw;
		color: rgba(255,255,255,1);
		padding:6.3vw 0;
	}
	#footer {
		margin-top:8.3vw;
	}
	#footer .inner {
		padding:4.8vw 6.1vw;
	}
	#footer .inner > p {
		position: relative;
		bottom: auto;
		right: auto;
		color: #fff;
		font-size: 12px;
		line-height: 18px;
		font-weight: bold;
		margin-top:15px;
	}

	/* 결제 센터 정보 */
	.payment-info {
		margin-top: 15px;
		padding: 15px;
		border-radius: 10px;
		background: linear-gradient(135deg, #f0f0f0, #e6e6e6);
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	}

	.payment-info-header {
		font-size: 16px;
		font-weight: bold;
		color: #444;
		margin-bottom: 10px;
		text-align: center;
		border-bottom: 2px solid #ddd;
		padding-bottom: 5px;
	}

	.payment-info-content {
		display: flex;
		flex-direction: column;
		gap: 5px;
		font-size: 14px;
		color: #666;
		text-align: center;
	}

	.payment-info-content span {
		display: block;
	}
	/* 결제 센터 정보 */

}