@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.6/dist/web/static/pretendard.css');
* {
    box-sizing: border-box;
    scroll-behavior: smooth;
    letter-spacing: -0.05em;
}
.en_font {
    font-family: 'Roboto', sans-serif;
}
.serif {
    font-family: 'Noto Serif KR', serif;
}
.pre {
    font-family: 'Pretendard', sans-serif;
}
.sans {
    font-family: 'Noto Sans KR', sans-serif;
}
body {
    position: relative;
    overflow-x: hidden;
    font-family: 'Pretendard', sans-serif;
    margin: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    word-break: keep-all;
}
a {
    color: #333;
    text-decoration: none;
}
ul {
    list-style: none;
    padding: 0;
    margin: 0px;
}
li {
    list-style: none;
}
img {
    vertical-align: middle;
    max-width: 100%;
}
.m_con {
    display: none;
}
.blind {
    text-indent: -9999px;
    line-height: 0px;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
strong {
    margin: 0;
}
.center {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
}
.sub_center {
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
}
/* header */
.header {
    width: 100%;
    /* position: fixed;
    left: 0px;
    top: 0px; */
    z-index: 103;
    transition: all 0.5s;
    background-color: #fff;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.hd_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100px;
    padding: 0px 50px;
}
.hd_con {
    opacity: 0;
}
.hd_wrap ul {
    display: flex;
}
.hd_wrap ul > li > a {
    font-size: 20px;
    font-weight: 400;
    color: #333;
    position: relative;
    line-height: 100px;
    display: inline-block;
    text-align: center;
    width: 186px;
    transition: all 0.2s;
}
.hd_wrap ul > li > a:hover {
    color: #fff;
    background-color: #c9a46e;
}
.side_menu {
    position: fixed;
    right: 0px;
    top: 0px;
    height: 100vh;
    z-index: 104;
    transition: all 0.5s;
    border-left: 1px solid #dcceba;
    display: flex;
    flex-direction: column;
    background-color: #f3f0e93d;
    backdrop-filter: blur(5px);
}
.menu {
    background-color: #fff;
}
.menu label {
    display: block;
    cursor: pointer;
    position: relative;
    width: 50vw;
    height: 50vw;
    max-width: 100px;
    max-height: 100px;
}
.menu input {
    display: none;
}
.menu circle {
    filter: opacity(0);
}
.menu--3 .line--1,
.menu--3 .line--3 {
    --total-length: 126.38166809082031;
}

.menu--3 .line--2 {
    --total-length: 80;
}

.menu--3 input:checked + svg .line--1,
.menu--3 input:checked + svg .line--3 {
    --offset: -109.1770175568;
}
.back input:checked + svg .line--1,
.back input:checked + svg .line--3 {
    --length: 8.602325267;
}

@media (min-aspect-ratio: 1/1) {
    label {
        width: 50vh;
        height: 50vh;
    }
}

.menu--1 label,
.menu--2 label {
    bottom: 0;
}

.menu--3 label,
.menu--4 label {
    top: 0;
}

.menu--1 label,
.menu--3 label {
    right: 0;
}

.menu--2 label,
.menu--4 label {
    left: 0;
}

path {
    fill: none;
    stroke: #907d5a;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    --length: 24;
    --offset: -38;
    stroke-dasharray: var(--length) var(--total-length);
    stroke-dashoffset: var(--offset);
    transition: all 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.side_menu h2 {
    writing-mode: vertical-rl;
    padding-top: 84px;
    padding-bottom: 75px;
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 300;
    color: #c9a46e;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    height: 27.8%;
    justify-content: center;
    transition: all 0.2s;
}
.side_menu > a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    border-top: 1px solid #dcceba;
}
.sm_top > a {
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
}
.sm_scroll {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 10%;
}
.m_nav {
    position: fixed;
    right: -100vw;
    top: 0px;
    width: 100vw;
    height: 100%;
    background-color: #fff;
    transition: all 0.5s;
    z-index: 101;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.m_nav.active {
    right: 0vw;
}
.m_nav > li > a {
    display: block;
    text-align: center;
    font-size: 55px;
    font-weight: 900;
    line-height: 104px;
    color: #333;
    transition: all 0.2s;
}
.m_nav > li > a:hover {
    opacity: 0.7;
}
.m_nav > img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: -1;
    filter: opacity(0.03);
    width: 80%;
    /* animation: m_logo 30s infinite linear; */
}
@keyframes m_logo {
    0% {
        transform: translateX(-50%) translateY(-50%) rotateY(0deg);
    }
    100% {
        transform: translateX(-50%) translateY(-50%) rotateY(360deg);
    }
}
@media screen and (max-width: 1600px) {
    .hd_wrap {
        height: 50px;
        padding: 0px 25px;
    }
    .m_nav > li > a {
        font-size: 30px;
        line-height: 60px;
    }
    .hd_wrap ul > li > a {
        font-size: 16px;
        line-height: 50px;
        width: 130px;
    }
    body > header > nav > h1 > a > img {
        width: 65%;
    }
    .menu label {
        max-width: 50px;
        max-height: 50px;
    }
    body > aside.side_menu > div.sm_top > a > img {
        width: 60%;
    }
    .center {
        max-width: 820px;
    }
    .sub_center {
        max-width: 930px;
    }
    .side_menu > a > img {
        width: 35%;
    }
    body > aside.side_menu > div.sm_scroll > img {
        width: 25%;
    }
}
