@charset "utf-8";
@import url(../../마녀공장/css/reset.css);

@font-face {
    font-family: 'Pretendard-Regular';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'KCCChassam';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302@1.0/KCCChassam.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

a {
    text-decoration: none;
    color: inherit;
}

#wrap {
    font-family: 'Pretendard-Regular';
    color: #333;
}

img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.inner {
    max-width: 1600px;
    width: calc(100% - 40px);
    margin: 0 auto;
}


/* -------------------------------------------------------------------- */
/* header */

header {
    height: 100px;
}

header .inner .button,
header .inner .mobile {
    display: none;
}

header .inner {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header .inner h1 {
    height: 40px;
}

header .inner .pc .gnb .depth01 {
    height: 100%;
    display: inline-block;
    position: relative;
}

header .inner .pc .gnb .depth01.on > a {
    color: #bb181d;
}

header .inner .pc .gnb .depth01>a {
    display: block;
    padding: 0 30px;
    height: 100px;
    line-height: 100px;
}

header .inner .pc .gnb .depth01 .depth02 {
    position: absolute;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    background-color: white;
    font-size: 15px;
    display: none;
}

header .inner .pc .gnb .depth01:hover .depth02 {
    display: block;
}

header .inner .pc .gnb .depth01 .depth02 li {
    width: 150px;
    text-align: center;
}

header .inner .pc .gnb .depth01 .depth02 li a {
    display: block;
    padding: 10px;
}

/* -------------------------------------------------------------------- */
/* main_visual */

.main_visual {
    height: calc(100vh - 100px);
    background: url(../img/마녀공장/41ebcd316056617b4e4796d8183e5170_87822.jpg) center center / cover no-repeat;
}

.main_visual .inner {
    position: relative;
    height: 100%;
}

.main_visual .inner .title {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-family: 'KCCChassam';
    width: 100%;
}

.main_visual .inner .title h2 {
    font-size: 50px;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 20px;
}

.main_visual .inner .title p {
    font-size: 25px;
    margin-bottom: 20px;
}

.main_visual .inner .title a {
    display: block;
    width: 140px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    border: 1px solid #333;
    border-radius: 40px;
    margin-top: 100px;
}

/* -------------------------------------------------------------------- */
/* cont01 */

.cont01 {
    padding: 150px 0;
}

.cont01 .inner .title {
    display: flex;
    justify-content: space-between;
}

.cont01 .inner .title a {
    display: block;
    width: 140px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    border: 1px solid #333;
    border-radius: 40px;
    order: 1;
}

.cont01 .inner .title h2 {
    font-size: 50px;
    font-weight: bold;
    margin: 50px 0 40px;
}

.cont01 .inner .best_menu {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.cont01 .inner .best_menu li {
    margin-left: 30px;
}

.cont01 .inner .best_menu li.on {
    color: #bb181d;
}

.cont01 .inner .list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.cont01 .inner .list .item {
    width: calc((100% - 30px) / 4);
}

.cont01 .inner .list .item figure {
    width: 100%;
    max-height: 26.25vw;
    height: 100%;
}

.cont01 .inner .list .item .item_text {
    margin-top: 20px;
}

.cont01 .inner .list .item .item_text h4 {
    height: 50px;
    font-size: 20px;
    margin-bottom: 30px;
}

.cont01 .inner .list .item .item_text .pay {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 22px;
}

.cont01 .inner .list .item .item_text .pay p {
    color: #838383;
    text-decoration: line-through;
}

.cont01 .inner .list .item .item_text .pay strong {
    font-weight: bold;
}

.cont01 .inner .list .item .item_text .pay strong span {
    font-weight: bold;
    color: #bb181d;
    margin-right: 10px;
}

/* -------------------------------------------------------------------- */
/* cont02 */

.cont02 {
    background-color: #fdf9ef;
    padding: 150px 0;
}

.cont02 .inner {
    display: flex;
    justify-content: space-between;
    align-items: top;
    flex-wrap: wrap;
}

.cont02 .inner .title {
    width: 31.25%;
}

.cont02 .inner .title div h2 {
    font-size: 50px;
    font-weight: bold;
}

.cont02 .inner .title div p {
    font-size: 30px;
    margin: 50px 0 100px;
}

.cont02 .inner .title>a {
    display: block;
    width: 140px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    border: 1px solid #333;
    border-radius: 40px;
}

.cont02 .inner .list {
    width: calc(100% - 31.25%);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.cont02 .inner .list .item {
    width: calc((100% - 10px) / 2);
    height: 395px;
    position: relative;
}

.cont02 .inner .list .item .text {
    position: absolute;
    left: 40px;
    bottom: 40px;
}

.cont02 .inner .list .item .text strong {
    display: block;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 20px;
}

/* -------------------------------------------------------------------- */
/* footer */

footer {
    height: 60px;
    line-height: 60px;
    text-align: center;
    background-color: #bb181d;
    color: white;
}



/* -------------------------------------------------------------------- */
/* pc end */


/* mobile start */
/* -------------------------------------------------------------------- */


/* mobile 1024px */

@media screen and (max-width:1024px) {
    header .inner .pc {
        display: none;
    }

    header .inner .button,
    header .inner .mobile {
        display: block;
    }

    header .inner .button .menu_open {
        display: block;
    }

    header .inner .button .menu_close {
        display: none;
    }

    header .inner .mobile {
        width: 100%;
        position: absolute;
        top: 100px;
        left: 0;
        text-align: center;
        z-index: 99;
    }

    header .inner .mobile .gnb .depth01 {
        background-color: white;
        display: none;
    }
    
    header .inner .mobile .gnb .depth01.on > a {
        color: #bb181d;
    }

    header .inner .mobile .gnb .depth01>a {
        display: block;
        padding: 20px 0;
        font-size: 20px;
        border-top: 1px solid #333;
        background-color: #fdf9ef;
    }

    header .inner .mobile .gnb .depth01 .depth02 {
        display: none;
    }

    header .inner .mobile .gnb .depth01 .depth02 a {
        display: block;
        padding: 10px 0;
        border-top: 1px dotted #333;
    }

    header .inner .mobile .gnb .depth01 .depth02 li:first-child a {
        border-top: 1px solid #333;
    }

    /* -------------------------------------------------------------------- */
    /* cont02 */

    .cont02 .inner .title {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 30px;
    }

    .cont02 .inner .title div h2 {
        font-size: 30px;
    }

    .cont02 .inner .title div p {
        font-size: 16px;
        margin: 25px 0 0;
    }

    .cont02 .inner .title div p br {
        display: none;
    }

    .cont02 .inner .list {
        width: 100%;
    }

    .cont02 .inner .list .item {
        height: 50vw;
    }
}



/* -------------------------------------------------------------------- */
/* mobile 767px */

@media screen and (max-width:767px) {

    header {
        height: 50px;
    }

    header .inner h1 {
        height: 25px;
    }

    header .inner .mobile {
        top: 50px;
    }

    header .inner .mobile .gnb .depth01>a {
        padding: 15px 0;
        font-size: 18px;
    }

    header .inner .mobile .gnb .depth01 .depth02 a {
        font-size: 14px;
        padding: 5px 0;
    }

    /* -------------------------------------------------------------------- */
    /* main_visual */

    .main_visual .inner .title {
        /* top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); */
        text-align: center;
    }

    .main_visual .inner .title h2 {
        font-size: 40px;
        margin-bottom: 10px;
    }

    .main_visual .inner .title p {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .main_visual .inner .title span {
        font-size: 16px;
    }

    .main_visual .inner .title a {
        margin: 50px auto 0;
        background-color: white;
    }

    /* -------------------------------------------------------------------- */
    /* cont01 */

    .cont01 {
        padding: 60px 0;
    }

    .cont01 .inner .title a {
        width: 100px;
        height: 35px;
        line-height: 35px;
        font-size: 14px;
    }

    .cont01 .inner .title h2 {
        font-size: 40px;
        margin: 40px 0 20px;
    }

    .cont01 .inner .best_menu {
        justify-content: flex-start;
    }

    .cont01 .inner .best_menu li {
        margin-left: 0;
        margin-right: 20px
    }

    .cont01 .inner .list .item {
        width: calc((100% - 10px) / 2);
    }

    .cont01 .inner .list .item figure {
        max-height: 48.89vw;
    }

    .cont01 .inner .list .item:nth-child(3),
    .cont01 .inner .list .item:nth-child(4) {
        display: none;
    }

    /* -------------------------------------------------------------------- */
    /* cont02 */

    .cont02 {
        padding: 60px 0;
    }

    .cont02 .inner .list .item .text {
        left: 20px;
        bottom: 20px;
    }

    .cont02 .inner .list .item .text strong {
        font-size: 22px;
        margin-bottom: 10px;
    }

    /* -------------------------------------------------------------------- */
    /* footer */

    footer {
        font-size: 14px;
    }
}



/* -------------------------------------------------------------------- */
/* mobile 460px */

@media screen and (max-width:460px) {

    header .inner .mobile .gnb .depth01>a {
        font-size: 16px;
    }

    header .inner .mobile .gnb .depth01 .depth02 a {
        font-size: 12px;
    }

    /* -------------------------------------------------------------------- */
    /* main_visual */

    .main_visual .inner .title h2 {
        font-size: 30px;
    }

    /* -------------------------------------------------------------------- */
    /* cont01 */

    .cont01 .inner .title h2 {
        font-size: 30px;
    }

    .cont01 .inner .best_menu li {
        font-size: 14px;
        margin-right: 15px;
    }

    .cont01 .inner .list .item .item_text {
        margin-top: 10px;
    }

    .cont01 .inner .list .item .item_text h4 {
        font-size: 16px;
        line-height: 1.3;
        height: 40px;
        margin-bottom: 20px;
    }

    .cont01 .inner .list .item .item_text .pay {
        font-size: 16px;
    }

    /* -------------------------------------------------------------------- */
    /* cont02 */

    .cont02 .inner .title div h2 {
        font-size: 25px;
    }

    .cont02 .inner .title div p br {
        display: block;
    }

    .cont02 .inner .title>a {
        width: 100px;
        height: 35px;
        line-height: 35px;
        font-size: 14px;
    }

    .cont02 .inner .list .item {
        width: 100%;
        margin-bottom: 15px;
    }

    footer {
        font-size: 12px;
    }
}