@charset "UTF-8";
img {
  -webkit-user-drag: none;
  user-select: none;
}

a {
  text-decoration: none;
  color: unset;
}
a:visited {
  color: unset;
}
a:hover {
  text-decoration: underline;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.disFlex {
  display: flex;
  align-items: center;
}

.lineBreak {
  width: 100%;
  border-bottom: 0.4rem solid #F0F0F0;
  background-color: #F7F7F9;
}

select {
  padding: 0.4rem;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #717171;
  font-weight: 400;
  background: url(../images/btnArrowBottom16.svg) no-repeat 95% 50%;
}
select:focus-visible {
  outline: none;
  border: 1px solid #F0F0F0;
}
select:focus-visible option:focus-visible {
  outline: none;
  border: 1px solid #F0F0F0;
}
select:active, select:focus {
  outline: none;
  border: 1px solid #2D2D2D;
}
select option:active, select option:focus {
  outline: none;
  border: 1px solid #2D2D2D;
}

.selectBoxWrap .SelectBox {
  display: flex;
  align-items: center;
  padding-left: 1.6rem;
  width: 20rem;
  height: 4rem;
  color: #1d1d1d;
  font-size: 1.5rem;
  cursor: pointer;
}
.selectBoxWrap .SelectBox .btnArrowDown {
  margin-left: auto;
  margin-right: 0.8rem;
  display: inline-block;
  transition: transform 0.3s ease;
}
.selectBoxWrap .SelectBox .btnArrowDown.rotate img {
  transform: rotate(180deg);
}
.selectBoxWrap .SelectList {
  padding: 0.8rem;
  border: 1px solid #E4E4E4;
  background-color: #fff;
  display: none;
}
.selectBoxWrap .SelectList li {
  display: flex;
  align-items: center;
  padding-left: 1.6rem;
  width: calc(100% - 1.6rem);
  height: 4rem;
  font-size: 1.5rem;
  cursor: pointer;
}
.selectBoxWrap .SelectList li.hover {
  border-radius: 6px;
  background-color: #EDF1F5;
  color: #003675;
}

.scrollbar {
  overflow-y: auto;
}

.scrollbar::-webkit-scrollbar-track {
  background-color: #eee;
}

.scrollbar::-webkit-scrollbar {
  width: 0.8rem;
  background-color: #F5F5F5;
}

.scrollbar::-webkit-scrollbar-thumb {
  background-color: #ddd;
}

.scrollbarHori::-webkit-scrollbar-track {
  background-color: #eee;
}

.scrollbarHori::-webkit-scrollbar {
  height: 0.8rem;
  background-color: #F5F5F5;
}

.scrollbarHori::-webkit-scrollbar-thumb {
  background-color: #ddd;
}

.hashtag {
  cursor: pointer;
  margin-right: 0.8rem;
  margin-bottom: 0.8rem;
  float: left;
  border-radius: 100px;
}
.hashtag.medium {
  padding: 0.8rem 1.2rem;
  font-size: 1.4rem;
}
.hashtag.between {
  padding: 0.5rem 0.9rem;
  font-size: 1.3rem;
}
.hashtag.small {
  padding: 0.3rem 0.6rem;
  font-size: 1.2rem;
}
.hashtag.default, .hashtag.white {
  background-color: #fff;
  border: 1px solid #E4E4E4;
}
.hashtag.white {
  cursor: unset;
}
.hashtag.default:hover {
  box-shadow: 0 0 0 2px #3447D2 inset;
  transition-duration: 0.1s;
  border: 1px solid #3447D2;
}
.hashtag.blue {
  background-color: rgba(36, 107, 235, 0.8);
  border: 1px solid rgba(36, 107, 235, 0.8);
  color: #fff;
}
.hashtag.click {
  background-color: #3447D2;
  color: #fff;
  border: 1px solid #3447D2;
}
.hashtag.disabled {
  background-color: #F8F8F8;
  border: 1px solid #E4E4E4;
  color: #717171;
  cursor: default;
}

.moreViewBtn {
  display: flex;
  align-items: center;
  height: 2.4rem;
  font-size: 1.3rem;
  color: #3447D2;
  cursor: pointer;
}

.moreView_ReverBtn {
  display: flex;
  align-items: center;
  height: 2.4rem;
  font-size: 1.3rem;
  color: #1d1d1d;
  cursor: pointer;
}

.TitLg700 {
  font-size: 1.9rem;
  font-weight: 700;
}
.TitLg700 span {
  margin-left: 0.5rem;
  vertical-align: middle;
  cursor: pointer;
}

.TitSm700 {
  font-size: 1.5rem;
  font-weight: 700;
}

.TitSm500 {
  font-size: 1.5rem;
  font-weight: 500;
}

.Detail13gray400 {
  font-size: 1.3rem;
  font-weight: 300;
  color: #717171;
}

.Detail13blue400 {
  font-size: 1.3rem;
  font-weight: 400;
  color: #3447D2;
}

button {
  margin-top: 1.2rem;
  padding: 0.8rem;
  width: 100%;
  font-size: 1.3rem;
  background-color: #fff;
  border-radius: 0.4rem;
  color: #1d1d1d;
  border: 1px solid #E4E4E4;
  cursor: pointer;
  transition: 0.3s;
}
button:hover {
  background-color: #3447D2;
  color: #fff;
}
button.sm {
  padding: 0.4rem 0.8rem;
}
button.right {
  width: auto;
  margin-left: auto;
  padding: 0.8rem 1.6rem;
}
button.center {
  width: auto;
  margin-right: 2rem;
}
button.whiteBtn {
  background-color: #fff;
  color: #1d1d1d;
  border: none;
}
button.whiteBtn:hover {
  background-color: #fff;
  color: #1d1d1d;
}

button.defaultBtn {
  background-color: #F8F8F8;
}
button.defaultBtn:hover {
  background-color: #3447D2;
  color: #fff;
}

button.activeBtn {
  background-color: rgba(36, 107, 235, 0.8);
  color: #fff;
}
button.activeBtn:hover {
  background-color: #3447D2;
  color: #fff;
}

button.dagerBtn {
  background-color: #F8F8F8;
}
button.dagerBtn:hover {
  background-color: #FF1805;
  color: #fff;
}

button.grayBtn {
  background-color: #F8F8F8;
  color: #2D2D2D;
}
button.grayBtn:hover {
  background-color: #F8F8F8;
  color: #1d1d1d;
}

input[type=text], input[type=password] {
  margin-top: 1.2rem;
  padding: 0.8rem;
  width: 100%;
  font-size: 1.3rem;
  background-color: #F8F8F8;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
}
input[type=text]:active, input[type=password]:active {
  border: 1px solid #2D2D2D;
}
input[type=text].sm, input[type=password].sm {
  width: 16rem;
}
input[type=text].md, input[type=password].md {
  width: 24rem;
}
input[type=text].lg, input[type=password].lg {
  width: 32rem;
}

input[type=color] {
  padding: 0;
  width: 2.4rem; /* 정사각형으로 맞추기 */
  height: 2.4rem;
  border: none;
  border-radius: 50%; /* ← 동그랗게 만들기 */
  background: none;
  cursor: pointer;
  appearance: none; /* 브라우저 기본 스타일 제거 */
  -webkit-appearance: none; /* Safari용 */
}

/* Webkit 기반 브라우저(크롬, 사파리)용 내부 사각형 제거 */
input[type=color]::-webkit-color-swatch-wrapper {
  padding: 0;
}

input[type=color]::-webkit-color-swatch {
  border: none;
  border-radius: 50%; /* 내부 색상 부분도 동그랗게 */
}

.borderSelect {
  margin-top: 1.2rem;
  padding: 0.8rem;
  width: 100%;
  font-size: 1.3rem;
  background-color: #F8F8F8;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
  background-color: #fff;
}
.borderSelect:focus-visible {
  outline: none;
  border: 1px solid #F0F0F0;
}
.borderSelect option:focus-visible {
  outline: none;
  border: 1px solid #F0F0F0;
}
.borderSelect:active, .borderSelect:focus {
  outline: none;
  border: 1px solid #2D2D2D;
}
.borderSelect option:active, .borderSelect option:focus {
  outline: none;
  border: 1px solid #2D2D2D;
}
.borderSelect.sm {
  width: 16rem;
}
.borderSelect.md {
  width: 24rem;
}
.borderSelect.lg {
  width: 32rem;
}

textarea, .istTextarea {
  padding: 0.6rem;
  margin-top: 0.8rem;
  width: 100%;
  min-height: 8rem;
  resize: vertical;
  border: 1px solid #E4E4E4;
  box-sizing: border-box;
  font-size: 1.4rem;
  font-family: "Pretendard";
  font-weight: 300;
}

.centerModalWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 901;
}
.centerModalWrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}

.topModalWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 901;
}
.topModalWrap .mdTxt {
  white-space: pre-line;
  line-height: initial;
}
.topModalWrap .topModal {
  padding: 2rem;
  position: absolute;
  left: 50%;
  top: 3rem;
  transform: translate(-50%, 0);
  background-color: #fff;
  border-radius: 0.8rem;
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
}
.topModalWrap .topModal.sm {
  width: 40rem;
}
.topModalWrap .topModal .foot {
  display: flex;
}
.topModalWrap .topModal .foot.btn {
  margin-top: 1rem;
  text-align: center;
  align-items: center;
  justify-content: center;
}
.topModalWrap .topModal .foot button {
  width: auto;
}

.centerModal {
  padding: 2rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: 80vh;
  overflow-y: auto;
  background-color: #fff;
  border-radius: 0.8rem;
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
}
.centerModal.sm {
  width: 40rem;
}
.centerModal.md {
  width: 60rem;
}
.centerModal.xl {
  width: 80rem;
}
.centerModal .head {
  display: flex;
  align-items: center;
  padding: 0.8rem;
  height: 2.4rem;
  font-size: 1.8rem;
  color: #1d1d1d;
  font-weight: 700;
  border-bottom: 1px solid #E4E4E4;
}
.centerModal .head .closeBtn {
  margin-left: auto;
  cursor: pointer;
}
.centerModal .body {
  padding: 1.2rem 0;
}
.centerModal .body .smTxt {
  font-size: 1.4rem;
  color: #555555;
}
.centerModal .body .smTxt li {
  margin-bottom: 0.8rem;
  line-height: 130%;
}
.centerModal .body .mdTxt {
  font-size: 1.6rem;
  color: #1d1d1d;
}
.centerModal .body.join label {
  display: block;
  margin-top: 1.2rem;
  font-size: 1.4rem;
  color: #1d1d1d;
}
.centerModal .body.join input[type=text], .centerModal .body.join input[type=password] {
  margin-top: 0.6rem;
}
.centerModal .foot {
  display: flex;
  align-items: center;
}
.centerModal .foot button {
  height: 4rem;
  font-weight: 600;
}
.centerModal .foot .oneBtnWrap {
  margin-top: 0;
  margin-left: auto;
  width: auto;
  min-width: 7rem;
}

.formGroup.error input {
  border: 1px solid #FF1805;
}

.errorMsg {
  display: block;
  margin: 0.6rem 0 0.4rem;
  font-size: 1.3rem;
  line-height: 130%;
  font-weight: 400;
  color: #FF1805;
}

span.txtNotice {
  font-size: 1.3rem;
  color: #FF1805;
  font-weight: 300;
}

span.txtInfo {
  font-size: 1.3rem;
  color: #003675;
  font-weight: 300;
  line-height: 2rem;
}

.twoBtnWrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.mgT0 {
  margin-top: 0;
}

body {
  user-select: none;
  /* 텍스트 선택 방지 */
  -webkit-user-select: none;
  /* Safari */
}

.mobileNav {
  display: none;
  background: var(--Color, #FFF);
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.16);
}

.mobTopHead .backBtn,
.mobTopHead .btnClose {
  display: none;
}

.MBshow767,
.MBshow991 {
  display: none;
}

.is-android-chrome {
  overscroll-behavior-y: none;
}

