@charset "UTF-8";
@font-face {
  font-family: 'GangwonEduPowerExtraBold';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2201-2@1.0/GangwonEduPowerExtraBoldA.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
html,
:root {
  --white: #fff;
  --gray-pale: #f6f7f9;
  --gray-lightest: #f3f4f5;
  --gray-border: #e1e6e9;
  --gray-light: #9ea3ab;
  --gray-lighter: #b8bbc1;
  --gray-mid: #6f737a;
  --gray-dark: #252d3a;
  --black: #000;
  --yellow: #fdd000;
  --yellow-deep: #efb300;
  --orange: #ff7900;
  --green: #009944;
  --blue: #1b44a3;
  --sale: #fe5f57;
  --red-color: #fe5f57;
  --red: #fe5f57;
  --red-deep: #c30a00;
  --green-color: #009944;
  --main-color: #036eb8;
  --main-light: #1da3ec;
  --hotpink: #ff368d;
  --main-deep: rgb(0, 23, 92);
  --mint-blue: #00c2d5;
  --mint-deep: #009fae;
  --main-gra: linear-gradient(to left, var(--main-light), var(--main-color));
  --main-gra-rev: linear-gradient(to right, var(--main-light), var(--main-color));
  --width: 1200px;
  --padding: 24px;
  --input-rect: 18px;
  --cell-h: 60px;
  --font-size: 14px;
  --top-h: 80px;
  --map-color: #f6f7f9;
  --won: '₩';
  --input-h: 60px;
  --ui-input: 36px;
  --input-rect: 20px;
  --color-size: calc(100% / 12);
  --safe-top: calc(env(safe-area-inset-top) - 10px);
  --safe-bottom: calc(env(safe-area-inset-bottom) - 10px);
  --btn-h: 60px;
}
/*공통*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  letter-spacing: -0.03em;
  -webkit-overflow-scrolling: touch;
  font-family: -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Pretendard', Pretendard, Roboto, 'Noto Sans KR', 'Segoe UI', 'Malgun Gothic', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
}
img {
  border: none;
  vertical-align: top;
  max-width: 100%;
}
html,
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Pretendard', Pretendard, Roboto, 'Noto Sans KR', 'Segoe UI', 'Malgun Gothic', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
  height: 100%;
  color: var(--gray-dark);
  font-size: 16px;
}
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-size: 16px;
}
span {
  font-size: inherit;
}
li {
  list-style: none;
  margin: 0;
  padding: 0;
}
a {
  color: inherit;
  text-decoration: none;
  transition: 0.4s;
  font-size: inherit;
}
textarea {
  border: 1px solid #ddd;
  width: 100%;
  height: 6em;
  padding: 15px;
  font-size: 1em;
}
*::placeholder {
  color: var(--gray-light);
}
input:focus,
select:focus,
textarea:focus {
  outline: 0;
  border: 1px solid var(--main-color);
}
input[type='text'],
input[type='password'],
input[type='number'],
input[type='tel'] {
  height: var(--input-h);
  border: 1px solid var(--gray-border);
  padding: 0 15px;
  border-radius: 6px;
  width: 100%;
  font-size: 1em;
}
.button {
  height: var(--input-h);
  border: 1px solid var(--gray-border);
  padding: 0 15px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
  font-size: 1em;
  font-weight: bold;
}
.button:hover {
  background-color: var(--main-color);
  border-color: var(--main-color);
  color: #fff;
}
.inputs :where(input[type='text'], input[type='password'], input[type='number'], input[type='tel']) {
  width: auto !important;
  flex-grow: 1;
}

.modal-inc {
  display: none;
}

h1 {
  font-size: 2.2em;
}
h2 {
  font-size: 2em;
}
h3 {
  font-size: 1.5em;
}
h4 {
  font-size: 1.15em;
}
h5 {
  font-size: 1em;
}
h6 {
  font-size: 0.9em;
}
.material-symbols-sharp,
.material-symbols-outlined,
.material-symbols-rounded {
  /* font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0; */
  font-size: inherit;
}
.material-symbols-sharp.fill,
.material-symbols-outlined.fill,
.material-symbols-rounded.fill {
  font-variation-settings: 'FILL' 1;
}
.bg-red {
  background-color: var(--red-color) !important;
  border-color: var(--red-color) !important;
  color: #fff !important;
}
.bg-red-deep {
  background-color: var(--red-deep) !important;
  border-color: var(--red-deep) !important;
  color: #fff !important;
}
.bg-blue {
  background-color: var(--blue) !important;
  border-color: var(--blue) !important;
  color: #fff !important;
}
.bg-mint {
  background-color: var(--mint-blue) !important;
  border-color: var(--mint-blue) !important;
  color: #fff !important;
}
.bg-green {
  background-color: var(--green-color) !important;
  border-color: var(--green-color) !important;
  color: #fff !important;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mt0 {
  margin-top: 0 !important;
}
.pb0 {
  padding-bottom: 0 !important;
}
.pt0 {
  padding-top: 0 !important;
}
.impo {
  color: var(--main-color) !important;
}
.bk {
  color: var(--gray-dark);
}
.impo-light {
  color: var(--main-light) !important;
}
:root .xi-rotate-90,
:root .xi-rotate-180,
:root .xi-rotate-270,
:root .xi-flip-horizontal,
:root .xi-flip-vertical {
  display: inline-block;
}
.red {
  color: var(--red-color) !important;
}
.mint {
  color: var(--mint-blue);
}
.orange {
  color: var(--orange);
}
.green {
  color: var(--green);
}
.yellow {
  color: var(--yellow);
}
.red {
  color: var(--red);
}
.gray-light {
  color: var(--gray-light);
}
.text-center {
  text-align: center;
}
.normal {
  font-weight: normal;
}
.flex {
  display: flex;
}
.sect.flex {
  gap: 40px;
}

.sect.flex > div {
  width: calc(50% - 20px);
}
.sect.flex > div .overview.small {
  gap: 40px;
  row-gap: 20px;
}
.flex.between {
  justify-content: space-between;
}
.option.color-var {
  display: flex;
  gap: 12px;
  font-size: 0.8em;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  flex-grow: 0;
}
.option.color-var .facilities,
.option.color-var .legend {
  display: flex;
  gap: 20px;
  flex-grow: 0;
}
.option.color-var .legend {
  margin: 0 10px;
}
.option.color-var p {
  display: flex;
  align-items: center;
  gap: 5px;
  text-align: left;
  flex-shrink: 0;
  color: inherit;
  white-space: pre;
}
.option.color-var p span {
  margin-right: 0;
}
.option.color-var p span.material-symbols-sharp {
  color: inherit;
  font-size: 1.2em;
  width: 16px;
  height: 16px;
  border-radius: 3px;
  display: block;
  align-items: center;
  justify-content: center;
  font-variation-settings: 'FILL' 0, 'wght' 200, 'GRAD' 0, 'opsz' 24;
}
.option.color-var p img {
  width: auto;
  height: 16px;
}
.color-var p span {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 5px;
}
.color-var p.able span {
  background-color: #fff;
  border: 1px solid var(--main-color);
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  margin-left: 0;
}
.color-var p.warn span {
  background-color: orange;
  margin-left: 0;
}
.color-var p.unable span {
  background-color: var(--gray-pale);
  border: 2px dotted var(--gray-border);
}
.color-var p.unable {
  color: var(--gray-light);
}
.color-var p.able {
  color: var(--main-color);
}
.color-var p.selected span {
  background-color: var(--main-color);
}
.color-var p.selected {
  color: var(--main-color);
}
.color-var p.reserved span {
  border: 2px dotted var(--gray-dark);
}
.color-var p.reserved {
}
.color-var p.using span {
  background-color: var(--blue);
}
.color-var p.regular span {
  background-color: var(--Main);
}
.color-var p.outdate span {
  background-color: var(--red-color);
}
.color-var.font p {
  font-weight: bold;
}
.color-var.font p.regular {
  color: var(--Main);
}
.color-var.font p.able {
  color: #000;
}
.color-var.font p.warn {
  color: orange;
}
.color-var.font p.unable {
  color: var(--gray-light);
}
.color-var.font p.using {
  color: var(--blue);
}
.color-var.font p.outdate {
  color: var(--red-color);
}
.flex > div {
  flex-grow: 1;
}
select {
  padding: 0 30px 0 15px;
  -webkit-appearance: none;
  background: url(../images/icon/select.svg) no-repeat center right 15px;
  height: var(--input-h);
  border: 1px solid var(--gray-border);
  border-radius: 6px;
  width: 100%;
  font-size: 1em;
  color: inherit;
}
select.focus {
  background: #fff;
}
select.focus option {
  padding: 5px 0;
}
textarea {
  border-radius: 6px;
}
input[type='button'] {
  -webkit-appearance: none;
  border: 1px solid var(--gray-dark);
  text-align: center;
  color: var(--gray-dark);
  border-radius: 6px;
  background-color: #fff;
  height: var(--input-h);
  padding: 0 10px;
}
input {
  -webkit-appearance: none;
}
input[type='checkbox'] {
  display: none;
}
input[type='checkbox'] + label {
  cursor: pointer;
  position: relative;
  line-height: var(--input-rect);
  overflow: hidden;
  overscroll-behavior: none;
}
label + input[type='checkbox'] + label:before {
  margin-left: 15px;
  content: '';
  display: inline-block;
}
input[type='checkbox'] + label:before {
  content: '';
  display: inline-block;
  width: var(--input-rect);
  height: var(--input-rect);
  line-height: var(--input-rect);
  vertical-align: middle;
  background-color: transparent;
  border-radius: 3px;
  border: 1px solid var(--gray-border);
  box-sizing: border-box;
  margin-right: 5px;
  background-color: #fff;
  overflow: hidden;
}
input[type='checkbox']:checked + label:before {
  background: url(/camping/images/icon/checked.svg) no-repeat center;
  background-size: auto 40%;
  border: none;
  transition: 0.4s;
  background-color: var(--main-color);
}
/*disabled*/
input[type='checkbox']:disabled + label:before,
input[type='radio']:disabled + label:before {
  background-color: var(--gray-pale);
}
input[type='checkbox']:disabled + label:after,
input[type='radio']:disabled + label:after {
  content: '';
  display: block;
  width: 22px;
  height: 1px;
  background-color: var(--gray-border);
  transform-origin: center center;
  transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  left: -2px;
}
input[type='radio']:disabled + label:after {
  width: 18px;
  left: 0;
}
.ui-datepicker {
  z-index: 20 !important;
}
.datepicker,
.datepicker-all,
.date-time-pick input,
.week-time-pick input,
.date-range-pick input,
.time-range-pick input {
  background: url(../images/icon/calendar.svg) no-repeat right 16px center;
  background-size: auto 18px;
}
.swiper-pagination-progres:only-child {
  visibility: hidden;
  display: none;
  margin-top: 12px;
}
.swiper-pagination-progressbar {
  bottom: 0;
  width: 100%;
  height: 6px;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: xeicon;
  color: #fff;
  pointer-events: all;
  z-index: 10;
  font-size: 3em;
}
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
  content: '\e940';
}
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
  content: '\e93d';
}
.co-name:before {
  content: '여주';
}

