/* ==========================
COMMON
========================== */
:root {
    --key-color: #FF306B;
}

.mo-only {display: none;}
.ta-pc-only {display: none;}

/* clamp(MINpx, calc(MINpx + (MAX - MIN) * ((100vw - 360px) / 840)), MAXpx);
 */
*[class^="cont0"] {padding:clamp(80px, calc(80px + (160 - 80) * ((100vw - 360px) / 840)), 160px) 0;}
.inner {padding:0 4%;}

/* title */
h3 {text-align: center;margin-bottom:clamp(30px, calc(30px + (60 - 30) * ((100vw - 360px) / 840)), 60px);}
h3 span {font-size:clamp(28px, calc(28px + (40 - 28) * ((100vw - 360px) / 840)), 40px);
    display:block;color:#222;font-weight:400;line-height:1.4;letter-spacing: -0.28px;}
h3 strong {font-size:clamp(28px, calc(28px + (40 - 28) * ((100vw - 360px) / 840)), 40px);
    color:#222;font-weight:700;line-height:1.4;letter-spacing: -0.28px;}
h4 {color: #222;text-align: center;font-weight: 700;line-height: 1.4;letter-spacing: -0.24px;
font-size:clamp(24px, calc(24px + (32 - 24) * ((100vw - 360px) / 840)), 32px);}

/* etc */
.c-txt {font-size:13px;color: #777;line-height:1.5;font-weight:400;text-align: left;padding-left:32px;}
.r-txt {font-size:13px;margin-top:30px;color: #777;;line-height:1.5;font-weight:400;text-align: right;}


/* ==========================
VISUAL
========================== */
.visual-wrap{
    padding: 0 4%;overflow: hidden;
    background-image:
        /* º¸¶ó ÇÏÀÌ¶óÀÌÆ® (Åæ ´Ù¿î) */
        radial-gradient(110% 70% at 80% 0%,
        rgba(240, 228, 255, 0.65) 0%,
        rgba(240, 228, 255, 0.00) 65%),

        /* ÇÎÅ© ¸ÞÀÎ */
        linear-gradient(180deg,
        #FFECEF 0%,
        #FFF1F5 38%,
        #FFFFFF 82%);
    background-repeat: no-repeat;background-size: cover;
}
.visual-wrap .visual {padding:clamp(130px, calc(130px + (260 - 130) * ((100vw - 360px) / 840)), 260px) 0;    text-align:center;}
.visual-wrap .visual h2 img {width:100%;max-width: 790px;}
.visual-wrap .visual h3 {line-height: 130%;position:relative;display:inline-block;color: #000;text-align: center;font-weight: 700;
font-size: clamp(28px, calc(28px + (40 - 28) * ((100vw - 360px) / 840)), 40px);
letter-spacing: clamp(0.28px, calc(0.28px + (0.4 - 0.28) * ((100vw - 360px) / 840)), 0.4px);
margin-bottom: clamp(60px, calc(60px + (60 - 60) * ((100vw - 360px) / 840)), 60px);}

/* ==========================
CONTENTS
========================== */
.list-box {border-radius:20px;background-color:#fff;box-sizing: border-box;border: 1px solid #DDD;
    margin-top:clamp(30px, calc(30px + (60 - 30) * ((100vw - 360px) / 840)), 60px);
    padding:40px clamp(30px, calc(30px + (60 - 30) * ((100vw - 360px) / 840)), 60px);}
.list-box dl dt {color:var(--key-color);font-weight: 800;line-height:1.3;letter-spacing: -0.22px;word-break: keep-all;text-align: center;
    font-size:clamp(22px, calc(22px + (28 - 22) * ((100vw - 360px) / 840)), 28px);}
.list-box dl dd {display: flex;justify-content: center;align-items: flex-start;}
.list-rwd-dot{padding: 0;  margin: clamp(18px, calc(18px + (28 - 18) * ((100vw - 360px) / 840)), 28px) 0 0;}
.list-rwd-dot li:first-of-type {margin-top: 0;}
.list-rwd-dot li{position: relative;  padding-left: 10px;  margin-top: 8px;  color: #555;  font-weight: 400;  line-height: 1.4;  letter-spacing: -0.17px;
    word-break: keep-all;  font-size: clamp(17px, calc(17px + (20 - 17) * ((100vw - 360px) / 840)), 20px);}
.list-rwd-dot li::before{content: "\2022";position: absolute;  left: -3px;  top: 0.15em;  font-size: 1.1em;  line-height: 1;  color: #555;}


/* cont02 */
.cont02 {background-color: #FFF8F9;}
.match-card{border-radius: 20px;  background:#fff;  overflow:hidden;}
.match-top{position: relative;display:flex;background-color: #FFF8F9;}
.match-col{width:50%;}
.match-col:last-child{ border-right:0; }
.match-head{text-align:center;border-radius: 20px 20px 0 0;font-weight:700;letter-spacing:-0.2px;line-height: 1.4;
    padding: clamp(16px, calc(16px + (18 - 16) * ((100vw - 360px) / 840)), 18px) 0;
    font-size: clamp(18px, calc(18px + (24 - 18) * ((100vw - 360px) / 840)), 24px);}
.match-head.is-gray{ background:#E5E5E5; color:#222; }
.match-head.is-pink{ background: var(--key-color); color:#fff; }

/* ÀÌ¹ÌÁö ¿µ¿ª */
.match-img{background:#fff;display:flex;  align-items:center;  justify-content:center;}
.match-img img{width:100%;  height:auto;  display:block;}
.match-point{position:absolute;  left:50%;  bottom: -20px;  transform: translateX(-50%);  z-index: 2;}
.btn-check{display:inline-flex;align-items:center;justify-content:center;  gap:4px;  height:30px;  padding:4px 26px;
    padding: clamp(4px, calc(4px + (10.5 - 4) * ((100vw - 360px) / 840)), 10.5px) 26px;
    font-size: clamp(16px, calc(16px + (18 - 16) * ((100vw - 360px) / 840)), 18px);
    white-space: nowrap;  flex-wrap: nowrap;  border-radius: 999px;  background: var(--key-color);  color:#fff;  font-weight:700;  letter-spacing:-0.2px;}
.btn-check i{display:inline-block;  border-radius: 0;
    width: clamp(15px, calc(15px + (21.85 - 15) * ((100vw - 360px) / 840)), 21.85px);
    height: clamp(13px, calc(13px + (19 - 13) * ((100vw - 360px) / 840)), 19px);
    background: url('https://russeldata.megastudy.net/campus/images/russel/campus_common/2026/alpha_mock/ico_check_white.png') 50% top no-repeat;background-size: contain;}
.match-bottom{border-left: 1px solid #ddd;border-right: 1px solid #ddd;border-bottom: 1px solid #ddd;border-radius: 0 0 20px 20px;
  padding: clamp(30px, calc(30px + (44 - 30) * ((100vw - 360px) / 840)), 44px)
           clamp(36px, calc(36px + (60 - 36) * ((100vw - 360px) / 840)), 60px);}
.check-list{  list-style:none;  margin:0;  padding:0;}
.check-list li{position: relative;color: #222;font-weight: 400;line-height: 1.4;letter-spacing: -0.16px;word-break: keep-all;
        padding-left:clamp(18px, calc(18px + (30 - 18) * ((100vw - 360px) / 840)), 30px);
        font-size: clamp(16px, calc(16px + (18 - 16) * ((100vw - 360px) / 840)), 18px);}
.check-list li + li{ margin-top: 14px; }
.check-list li::before{display: block;content:"";position:absolute;left:0;top:3px;color: var(--key-color);font-weight:900;
    background: url("https://russeldata.megastudy.net/campus/images/russel/campus_common/2026/alpha_mock/ico_check_pink.png") no-repeat 0 0;
    background-size: contain;
    width: clamp(15px, calc(15px + (21.85 - 15) * ((100vw - 360px) / 840)), 21.85px);
    height: clamp(13px, calc(13px + (19 - 13) * ((100vw - 360px) / 840)), 19px);}
.match-slide{  margin-top: clamp(26px, calc(26px + (40 - 26) * ((100vw - 360px) / 840)), 40px);  padding-bottom:  clamp(40px, calc(40px + (50 - 40) * ((100vw - 360px) / 840)), 50px);}
.match-slide .swiper-pagination{  bottom: 0 !important;}
.match-slide .swiper-pagination-bullet{  width:10px;height:10px;  background:#DBDBDB;  opacity:1;}
.match-slide .swiper-pagination-bullet-active{  width:24px;  border-radius: 999px;  background: var(--key-color);}

/* pagination */
.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {bottom:0;}
.swiper-pagination-bullet {width:10px;height:10px;background-color:#DFDFDF;opacity: 1;}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {margin:0 4px;}
.swiper-pagination-bullet-active {width:24px;background-color:var(--key-color);border-radius:50px;}

/* cont03 */
.list-wrap {display: flex;flex-direction: column;gap: 16px;}
.list-wrap .list-box {margin-top: 0;padding: clamp(20px, calc(20px + (40 - 20) * ((100vw - 360px) / 840)), 40px);}
.list-wrap .list-box dl dt {font-size: clamp(18px, calc(18px + (24 - 18) * ((100vw - 360px) / 840)), 24px);font-weight: 700;}
.list-wrap .list-box dl dd {color: #555;text-align: center;margin-top: 12px;font-weight: 400;line-height: 1.4;letter-spacing: -0.16px;
    font-size: clamp(16px, calc(16px + (18 - 16) * ((100vw - 360px) / 840)), 18px);}
.list-wrap.cont03-box {gap: 16px;}
.list-wrap.cont03-box .list-box{border: 1px solid #E6E6E6;background: #fff;box-sizing: border-box;display: flex;align-items: center;justify-content: center;
    border-radius: clamp(14px, calc(14px + (20 - 14) * ((100vw - 360px) / 840)), 20px);
    padding: clamp(22px, calc(22px + (36 - 22) * ((100vw - 360px) / 840)), 36px)
            clamp(18px, calc(18px + (32 - 18) * ((100vw - 360px) / 840)), 32px);
    min-height: clamp(150px, calc(150px + (170 - 150) * ((100vw - 360px) / 840)), 170px);}
.list-wrap.cont03-box .list-box dl{ width:100%; text-align:center; }
.list-wrap.cont03-box .list-box dl dt{letter-spacing: -0.18px;}
.list-wrap.cont03-box .list-box dl dd{display: block;}


/* cont04 */
.cont04 {background-color: #F8F8F8;}
.list-wrap.cont04-box .list-box {border: 0;}
.list-wrap.cont04-box .list-box p {color: #222;text-align: center;font-weight: 400;line-height: 1.3;letter-spacing: -0.18px;
    font-size: clamp(18px, calc(18px + (24 - 18) * ((100vw - 360px) / 840)), 24px);}
.list-wrap.cont04-box .list-box p strong {font-weight: 700;}


/* cont05 */
.cont05 {padding: clamp(80px, calc(80px + (160 - 80) * ((100vw - 360px) / 840)), 160px) 0 0;}
.cont05 .inner{margin-top: clamp(30px, calc(30px + (60 - 30) * ((100vw - 360px) / 840)), 60px);}

.tbl-box{max-width: 736px;  margin: 0 auto;}
.tbl-schedule{width: 100%;border-collapse: separate;border-spacing: 0;border: 1px solid #E5E5E5;background: #fff;}
.tbl-schedule th, .tbl-schedule td{
    padding: clamp(18px, calc(18px + (22 - 18) * ((100vw - 360px) / 840)), 22px) 12px;
    font-size: clamp(16px, calc(16px + (18 - 16) * ((100vw - 360px) / 840)), 18px);
    line-height: 1.25;  border-top: 1px solid #EDEDED;text-align: center;}
.tbl-schedule thead th{
    border-top: 0;background: #F8F8F8;font-weight: 700;color: #101010;text-align: center;line-height: 1.4;letter-spacing: -0.16px;
    font-size:clamp(16px, calc(16px + (18 - 16) * ((100vw - 360px) / 840)), 18px);
    padding: clamp(22px, calc(22px + (20.5 - 22) * ((100vw - 360px) / 840)), 20.5px);}
.tbl-schedule th + th, .tbl-schedule td + td{border-left: 1px solid #EDEDED;}
.tbl-schedule tbody td{font-weight: 400;color: #222;
    font-size:clamp(16px, calc(16px + (18 - 16) * ((100vw - 360px) / 840)), 18px);
    padding: clamp(19px, calc(19px + (17 - 19) * ((100vw - 360px) / 840)), 17px);}
.tbl-schedule tbody tr.total td{background: #FDF2F5;  font-weight: 800;  border-top: 1px solid #EDEDED;
    padding: clamp(22px, calc(22px + (28 - 22) * ((100vw - 360px) / 840)), 28px) 12px;}

/* ÇÏ´Ü ÅØ½ºÆ® */
.btm-txt {font-size:clamp(28px, calc(28px + (40 - 28) * ((100vw - 360px) / 840)), 40px);
    padding:clamp(30px, calc(30px + (60 - 30) * ((100vw - 360px) / 840)), 60px) 0 ;
    padding-bottom:80px;color:var(--key-color);text-align: center;font-weight: 700;line-height:1.4;letter-spacing: -0.28px;}



/* ÅÂºí¸´ (768px ÀÌ»ó) */
@media (min-width: 768px) {
    /* ==========================
    COMMON
    ========================== */
    .inner {padding: 0 2%;}
    .ta-pc-only {display: block;}

    /* ==========================
    CONTENTS
    ========================== */   
    .list-wrap.cont03-box {flex-direction: row;flex-wrap: wrap;width: 736px;margin: 0 auto;}
    .list-wrap.cont03-box .list-box {width: calc((100% - 16px) / 2);}
    .btm-txt {padding-bottom:160px;}
}

/* PC (1200px ÀÌ»ó) */
@media (min-width: 1200px) {
    /* ==========================
    COMMON
    ========================== */
    .inner {width:1024px;padding:0;margin:0 auto;}

    /* ¿ìÃø ÇÏ´Ü top ¹öÆ° */
    .ta-only, .mo-only, .show-ta, .show-mo {
        display: block !important;
    }

    /* ==========================
    CONTENTS
    ========================== */
    .list-wrap.cont03-box {width: 1024px;}

}

/* ==========================
MO Àü¿ë visual ¹è°æ»ö Àû¿ë
========================== */
@media (max-width:767px){
    .visual-wrap{
        background-image:
        radial-gradient(120% 80% at 82% 0%,
            rgba(240, 228, 255, 0.55) 0%,
            rgba(240, 228, 255, 0.00) 70%),

        linear-gradient(180deg,
            #FFECEF 0%,
            #FFF1F5 78%,   /* 60% ¡æ 78% (ÇÎÅ© À¯Áö ±æ°Ô) */
            #FFFFFF 100%   /* 95% ¡æ 100% (Èò»ö ´õ ´Ê°Ô) */
        );
    }
}


/* ¿ìÃø ÇÏ´Ü top ¹öÆ° */
@media (min-width: 768px) {
    .mo-only {
        display: none !important;
    }
}




/* ====================================================
   6. RESPONSIVE (Media Queries)
==================================================== */

/* PC Only (1200px ????) */
@media (min-width: 1200px) {
    .ta-only, .mo-only, .show-ta, .show-mo { display: none !important; }
    .show-pc { display: block !important; }
    .pc-only { display: block !important; }
}

/* Tablet & Mobile Common (1199px ????) */
@media (max-width: 1199px) {
    .hide-t { display: none !important; }
    
    .list-dot li { padding-left: 15px; }
    .list-dot li:before { width: 5px; height: 5px; top: 10px; }

    .btn-s-gray { font-size: 18px; padding: 10px 30px 10px 12px; }
    .btn-b-wh { padding: 25px 40px; font-size: 20px; }
    
    /* .tbl-01 thead th, .tbl-01 tbody th, .tbl-01 tbody td { padding: 12px 8px; font-size: 14px; } */

    .ico-end { background-size: 35vw; width: 35vw; height: 28vw; top: calc(50% - 13vw) !important; right: calc(50% - 48vw) !important; }
    .ico-end div { font-size: 18px; top: 14vw; }
}

/* Tablet Only (768px ~ 1199px) */
@media (min-width: 768px) and (max-width: 1199px) {
    .ta-only { display: block !important; }
    .show-ta { display: block !important; }
}

/* Mobile Only (767px ????) */
@media (max-width: 767px) {
    .mo-only, .show-mo { display: block !important; }
    .pc-only, .ta-only, .show-pc, .show-ta, .hide-m { display: none !important; }

    .mo-full-btn { width: 100% !important; display: block; }
    .scroll-btn-wrap img { width: 50px; height: 50px; }
    .scroll-btn-top.on { height: 50px; }

    .ico-end { top: 71vw !important; }
}