/* un 기능 */
.arrow_btn {display: none;}
/* un 기능 end */
@font-face {
	font-family: 'SUIT Variable';
	font-weight: 100 900;
	src: url('../font/suit/SUIT-Variable.woff2') format('woff2-variations');
}
@font-face {
	font-family: 'NotoSerifKR Variable';
	font-weight: 100 900;
	src: url('../font/NotoSerifKR-VF/NotoSerifKR-VF-distilled.woff2') format('woff2-variations');
}
*::-webkit-scrollbar {
    display: none;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style: none;
  text-decoration: none;
  border: none;
  outline: none;
  background: transparent;
  word-break: keep-all;
  font-family: 'SUIT Variable', -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue",
    "Segoe UI", "Hiragino Sans", "Apple SD Gothic Neo", Meiryo, "Noto Sans JP",
    "Noto Sans KR", "Malgun Gothic", Osaka, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  line-height: 150%;
}

a {
    text-decoration-line: none;
    color: initial;
}
img,
svg {
    max-width: 100%;
    user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
}
h1,h3,h4,h5,p,span,b {
    user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
}

:root {
    /* margin-padding */
    --side-margin: 20px;

    /* color */
    --main-black: #161716;
    --main-green: #3C4A33;
    --main-baige: #9F978A;
    --main-baige2: #615C55;
    --main-cream2: #EBE2D9;
    --main-cream: #ECE8E0;
}
/* header */
header {position: relative; z-index: 999;}
.header {
    width: 100%;
    height: 82px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--main-black);
    padding: 0 60px;
    position: fixed;
    top: 0;
}
.brush-line {
    position: fixed;
    top: 78px;
    width: 100%;
    height: 10px;
    background-color: var(--main-black);
    -webkit-mask: url("../public/image/theme/line.svg") no-repeat center / cover;
    mask: url("../public/image/theme/line.svg") no-repeat center / cover;
    z-index: 997;
}
.logo_wrap {
    width: 150px;
    height: 40px;
}
.logo {
    width: 150px;
    height: 40px;

    background-color: var(--main-cream);

    -webkit-mask: url("../public/logo/lruda_logo.svg") no-repeat center / contain;
    mask: url("../public/logo/lruda_logo.svg") no-repeat center / contain;
}

.page-brandstory .menu-brandstory,
.page-place .menu-place,
.page-schedule .menu-schedule,
.page-diet .menu-diet,
.page-flat .menu-flat,
.page-moxi .menu-moxi,
.page-pigmen .menu-pigmen,
.page-smp .menu-smp,
.page-tattoo .menu-tattoo {
    border-radius: 0px;
    color: var(--main-cream);
    background-color: var(--main-green);
}
.menu01_wrap.active,
.menu02_wrap.active,
.menu03_wrap.active {
    font-weight: 700;
    color: white;
}
.header_nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 40px;
}
.header_nav a,
.header_nav .menu {
    color: var(--main-cream);
    font-size: 22px;
    vertical-align: middle;
    text-align: center;
    white-space: nowrap;
}
.header_nav a.active {
    color: var(--main-cream);
}
.menu01 {
    border-radius: 100px;
    background-color: var(--main-green);
    padding: 4px 20px;
    font-family: 'NotoSerifKR Variable';
}
.header_nav ul {
    position: relative;
}
.menu>a {
    cursor: pointer;
    padding: 4px 20px;
}
.header_right .menu>a:hover {
    transition: all 0.3s;
    border-radius: 100px;
    background-color: var(--main-green);
    padding: 4px 20px;
}
.sub-menu-group {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);

    display: flex;
    flex-direction: column;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;

    background-color: var(--main-cream);
    margin-top: 26px;
}
.menu:hover .sub-menu-group {
    opacity: 1;
    visibility: visible;;
}
.menu:focus-within .sub-menu-group {
    opacity: 1;
    visibility: visible;
}
.header_right .sub-menu {
    color: var(--main-black);
    padding: 20px 30px;
    font-size: 18px;
    transition: all 0.3s ease;
}
.header_right .sub-menu:hover {
    border-radius: 0px;
    color: var(--main-cream);
    background-color: var(--main-green);
}
.title {
    font-family: 'NotoSerifKR Variable';
    font-size: 48px;
    font-weight: 600;
}