@media only screen and (max-width: 1700px) {
  .introMain article .textWrap h1 {
    font-size: 4.2vw;
  }
  .introMain article .textWrap h1 span {
    font-size: 1.8vw;
  }
  .introMain article .textWrap p {
    font-size: 1.2vw;
  }
}
@media only screen and (max-width: 1199px) {
  html {
    font-size: 9px;
  }
  body {
    font-size: 1.4rem;
  }
  .banner-section {
    padding: 1.2rem 2.4rem;
  }
  .banner-section .banner-top {
    grid-template-columns: 1fr 1fr;
  }
  .banner-section .banner-top .card {
    padding: 1.6rem 0 1.6rem 2.4rem;
  }
  .banner-section .banner-top .card-img {
    width: 40%;
  }
  .banner-section .banner-bottom {
    grid-template-columns: repeat(3, 1fr);
  }
  .banner-section .card-text .title {
    font-size: 1.8vw;
  }
  .banner-section .card-text .sub {
    font-size: 1.2vw;
  }
  .banner-section .card-label {
    font-size: 1.8vw;
  }
  .banner-section .card-desc {
    font-size: 1.2vw;
  }
  .banner-section .card-icon {
    width: 5rem;
    height: 5rem;
  }
}
@media only screen and (max-width: 991px) {
  body {
    overflow: auto;
  }
  .MBshow991 {
    display: block;
  }
  .MBhide991 {
    display: none;
  }
  .mapCirclePin .menu.active .pinClickIcon {
    transform: rotate(calc(45deg * var(--i))) translateX(5rem);
  }
  .mainFoot {
    width: calc(100% - 4rem);
    height: auto;
    margin: 0 auto;
    padding: 2rem 1rem;
  }
  .mainFoot .clear {
    flex-flow: column;
    align-items: unset;
  }
  /* width:100%-20(좌우마진) */
  .mainFoot li.con {
    width: 100%;
    margin-top: 0;
  }
  .mainFoot li.con2 {
    margin-top: 0;
  }
  .mainFoot li.line {
    display: none;
  }
  .introMain {
    flex-direction: column-reverse;
    height: auto;
  }
  .introMain article {
    height: auto;
    flex: unset;
  }
  .introMain article .textWrap {
    margin: 12vw 8vw 8vw 8vw;
  }
  .introMain article .textWrap h1 {
    font-size: 6.4vw;
  }
  .introMain article .textWrap h1 span {
    font-size: 4.2vw;
  }
  .introMain article .textWrap p {
    margin-top: 1.4rem;
    font-size: 3.2vw;
  }
  .introMain .introLeft {
    height: 100vw;
    min-height: 36rem;
  }
  .introMain .introLeft .bgImg {
    background-image: url("../images/introMainLeftMB2025.webp");
  }
  .introMain .introRight {
    height: calc(100vw - 10rem);
    min-height: 28rem;
  }
  .introMain .introRight .bgImg {
    background-image: url("../images/introMainRightMB2025.webp");
  }
  .introMain .introLeft .top10 {
    width: 80%;
    padding: 1rem;
  }
  .introMain .introLeft .top10 h2 {
    font-size: 2rem;
  }
  .introMain .introLeft .top10 ul {
    flex-wrap: wrap;
  }
  .introMain .introLeft .top10 ul li {
    width: 17%;
    border-radius: 0.8rem;
    overflow: hidden;
  }
  .introMain .introGoogleTrans {
    /*background: rgba(255, 255, 255, 0.7);*/
    background: rgba(0, 0, 0, 0.3);
  }
  .introMain .introGoogleTrans p {
    font-size: 1.6rem;
    /*color:#333;*/
  }
  .mainBannerBG .bannerInner {
    padding: 0.8rem 0;
  }
  .mainBannerBG .bannerInner li {
    width: 47%;
  }
}
@media only screen and (max-width: 767px) {
  .MBshow767 {
    display: block;
  }
  .MBhide767 {
    display: none !important;
  }
  html {
    font-size: 9.5px;
  }
  .onboardPop {
    display: none;
  }
  .btmBanner {
    display: none;
  }
  .container {
    position: relative;
    z-index: 0;
    height: calc(100vh - 3.6rem - 5.6rem);
  }
  .container.copyContainer {
    height: calc(100vh - 3.6rem);
  }
  .is-mobile-chrome .container {
    height: calc(100dvh - 3.6rem - 5.6rem);
  }
  .is-mobile-chrome .container.copyContainer {
    height: calc(100dvh - 3.6rem);
  }
  .is-android-chrome .container {
    height: calc(100dvh - 4rem - 5.6rem);
  }
  .is-android-chrome .container.copyContainer {
    height: calc(100dvh - 4rem);
  }
  .is-safari .container {
    z-index: 11;
  }
  .header:has(.SelectList:not([style*="display: none"])) {
    z-index: 12 !important;
  }
  .leftAside {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: 16rem;
    border-radius: 3.2rem 3.2rem 0 0;
    overflow: hidden;
    z-index: 1000;
    transition: height 0.3s ease-in-out;
  }
  .leftPanelWrap {
    height: 100%;
    position: relative;
  }
  .leftPanel,
  .detailPanel {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  .leftAside.expanded {
    height: calc(100vh - 9.6rem);
  }
  .is-mobile-chrome .leftAside.expanded {
    height: calc(100dvh - 9.6rem);
  }
  .leftAside.collapsed {
    height: 40vh;
  }
  .leftAside.minimized {
    height: 16rem;
  }
  .leftAside.fold {
    height: 0;
    opacity: 0;
    display: none;
  }
  .leftAside .leftMenu {
    display: none;
  }
  .weatherModal {
    display: none;
  }
  .leftAsideLogin {
    width: 100%;
    height: calc(90vh - 6.4rem);
    overflow-y: auto;
  }
  .detailPanel.ifCos {
    display: none;
    position: absolute;
    top: unset;
    bottom: 0;
    left: 0;
    height: 80vh;
    border-radius: 3.2rem 3.2rem 0 0;
    z-index: 1001;
  }
  .detailPanel.ifInfo {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: calc(90vh - 5.4rem);
  }
  .leftAside .weatherModal {
    left: 1.2rem;
    bottom: 2rem;
  }
  .leftPanel,
  .detailPanel,
  #archInsertPanelWrap {
    width: 100vw;
  }
  .leftPanel .btnClose,
  .detailPanel .btnClose,
  #archInsertPanelWrap .btnClose {
    position: absolute;
    top: 2rem;
    right: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 100px;
    background-color: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
    cursor: pointer;
    z-index: 3;
  }
  .travleListWrap {
    height: unset !important;
    touch-action: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overflow-y: unset;
  }
  .activeBtn.bottomBtn.MBshow767,
  .bottomBtn.resultAfterBtn {
    position: sticky;
    left: 0;
    right: 0;
    bottom: 1rem;
    margin: 0 auto;
  }
  .cardListCourse .frontText .courseInfo span.tn,
  .workCourse .frontText .courseInfo span.tn {
    width: 77%;
  }
  div#map_control {
    bottom: 2rem !important;
    z-index: 0 !important;
  }
  .optionSelectWrap .optionBtn .roundBtn {
    width: 8rem;
    height: 8rem;
  }
  .optionSelectWrap .optionBtn .slide-container {
    margin: 0;
  }
  .optionSelectWrap .optionBtn .slide-container .slide-wrapper {
    overflow-y: auto;
    gap: 0.8rem;
  }
  .optionSelectWrap .optionBtn .slide-arrow {
    display: none;
  }
  .optionSelectWrap:has(.searchCondition) .searchCondition {
    margin-top: 2rem;
  }
  .themeTypeSearchWrap {
    width: 100%;
    margin-top: 2rem;
    position: relative;
  }
  .themeTypeSearchWrap.MB {
    position: absolute;
    left: 0;
    top: 0rem;
    width: 100%;
    height: calc(100vh - 4rem - 5.6rem) !important;
    margin-top: 0rem;
    z-index: 999;
    background-color: #FFFFFF;
    overflow-y: auto;
  }
  .themeTypeSearchWrap.MB .activeBtn.bottomBtn {
    bottom: 1rem;
  }
  .is-mobile-chrome .themeTypeSearchWrap.MB {
    height: calc(100dvh - 4rem - 5.6rem) !important;
  }
  .visualWrap:has(.bottomBtn.resultAfterBtn) {
    overflow: unset;
  }
  .visualWrap .bottomBtn.resultAfterBtn {
    margin: 0.8rem auto;
    bottom: 1rem;
    background-color: rgba(255, 255, 255, 0.9);
    color: #1d1d1d;
  }
  .visualWrap .inputWrap label,
  .visualWrap .inputWrap .stepName {
    width: 8rem;
  }
  .leftAside:has(.themeTypeSearchWrap.MB) {
    border-radius: 0;
  }
  .header .globLang .googleTrans img {
    width: 70%;
  }
  .header .globLang .SelectList {
    max-height: 80vh;
    overflow-y: auto;
  }
  .mapContainer .mapSearchWrap {
    left: 1.2rem;
    top: 1.2rem;
  }
  .leftAsideLogin {
    padding: 0;
    height: 100%;
    overflow-y: auto;
  }
  .leftAsideLogin .mobTopHead {
    position: sticky;
    left: 0;
    top: 0;
    height: auto;
    background-color: #fff;
    padding: 1.6rem 1.6rem 0;
    z-index: 1;
    box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.08);
  }
  .leftAsideLogin h1 {
    font-size: 1.9rem;
    font-weight: 700;
    color: #1d1d1d;
  }
  .leftAsideLogin h1.pageTit.TitLg700 {
    margin: 0 0 0.8rem;
  }
  .leftAsideLogin .list {
    padding: 1.6rem 1.6rem 0;
    margin-bottom: 0.4rem;
  }
  .detailPanel {
    z-index: 2;
    height: 100%;
  }
  .detailPanel .mobTopHead {
    position: sticky;
    left: 0;
    top: 0;
    height: auto;
    background-color: #fff;
    padding: 1.6rem;
    z-index: 1;
  }
  .detailPanel .detailImgWrap {
    height: 24rem;
    touch-action: auto;
    -webkit-overflow-scrolling: touch;
  }
  .detailPanel .detailImgWrap .slider-wrapper {
    width: 100%;
    height: 100%;
  }
  .detailPanel .detailImgWrap .contImg {
    object-fit: cover;
  }
  .leftPanelWrap,
  .scrollbar,
  .treeMenu {
    touch-action: auto;
    -webkit-overflow-scrolling: touch;
  }
  .tmsContainer {
    z-index: 601;
  }
  .familySitePanel {
    width: 100%;
    height: 80vh;
    position: absolute;
    left: 0;
    top: unset;
    bottom: 0;
    border-radius: 3.2rem 3.2rem 0 0;
    z-index: 1001;
  }
  .familySitePanel .content .sban li:hover span {
    display: block;
  }
  .mapImgModal {
    width: 82vw;
  }
  .archPanel,
  .archIstPanel,
  .archMyPanel {
    width: 100vw;
  }
  #archInsertPanelWrap {
    padding-bottom: 6.4rem;
  }
  .archiTapWrap {
    padding: 1.6rem 1.6rem;
  }
  .archiTapWrap .pageTit {
    padding: 0;
  }
  .archiTapWrap .btnCloseApsol {
    top: 50%;
    transform: translateY(-50%);
    right: 2rem;
    width: 4rem;
    height: 4rem;
  }
  .detailPanel .archiTapWrap {
    padding: 0;
  }
  .detailPanel .archiTapWrap .btnCloseApsol {
    right: 0.4rem;
  }
  .archPanel .travleListWrap,
  .archIstPanel .travleListWrap {
    height: unset !important;
  }
  .archPanel .mbArchHead,
  .archIstPanel .mbArchHead {
    position: sticky;
    left: 0;
    top: 0;
    box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.08);
    z-index: 1;
  }
  .cardList .textArea .editBtn {
    display: block;
    padding: 0.8rem;
    position: absolute;
    bottom: 0rem;
    right: 0rem;
    cursor: pointer;
  }
  .mobTopHead .backBtn,
  .mobTopHead .closeBtn {
    display: block;
  }
  .mobTopHead .btnClose {
    position: absolute;
    top: 2rem;
    right: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 100px;
    background-color: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
    cursor: pointer;
    z-index: 3;
  }
  .mobModalHand {
    width: 100%;
    padding: 0.8rem 0 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
    touch-action: none;
  }
  .mobModalHand span {
    display: inline-block;
    width: 8rem;
    height: 0.4rem;
    background-color: #D9D9D9;
    border-radius: 10px;
    pointer-events: none;
  }
  .mobModalHand:active {
    cursor: grabbing;
  }
  .mobTopHead {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
  }
  .mobTopHead .headWrap {
    display: flex;
    align-items: center;
    padding: 0.5rem 0;
    cursor: grab;
    touch-action: none;
  }
  .mobTopHead .headWrap .backBtn {
    cursor: pointer;
    touch-action: auto;
    padding: 0.5rem;
  }
  .mobTopHead .headWrap .TitSm700 {
    font-size: 1.8rem;
    pointer-events: none;
    flex: 1;
    text-align: center;
  }
  .mobTopHead .headWrap .btnClose {
    margin-left: auto;
    cursor: pointer;
    touch-action: auto;
  }
  .mobTopHead .headWrap:active {
    cursor: grabbing;
  }
  .mobileNav {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    z-index: 1100;
  }
  .mobileNav ul {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    height: 5.6rem;
  }
  .mobileNav ul li {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mobileNav ul li.active {
    background-color: #3447D2;
    border-radius: 0.8rem;
  }
  .mobileNav ul li.active img {
    filter: invert(100%) sepia(22%) saturate(0%) hue-rotate(123deg) brightness(112%) contrast(101%);
  }
  .mobileNav ul li.active.pngimg img {
    filter: unset;
  }
  .mobileNav ul li.pngimg img, .mobileNav ul li.keywd img {
    width: 2.4rem;
  }
  .mobileNav .btnAllmenu {
    width: 2.4rem;
  }
  .archInsertPanelWrap {
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
  }
  .MBtopFix .optionSelectWrap {
    position: sticky;
    left: 0;
    top: 0;
    z-index: 99;
  }
  .MBtopFix .leftPanel {
    overflow-y: auto;
  }
  .MBtopFix #panel1ContsListWrap {
    height: auto !important;
  }
  .familySitePanel .btnFixed {
    width: 100%;
  }
  .selectedThemePreview {
    padding: 1.6rem;
  }
  .selectedThemePreview .previewHeader {
    margin-bottom: 1.2rem;
  }
  .selectedThemePreview .previewImageWrap {
    gap: 1.2rem;
    overflow: auto;
  }
  .selectedThemePreview .previewImageWrap .tooltipImageItem {
    width: 4.8rem;
    padding-top: 0;
  }
  .selectedThemePreview .tootipImgBox {
    width: 100%;
  }
  .selectedThemePreview .tootipTitle {
    font-size: 1.1rem;
  }
  .topModalWrap .topModal.sm {
    width: 50%;
  }
  .centerModal.xl,
  .centerModal.sm {
    width: 80%;
  }
  .centerModal.xl .mapDetailWrap .lineSettingWrap,
  .centerModal.sm .mapDetailWrap .lineSettingWrap {
    flex-wrap: wrap;
  }
  button,
  .themeBtnWrap .btn {
    padding: 0.8rem;
    font-size: 1.4rem;
  }
  .activeBtn {
    font-size: 1.6rem;
  }
  .visualWrap .TitSm500 {
    margin: 1.6rem 0 0.8rem;
  }
  p.expln {
    font-size: 1.3rem;
    height: auto;
    white-space: pre-wrap;
  }
  .dropdownMenu .textWrap {
    line-height: 130%;
  }
  .treeMenu .treeCategory .treeItemHeader .itemContent .textArea .TitSm700 {
    font-size: 1.5rem;
  }
  .mapCirclePin .menu.active .pinClickIcon {
    transform: rotate(calc(45deg * var(--i))) translateX(5.5rem);
  }
  .icCircleInner .bg {
    height: 2.6rem;
    padding: 0.4rem 0;
  }
  .icCircleInner .bg .tit {
    font-size: 1.2rem;
  }
  .icCircleInner .img {
    width: 2.4rem;
    min-width: 2.4rem;
    height: 2.4rem;
  }
  #themeTypePanel .optionSelectWrap .btnClose.MBshow767 {
    display: flex;
  }
  #visualStyleForm .palette-preview {
    width: 100% !important;
  }
  #visualPanel .inputWrap input.min,
  #visualPanel .inputWrap input.max {
    pointer-events: none;
  }
  .banner-section {
    padding: 1rem 1.2rem;
    /* 상단 배너: 1열씩 */
  }
  .banner-section .banner-top {
    grid-template-columns: 1fr;
  }
  .banner-section .banner-top .card {
    height: 8rem;
  }
  .banner-section {
    /* 하단 배너: 2열 */
  }
  .banner-section .banner-bottom {
    grid-template-columns: repeat(2, 1fr);
  }
  .banner-section .card-text .title {
    font-size: 3.2vw;
  }
  .banner-section .card-text .sub {
    font-size: 1.8vw;
  }
  .banner-section .card-label {
    font-size: 2.4vw;
  }
  .banner-section .card-desc {
    font-size: 1.8vw;
  }
  .banner-section .card-icon {
    width: 5rem;
    height: 5rem;
  }
  .sitePanel .btnFixed {
    width: 100%;
  }
  .sitePanel .sitemap_bg ul {
    max-width: 50rem;
    margin: 0 auto;
  }
  .sitePanel .content_bg .content .sban2 ul {
    justify-content: center;
    gap: 0.8rem;
  }
  .sitePanel .content_bg .content .sban2 li {
    margin: 0rem;
    width: 24.8rem;
    transition: 0.3s;
    background-size: contain;
    background-position: 100% 100%;
  }
  .sitePanel .mobTopHead {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    padding: 0.8rem 0 0;
    z-index: 1;
    box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.08);
  }
}
@media only screen and (max-width: 575px) {
  .MBhide575 {
    display: none;
  }
  .header .logo a {
    font-size: 1.6rem;
    white-space: pre;
  }
  .header .logo.MB a {
    font-size: 1.6rem;
    white-space: unset;
  }
  .header .logo.MB a img.newLogo {
    width: 2rem;
  }
  .header .logo .subLogo {
    font-size: 1.3rem;
    font-weight: 700;
  }
  .header .globLang .googleTrans {
    right: 18rem;
  }
  .header .globLang .googleTrans img {
    width: 70%;
  }
  .selectBoxWrap .SelectBox {
    padding-left: 0.6rem;
    width: 13rem;
  }
  .header .globLang .SelectList {
    width: 12rem;
  }
  .header .globLang .SelectList p .MBgoogleTrans {
    display: block;
    padding: 0.4rem;
    margin-top: 0.4rem;
    width: 100%;
    background-color: #444;
    box-sizing: border-box;
  }
  .mapContainer .hashtagMapWrap {
    display: flex;
    padding-bottom: 0.8rem;
    width: 100%;
    white-space: pre;
    overflow: auto;
  }
  .mapCirclePin .videoBox {
    width: 36rem;
  }
  .mapCirclePin .videoBox iframe {
    height: 21rem;
  }
  .topModalWrap .topModal.sm {
    width: 70%;
  }
  .banner-section .card-text .title {
    font-size: 4vw;
  }
  .banner-section .card-text .sub {
    font-size: 2.4vw;
  }
  .banner-section .banner-top .card {
    padding: 0rem 0 0rem 2.4rem;
  }
  .banner-section .card-label {
    font-size: 3.2vw;
  }
  .banner-bottom .card .card-icon {
    width: 4rem;
    height: 4rem;
  }
  .banner-section .card-desc {
    font-size: 2.1vw;
  }
  .introMain .introGoogleTrans {
    padding: 0.8rem;
  }
  .introMain .introGoogleTrans img {
    width: 3.2rem;
  }
  .introMain .introLeft .top10 h2 {
    font-size: 1.8rem;
  }
}
.header .utilMenuBtn {
  display: none;
}

