﻿@charset "utf-8";
:root {
  --main: #e60012;
  --mem-main: #6357a3;
  --mem-sub: #b64b96;
  --pub-main: #008bd7;
  --pub-sub: #144583;
  --font: "Pretendard Variable";

  --gray9: #999;
  --grayC: #ccc;
  --grayE: #eee;

  --red: #e60012;
  --red2: #cd2e53;
}
.left{text-align: left;}

.w221 {width: 221px;}
.w280 {width: 280px;}
.w343 {width: 343px !important;}
.mt20 {margin-top: 20px !important;}
.mt17 {margin-top: 17px !important;}
.mt40 {margin-top: 40px;}
.mt50 {margin-top: 50px;}
.mt80 {margin-top: 80px;}
.mt100 {margin-top: 100px;}
.red{color: var(--red2) !important;}

.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}

.pb0{padding-bottom: 0 !important;}

.margin80{margin: 80px 0;}

.auto80{margin: 80px auto 0;}


/******************** 서브배경 (공통) *******************/
/*이미지*/
.join-wrap {background-image: url("/Content/web/public/images/join/join-bg.jpg");background-size: 100% 460px;width: 100%;height: 460px;}
.membership-wrap{background-image: url("/Content/web/public/images/membership/membership-bg.jpg");background-size: 100% 460px;width: 100%;height: 460px;}
.board-wrap{background-image: url("/Content/web/public/images/board/board-bg.jpg");background-size: 100% 460px;width: 100%;height: 460px;}
.club-wrap{background-image: url("/Content/web/public/images/club/club-bg.jpg");background-size: 100% 460px;width: 100%;height: 460px;}
.course-wrap{background-image: url("/Content/web/public/images/course/course-bg.jpg");background-size: 100% 460px;width: 100%;height: 460px;}
.guide-wrap{background-image: url("/Content/web/public/images/guide/guide-bg.jpg");background-size: 100% 460px;width: 100%;height: 460px;}
.facil-wrap{background-image: url("/Content/web/public/images/facil/facil-bg.jpg");background-size: 100% 460px;width: 100%;height: 460px;}

/*상단배경이미지, 텍스트*/
.common-bg {
  position: relative;
}
.common-bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.24);
}
.common-bg .sub-title {
  font-family: var(--font);
  font-size: 46px;
  font-weight: 700;
  color: #fff;
  z-index: 1;
  text-align: center;
  position: absolute;
  top: 56%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.common-bg .sub-title span {
  display: block;
  margin-top: 40px;
  font-size: 16px;
  letter-spacing: 6.4px;
}

/*서브네비*/
.sub-nav {
  display: flex;
  position: absolute;
  bottom: -35px;
  left: 50%;
  transform: translateX(-50%);
  width: 1200px;
  background: var(--grayE);
  z-index: 1;
  justify-content: flex-start;
}
.sub-nav .home-btn {
  width: 70px;
  height: 70px;
  position: relative;
  display: block;
  background: var(--pub-main);
}
.sub-nav .home-btn img {
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
}

.sub-select {
  background: #f5f6f7;
  text-align: left;
  cursor: pointer;
  position: relative;
  text-indent: 1em;
  line-height: 70px;
  font-size: 0.94em;
  width: 220px;
}
.sub-select.second {
  background-color: #f8f8f8;
  border-right: 0;
  width: 220px;
}
.sub-select span {
  color: #231f20;
  font-family: var(--font);
  font-size: 16px;
  font-weight: 400;
}
.sub-select li .options {
  display: block;
  margin: 0;
  background: #fff;
  position: absolute;
  width: calc(100% + 1px);
  overflow: hidden;
  max-height: 0;
  border-top: 0;
  top: 70px;
  left: 0;
  opacity: 0;
  transition: 0.3s ease all;
  z-index: 1;
  border-top: 1px solid var(--grayE);
}
.sub-select li .options li {
  transition: 0.3s ease all;
  border: 1px solid var(--grayE);
  font-size: 16px;
  font-family: var(--font);
  color: #231f20;
  line-height: 48px;
  border-bottom: 0;
}
.sub-select li .options li:last-child{
  border-bottom: 1px solid var(--grayE);
}
.sub-select li .options li:hover {
  background: #f3f3f3;
}

.sub-select li .options.open {
  background: #fff;
  opacity: 1;
  max-height: 1000%;
}
.sub-select.sub-select.second li .options {
  left: -1px;
}
.sub-select:before {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 22px;
  right: 20px;
  transition: all ease 0.25s;
  background: url(/Content/web/public/images/down_arrow.svg) center center
    no-repeat;
}

.sub-nav .sub-select:first-child {
  background: var(--grayE);
}
.sub-nav .sub-select:last-child {
  background: #fff;
}

/*서브타이틀*/
.sub-con {
  width: 1200px;
  margin: 0 auto;
  font-family: var(--font);
  color: #222;
  text-align: center;
  padding-bottom: 250px;
}
.sub-con-tit {
  margin: 131px 0 64px;
}
.sub-con-tit h1 {
  font-size: 40px;
  font-weight: 700;
}
.sub-con-tit p {
  font-size: 26px;
  font-weight: 500;
  margin-top: 32px;
}

/*탭*/
.sub-tab {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 12px;
}
.sub-tab a {
  color: var(--gray9);
  font-size: 18px;
  border: 1px solid var(--gray9);
  width: 230px;
  height: 48px;
  padding: 13px 0;
  font-weight: 400;
}
.sub-tab a.on {
  border: 1px solid var(--pub-main);
  color: var(--pub-main);
  font-weight: 700;
}

/******************* join ***********************/
.login-bg {
  position: relative;
  font-size: 0;
}
.login-bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.24);
}
.login-bg img {
  width: 100%;
  height: 100vh;
}