/* footer */
.footer {
    background-color: var(--main-black);
    height: 250px;
    width: 100%;
    position: relative;
    z-index: 999;
    padding: 0 60px;
    margin-top: 70px;
}
.mask-top-foo {
    position: relative;

    -webkit-mask-image: url("../public/image/main/menu-paper-foo.png");
    -webkit-mask-size: 100% 120px;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: top;

    mask-image: url("../public/image/main/menu-paper-foo.png");
    mask-size: 100% 120px;
    mask-repeat: no-repeat;
    mask-position: top;
}
.footer .menu-paper-foo {
    position:absolute;
    top: -120px;
    left:0;
    width:100%;
    height:120px;

    background-color: white;
    display:flex;

    background:url("../public/image/main/menu-paper-foo.png") center / cover no-repeat;
}
.foo-logo-group {
    width: 30%;
}
.foo-info {
    width: 70%;
}
.footer .logo {
    width: 250px;
    height: 120px;

    transform:translate(50%, 30%);

    background-color: var(--main-cream);

    -webkit-mask: url("../public/logo/lruda_logo_kr.svg") no-repeat center / contain;
    mask: url("../public/logo/lruda_logo_kr.svg") no-repeat center / contain;
    mask-size: 200px;
}
.footer span {
    color: var(--main-baige);
    font-size: 16px;
}
.footer p {
    color: var(--main-cream);
    font-size: 24px;
}
.foo-content {
    display: flex;
    flex-direction: row;
    gap: 60px;
}
.foo-info {
    display: flex;
    gap: 100px;
}
.footer ul {
    border-top: 1px solid var(--main-baige);
    margin-top: 16px;
}
.grid-footer {
    border-top: 1px solid var(--main-baige);
    margin-top: 46px !important;
    display: grid;
    gap: 0 60px;
    grid-template-columns: auto 1fr;
}
.footer ul li {
    padding: 6px 0;
}
.footer ul li:first-child,
.footer .grid-footer li:nth-child(2) {
    margin-top: 16px;
}
.footer ul li span:first-child {
    color: var(--main-cream);
    font-weight: 600;
    margin-right: 20px;
}
.footer .grid-footer li span:first-child {
    color: var(--main-baige);
    font-weight: 600;
    margin-right: 20px;
}

/*  */
/* .menu01_wrap {
    position: relative;
    display: flex;
    height: 24px;
    overflow: hidden;
    line-height: 24px;
}

.menu01_wrap::after {
    white-space: pre;
    position: absolute;
    left: 0;
    top: 0;
    color: white;
}
.menu:hover .menu01_wrap::after {
    transition: all 0.3s;
    animation: menuSlide2 3s linear infinite;
    white-space: pre;
    color: white !important;
    line-height: 1.2;
}
@keyframes menuSlide2 {

  0%   { transform: translateY(0); }
  20%  { transform: translateY(0); }

  40%  { transform: translateY(-24px); }
  60%  { transform: translateY(-24px); }

  80%  { transform: translateY(-48px); }
  100% { transform: translateY(-48px); }

}
body.page-pigmen .menu:hover .menu01_wrap::after {
  content:
    "피부 미용\A"
    "흑자제거\A"
    "피부 미용\A"
    "흑자제거";
}
body.page-flat .menu:hover .menu01_wrap::after {
  content:
    "피부 미용\A"
    "편평사마귀\A"
    "피부 미용\A"
    "편평사마귀";
}
body.page-smp .menu:hover .menu01_wrap::after {
  content:
    "피부 미용\A"
    "두피문신\A"
    "피부 미용\A"
    "두피문신";
} */
.mobile_menu_btn,
.header_right_mobile {display: none;}

