/* 헤더 */
header {
    position: relative;
    z-index: 9999;
    width: 100%;
    text-align: center;
    padding:30px 0 10px
}
header h1.logo {
    margin: auto;
    max-width:230px
}

  /* 메뉴 */
header nav {
    width: 94%;
    margin: 25px auto 0;
    position: relative;
    display: flex;
    justify-content: center;
}
header nav ul {
    display: flex;
    justify-content: center;
}
header nav li {
    margin: 0 30px;
    text-align: center;
    position: relative;
}
header nav li a {
    position: relative;
    font-family: 'designhouseOTFLight00';
}
header nav li.on a,
header nav li a:hover {
    font-weight: bold;
    color: #41AEBB;
}
/* header fixed */
header.navbar-fixed-top {
    position: fixed;
    background: rgba(255, 255, 255, 0.85);
    top: 0;
    z-index: 9;
    padding: 20px 0 10px;
    backdrop-filter: blur(10px);
}
header.navbar-fixed-top h1.logo{
    width:150px;
}
header.navbar-fixed-top nav {
    margin:10px auto 0
}
    /* 헤더 미디어쿼리 */
    @media all and (max-width:1200px) {
        header {
            padding:20px 0 8px
        }
        header h1.logo {
            max-width:167px
        }
        header nav {
            margin:20px auto 0
        }
    }
    @media all and (max-width:640px) {
        header {
            padding:10px 0 8px
        }
        header h1.logo {
            max-width:110px
        }
        header nav {
            margin-top:10px
        }
        header nav li {
            margin: 0 10px;
        }
        header.header-fixed {
            padding:5px 0 5px
        }
        header.header-fixed nav {
            margin: 0px auto 0
        }
        header.header-fixed h1.logo{
            max-width:50px;
        }
        header.header-fixed nav li a {
            font-size:15px
        }
    }

/* 서브페이지 메뉴 */
.sub-menu {
    width:100%;
    height:65px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #F5F5F5;
}
.sub-menu ul {
    display: flex;
    justify-content: center;
}
.sub-menu ul li {
    padding:0 30px;
    position: relative;
    text-align:center;
}
.sub-menu ul li a {
    position: relative;
    font-size: 16px;
    color:#444444;
}
.sub-menu ul li a br {
    display: none;
}
.sub-menu ul li.on a,
.sub-menu ul li a:hover {
    color: #41AEBB;
    font-weight:bold
}
.sub-menu ul li:before {
    content: "";
    position: absolute;
    width:70px;
    height:2px;
    bottom:-20px;
    left:0;
    right:0;
    margin:0 auto;
    display: block;
    background-color: #41AEBB;
    visibility: hidden;
    -webkit-transform: scaleX(0);
    -moz-transform: scaleX(0);
    -ms-transform: scaleX(0);
    -o-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    -ms-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}
.sub-menu ul li:hover:before {
    visibility: visible;
    -webkit-transform: scaleX(1);
    -moz-transform: scaleX(1);
    -ms-transform: scaleX(1);
    -o-transform: scaleX(1);
    transform: scaleX(1);
}
.sub-menu ul li.on:before,
header.header-fixed .sub-menu ul li.on:before {
    visibility: visible;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    background-color: #41AEBB;
}
    /* 서브페이지 메뉴 미디어쿼리 */
    @media all and (max-width:1000px) {
        .sub-menu ul li a br {
            display: block;
        }
    }
    @media all and (max-width:640px) {
        .sub-menu {
            height:50px;
        }
        .sub-menu ul li {
            padding:0 8px;
            display: flex;
            align-items: center;
        }
        .sub-menu ul li a {
            font-size: 12px;
            line-height: 1.4;
        }
        .sub-menu ul li:before {
            bottom:-17px;
            width:50px;
        }
        .sub-menu.program-menu ul li:before {
            bottom:-9px;
        }
    }