.login-con {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  width: 540px;
  height: 580px;
  border: 4px solid var(--pub-main);
  z-index: 1;
  padding: 80px 99px;
  margin: 0 auto;
  text-align: center;
}
.login-head {
  color: #222;
  font-family: var(--font);
}
.login-head h1 {
  font-size: 36px;
  font-weight: 700;
}
.login-head p {
  font-size: 18px;
  font-weight: 400;
  margin-top: 9px;
}
.login-input {
  margin: 40px auto 44px;
}
.login-input input {
  width: 100%;
  display: block;
  margin-bottom: 8px;
  padding: 16px;
  font-size: 16px;
}

/*체크박스*/
.checkbox-area {
  font-size: 14px;
  display: flex;
  justify-content: space-between;
  margin: 20px 0 44px;
  align-items: center;
  font-family: var(--font);
}
.checkbox-area a {
  font-weight: 400;
}

.join-check {
  font-size: 14px;
  text-align: left;
}
.join-check input[type="checkbox"] {
  display: none;
}
    .join-check input[type="checkbox"] + label {
        background-repeat: no-repeat;
        background-image: url("/Content/web/public/images/join/join_chk.svg");
        background-size: 24px 24px;
        padding-left: 30px;
        padding-right: 20px;
        background-position: left top 0px;
        cursor: pointer;
        font-weight: 400;
        padding-top: 3px;
        padding-bottom: 10px;
    }
.join-check input[type="checkbox"] + label:last-child {
  padding-right: 0;
}
.join-check input[type="checkbox"]:checked + label {
  background-image: url("/Content/web/public/images/join/join_chk_on.svg");
  background-size: 24px 24px;
}
.more {
  color: #163022;
  font-size: 14px;
  border-bottom: 1px solid #163022;
  display: inline-block;
  font-weight: 400;
  cursor: pointer;
}

/*로그인 버튼*/
.wide-btn {
  width: 100%;
}
.wide-btn a {
  border: 1px solid var(--pub-main);
  font-size: 16px;
  display: block;
  padding: 11px 0;
  color: var(--pub-main);
  font-weight: 400;
  margin-bottom: 8px;
}
.wide-btn a.on {
  background: var(--pub-main);
  color: #fff;
}
.wide-btn a:last-child {
  margin-bottom: 0;
}

/*테이블*/
.table-box {
  margin: 64px 0 28px;
}
.table-title {
  margin-bottom: 24px;
  font-size: 24px;
  font-weight: 700;
  text-align: left;
}
.common-table {
  width: 100%;
  border-top: 2px solid var(--pub-main);
  text-align: left;
  border-bottom: 1px double var(--grayC);
}
.common-table tbody th {
  background: #f9f9f9;
  font-size: 18px;
  border-bottom: 1px solid var(--grayE);
  padding: 11px 55px;
  font-weight: 400;
  vertical-align: middle;
}
.common-table tbody td {
  border-bottom: 1px solid var(--grayE);
  padding: 11px 17px;
  vertical-align: middle;
}

.common-table .join-btn01 {
  border: 1px solid var(--pub-main);
  height: 48px;
  display: inline-block;
  color: var(--pub-main);
  margin-left: 8px;
  width: 112px;
  text-align: center;
  padding: 10px 0;
  font-weight: 400;
  vertical-align: middle;
}
.common-table .time {
  color: var(--red);
  margin-left: 21px;
  font-weight: 400;
}
.common-table input {
  font-size: 16px;
  padding: 0 16px;
  vertical-align: middle;
}

/*라인 테이블*/
.common-table-line {
  width: 100%;
  border-top: 2px solid var(--pub-main);
  text-align: center;
}
.common-table-line tbody th {
  background: #f9f9f9;
  font-size: 18px;
  border: 1px solid var(--grayE);
  padding: 15px 0;
  font-weight: 400;
  vertical-align: middle;
}
.common-table-line tbody td {
  border: 1px solid var(--grayE);
  padding: 11px 17px;
  vertical-align: middle;
}

/*무지 테이블*/
.common-table-none {
  width: 92%;
  text-align: left;
    margin: 0 auto;
}
.common-table-none tbody th {
  font-size: 18px;
  padding: 15px 0;
  font-weight: 400;
  vertical-align: middle;
}
.common-table-none tbody td {
  padding: 10px;
  vertical-align: middle;
  font-size: 18px;
}

/*공지사항 테이블*/
.common-table-board {
  width: 100%;
  text-align: center;
  border-top: 2px solid var(--pub-main);
  border-bottom: 1px double var(--grayC);
  font-size: 18px;
}
.common-table-board tbody th {
  font-size: 18px;
  padding: 12px 0;
  font-weight: 400;
  vertical-align: middle;
  border-bottom: 1px solid var(--grayE);
  background: #f9f9f9;
  color: #222;
  font-weight: 400;
}
.common-table-board tbody td {
  padding: 22px 25px;
  vertical-align: middle;
  border-bottom: 1px solid var(--grayE);
  color: #222;
  font-weight: 400;
}
.common-table-board tbody td:nth-child(2){
    text-align: left;
}
.common-table-board tbody td a{
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: keep-all;
    width: 600px;
    font-weight: 400;
    color: #222;
    display: block;
}

