@charset "utf-8";
@import "default.css";
@font-face {
    src: url("../css/font/강원교육모두-Light.woff");
    font-family:"edu";
}

@font-face {
    font-family: 'GangwonEdu_OTFBoldA';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2201-2@1.0/GangwonEdu_OTFBoldA.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
.reserbtn3 a{
    font-size: 12px;
    font-family:"edu";
    color: #002617;
}
dt {
    font-family: 'Gyeonggi_Title_Medium';
}
.underbox{
    position: relative;
}
.underline{
    width: 95%;
    background-image: url('/images/main/underline.png');
    height: 2px;
    position: absolute;
    bottom: -1%;
    left: 50%;
    transform: translate(-50%,0);
}
.bg11 img{
    object-fit: cover;
    width: 100%;
}
#headBox {
    top: 0;
}
.head_logo { 
    margin-top: 0;
}

.topSlide{
    width: 100%;
    background: url('/images/reserve/01_01.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}
.topSlide img{
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.reser_container{
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    
}
.reser_container .textbox{
    width: 100%;
    padding: 3%; 
    position: relative;
}
.reser_container .textbox h2{
    font-size: 53px;
    line-height: 67px;
    font-weight: bold;
    margin: 4% 0 6%;
    
}
.reser_container .textbox dl {
    display: flex;
   
}
.reser_container .textbox dt {
    display: inline-block;
    min-width: 145px;
    font-size: 30px;
    line-height: 48px;
    font-family: 'Gyeonggi_Title_Medium';
}
.reser_container .textbox dd {
    font-size: 22px;
    line-height: 48px;
    font-family: 'NanumSquareNeoBold';
    word-break: keep-all;
}
@media (max-width:1251px){
    .reser_container .textbox dt {
        min-width: 125px;
        font-size: 25px;
    }
}
.reser_container .leftbox {
    position: relative;
    display: flex;
    border: 1px solid #000;
    border-collapse: separate;
    border-radius: 60px;
    width: 74%;
    margin: 3% auto 6%;
    overflow: hidden;
}
.reser_container .leftbox img{
    width: 100%;
    object-fit: cover;
    max-width: 46%;
}
.reser_container .leftbox img.reser_mo {
    display: none;
}
.reser_container .leftbox .layer_mask {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 46%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255,255,255,0) 50%,rgba(255,255,255,1) 100%);
}

@media (max-width:1200px){
    .reser_container .textbox h2{
        font-size: 43px;
        line-height: 67px;
        font-weight: bold;
        margin: 4% 0 6%;
        
    }
    .reser_container .textbox dl {
        gap: 2%;
     }
    .reser_container .textbox dt {
        font-size: 19px;
        line-height: 32px;
        transform: translateY(4px);
        min-width: 90px;
    }
    .reser_container .textbox dd {
        font-size: 15px;
        line-height: 30px;
        margin: 5px 0;
    }
}

@media (max-width:768px){
    
    .reser_container .leftbox {
        flex-wrap: wrap;
        width: 90%;
        margin: 6% auto 20%;
        border-radius: 40px;
    }
    .reser_container .leftbox .textbox{
        width: 100%;
    }
    .reser_container .textbox {
        padding: 3% 5%;
    }
    .reser_container .textbox h2 {
        font-size: 24px;
        line-height: 40px;
        margin: 2% 0 4%;
    }
   
    .reser_container .leftbox img{
        width: 100%;
        object-fit: cover;
        max-width: 100%;
    }
    .reser_container .leftbox img.reser_pc {
        display: none;
    }
    .reser_container .leftbox img.reser_mo {
        display: inline-block;
    }
    .reser_container .leftbox .layer_mask {
        max-width: 100%;
        width: 100%;
        height: 34vw;
        background: linear-gradient(180deg, rgba(255,255,255,0) 60%,rgba(255,255,255,1) 100%);
    }
}
@media (max-width:410px){
    .reser_container .textbox dt {
        font-size: 17px;
        line-height: 25px;
        transform: translateY(3px);
    }
    .reser_container .textbox dd {
        font-size: 13px;
        line-height: 20px;
    }
}
@media (max-width:359px){
    .reser_container .textbox dt {
        font-size: 15px;
        line-height: 25px;
        transform: translateY(2px);
    }
    .reser_container .textbox dd {
        font-size: 11px;
        line-height: 20px;
    }
}
.subCon01 {
    margin: 0 3%;
    display: flex;
    flex-direction: row-reverse;
    box-sizing: border-box;
}
.subCon01.flexwrap {
    flex-wrap: wrap;
}
.subCon01.bottom {
    display: block;
}
.subCon01.bottom .reserbox{
    margin-right: 0;
}
.img_100 {
    max-width: 100%;
    height: auto !important;
    vertical-align: top;
    border-radius: 50%;
    overflow: hidden;
}
#contents{
    width: 95%;
    margin: 5% auto 0;
}
.red {font-weight: bold; color: red; }
.rsv_cal_h .ssn td { vertical-align: middle; }
.rsv_cal_b td.nm_room { vertical-align: middle;}
.reserCon { 
    margin:0 4%; 
    border-bottom:2px solid #707070;
}
.reserCon:last-child { margin-bottom:0; border:none;}