.global_btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
}
.inputs {
  display: flex;
  gap: 0.5em;
  align-items: center;
}
/* 마우스 스크롤 */
@keyframes ani-mouse {
  0% {
    opacity: 1;
    top: 29%;
  }
  15% {
    opacity: 1;
    top: 50%;
  }
  50% {
    opacity: 0;
    top: 50%;
  }
  100% {
    opacity: 0;
    top: 29%;
  }
}
.scroll-btn {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  bottom: 20px;
  z-index: 10;
  margin: auto;
  pointer-events: none;
}
.pause-play-state {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 13;
  font-size: 1.5em;
  display: flex;
}
.pause-play-state a {
  padding: 10px;
  display: block;
  overflow: hidden;
  transition: 0s;
}
.pause-play-state.play a.play {
  width: 0;
  padding: 10px 0;
}
.pause-play-state.pause a.pause {
  width: 0;
  padding: 10px 0;
}
.scroll-btn > * {
  display: inline-block;
  line-height: 18px;
  font-size: 11px;
  font-weight: normal;
  color: #7f8c8d;
  color: #ffffff;
  font-family: 'proxima-nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: 2px;
}
.scroll-btn > *:hover,
.scroll-btn > *:focus,
.scroll-btn > *.active {
  color: #ffffff;
}
.scroll-btn > *:hover,
.scroll-btn > *:focus,
.scroll-btn > *:active,
.scroll-btn > *.active {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.scroll-btn .mouse {
  position: relative;
  display: block;
  width: 35px;
  height: 55px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 3px solid white;
  border-radius: 23px;
  transform: scale(0.6);
}
.scroll-btn .mouse > * {
  position: absolute;
  display: block;
  top: 29%;
  left: 50%;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  background: white;
  border-radius: 50%;
  -webkit-animation: ani-mouse 1.5s linear infinite;
  -moz-animation: ani-mouse 1.5s linear infinite;
  animation: ani-mouse 1.5s linear infinite;
}
/*라디오*/
input[type='radio'] {
  display: none;
}
input[type='radio'] + label {
  cursor: pointer;
  position: relative;
  line-height: var(--input-rect);
  box-sizing: border-box;
}
input[type='radio']:disabled + label,
input[type='checkbox']:disabled + label {
  color: var(--gray-border);
}
input[type='radio'] + label:before {
  content: '';
  display: inline-block;
  width: var(--input-rect);
  height: var(--input-rect);
  line-height: var(--input-rect);
  vertical-align: middle;
  background-color: transparent;
  border-radius: 50%;
  margin-right: 5px;
  border: 1px solid var(--gray-border);
  box-sizing: border-box;
  background-color: #fff;
}
input[type='radio']:checked + label:before {
  border: 5px solid var(--main-color);
  transition: 0.2s;
  box-sizing: border-box;
  background-color: #fff;
}
input + label {
  margin-right: 20px;
}
/*토글스위치*/
.switch {
  display: inline-block;
  width: 40px;
  height: 8px;
  position: relative;
}
.switch:before {
  display: block;
  width: 40px;
  height: 8px;
  opacity: 0.3;
  background-color: var(--main-color);
  border-radius: 8px;
  position: relative;
  transition: 0.2s;
  content: '';
  display: block;
}
.switch:after {
  position: absolute;
  width: var(--input-rect);
  height: var(--input-rect);
  left: 0;
  top: -6px;
  content: '';
  display: block;
  background-color: var(--main-color);
  border-radius: 50%;
  transition: 0.2s;
  bottom: 0;
}
.switch.on:before,
.switch.on:after {
  background-color: #f40223;
}
.switch.on:after {
  left: var(--input-rect);
}
table {
  width: 100%;
  border-top: 1px solid var(--gray-dark);
  text-align: left;
  border-spacing: 0;
  border-collapse: collapse;
}
table thead th {
  border-bottom: 1px solid var(--gray-dark);
}
table th,
table td {
  vertical-align: top;
  padding: 20px 0;
  border-bottom: 1px solid var(--gray-border);
  line-height: 1.4;
  border-collapse: collapse;
  word-break: break-all;
}
table td {
  color: var(--gray-mid);
}
table td.align-right {
  text-align: right;
}
table td.bk p {
  color: var(--gray-dark) !important;
}
.sect p + .table {
  margin-top: 20px;
}
table tbody td + th {
  padding-left: 20px;
}
table tbody th {
  font-weight: bold;
  white-space: nowrap;
  width: 1%;
  padding-right: 40px;
}
table tr.with-dd td,
table tr.with-dd th {
  border-bottom: 0;
  padding-bottom: 0;
}
table td.dd {
  font-size: 14px;
  color: var(--gray-light);
  padding-top: 20px;
}
table td.dd a {
  font-weight: bold;
  text-decoration: underline;
}
table td.with-btn {
  padding: 14px 0;
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
table.span {
  border: 0;
}
table.span tbody tr.border-bottom td,
table.span tbody td.border-bottom {
  border-bottom: 1px solid var(--gray-border);
  padding-bottom: 20px;
}
table.span tbody tr.border-top td {
  border-top: 1px solid var(--gray-border);
  padding-top: 20px;
}
table.span tbody tr.border-bottom + tr td {
  padding-top: 20px;
}
table.span tbody tr td {
  border: 0;
  padding: 3px 10px;
  color: var(--gray-mid);
}
table.span thead tr th {
  padding-left: 10px;
  padding-right: 10px;
}
.allborder table.span tr :where(td, th),
.allborder table.span tr :where(td, th) {
  padding-left: 20px;
  padding-right: 20px;
  border-left: 1px solid var(--gray-border);
}
.allborder.price-table {
  text-align: center;
}
.allborder.price-table thead th {
  border-left: 1px solid var(--gray-border);
  border-bottom: 1px solid var(--gray-border);
  text-align: center;
  border-top: 0 none;
  vertical-align: middle;
}
.allborder.price-table thead th p {
  color: var(--gray-dark);
}
.allborder.price-table thead:has(tr:nth-child(2)) th {
  padding-top: 15px;
  padding-bottom: 15px;
}
.allborder.price-table tbody td {
  border: 1px solid var(--gray-border);
  text-align: center;
  padding: 15px;
  vertical-align: middle;
  color: var(--gray-dark);
}
.allborder.price-table tbody .ext td {
  font-size: 0.9em;
  color: var(--gray-mid);
}
.table:not(.allborder) table.span thead tr th:first-child {
  padding-left: 0;
}
.table.course-table + .table.course-table {
  margin-top: 10px;
}
.table.course-table table td,
.table.course-table table th {
  padding: 12px 12px;
}
.table.course-table table.sect01 tr th.title {
  background-color: var(--type1);
  color: #fff;
  border-color: var(--type1);
}
.table.course-table table.sect02 tr th.title {
  background-color: var(--type2);
  color: #fff;
  border-color: var(--type2);
}
.table.course-table table.sect03 tr th.title {
  background-color: var(--type3);
  color: #fff;
  border-color: var(--type3);
}
.table.course-table table.sect04 tr th.title {
  background-color: var(--type4);
  color: #fff;
  border-color: var(--type4);
}
.table.course-table table.sect01 th {
  color: var(--type1);
}
.table.course-table table.sect02 th {
  color: var(--type2);
}
.table.course-table table.sect03 th {
  color: var(--type3);
}
.table.course-table table.sect04 th {
  color: var(--type4);
}

table tbody tr td.bk {
  color: var(--gray-dark);
}
table.span tbody {
  border-bottom: 1px solid var(--gray-border);
}
table.span thead th {
  padding: 20px 10px 20px 0;
  border-top: 1px solid var(--gray-dark);
}
table.span tbody tr:first-child td {
  padding-top: 20px;
}
table.span tbody tr:last-child td {
  padding-bottom: 20px;
}
table td table {
  border: 1px solid var(--gray-border);
  border-collapse: collapse;
  font-size: 0.9em;
}
table td table th,
table td table td {
  padding: 15px;
  border: 1px solid var(--gray-border);
  vertical-align: middle;
  text-align: center;
}
table td table th.bk {
  color: var(--gray-dark);
}
table td p.ext,
table td.bk p.ext {
  font-size: 0.85em;
  color: var(--gray-mid) !important;
}
table td h5 + table {
  margin-top: 16px;
}
table td table th {
  background-color: var(--gray-pale);
}

.allborder {
  border: 1px solid var(--gray-border);
  border-radius: 6px;
  overflow: hidden;
}
table.allborder {
  border-radius: 0;
}
.allborder table {
  border-collapse: collapse;
  border: 0;
  margin: 0;
  width: calc(100% + 2px);
}
.allborder table td,
.allborder table th {
  border-top: 1px solid var(--gray-border);
  border-bottom: 0;
  border-left: 1px solid var(--gray-border);
  padding: 20px;
  line-height: 1.2;
}
.allborder thead + tbody tr:first-child :where(td, th) {
  border-top: 1px solid var(--gray-border);
}
.allborder tbody tr:first-child :where(td, th) {
  border-top: 0;
}
.allborder table td:first-child,
.allborder table th:first-child {
  border-left: 0;
  border-right: 1px solid var(--gray-border);
}
.allborder table thead th {
  border-top: 0;
  border-bottom: 0;
}
.allborder table th {
  background-color: var(--gray-pale);
}
.head + .list.horizon {
  margin-top: 30px;
}
.table.radius {
  border-radius: 8px;
  border: 1px solid var(--gray-border);
}
.list .full-split .info .head + .table {
  margin-top: -20px;
}
span.impo,
strong.impo,
.impo {
  color: var(--main-color);
}
.select {
  position: absolute;
  width: 100%;
  left: 0;
  top: calc(-1 * var(--top-h));
  background-color: #fff;
  z-index: 20;
  border: 1px solid var(--gray-dark);
  border-radius: 10px;
}
.sect h3 + .table {
  margin-top: 5px;
}
.table.notice {
  border-radius: 8px;
  border: 1px solid var(--gray-border);
  overflow: hidden;
}
.table.notice table {
  border: 0;
}
.table.notice table thead th {
  border-color: var(--gray-border);
  background-color: var(--gray-pale);
}
.table.notice table th,
.table.notice table td {
  padding: 15px;
}
.table.notice table tbody th,
.table.notice table tbody td {
  font-size: 0.9em;
}
.table.notice table tbody td {
  color: var(--gray-mid);
}
.table.notice table tbody td:first-child {
  border: 0;
}
.table.notice table tbody td,
.table.notice table thead th + th {
  border-left: 1px solid var(--gray-border);
}
.select li {
  padding: 10px 20px;
  cursor: pointer;
  font-size: 0.8em;
}
.inputs {
  display: flex;
  flex-wrap: wrap;
}
.inputs.nowrap {
  flex-wrap: nowrap;
  gap: 10px;
  align-items: center;
}
.inputs.between {
  justify-content: space-between;
}
.inputs.nowrap.right {
  justify-content: flex-end;
}
.inputs.full > input,
.inputs.full > select {
  flex-grow: 1;
  flex-shrink: 1;
}
.form table td {
  padding-top: 7px;
  padding-bottom: 7px;
  padding-right: 0;
}
.form .inputs + .inputs {
  margin-top: 6px;
}
.form table td.price {
  vertical-align: bottom;
  padding-bottom: 15px;
}
.form table td .inputs input[type='checkbox'] + label,
.form table td .inputs input[type='radio'] + label {
  line-height: var(--input-h);
  height: var(--input-h);
}
.form table td .inputs input[type='checkbox'] + label:before,
.form table td .inputs input[type='radio'] + label:before {
  line-height: var(--input-h);
}
.form table td.price {
  padding-top: 15px;
}
p.noti {
  font-size: 14px;
  color: var(--gray-light) !important;
  margin-top: 20px;
}
p.noti a {
  color: var(--gray-dark);
  text-decoration: underline;
} /* 탭 */
.tabs + .article {
  margin-top: 20px;
}
.tabs {
  display: flex;
  align-items: center;
  margin: 0 auto;
  width: var(--width);
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  margin-top: -10px;
}
.tabs::-webkit-scrollbar {
  display: none;
}
.tabs a {
  font-size: 1.5em;
  font-weight: bold;
  color: var(--gray-light);
  margin-right: 30px;
  position: relative;
  transition: 0.2s;
  padding-top: 10px;
  height: var(--Tab-h);
}
.tabs a:hover {
  color: var(--gray-dark);
}
.tabs a.active {
  color: var(--gray-dark);
}
.tabs a::after {
  content: '';
  border-top: 8px solid var(--main-color);
  opacity: 0.7;
  display: block;
  margin-top: -10px;
  z-index: 0;
  position: relative;
  mix-blend-mode: multiply;
  width: 0;
  transition: 0.5s;
}
.tabs a.active::after {
  width: 100%;
}
.sub {
  --Tab-h: 60px;
}
.sub-detail:has(.ui-sect) .notice-area {
  margin-bottom: 20px;
}
.sub-detail:has(.notification.card) .notice-area {
  margin-bottom: 12px;
}
.sub-detail:has(.auth-banner) .notice-area {
  margin-bottom: 10px;
}
.sect.split {
  display: flex;
}
.sect.split > div.w40 {
  width: 40%;
}
.sect.split > div.w50 {
  width: 50%;
}
.sect.split > div.w60 {
  width: 60%;
}
.ui-sect.no-border {
  padding: 0;
  border: 0;
}
.ui-sect.seper {
  border: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ui-sect.seper > .sect {
  border: 1px solid var(--gray-border);
  border-radius: 8px;
}
.ui-sect.seper .sect > div.calendar .calendar-in {
  border-bottom: 0;
}

.full .ui-sect.no-border {
  position: relative;
  /* padding-bottom: 40px; */
}

/* .full .ui-sect.no-border::after {
  content: '';
  position: absolute;
  width: 200vw;
  height: 1px;
  background-color: var(--gray-dark);
  transform: scaleY(1);
  left: -100%;
  bottom: 0;
  opacity: 0.2;
} */
.ui-sect.no-border .sect .head {
  padding: var(--padding) 0 0;
}
.ui-sect.no-border .sect .head + div,
.ui-sect.no-border .sect .head + ul {
  padding: 0;
}
.ui-sect + .sect {
  margin-top: 50px;
}
.ui-sect {
  border: 1px solid var(--gray-border);
  border-radius: 8px;
  overflow: hidden;
}
.ui-sect.no-border {
  overflow: visible;
}
.ui-sect .sect {
  margin-bottom: 0;
}
.ui-sect .sect .select-item,
.ui-sect .sect .input-ui {
  margin-bottom: var(--padding);
}
.ui-sect:not(.seper) .sect + .sect:not(.sight) {
  border-top: 1px solid var(--gray-border);
  padding: var(--padding) 0;
}
.ui-sect:not(.seper) .sect + .sect.date {
  padding-bottom: 0;
  padding-top: 0;
}
.ui-sect .sect .select-item .on {
  background-color: var(--main-color);
  border-color: var(--main-color);
  color: #fff;
}
.ui-sect .sect .select-item > li.on::before {
	color: var(--main-color);
}
.ui-sect .sect .select-item .on .big,
.ui-sect .sect .select-item > li.on::before,
.ui-sect .sect .select-item > li.on p {
  color: #fff;
}
.ui-sect .sect .select-item > li.on p {
  opacity: 0.7;
}
.ui-sect .sect + .sect:has(.head) {
  padding-top: 0;
}
.ui-sect:not(.seper) .sect + .sect:last-child {
  border-bottom: 0;
}
.ui-sect .sect:last-of-type:has(.map-picker) {
  margin-bottom: 0;
}
.ui-sect .sect > div.calendar {
  padding: 0;
}
.ui-sect.no-border .sect .map-area .map > img {
  border-radius: 6px;
  overflow: hidden;
}
.ui-sect .sect > div.calendar .calendar-in {
  border-radius: 0;
  border: 0;
  border-top: 1px solid var(--gray-border);
  border-bottom: 1px solid var(--gray-border);
}
.ui-sect .sect:only-child > div.calendar .calendar-in {
  border-bottom: 0;
}
.ui-sect.no-border .sect > div.calendar .calendar-in {
  border: 1px solid var(--gray-border);
  border-radius: 8px;
}
.ui-sect .sect.sight .map {
  transform: scale(0.83);
}
.sect .select-item li.on {
  background-color: rgb(0, 0, 0, 0.05);
  color: var(--gray-dark);
  border-color: var(--gray-border);
}
.sect .select-item > li.on::before {
  color: var(--main-color);
}
.sect .select-item li.on .big,
.sect .select-item li.on .big + span {
  color: var(--main-color);
}
.ui-sect .sect .head + div,
.ui-sect .sect .head + ul {
  margin-top: var(--padding);
}
.ui-sect .sect > ul.select-item,
.ui-sect .sect > .input-ui {
  padding: 0 var(--padding);
}
.ui-sect .sect > .input-ui {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ui-sect .select-item > li {
  flex-grow: 0;
  min-width: 15%;
  line-height: 1;
  border-radius: 6px;
}
.ui-sect .select-item.vertical > li {
  gap: 8px;
}
.ui-sect .sect > div.head {
  padding: var(--padding) var(--padding) 0;
  margin: 0;
}
.ui-sect .sect.sight {
  margin-top: 0;
  padding: 0;
}
.ui-sect .sect .prices.option-item {
  display: flex;
  flex-wrap: wrap;
  padding: var(--padding) var(--padding) 0;
  --gap: 10px;
  gap: var(--gap);
  row-gap: 1em;
}
.ui-sect .sect .prices.option-item > li {
  display: flex;
  flex-direction: column;
  width: calc(25% - (var(--gap) - var(--gap) / 4));
  padding: 20px;
  border: 1px solid var(--gray-border);
  border-radius: 8px;
}
.ui-sect .sect .prices.option-item:has(> li:first-child:nth-last-child(2)) > li {
  width: calc(50% - var(--gap));
}
.ui-sect .sect .prices.option-item:has(> li:first-child:nth-last-child(3)) > li {
  width: calc(33% - (var(--gap) - var(--gap) / 3));
}
.ui-sect .sect .prices.option-item:has(> li:first-child:nth-last-child(4)) > li {
  width: calc(25% - (var(--gap) - var(--gap) / 4));
}
.ui-sect .sect .prices.option-item:has(> li:first-child:nth-last-child(5)) > li {
  width: calc(20% - (var(--gap) - var(--gap) / 5));
}
.ui-sect .sect .tab-contents .tabs {
  padding: 0 var(--padding);
  border-bottom: 0;
}
.ui-sect .sect .tab-contents .tabs a {
  flex-grow: 1;
  border-radius: 4px 4px 0 0;
  margin-bottom: 0;
  border-bottom: 1px solid var(--gray-border);
}
.ui-sect .sect .tab-contents .tabs a.active {
  /* border-top-color: var(--gray-border);
  border-left-color: var(--gray-border);
  border-right-color: var(--gray-border); */
  border-bottom-color: transparent;
}
.ui-sect .sect .prices.option-item > li .quantity {
  flex-grow: 1;
  margin-top: 15px;
  justify-content: flex-start;
}
.ui-sect .sect .prices.option-item > li .quantity input {
  width: auto;
  height: 100%;
  font-size: 1.2em;
}
.ui-sect .sect .prices.option-item > li .item-name {
  font-size: 1.2em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5em;
}
.ui-sect .sect .prices.option-item > li .item-name .price {
  font-weight: bold;
}
.ui-sect .sect.sight.notyet .map {
  transition: 0.2s;
}
.ui-sect .sect.notyet .map-area::before {
  content: '날짜를 선택하세요';
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-size: 1.2em;
  font-weight: bold;
  z-index: 10;
}
.ui-sect .sect.sight.notyet .map {
}
.ui-sect .sect:first-child {
  margin-top: 0;
}
.onestep .ui-sect .ui-sect-btns {
  display: none;
}
.ui-sect + .ui-sect {
  margin-top: var(--padding);
}
.ui-sect .ui-sect-btns {
  display: flex;
  align-items: center;
  padding: var(--padding);
  justify-content: space-between;
  border-top: 1px solid var(--gray-border);
}
.ui-sect .ui-sect-btns .select-btns {
  display: flex;
  gap: 8px;
}
.ui-sect .ui-sect-btns .select-btns a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px 24px;
  gap: 5px;
  border-radius: 6px;
  border: 1px solid var(--gray-border);
  transition: 0.2s;
}
.ui-sect .ui-sect-btns .select-btns a.notyet {
  pointer-events: none;
}
.ui-sect .ui-sect-btns .select-btns a:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
.ui-sect .ui-sect-btns .select-btns a i {
  font-size: 1.2em;
}
.ui-sect .ui-sect-btns .select-btns a.submit {
  background: var(--main-gra-rev);
  color: #fff;
  font-weight: bold;
  border-color: transparent;
  box-shadow: 0 10px 20px rgba(239, 32, 0, 0.2);
  pointer-events: all;
}
.ui-sect .ui-sect-btns .select-btns a.submit:hover {
  box-shadow: 10px 20px 30px rgba(239, 32, 0, 0.2);
}
.ui-sect .ui-sect-btns .selected-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ui-sect .ui-sect-btns .selected-info h4 {
  font-size: 0.9em;
}
.ui-sect .ui-sect-btns .selected-info h3 {
  font-size: 1.1em;
}
.ui-sect .ui-sect-btns .selected-info {
  color: var(--gray-mid);
}
.ui-sect .ui-sect-btns .selected-info h4.added {
  color: var(--gray-dark);
}
.option-added {
  display: flex;
  flex-wrap: wrap;
  color: var(--gray-mid);
  gap: 10px;
  font-size: 0.8em;
  margin-top: 4px;
  line-height: var(--padding);
}
.option-added::before {
  content: 'OPTION';
  font-size: 10px;
  border: 1px solid var(--gray-border);
  padding: 0 10px;
  font-weight: bold;
  color: var(--gray-mid);
  border-radius: 3px;
}
/*  */
.sub .contents .article .tabs {
  margin: auto;
  width: var(--width);
  background-color: #fff;
  transition: 0s;
  position: fixed;
  left: 0;
  right: 0;
  z-index: 20;
  height: var(--Tab-h);
  top: var(--top-h);
}
.sub .contents .article .tabs::after {
  content: '';
  width: 200vw;
  left: -100%;
  background-color: #fff;
  height: 100%;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}
.scrolled .sub {
  --Tab-h: 50px;
}
.sub .contents .article .tabs.select-tab {
  align-items: center;
  gap: 10px;
  margin-bottom: 0;
  margin-top: 0;
  z-index: 10;
}
.sub .contents .article .tabs.select-tab .loc {
  color: var(--gray-mid);
  flex-grow: 1;
  text-align: right;
}
.scrolled .contents .article .tabs {
  position: fixed;
  background-color: #fff;
  top: var(--top-h);
  z-index: 10;
  margin: 0 auto 0;
  left: 0;
  right: 0;
  overflow: visible;
  align-items: flex-start;
  --Tab-h: 50px;
}
.scrolled .contents .article .tabs a {
  font-size: 1.2em;
  padding-top: 8px;
  padding-bottom: 0;
}
.scrolled .contents .article .tabs a.active {
  color: var(--main-color);
  font-weight: bold;
}
.tabs.static a {
  height: 50px;
}
.scrolled .tabs a.active,
.tabs.static a.active {
  color: var(--main-color);
}
.scrolled .tabs a::after,
.tabs.static a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  border-top-width: 4px;
  border-color: var(--main-color);
  opacity: 1;
}
.scrolled .contents .article .tabs::before {
  content: '';
  position: absolute;
  height: 100%;
  display: block;
  left: -50%;
  width: 200%;
  background-color: #fff;
  z-index: -1;
}
/* 폴딩 */
.accordion {
  position: relative;
  border: 1px solid var(--gray-border);
  border-radius: 10px;
}
.accordion > li {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  overscroll-behavior: none;
  padding: 0 20px;
}
.accordion > li + li {
  border-top: 1px solid var(--gray-border);
}
.accordion > li:after {
  content: '';
  position: absolute;
  background: url(../images/icon/select.svg) no-repeat;
  width: 16px;
  height: 10px;
  top: 28px;
  right: 20px;
  transition: 0.4s;
  transform-origin: center;
  pointer-events: none;
}
.accordion > li h2 {
  font-size: 1em;
  font-weight: normal;
  line-height: var(--input-rect);
  display: flex;
  align-items: center;
}
.accordion > li h2 a {
  flex-grow: 1;
  padding: var(--padding) 0;
}
.accordion > li h2 input + label {
  margin-right: 5px;
}
.accordion > li.active h2 {
  font-weight: bold;
}
.accordion table + * {
  margin-top: 20px;
}
.accordion th,
.accordion td {
  border: 1px solid var(--gray-border);
  padding: 20px;
  font-size: 0.85em;
}
.accordion th {
  background-color: var(--gray-pale);
}
.accordion > li.active:after {
  transform: rotate(180deg);
}
.accordion > li .pull {
  /*transform: scaleY(0); height: 0;*/
  overflow: hidden;
  overscroll-behavior: none;
  display: none;
}
.accordion > li.active .pull {
  /*transform: scaleY(1); height: auto;*/
  padding-bottom: 20px;
}
.accordion > li.active .pull > h3 {
  margin-bottom: 10px;
  margin-top: 30px;
}
.accordion > li .pull h3 {
  font-size: 1.2em;
}
.accordion > li.active .pull > h3:first-of-type {
  margin-top: 0;
}
.construct .visual .swiper-slide {
  height: 100vh;
}
.construct .over {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: #fff;
  position: fixed;
  z-index: 100;
}
.construct .ment {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.construct .ment .logo {
  text-align: center;
}
.construct .visual .swiper-pagination-progressbar {
  display: none;
}
.construct .ment .title {
  border: 8px solid #fff;
  width: fit-content;
  margin: auto;
  padding: 80px 60px;
  margin-bottom: 20px;
}
.construct .ment .title h1 {
  text-align: center;
  font-size: 3.7em;
  font-weight: 200;
  letter-spacing: 0;
  line-height: 1;
}
.construct .ment .logo {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: 2.2em;
  font-family: 'GangwonEduPowerExtraBold';
}
.construct .ment .logo img {
  height: 70px;
}
.construct .ment .title h1:first-of-type {
  font-size: 6em;
  margin-bottom: 8px;
}
.construct .ment h2 {
  font-size: 2.5em;
  color: var(--main-light);
}
.construct .ment .msg {
  font-size: 1.2em;
  line-height: 1.5;
}
.construct .ment .msg p.extra {
  margin-top: 20px;
  font-size: 0.8em;
  opacity: 0.5;
}
.construct .visual .swiper-slide::before {
  background: rgba(0, 0, 0, 0.8);
}
/*  */
.visual {
  position: fixed;
  width: 100%;
  /* height: calc(100% + 15px); */
  left: 0;
  top: 0;
  background-size: cover;
  width: 100%;
  color: #fff;
  text-align: center;
}
.visual .swiper-slide .all-place {
  display: flex;
  width: 100%;
  height: 100%;
  pointer-events: all;
}
.visual .swiper-slide .all-place::before {
  content: '';
  width: 100%;
  height: 50%;
  position: absolute;
  top: 0;
  z-index: 0;
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.visual .swiper-slide .all-place > div {
  flex-grow: 1;
  background-position: center;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  transition: 0.2s;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  z-index: 1;
  cursor: pointer;
  position: relative;
}
.visual .swiper-slide .all-place:has(> div:nth-child(2)) > div {
  width: 50%;
}
.visual .swiper-slide .all-place > div:hover {
  /* width: 50%; */
  /* box-shadow: 0 0 30px rgba(0, 0, 0, 0.8); */
  /* z-index: 2; */
}
.visual .swiper-slide .all-place > div::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(0, 0, 0, 0);
  transition: 0.2s;
}
.visual .swiper-slide .all-place > div.other::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.5);
  transition: 0s;
}
.visual .swiper-slide .all-place > div.other {
  filter: brightness(0.5);
}
.visual .swiper-slide .all-place .place > .infos {
  padding: 60px 30px 40px 30px;
  text-align: left;
  width: 100%;
  filter: brightness(1);
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
}
.visual .swiper-slide .all-place .place > .infos h3 {
  font-size: 1.2em;
  color: #fff;
  text-align: center;
}
.visual .swiper-slide .all-place .place > .infos h3 span {
  color: inherit;
}
.visual .swiper-slide .all-place .place .noti {
  padding: 0 30px;
  position: relative;
  /* z-index: 13; */
}
.visual .swiper-slide .all-place .place > .infos h2 {
  font-size: 2.2em;
  /* margin-bottom: 0; */
  white-space: nowrap;
}

.visual .swiper-slide .all-place .place > .infos .btns {
  margin-top: 12px;
  display: flex;
  gap: 24px;
  font-size: 1.2em;
}
.visual .swiper-slide .all-place .place > .infos .btns a {
  display: flex;
  gap: 5px;
  align-items: center;
  padding-bottom: 7px;
  position: relative;
  font-weight: bold;
}
.visual .swiper-slide .all-place .place > .infos .btns a.disable {
  color: #fff;
  opacity: 0.5;
  border-color: transparent;
  pointer-events: none;
}
.visual .swiper-slide .all-place .place .time-clock.horizon {
  margin: 2em 0;
  --size: 80px;
}
.time-clock.horizon {
  margin: 0;
  justify-content: flex-start;
  gap: 1em;
}
.time-clock .current::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--green);
  opacity: 0.08;
  left: 0;
  top: 0;
  border-radius: 50em;
}
.time-clock.horizon > div.current {
  position: relative;
  padding: 0.7em;
  padding-right: 4em;
  border-radius: 50em;
}
.time-clock.horizon > div {
  width: auto;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  gap: 1.3em;
  padding: 0;
}
.sub .sub-detail:has(div:first-child.time-clock.horizon) {
  padding-top: 0;
}
.sub .sub-detail > .time-clock.horizon {
  margin-bottom: 40px;
}
.sub .sub-detail > .time-clock.horizon > div {
  width: 100%;
  padding: 1em 1em 1em 2em;
  flex-direction: row-reverse;
}
.time-clock.horizon .infos {
  text-align: left;
  font-size: 1em;
  margin: 0;
}
.time-clock.horizon .infos h4 {
  font-size: 1.1em;
}
.visual .swiper-slide .all-place .place > .infos .days {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2em;
  row-gap: 0.3em;
  margin-top: 1.2em;
  justify-content: center;
}
.visual .swiper-slide .all-place .place > .infos .days p.not {
  color: #fff;
  display: block;
  text-align: center;
}
.visual .swiper-slide .all-place .place > .infos .days p.not strong {
  color: var(--main-light);
}
.visual .swiper-slide .all-place .place > .infos span {
  color: inherit;
}
.visual .swiper-slide .all-place .place > .infos .days p {
  display: flex;
  gap: 0.3em;
}
.visual .swiper-slide .all-place .place > .infos .days strong {
  color: var(--red-color);
}
.visual .swiper-slide .all-place > div > div .btns a:hover::after {
  width: 100%;
}
.visual .swiper-slide .all-place > div > div .btns a:after {
  content: '';
  position: absolute;
  border-bottom: 2px solid #fff;
  bottom: 0;
  width: 0;
  transition: 0.2s;
}
.visual .swiper-slide::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  /* background: rgba(0, 0, 0, 0.3) url(../images/img/overlay.gif); */
  z-index: 1;
  top: 0;
  left: 0;
}
.visual .swiper-slide {
  background: #fff url(../images/img/main-visual2.jpg) no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
  height: 720px;
  justify-content: center;
  flex-shrink: 0;
  flex-grow: 0;
  overflow: hidden;
}
.visual .swiper-slide.no-dimed::before {
  display: none;
}
.visual .swiper-slide .btnset {
  transform-origin: center center;
  margin-top: 30px;
  display: flex;
  gap: 10px;
  justify-content: center;
}
.visual .swiper-slide .btnset a {
  background-color: transparent;
  border: 1px solid #fff;
  height: auto;
  line-height: 1;
  padding-top: 15px;
  padding-bottom: 15px;
  transition: 0.2s;
}
.visual .swiper-slide .btnset a:hover {
  background-color: var(--main-color);
  border-color: transparent;
}
.visual .swiper-slide .btnset a i {
  font-size: 1.2em;
}
.visual .swiper-slide.notice {
  justify-content: space-between;
  text-align: left;
  position: relative;
}
.visual .swiper-slide.notice .cal-huge-full {
  display: block;
  right: 0;
  top: 0;
  opacity: 1;
  visibility: visible;
  width: 100%;
  position: relative;
}
.visual .swiper-slide.notice .cal-huge-full .cal-huge.ui-widget.ui-widget-content {
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  position: relative;
  border: 0;
}
.visual .swiper-slide.notice .cal-huge-full .cal-huge.ui-widget.ui-widget-content .ui-body {
  width: 100%;
  max-height: initial;
}
.visual .swiper-slide.notice:not(:has(.place)) .noti {
  width: var(--width);
  margin: auto;
  display: flex;
  justify-content: space-between;
  position: relative;
  align-items: center;
}
.visual .swiper-slide.notice .noti .ment {
  flex-shrink: 0;
  padding-right: 10%;
}
.visual .swiper-slide.notice .noti span {
  color: inherit;
}
.visual .swiper-slide.notice .noti .right {
  flex-grow: 0;
  width: 50%;
}
.visual .swiper-slide.notice .noti h1 {
  margin-bottom: 4px;
  color: var(--main-light);
}
.visual .swiper-slide.notice .noti h2 {
  font-size: 1.4em;
}
.visual .swiper-slide.notice .noti .ment p:first-of-type {
  margin-top: 30px;
}
.visual .swiper-slide.notice .noti p {
  margin-top: 0;
  line-height: 1.6;
}
.visual .swiper-slide.notice .status,
.time-clock .status {
  background-color: var(--main-color);
  font-size: 0.7em;
  border-radius: 2em;
  padding: 8px 15px;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  margin-top: -4px;
  margin-left: 5px;
  color: #fff;
}
.time-clock.horizon .status {
  margin-left: 0;
}
.visual .swiper-slide.notice .able .status {
  animation: able 2s infinite;
}
.visual .swiper-slide.notice .able .status.closed,
.time-clock.horizon .status.closed {
  background-color: var(--red-color);
}
.visual .swiper-slide.notice .disable {
  color: var(--red-color);
}
.visual .swiper-slide.notice .disable .status {
  color: #fff !important;
  background-color: var(--red-color);
}
.visual .swiper-slide.notice .temp {
  color: var(--orange);
}
.visual .swiper-slide.notice .temp .status {
  color: #fff;
  animation: temp 1.2s infinite;
}
.visual .swiper-slide.notice .time-clock {
  flex-direction: row;
}
.visual .swiper-slide.notice .time-clock .thismonth {
  background: none;
  padding: 0;
  align-items: center;
}
.visual .swiper-slide.notice .time-clock > div {
  width: 100%;
  display: flex;
  text-align: left;
  flex-direction: row;
  gap: 20px;
}
.get-clock.current .hour:first-child {
  height: 30%;
  top: 20%;
  z-index: 2;
}
.visual .swiper-slide.notice .time-clock > div .infos {
  text-align: left;
  font-size: 1em;
  margin: 0;
  line-height: 1.4;
}
.visual .swiper-slide.notice .time-clock > div .infos h4 {
  color: #fff;
}
.visual .swiper-slide.notice .time-clock > div .infos p:first-of-type {
  margin-top: 0;
  font-size: initial;
}
@keyframes temp {
  0% {
    background-color: rgb(239, 167, 0, 1);
  }
  50% {
    background-color: rgba(239, 32, 0, 1);
  }
  100% {
    background-color: rgba(239, 167, 0, 1);
  }
}
.visual .swiper-slide.notice .noti .ment p strong {
  color: var(--red-color);
}
.visual .swiper-slide::before {
  background: rgba(0, 0, 0, 0.6);
  z-index: 0;
  pointer-events: none;
}
.visual .swiper-slide.only::before {
  display: none;
}
.visual .swiper-slide.notice .cal-huge.ui-widget.ui-widget-content .ui-body table th {
  color: var(--gray-light);
}
.visual .swiper-slide.notice .cal-huge.ui-widget.ui-widget-content .ui-widget-header,
.ui-datepicker .ui-datepicker-header {
  height: auto;
  padding: 10px;
  color: #fff;
  border-radius: 0;
}
.visual .swiper-slide.notice .cal-huge.ui-widget.ui-widget-content .ui-body table td {
  font-size: 0.85em;
}
.visual .swiper-slide.notice .cal-huge.ui-widget.ui-widget-content .ui-body table td .ui-state-default {
  border: none;
  background: none;
  font-weight: normal;
}
.visual .swiper-slide.notice .cal-huge.ui-widget.ui-widget-content .ui-body table .ui-state-disabled {
  opacity: 1;
  background-color: var(--gray-pale);
}
.visual .swiper-slide.notice .cal-huge.ui-widget.ui-widget-content .ui-body table .ui-state-disabled a {
  color: var(--red-color);
  font-weight: bold;
}
.visual .swiper-slide.notice .noti .cal-huge.ui-widget.ui-widget-content .ui-body table td a::after {
  display: none !important;
}
.visual .swiper-slide.notice .cal-huge.ui-widget.ui-widget-content .ui-body table .ui-state-disabled .event {
  color: var(--red-color);
  padding-top: 0;
  margin-top: 0;
}

