header {
    height: 13.5vw;
    background: white;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}

.navBar_container {
    height: 100%;
}

#humbBtn {
    width: 12vw;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9999;
    background: #FFEDBE;
}

#humbBtn::before,
#humbBtn::after {
    position: absolute;
    content: '';
    background: #2B2AA7;
    width: 5.8vw;
    height: 0.3vw;
    left: 3vw;
    transition: all 0.2s;
}

#humbBtn::before {
    top: 5.4vw;
}

#humbBtn::after {
    bottom: 5.4vw;
}

#humbBtn.active {
    background: none;
}

#humbBtn.active::before {
    transform: rotate(45deg) translateY(-50%);
    top: 50%;
}

#humbBtn.active::after {
    transform: rotate(calc(45deg * 3)) translateY(-50%);
    top: 50%;
}

.navBar_container .logo {
    position: absolute;
    top: 50%;
    left: 4vw;
    transform: translate(0, -50%);
    z-index: 9999;
}

.navBar_container .logo_main {
    width: 35vw;
    /* margin-left: -1vw; */
}

/* .navBar_container .salonName {
    margin-top: -1vw;
    width: 35vw;
    display: block;
} */

.navBar_container .icons a {
    position: absolute;
    top: 0;
    width: 14vw;
    height: 70%;
    margin-top: 2.1%;
    background: #fff;
    border-left: solid thin #2B2AA7;
}

.navBar_container .icons .tel {
    right: calc(10vw + 3vw);
}

.navBar_container .icons .mail {
    right: calc(11.5vw + 13vw + 3vw);
}

.navBar_container .icons a img {
    width: 5vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.navBar_container .icons .tel img {
    width: 5.5vw;
    top: 48%;
}

.navBar_container .icons .mail img {
    width: 4vw;
}

@keyframes show {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

#humbContents {
    position: absolute;
    top: 0;
    left: 0;
    background: #FFFFE5;
    width: 100%;
    animation: show 0.3s linear 0s;
}

#humbContents.hide {
    display: none;
}

.hc_container {
    margin: 13.5vw 7.5vw;
}

.hc_container .navs .item {
    display: flex;
    align-items: center;
    padding-top: 5.2vw;
}

.hc_container .navs .item .mainText {
    font-size: 4.5vw;
    color: #2B2AA7;
    margin-right: 3.5vw;
    font-family: "Avenir Next", "游ゴシック体", YuGothic;
}

.hc_container .navs .item .subText {
    font-size: 3vw;
    color: #877282;
    letter-spacing: 0.1em;
}

.hc_container .navs .insta {
    padding-top: 4.5vw;
}

.hc_container .navs .insta img {
    width: 3.8vw;
}

.hc_container .navs .insta_text {
    margin-left: 1.5vw;
    font-size: 3.8vw;
    color: #2B2AA7;
}

.hc_container .reservation {
    text-align: center;
    margin: 12vw 0;
}

.hc_container .reservation .text1 {
    font-size: 3.1vw;
    color: #877282;
}

.hc_container .reservation .text2 {
    font-size: 3vw;
    color: #877282;
}

.hc_container .reservation .tel {
    font-size: 6vw;
    color: #2B2AA7;
    margin: 0.8vw 0 -0.3vw;
    display: block;
    letter-spacing: 0.04em;
}

.hc_container .reservation .tel span {
    font-size: 3.5vw;
    margin-right: 1vw;
}

.hc_container .reservation .reserveBtn {
    font-size: 3.6vw;
    color: #FFF;
    padding: 3.7vw 0;
    background: #4C42A8;
    letter-spacing: 0.1em;
    margin: 5.4vw auto 0;
    display: block;
    width: 75vw;
}

.hc_container .overview {
    font-size: 3vw;
    color: #877282;
    line-height: 1.8;
    letter-spacing: 0.1em;
}

#main {
    padding-top: 13.5vw;
}

.hc_container .navs .item {
    position: relative;
    height: 6.8vw;
}

.hc_container .navs .item .wrapper {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(0, -50%);
    width: 90vw;
    display: flex;
    align-items: center;
}

.hc_container .navs .item span {
    font-size: 3vw;
}

@keyframes moveNav {
    0% {
        left: 0%;
        opacity: 1;
    }
    80% {
        left: calc(0% + 20% * 0.8);
        opacity: 0.8;
    }
    100% {
        left: 20%;
        opacity: 0;
    }
}

@keyframes longerNavBefore {
    0% {
        width: 0;
        opacity: 1;
    }
    80% {
        width: calc(12vw * 0.8);
        opacity: 0.8;
    }
    100% {
        width: 12vw;
        opacity: 0;
    }
}

.hc_container .navs .item.hide .wrapper {
    animation: moveNav 0.4s;
}

.hc_container .navs .item.hide::before {
    content: '';
    position: absolute;
    height: 0.2vw;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: #2B2AA7;
    animation: longerNavBefore 0.4s;
}