@media screen and (max-width: 1100px) {
    /* 헤더 */
    .header {
        width: 100%;
        height: 62px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: var(--main-black);
        padding: 0 60px;
        position: fixed;
        top: 0;
    }
    .brush-line {
        position: fixed;
        top: 57px;
    }
    .header_left {
        width: 100%;
    }

    header .logo {
        width: 150px;
        height: 40px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: var(--main-cream);
        -webkit-mask: url(../public/logo/lruda_logo.svg) no-repeat center / contain;
        mask: url(../public/logo/lruda_logo.svg) no-repeat center / contain;
    }
    /* 모바일 메뉴버튼 */
    .header_right {display: none;}
    .mobile_menu_btn {
        width: 30px;
        height: 20px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        cursor: pointer;
        z-index: 999;
        transform: translateX(30px);
    }
    .mobile_menu_btn span {
        display: flex;
        height: 2px;
        background: var(--main-cream);
        border-radius: 2px;
        transition: 0.3s;
    }
    .mobile_menu_btn.active span {
        background: var(--main-black);
    }
    .mobile_menu_btn.active span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .mobile_menu_btn.active span:nth-child(2) {
        opacity: 0;
    }

    .mobile_menu_btn.active span:nth-child(3) {
        transform: translateY(-10px) rotate(-45deg);
        
    }
    .header_right_mobile {
        display: flex;
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        background: var(--main-cream);
        transition: right 0.3s;
        z-index: 998 !important;
    }
    .header_right_mobile.active {
        right: 0 !important;
    }
    .brush-line.active {
        display: none;
    }

    /* 모바일 메뉴박스*/
    .header_nav_mobile {
        position:relative;
        width:100%;
        height:100%;
        display: flex;
        align-items: center;
        overflow:hidden;
    }
    
    .mobile_menu_subgroup {
        position:absolute;
        top:0;
        left: 0;
        
        width:100%;
        height:100%;

        background: var(--main-cream);
        opacity: 0;
        visibility:hidden;

        transition: all 0.35s;
    }
    .mobile_menu_subgroup.active{
        opacity:1;
        visibility:visible;
    }
    .mobile_menu_subgroup.prev{
        opacity:0;
        visibility:hidden;
    }
    #page1 {
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        opacity:1;
        visibility:visible;
        transition: opacity 0.35s ease;
    }

    /* #page1:not(.active) {
        opacity:0;
        visibility:hidden;
    } */

    .sub-menu {
        padding:18px 20px;
        border-bottom:1px solid #eee;
        font-size:18px;
    }
    .menu_back {
        padding:18px 20px;
        font-size: 24px;
        color: var(--main-baige);
    }
    .menu_title{
        padding:20px;
        font-weight:600;
    }


    .header_right_mobile {
        vertical-align: middle;
        padding: 40px 0;
    }

    .header_nav_mobile a,
    .header_nav_mobile .menu {
        font-size: 18px;
        vertical-align: middle;
    }
    
    .header_right_mobile .menu01 {
        font-family: 'NotoSerifKR Variable';
        background-color: var(--main-green);
        border-radius: 0;
    }
    .header_right_mobile .menu01 a {
        font-family: 'NotoSerifKR Variable';
        background-color: var(--main-green);
        color: var(--main-cream);
        border-radius: 0;
    }
    .header_nav_mobile ul li {
        padding: 16px 10px;
        width: 100%;
        text-align: center;
        display: flex;
        flex-direction: row;
        justify-content: space-between !important;
        align-items: center;
        position: relative;
    }
    
    .header_nav_mobile ul li svg {
        position: absolute;
        right: 20px;
        transform: rotate(-45deg);
        color: var(--main-baige);
    }
    
    .header_right_mobile .menu {
        cursor: initial;
        text-align: left;
        padding: 16px 10px 10px 10px;
        width: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
    .header_right_mobile .menu {
        border-bottom: 1px solid var(--main-baige);
        border-right: 1px solid var(--main-baige);
    }
    .header_right_mobile .menu:nth-child(2) {
        border-right: 0;
    }
    .header_right_mobile .menu:nth-child(3),
    .header_right_mobile .menu:nth-child(4) {
        border-bottom: 0;
    }
    .header_right_mobile .menu>a {
        cursor: pointer;
        padding: 4px 20px;
        color: var(--main-black);
        font-family: 'NotoSerifKR Variable, serif' !important;
        white-space: nowrap;
    }
    .mobile_menu_group {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        border-bottom: 1px solid var(--main-baige);
        width: 100%;
        height: 100%;
    }
    .mobile_menu_subgroup {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        border-bottom: 1px solid var(--main-baige);
        width: 100%;
    }
    .mobile_menu_subgroup li{
        border-top: 1px solid var(--main-baige);
        border-right: 1px solid var(--main-baige);
    }
    .mobile_menu_subgroup .menu-diet a {
        border-bottom: 0 !important;
    }
    .mobile_menu_subgroup li.active {
        background-color: var(--main-green);
        transition: all 0.3s;
    }
    
    .header_right_mobile .sub-menu-group {
        position: initial !important;
        transform: translate(0, 0);
        display: flex;
        flex-direction: column;

        opacity: 1;
        visibility: visible;
        transition: opacity 0.3s ease;

        background-color: var(--main-cream);
        margin-top: 26px;
    }
    .header_right_mobile .menu-tatto {
        border-top: 1px solid var(--main-baige);
        border-bottom: 1px solid var(--main-baige);
    }

    .header_right_mobile .sub-menu {
        color: var(--main-black);
        font-size: 26px;
        transition: all 0.3s ease;
        padding: 0 20px; 
    }
    .header_right_mobile .sub-menu:hover {
        border-radius: 0px;
        color: inherit;
        background-color: transparent;
    }
    .page-brandstory .menu-brandstory, 
    .page-place .menu-place, 
    .page-schedule .menu-schedule, 
    .page-diet .menu-diet, 
    .page-flat .menu-flat, 
    .page-moxi .menu-moxi, 
    .page-pigmen .menu-pigmen, 
    .page-smp .menu-smp, 
    .page-tattoo .menu-tattoo {
        border-radius: 0px;
        color: var(--main-cream);
        background-color: var(--main-green);
    }
    .header_right_mobile .title {
        font-family: 'NotoSerifKR Variable';
        font-size: 48px;
        font-weight: 600;
    }
    /* 푸터 */
    .footer {
        background-color: var(--main-black);
        height: 400px !important;
        width: 100%;
        position: relative;
        z-index: 990 !important;
        padding: 0 60px;
        margin-top: 70px;
    }
    .footer p {
        color: var(--main-cream);
        font-size: 20px;
    }
    .foo-content {
        display: flex;
        flex-direction: column;
        gap: 60px;
    }
    .foo-logo-group,
    .foo-info {
        width: 100%;
    }
    .footer .logo {
        width: 100%;
        height: 70px;
        background-color: var(--main-cream);
        -webkit-mask: url(../public/logo/lruda_logo_kr.svg) no-repeat left / contain;
        -webkit-mask-size: contain;
        -webkit-mask-position: left center;
        mask: url(../public/logo/lruda_logo_kr.svg) no-repeat left / contain;
        mask-size: contain;
        mask-position: left center;
        transform: translate(-5px, 10px);
    }
    .footer ul li {
        padding: 2px 0;
    }
}
@media screen and (max-width: 768px) {
    .footer {
        background-color: var(--main-black);
        height: 100% !important;
        width: 100%;
        position: relative;
        z-index: 999;
        padding: 0 60px;
        margin-top: 70px;
        padding-bottom: 60px !important;
    }
    .footer ul {
        border-top: 1px solid var(--main-baige);
        margin-top: 10px;
    }
    .footer p {
        color: var(--main-cream);
        font-size: 20px;
    }
    .foo-content {
        display: flex;
        flex-direction: column;
        gap: 60px;
    }
    .foo-info {
        display: flex;
        flex-direction: column !important;
        gap: 10px;
    }
    .grid-footer {
        border-top: 1px solid var(--main-baige);
        margin-top: 20px !important;
        display: grid;
        gap: 0 60px;
        grid-template-columns: auto 1fr;
    }
}
@media screen and (max-width: 450px) {
    .footer {
        background-color: var(--main-black);
        height: 100% !important;
        width: 100%;
        position: relative;
        z-index: 999;
        padding: 0 20px !important;
        margin-top: 70px;
        padding-bottom: 60px !important;
    }
    .footer .logo {
        width: 100%;
        height: 50px;
        background-color: var(--main-cream);
        -webkit-mask: url(../public/logo/lruda_logo_kr.svg) no-repeat left / contain;
        -webkit-mask-size: contain;
        -webkit-mask-position: left center;
        mask: url(../public/logo/lruda_logo_kr.svg) no-repeat left / contain;
        mask-size: contain;
        mask-position: left center;
        transform: translate(-5px, 10px);
    }
    .footer ul {
        border-top: 1px solid var(--main-baige);
        margin-top: 10px;
    }
    .footer p {
        color: var(--main-cream);
        font-size: 16px;
    }
    .footer span {
        color: var(--main-baige);
        font-size: 14px;
    }
    .grid-footer span {
        font-size: 10px;
    }
    .grid-footer {
        border-top: 1px solid var(--main-baige);
        margin-top: 10px !important;
        display: grid;
        gap: 0 20px !important;
        grid-template-columns: auto 1fr;
    }
    .footer .grid-footer li span:first-child {
        color: var(--main-baige);
        font-weight: 600;
        margin-right: 4px;
    }
    .foo-content {
        display: flex;
        flex-direction: column;
        gap: 60px;
    }
    .foo-info {
        display: flex;
        flex-direction: column !important;
        gap: 10px;
    }
}