.visual .ment {
  position: relative;
  z-index: 2;
}
.visual .ment h1.normal,
.visual .ment h2.normal {
  font-weight: 200;
}
.visual h1 {
  font-size: 2em;
}
.visual h2 {
  font-size: 3em;
  position: relative;
}
.visual .ment.noti .mm {
  text-align: left;
}
.visual .ment.noti .mm dl p {
  margin-top: 0;
}
.visual .ment.noti .mm dl {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6em;
  row-gap: 0.2em;
}
.visual .ment.noti .mm dl h1 {
  width: 100%;
}
.visual .ment.noti .mm dl dt {
  font-weight: bold;
  height: fit-content;
  font-size: 1.5em;
  line-height: 1.4;
}
.visual .ment.noti .mm dl dd p {
  height: fit-content;
  font-size: 1.5em;
  line-height: 1.4;
}
.visual .ment.noti .mm:where(dt, dd, p) {
}
.visual .ment.noti .mm dl + dl {
  margin-top: 2em;
}
.visual span {
  position: relative;
  color: var(--main-light);
  /* background: var(--main-gra);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; */
}
/* .visual span::before {
	content: "";
	position: absolute;
	border-top: 8px solid var(--main-light);
	bottom: 2px;
	width: 100%;
	z-index: -1;
} */
.visual .ment p {
  margin-top: 15px;
  font-size: 1rem;
  line-height: 1.5;
}
.visual .player {
  background-color: #000;
  position: relative;
}
body.dimed {
  position: relative;
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
  -ms-touch-action: none;
}