/* 서브상단 */
#subtop {
    height:370px;
    margin-bottom:100px;
    overflow: hidden;
    position: relative;
}
#subtop::before,
#subtop::after {
    content: "";
    position: absolute;
    display: block;
}
#subtop::before {
    left:0;
    bottom:0;
    width:80px;
    height:67px;
    background: right top / cover url("../images/sub/sub-dot-left.png") no-repeat;
}
#subtop::after {
    right:0;
    top:0;
    width:51px;
    height:278px;
    background: left top / cover url("../images/sub/sub-dot-right.png") no-repeat;
}
#subtop .layout {
    height:100%;
    position: relative;
    display: flex;
    align-items: center;
}
#subtop .subtop-img {
    position: absolute;
    top:0;
    right:0;
    z-index: 1;
}
#subtop .subtop-img img {
    width:auto;
    height:100%
}
#subtop .titlearea {
    text-align: center;
    position: relative;
    padding-left:8%;
    z-index: 2;
}
#subtop .titlearea strong {
    display: flex;
    justify-content: center;
    position: relative;
    color:#fff;
    font-family: 'designhouseOTFLight00';
    font-size: 35px;
    text-transform: uppercase;

}
#subtop .titlearea strong::after,
#subtop .titlearea strong::before {
    content: "";
    position: relative;
    width:125px;
    height:1px;
    display: block;
    background: #fff;
    top:10px;
}
#subtop .titlearea strong::after {
    margin-left:39px
}
#subtop .titlearea strong::before {
    margin-right:39px
}
#subtop .titlearea h2{
    font-size:60px;
    color:#fff;
    font-weight: bold;
    margin:10px 0 30px
}
#subtop .titlearea span {
    color:#FFFBC5;
    font-size:20px;
    font-family: 'designhouseOTFLight00';
}
.greetings #subtop {
    background-color: #41AEBB;
}
.touchcell #subtop {
    background-color: #E6A448;
}
.location #subtop {
    background-color: #4480BC;
}
.body #subtop  {
    background-color: #81B7C8;
}
.detox #subtop  {
    background-color: #F8B36E;
}
.face #subtop {
    background-color: #ECCA5A;
}
.event #subtop {
    background-color: #FF8984;
}
.dietary #subtop {
    background-color: #E28FB8;
}
.review #subtop {
    background-color: #E2B076;
}
.faq #subtop {
    background-color: #9D88E3;
}
.franchise #subtop {
    background-color: #87B975;
}
    /* 서브상단 미디어쿼리 */
    @media all and (max-width:1400px) {
        #subtop .titlearea {
            padding-left:0%;
        }
        #subtop .subtop-img {
            right:-7%;
        }
    }
    @media all and (max-width:1000px) {
        #subtop {
            height:300px;
            margin-bottom:60px
        }
        #subtop .layout {
            justify-content: center;
        }
        #subtop .subtop-img {
            display: none;
        }
        #subtop .titlearea strong {
            font-size:30px
        }
        #subtop .titlearea strong::after {
            margin-left:29px
        }
        #subtop .titlearea strong::before {
            margin-right:29px
        }
        #subtop .titlearea strong::after,
        #subtop .titlearea strong::before {
            width:90px;
            top: 8px;
        }
    }
    @media all and (max-width:640px) {
        #subtop {
            height:200px;
            margin-bottom:50px;
            overflow: hidden;
        }
        #subtop::before,
        #subtop::after {
            width:10%
        }
        #subtop .titlearea {
            padding-left:0
        }
        #subtop .titlearea h2 {
            font-size:33px;
            margin:10px 0 20px
        }
        #subtop .titlearea strong {
            font-size: 24px;
        }
        #subtop .titlearea strong::after,
        #subtop .titlearea strong::before {
            width:55px;
            top:6px;
        }
        #subtop .titlearea strong::after {
            margin-left:20px
        }
        #subtop .titlearea strong::before {
            margin-right:20px
        }
        #subtop .titlearea span {
            font-size:16px
        }
    }

/* footer */
#footer {
    border-top:1px solid #E1E1E1;
}
#footer .layout {
    display: flex;
    justify-content: space-between;
    padding:60px 0 50px
}
#footer .footer-info {
    display: flex;
    justify-content: space-between;
    width:50%
}
#footer .footer-info dl {
    display: flex;
    flex-direction: column;
}
#footer .footer-info dt,
#footer .footer-right .policy {
    font-family: 'designhouseOTFLight00';
    font-size:24px;
    font-weight:bold;
    margin-bottom:10px
}
#footer .footer-info dd {
    font-weight: 300;
    font-size:16px;
    color:#222222;
    line-height: 1.5;
}
#footer .footer-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
}
#footer .footer-sns {
    display: flex;
    justify-content: flex-end;
}
#footer .footer-sns li:not(:last-child) {
    margin-right:20px
}
#footer .footer-sns li a:hover {
    opacity: 0.6;
}
#footer .footer-sns img {
    width:auto
}
#footer .copyright {
    background: #222222;
    padding:26px 0;
    text-align:center;
    color:#fff;
    font-family: 'designhouseOTFLight00';
}
#footer .copyright a {
    font-weight: inherit;
    color:inherit;
    font-family: inherit;
    font-size:inherit
}
#footer .copyright a:hover {
    color:#41AEBB
}
    /* footer 미디어쿼리*/
    @media all and (max-width: 1200px) {
        #footer .footer-info {
            width:60%
        }
    }
    @media all and (max-width: 1000px) {
        #footer .layout {
            padding:40px 0
        }
        #footer .footer-info dt,
        #footer .footer-right .policy {
            font-size:20px;
            margin-bottom:5px
        }
    }
    @media all and (max-width: 640px) {
        #footer .layout {
            flex-direction: column;
            justify-content: flex-start;
            padding:30px 0
        }
        #footer .footer-info {
            width:100%;
            flex-wrap: wrap;
            justify-content: flex-start;
        }
        #footer .footer-info dl:first-of-type {
            width:100%;
            margin-bottom:20px
        }
        #footer .footer-info dl:nth-of-type(2),
        #footer .footer-info dl:nth-of-type(3) {
            width:50%
        }
        #footer .footer-info dt,
        #footer .footer-right .policy {
            font-size:16px;
        }
        #footer .footer-info dd {
            font-size:14px
        }
        #footer .footer-info dd br {
            display: none;
        }
        #footer .footer-sns li:not(:last-child) {
            margin-right:10px
        }
        #footer .footer-sns img {
            width:16px
        }
        #footer .footer-right {
            margin-top:20px;
            align-items: flex-start;
        }
        #footer .copyright {
            padding:15px 0 10px;
            align-items: flex-start;
            font-size:13px
        }
    }
