/*함께읽는여름 CSS*/
.noScroll{
    overflow-y: hidden;
}
@font-face {
  font-family: 'Godo';
  font-weight: 400;
  font-style: normal;
  src: url('https://cdn.jsdelivr.net/korean-webfonts/1/corps/godo/Godo/GodoM.woff2') format('woff2'),
       url('https://cdn.jsdelivr.net/korean-webfonts/1/corps/godo/Godo/GodoM.woff') format('woff');
}

@font-face {
  font-family: 'Godo';
  font-weight: 600;
  font-style: normal;
  src: url('https://cdn.jsdelivr.net/korean-webfonts/1/corps/godo/Godo/GodoB.woff2') format('woff2'),
       url('https://cdn.jsdelivr.net/korean-webfonts/1/corps/godo/Godo/GodoB.woff') format('woff');
}
.readTogetherMain section{
	overflow:hidden;
}
.onlyBS_notfixed, section{
    background: none;
}

.godo_bd{
  font-family: 'Godo', sans-serif;
  font-weight: 600;
}
.godo_md{
  font-family: 'Godo', sans-serif;
  font-weight: 400;
}

html, body {
  overflow: auto; /* 또는 scroll */
  height: auto;   /* height: 100% 도 원인일 수 있음 */
}
/*--------
전체레이아웃
--------*/
.fixedFloatingBtnGroup {
       bottom: 20px !important;
}
div,p,button,a{
    word-break: keep-all;
}
.noise-area{
  position: relative;
  
}
.lo900{
    max-width: 900px;
    margin: 0 auto;
}

.referInfoLast *{
     opacity: 0.9;
}

/* 노이즈 필터 레이어 */
.noise-area::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url('https://cache.wjthinkbig.com/WEB_RESOURCE/WJBOOKCLUB/images/OPENPAGE/202507/futureopen2025/white_noise_256x256.png');
  background-repeat: repeat;
  background-size: auto;
  opacity: 0.05;
  pointer-events: none;
  z-index: 1;
}