.dimed .floating {
  z-index: 1;
  /* opacity: 0; */
  /* transition: 0.2s; */
}
.dimed .floating {
  display: none;
}
/*GNB*/

/* .main .gnb .menu li.logo {
  mix-blend-mode: screen;
}
.main .gnb .menu li.logo::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  background-color: #000;
  mix-blend-mode: color;
} */

/* .gnb .menu li.logo > img {
  display: none;
} */

.pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 30px;
}
.pager:not(:has(.paging)) {
  padding: 40px 0;
}
.pager :where(.left, .right) {
  width: 20%;
}
.pager .btn {
  min-width: auto;
}
.pager .right {
  display: flex;
  justify-content: flex-end;
}
.paging {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding: var(--padding) 0;
  color: var(--gray-light);
}
.pager > .paging {
  flex-grow: 1;
  justify-content: center;
}
.pager > div {
  display: flex;
  align-items: center;
  gap: 0.4em;
}
.pager:not(:has(.left)) > .paging {
  padding-left: 20%;
}
.pager:not(:has(.right)) > .paging {
  padding-right: 20%;
}
.pager:not(:has(.paging)) {
  padding: 20px 0;
}
.paging a {
  text-align: center;
  width: 24px;
}
.paging i {
  font-size: 1.3em;
}
.paging .active {
  font-weight: bold;
  color: var(--main-color);
}
.sub #map .section {
  padding-bottom: 0;
}
/* 맵 */
.img-full .map-area .map {
  transform: scale(1.171875);
}
.img-full .map .pin {
  pointer-events: none;
}
/* .section div + .map-picker {
  margin: 80px 0;
} */
.section > h3 {
  margin-bottom: 20px;
}
.section .map-area .map {
  transform: scale(1.171875);
}
.section .map .pin {
  pointer-events: none;
}
.img-full.map-picker .option.color-var {
  margin-top: 90px;
}
.map {
  position: relative;
}
.map .pin {
  position: absolute;
  z-index: 2;
  width: 18px;
  height: 18px;
}
.map .feat {
  position: absolute;
}
.map .feat.anno {
  text-shadow: 0 0 8px rgba(0, 0, 0, 1);
  font-size: 0.7em;
  font-weight: 900;
  color: #fff;
  text-align: center;
}
.map .feat.icon {
  width: 18px;
  height: 18px;
}
.map .feat .icon img {
  width: 18px;
}
.map .pin .marker:before {
  content: '';
  font-weight: 900;
  position: absolute;
  width: 100%;
  text-align: center;
  top: -10px;
  left: 0;
  font-size: 12px;
  line-height: 1;
}
.map .pin.s .marker:before {
  content: 'S';
}
.map .pin.m .marker:before {
  content: 'M';
}
.map .pin.l .marker:before {
  content: 'L';
}
.map .pin .marker {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  cursor: pointer;
  background-color: var(--map-color);
  transition: 0.4s ease-in-out;
  transform-origin: center bottom;
  z-index: 1;
  position: relative;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.map .pin.disabled .rate {
  display: none;
}
.map .pin .rate {
  background-color: rgba(255, 255, 255, 1);
  color: var(--map-color);
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  padding: 2px;
  position: absolute;
  border-radius: 10em;
  border: 1px solid var(--map-color);
  bottom: -12px;
  z-index: 2;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.15);
  transform: scale(0.9);
  transition: 0.2s;
}
.map .pin .rate .current::after {
  content: ':1';
}
.string .map .pin {
  width: auto;
  height: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
}
.string .map .pin.disabled .marker:before {
  position: static;
  width: auto;
  margin-right: 3px;
}
.string .map .pin.disabled .marker {
  color: var(--gray-light);
}
.string .map .pin .marker {
  width: auto;
  color: #fff;
  padding: 5px 10px;
  border-radius: 50px;
  height: auto;
  white-space: nowrap;
  font-weight: bold;
  font-size: 0.8em;
  text-align: center;
  position: static;
  display: flex;
  align-items: center;
  box-shadow: 0 -4px 4px rgba(0, 0, 0, 0.15);
}
.string .map .pin .marker:after {
  left: 50%;
  margin-left: -8px;
}
.map .pin .marker input[type='text'],
.map .pin .marker > p {
  height: 18px;
  border: 0;
  background-color: transparent;
  width: 100%;
  padding: 0;
  text-align: center;
  font-size: 0.65em;
  font-weight: 500;
  letter-spacing: 0;
  display: block;
  position: relative;
  z-index: 10;
  font-weight: bold;
  color: #fff;
  line-height: 18px;
}
.map .pin.disabled .marker input[type='text'],
.map .pin.disabled .marker > p {
  color: var(--gray-mid);
}
.map .pin.active .marker input[type='text'],
.map .pin.active .marker > p {
  height: 14px;
  width: 14px;
  background: #fff;
  border-radius: 50%;
  transition: 0.2s;
  margin: 0 2px;
  font-weight: bold;
  letter-spacing: -0.5px;
  position: relative;
  top: 2px;
  line-height: 14px;
}
.map .pin .marker input[type='text']:read-only {
  pointer-events: none;
}
.map .pin .marker:after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 0;
  border-top: 14px solid var(--map-color);
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  z-index: 0;
  transition: 0.4s;
  transform-origin: center bottom;
}
.map .pin.active .marker {
  z-index: 11;
  animation-timing-function: ease-in-out;
  animation-name: pin-tangle;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
}
.map .pin.over .marker {
  z-index: 11;
  animation-timing-function: ease-in-out;
  animation-name: pin-tangle-over;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
}
.map .pin.over .rate {
  transform: scale(1.1);
}
.map .pin.active .marker::before {
  transform: scale(1);
}
.map .pin.active,
.map .pin.over {
  z-index: 100;
}
.map .pin.active {
  animation-timing-function: ease-in-out;
  animation-name: pin-blink;
  animation-duration: 1s;
  animation-iteration-count: infinite;
}
.sect-num {
  position: relative;
}
.sect-num .pin {
  position: absolute;
  background-color: #000;
  color: #fff;
  display: flex;
  justify-content: center;
  border-radius: 4px;
}
.sect-num .pin .name {
  padding: 8px;
  z-index: 12;
  position: relative;
  border-radius: 4px;
}
.sect-num .pin:after {
  content: '';
  border-top: 14px solid #000;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  position: absolute;
  bottom: -14px;
  z-index: 1;
}
.option + .sect-num {
  margin-top: 30px;
}
.sect-num .pin.left:after {
  transform: rotate(90deg);
  left: -8px;
  top: 50%;
  /* transform: translateY(-50%); */
  transform-origin: top center;
}
.sect-num .pin.left .deco {
  display: none;
}
.sect-num .pin .deco {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transition: 0.4s;
  transform-origin: center bottom;
  transform: rotate(-20deg);
  filter: blur(1px);
  width: 28px;
  height: 10px;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100%);
  display: block;
  z-index: 0;
  opacity: 0.5;
}
.sect-num .pin.bg-blue:after {
  border-top-color: var(--blue);
}
.sect-num .pin.bg-red:after {
  border-top-color: var(--red-color);
}
.sect-num .pin.bg-green:after {
  border-top-color: var(--green-color);
}
.sect-num .pin.bg-mint:after {
  border-top-color: var(--mint-blue);
}