@media only screen and (max-width: 430px) {
  .header {
    position: relative;
  }
  .header .utilMenuBtn {
    margin-top: 0;
    margin-right: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    min-width: 3.2rem;
    width: 3.2rem;
    height: 3rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 0.6rem;
    background-color: transparent;
    color: #fff;
    cursor: pointer;
  }
  .header .utilMenuBtn .menuIcon {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.3rem;
    width: 1.4rem;
  }
  .header .utilMenuBtn .menuIcon span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 1px;
    background-color: #fff;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }
  .header .util {
    display: none;
    position: absolute;
    top: calc(100% + 0.6rem);
    right: 1.2rem;
    left: auto;
    padding: 0.8rem;
    border-radius: 0.8rem;
    background-color: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
    z-index: 20;
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
  }
  .header .util li a {
    display: block;
    padding: 0.9rem 1.2rem;
    font-size: 1.3rem;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
    color: #1a4c9a;
    border: 1px solid #d8e3f4;
    border-radius: 0.6rem;
    background-color: #f5f8fe;
    font-weight: 500;
  }
  .header .util li a.active {
    color: #fff;
    background-color: #1a4c9a;
    border-color: #1a4c9a;
  }
  .header.util-open .util {
    display: flex;
  }
  .header.util-open .utilMenuBtn .menuIcon span:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
  }
  .header.util-open .utilMenuBtn .menuIcon span:nth-child(2) {
    opacity: 0;
  }
  .header.util-open .utilMenuBtn .menuIcon span:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
  }
}
@media only screen and (max-width: 400px) {
  .header .globLang .googleTrans img {
    width: 60%;
  }
  .header .logo .subLogo {
    display: none;
  }
  .banner-section .banner-bottom {
    gap: 1.2rem;
  }
  .banner-section .banner-bottom .card .card-icon {
    width: 3.2rem;
    height: 3.2rem;
  }
  .banner-section .banner-bottom .card .card-icon img {
    width: 70%;
  }
}
@media only screen and (max-height: 580px) {
  .onboardPop .popInfoText {
    width: auto !important;
    max-height: 50vh;
  }
}
@media only screen and (max-height: 800px) {
  .onboardPop {
    font-size: 7px;
  }
}
@media only screen and (max-height: 700px) {
  .onboardPop {
    font-size: 6px;
  }
  .imgHistory {
    display: none;
  }
}
@media only screen and (max-height: 600px) {
  .onboardPop {
    font-size: 5px;
  }
}
#contsInfoPanel .btnCloseApsol {
  right: 2rem;
}