/*공지사항-viwe 테이블*/
.common-table-view {
  width: 100%;
  text-align: left;
  border-top: 2px solid var(--pub-main);
  border-bottom: 1px double var(--grayC);
  font-size: 18px;
}
.common-table-view tbody th {
  padding: 25px 0;
  vertical-align: middle;
  border-bottom: 1px solid var(--grayE);
  color: #222;
  font-weight: 400;
  font-family: var(--font);
}
.common-table-view tbody td {
  padding: 20px 0;
  font-weight: 400;
  vertical-align: middle;
  border-bottom: 1px solid var(--grayE);
  color: #222;
  font-weight: 400;
  text-indent: 49px;
}
.common-table-view tbody td a{
  font-weight: 400;
}
.common-table-view tbody td img{
    display: block;
    margin: 60px auto;
    max-width: 100%;
    text-align: center;
}

/*예약-헤드 테이블*/
.head-table {
  width: 100%;
  border-top: 1px solid #ddd;
  text-align: center;
  margin-top: 5px;
  border-bottom: 2px solid #999;
}
.head-table th {
  font-size: 16px;
  padding: 10px 0;
  font-weight: 400;
  vertical-align: middle;
  color: #000;
}

/*예약확인 테이블*/
.common-table-chk {
  width: 100%;
  text-align: center;
  border-top: 2px solid var(--pub-main);
  border-bottom: 1px double var(--grayC);
  font-size: 18px;
  margin-top: 64px;
}
.common-table-chk tbody th {
  font-size: 18px;
  padding: 12px 0;
  font-weight: 400;
  vertical-align: middle;
  border-bottom: 1px solid var(--grayE);
  background: #f9f9f9;
  color: #222;
  font-weight: 400;
}
.common-table-chk tbody td {
  padding: 22px 0;
  vertical-align: middle;
  border-bottom: 1px solid var(--grayE);
  color: #222;
  font-weight: 400;
}