@keyframes pin-tangle {
  0% {
    margin-top: 0;
  }
  50% {
    margin-top: -4px;
  }
  100% {
    margin-top: 0;
  }
}
@keyframes pin-tangle-blink {
  0% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.3;
  }
}
@keyframes pin-tangle-over {
  0% {
    margin-top: 0;
  }
  50% {
    margin-top: -4px;
  }
  100% {
    margin-top: 0;
  }
}
@keyframes blend-diff {
  0% {
    mix-blend-mode: normal;
  }
  50% {
    mix-blend-mode: difference;
  }
  100% {
    mix-blend-mode: normal;
  }
}
@keyframes pin-blink {
  0% {
    filter: brightness(1);
  }
  50% {
    filter: brightness(1.5);
  }
  100% {
    filter: brightness(1);
  }
}

.map .pin.active:after {
  transform: scale(1.05);
}
.map .pin input[type='text'],
.map .pin > p {
  color: #fff;
  font-weight: bold;
}
.sect01 {
  --map-color: var(--type1);
}
.sect02 {
  --map-color: var(--type2);
}
.sect03 {
  --map-color: var(--type3);
}
.sect04 {
  --map-color: var(--type4);
}
.sect05 {
  --map-color: var(--type5);
}
.sect06 {
  --map-color: var(--type6);
}
.sect07 {
  --map-color: var(--type7);
}
.sect08 {
  --map-color: var(--type8);
}
.sect09 {
  --map-color: var(--type9);
}
.map .pin .marker:after {
  border-top-color: var(--map-color);
}
.map .pin.active .marker input[type='text'],
.map .pin.active .marker > p,
.selected-info h3,
.selected-item h3 {
  /* --map-color: var(--gray-dark); */
  color: var(--map-color);
}
.map-area .sect-descript li::before {
  background-color: var(--map-color);
}
.map .pin.disabled .marker {
  filter: grayscale(1);
  --map-color: #f2f2f2 !important;
  cursor: not-allowed;
}
.map .pin.disabled input[type='text'] {
  color: var(--gray-light) !important;
}
.map .pin.disabled .marker:before {
  content: '\e9ae';
  position: absolute;
  width: 18px;
  height: 18px;
  top: 0;
  left: 0;
  font-family: 'xeicon';
  text-align: center;
  line-height: 18px;
  font-size: 1.2em;
  color: #999;
  border: none;
  z-index: 2;
  filter: none;
  transform: rotate(0);
  background: none;
}
.map .pin.disabled .marker:after {
  border-top-color: #f2f2f2 !important;
}