/*--------
텍스트위계
--------*/
.fw700{
    font-weight: 700;
}
.fw600{
    font-weight: 600;
}
.fw500{
    font-weight: 500;
}
.fw400{
    font-weight: 400;
}
.fw300{
    font-weight: 300;
}
.fw300 strong{
    font-weight: 600;
}
.tit1{
    font-size: 36px;
    line-height: 1.3;
}
.sub1{
    font-size: 20px;
    margin-top: 18px;
    line-height: 1.5;
}
.tit2{
    font-size: 32px;
    line-height: 1.3;
}
.sub2{
    font-size: 18px;
    margin-top: 16px;
    line-height: 1.5;
}
.pt_titWrap{   
    margin-bottom: 50px;
}
.pt_tag{   
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 22px;
    color:var(--bl-1);
    margin-bottom:20px;
}
.pt_tag .tag2{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    color: var(--pri-1);
    width: 30px;
    height: 30px;
   background: url(https://cache.wjthinkbig.com/WEB_RESOURCE/WJBOOKCLUB/images/OPENPAGE/202507/futureopen2025/tag_book.svg) center center / cover no-repeat;
}

.infoMapsbtn_01::before {
    background: url(https://cache.wjthinkbig.com/WEB_RESOURCE/WJBOOKCLUB/images/OPENPAGE/202507/futureopen2025/icon/ico_naver.png) center center / cover no-repeat;
}
.p1{
    font-size: 28px;
}
.p2{
    font-size: 24px;
}
.p3{
    font-size: 20px;
}
.p4{
    font-size: 18px;
}
.p5{
    font-size: 16px;
}
.p55{
    font-size: 15px;
}
.p6{
    font-size: 14px;
}
.p7{
    font-size: 13px;
}
:root {
    --white:#fff;
    --pri-op10:rgba(0, 60, 200, 0.10);
    --pri-op20:rgba(0, 60, 200, 0.20);
    --pri-op40:rgba(0, 60, 200, 0.40);
    --pri-1:#003CC8;
    --pri-2:#1100A9;
    --bl-1:#082468;
    --gr-1:#3C548E;
    --gr-2:#6D83B5;
    --gr-3:#c6cfe4;
    --gr-4:#eff4ff;
    --gr-5:#F8FAFF;
}
.rTpri{
    color:var(--pri-1);
}
.rTbl{
    color:var(--bl-1);
}
.rTGr1{
    color:var(--gr-1);
}
.rTGr2{
    color:var(--gr-2);
}
.rTWh{
    color:var(--white);
}
.bgWh{
    background-color: #fff;
}
.bgLight{
    background-color: var(--gr-4);
}
.bgLight2{
	background-color:#f7faff;
}
.rTpri_bg{
    background-color:var(--pri-1);
}
.rTpri_bg_dark{
    background-color:var(--pri-2);
}
.rTpri_bl{
    background-color:#040026;
}
.referSpan{
    display: block;
    margin-top: 6px;
    line-height: 130%;
    position:relative;
}
.ticketRight .referSpan{
	padding-left:12px;
}
.ticketRight .referSpan::before{
	position:absolute;
	position: absolute;
    left: 0;
    top:0;
    content: "*";
    display: block;
}
.barDeco{
    margin: 0 auto;
    width: 2px;
    height: 40px;
    background-color: var(--pri-op40);
    margin-top: 40px;
}
.barTxt{
    display: block;
    position: relative;
    padding-left: 12px;
}
.barTxt::before{
    position: absolute;
    left: 0;
    top:50%;
    content: "-";
    transform: translateY(-50%);
    display: block;
}
/*텍스트 꾸밈*/
.tag1{
    font-size: 14px;
    font-weight: 500;
    background-color: var(--pri-2);
    margin-bottom: 12px;
    display: inline-block;
    margin-left:0;
    margin-right:0;
    padding: 4px 12px;
    position: relative;
    letter-spacing: 4px;
    line-height: 1;
}
.tag1 .bf{
    position: absolute;
    height: 100%;
    width: auto;
    left: 1px;
    top: 0;
    transform: translateX(-90%);
}
.tag1 .bf img{
    height: 100%;
    width: auto;
}
.tag1 .af{
    position: absolute;
    height: 100%;
    width: auto;
    right: 1px;
    top: 0;
    transform: translateX(90%);
}
.tag1 .af img{
    height: 100%;
    width: auto;
}

.tag1.light{
    background-color: var(--pri-1);
}

/*공통 마진*/
.margin10{
    margin-bottom: 10px;
}
.margin20{
    margin-bottom: 20px;
}
/*공통 영역 레이아웃*/
.rT_Con_sec{
    padding-top: 120px;
    padding-bottom: 120px;
}
.rT_titWrap{
    margin-bottom: 50px;
}
.rT_contents{
    margin-bottom: 80px;
}
.rT_contents:last-child{
    margin-bottom: 0;
}
.bulletRefer{
    position: relative;
    padding-left: 20px;
}
.bulletRefer::before{
    position: absolute;
    content: "•";
    display: inline-block;
    position: absolute;
    top:50%;
    transform: translateY(-50%);
    left: 4px;
}
.referInfoBox .bulletRefer::before{
	transform:none;
	top:0;
}
.rT_info .bulletRefer::before{
	transform:none;
	top:0;
}
.referInfoBox{
    margin-top: 40px;
    padding: 20px;
    background: rgb(0 60 200 / 4%);
}
.copyIcon{
    width: 22px;
    height: 22px;
    position: relative;
    display: inline-block;
}
.copyIcon::after{
    display: block;
    content: "";
    position: absolute;
    top:0;
    left: 0;
    background: url(https://cache.wjthinkbig.com/WEB_RESOURCE/WJBOOKCLUB/images/OPENPAGE/202507/futureopen2025/icon/ico_copy.svg) center center/cover no-repeat;
    width: 100%;
    height: 100%;
}
.copyAdress_kv{
    display: flex;
    margin: 0 auto;
    align-items: center;
    line-height: 1;
    padding: 16px;
    padding-top: 4px !important;
}
.copyAdress_kv .copyIcon{
    margin-left: 8px;
    margin-top: -1px;
}

.copyAdress2 {
	display:flex;
	align-items:center;	
}
.copyAdress2 .copyIcon{
	width:16px;
	height:16px;
	margin-left:4px;	
}

.copyAdress_about{
    text-align: left;
}

.copyAdress_about .copyIcon{
    width: 18px;
    height: 18px;
    margin-left: 4px;
}
.copyAdress_about .copyIcon::after{
    top:4px;
}
.infoMapsbtnWrap{
    display: flex;
    gap:8px;
    margin-top: 10px;
    flex-wrap: wrap;
}
.infoMapsbtn{
    padding:0 12px 0 8px;
    height: 36px;
    line-height: 36px;
    display: flex;
    border: 1px solid var(--gr-3);
    align-items: center;
    position: relative;
    gap: 4px;
    border-radius: 999px;
    flex-shrink: 0;
    background:#fff;
}
.infoMapsbtn::before{
    display: block;
    content: "";
    width: 22px;
    height: 22px;
}
.infoMapsbtn_01::before{
    background: url(https://cache.wjthinkbig.com/WEB_RESOURCE/WJBOOKCLUB/images/OPENPAGE/202507/futureopen2025/icon/ico_naver.png) center center/cover no-repeat;
}
.infoMapsbtn_02::before{
    background: url(https://cache.wjthinkbig.com/WEB_RESOURCE/WJBOOKCLUB/images/OPENPAGE/202507/futureopen2025/icon/ico_kakao.svg) center center/cover no-repeat;
}
.infoMapsbtn_03::before{
    background: url(https://cache.wjthinkbig.com/WEB_RESOURCE/WJBOOKCLUB/images/OPENPAGE/202507/futureopen2025/icon/ico_parking.svg) center center/cover no-repeat;
}

/*--------
팝업
--------*/
  /* 오버레이 (페이지 전용) */
  .rt-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    padding: 1rem;
  }
  /* 모달 박스 */
  .rt-modal {
    background: #fff;
    width: 100%;
    max-width: 520px;
    max-height: 90%;
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    overflow: hidden;
  }
  /* 헤더/바디/푸터 */
  .rt-modal-header {
    padding:1rem;
    border-bottom: 1px solid #ddd;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
  }
  .rt-modal-header p{
    margin: 0;
    color: #040026;
  }
  .rt-modal-header [data-rt-modal-close] {
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    
  }
  .rt-modal-body {
    overflow-y: auto;
    flex: 1;
    padding: 20px;
  }
  .rt-modal-footer {
    padding: 0.75rem 1rem;
    border-top: 1px solid #ddd;
    text-align: right;
  }
  .rt-modal-footer [data-rt-modal-close] {
    padding: 0.5rem 1rem;
    font-size: 1rem;
    cursor: pointer;
  }
  .rt-modal-confirm{
    font-size: 14px;
    color: var(--pri-1);
    font-weight: 600;
  }
  .rt-modal-close{
    position: absolute;
    right: 10px;
    top: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    flex-shrink: 0;
  }
  .rt-modal-close::after{
    flex-shrink: 0;
  }
/*--------
히어로 영역
rT_hero_sec
--------*/
/*KV 텍스트*/


.ticketTxt{
    display: flex;
    gap: 12px;
    align-content: flex-end;
    align-items: flex-end;
}

.rT_subTxtBox > p{
    text-align: center;
}
.event_date{
    margin-top: 60px;
}
.event_date > p.p4:first-child{
    margin-bottom: 10px;
}

/*KV 배경*/
.background_ani_box{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    z-index: -1;
    background-color: #D1F8FF;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.frame {
    display: none;
    margin: 0 auto;
    width: 72%;
    max-width: 1540px;   
}

.frame_s{
    display: none;
    opacity: 0.8;
    width: 780px;
    
    height: auto;
    position: absolute;
    left: 50%;
    transform: translateX(calc(-50% + 100%));
    bottom: -10%;
    z-index: -1;
}
.frame_s2{
    transform: translateX(calc(-50% - 100%));
}
.frame_img.active,
.frame_s.active{
    display: block;
}
.background_ani_book{
    flex-shrink: 0;
}
.objBox{
    width: 50%;
    height: 100%;
    position: absolute;
    left: 0;
    top:0;
    z-index: -1;
}
.objBox_right{
    left: unset;
    right: 0;
}
.obj{
    position: absolute;
    width: 60px;
    height: auto;
    
}
.obj2 {
    right: 0;
    transform: translate(-720px, 200px);
    top: 0;
    opacity: 0.6;
}
.obj1 {
    right: 0;
    transform: translate(-740px, 320px);
    top: 0;
}
.obj3 {
    right: 0;
    transform: translate(-600px, 40px);
    top: 0;
}
.obj4 {
    right: 0;
    transform: translate(-840px, 100px) ;
    top: 0;
    opacity: 0.7;
}
.obj5 {
    left: 0;
    transform: translate(720px, 50px);
    top: 0;
    opacity: 0.4;
}
.obj6 {
    left: 0;
    transform: translate(600px, 100px);
    top: 0;
}
.obj7 {
    left: 0;
    transform:translate(680px, 300px);
    top: 0;
}
.obj8 {
    left: 0;
    transform:translate(760px, 200px);
    top: 0;
}
/*KV 텍스트 영역*/

/*로고영역*/

.rT_logo_wrap{
    padding: 250px 0 200px 0;
    position: relative;
    overflow: hidden;
}

.rT_logo_box{
    width: 780px;
    height: 300px;
    position: relative;
    margin: 0 auto;
}
.rT_logo_box_top{
    width: 652px;
    height: 183px;
    margin: 0 auto;
}
.lottie-wrap{
    position: relative;
}
.lottie-wrap > .lottie-container{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
.logo_box_inner{
    width: 100%;
    height: 100%;
    position: absolute;
    top:0;
    left: 0;
    
}
.letter_box{
    position: absolute;
}
.letter_tit{
    width: 100%;
    height: 56%;
    left: 6%;
    top: 18.5%;
}
.letter_num{
    width: 24%;
    height: 16.5%;
    left: 37.5%;
    bottom: 2.5%;
}
.letter_star{
    width: 100%;
    height: 80.5%;
    left: 0;
    top:0;
}
.letter_tit{
    display: flex;
}

.letter_num .lt7 {
    position: static;
    width: 100%;
    height: auto;
}
.letter_star .lt8 {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 4.5%;
}
.letter_star .lt9 {
    position: absolute;
    right: 0;
    top: 0;
    width: 4.5%;
}
/*로고애니메이션조정*/
.rT_logo_box {
  overflow: hidden;
}
.letter_tit .letter {
  opacity: 0;
  transform: translateY(40%);
  animation: riseUp 0.6s ease-out forwards;
}
.letter_tit .lt1 { animation-delay: 0s; }
.letter_tit .lt2 { animation-delay: 0.1s; }
.letter_tit .lt3 { animation-delay: 0.2s; }
.letter_tit .lt4 { animation-delay: 0.3s; }
.letter_tit .lt5 { animation-delay: 0.4s; }
.letter_tit .lt6 { animation-delay: 0.5s; }
.letter_tit .lt6-2 { animation-delay: 0.6s; }
@keyframes riseUp {
  to {
    opacity: 1;
    transform: translateY(0%);
  }
}
.letter_star .lt9 {
  opacity: 0;
  transform: rotate(-45deg) scale(0.8);
  animation: spinStar 0.4s ease-out forwards, spinLoopR 1s ease-in-out 0.6s infinite alternate;
}
.letter_star .lt8 {
  opacity: 0;
  transform: rotate(45deg) scale(0.8);
  animation: spinStar 0.4s ease-out forwards, spinLoopL 1s ease-in-out 0.6s infinite alternate;
}
@keyframes spinStar {
  to {
    opacity: 1;
    transform: rotate(0deg) scale(1);
  }
}
/* 오른쪽 별 (lt9) → 시계 방향으로 흔들기 */
@keyframes spinLoopR {
  from { transform: rotate(0deg); }
  to { transform: rotate(20deg); }
}
/* 왼쪽 별 (lt8) → 반시계 방향으로 흔들기 */
@keyframes spinLoopL {
  from { transform: rotate(0deg); }
  to { transform: rotate(-20deg); }
}
.letter_num .lt7 {
  opacity: 0;
  transform: translateY(50%);
  animation: riseUp 0.4s ease-out 0.4s forwards;
}

/*KV 하단 책*/
.bottom_books{
    width: 100%;
    height: 200px;
    display: flex;
    overflow: hidden;
    justify-content: center;
}
.bottom_books.lottie-wrap .lottie-container{
    position: static;
    flex-shrink: 0;
    width: fit-content;
}

/*--------
네비게이션영역
rT_lnb_sec
--------*/
.rT_lnb_sec{
    height: 61px;
}
.rT_lnb_navi{
    border-bottom: 1px solid #ffffff65;
}
.rT_lnb_box{
    display: flex;
}
.rT_lnb_box::-webkit-scrollbar {
  display: none;
    -ms-overflow-style: none;  /* IE 및 Edge */
  scrollbar-width: none;     /* Firefox */
}
.rT_lnb_box li{
    width: 20%;
}
.rT_lnb_box li button{
    height: 56px;
    line-height: 56px;
    width: 100%;
    position: relative;
}
/* readTogether/css/readTogether.css 맨 아래나 별도 CSS 파일 */
.rT_lnb_navi.fixed {
  position: fixed;
  top: 86px;
  left: 0;
  width: 100%;
  z-index: 3; 
 	background-color: #ffffffcf;
   -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);   
  border-bottom: 1px solid var(--gr-3);
  overflow-x: auto;
}
.rT_lnb_navi.fixed .rT_lnb_box li button.rTWh{
    color:var(--bl-1);
}
.rT_lnb_navi.fixed .rT_lnb_box li button.rTWh.active{
    color:var(--pri-1);
}
.rT_lnb_navi.fixed .rT_lnb_box li button.rTWh.active::after{
    position: absolute;
    width: 60%;
    height: 3px;
    content: "";
    display: block;
    left: 20%;
    bottom: 0;
    background-color: var(--pri-1);
}

/*--------
행사 개요
rT_about
--------*/
.rT_about{
    background: #003CC8 url(https://cache.wjthinkbig.com/WEB_RESOURCE/WJBOOKCLUB/images/OPENPAGE/202507/futureopen2025/1-bg.svg) center bottom/cover no-repeat;
}

.ticketLogo{
    height: 76px;
    width: auto;
}
.ticketShape {
    display: flex;
    align-items: stretch;
}

.ticketLeft{
    flex-shrink: 0;
    padding: 20px 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.ticketRight{
    padding: 20px;
    width: 100%;
}

.ticketPunch {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    width: 24px;
}

.punch {
    width: 100%;
    height: auto;
}

.punch.bt{
    transform: rotate(-180deg);
}

.punchBar {
    flex-grow: 1;
    background-color:#fff;
}
.ticketAbout{
    padding: 0 60px;
}
.ticketAbout li{
    display: flex;
    border-bottom: 2px dotted var(--pri-op20);
    padding: 20px 0;
}
.ticketAbout li:last-child{
    border-bottom: none;
}
.ticketAbout li > p:nth-child(1){
    width: 140px;
    flex-shrink: 0;
}
.ticketAbout strong{
    font-weight: 600;
}

/*--------
존별 안내
rT_zone
--------*/
.zoneConWrap{
    display: flex;
    gap: 80px;
}
.zoneImgWrap{
    margin-top: 20px;
}
.zoneMapImg{
    max-width: 660px;
    flex-shrink: 0;
    padding: 20px;
}
.zoneMapImgBox{
    position: relative;
}
.zoneBtn{
    position: absolute;
    font-size: 0px;
}
.zoneBtn_01{
    width: 16%;
    height: 26%;
    left: 34%;
    top: 9%;
}

.zoneBtn_02{
    width: 18%;
    height: 25%;
    left: 50%;
    top: 9.5%;
    z-index: 2;
}
.zoneBtn_03{
	width: 21%;
    height: 30%;
    left: 68%;
    top: 9%;
}
.zoneBtn_04{
    width: 10%;
    height: 24%;
	left: 51.5%;
    bottom: 6.5%;
}
.zoneBtn_05{
    width: 10%;
    height: 24%;
	left: 41.5%;
    bottom: 6.5%;
}
.zoneBtn_06{
	width: 13%;
    height: 24%;
    left: 76%;
    bottom: 32.5%;
}
.zoneBtn_07{
	width: 15%;
    height: 22%;
    left: 34.5%;
    top: 43%;
}
.zoneBtn_08{
    width: 9%;
    height: 18%;
    left: 25%;
    top: 25%;
}
.zoneBtn_09{
    width: 11%;
    height: 7%;
    left: 57%;
    top: 28%;
    z-index:3;
}

.zoneMapTxt{
    padding-top: 0;
    padding-bottom: 20px;
    display: flex;
    gap: 12px;
    line-height: 100%;
}
.zoneMapTxt::before{
    content: "";
    width: 20px;
    height: 20px;
    background: url(https://cache.wjthinkbig.com/WEB_RESOURCE/WJBOOKCLUB/images/OPENPAGE/202507/futureopen2025/icon/ico_map.svg) center center/cover no-repeat;
    display: inline-block;
}
.wave-container {
    position: absolute;
    left: 12%;
    top: 6%;
    display: flex;
    gap: 2px;
    align-items: center;
    height: auto;
    z-index: 2;
    width: 26%;
    opacity: 0.4;
}
.stampMap{
    margin-top: 6px;
    border: 1px solid var(--pri-op40);
    padding: 20px;
}
.stampMapTit{
    margin-bottom: 12px;
}
.stampMapBox{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.stampMapZone{
    display: flex;
    align-items:center;
    gap: 4px;
}
.stampMapZone::before{
    display: flex;
    font-weight: 400;
    width: 18px;
    height: 18px;
    font-size: 12px;
    line-height: 1;
    align-items: center;
    justify-content: center;
    background-color:var(--pri-1);
    color: #fff;
    content: "";
    border-radius: 999px;
}
.stampMapZone.stz1:before{
    content: "1";
}
.stampMapZone.stz2:before{
    content: "2";
}
.stampMapZone.stz3:before{
    content: "3";
}
.stampMapZone.stz4:before{
    content: "4";
}
.stampMapZone.stz5:before{
    content: "5";
}
.stampMapZone.stz6:before{
    content: "6";
}
.zoneBox {
  border-bottom: 2px dotted var(--pri-op40);
}
.zoneAccordianWrap{
    width: 100%;
}
.zoneHeader {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 20px 0;
  justify-content: space-between;
}
.zoneNumber {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  background-color:var(--pri-1);
  color: #fff;
  font-size: 13px;
  border-radius: 999%;
  line-height: 1;
  flex-shrink: 0;
}
.zoneHeaderTxtBox{
    display: flex;
    align-items: center;
    gap: 8px;
}
.zoneTitle {
  flex: 1;
  margin-right:20px;
  
  line-height: 1;
}
.zoneContent {
  display: none;
  padding: 0 0 20px 0;
  color: #333;
  font-size: 15px;
}
.zoneBox.active .zoneContent {
  display: block;
  border-top: 2px dotted var(--pri-op40);
}
/* .zoneBox:last-child{
    border: none;
} */
.toggleArrow {
  width: 24px;
  height: 24px;
  position: relative;
  cursor: pointer;
}
.toggleArrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border: solid #6c7a96;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: transform 0.3s ease;
}
.active .toggleArrow::before {
  transform: translate(-50%, -50%) rotate(225deg);
}

.imgCrop{
    overflow: hidden;
    position: relative;
    margin-bottom: 20px;
}

.zoneAboutImg {
  overflow: hidden;
}

.zoneAboutImg{
  width: 100%;
  transform: scale(1);
  transition: transform 0.8s ease;
}

.zoneAboutImg.animate{
  transform: scale(1.05);
}
/*--------
프로그램 안내
rT_class
--------*/
.calendarWrap {
    width: 100%;
}
.calendarHeader {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    gap: 24px;
}
.weekSelector{
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    padding-left: 12px;
    width: 160px;
    justify-content: center;
}
.weekSelectorBtn {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    padding-left: 12px;
    width: 160px;
    justify-content: center;
}
.weekSelectArrow{
    position: relative;
    width: 24px;
    height: 24px;
    border: 1px solid var(--gr-3);
    flex-shrink: 0;
    display: inline-block;
    border-radius: 999px;
}
.weekSelectArrow::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border: solid var(--pri-1);
    border-width: 0 2px 2px 0;
    transform: translate( -50%, calc(-50% + -1px)) rotate(45deg);
}
.weekDropdown {
    position: absolute;
    top: 100%;
    left:50%;
    transform: translateX(-50%);
    background:#fff;
    border: 1px solid #9bb9ff;
    width: 150px;
    display: none;
    z-index: 2;
}
.weekDropdown li {
  list-style: none;
  padding: 0;
  margin: 0;
  line-height: 1;
}
.calendarSwiper {
    width: 100%;
}
.calendarSwiper .swiper-slide {
    width: 100% !important;
    height: fit-content;
}
.calendarSwiper .swiper-wrapper {
    height: fit-content;
}

.weekDropdown button {
    border: none;
    width: 100%;
    padding: 12px;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 16px;
    color:var(--bl-1);
    font-weight: 600;
}
.weekDropdown button.active {
    background-color: var(--pri-op10);
}
.weekDropdown button:hover{
    background-color: var(--pri-op10);
}
.dayColumnWrap{
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    width: 100%;
    height: fit-content;
}
.dayHeader{
    position: relative;
    padding: 8px 0;
}
.dayHeader::after{
    position: absolute;
    width: calc(100% - 16px);
    height: 1px;
    content: "";
    display: inline-block;
    left: 8px;
    bottom:0;
    background-color: var(--pri-op40);
}
.dayHeader::before{
    position: absolute;
    width: 1px;
    height: calc(100% - 16px);
    content: "";
    display: inline-block;
    right: 0;
    bottom:8px;
    background-color: var(--pri-op40);
}
.dayColumn{
    height: fit-content;
}

.dayColumnInner{
    height: fit-content;
}

.dayBody{
    border-right: 1px solid var(--pri-op40);
    height: fit-content;
    padding: 12px;
}
.dayColumn.empty{
    height: 100%;
}
.dayColumn.empty .dayColumnInner{
    height: 100%;
}
.dayColumn.empty .dayBody{
    height: 100%;
}
.dayColumn:last-child .dayHeader::before{
    display: none;
}
.dayColumn:last-child .dayBody{
    border: none;
}
.calendarTopBox{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 40px ;
    
    position: relative;
}
.calendarTopBox::before,
.calendarTopBox::after{
    position: absolute;
    content: "";
    display: block;
    width: 10px;
    height: 12px;
    background-color: var(--pri-1);
    left: 20px;
    top:-12px;
}
.calendarTopBox::after{
    left: unset;
    right: 20px;
}
.calendarTopLeft{
    display: flex;
    gap: 20px;
    align-items: center;
}
.calendarTopTit{
    font-size: 18px;
}
.calendarTopTit .godo_bd{
    font-size: 32px;
    line-height: 1;
}
.calendarTopTit .godo_bd > span{
    font-size: 18px;
    font-family: 'Pretendard';
    display: inline-block;
    margin-left: 4px;
    font-weight: 400;
    line-height: 1;
}
.calendarLogo{
    max-width: 110px;
}
.calendarHeader .arrowBtn{
    position: relative;
    font-size: 0px;
    width: 36px;
    height: 36px;
}
.calendarHeader .arrowBtn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    border: solid var(--pri-1);
    border-width: 0 2px 2px 0;
    transform: translate(-50%, -50%) rotate(135deg);
    transition: transform 0.3s ease;
}
.calendarHeader .nextBtn::before{
    transform: translate(-50%, -50%) rotate(-45deg);
}
/*주말 유료 데일리 클래스*/
.dayConClass{
    padding: 20px;
    display: block;
    margin-bottom: 12px;
    background-color:#d1f3ff;
}
.conClass1{
	background-color:#eef9eb;
}
.conClass2{
	background-color:#FFEEEE;
}
.conClass3{
	background-color:#FFFEE3;
}
.conClass4{
	background-color:#E9FFF8;
}
.conClass5{
	background-color:#FFEEEE;
}
.conClass6{
	background-color:#FFF1E5;
}
.conClass7{
	background-color:#EEF9EC;
}
.conClass8{
	background-color:#f7fcda;
}
.conClass9{
	background-color:#EDFCFF;
}
.dayClassHeader{
    margin-bottom: 16px;
    padding-right: 20px;
    position: relative;
}

.plusSpan{
    position: absolute;
    width: 20px;
    height: 20px;
    right: 0;
    top: 0;
    display: block;
}
.dayClassHeader .plusSpan{
	display:none;
}
.plusSpan::before {
    content: "";
    position: absolute;
    width: 2px;
    height: 100%;
    background-color: #1c60ff;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.plusSpan::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #1c60ff;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.dayClassTag{
    font-size: 13px;
    font-weight: 500;
    color:#fff;
    padding:4px;
    line-height: 1;
    border-radius: 4px;
    background: #117CBF;
    display: inline-block;
    margin-bottom: 6px;
}
.dayClassTag_clap{
	background:	#EA6838;
}
.dayClassTag_special{
	background:#0E479D;
}
.dayClassTit{
    font-size: 19px;
    font-weight: 700;
    color:var(--bl-1);
    line-height:1.3;
}

.dayClassImg{
    margin-bottom: 16px;
}
.classSub{
    line-height: 130%;
    margin-bottom: 10px;
    min-height:60px;
}
.classInfo > li{
    display: flex;
}
.classInfo > li > div:first-child{
    width: 40px;
    margin-right: 8px;
    flex-shrink:0;
}
.classInfoWrap{
    margin-bottom: 16px;
}
.smallrefer{
	display: block;
    line-height: 1.4;
    margin-top: 8px;
}
.signupClass{
    width: 100%;
    font-weight: 700;
    font-size: 16px;
    height: 48px;
    line-height: 48px;
    background-color: var(--pri-1);
    border-radius: 999px;
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
        color: #1c60ff;
    background: none;
    border: 1px solid #1c60ff;
    box-sizing:content-box;
}
.signupClass:disabled{
	opacity:0.4;
}
.dayClassFooter{
    text-align: center;
}
.calendarBtnWrap{
    text-align: center;
    padding: 30px 0;
    padding: 30px 0;
    display: flex;
    justify-content: center;
}
.showAllCLass{
    width: 80%;
    max-width: 240px;
    color: #1c60ff;
    height: 48px;
    line-height: 48px;
    font-weight: 700;
    border: 1px solid #1c60ff;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 0;
    margin-right: 0;
    gap:8px;
    box-sizing:content-box;
}
.showAllCLass .plusSpan{
    position: relative;
    width: 14px;
    height: 14px;
    margin-top: -1px;
    
}

.dayDateBox{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.dayDateCircle{
    color:#fff;
    font-size: 15px;
    background-color: var(--pri-1);    
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    width: 28px;
    height: 28px;
}

/*--------
관람 포인트
rT_point
--------*/
/*포인트 전체*/
.pointCon{
    margin-bottom: 100px;
}
.pointCon:last-child{
    margin-bottom: 0px;
}
.pointConBox.vertiCon{
    display: flex;
    justify-content:center;
    gap:80px;
    align-items: center;
    background:#fff;
}

/*포인트 01*/
.opening_tit{
    margin-bottom: 60px;
}
.aboutOpening_Wrap ul li{
    display: flex;
}
.aboutOpening_Wrap ul li p:first-child{
    width: 120px;
}
.aboutOpening_Wrap li{
    padding: 20px 0;
    border-bottom: 2px dotted var(--pri-op20);
}
.aboutOpening_Wrap li:last-child{
    border-bottom: 0;
}

/*포인트 02*/
.bookArray {
	display:grid;
	grid-template-columns: repeat(4, 1fr); /* 한 줄에 4개 */
  	gap: 20px; /* 아이템 간 간격 (원하는 값으로 조정) */
    justify-content: center; /* 가운데 정렬 */
}

.bookArray > .bookItem {
	width:100%;
	display:flex;
	flex-direction: column;
	align-items: center;
}
.bookArray:last-child{
    margin-bottom: 0;
}
.bookItem{
    flex-shrink: 0;
}
.bookItem > p{
    text-align:center;
    line-height: 1.3;
}
.bookImg{
	width:fit-content;
	margin-bottom: 10px;
}
.bookImg > img{
	height:260px;
	width:auto;
}
/*포인트 클래스 css*/
.classSwiper{
    height:fit-content !important;
    margin-bottom: 40px;
    overflow: hidden;
}
.pointClassItem{
    display: flex;
    align-items: center;
    gap: 80px;
    background-color: #fff;
}
.pointCLassImg{
    position: relative;
    width: 600px;
    flex-shrink: 0;
}
.pointCLassImg > img{
    width: 100%;
}
.pointCLassImg > .pointDateCircle{
    position: absolute;
    width: 80px;
    height: 80px;
    border-radius: 999px;
    background-color: var(--pri-1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    right: 10px;
    top: 10px;
}
.pointCLassImg > .pointDateCircle2{
	right: 100px;
}
.pointCLassImg > .pointDateCircle3{
	right: 190px;
}
.pointCLassImg > .pointDateCircle > div{
    color:#fff;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}
.pointCLassImg > .pointDateCircle .light{
    font-weight: 300;
    font-size: 15px;
}
.pointCLassImg > .pointDateCircle > div:nth-child(2){
    font-size: 12px;
    font-weight: 300;
}
.pointClassCon_tit{
    margin-bottom: 20px;
}
.pointClassCon_tag{
    margin-bottom: 10px;
}

.apply_class{
	padding:20px 0;
	display:inline-block;
	position:relative;
}

.apply_class::after{
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background: var(--gr-2);
    bottom: 0;
    left: 0;
    bottom: 20px;
}

.pointItem{
    width: 240px;
    border: 1px solid var(--pri-op40);
    font-size: 15px;
    flex-shrink: 0;
}
.pointItem .ptIt_hd{
    border-bottom: 1px solid var(--pri-op40);
    color: var(--pri-1);
    font-weight: 600;
    padding: 8px;
    text-align: center;
}
.pointItem .ptIt_bd{
    color: var(--gr-1);
    font-weight: 600;
    padding: 8px;
    text-align: center;
}
.pointItem.active .ptIt_hd{
    color:#fff;
    background-color: var(--pri-1);
}
.pointItem.active .ptIt_bd{
    color:var(--pri-1);
    background-color:#F8FAFF;
}
.digitalImg{
    margin-bottom: 20px;
}
/*포인트 클래스 스크롤바 수정*/
.pointClassWrap{
    display: flex;
    overflow-x:auto;
    padding-bottom: 8px;
    gap:16px;
    cursor: grab;
  -ms-overflow-style: none; /* IE, Edge */
  scrollbar-width: none;    /* Firefox */
    max-width: 100%;    /* 부모 영역 넘지 않게 */
  box-sizing: border-box;
    white-space: nowrap;
}
.pointItem {
  display: inline-block; /* 또는 flex-shrink: 0; */
}

.pointClassWrap::-webkit-scrollbar {
  display: none;            /* Chrome, Safari */
}


/*포인트 04*/
.digitalArray{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    justify-content: center;
    margin-bottom: 40px;
}
.digitalTxt .p3{
    margin-bottom: 8px;
}

/*--------
마지막 소구
rT_finalPitch
--------*/
.rT_finalPitch{
    background: #003CC8 url(https://cache.wjthinkbig.com/WEB_RESOURCE/WJBOOKCLUB/images/OPENPAGE/202507/futureopen2025/1-bg.svg) center bottom/cover no-repeat;
    padding-left:20px;
    padding-right:20px;
}
.rT_finalPitch_tit img{
    height: 140px;
    width: auto;
    margin: 0 auto;
}
.pitch_tit{
    font-size: 32px;
    margin-bottom: 60px;
}
.pitch_sub{
    font-size: 24px;
    margin-bottom: 20px;
}
/*--------
자주묻는질문
rT_QnA
--------*/
.qnaBox {
  border-bottom: 2px dotted var(--pri-op40);
}

.qnaAccordianWrap {
  width: 100%;
}

.qnaHeader {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 20px;
  justify-content: space-between;
}

.qnaHeaderTxtBox {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  padding-left: 40px;
}

.qnaNumber {
  position: absolute;
  left: 0;
  top:50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  background-color: var(--pri-1);
  color: #fff;
  font-size: 13px;
  border-radius: 999%;
  line-height: 1;
  flex-shrink: 0;
  transform: translateY(-50%);
}

.qnaTitle {
  flex: 1;
  margin-right: 20px;
}

.qnaContent {
  display: none;
  padding: 20px;
}

.qnaBox.active .qnaContent {
  display: block;
  background: rgb(0 60 200 / 1%);
  border-top:2px dotted var(--pri-op40);
}

.qnaBox:last-child {
  border: none;
  margin-bottom: 0;
}

.qnaBox:last-child .qnaContent{
    border-bottom: 2px dotted var(--pri-op40);
}

.zoneTxt_qna{
    padding-left: 40px;
    position: relative;
}
.zoneTxt_qna::before{
    position: absolute;
    content: "A";
    display: flex;
    align-items: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    background-color: var(--pri-1);
    color: #fff;
    font-size: 13px;
    border-radius: 999%;
    line-height: 1;
    flex-shrink: 0;
    left: 0;
    top: 3px;
}

.rT_info{
    padding-top: 60px;
    padding-bottom: 60px;
}

.qnaBulletBtnWrap{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 20px;
}
.qnaBulletBtn{
    font-size: 16px;
    color:var(--bl-1);
    background-color: var(--gr-4);
    border-radius: 999px;
    height: 36px;
    line-height: 36px;
    padding: 0 20px;
    font-weight: 600;
    flex-shrink: 0;
}
.qnaBulletBtn.active{
    color: #fff;
    background-color: var(--pri-1);
}
.br1280{
    display: none;
}
.br720{
    display: none;
}
.mo_ani{
   display: none; 
}
/*플로팅 버튼*/
.floating-wrap {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 999px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  display: flex;
  gap: 10px;
  padding: 20px 20px;
  justify-content: space-between;
  align-items: center;
  width: 40px;
  height: 40px;
  z-index: 9999;
  animation: expandContainer 0.6s ease-in 0.2s forwards;
  max-width:1200px;
  overflow:visible;
  z-index: 3;
   background-color: #ffffffcf;
   -webkit-backdrop-filter: blur(8px);
   backdrop-filter: blur(8px);
   border: 1px solid #fff;
}

/* 👇 동심원 효과 */
.floating-wrap::before {
  content: "";
  position: absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 50%;
  z-index: -1;
  opacity:0;
  animation: ripple 0.4s ease-out;
}

/*---------파주사옥 사진---------*/
.photoArray {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 30px;
}
.photoArrayWrap{
	max-width:1200px;
	margin: 0 auto;
}
.photoArrayImg {
  width: 100%;
  height: auto;
  flex: 1 1 0;
  object-fit: cover;
}
/*---------유투브 아이프레임---------*/
.video_container{
	position:relative;
	margin: 0 auto;
	width:900px;
	height:0;
	padding-bottom: calc(900px/100*56.25);
}

.video_area{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	z-index:1;
}
.videoThunbImg{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	z-index:2;
	cursor: pointer;
}


@keyframes ripple {
  0% {
    transform:translate(-50%,-50%) scale(1);
    opacity: 0.6;
  }
  100% {
    transform:translate(-50%,-50%) scale(1.8);
    opacity: 0;
  }
}

@keyframes expandContainer {
  0% {
    width: 40px;
    height: 40px;
  }
  100% {
    width: calc(100% - 20px);
    height: 72px;
  }
}

.apply-wrap{
	display:flex;
	gap:12px;
	width:100%;
	max-width:480px;
}


.apply-wrap .btn {
    font-size: 16px;
    background-color: #1c60ff;
    color: white;
    text-decoration: none;
    font-weight: 700;
    padding: 0 10px;
    border-radius: 999px;
    white-space: nowrap;
    opacity: 0;
    transform: scale(0.8);
    width: 100%;
    text-align: center;
    height:48px;
    line-height:48px;
}

/* 버튼 등장 키프레임 */
.apply-wrap .btn1 {
  animation: showBtn 0.4s ease-out forwards;
  animation-delay: 0.7s;
}

.apply-wrap .btn2 {
  animation: showBtn 0.4s ease-out forwards;
  animation-delay: 0.75s;
  color:#1c60ff;
  background:#fff;
  border:1px solid #1c60ff;
  
}

/* 버튼 바깥 텍스트 */
.floating-txt-box{
	opacity: 0;
  animation: showBtn 0.4s ease-out forwards;
  animation-delay: 0.8s;
  display:flex;
  gap:20px;
  align-items:center;
}
.floating-txt{
  line-height:1.3;
}


.floating-items{
	height:28px;
	width:auto;
}
@keyframes showBtn {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/*이벤트 영역*/
.rTeventWrap{
    background-color:#e8fbff;
    padding:40px 60px;
}
.rTeventWrap .classInfo > li{
    flex-direction: column;
    margin-bottom:8px;
}
.rTeventWrap .classInfo > li > div:first-child {
    width: unset;
}
.checkInfo{
	position:relative;
	padding-left:20px;
}
.checkInfo::before{
    position: absolute;
    left: 0;
    top: 0;
    content: "✓";
    display: block;
    color: #003cc8;
    font-weight: 800;
}
.rTeventWrap .tit2{
    font-size: 26px;
}
.pt_titWrap
.rTeventWrap .pt_titWrap{
    margin-bottom: 0;
}
.rTeventWrap .pointConWrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.rTeventWrap .pointConBox > img{
    width: 100%;
    max-width: 600px;
}
.stampConWrap{
    position: relative;
}
.stamp_deco {
    position: absolute;
    right: -60px;
    top: -120px;
    width: 130px;
    height: auto;
}
.stamp_titWrap{
    position: relative;
    margin-bottom: 0;
}
.stamp_titWrap::after{
    content: "";
    width: 52px;
    height: 52px;
    left: -28px;
    top: -24px;
    position: absolute;
    display: block;
    background:url(https://cache.wjthinkbig.com/WEB_RESOURCE/WJBOOKCLUB/images/OPENPAGE/202507/futureopen2025/stamp_deco.svg)
    center center/cover no-repeat;
}
.moImg{
    display: none;
}
/*스페셜데이*/
.fourCon{
	display:flex;
	gap:60px;
	flex-wrap: wrap;
}
.fourCon .con4{
	width: calc(50% - 30px);
}
.fourCon .pointCLassImg{
	width:100%;
	margin-bottom:20px;
}
.con4 .classInfo{
	margin-top:20px;
}
/*이지은 유니버스*/
.galleryImg{
	margin: 0 auto;
}
.galleryImg.galleryImg_01{
	max-width:600px;
	margin-bottom:40px;
}
.galleryImg.galleryImg_02{
}

/*클래스 전체보기 팝업*/
/* 팝업 전체 스타일 */
.allCLassShowPop {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
}

/* 팝업 내부 박스 */
.allCLassShowPop .popInner {
  position: relative;
  max-width: 100%;
  overflow: hidden;
  background:#fff;
}

/* 닫기 버튼 */
.allCLassShowPop .popInhead{
	font-size: 40px;
    font-weight: 200;
    color: #222;
    cursor: pointer;
    line-height: 1;
    display: flex;
    align-items: center;
 	justify-content: space-between;
 	padding: 8px 12px;
}
.allCLassShowPop .popCloseBtn {
    font-size: 0;
    cursor: pointer;
    width: 40px;
    height:40px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    
}

.allCLassShowPop .popCloseBtn::after {
	flex-shrink:0;
	content:'';
       display:block;
       width: 24px;
       height: 24px;
       background: url(https://www.wjthinkbig.com/re/images/icons/close_gr.svg) center center / contain no-repeat;
}

/* 이미지 감싸는 영역 (스크롤 허용) */
.allCLassShowPop .imgScrollWrap {
	max-width:90vw;
      max-height: calc(90vh - 48px);
    overflow-y: auto;
}

.twoBox{
	display:flex;
	gap:60px;
	align-items: center;
	justify-content: space-between;
}
.twoBox .rT_titWrap{
	margin-bottom:0;
}
.waytoImgBox{
    flex-shrink: 0;
}
.rT_wayto .infoMapsbtnWrap{
	    justify-content: center;
}
.rT_wayto .mapInfoBox{
	    margin-bottom:40px;
}
#myMapBox {
  width: 100%;
  height: 400px;
}
/*미디어쿼리*/
@media only screen and (min-width: 1680px) {
    .lo1600{
        width: 1600px;
    }
}
@media only screen and (max-width: 1600px) {

    .rT_logo_wrap{
        padding: 160px 0 120px 0;
    }
    .frame{
        width: 52%;
    }
    .frame_s{
        width: 540px;
    }
    .rT_logo_box {
        width: 560px;
        height: calc(560px * 300 / 780);
    }
    .event_sub > p{
        font-size: 22px;
    }
    .copyAdress_kv{
        padding: 12px;
    }
    .event_date .p4{
        font-size: 16px;
    }
    .obj{
        width: 40px;
    }
    .obj2 {
    right: 0;
    transform: translate(-520px, 200px);
    top: 0;
    opacity: 0.6;
    }
    .obj1 {
        right: 0;
        transform: translate(-420px, 200px);
        top: 0;
    }
    .obj3 {
        right: 0;
        transform: translate(-400px, 40px);
        top: 0;
    }
    .obj4 {
        right: 0;
        transform: translate(-600px, 100px) ;
        top: 0;
        opacity: 0.7;
    }
    .obj5 {
        left: 0;
        transform: translate(520px, 50px);
        top: 0;
        opacity: 0.4;
    }
    .obj6 {
        left: 0;
        transform: translate(400px, 100px);
        top: 0;
    }
    .obj7 {
        left: 0;
        transform:translate(480px, 200px);
        top: 0;
    }
    .obj8 {
        left: 0;
        transform:translate(560px, 200px);
        top: 0;
    }
}
@media only screen and (max-width: 1280px) {
    /*1280 아이콘*/
    .copyIcon{
        width: 16px;
        height: 16px;
    }
    /*1280 레이아웃*/
    .br1280{
        display: block;
    }
    /*1280 텍스트 위계*/
    .p1{
    font-size: 24px;
    }
    .p2{
        font-size: 20px;
    }
    .p3{
        font-size: 18px;
    }
    .p4{
        font-size: 16px;
    }
    .p5{
        font-size: 15px;
    }
    .p55{
        font-size: 14px;
    }

    /*1280 GNB*/
    /*1280 layout*/
    .rT_Con_sec{
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .tit1{
        font-size: 32px;
    }
    .sub1{
        font-size: 18px;
    }
    .tit2{
        font-size: 28px;
    }
    .sub2{
        font-size: 16px;
    }
    .rT_titWrap {
        margin-bottom: 40px;
    }
    /*1280 rT_about*/
    .ticketLogo{
        height: 60px;
    }

    /*1280 rT_zone*/
    .zoneMapImg{
        max-width: 480px;
    }
    .zoneConWrap{
        gap: 60px;
        align-items:center;
    }

    /*1280 rT_point*/
    .pt_tag{
        font-size: 20px;
    }
    .pointConBox.vertiCon{
        gap: 60px;
    }
    .pointCLassImg{
        width: 480px;
    }
    .pointClassItem{
        gap: 60px;
    }
    .pointCon{
        margin-bottom: 80px;
    }
    .classSwiper{
        margin-left: 60px;
        margin-right: 60px;
    }
    /*1280 pointCon_02*/
    .bookImg > img{
    	height:200px;
    }
    /* 1280 rT_finalPitch */
    .pitch_sub{
        font-size: 20px;        
    }
    .pitch_tit {
        font-size: 32px;
        margin-bottom: 40px;
    }
    .rT_finalPitch_tit img {
        height: 100px;
    }
    /*1280 event*/
    .rTeventWrap .pointConWrap{
        flex-direction: column;
        gap:20px;
    }
    .rTeventWrap{
        width: 100%;
    }
    .rTeventWrap .sub2,
    .rTeventWrap .tit2{
        text-align: center;
    }
}
@media only screen and (max-width: 1024px){
	.rT_lnb_navi.fixed {
	  top: 80px;
	}
	.fixedFloatingBtnGroup {
        bottom: 100px !important;
    }
    .moImg{
    display: block;
    }
    .pcImg{
    display: none;
    }
    .rTeventWrap .pointConBox > img.stampMo{
        width: 75%;
        margin-left: 15%;
    }
    /*1280 pointCon_02*/
    .bookImg > img{
    	height:160px;
    }
}
@media only screen and (max-width: 900px) {

	/* 유튜브 900*/
	.video_container{
	    width:100%;
    	padding-bottom: 56.25%;
	}
	.video_container::after{
		content:'';
		position:absolute;
		width:100%;
		top:0;
		left:0;
		height:2px;
		background:#fff;
		z-index:3;
	}
	
	/*파주사옥 사진*/
	.photoArrayImg{
		width:180px;
		flex:none;
	}
	.photoArray{
		gap:10px;
		padding-left:20px;
		padding-right:20px;
	}
	.video_container_wrap.boxMarginS{
		margin-bottom:20px;
	}
	.photoArrayWrap{
		padding:0;	
	}
	
	.photoArrayBox {
	  overflow-x: scroll;
	
	  /* 스크롤바 숨기기 */
	  scrollbar-width: none; /* Firefox */
	  -ms-overflow-style: none;  /* IE/Edge */
	}
	
	.photoArrayBox::-webkit-scrollbar {
	  display: none; /* Chrome, Safari, Opera */
	}
	#myMapBox{
		height:200px !important;
	}
	
	/* floating 900*/
	.floating-wrap{
		bottom:8px;
		padding: 10px;
		padding: 0;
		animation: expandContainer_m 0.6s ease-in 0.2s forwards;
		width: 16px;
	    height: 16px;
	}
	.apply-wrap{
		padding-left:12px;
		padding-right:12px;
		width:100%;
		max-width:100%;
	}

	@keyframes expandContainer_m {
	  0% {
	    width: 16px;
	    height: 16px;
	  }
	  100% {
	    width:calc(100% - 20px);
	    height: 64px;
	    border-radius:999px;
	    bottom:8px;
	  }
	}
	.floating-txt-box{
		display:none;
	}
	.apply-wrap .btn{
		font-size:14px;
		height:44px;
		line-height:44px;
	}
    /* lnb 900 */
    .rT_lnb_navi >.layoutWrap{
        padding: 0;
    }
    .rT_lnb_box{
        flex-wrap: nowrap;
    }
    .rT_lnb_box li{
        width: fit-content;
        flex-shrink: 0;
    }
    .rT_lnb_box li:first-child{
        padding-left: 10px;
    }
    .rT_lnb_box li:last-child{
        padding-right: 10px;
    }
    .rT_lnb_box li button{
        padding: 0 10px;
    }
    .rT_lnb_box {
        flex-wrap: nowrap;
        overflow-x: auto;
    /* IE, Edge 스크롤바 숨기기 */
    -ms-overflow-style: none;
    /* Firefox 스크롤바 숨기기 */
    scrollbar-width: none;
    }

    /* WebKit 기반 브라우저 (Chrome, Safari) 스크롤바 숨기기 */
    .rT_lnb_box::-webkit-scrollbar {
    display: none;
    }

    /* 텍스트위계 900*/
    .tit1 {
        font-size: 28px;
    }
    .sub1{
        font-size: 16px;
    }
    .dayClassTit{
        font-size: 18px;
    }
    .p3 {
        font-size: 17px;
    }
     .p4 {
        font-size: 15px;
    }
    /*KV 레이아웃 900*/
    .rT_logo_wrap{
        padding: 34vw 0 12vw 0;
    }
    .pc_ani{
        display: none;
    }
    .mo_ani{
        display: block;
    }
    .frame_m{
        display: none;
        width: 90vw;
        
    }
    .background_ani_book{
        position: relative;
        transform:translateY(17vw);
    }

    .frame_s{
        left: -30vw;
        width: 80vw;
        transform: unset;  
        z-index: -2;
    }
    .frame_s2{
        left:unset;
        right:-30vw;
        width: 80vw;
    }
    .event_sub{
        margin-bottom: 2vw;
    }
    .event_date{
        margin-top: 8vw;
    }

    .rT_logo_box{
        width: 76%;
        height: 0;
        padding-bottom: calc(300 / 780 * 76%);
    
    }
    .rT_logo_box_top{
        width: 70%;
        height: 0;
        padding-bottom:calc(183/672*70%);
    }
    .bottom_books{
        width: 100%;
        height: 24vw;
    }
    /*obj900*/
    .obj {
        width: 6vw;
    }
    .obj1{
        transform: translate(-27vw, 4vw);
    }
    .obj2{
        transform: translate(-41vw, 15vw);
    }
    .obj3{
        display: none;
    }
    .obj4{
        transform: translate(-38vw, 4vw);
        opacity: 0.2;
    }
    .obj5{
        transform: translate(38vw, 4vw);
    }
    .obj6{
        transform: translate(26vw, 3vw);
    }
    .obj7{
        transform:translate(40vw, 16vw);
    }

    /*rTabout 900*/
    .ticketShape{
     flex-direction: column;   
    }
    .ticketTxt{
        display: none;
    }
    .ticketPunch{
        width: 100%;
        flex-direction: row;
        height:20px;

    }
    .punch{
     display: none;
    }
    .punchBar{
        background-color:#fff;
        position: relative;
        width: 100%;
        flex-grow: 0;
        margin: 0 auto;
    }
    .punchBar::after{
        content: "";
        position: absolute;
        left: -10px;
        top: 5px;
        display: block;
        width: 20px;
        height: 20px;
        background:#003cc8;
        border-radius:999px;
    }
    .punchBar::before{
        content: "";
        position: absolute;
        right: -10px;
        top: 5px;
        display: block;
        width: 20px;
        height: 20px;
        background:#003cc8;
        border-radius:999px;
    }
    .ticketAbout{
        padding: 0 10px;
    }
    .ticketAbout li > p:nth-child(1){
        width: 110px;
    }
    .p6{
        font-size: 13px;
    }
    .ticketRight{
        padding-top: 0;
        padding-bottom: 0;
    }

    /*900 rT_zone*/
    .zoneConWrap{
        flex-direction: column;
        gap: 40px;
    }
    .zoneMapImg{
        max-width: 100%;
        padding:0;
    }
    /*900 rT_class*/
    
    .dayClassImg{
        width: 200px;
    }
    .dayHeader::before{
        display: none;
    }
    .dayBody{
        border-right:0 ;
    }
    .dayColumnWrap {
    display: flex;
    flex-direction: column;
    padding: 0;
    }
    .dayColumn.empty{
        display: none;
    }

    .referInfoBox{
        padding: 20px;
    }
    .calendarTopRight{
        display: none;
    }
    .calendarLogo{
        max-width: 60px;
    }
    .calendarTopTit .godo_bd{
        font-size: 24px;
    }
    .calendarTopLeft{
        gap: 8px;
        justify-content:center;
    }
    .calendarHeader {
        padding: 8px;
    }

    /*900 포인트 rT_point*/
    .rT_titWrap{
        margin-bottom: 30px;
    }
    .barDeco {
        margin: 0 auto;
        width: 1px;
        height: 30px;
        background-color: var(--pri-op40);
        margin-top: 20px;
    }
    .pointConBox.vertiCon{
        gap: 40px;
        flex-direction: column-reverse;
    }
    .opening_tit p{
        text-align: center;
    }
    .pt_tag {
        font-size: 16px;
    }
    .tit2{
        font-size: 22px;
    }
    .pt_titWrap {
        margin-bottom: 20px;
    }
    .stampConWrap .pt_titWrap{
    	margin-bottom: 0px;
    }
    .opening_tit {
        margin-bottom: 20px;
    }
    .bookArray{
        gap: 16px;
        padding:0;
    }
    .bookArray > .bookItem {
        flex: 0 0 calc((100% - 1 * 16px) / 2);
        box-sizing: border-box;
    }
    .pointClassItem{
        flex-direction: column;
    }
    .pointclassInnerWrap{
        display: flex;
        flex-direction: column-reverse;
        
    }
    .pointCLassImg{
        width: 100%;
    }
    .classSwiper{
        margin: 0;
    }
    .pointClassWrap{
        gap: 8px;
        padding-bottom: 20px;
    }
    .pointClassItem{
        gap: 20px;
    }
    .pointItem{
        width: 140px;
    }
    .pointItem .ptIt_hd,
    .pointItem .ptIt_bd{
        padding: 4px;
    }
    .pointItem{
        font-size: 12px;
    }
    .digitalArray{
        gap: 30px;
        margin-bottom: 0;
    }
    .digitalImg{
        margin-bottom: 12px;
    }

    /*900 rT_QnA*/
    .qnaBulletBtnWrap_box{
     
    overflow-x: auto;
    /* IE, Edge 스크롤바 숨기기 */
    -ms-overflow-style: none;
    /* Firefox 스크롤바 숨기기 */
    scrollbar-width: none;
    }
    /* WebKit 기반 브라우저 (Chrome, Safari) 스크롤바 숨기기 */
    .qnaBulletBtnWrap_box::-webkit-scrollbar{
    display: none;
    }
    
    .qnaBulletBtnWrap{
        padding-left: 20px;
        padding-right: 20px;
    }
    .qnaBulletBtn{
        font-size: 15px;
        height: 32px;
        line-height: 32px;
        padding: 0 12px;
    }
    .rTeventWrap{
        padding: 40px 20px;
    }   
    .rTeventWrap .tit2{
        font-size: 4.6vw;
    }
    .rTeventWrap .sub2{
        font-size: 3.4vw;
    }
    .stamp_deco {
        position: absolute;
        right: -5vw;
        width: 19vw;
        height: auto;
        top: -21vw;
    }
    .stamp_titWrap::after{
        content: "";
        width: 10vw;
        height: 10vw;
        left: -5vw;
        top: -6vw;
    }
    .checkInfo br{
    	display:none;
    }
    .fourCon{
        flex-direction: column;
        gap:30px;
    }
    .fourCon .con4{
    	width:100%;
    }
    .classSub{
    	height:unset;
    }
}
@media only screen and (max-width : 720px){
	.stampMap{
		padding:10px;
		margin-top:20px;
	}
    /*720 모바일*/
    .fixedFloatingBtnGroup {
        bottom: 80px !important;
    }
    .rT_lnb_navi.fixed {
	  top: 60px;
	}
    .background_ani_box{
        top:unset;
        bottom: -9vw;
    }
    .rT_logo_wrap::after{
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        content: "";
        left: 0;
        top:0;
        background-color:#d3f8ff;
        z-index: -2;
    }
    .rT_logo_wrap{
        position: relative;
        padding: 28vw 0 8vw 0;   
    }
    .objBox{
        top:unset;
        bottom:10vw;
    }
    .background_ani_book{
    	transform:none;
    }
    .zoneMapTxt{
        padding-top: 0;
        align-items: center;
        gap: 6px;
    }
    .frame_m{ 
        width: 90vw;
    }
    .rT_kv .p1{
        font-size: 4.2vw;;
    }
    .rT_kv .p4{
        font-size: 3.4vw;
    }
    .copyAdress_kv{
        padding: 2vw;
    }
    .copyAdress_kv .copyIcon {
        margin-left: 2vw;
        width: 4vw;
        height: 4vw;
    }
    .rT_Con_sec{
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .tit1{
        font-size: 5.8vw;
    }
    .tit2{
        font-size: 5.4vw;
    }
    .sub1 {
        font-size: 4vw;
    }
    .sub2{
        font-size: 4vw;
    }
    .br720{
        display: block;
    }
    .p2{
        font-size: 18px;
    }
    .p4{
        font-size: 14px;
    }
    .p5{
        font-size: 14px;
    }
    .stampMapZone{
    	font-size:12px;
    }
    .stampMapZone::before{
    	font-size:10px;
    }
    .stampMapZone::before{
	    width:12px;
	    height:12px;
    }
    .stampMapTit {
    	font-size:13px;
    	margin-bottom: 4px;
	}
    .stampMapBox{
    	gap:4px;
    }
    .zoneBar{
    	display:none;
    }
    .infoMapsbtn{
		font-size: 0px;
        width: 32px;
        height: 32px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0;
    }
    .referSpan,
    .referSpan span{
    	font-size:13px;
    }
    .referInfoLast .p3{
    font-size:14px;
    }
    .referSpan br{
    	display:none;
    }
    .referSpan.hasBarRefer br{
    	display:block;
    }
    .rT_info .referSpan br{
    	display:block;
    }
    .infoMapsbtnWrap{
    	gap:12px;
    }
    .barTxt{
    	poaition:relative;
    }
    .barTxt::before{
      top:0;
      transform:none;
    }
    .digitalTxt .p3{
        padding-bottom: 0;
    }
    .pt_tag {
        font-size: 4vw;
    }
    .pt_tag{
            flex-direction: column;
            line-height:1.3;
    }
    .pt_tag .tag2{
        font-size: 3vw;
        width: 4.4vw;
        height: 4.4vw;
    }
    .tag1{
        font-size: 13px;
        padding: 4px 8px;
    }
    /*720 lnb*/
    .rT_lnb_box li button{
        font-size: 14px;
        height: 44px;
        line-height: 44px;
        font-weight: 500;
    }
    .rT_lnb_sec{
        height: 49px;
    }
    /*rT_KV 720*/
    .event_date{
        margin-bottom: 8vw;
    }
    .ticketAbout{
        padding: 0;
    }
    .ticketRight{
        padding: 16px;
        padding-top: 0;
    }
    .ticketRight .referSpan{
        padding-left:12px;
    }
    /*rT_about 720*/
    .ticketAbout li > p:nth-child(1) {
        width: 100px;
    }
    /*rT_zone 720*/
    .zoneConWrap{
        gap: 0;
    }
    .zoneHeader{
        padding: 20px 0;
    }
    .zoneHeader .zoneDesc{
        float: right;
        margin-right: 12px;
    }
    .zoneHeaderTxtBox{
        width: 100%;
    }
    .zoneContent{
        padding: 0 0 20px 0;
    }
    .zoneBox{
        margin-bottom: 0;
    }
    .zoneTxt p:nth-child(2) br{
        display: none;
    }
    .zoneTxt .p4 {
        font-size: 16px;
    }
    .zoneNumber{
        font-size: 11px;
        width: 16px;
        height: 16px;
    }
    /*rT_class 720*/
    .dayClassBody{
        display: flex;
        gap: 20px;
    }
    .calendarTopBox::before,
    .calendarTopBox::after{
        width: 6px;
        height: 6px;
        top: -5px;
    }
    #weekSelectorBtn{
        font-size: 18px;
    }
    .weekSelectArrow{
        width: 20px;
        height: 20px;
    }
    .weekSelectArrow::after {    
        width: 6px;
        height: 6px;
        border-width:0 1.5px 1.5px 0;
    }
    .signupClass,
    .showAllCLass{
        font-size: 14px;
        height: 40px;
        line-height: 40px;
        max-width: 160px;
    }
    .plusSpan::after{
        height: 1px;
    }
    .plusSpan::before{
        width: 1px;
    }
    .calendarTopBox{
        padding: 10px;
        justify-content: center;
    }
    .calendarTopTit .godo_bd > span{
        font-size: 15px;
    }
    .dayConClass{
        padding: 12px;
    }
    .dayDateCircle{
        font-size: 14px;
    }
    /*rT_point*/
    .digitalArray{
        grid-template-columns: repeat(1, 1fr);
    }
    .digitalArray p br{
        display: none;
    }
    .aboutOpening_Wrap ul li p:first-child{
        width: 90px;
    }
    .aboutOpening_Wrap li{
        padding: 10px 0;
    }
    .calendarBtnWrap{
        padding-top: 20px;
    }
    .pointCLassImg > .pointDateCircle{
        width: 14vw;
        height: 14vw;
        right: 2vw;
        top: 2vw;
    }
    .pointCLassImg > .pointDateCircle2{
        
        right: 18vw;
        
    }
    .pointCLassImg > .pointDateCircle3{
        
        right: 34vw;
        
    }
    .pointCLassImg > .pointDateCircle > div{
        font-size: 4vw;
    }
    .pointCLassImg > .pointDateCircle > div:nth-child(2){
        font-size: 1.6vw;
    }
    .pointCLassTxt{
        width: 100%;
    }
    .pointClassCon_tit{
        margin-bottom: 10px;
    }
    .pointClassCon_sub br{
        display: none;
    }
    .pointConBox .calendarBtnWrap{
        padding-bottom: 0;
        padding-top: 20px;
    }
    .digitalTxt .p4{
        font-size: 16px;
    }
    
    .pitch_sub{
        font-size: 4vw;
           margin-bottom: 4vw;
    }
    .pitch_tit{
        font-size: 5.2vw;
        margin-bottom: 5vw;
    }
    .rT_finalPitch_tit img{
        height: 80px;
    }
    .rT_finalPitch .layoutWrap{
        padding: 0;
    }
    /* rT_QnA 720 */
    .qnaHeader,
    .qnaContent{
        padding: 20px 10px;
    }
    .qnaBox{
        margin-bottom: 0;
    }
    .qnaNumber,
    .zoneTxt_qna::before{
        font-size: 12px;
        width: 18px;
        height: 18px;
    }
    .qnaTitle{
        font-size: 15px;
    }
    .qnaHeaderTxtBox,
    .zoneTxt_qna{
        padding-left: 28px;
    }
    .qnaBulletBtn{
        font-size: 14px;
    }
    .qnaBulletBtnWrap{
        gap: 8px;
    }
    .qnaBox:first-child .qnaHeader{
        padding-top: 10px;
    }
    .bookArray{
        grid-template-columns: repeat(2, 1fr);
    }
    .bookImg > img{
    	height:40vw;
    }
    .con4 .rTGr1 br{
    	display:none;
    }
    .pointClassCon_tit{
    	font-size:5vw;
    }
    
    .rT_wayto .txtMarginL{
    margin-bottom:8px;
    }
     
}
@media only screen and (max-width : 320px){
.qnaBulletBtnWrap{
        width: max-content;
    }
}