body {
  user-select: none; /* 텍스트 선택 방지 */
  -webkit-user-select: none; /* Safari */
}

.mobileNav {
  display: none;
  background: var(--Color, #FFF);
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.16);
}

.mobTopHead .backBtn, .mobTopHead .btnClose {
  display: none;
}

.MBshow767, .MBshow991 {
  display: none;
}

@media only screen and (max-width: 1440px) {
  .container:has(.rightAside .rightPanel:not(.hidden)) .swichTabWrap {
    left: 100%;
    transform: translateX(-105%);
  }
  .container:has(.rightAside .rightPanel:not(.hidden)) .swichTabWrap .switch {
    width: max-content;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1070px) {
  .leftAside {
    transition: margin-left 0.3s ease;
  }
  .leftAside.collapsed-by-right {
    margin-left: -30rem;
  }
  .leftAside.collapsed-by-right .panerHideBtn > img {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 1199px) {
  html {
    font-size: 9px;
  }
  body {
    font-size: 1.4rem;
  }
  .swichTabWrap {
    left: 100%;
    transform: translateX(-105%);
  }
  .swichTabWrap .switch {
    width: max-content;
  }
}
@media only screen and (max-width: 991px) {
  body {
    overflow: auto;
  }
  .MBshow991 {
    display: block;
  }
  .MBhide991 {
    display: none;
  }
  .mapCirclePin .menu.active .pinClickIcon {
    transform: rotate(calc(45deg * var(--i))) translateX(5rem);
  }
  .mainFoot {
    width: calc(100% - 4rem);
    height: auto;
    margin: 0 auto;
    padding: 2rem 1rem;
  }
  .mainFoot .clear {
    flex-flow: column;
    align-items: unset;
  }
  /* width:100%-20(좌우마진) */
  .mainFoot li.con {
    width: 100%;
    margin-top: 0;
  }
  .mainFoot li.con2 {
    margin-top: 0;
  }
  .mainFoot li.line {
    display: none;
  }
  .introMain {
    flex-direction: column-reverse;
    height: auto;
  }
  .introMain article {
    height: auto;
    flex: unset;
  }
  .introMain article .textWrap {
    margin: 5rem 2rem 2rem 4rem;
  }
  .introMain article .textWrap h1 {
    font-size: 7.6vw;
  }
  .introMain article .textWrap h1 span {
    font-size: 4.2vw;
  }
  .introMain article .textWrap p {
    margin-top: 1.4rem;
    font-size: 3.5vw;
  }
  .introMain .introLeft {
    height: 100vw;
  }
  .introMain .introLeft .bgImg {
    background-image: url("../images/introMainLeftMB.png");
  }
  .introMain .introRight {
    height: calc(100vw - 10rem);
  }
  .introMain .introRight .bgImg {
    background-image: url("../images/introMainRightMB.png");
  }
  .introMain .introLeft .top10 {
    width: 80%;
    padding: 1rem;
  }
  .introMain .introLeft .top10 h2 {
    font-size: 2rem;
  }
  .introMain .introLeft .top10 ul {
    flex-wrap: wrap;
  }
  .introMain .introLeft .top10 ul li {
    width: 17%;
    border-radius: 0.8rem;
    overflow: hidden;
  }
  .introMain .introGoogleTrans {
    /*background: rgba(255, 255, 255, 0.7);*/
    background: rgba(0, 0, 0, 0.3);
  }
  .introMain .introGoogleTrans p {
    font-size: 1.6rem;
    /*color:#333;*/
  }
  .mainBannerBG .bannerInner {
    padding: 0.8rem 0;
  }
  .mainBannerBG .bannerInner li {
    width: 47%;
  }
}
@media only screen and (max-width: 767px) {
  .MBshow767 {
    display: block;
  }
  .MBhide767 {
    display: none !important;
  }
  html {
    font-size: 9.5px;
  }
  .onboardPop {
    display: none;
  }
  .btmBanner {
    display: none;
  }
  .container {
    position: relative;
    z-index: 0;
    height: calc(100vh - 4rem - 5.6rem);
  }
  .container.detail-panel-active {
    z-index: 11;
  }
  .leftAside {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: 16rem;
    border-radius: 3.2rem 3.2rem 0 0;
    overflow: hidden;
    z-index: 1000;
    transition: height 0.3s ease-in-out;
  }
  .leftPanelWrap {
    height: 100%;
    position: relative;
  }
  .leftPanel, .detailPanel {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  .leftAside.expanded {
    height: calc(100vh - 9.6rem);
  }
  .leftAside.collapsed {
    height: 40vh;
  }
  .leftAside.minimized {
    height: 16rem;
  }
  .leftAside.fold {
    height: 0;
    opacity: 0;
    display: none;
  }
  .leftAside .leftMenu {
    display: none;
  }
  .weatherModal {
    display: none;
  }
  .leftAsideLogin {
    width: 100%;
    height: calc(90vh - 6.4rem);
    overflow-y: auto;
  }
  .mobTopHead .backBtn, .mobTopHead .closeBtn {
    display: block;
  }
  .mobTopHead .btnClose {
    position: absolute;
    top: 2rem;
    right: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 100px;
    background-color: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
    cursor: pointer;
    z-index: 3;
  }
  .mobModalHand {
    width: 100%;
    padding: 0.8rem 0 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
    touch-action: none;
  }
  .mobModalHand span {
    display: inline-block;
    width: 8rem;
    height: 0.4rem;
    background-color: #D9D9D9;
    border-radius: 10px;
    pointer-events: none;
  }
  .mobModalHand:active {
    cursor: grabbing;
  }
  .mobTopHead {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
  }
  .mobTopHead .headWrap {
    display: flex;
    align-items: center;
    padding: 0.5rem 0;
    cursor: grab;
    touch-action: none;
  }
  .mobTopHead .headWrap .backBtn {
    cursor: pointer;
    touch-action: auto;
    padding: 0.5rem;
  }
  .mobTopHead .headWrap .TitSm700 {
    font-size: 1.8rem;
    pointer-events: none;
    flex: 1;
    text-align: center;
  }
  .mobTopHead .headWrap .btnClose {
    margin-left: auto;
    cursor: pointer;
    touch-action: auto;
  }
  .mobTopHead .headWrap:active {
    cursor: grabbing;
  }
  .mobileNav {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    z-index: 1100;
    display: flex;
    justify-content: space-evenly;
    padding: 0 2.4rem;
  }
  .mobileNav .panelIcon {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mobileNav .panelIcon img {
    width: 3.2rem;
  }
  .mobileNav ul {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    height: 6.4rem;
  }
  .mobileNav ul li {
    width: 4.8rem;
    height: 4.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mobileNav ul li.active {
    background-color: #3447D2;
    border-radius: 0.8rem;
  }
  .mobileNav ul li.active img {
    filter: invert(100%) sepia(22%) saturate(0%) hue-rotate(123deg) brightness(112%) contrast(101%);
  }
  .mobileNav ul li.active.pngimg img {
    filter: unset;
  }
  .mobileNav ul li.pngimg img, .mobileNav ul li.keywd img {
    width: 3.2rem;
  }
  .mobileNav .btnAllmenu {
    width: 2.4rem;
  }
  .mapContainer .mapDistSetBtn {
    gap: 0.2rem;
    overflow-y: scroll;
    max-width: calc(100% - 2rem);
    box-sizing: border-box;
  }
  .mapContainer .mapDistSetBtn .mapTypeSelect {
    width: min(11rem, 32vw);
    min-width: 8.8rem;
  }
  .mapContainer .mapDistSetBtn button {
    padding: 0.2rem;
  }
  .swichTabWrap {
    position: relative;
    left: unset;
    top: unset;
    transform: unset;
    width: 100%;
    height: 5.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .swichTabWrap .switch {
    width: 80%;
    height: 4.8rem;
  }
  .swichTabWrap .switch > span {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.25;
    height: 100%;
    padding: 0 1.6rem;
    box-sizing: border-box;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
    position: relative;
  }
  .swichTabWrap .switch > span::after {
    content: "";
    position: absolute;
    top: -0.4rem;
    bottom: -0.4rem;
    left: -0.4rem;
    right: -0.4rem;
    z-index: 1;
  }
  .activeBtn {
    font-size: 1.6rem;
  }
  .pannelTitleWrap {
    position: sticky;
    left: 0;
    top: 0;
    padding: 1.2rem;
    border-bottom: 1px solid #E4E4E4;
    background-color: #F7F7F9;
    z-index: 99;
  }
  .selectedThemePreview {
    padding: 1.6rem;
  }
  .selectedThemePreview .previewHeader {
    margin-bottom: 1.2rem;
  }
  .selectedThemePreview .previewImageWrap {
    gap: 1.2rem;
    overflow: auto;
  }
  .selectedThemePreview .previewImageWrap .tooltipImageItem {
    width: 4.8rem;
    padding-top: 0;
  }
  .selectedThemePreview .tootipImgBox {
    width: 100%;
  }
  .selectedThemePreview .tootipTitle {
    font-size: 1.1rem;
  }
  .topModalWrap .topModal.sm {
    width: 50%;
  }
  .centerModal.xl, .centerModal.sm {
    width: 80%;
  }
  .centerModal.xl .mapDetailWrap .lineSettingWrap, .centerModal.sm .mapDetailWrap .lineSettingWrap {
    flex-wrap: wrap;
  }
  .mapContainer .mapLegendBtn {
    top: 6.4rem;
    bottom: unset;
  }
  .mapContainer .mapLegendModal {
    top: 10.2rem;
    bottom: unset;
    max-height: 50vh;
    overflow-y: auto;
  }
  .mapContainer .mapLegendModal.mobile-hidden {
    display: none !important;
  }
  .cardList_ThemeGrid {
    gap: 1.2rem;
    justify-content: unset;
  }
  .cardList_ThemeGrid .tooltipImageItem {
    width: calc(25% - 1.2rem);
    height: unset;
  }
  .cardList_ThemeGrid .tooltipImageItem.hover {
    width: calc(25% - 1.2rem);
  }
  .tooltipImageItem button {
    display: none;
  }
  .tooltipImageItem.hover button {
    display: block;
  }
  .addressListWrap {
    max-height: 100%;
  }
  .addressSearchWrap.MB {
    position: absolute;
    left: 0;
    top: 0rem;
    width: 100%;
    height: 100%;
    margin-top: 0rem;
    z-index: 999;
    background-color: #FFFFFF;
    overflow-y: auto;
  }
  .addressSearchWrap.MB .activeBtn.bottomBtn {
    bottom: 1rem;
  }
  .addressSearchWrap.MB .address-title {
    padding: 1.6rem;
  }
  .addressSearchWrap.MB .address-container .addressListWrap {
    height: unset;
    max-height: unset;
  }
  .addressSearchWrap.MB .address-container .searchWrap .disFlex .borderSelect {
    width: auto;
    max-width: 10rem;
  }
  /* 주소 검색 패널이 모바일 전체화면(MB)일 때 기준설정 패널 숨김 */
  .addressSearchWrap.MB ~ .policyWrap {
    display: none;
  }
  .leftAside:has(.addressSearchWrap.MB) {
    border-radius: 0;
  }
  .detailPanel.ifCos {
    display: none;
    position: absolute;
    top: unset;
    bottom: 0;
    left: 0;
    height: 80vh;
    border-radius: 3.2rem 3.2rem 0 0;
    z-index: 1001;
  }
  .detailPanel.ifInfo {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: calc(90vh - 5.4rem);
  }
  .leftAside .weatherModal {
    left: 1.2rem;
    bottom: 2rem;
  }
  .leftPanel, .detailPanel, #archInsertPanelWrap {
    width: 100vw;
  }
  .leftPanel .btnClose, .detailPanel .btnClose, #archInsertPanelWrap .btnClose {
    position: absolute;
    top: 2rem;
    right: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 100px;
    background-color: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
    cursor: pointer;
    z-index: 3;
  }
  .travleListWrap {
    height: unset !important;
    touch-action: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overflow-y: unset;
  }
  .activeBtn.bottomBtn.MBshow767 {
    position: sticky;
    left: 0;
    right: 0;
    bottom: 1rem;
    margin: 1rem auto 0;
  }
  .cardListCourse .frontText .courseInfo span.tn, .workCourse .frontText .courseInfo span.tn {
    width: 77%;
  }
  div#map_control {
    bottom: 2rem !important;
    z-index: 0 !important;
  }
  .optionSelectWrap .optionBtn .roundBtn {
    width: 8rem;
    height: 8rem;
  }
  .header .globLang .googleTrans img {
    width: 70%;
  }
  .leftAsideLogin {
    padding: 0;
    height: 100%;
    overflow-y: auto;
  }
  .leftAsideLogin .mobTopHead {
    position: sticky;
    left: 0;
    top: 0;
    height: auto;
    background-color: #fff;
    padding: 1.6rem 1.6rem 0;
    z-index: 1;
    box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.08);
  }
  .leftAsideLogin h1 {
    font-size: 1.9rem;
    font-weight: 700;
    color: #1d1d1d;
  }
  .leftAsideLogin .list {
    padding: 1.6rem 1.6rem 0;
    margin-bottom: 0.4rem;
  }
  .detailPanel .mobTopHead {
    position: sticky;
    left: 0;
    top: 0;
    height: auto;
    background-color: #fff;
    padding: 1.6rem;
    z-index: 1;
  }
  .detailPanel .detailImgWrap {
    height: 40rem;
  }
  .detailPanel .detailImgWrap .slider-wrapper {
    width: 100%;
    height: 100%;
  }
  .detailPanel .detailImgWrap .contImg {
    object-fit: cover;
  }
  .leftPanelWrap, .scrollbar, .treeMenu {
    touch-action: auto;
    -webkit-overflow-scrolling: touch;
  }
  .familySitePanel {
    width: 100%;
    height: 80vh;
    position: absolute;
    left: 0;
    top: unset;
    bottom: 0;
    border-radius: 3.2rem 3.2rem 0 0;
    z-index: 1001;
  }
  .familySitePanel .content .sban li:hover span {
    display: block;
  }
  .mapImgModal {
    width: 82vw;
  }
  .archPanel, .archIstPanel, .archMyPanel {
    width: 100vw;
  }
  #archInsertPanelWrap {
    padding-bottom: 6.4rem;
  }
  .archiTapWrap {
    padding: 1.6rem 1.6rem;
  }
  .archiTapWrap .pageTit {
    padding: 0;
  }
  .archiTapWrap .btnCloseApsol {
    top: 50%;
    transform: translateY(-50%);
  }
  .archPanel .travleListWrap, .archIstPanel .travleListWrap {
    height: unset !important;
  }
  .archPanel .mbArchHead, .archIstPanel .mbArchHead {
    position: sticky;
    left: 0;
    top: 0;
    box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.08);
    z-index: 1;
  }
  .cardList .textArea .editBtn {
    display: block;
    padding: 0.8rem;
    position: absolute;
    bottom: 0rem;
    right: 0rem;
    cursor: pointer;
  }
  .archInsertPanelWrap {
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
  }
  .MBtopFix .optionSelectWrap {
    position: sticky;
    left: 0;
    top: 0;
    z-index: 99;
  }
  .MBtopFix .leftPanel {
    overflow-y: auto;
  }
  .MBtopFix #panel1ContsListWrap {
    height: auto !important;
  }
  .familySitePanel .btnFixed {
    width: 100%;
  }
  .rightAside {
    display: none;
  }
  .rightAside.mobile-fullscreen {
    position: fixed !important;
    top: 4rem;
    left: 0;
    width: 100vw !important;
    height: var(--policy-rightaside-h, calc(100vh - 4rem - 5.6rem)) !important;
    z-index: 2000;
    background-color: #fff;
    display: flex !important;
    transition: none !important;
  }
  .rightAside.mobile-fullscreen *, .rightAside.mobile-fullscreen *::before, .rightAside.mobile-fullscreen *::after {
    transition: none !important;
    animation: none !important;
  }
  .rightAside.mobile-fullscreen .rightPanelWrap {
    width: 100% !important;
    height: 100% !important;
    display: flex;
    flex-direction: column;
    transition: none !important;
  }
  .rightPanel {
    width: auto !important;
  }
  .rightAside.mobile-fullscreen .rightPanel {
    width: 100% !important;
    height: 100% !important;
    max-height: var(--policy-rightaside-h, calc(100vh - 4rem - 5.6rem));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background-color: #fff;
    border-radius: 0;
    box-shadow: none;
    position: relative;
    transition: none !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 1.6rem);
  }
  .rightAside.mobile-fullscreen .rightPanel .btnClose {
    position: absolute;
    top: 2rem;
    right: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 100px;
    background-color: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
    cursor: pointer;
    z-index: 3;
  }
  .rightPanel.hidden {
    display: none !important;
  }
}
@media only screen and (max-width: 575px) {
  .MBhide575 {
    display: none;
  }
  .header .logo a {
    font-size: 1.6rem;
    white-space: pre;
  }
  .header .logo.MB a {
    font-size: 1.6rem;
    white-space: unset;
  }
  .header .logo.MB a img.newLogo {
    width: 2rem;
  }
  .header .logo .subLogo {
    font-size: 1.3rem;
    font-weight: 700;
  }
  .header .globLang .googleTrans {
    right: 18rem;
  }
  .header .globLang .googleTrans img {
    width: 70%;
  }
  .selectBoxWrap .SelectBox {
    padding-left: 0.6rem;
    width: 17rem;
  }
  .header .globLang .SelectList {
    width: 16rem;
  }
  .header .globLang .SelectList p .MBgoogleTrans {
    display: block;
    padding: 0.4rem;
    margin-top: 0.4rem;
    width: 100%;
    background-color: #444;
    box-sizing: border-box;
  }
  .mapContainer .hashtagMapWrap {
    display: flex;
    padding-bottom: 0.8rem;
    width: 100%;
    white-space: pre;
    overflow: auto;
  }
  .mapCirclePin .videoBox {
    width: 36rem;
  }
  .mapCirclePin .videoBox iframe {
    height: 21rem;
  }
}
@media only screen and (max-width: 400px) {
  .header .globLang .googleTrans img {
    width: 60%;
  }
  .header .logo .subLogo {
    display: none;
  }
  .header {
    /* height:auto;*/
    /*padding:0.8rem 0;*/
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .header .util {
    margin-left: 2rem;
  }
  .header .util li a {
    display: block;
  }
}
@media only screen and (max-height: 580px) {
  .onboardPop .popInfoText {
    width: auto !important;
    max-height: 50vh;
  }
}
@media only screen and (max-height: 800px) {
  .onboardPop {
    font-size: 7px;
  }
}
@media only screen and (max-height: 700px) {
  .onboardPop {
    font-size: 6px;
  }
  .imgHistory {
    display: none;
  }
}
@media only screen and (max-height: 600px) {
  .onboardPop {
    font-size: 5px;
  }
}
#contsInfoPanel .btnCloseApsol {
  right: 2rem;
}