.map img {
  max-width: 1024px;
}
.map .feat img {
  width: 18px;
}
.map-area1200 {
  overflow: hidden;
}
.map-area1200 .map img {
  max-width: 100%;
  width: 100%;
  user-select: none;
}
.map + .form {
  margin-top: 20px;
}
.map-area + .form .grid.vertical td.form-in .inputs > p {
  font-weight: bold;
  font-size: 1.2em;
}
.sect .article + .article {
  margin-top: 40px;
}
.map-area .sect-descript {
  display: flex;
  font-size: 0.85em;
  position: absolute;
  bottom: 20px;
  right: 30px;
}
.map-area .sect-descript li {
  color: initial;
}
.map-area .sect-descript li::before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: wheat;
  display: inline-block;
}
.map-area .sect-descript li::after {
  content: '구역';
  margin-left: 5px;
}
.map-area .sect-descript li + li {
  margin-left: 15px;
}
.map-area {
  position: relative;
}
.map-area .root_daum_roughmap .wrap_map {
  height: 500px;
}
.map-area + .form {
  margin-top: 30px;
}
.map.status img {
  filter: grayscale(0.8);
  opacity: 0.4;
}
.map.status .pin .deco {
  display: none;
}
.map.status .pin.available .marker {
  background-color: #000 !important;
}
.map.status .pin.available .marker:after {
  border-top-color: #000 !important;
}
.map.status .pin.available .marker::before {
  color: #000 !important;
}
.map.status .pin.ing {
  border: 2px solid #000;
  border-radius: 50%;
  width: 22px;
  height: 22px;
}
.map.status .pin.ing .marker {
  background-color: #fff !important;
  /* box-shadow: inset 0 2px 0px #000; */
  z-index: 10;
}
.map.status .pin.ing .marker:after {
  border-top-color: transparent !important;
  box-shadow: inset 0 2px 0px #000;
}
.map.status .pin.ing .marker::before {
  color: #fff !important;
}
.map.status .pin.ing .marker p {
  color: #000 !important;
}
.map.status .pin.checkedin .marker {
  background-color: green !important;
}
.map.status .pin.checkedin .marker:after {
  border-top-color: green !important;
}
.map.status .pin.checkedin .marker::before {
  color: green !important;
}
.map.status .pin.reserved .marker {
  background-color: #dd0000 !important;
}
.map.status .pin.reserved .marker:after {
  border-top-color: #dd0000 !important;
}
.map.status .pin.reserved .marker::before {
  color: #dd0000 !important;
}
/*  */
.wrap {
  letter-spacing: -0.3em;
  min-height: 100%;
  background-color: white;
  word-break: keep-all;
  position: relative;
  top: 720px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.wrap .contents {
  flex-grow: 1;
}
.wrap .contents .section .head h1 + p {
    margin-top: -10px;
}
.error.wrap {
  top: 0;
}
.login-wrap {
  background-color: var(--gray-pale);
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(100% - var(--top-h));
  width: 100%;
  position: absolute;
  flex-grow: 1;
  flex-direction: column;
}
.wrap.sub .contents:has(.login-wrap) {
  display: flex;
  flex-direction: column;
}
.login-wrap .btn-set {
  display: flex;
  gap: 2em;
  margin-top: 1em;
}
.login-wrap .btn-set .btn {
  background-color: transparent;
  border-radius: 5px;
  color: var(--gray-mid);
  flex-direction: column;
  padding: 0;
}
.login-wrap .btn-set .btn:hover {
  --gray-mid: var(--main-color);
}
.login-wrap .btn-set .btn::after {
  content: '';
  width: 100%;
  border-bottom: 1px solid var(--gray-mid);
  display: block;
}
.login-wrap.join {
  position: static;
  height: 100%;
  padding: 1em;
  flex-grow: 1;
}
.login-form {
  display: flex;
  gap: 10px;
  flex-direction: column;
  background-color: #fff;
  border-radius: 20px;
  padding: 30px;
  width: 440px;
}
.login-form .head {
  margin-bottom: 14px;
}
.login-form h1 {
  font-size: 2em;
  margin-bottom: 10px;
}
.login-form p {
  font-size: 0.9em;
  color: var(--gray-mid);
}
.login-form p + p {
  margin-top: 5px;
}
.login-form .form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.login-form .inputs {
  display: flex;
  flex-wrap: nowrap;
  gap: 5px;
}
.login-form .inputs:has(label) {
  flex-wrap: wrap;
}
.login-form .form:has(.inputs > label) {
  gap: 1.2em;
}
.login-form .inputs label {
  font-size: 0.9em;
  color: var(--gray-light);
  margin-bottom: 0.3em;
  font-weight: bold;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.login-form .inputs + .inputs {
  margin-top: 0px;
}
.login-form .inputs a {
  height: var(--input-h);
  background-color: var(--gray-light);
  color: #fff;
  font-weight: bold;
  font-size: 0.9em;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 10px;
}
.login-form .btn {
  background: var(--main-gra);
  border-radius: 6px;
  font-size: 1em;
  height: var(--btn-h);
  line-height: var(--btn-h);
  padding: 0 !important;
  width: 100%;
  margin: 0;
}
.login-form .btn.cancel {
  background: var(--white);
  color: var(--gray-light);
  border: 2px solid var(--gray-light);
}
/* 본문 */
.section {
  width: var(--width);
  margin: auto;
  padding: 80px 0;
}
.section:last-child {
  padding-bottom: 0;
}
.section div:not(.head) + .head,
.section ul + .head {
  margin-top: 80px;
}
.section .head h1{
	font-size: 1.7em;
	margin-bottom: 15px;
    line-height: 1.4;
}
.section.insert-full,
.section.insert-full-banner {
  width: 100%;
  background: no-repeat center/cover;
  position: relative;
  padding: 50px;
}
.section.insert-full > img {
  width: 100%;
}
.section.insert-full-banner {
  padding: 120px 0;
}
.section.insert-full-banner.sale {
  background-image: url(../images/img/sale.jpg);
  text-align: center;
}
.section.insert-full-banner.dim::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
  z-index: 0;
  top: 0;
  left: 0;
}
.section.insert-full-banner.dim.dim40::after {
  opacity: 0.4;
}
.section.insert-full-banner > div {
  width: var(--width);
  margin: auto;
  color: #fff;
  z-index: 2;
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
}
.section.insert-full-banner.center > div {
  text-align: center;
  justify-content: center;
}
.section.insert-full-banner > div h2 span::after {
  display: none;
}
.section.insert-full-banner > div h2 span {
  color: var(--main-light);
}
.section.insert-full-banner > div h1 {
  font-size: 2.4em;
}
.section.insert-full-banner > div h3:first-child {
  margin-bottom: 10px;
  font-size: 1.1em;
}
.section.insert-full-banner > div .impo {
  color: var(--main-light) !important;
}
.section.insert-full-banner > div p:first-of-type {
  color: #fff;
  margin-top: 20px;
}
.section.insert-full-banner > div h2 + h4,
.section.insert-full-banner > div h1 + h4,
.section.insert-full-banner > div h3 + h4 {
  margin-top: 20px;
  font-size: 1.1em;
  opacity: 1;
}
.section.insert-full-banner .btnset {
  margin-top: 24px;
}
.section.insert-full-banner .btnset .btn {
  background-color: transparent;
  border: 1px solid #fff;
}
.section.insert-full-banner .btnset .btn .material-symbols-sharp {
  font-size: 1.2em;
}
.section.insert-full .option li:first-of-type::before,
.section.insert-full .option li::after {
  border-color: #fff;
  opacity: 0.4;
}
.section.insert-full .option dl.price dt {
  color: #fff;
}
.section.insert-full .option h5.item-name,
.section.insert-full .option dl.price dd {
  color: var(--main-light);
}
.section.insert-full li h2,
.section.insert-full li h4 {
  color: var(--main-light);
}
.section.insert-full > * {
  width: var(--width);
  margin: auto;
  color: #fff;
  position: relative;
  z-index: 2;
}
.section.insert-full::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 0;
  top: 0;
  left: 0;
}
.section.insert-full .ul p::before {
  color: #fff;
}
.section.insert-full > * p {
  color: #fff;
}
.section.insert-full .list .full-split .info .subscr > p {
  color: #fff;
}
.section .overview {
  display: flex;
  margin-top: 20px;
}
.guidance .overview {
  margin-top: 0;
  padding-top: 0;
}
.subsect.guidance .overview.small {
  padding-top: 0;
}
.section .overview.col {
  flex-direction: column;
}
.section .overview .subscript {
  flex-grow: 0;
  flex-shrink: 1;
  padding-right: 60px;
  width: 60%;
}
.section .overview + .img-full {
  text-align: center;
  margin-top: 60px;
}
.section h2 {
  position: relative;
  z-index: 2;
}
.section > .head h2.with-btn,
.section .info > .head h2.with-btn,
h3.with-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
h3.with-btn .nav {
  font-weight: normal;
  font-size: 0.7em;
  display: flex;
  align-items: center;
  gap: 20px;
}
h3.with-btn .nav a:hover {
  color: var(--main-color);
}
.section.insert-full h2.with-btn .btn {
  color: #fff;
  background: transparent;
  border: 1px solid #fff;
}
.section.insert-full table tbody td,
.section.insert-full table thead th,
.section.insert-full table tbody th {
  border-color: rgba(255, 255, 255, 0.2);
}
.section.insert-full table tbody td {
  color: #fff;
  filter: brightness(0.7);
}
.list .full-split .info + div.table {
  margin-top: 10px;
}
.section.insert-full table {
  border-color: rgba(255, 255, 255, 1);
}
.section > .head h2 a,
h3.with-btn a {
  justify-self: flex-end;
  margin: 0;
}
.section h2 span,
.sect .head span {
  position: relative;
  z-index: 1;
}
.section h2 span::after,
.sect .head span:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0px;
  border-top: 10px solid var(--main-light);
  width: 100%;
  z-index: -1;
  opacity: 0.6;
}
.section .list h2 span::after {
  display: none;
}
.section h2 span.none::after,
.sect .head span.none:after {
  display: none;
}
.sect .head.typo .subtypo {
  margin-top: 48px;
  line-height: 1.6;
}
.sect .head.typo .subtypo h3 {
  margin-bottom: 0;
  padding-bottom: 0;
}
.sect .head.typo .subtypo h3 + h4 {
}
.sect .head.typo .subtypo h4 + h3 {
  margin-top: var(--padding);
}
.sect .head.typo .subtypo h4 {
  font-size: 1.2em;
  color: var(--gray-mid);
}
.section .overview .img {
  text-align: right;
  flex-grow: 1;
  align-self: flex-end;
}
.section .head + .table {
  margin-top: 30px;
}
.section .head + ul.notification {
  margin-top: 20px;
}
.map-wrap {
  position: relative;
  overflow: hidden;
}
.map-wrap .category,
.map-wrap .category * {
  margin: 0;
  padding: 0;
  color: #000;
}
.map-wrap .category {
  position: absolute;
  overflow: hidden;
  top: 10px;
  left: 10px;
  z-index: 1;
  margin: auto;
  font-size: 0.85em;
  text-align: center;
  width: 100%;
  overflow: visible;
  display: flex;
  justify-content: center;
}
.map-wrap .category .menu_selected {
  background: var(--main-color);
  color: #fff;
  border-color: var(--main-color);
  z-index: 2;
  position: relative;
}
.map-wrap .category ul {
  display: flex;
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  justify-content: center;
  overflow: hidden;
  width: fit-content;
}
.map-wrap .category li {
  list-style: none;
  cursor: pointer;
  background-color: #fff;
  padding: 12px 15px;
  border: 1px solid var(--gray-border);
  margin: -1px;
}
.local .map-area + .section {
  padding-top: 60px;
}
.local .map-list {
  border-bottom: 1px solid var(--gray-border);
}
.local .map-list .section {
  padding-bottom: 40px;
  padding-top: 40px;
}
.local .map-list:only-child {
  border: 0;
}
.local .map-list .list.horizon {
  gap: 10px;
}
#map-picks {
  width: 100%;
  height: 550px;
  position: relative;
}
#map-picks .custom-overay,
#map-picks .pin-name {
  color: #fff;
  font-weight: bold;
  font-size: 0.6em;
  padding: 8px 12px;
  border-radius: 50px;
  background-color: var(--main-color);
  /* -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.2); */
  text-align: center;
  line-height: 1;
  top: 105%;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
}
#map-picks div:has(button) .pin-name {
  display: none;
}
#map-picks div:has(> .pin-name) img {
  position: static !important;
  height: auto !important;
  width: 30px !important;
}
.section.notice {
  padding: 40px 0;
}
.booking .section.notice {
  padding: 0;
}
.booking.sub .images + .detail.full {
  padding-bottom: 80px;
}
.images {
  margin: 0;
}
.images .swiper-pagination {
  margin: 20px auto;
  position: static;
}
ul.notification,
.full ul.notification {
  padding-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.notification + .notification {
  margin-top: var(--padding);
}
ul.notification.vertical {
  flex-direction: row;
  gap: 0;
  row-gap: 3em;
}
ul.notification.vertical li,
.sub ul.notification.vertical li {
  width: 33.3%;
  gap: 0.5em;
  flex-direction: column;
}
ul.notification.card {
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 12px;
  padding-top: 0;
}
ul.notification.card:has(li:nth-child(4)) {
  justify-content: center;
  flex-wrap: wrap;
}
ul.notification.card li p::before,
ul.notification li p.nobullet::before {
  display: none;
}
ul.notification.card li {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  flex-grow: 1;
}
.sub ul.notification.vertical.block li p {
  padding: 0;
}
ul.notification.card li h4 {
  font-size: 1.35em;
}
ul.notification.card li,
.sub.full ul.notification.card li {
  gap: 8px;
}
.sub ul.notification.vertical.card li p {
  padding: 0;
}
.sub ul.notification.vertical.card li .icon {
  font-size: 3.5em;
}
ul.notification.card li::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--hotpink);
  opacity: 0.1;
}
ul.notification.card li:nth-child(2):after {
  background-color: var(--orange);
}
ul.notification.card li:nth-child(3):after {
  background-color: var(--yellow);
}
ul.notification.card li:nth-child(1) h4,
ul.notification.card li:nth-child(1) .icon {
  color: var(--hotpink);
}
ul.notification.card li:nth-child(2) h4,
ul.notification.card li:nth-child(2) .icon {
  color: var(--orange);
}
ul.notification.card li:nth-child(3) h4,
ul.notification.card li:nth-child(3) .icon {
  color: var(--yellow-deep);
}
ul.notification.card li,
.sub.full ul.notification.card li {
  padding: var(--padding);
}
.sect.notifications {
  margin-bottom: var(--padding);
}
/*  */
.root_daum_roughmap .cont {
  display: none;
}
ul.notification.vertical li p::before {
  display: none;
}
ul.notification.vertical li .icon {
  font-size: 3em;
}
/* ul.notification.vertical li .icon,
ul.notification.vertical li h4 {
  color: var(--main-color);
} */
ul.notification.vertical li .icon :where(.material-symbols-sharp, .material-symbols-outlined, .material-symbols-rounded) {
  font-weight: 400;
}
ul.notification li,
.sub.full ul.notification li {
  width: calc(50% - 20px);
  display: flex;
  gap: 16px;
}
.sub ul.notification.vertical li p {
  display: block;
  padding: 0 2em 0 0;
  gap: 0;
}
.sub ul.notification li {
  width: 100%;
  display: flex;
  gap: 16px;
}
ul.notification li h4 {
  margin-bottom: 6px;
}
ul.notification li:has(h4:only-child) {
  align-items: center;
}
ul.notification li p {
  position: relative;
  display: flex;
  gap: 5px;
}
ul.notification.vertical {
  row-gap: 3em;
}
ul.notification.vertical li {
  width: calc(100% / 3 - 1.5em);
}
ul.notification.vertical li p {
  display: block;
}
ul.notification li p::before {
  content: '•';
}
ul.notification li .icon {
  font-size: 2.6em;
  margin-top: -3px;
  position: relative;
}
ul.notification li .noti-con h5:first-child {
  margin-top: 0;
}
ul.notification li .noti-con h5 {
  margin-top: 0.5em;
}
ul.notification li .icon.dup {
  display: flex;
  align-items: center;
  justify-content: center;
}
ul.notification li .icon :where(.material-symbols-sharp, .material-symbols-outlined, .material-symbols-rounded) {
  font-weight: 400;
  font-size: 0.9em;
}
ul.notification li .icon .xi-tint-o {
  font-size: 1.1em;
  margin-left: -0.1em;
}
ul.notification li p {
  font-size: 0.93em;
}
ul.notification li p .red {
  color: var(--red-color);
}
.sub ul.notification li p {
  font-size: 1em;
}
.sub ul.notification li p.bk {
  color: var(--gray-dark);
}
.section h2 + p,
.section .addr + p {
  margin-top: 12px;
}
.section .list h2 + p {
  margin-top: 0;
}
.section .head h2 + p {
  margin-top: 5px;
}
.section .overview .head h2 + p {
  margin-top: 15px;
}
.section p.addr {
  color: var(--gray-light);
  margin-top: 5px;
}
.section p {
  color: var(--gray-mid);
  line-height: 1.5;
}
.section p .bk,
.sect p .bk {
  color: var(--gray-dark);
}
.section .head h3 + .with-btn {
  margin-top: 10px;
}
.section .head .with-btn {
  display: flex;
}
.section .head .with-btn .p {
  flex-grow: 1;
}
p + .overview-mm,
p + .option {
  margin-top: 30px;
}
.overview-mm th {
  width: 10%;
}
.overview-mm td {
  width: calc(90% / 5);
}
.overview-mm td,
.overview-mm th {
  border: 0;
  padding: var(--padding) 0;
}
.overview-mm h6 {
  color: var(--gray-light);
}
.overview-mm p {
  font-size: 1.45em;
  font-weight: 200;
}
.overview-mm p.ext {
  font-size: 0.75em;
  font-weight: normal;
}
.overview-mm p span.dimen {
  font-size: 0.8em;
}
.section .overview .subscript dl {
  display: flex;
  margin-top: 40px;
}
.section .overview .subscript dl dt {
  font-weight: bold;
}
.section .overview .subscript dl p {
  font-size: 14px;
  margin-top: 0;
  line-height: 27px;
}
.section .overview .subscript dl dt p {
  color: var(--gray-dark);
}
.section .overview .subscript dl dd p {
  text-indent: 20px;
}
.section .overview .summary {
  margin-top: 30px;
}
.section .overview .subscript .summary {
  padding: 0;
}
.section .overview .summary table {
  border: 0;
}
.section .overview .summary th,
.section .overview .summary td {
  font-size: 0.9em;
  padding: 3px 15px 3px 0;
  border: 0;
}
.section .overview .summary th {
  line-height: 1.4;
  white-space: nowrap;
}
.section .overview .summary td {
  color: var(--gray-mid);
  line-height: 1.4;
}
.btns {
  margin-top: 30px;
}
.list .full-split .info .btns .btn.price-btn {
  transition: 0s;
}
.price-popup {
  position: absolute;
  background-color: #fff;
  z-index: 20;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  min-width: 60%;
  border: 1px solid var(--gray-dark);
  border-radius: 12px;
  left: 260px;
  top: 0;
  opacity: 0;
  pointer-events: none;
  transition: 0.2s;
}
.btn.on {
  font-size: 0;
}
.btn.on::before {
  font-size: 14px;
  content: '닫기';
  transition: 0;
}
.btn.on + .price-popup {
  pointer-events: all;
  opacity: 1;
}
.price-popup .title {
  display: flex;
  align-items: center;
  padding: 30px 20px 20px 30px;
}
.price-popup .title a.close {
  padding: 10px;
}
.price-popup .title a.close img {
  height: 18px;
}
.price-popup h2 {
  flex-grow: 1;
}
.price-popup .price-table {
  max-height: 40vh;
  overflow-y: auto;
  padding: 0px 30px 20px 30px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.price-popup .price-table .sect .overview-mm {
  margin-top: 30px;
}
.price-popup .price-table .sect .overview-mm th,
.price-popup .price-table .sect .overview-mm td {
  padding: 20px 0;
}
.btn {
  /* min-width: 116px; */
  display: flex;
  height: 42px;
  align-items: center;
  justify-content: center;
  background-color: var(--gray-dark);
  color: #fff;
  font-weight: bold;
  text-align: center;
  border-radius: 42px;
  font-size: 14px;
  transition: 0.5s;
  padding: 0 20px;
  gap: 4px;
  width: fit-content;
}
.btn.border {
  background-color: var(--white);
  border: 1px solid var(--gray-dark);
  color: initial;
}
.btn.border.gray {
  color: var(--gray-mid);
  background-color: var(--white);
  border-color: var(--gray-border);
}
.btn.border.gray:hover {
  color: var(--main);
  border-color: var(--main);
}
.btn.border:hover {
  border-color: transparent;
  color: #fff;
}
.btn.impo {
  background-color: var(--main-color);
  color: #fff !important;
}
.btn.impo:hover {
  background-color: var(--main-deep);
  padding-left: 24px;
  padding-right: 24px;
}
.btn.gray {
  background-color: var(--gray-light);
}
.btn:hover {
  background-color: var(--main-color);
}
.time-clock {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
  width: 100% !important;
  margin-top: 30px;
  --size: 120px;
}
.time-clock > div {
  width: calc(100% / 6);
  padding: 20px 20px 30px 20px;
  position: relative;
}
.time-clock > div.thismonth {
  background-color: var(--gray-lightest);
  border-radius: 8px;
}
.time-clock > div.thismonth::before {
  /* content: "이번달"; */
  font-size: 0.8em;
  position: absolute;
  left: 20px;
  top: 20px;
  color: var(--main-color);
  font-weight: bold;
}
.time-clock .infos {
  text-align: center;
  width: 100%;
  margin-top: 20px;
  line-height: 1.6;
  font-size: 0.8em;
  flex-direction: column;
}
.time-clock .infos h3 {
  font-size: 1.2em;
}
.time-clock .infos h4 {
  font-size: 1.3em;
  color: var(--main-color);
}
.time-clock .infos h4:has(.closed) {
  color: var(--red-color);
}
.time-clock .infos h5 {
  font-size: 1.1em;
  font-weight: normal;
}
.clock-frame {
  box-shadow: 0 20px 34px rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  width: var(--size);
  height: var(--size);
  margin: auto;
}
.clock-frame .clock {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px solid #fff;
  box-shadow: inset 10px 10px 24px rgba(0, 0, 0, 0.15);
  border-radius: 50%;
  position: relative;
  width: var(--size);
  height: var(--size);
  /* background: conic-gradient(#fff 0deg 270deg, var(--main-light) 270deg, var(--mint-blue) 360deg , var(--main-blue) 180deg, var(--mint-blue) 180deg); */
}
.clock-frame .clock::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 50%;
  z-index: -1;
  background: repeating-conic-gradient(
    var(--main-light) calc(0 * var(--color-size)) calc(1 * var(--color-size)),
    var(--main-light) calc(1 * var(--color-size)) calc(2 * var(--color-size)),
    var(--main-light) calc(2 * var(--color-size)) calc(3 * var(--color-size)),
    var(--main-light) calc(3 * var(--color-size)) calc(4 * var(--color-size)),
    var(--main-light) calc(4 * var(--color-size)) calc(5 * var(--color-size)),
    var(--main-light) calc(5 * var(--color-size)) calc(6 * var(--color-size)),
    var(--main-light) calc(6 * var(--color-size)) calc(7 * var(--color-size)),
    var(--main-light) calc(7 * var(--color-size)) calc(8 * var(--color-size)),
    var(--main-light) calc(8 * var(--color-size)) calc(9 * var(--color-size)),
    var(--main-light) calc(9 * var(--color-size)) calc(10 * var(--color-size)),
    var(--main-light) calc(10 * var(--color-size)) calc(11 * var(--color-size)),
    var(--main-light) calc(11 * var(--color-size)) calc(12 * var(--color-size)),
    var(--main-light) calc(12 * var(--color-size)) calc(13 * var(--color-size))
  );
}
.clock-frame .clock {
  background: conic-gradient(
    var(--red-color) calc(0 * var(--color-size)) calc(1 * var(--color-size)),
    var(--red-color) calc(1 * var(--color-size)) calc(2 * var(--color-size)),
    var(--main-light) calc(2 * var(--color-size)) calc(3 * var(--color-size)),
    var(--main-light) calc(3 * var(--color-size)) calc(4 * var(--color-size)),
    var(--main-light) calc(4 * var(--color-size)) calc(5 * var(--color-size)),
    var(--main-light) calc(5 * var(--color-size)) calc(6 * var(--color-size)),
    var(--white) calc(6 * var(--color-size)) calc(7 * var(--color-size)),
    var(--white) calc(7 * var(--color-size)) calc(8 * var(--color-size)),
    var(--white) calc(8 * var(--color-size)) calc(9 * var(--color-size)),
    var(--main-light) calc(9 * var(--color-size)) calc(10 * var(--color-size)),
    var(--main-light) calc(10 * var(--color-size)) calc(11 * var(--color-size)),
    var(--main-light) calc(11 * var(--color-size)) calc(12 * var(--color-size)),
    var(--main-light) calc(12 * var(--color-size)) calc(13 * var(--color-size))
  );
}
.clock-frame .clock::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: linear-gradient(-125deg, rgba(255, 255, 255, 1), rgba(0, 0, 0, 1));
  z-index: 1;
  mix-blend-mode: overlay;
  opacity: 0.6;
}
.clock-frame .clock::after {
  width: 10%;
  aspect-ratio: 1/1;
  content: '';
  border: 0.25em solid #fff;
  background-color: var(--main-color);
  border-radius: 50%;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
  position: relative;
  z-index: 2;
}
.clock-frame .clock .openToclose {
  position: absolute;
  color: #fff;
  font-weight: bold;
  top: 12%;
  font-size: 0.8em;
}
.time-clock .clock .hour {
  height: 40%;
  width: 4px;
  background-color: #fff;
  border-radius: 4px;
  position: absolute;
  top: 10%;
  left: 50%;
  margin-left: -2px;
  transform-origin: center bottom;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
  z-index: 0;
}
.list .full-split .info .subscr {
  width: 50%;
}
.list .full-split .info .subscr.full {
  width: 100%;
  padding-right: 25%;
}
.list .full-split .info .subscr > p {
  font-size: 1em;
  color: var(--gray-dark);
}
.list .full-split .info .noti {
  display: flex;
  flex-wrap: wrap;
  padding: 30px;
  width: 100%;
  border-radius: 8px;
  /* border: 1px solid var(--gray-border); */
  margin-top: 30px;
  background-color: var(--gray-pale);
}
.list .full-split .info .noti h4 {
  margin-bottom: 10px;
}
.list .full-split .info .noti h4 i {
  font-size: 1.2em;
  margin-right: 5px;
  vertical-align: middle;
  margin-top: -0.2em;
  display: inline-block;
}
.list .full-split .info .noti li {
  color: var(--gray-mid);
  line-height: 1.6;
}
.list .full-split .info .noti li::before {
  content: '';
  width: 4px;
  height: 4px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  background-color: var(--gray-light);
  border-radius: 50%;
  opacity: 0.5;
}
.list .full-split .info .noti .posi li::before {
  background-color: var(--main-color);
}
.list .full-split .info .noti .nega li::before {
  background-color: var(--red-color);
}
.list .full-split .info .noti .posi h4 {
  color: var(--main-color);
}
.list .full-split .info .noti .nega h4 {
  color: var(--red-color);
}
.list .full-split .info .noti > ul {
  width: 50%;
}
.list .full-split .info .ol {
  width: 100%;
  line-height: 1.8;
  display: flex;
  counter-reset: ol;
  flex-wrap: wrap;
}
.list .full-split .info .ol.trp li {
  width: 50%;
  flex-grow: 1;
}
.list .full-split .info .ol li::before {
  counter-increment: ol;
  content: counter(ol, decimal-leading-zero) '. ';
  color: var(--main-color);
  font-weight: bold;
}
.list .full-split .info .ul p {
  font-size: 0.9em;
}
.list .full-split .info .ul h4 {
  margin-bottom: 5px;
}
.list .full-split .info .btns {
  display: flex;
  gap: 10px;
}
.list .full-split .info .ul .btns {
  justify-content: flex-end;
  margin-top: 0;
  align-items: flex-end;
  height: 100%;
}
.list .full-split .info .head {
  width: 100%;
  margin-bottom: 20px;
}
.list .full-split .info + div {
  margin-top: 40px;
}
.section .head + .list {
  margin-top: 30px;
}
ul + .promotion {
  margin-top: 80px;
}
ul.list.vertical + .promotion {
  margin-top: 60px;
}
.promotion {
  background: no-repeat center/cover;
  height: 280px;
  border-radius: 10px;
  display: flex;
  color: #fff;
  flex-direction: column;
  padding: 60px 50px;
  justify-content: center;
  position: relative;
  overflow: hidden;
  overscroll-behavior: none;
  gap: 20px;
}
.promotion > div.extra {
  margin-top: 0;
}
.promotion .extra p,
.promotion p {
  color: #fff;
}
.promotion .ment h2 span {
  color: var(--main-light);
}
.promotion .ment h2 span::after {
  display: none;
}
.promotion::before {
  content: '';
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 70%);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}
.promotion > div {
  position: relative;
  z-index: 2;
}
.promotion.banner {
  cursor: pointer;
  background-color: #e1f5f8;
  background-position: right center;
  background-size: auto 110%;
  transition: 1s ease-in-out;
  height: 220px;
}
.sect.promotion.banner {
  margin-top: -50px;
  margin-bottom: 50px;
}
.promotion.banner > img {
  max-width: 100%;
}
.promotion.banner:hover {
  background-size: auto 130%;
  transition: 3.4s ease-in-out;
}
.promotion.banner::before {
  display: none;
}
.promotion.banner .ment h2 {
  color: var(--main-color);
}
.promotion.banner .ment h3 + h2 {
  margin-top: 4px;
}
.promotion.banner .ment h3 {
  color: var(--main-deep);
  opacity: 0.7;
  font-size: 1.3em;
}
.promotion.banner .ment i:first-child {
  margin-right: 5px;
  font-size: 1.2em;
  vertical-align: middle;
}
.promotion.banner .extra {
  margin-top: 12px;
}
.promotion.banner .extra p {
  color: var(--gray-mid);
  mix-blend-mode: multiply;
}
.section .split {
  display: flex;
  justify-content: space-between;
}
.section .split li {
  flex-grow: 0;
  width: calc(50% - 50px);
}
.section .split ul.demical li {
  width: 100%;
}
.section div + .guidance,
.promotion + .guidance {
  margin-top: 50px;
}
:has(.guidance + .guidance) .guidance .head {
  width: 15%;
}
.section .list + .guidance {
  margin-top: 60px;
}
.subsect {
  margin-top: calc(2 * var(--padding));
}
.guidance,
.sect .guidance {
  display: flex;
  gap: 60px;
}