/*동반자 테이블*/
table.tbl02 {width:100%; text-align:center; border-top:2px solid var(--pub-main); table-layout: fixed;}
table.tbl02 tr {border-bottom:1px solid #ccc;}
table.tbl02 tr th { position:relative; height:50px; background-color:#f9f9f9; font-weight:500; color:#454545; vertical-align: middle;}
table.tbl02 tr th:first-child::after {display:none;}
table.tbl02 tr th::after {position:absolute; top:50%; left:0; margin-top:-8px; content:''; display:block; width:1px; height:14px; background-color:#e0e0e0;}
table.tbl02 tr td {height:55px; font-size:16px; color:#555; vertical-align: middle;}
table.tbl02 tr td a {color: #49729e;}
table.tbl02 tr td a.col {display: inline-block; padding: 4px 14px; color: #fff; border-radius: 4px; background: var(--pub-sub); font-weight: 400;}
table.tbl02 tr td a.cancel {display: inline-block; padding: 4px 14px; color: #fff; border-radius: 4px; background: #cd2e53; font-weight: 400;}
table.tbl02 tr td input{border-radius: 4px; display: block; width: 100%; padding: 0 15px; font-size: 16px;}


.join-chk-btn {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 16px;
}
.join-chk-btn a {
  width: 167px;
  border: 1px solid var(--pub-main);
  color: var(--pub-main);
  height: 48px;
  padding: 15px 0;
  font-weight: 500;
}
.join-chk-btn a.on {
  background: var(--pub-main);
  color: #fff;
}

/*예약-요금스크롤 테이블*/
.reser-fee-table {
  width: 100%;
  text-align: center;
}
.reser-fee-table tbody td {
  padding: 12px 0;
  vertical-align: middle;
  border-bottom: 1px solid #ddd;
  color: #999;
  font-weight: 400;
}
.reser-fee-table tbody td .fee{
    color: #cd2e53;
    font-weight: 400;
}
.reser-fee-table tbody td a{
    background: var(--pub-sub);
    color: #fff;
    padding: 4px 28px;
    border-radius: 4px;
    font-size: 17px;
    font-weight: 400;
}


/*아이디찾기*/
.id-find-box {
  border: 1px solid var(--grayC);
  width: 638px;
  margin: 64px auto 0;
  padding: 60px 80px;
}
.id-find-box h1 {
  font-size: 18px;
  color: #666;
  font-weight: 400;
  font-family: var(--font);
  padding: 40px 0 80px;
}
.id-find-box h1 span {
  font-weight: 500;
  font-size: 36px;
  color: var(--pub-main);
  padding: 0 15px;
}

/*회원가입*/
.join-line {
  display: flex;
  justify-content: center;
  margin: 40px 0 64px;
  gap: 80px;
}
.join-line li {
  position: relative;
  border: 1px solid var(--grayC);
  border-radius: 50%;
  width: 64px;
  height: 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--grayC);
  font-size: 24px;
}
.join-line li span {
  position: absolute;
  bottom: -30px;
  left: 50%;
  width: 100%;
  transform: translate(-50%);
  font-size: 15px;
  color: var(--grayC);
}
.join-line li::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -60%;
  transform: translateX(-50%);
  height: 1px;
  width: 32px;
  background: var(--grayC);
}
.join-line li:first-child:after {
  display: none;
}
.join-line li.on {
  border: 2px solid #202020;
  color: #202020;
  font-weight: 400;
}
.join-line li.on span {
  color: #202020;
  font-weight: 500;
}

/*회원가입 체크박스*/
.allCheckBox {
  padding: 45px 0;
  width: 100%;
  border: 4px solid #f6f6f6;
  text-align: center;
}
.allCheckBox p {
  font-size: 22px;
  font-weight: 600;
  line-height: 32px;
  color: #333;
}
.allCheckBox ul.checkBox-text {
  margin-top: 30px;
  text-align: center;
}
ul.checkBox li input[type="checkbox"] .allCheckBox ul.checkBox li input[type="checkbox"] + label {
  font-size: 16px;
  color: #666;
}
ul.checkBox li input[type="checkbox"] {
  display: none;
}
ul.checkBox li input[type="checkbox"] + label {
  padding-left: 32px;
  display: inline-block;
  height: 25px;
  background: url(/Content/web/public/images/join/checkbox.png) no-repeat;
  background-position: 0 0;
  font-size: 17px;
  line-height: 25px;
  color: #444;
  margin-top: 10px;
}
ul.checkBox li input[type="checkbox"]:checked + label {
  background-position: 0 -25px;
}

div.allCheckBox ul.checkBox{margin-top: 30px; text-align: center;}
ul.checkBox{margin-top: 15px;text-align: right;}

/*회원가입 텍스트 컨텐츠*/
.agreeCnt {
  margin-top: 70px;
}
.agreeInner {
  margin-bottom: 50px;
}
.scrollbox {
  width: 100%;
  height: 230px;
  border: 2px solid #ddd;
  overflow-y: scroll;
  padding: 20px 30px;
}

.con_guide .txt_box {
  text-align: left;
  font-size: 16px;
  line-height: 1.4;
  border: 0;
}
.txt_box1 {
  width: 100%;
  color: #444;
  padding: 0 20px 20px 0;
}

.policy {
  font-size: 16px;
  line-height: 30px;
  word-break: keep-all;
  white-space: pre-line;
}
.policy b {
  font-size: 18px;
  font-weight: 300;
}

p.joinTxt{margin-top: 15px; line-height: 24px; color: #454545; text-align: left; font-weight: 400;}
p.joinTxt b{font-weight: 700;}

/* 회원가입 라디오박스*/
ul.radioBox {
    margin-top:0;
    text-align:center;
    display: flex;
    justify-content: center;
}
ul.radioBox li{margin-right: 15px;}
ul.radioBox li:last-child{margin-right: 0;}
ul.radioBox li input[type="radio"] {
	display:none;
}
    ul.radioBox li input[type="radio"] + label {
        padding-left: 30px;
        display: inline-block;
        height: 25px;
        background: url('/Content/web/public/images/join/radiobox-p.png') no-repeat;
        background-position: 0 0;
        font-size: 14px;
        line-height: 25px;
        color: #999;
        font-weight: 300;
    }
ul.radioBox li input[type="radio"]:checked + label {
	background-position: 0 -25px;
}
.join-guide-text h1{
    font-size: 28px;
    font-weight: 600;
    color: #333;
    margin: 100px 0 0;
    letter-spacing: -1px;
}
.join-guide-text h2{
    margin-top: 15px;
    line-height: 24px;
    color: #454545;
}

/*회원가입02*/
.joinInner{width: 100%; background: #f9f9f9; border-top: 2px solid #0c2c40; padding: 25px 0; border-bottom: 1px solid #e9e9e9;}
.joinInner input{width: 100%; padding: 10px; font-size: 16px; border-radius: 4px;}
.joinInner select{width: 100%; padding: 10px; font-size: 16px; font-weight: 300; height: 48px; color: #999;}
.joinInner input::placeholder{font-weight: 300;}
.joinInner .radioBox{display: flex; justify-content: flex-start;}
.point{padding-left: 20px; font-weight: 500; font-size: 16px; color: var(--red);}
.point2{padding-left: 3px; font-weight: 500; color: var(--red);}
.find-ad{display: inline-block; width: 120px; height: 48px; background: #999; font-size: 16px; line-height: 48px; color: #fff; text-align: center; border-radius: 4px;}

.joinInner input[type='date'] {
  position: relative; 
  width: 100%;
  background: url('/web/public/images/arrowDwon.png') no-repeat 95% center;
  background-color: #fff;
  text-align: left;
  font-size: 100%;
  border: 1px solid #ccc;
  height: 48px;
}
.joinInner input[type='date']::-webkit-calendar-picker-indicator {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  color: transparent;
  cursor: pointer;
}
.joinInner input[type='date']::before {
  content: attr(placeholder);
  width: 100%;
  height: 100%;
    display: block;
}
.joinInner input[type='date']:valid::before {
  display: none;
}

input[type="date"]:focus:before,
input[type="date"]:valid:before{
    display: none;
}

/*공지사항*/
.search{display: flex; width: 100%; margin-top: 16px; justify-content: flex-end; align-items: center; gap:8px;}
.search input{width: 320px; height: 40px; padding: 0 16px; font-size: 16px; font-weight: 400;}
.search-btn{font-size: 16px; display: block; border: 1px solid var(--pub-sub); color: var(--pub-sub); font-weight: 500; width: 80px; height: 40px; line-height: 40px;}
.list-number{width: 100%; display: flex; justify-content: center; gap:8px; margin-top: 80px;}
.list-number li{width: 48px; height: 48px; align-items: center; color: #999; font-size: 18px; border: 1px solid #ccc; display: flex; justify-content: center; cursor: pointer;}
.list-number li.on{border: 1px solid #222; color: #222; font-weight: 700; font-family: var(--font);}
.list-number li:first-child{border: none;}
.list-number li:last-child{border: none;}

.notice-tit{font-size: 30px; font-weight: 500 !important;}

.view-date{display: flex; justify-content: flex-end; font-size: 16px; color: #999; gap:36px;}
.view-date li{position: relative;}
.view-date li::after{content: ''; position: absolute; top: 35%; left: -16px; width: 4px; height: 4px; border-radius: 50%; background: #999;}
.view-date li:first-child::after{display: none;}

/***********예약**********/
.resInfo{display: flex; border: 3px solid #ccc; justify-content: space-between; padding: 49px 34px; font-size: 19px; color: #999; font-family: var(--font); align-items: center; margin: 63px 0 50px;}
.resInfo span{font-size: 22px; color: var(--pub-main); font-weight: 500; margin-left: 10px;}
.resInfo div{font-weight:400;}

.calendar-wrap{width: 100%; display: flex; gap:6%; justify-content: space-between;}
.calendar-wrap .month {
    position: relative;
    height: 60px;
    font-size: 30px;
    text-align: center;
    line-height: 60px;
    font-weight: 400;
}

.leftCnt .month a.prev, div.leftCnt .month a.prev_off:hover {
    position: absolute;
    left: 10px;
    top: 0;
    display: block;
    width: 60px;
    height: 60px;
    background: url(/Content/web/public/images/membership/btn_CL.png) center center no-repeat;
    text-indent: -10000px;
}

.leftCnt .month a.prev_off {
    position: absolute;
    left: 10px;
    top: 0;
    display: block;
    width: 60px;
    height: 60px;
    background: url(/Content/web/public/images/membership/btn_CLoff.png) center center no-repeat;
    text-indent: -10000px;
}

div.rightCnt .month a.next, div.rightCnt .month a.next_off:hover {
    position: absolute;
    right: 10px;
    top: 0;
    display: block;
    width: 60px;
    height: 60px;
    background: url(/Content/web/public/images/membership/btn_CR.png) center center no-repeat;
    text-indent: -10000px;
}

div.rightCnt .month a.next_off {
    position: absolute;
    right: 10px;
    top: 0;
    display: block;
    width: 60px;
    height: 60px;
    background: url(/Content/web/public/images/membership/btn_CRoff.png) center center no-repeat;
    text-indent: -10000px;
}

/*예약캘린더*/
table.calTbl {
    width: 100%;
    border-top: 1px solid #ddd;
}

table.calTbl tr th {
    color: #444;
    border-bottom: 2px solid #999;
    vertical-align: middle;
    font-weight: 600;
    padding: 15px 0;
}

table.calTbl tr td {
    border-bottom: 1px solid #ddd;
    padding-right: 1px;
    height: 70px;
    vertical-align: top;
}

/*색 - 토,일*/
table.calTbl tr th:last-child, table.calTbl tr td:last-child a{
    color: #49729e;
}

table.calTbl tr th:first-child, table.calTbl tr td:first-child a{
    color: #cd2e53;
}

table.calTbl tr td a {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 18px;
    padding: 14px 0;
    font-family: var(--font);
    font-weight: 400;
}

table.calTbl tr td a span {
    display: block;
    font-size: 16px;
    color: #eee;
    margin-top: 2px;
}

table.calTbl tr td a.closed {
    background: #fff;
}

table.calTbl tr td a.reserve, table.calTbl tr td a.reserve span {
    background: var(--pub-main);
    color: #eee;
}

table.calTbl tr td a.reserveLot, table.calTbl tr td a.reserveLot span {
    background: #a7c6e6;
    color: #fff
}

table.calTbl tr td a.closed span {
    color: #999;
    font-weight: 400;
}

table.calTbl tr td a.reserved {
    display: block;
    background: #ccc4b4;
    color: #fff;
}

table.calTbl tr td a.today{
    color: #eee;
    background: var(--pub-main);
    opacity: 0.4;
}

table.calTbl tr td a.reserve:hover, table.calTbl tr td a.reserve:hover span, table.calTbl tr td a.reserveLot:hover, table.calTbl tr td a.reserveLot:hover span, table.calTbl tr td a.pick, table.calTbl tr td a.pick span, table.calTbl tr td a.reserved:hover span {
    background: var(--pub-sub);
    color: #eee !important;
}

/*예약탭*/
.selectTime{width: 100%; margin-top: 90px;}

.tabbox3 {
    display: block;
    color: #666;
    text-align: center;
    height: 60px;
    font-size: 20px;
}

.tabbox3 li {
    float: left;
    box-sizing: border-box;
    width: 20%;
    height: 60px;
    padding: 0 20px;
    line-height: 56px;
    border: 1px solid #ddd;
}

.tabbox3 li a {
    display: block;
    width: auto;
    height: auto;
    color: #999
}

.tabbox3 li.menuon {
    box-sizing: border-box;
    color: #fff;
    background: #666;
    border: 1px solid #666
}

.tabbox3 li:hover {
    box-sizing: border-box;
    color: #fff;
    background: #999;
    border: 1px solid #999
}

.tabbox3 li.menuon a, .tabbox3 li:hover a {
    color: #fff
}

/*예약영역*/
.timeInner {
    width: 100%;
    margin: 5px 0 20px;
}

.timeInner ul {
    width: 100%;
    height: 49px;
    border-top: 1px solid #ddd;
    border-bottom: 2px solid #999
}

.timeInner ul li {
    float: left;
    text-align: center;
    color: #000;
    font-size: 16px;
    line-height: 50px;
    width: 197px
}

div.scrollBox {
    height: 501px;
    overflow-y: scroll;
    width: 100%;
}

table.timeTbl {
    width: 100%;
}

table.timeTbl tr {
    border-bottom: 1px solid #ddd;
}

table.timeTbl tbody {
    overflow-y: auto;
}

table.timeTbl tbody tr:hover {
    background-color: #eee
}

table.timeTbl tr td {
    font-size: 16px;
    text-align: center;
    color: #7b7b7b;
    height: 50px;
    vertical-align: middle;
}

table.timeTbl tr th {
    border-bottom: 2px solid #ddd;
    background: #777;
    font-size: 15px;
    color: #fff;
    padding: 2px 0;
}

table.timeTbl tr td a {
    display: block;
    color: #fff;
    line-height: 30px;
    width: 60%;
    margin: 0 auto;
    background: var(--pub-sub);
    border: 1px solid var(--pub-sub);
    border-radius: 4px;
}

table.timeTbl tr td a:hover {
    color: #fff;
    background: #bbb;
    border: 1px solid #bbb;
}

table.timeTbl tr td a.BookingBtn {
    color: #fff;
    background: #a394a0;
    border: 1px solid #a394a0;
}

/*예약-탭메뉴*/
/*
.tab-box{width: 100%; display: flex; justify-content: flex-start; margin-top: 90px;}
.tab-box a{width: 240px; height: 60px; border: 1px solid #ccc; font-size: 20px; display: flex; justify-content: center; align-items: center; border-right: 0; font-weight: 400; color: #999;}
.tab-box a:last-child{border-right: 1px solid #ccc;}
.tab-box a.on{color: #fff; background: #666; border: 1px solid #666; font-weight: 500;}
*/

/*예약-스크롤*/
.reser-scroll{height: 500px; overflow-y: scroll;}


ul.commonUl01, ul.commonUl02{margin: 10px 0}
ul.commonUl01 li {position: relative; font-size: 16px; line-height: 1.5; padding-left: 20px; margin-bottom: 6px; text-align: left;}
ul.commonUl01 li::after {position: absolute; top: 9px; left: 5px; content: ''; display: block; width: 4px; height: 4px; background: #a394a0;}
ul.commonUl01 li > span{font-size: 15px; color: #999;}

.courseTxt{font-size: 20px;color: var(--pub-main); font-weight: 700;}
.dateTxt{font-size: 20px; font-weight: 700; color: var(--red2);}
.feeTxt{color: var(--red2); font-weight: 500;}

/*예약확인*/
.common-table-chk .end{color: #ccc;}
.reser-chk-btn{border: 1px solid var(--pub-sub); color: var(--pub-sub); font-weight: 400; padding: 3px 0; font-size: 16px; display: inline-block; width: 110px;}
.change-btn{color: #638cff; text-decoration: underline; font-weight: 400;}
.cancel-btn{color: #e65454; text-decoration: underline; font-weight: 400;}

/*회원탈퇴*/
h3.subTit02{
  font-size: 28px;
  height: 40px;
  font-weight: 600;
  color: #333;
  margin: 100px 0 10px;
  letter-spacing: -1px;
  vertical-align: middle;
  text-align: left;
}
div.caution h3.mark{
  padding: 5px 35px;
  background: url(/Content/web/public/images/mark.png) no-repeat left 8px;
}

/** 갤러리
===================================*/
.bx-wrapper {
  position: relative;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}
.bx-wrapper img {
  min-width: 320px;
  width: 100%;
  display: block;
}
.bxslider {
  margin: 0;
  padding: 0;
}
ul.bxslider {
  list-style: none;
}
.bx-viewport {
  -webkit-transform: translatez(0);
}
/** THEME
===================================*/
.bx-wrapper {
}
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: 30px;
  width: 100%;
}
/* PAGER */
.bx-wrapper .bx-pager {
  text-align: center;
  padding-top: 20px;
  z-index: 50;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  /*background: #fff;*/
  text-indent: -9999px;
  display: block;
  width: 16px;
  height: 16px;
  margin: 0 5px;
  outline: 0;
  border-radius: 50%;
  background-color: #fff;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #fff;
}
.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #fff;
  width: 40px;
  height: 16px;
  border-radius: 20px;
}

.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}
.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}



/*클럽소개*/
.club-bg img{
  width: 100%;
  height: 600px;
  object-fit: cover;
}
.club-text{
  text-align: left;
  color:#222;
  font-family: var(--font);
}
.club-text h1{
  font-size: 36px;
  margin: 80px 0 40px;
  font-weight: 700;
}
.club-text p{
  font-size: 20px;
  line-height: 36px;
}
.club-text p span{
  color: var(--mem-sub);
  font-weight: 600;
}

/*클럽소개 테이블*/
.club-table{
  width: 100%;
  border-top: 2px solid var(--pub-main);
  font-family: var(--font);
  font-size: 18px;
  border-bottom: 1px double #ccc;
}
.club-table tbody tr{
  border-bottom: 1px solid #eee;
}
.club-table tbody th{
  padding: 25px 0;
  color: var(--pub-main);
  font-weight: 500;
  background: #f9f9f9;
  text-align: center;
}
.club-table tbody td{
  padding: 0 40px;
  text-align: left;
}

.club-course{
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 27px;
}
.club-course .box{
  width: 588px;
  position: relative;
}
.club-course .box img{
  width: 100%;
}
.club-course .box h1{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #f9f9f9;
  font-size: 36px;
  font-weight: 700;
  line-height: 42px;
}
.club-course .box h1 span{
  display: block;
  font-size: 30px;
  font-weight: 400;
}

.map-guide{
  border-bottom: 1px solid #ccc;
  padding: 24px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.map-guide .guide1{
  display: flex;
  align-items: center;
  gap: 26px;
  justify-content: center;
}
.guide1 li{
  display: flex;
  align-items: center;
  gap: 16px;
}
.guide1 li p{
  width: 47px;
  height: 47px;
  display: inline-block;
  background: var(--pub-main);
  border-radius: 50%;
  position: relative;
}
.guide1 li p img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.guide1 li h3{
  text-align: left;
  font-weight: 500;
  font-size: 18px;
}
.guide1 li h3 span{
  display: block;
  font-size: 14px;
  color: var(--pub-main);
  font-weight: 700;
  margin-bottom: 4px;
}
.quick-map{
  font-size: 16px;
  font-weight: 500;
  color: #231f20;
  text-decoration: underline;
}

/*오시는길 테이블*/
.table-tit-color{
  font-size: 24px;
  font-weight: 700;
  color: var(--pub-main);
  margin-bottom: 24px;
  text-align: left;
}
.club-table-map{
  width: 100%;
  border-top: 2px solid var(--pub-main);
  border-bottom: 1px double #ccc;
  font-size: 18px;
  color: #222;
}
.club-table-map thead th{
  background: #f9f9f9;
  text-align: center;
  padding: 16px 0 13px;
  border-right: 1px solid #eee;
}
.club-table-map thead th:last-child{
  border-right: 0;
}
.club-table-map tbody th{
  color: var(--pub-main);
  font-weight: 700;
  text-align: center;
  padding: 22px 0;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.club-table-map tbody td{
  text-align: left;
  padding: 0 40px;
  border-bottom: 1px solid #eee;
}

/*코스안내*/
.club-text-samll{
  text-align: left;
}
.club-text-samll h2{
  font-size: 26px;
  font-weight: 700;
  line-height: 40px;
  padding: 32px 0 24px;
}
.club-text-samll h2 span{
  color: var(--pub-main);
  font-weight: 700;
}
.club-text-samll p{
  font-size: 18px;
  line-height: 32px;
}
.club-text-samll p span{
  color: var(--pub-main);
  font-weight: 700;
}
.course-all{
  width: 100%;
  margin: 64px 0 80px;
}

/*이용안내*/
.tit-small{
  font-size: 30px;
  color: #222;
  font-weight: 700;
  text-align: left;
}
.guide-list{
  line-height: 30px;
}
.guide-list li{
  position: relative;
  text-align: left;
  padding-left: 20px;
}
.slim li{
  font-weight: 400 !important;
}
.guide-list li::before{
  content: '';
  position: absolute;
  left: 0;
  top: 13px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #666;
}
.bg-gray .guide-list{
  background: #f9f9f9;
  padding: 32px 60px;
}
.bg-gray .guide-list li{
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 24px;
}
.bg-gray .guide-list li:last-child{
  margin-bottom: 0;
}

.common-box{
  margin-top: 80px;
}
/*이용안내 테이블*/
.common-table-guide{
  border-top: 2px solid var(--pub-main);
  width: 100%;
  border-bottom: 1px double #ccc;
}
.common-table-guide thead th{
  background: #f9f9f9;
  font-size: 18px;
  padding: 13px 0 16px;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
  font-family: var(--font);
}
.common-table-guide thead th:last-child{border-right: 0;}
.common-table-guide tbody th{
  background: #f9f9f9;
  vertical-align: middle;
  padding: 20px 0;
  border-bottom: 1px solid #eee;
  font-family: var(--font);
}
.common-table-guide tbody td{
  vertical-align: middle;
  border-bottom: 1px solid #eee;
  border-right: 1px solid #eee;
  padding: 20px 40px;
  font-family: var(--font);
}
.common-table-guide tbody td:last-child{border-right: 0;}

.common-table-guide tbody td a{
  text-decoration: underline;
  color: var(--pub-main);
  font-weight: 400;
  display: block;
}
.pd0 tbody td{
  padding: 22px 0 !important;
}

.imp{
  color: var(--main);
  font-weight: 800;
}
.table-sub-text{margin-top: 16px;}
.table-sub-text li{color: #666; text-align: left; margin-bottom: 10px;}
.table-sub-text li:last-child{margin-bottom: 0;}

.terms-tab{
  display: flex;
  justify-content: center;
  gap: 13px;
}
.terms-tab a{
  border: 1px solid #999;
  color: #999;
  font-size: 18px;
  width: 230px;
  padding: 12px 0;
}
.terms-tab a.on{
  border: 2px solid var(--pub-main);
  color: var(--pub-main);
  font-weight: 700;
}

/*약관*/
.scroll-box{
  height: 740px;
  width: 100%;
  background: #f9f9f9;
  padding: 30px 24px;
  text-align: left;
  margin-top: 64px;
}
.scroll-box .terms{
  white-space: pre-line;
  overflow-y: scroll;
  height: 100%;
  padding-right: 16px;
}
.scroll-box .terms h1{
  font-size: 18px;
  font-weight: 700;
}
.scroll-box .terms span{
  font-weight: 700;
}

/*다운로드 버튼*/
.terms-down{
  display: flex;
  justify-content: center;
  gap: 24px;
  font-size: 18px;
}
.terms-down a{
  display: block;
  width: auto;
  border: 1px solid #999;
  padding: 10px 24px;
  color: #222;
}

/*약관 테이블*/
.terms-table{
  width: 85%;
  border-top: 1px solid #222;
  text-align: center;
  border-bottom: 1px double #ccc;
  margin: 16px 0;
}
.terms-table tbody th{
  background: #eee;
  border-right: 1px solid #e9e9e9;
  color: #222;
  padding: 10px 0;
}
.terms-table tbody th:last-child{
  border-right: 0;
}
.terms-table tbody td{
  color: #666;
  border-right: 1px solid #e9e9e9;
  border-bottom: 1px solid #eee;
  padding: 10px 0;
}
.terms-table tbody td:last-child{
  border-right: 0;
}

/*기타다운로드*/
.common-table-down{
  margin-top: 211px;
  border-top: 2px solid var(--pub-main);
  border-bottom: 1px double #ccc;
}
.common-table-down tbody td{
  border-bottom: 1px solid #eee;
  border-right: 1px solid #eee;
  padding: 21px 0;
  vertical-align: middle;
}
.common-table-down tbody td:last-child{
  borer-right: 0;
}
.common-table-down tbody td a{
  display: block;
  text-decoration: underline;
  color: var(--pub-main);
  font-family: var(--font);
  padding: 3px 0;
}

/*시설안내*/
.facil-area img{
  width: 100%;
}
.facil-big-tit{
  margin: 45px 0 96px;
  font-size: 26px;
  color: #222;
  font-weight: 700;
}
.facil-big-tit span{
  color: var(--mem-sub);
  font-weight: 700;
}

.facil-img{
  display: flex;
  gap: 56px;
  align-items: center;
  text-align: left;
  margin-bottom: 80px;
}
.facil-img:last-child{margin-bottom: 0;}
.facil-img img{
  width: 695px;
  object-fit: cover;
  height: 360px;
}
.f-left{
  justify-content: flex-start;
}
.f-right{
  justify-content: flex-end;
}

.facil-text{position: relative;}
.facil-text::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 44px;
  height: 2px;
  background: #999;
}
.facil-text h2{
  margin: 40px 0 32px;
  font-size: 26px;
  color: #222;
  font-weight: 700;
  line-height: 40px;
}
.facil-text p{
  font-size: 18px;
  line-height: 32px;
}

.facil-img-half{
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 48px;
}
.facil-img-half img{
  width: calc(100% / 2);
  height: 313px;
  object-fit: cover;
}

/*코스공략도*/
/*코스탭*/
.course-tab{
  display: flex;
  justify-content: center;
  gap: 27px;
  z-index: 0;
  position: relative;
}
.course-tab a{
  width: calc(100% / 2);
  height: 96px;
  position: relative;
  display: block;
}
.course-tab a::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(34, 34, 34, 0.6);
  z-index: 1;
}
.course-tab a img{
  width: 100%;
  object-fit: cover;
}
.course-tab a h1{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #f9f9f9;
  font-size: 28px;
  width: 100%;
}
.course-tab a h1 span{
  font-weight: 700;
}

/*코스탭 활성화 상태일때*/
.course-tab a.on::before{
  background: rgba(99, 87, 163, 0.6);
  box-shadow: 0 0 0 6px var(--mem-main) inset;
}
.course-tab a.on h1{
  z-index: 2;
}

/*코스컨텐츠*/
.course-gray-bg{
  width: 100%;
  background: #f8f8f8;
  padding: 56px 96px;
  margin-top: 40px;
}
/*홀탭*/
.hole-tab{
  display: flex;
  justify-content: center;
}
.hole-tab a{
  border: 1px solid #999;
  width: 112px;
  display: block;
  padding: 12px 0;
  font-size: 18px;
  color: #999;
  font-family: var(--font);
  font-weight: 400;
}
.hole-tab li.on a{
  background: var(--pub-main);
  font-weight: 700;
  color: #fff;
  border: 1px solid var(--pub-main);
}

.courseCon .hole{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 92px;
  text-align: left;
  font-family: var(--font);
}

.hole-text{width: 40%;}
.hole-text .course-tit{
  display: block;
  letter-spacing: 6.4px;
  text-transform: uppercase;
  margin-bottom: 16px;
  color: #999;
}
.hole-text h1{
  font-size: 24px;
  color: var(--pub-main);
  font-weight: 700;
}
.hole-text h1 span{
  color: #231f20;
  font-size: 64px;
  font-weight: 700;
  margin-right: 16px;
}
.hole-text p{
  width: 90%;
  color: #231f20;
  font-size: 17px;
  line-height: 32px;
}

.h-info-table{
  margin: 24px 0 40px;
  width: 100%;
  border-top: 1px solid #686868;
  text-align: center;
}
.h-info-table tbody th{
  border-bottom:1px solid #686868;
  padding: 15px 0 16px;
  font-family: var(--font);
}
.h-info-table tbody th .blue{ color: #1331c5;}
.h-info-table tbody th .white{ color: #666;}
.h-info-table tbody th .red{ color: #de1a1a !important;}

.h-info-table tbody th span{
  font-weight: 700;
  text-transform: uppercase;
}
.h-info-table tbody td{
  border-bottom:1px solid #686868;
  padding: 15px 0;
  font-size: 18px;
  font-family: var(--font);
}

.hole .hole-img{
  width: 512px;
  text-align: center;
}
.hole-img img{
  width: 333px;
  object-fit: cover;
  mix-blend-mode: multiply;
}
.hole-img .test{
  font-size: 18px;
  color: #999;
}

/*나의이용내역*/
.date-search{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 4px;
    width: 100%;
}
.date-search .date input{
    width: 120px;
    height: 36px;
    padding: 0 10px;
    font-size: 16px;
    text-align: center;
}
.date-search .btn a{font-size: 16px; display: block; border: 1px solid var(--pub-main); color: var(--pub-main); font-weight: 600; width: 75px; height: 36px; line-height: 36px; margin-left: 4px;}

/*코스소개 동영상 추가*/
.video-wrap{
  width: 100%;
  border-top: 1px solid #eee;
  padding: 64px 0 30px;
  margin-top: 80px;
}
.video-wrap video{width: 100%;}