.reser_cal { margin: 0 auto; width:80%; overflow:hidden; }

.reserbtn_box {margin: 0 auto 5%; width: 80%; }
.reserbtn_box a.reser_btn {
    position: relative;
    display: block;
    margin-top: 30px;
    width: max-content;
    height: max-content;
    padding: 15px 29px 13px 29px;
    font-size: 22px;
    line-height: 38px;
    color: #fff;
    transition: 0.5s;
    background: #6188AF;
    overflow: hidden;
}
.reserbtn_box a.reser_btn em {
    position: relative;
    z-index: 5;
    font-style: normal;
    font-weight: bold;
  }
.reserbtn_box a.reser_btn::before{
    content: '';
    display: block;
    width: 0;
    height: 110%;
    background: #0F4275;
    position: absolute;
    left: -12.5%;
    top: -2%;
    transition: all .3s linear;
    transform: skew(-20deg);
}
.reserbtn_box a.reser_btn:hover em{
  color: #fff;
}
.reserbtn_box a.reser_btn:hover::before{
  width: 123%;
}

.reser_cont {
    width: 65%;
}
.reserbox  {margin-right: 3%; padding: 5% 0; border-bottom: 1px solid #dedede;}
.reser02_01 {padding: 16% 0;}
.reser01_03, .reser02_03 {border-bottom: none;}
.reserbox_img {
    display: flex;
    align-items: center;
    padding: 0 3%; 
}
.reserbox_img img { border-radius: 75px;}
/*위쪽 사진 포함한 예약안내 영역*/
.reser_dl {display: flex; align-items: center;}
.reser_dl dt {width: 30%; font-size: 30px; line-height: 36px; -webkit-text-stroke: 0.5px #000; }
.reser_dl dd { width: 70%; font-size: 17px; line-height: 33px;}
/*사진 미포함된 이용안내 및 환불 영역*/
.subCon01.bottom dt {width: 18.5%;}
.subCon01.bottom dd {width: 81.5%;}



.reser_li { margin:5% 0;}
.reser_li li { font-size:1.2em; line-height:1.8em;}
.reser_info { font-size:1.07em; line-height:1.8em;}

.reserTable { width:100%;border-collapse:collapse; border-top:1px solid #999;}
.reser .reserTable { margin-bottom:5%;}
.roomReser { margin-bottom:10px;}
.reser_name { text-align:center;}
.reser_name dt { font-size:1.35em; line-height:2em; font-weight:700;}
.reser_name dd {}
.reser_name dd p { font-size:1.1em; line-height:1.5em; margin-bottom:0.2em;}
.reserTable th, .reserTable td { padding:15px 2px; font-size:1em; line-height:1.5em; text-align:center; border-bottom:1px solid #999; font-weight:400;}
.reserTable th { background:#f9f9f9}
.reserTable thead { border-bottom:2px solid #333;}
.reserTable td.type { text-align:left; padding-left:10px;}
.reserTable th[scope=rowgroup] { position:relative; background:transparent; z-index:10; }
.reserTable th.seasonBg {background:#f9f9f9;}
.roomLink { position:absolute; width:1000%; height:100%; left:0; top:0; opacity:0;  filter: alpha(opacity=0;); z-index:5;}
.roomLink a { display:block; width:100%; height:100%;}
.reser .reserTable tbody:hover td, .reser .reserTable tbody:hover th {  -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; background:#000; color:#fff; cursor:pointer;}

.cancelTable { width:100%; border-collapse:collapse; border-top:1px solid #999; margin-top:5%;}
.cancelTable.mo {display: none;}
.cancelTable th, .cancelTable td { padding:12px 3px; font-size:0.9em; line-height:1.5em; text-align:center; border-bottom:1px solid #999; font-weight:400; vertical-align: middle; word-break: keep-all;}
.cancelTable th { background:#f9f9f9;}
.cancelTable .base th, .cancelTable .base td { color:#FF7800;}
.cancelTable thead { border-bottom:2px solid #333;}

.reser_frame {position:relative; z-index:3; }
.reser_frame iframe { display:block; width:94%; max-width:1420px; height:1200px; border:0; overflow-y:auto; padding:3% 0; margin:3% auto 6%; padding:3%; border:1px solid #eee; -webkit-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1); box-shadow:2px 2px 3px rgba(0, 0, 0, 0.1);}

.active .reser01_0301 {opacity:1; filter: alpha(opacity=100;); transition: all 0.5s ease 1.3s;}

.list01 li {
    word-break: keep-all;
}
.list01 .indent {
    margin-left: 10px;
}
.list01 li::before {
    content: "ㆍ";
    display: inline-block;
    width: 1em;
    text-align: center;
    font-style: normal;
    margin-left: -1em;
}
.list01 li.dash::before {
    content: "-";
}
.list01 li.star::before {
    content: "*";
}
.list01 li.link_blog {
    word-break : break-all;
    transition: 0.5s;
}
.list01 li.link_blog:hover{
    color: #007b16;
    font-weight: bold;
    transform: translateX(10px);
}
@media  (max-width: 1280px){
    .subCon01 {
        margin: 0 4%;
        display: block;
    }
    .subCon01.bottom dt {width: 34.5%;}
    .reserCon { 
        margin:0 4% 5%;
    }
    .reserbox {
        margin-right: 0;
        padding: 3% 0;
        border-bottom: 1px solid #dedede;
    }
    .reserbox_img {
        text-align: center;
        padding: 0;
    }
    .reser_cont {
        width: 100%;
    }
    .reser_name { font-size:0.95em; margin-bottom:5px;}
    .reser_name strong { font-size:1.15em;}
    .reser_cal {width: 100%;}
    .reserbtn_box {width: 100%; display: flex; justify-content: center;}
    .reser_dl dt, .reser_dl dd{
        word-break: keep-all;
    }

    .room .reserTable { width:100%; margin-bottom:-1px;}
    .reser .reserTable thead { border-bottom:2px solid #555;}
    .reserTable th, .reserTable td, .cancelTable th, .cancelTable td { 
        width: 20%; padding:10px 50px; 
        font-size:15px; letter-spacing:-0.05em; line-height:1.5em;}
    .cancelTable.people th, .cancelTable.people td {
        padding:10px 20px;
    }
    .cancelTable.pc {display: none;}
    .cancelTable.mo {
        display: block;
        margin: 0 auto;
    }
   
}
@media (max-width:1024px) {
    .subCon01.bottom dt {
        width: 100%;
    }
    .reser_dl {
        display: block;
    }
    .reser_dl dt, .reser_dl dd, .subCon01.bottom dd {
        width: 100%;
    }
    .reser_dl dd {
        margin: 15px 0;
    }
    .reserve_bg {
        background-attachment: fixed;
        height: auto;
    }
    .reserve_bg p {
        padding: 130px 0 96px 0;
    }
}
@media (max-width:768px){
    .reserCon {
        margin: 0 2% 5%;
        border-bottom: 2px solid #707070;
    }
    .reser_dl dt {
        font-size: 20px;
    }
    .reser_dl dd {
        font-size: 13px;
        line-height: 22px;
    }
    .reserbox_img {
        padding: 0;
    }
    .reserbox_img img {
        width: 100%;
        border-radius: 40px;
    }
}
@media  (max-width: 560px){
    .reserbtn_box a.reser_btn {
        display: block;
        margin-top: 25px;
        width: max-content;
        height: max-content;
        padding: 9px 26px;
        font-size: 17px;
        line-height: 38px;
        color: #fff;
        transition: 0.5s;
        background: #6188AF;
    }
    
    .rsv_cal_t p {
        padding: 0 5px !important;
        font-size: 14px;
    }
    .cancelTable th, .cancelTable td {
        padding: 10px 33px;
        font-size: 13px;
    }

}
@media (max-width:355px){
    .rsv_cal_t p {
        font-size: 13px;
    }
}
/* 08.03 table 추가 */
#ptable {width:100%; border-bottom: #d9d9d9 1px solid; border-right: #d9d9d9 1px solid; margin-left: auto; margin-right: auto;}
#ptable tr {min-height: 40px;}
#ptable th {text-align: center; background: #ededed; color: #323232; padding: 1vh 0; border-top: #d9d9d9 1px solid; border-left: #d9d9d9 1px solid;}
#ptable td {font-size: 13px; line-height: 120%; text-align: center; padding: 12px 0 ; border-top: #d9d9d9 1px solid; border-left: #d9d9d9 1px solid;}

/*실시간 예약 바로가기 영역 */
.real_reserve{ 
    display: flex;
    align-items: center;
    position: relative;
    width: 99%;
    border-radius: 80px;
    min-height: 640px;
    margin: 3% auto;
    background-image: url("/images/reserve/reser_banner.jpg");
    background-repeat: no-repeat;
    background-attachment: fixed;
    color: #fff;
}

.real_reserve .text {
    padding-left: 9%;
} 
.real_reserve h2 {
    margin-bottom: 40px;
    font-size: 88px;
    line-height: 130px;
    font-weight: normal;
    text-shadow: 0px 3px 6px #00000066;
} 
.real_reserve a {
    display: inline-block;
    padding: 10px 30px;
    font-size: 25px;
    line-height: 50px;
    border: 1px solid #fff;
    text-shadow: 0px 3px 6px #00000029;
    background: rgba(0, 0, 0, 0.3);
} 
.real_reserve a:hover {
    background: #fff;
    color: #10244E;
}
.real_reserve a span {
    display: inline-block;
    margin-left: 20px;
    font-size: 28px;
    transform: translateY(2px);
}

@media (max-width:768px){
    .real_reserve{ 
        border-radius: 30px;
        background-image: url(/images/reserve/m/reser_banner.jpg);
        background-position: center center;
        background-size: cover;
        max-height: 450px;
        min-height: 400px;
    }
    .real_reserve .text {
        padding-left: 7%;
    } 
    .real_reserve h2 {
        margin-bottom: 30px;
        font-size: 50px;
        line-height: 80px;
        font-weight: normal;
        text-shadow: 0px 3px 6px #00000029;
    } 
    .real_reserve a {
        display: inline-block;
        padding: 7px 22px;
        font-size: 22px;
        line-height: 45px;
        border: 1px solid #fff;
        text-shadow: 0px 3px 6px #00000029;
    } 
    .real_reserve a span {
        display: inline-block;
        margin-left: 20px;
        font-size: 25px;
        transform: translateY(2px);
    }
}