.guidance .head {
  flex-shrink: 0;
  padding-bottom: 0;
}
.guidance .btns-big {
  display: flex;
  gap: 20px;
  text-align: center;
  font-size: 0.8em;
  line-height: 1.4;
}
.guidance .btns-big > a {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background-color: var(--gray-pale);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  transition: 0.2s;
}
.guidance .btns-big > a:hover {
  background-color: var(--gray-dark);
  color: #fff;
}
.guidance .btns-big > a:hover p {
  color: #fff;
}
.guidance .btns-big > a i {
  font-size: 1.8em;
}
.guidance .btns-big > a p {
  line-height: 1.4;
  color: var(--gray-dark);
}
.section > h3 + p,
.section .head > h3 + p {
  margin-top: 10px;
  padding-right: 50px;
}
.section .split li table {
  margin-top: 30px;
}
.option table td {
  width: 1%;
  white-space: nowrap;
  padding-right: 20px;
}
.option table td:last-child {
  width: 80%;
  padding-right: 0;
}
.holyday dl.price dd {
  color: var(--orange);
}
.process {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}
.process li {
  flex-grow: 0;
  flex-shrink: 0;
  width: calc(var(--width) / 5 + 30px);
  height: calc(var(--width) / 5 + 30px);
  margin-left: -40px;
  color: #002470;
  text-align: center;
  padding-top: 50px;
  position: relative;
  border-radius: 50%;
}
.process li:first-child {
  margin-left: 0;
}
.process li:last-child {
  box-shadow: -30px 0 30px rgba(23, 104, 207, 0.4);
  color: #fff;
}
.process li:last-child p {
  color: #fff;
}
.process li h4:nth-of-type(2) {
  margin-top: 20px;
}
.process li::after {
  content: '';
  background-color: rgba(23, 104, 207, 1);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 50%;
  z-index: 0;
}
.process li:first-child::after {
  opacity: 0.1;
}
.process li:nth-child(2)::after {
  opacity: 0.2;
}
.process li:nth-child(3)::after {
  opacity: 0.3;
}
.process li:nth-child(4)::after {
  opacity: 0.4;
}
.process li > * {
  position: relative;
  z-index: 1;
}
.process li h4 {
  font-size: 20px;
  margin-bottom: 5px;
}
.process li p + h5,
.process li h5 + h5 + h5 {
  margin-top: 15px;
}
.process li p {
  color: #002470;
  opacity: 0.6;
  line-height: 1.4;
}
.schedule {
  margin-top: 30px;
}
.sect:first-of-type.schedule {
  margin-top: 0;
}
.sect.schedule {
  margin-bottom: 0;
}
.schedule ol {
  display: flex;
  border-top: 1px solid var(--gray-dark);
}
.schedule ol li {
  flex-grow: 1;
  flex-shrink: 0;
  justify-content: space-between;
  width: calc(100% / 12);
  border-bottom: 1px solid var(--gray-border);
  border-left: 1px solid var(--gray-border);
  text-indent: 20px;
}
.schedule ol li:first-child {
  padding-left: 0;
}
.schedule ol li:nth-last-child(1),
.schedule ol li:nth-last-child(2) {
  background-color: var(--gray-pale);
  position: relative;
  overflow: visible;
  border-left: 1px solid var(--gray-border);
}
.schedule ol li:nth-last-child(2) .date::after {
  content: '1,2월은 안전교육만 실시';
  position: absolute;
  left: 0;
  bottom: -40px;
  white-space: nowrap;
  font-size: 0.85em;
}
.schedule ol li:first-child {
  border-left: 0;
  text-indent: 0;
}
.schedule ol li:nth-last-child(1) > *,
.schedule ol li:nth-last-child(2) > * {
  background-color: var(--gray-pale);
}
.schedule ol li h4 {
  padding: 20px 0;
  position: relative;
  border-bottom: 1px solid var(--gray-border);
}
.schedule ol li h4 span.year {
  position: absolute;
  font-size: 0.6em;
  top: 6px;
  left: 0;
}
.schedule ol li .date {
  padding-top: 20px;
  padding-bottom: 20px;
}
.schedule ol li .date p {
  color: var(--gray-dark);
}
.extra {
  margin-top: 20px;
}
.extra .ext {
  font-size: 0.85em;
  color: var(--gray-light);
}
.ext > h4 + .demical {
  margin-top: 10px;
}
.ext .demical li p::before {
  display: none;
}
/* 풋터 */
.footer {
  border-top: 1px solid var(--gray-border);
  background-color: #fff;
  padding: 30px 0;
}
.full.reservation .footer {
  padding-bottom: 110px;
}
.footer .in {
  width: var(--width);
  margin: auto;
  color: var(--gray-light);
  font-size: 12px;
  text-transform: uppercase;
  line-height: 1.5;
  position: relative;
  display: flex;
  align-items: center;
  gap: 30px;
  row-gap: 0;
  flex-wrap: wrap;
}
.footer .in .info {
  flex-grow: 1;
}
.footer .in .logo {
  filter: grayscale(1);
  opacity: 0.5;
}
.footer .in .logo img {
  height: 24px;
}
.footer .in .legal {
  color: var(--gray-mid);
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 12px;
  width: 100%;
}
.footer .in .legal a {
  margin-right: 30px;
}
.footer .in .slogo {
  display: none;
}
.facility {
  overflow: hidden;
  overscroll-behavior: none;
  margin-top: 40px;
  position: relative;
}
.facility .swiper-slide {
  height: 470px;
  background-size: cover;
  background-position: center;
  width: 100%;
}
.imgs {
  position: relative;
}
#map {
  position: relative;
  background-color: #fff;
}
#map .map {
  height: 500px;
  background: no-repeat center/cover;
}
#map .map-area,
.cs .map-area {
  height: 500px;
  overflow: hidden;
  overscroll-behavior: none;
}
.cs .floating {
  display: none;
}
.cs.wrap.sub :where(.contents, .detail-contents, .section) {
  display: flex;
  flex-direction: column;
}
.cs.wrap.sub .contents :where(.detail-contents, .section) {
  flex-grow: 1;
}
.cs .section + .map-area {
  margin-top: 48px;
}
.cs .section + #map .section,
.cs .article + .section {
  padding-top: 0;
}
.cs .section:first-child {
  padding-top: 0;
}
.map-area .map-img {
  height: 100%;
  background-size: cover;
  background-position: center;
}
#map::before {
  content: '';
  position: absolute;
  border-top: 1px solid #fff;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
}
#map .section {
  padding-top: 50px;
}
#map .section:last-child {
  padding-bottom: 50px;
}
#map .section .list {
  margin-top: 30px;
}
#map .section .head {
  line-height: 1.7;
}
.head h3 img {
  height: var(--padding);
  width: auto;
  vertical-align: text-top;
  margin-left: 5px;
}
#map .section .head h3 span,
.section.notice .head h3 span {
  font-weight: normal;
}
#map .section .head h4,
.section.notice .head h4 {
  font-weight: normal;
}
#map .section .head h4.tel,
.section.notice .head h4.tel {
  font-size: 1.5em;
  font-weight: 300;
  line-height: initial;
}
#map .head + .list.horizon,
.section.notice .head + .list.horizon {
  margin-top: 30px;
}
.schedule ol li:nth-last-child(2) .date::after {
  bottom: -35px;
  text-indent: 10px;
}

.options-complex {
}
.options-complex .option {
  flex-grow: 1;
  margin-top: 30px;
}
.options-complex .option + .option {
  margin-top: 40px;
}
.option h4 {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
}
.option h4 + p {
  padding-bottom: 16px;
  margin-top: -10px;
}
.option li {
  display: flex;
  overflow: visible;
  height: 74px;
  position: relative;
  align-items: center;
  gap: 10px;
}
.option li .name-area {
  flex-grow: 1;
  display: flex;
  gap: 5px;
  align-items: center;
}
.option li .price-area {
  display: flex;
  gap: 20px;
}
.option li h5 {
  display: flex;
  align-items: center;
}
.option .reserv-day {
  border-radius: 5px;
  overflow: hidden;
  overscroll-behavior: none;
  border: 1px solid var(--gray-light);
  color: var(--gray-light);
  font-size: 0.8em;
  display: flex;
  align-items: center;
  padding-right: 8px;
  font-weight: bold;
}
.option .name-area .reserv-day {
  border-radius: 5px;
  overflow: hidden;
  overscroll-behavior: none;
  border: 1px solid var(--gray-border);
  color: var(--gray-light);
  font-size: 0.8em;
  display: flex;
  align-items: center;
  font-weight: bold;
  margin-right: 5px;
}
.option .name-area .reserv-day span {
  padding: 6px 8px;
}
.option .name-area .reserv-day + * {
  color: var(--gray-light);
}
.option .name-area .reserv-day.itday + * {
  color: var(--gray-dark);
}
.option .reserv-day span {
  background-color: var(--gray-light);
  color: #fff;
  font-weight: bold;
  padding: 6px 8px;
  margin-right: 5px;
}
.option .reserv-day.itday {
  padding-right: 0;
  border-color: var(--sale);
  background-color: var(--sale);
  color: #fff;
}
.option .reserv-day.itday span {
  margin-right: 0;
  background-color: var(--sale);
}
.option .sale-tag {
  border-radius: 5px;
  overflow: hidden;
  overscroll-behavior: none;
  border: 1px solid var(--sale);
  color: var(--sale);
  font-size: 0.8em;
  display: flex;
  align-items: center;
  padding: 6px 8px;
  font-weight: bold;
  margin-right: 5px;
}
.sect .option li p {
  flex-grow: 0;
}
.option li .price-area dl.price {
  display: flex;
}
.option li dl.price {
  flex-grow: 1;
  justify-content: flex-end;
  align-items: center;
}
.option li dl.price dd {
  flex-grow: 0;
  position: relative;
}
.option li dl.price.sale dd {
  color: var(--sale);
  font-weight: bold;
  position: relative;
}
.option li dl.price dd .before {
  color: var(--gray-light);
  text-decoration: line-through;
  font-size: 0.85em;
  text-align: center;
  position: absolute;
  font-weight: normal;
  top: 100%;
  left: 0;
}
.option li dl.price.sale dd::after {
  content: '\e905';
  margin-right: 3px;
  font-family: xeicon;
}
.option li p span + span {
  margin-left: 10px;
}
.option li::after,
.overview-mm tr::after {
  content: '';
  border-bottom: 1px solid var(--gray-dark);
  width: 100%;
  transform-origin: left bottom;
  transform: scaleY(1);
  opacity: 0.3;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
}
.overview-mm tr {
  position: relative;
}
.option li:first-of-type::before {
  content: '';
  border-bottom: 1px solid var(--gray-dark);
  width: 100%;
  transform-origin: left bottom;
  transform: scaleY(1);
  opacity: 0.3;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
/* 에러 */
.error-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 40px;
  width: var(--width);
  margin: auto;
}
.error-container .message {
  flex-grow: 0;
}
.error-container .message h1 {
  color: var(--red-color);
  font-size: 4em;
  line-height: 1.2;
}
.error-container .message h2 {
  color: var(--red-color);
  font-size: 2em;
  line-height: 1.4;
}
.error-container .message h3 {
  color: var(--gray-mid);
  font-size: 1em;
  margin-top: 10px;
}
.error-container .img {
  flex-grow: 1;
  background: url(../images/img/error.svg) no-repeat center;
  width: 100%;
  background-size: auto 70%;
}
.error-container .closed {
  width: 100%;
  margin: 50px 0;
}
.error-container .closed img {
  width: 30%;
  filter: hue-rotate(150deg);
}

.btn-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.btn-area.center {
  justify-content: center;
}
.btn-area p {
  color: var(--gray-mid);
  font-style: italic;
}
/* 로딩 */
.loading {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  pointer-events: none;
  left: 0;
  top: 0;
  background-color: rgba(255, 255, 255, 0.7);
  animation-name: loading-baloon;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  display: none;
}
.loading .img {
  width: 120px;
  padding-top: 120px;
  background: url(../images/img/loading-face.svg) no-repeat center top;
  position: relative;
  animation-name: loading-blink;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
.loading .img:before {
  width: 180px;
  height: 180px;
  content: '';
  background: url(../images/img/loading-rotate.svg) no-repeat center top;
  position: absolute;
  left: -30px;
  top: -30px;
  animation-name: loading-rotate;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform-origin: center;
}
.time h2 {
  font-weight: 200;
  margin-top: 4px;
  font-size: 1.7em;
  letter-spacing: 0;
}
.sight {
}
@keyframes loading-rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(359deg);
  }
}
@keyframes loading-blink {
  0% {
    background-image: url(../images/img/loading-face.svg);
  }
  98% {
    background-image: url(../images/img/loading-face.svg);
  }
  100% {
    background-image: url(../images/img/loading-face-close.svg);
  }
}
@keyframes loading-baloon {
  0% {
    padding-top: 15px;
  }
  50% {
    padding-top: 0;
  }
  100% {
    padding-top: 15px;
  }
}
/*file*/
.filebox {
  display: flex;
  margin-bottom: 5px;
  overflow: hidden;
  overscroll-behavior: none;
  position: relative;
}
.filebox input[type='file'] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  overscroll-behavior: none;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.filebox label {
  display: inline-block;
  line-height: var(--input-h);
  height: var(--input-h);
  border: 1px solid var(--gray-border);
  padding: 0 10px;
  vertical-align: top;
  margin-left: 0;
  border-radius: 0 5px 5px 0;
  margin: 0;
}
/* .swiper-wrapper[aria-live='off'] + .swiper-pagination-progressbar {
  opacity: 0;
} */
.popup {
  padding: 0px;
  top: 90px;
  border: 3px solid #fff;
  position: absolute;
  z-index: 12;
  background: #fff;
  max-width: 500px;
}
/*  */
.head + .schedule-overview {
  margin-top: 24px;
}
.schedule-overview {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  font-size: 0.9em;
}
.schedule-overview .infos {
  mix-blend-mode: multiply;
  padding: 24px 30px;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.schedule-overview .infos h3 {
  font-size: 1.3em;
}
.schedule-overview .infos .category {
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: center;
}
.schedule-overview .infos .category .material-symbols-sharp {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.schedule-overview .infos h2 {
  line-height: 1;
}
.info-sub {
  display: flex;
  gap: 10px;
  opacity: 0.65;
  margin-top: 0.1em;
  font-size: 0.88em;
}
.text-center .info-sub {
  justify-content: center;
}
.schedule-overview::after {
  content: '';
  background-color: var(--main);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.05;
  z-index: 0;
}
div + .reserved-my-ticket {
  margin-top: 24px;
}
.reserved-my-ticket h5 {
  color: var(--gray-mid);
  font-size: 0.85em;
  margin-bottom: 5px;
}
.reserved-my-ticket > li {
  font-size: 0.88em;
  line-height: 1.45;
}
.reserved-my-ticket > li .infos h3 {
  font-size: 1.2em;
}
.reserved-my-ticket > li .infos .day {
  font-size: 1em;
  color: var(--gray-mid);
}
.auth-banner {
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  margin-bottom: 10px;
  padding: 2em;
  display: flex;
  align-items: center;
}
.auth-banner .text {
  width: 80%;
  flex-grow: 1;
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}
.auth-banner .text h3 br {
  display: none;
}
.auth-banner .text h3 {
  font-size: 1.25em;
  margin-bottom: 0.5em;
}
.auth-banner .text p {
  font-size: 0.9em;
  color: var(--gray-mid);
  font-weight: normal;
  mix-blend-mode: multiply;
}
.auth-banner .btnset {
  margin-top: 1.2em;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.auth-banner .btnset .btn {
  background-color: transparent;
  color: initial;
  border-bottom: 1px solid var(--gray-dark);
  padding: 0 0 0.4em 0;
  border-radius: 0;
  height: auto;
  transition: 0.3s;
  gap: 3px;
}
.auth-banner .btnset .btn:hover {
  color: var(--main-color);
  border-color: var(--main-color);
}
.auth-banner .btnset .btn > span {
  font-size: 1.3em;
  font-weight: 00;
}
.auth-banner .img {
  width: 90px;
  position: relative;
  z-index: 2;
}
.auth-banner::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--main-light);
  opacity: 0.1;
  z-index: 0;
}
.auth-banner.ed::after {
  background-color: var(--green-color);
  opacity: 0.06;
}
.global_btn {
    text-align: center;
    margin: 0 auto 50px;
    margin-top: 20px;
}
.global_btn a {
    height: 50px;
    line-height: 50px;
    text-align: center;
    min-width: 150px;
    color: #fff;
    background-color: #6F737A;
    font-weight: bold;
    display: inline-block;
    transition: .2s;
    margin: 0 5px;
}
