@import './common.css';

#ly_header {
    position: fixed;
    z-index: 6;
    top: 0;
    right: 0;
    left: 0;

    background: transparent;
    backface-visibility: hidden;
    transform: translateZ(0);
}

.ly_headerInner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    width: 100%;
    padding: 5px 30px 19px;
}

.bl_headerLeftInner {
    margin-top: 35px;
}

.bl_headerRightInner {
    display: flex;
    align-items: end;
    flex-direction: column;

    gap: 15px;
}



@media screen and (max-width: 1168px) {
    .ly_headerInner {
        padding: 10px 11px 12px;
    }

    .bl_headerLeftInner {
        width: 188px;
        margin-top: 0;
    }
}

/*----------subMenu----------*/
.bl_subMenu_wrapper {
    position: absolute;
    top: 55px;
    left: 50%;

    overflow: hidden;

    width: 250px;
    max-height: 0;

    transition: max-height .3s ease;
    transform: translateX(-50%);

    background: #fff;
}

.bl_subMenu_wrapper.open {
    max-height: 300px;
}


.bl_subMenu_item {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 250px;
    height: 50px;

    border-bottom: 1px solid var(--linkPink);
    background-color: var(--white);
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 2.3rem;

    letter-spacing: .05em;
    color: var(--navBlack);
}

.bl_subMenu_item:hover {
    color: var(--white);
    background-color: var(--linkPink);
}

/*----------drawer----------*/
label.open {
    position: fixed;
    z-index: 10;
    top: 9px;
    right: 10px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;
}

.open span,
.open::before,
.open::after {
    position: absolute;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 35px;
    margin-top: 1px;

    content: '';

    border-bottom: 2px solid var(--white);

    will-change: border-bottom-color;
}

.menu-open::before,
.menu-open::after {
    border-bottom: 2px solid var(--white) !important;
}

.open::before {
    transform: translateY(-8px);
}

.open::after {
    transform: translateY(9px);
}

/* スクロール時のスタイル */
.open.scrolled span {
    transition: border-bottom-color .3s ease;

    border-bottom-color: var(--drawerBrown);
}

.open.scrolled::before,
.open.scrolled::after {
    transition: border-bottom-color .3s ease;

    border-bottom-color: var(--drawerBrown);
}

#bl_navTgl {
    display: none;
}

#bl_navTgl:checked+.open span {
    opacity: 0;
}

#bl_navTgl:checked+.open::before {
    transform: translate(3px, 1px) rotate(45deg);
}

#bl_navTgl:checked+.open::after {
    transform: translate(3px, 1px) rotate(-45deg);
}

.open::before,
.open::after,
#bl_navTgl:checked+.open::before,
#bl_navTgl:checked+.open::after {
    transition: all .3s;
}

#bl_navTgl:checked~.bl_spNav_drawer {
    left: 10%;
}

.bl_spNav_drawer {
    position: fixed;
    z-index: 5;
    top: 0;
    left: 150%;

    overflow-y: auto;

    width: 100vw;
    min-height: 100vh;
    margin: 0 -10%;
    padding-top: 70px;

    transition: all .3s;

    background-color: var(--drawerBrown);
}

.bl_spNav_item {
    height: 59px;
    padding: 18px 0 18px 29px;

    color: var(--white);
    border-bottom: 1px solid var(--gray);
    background-color: var(--drawerBrown);
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: .05em;
    border-bottom: 0.5px solid var(--white);
    padding: 18px 0 18px 28px;
}


.bl_spNav_item:not(.bl_spNav_item__arrow):hover,
.bl_spNav_item:not(.bl_spNav_item__arrow):focus {
    background-color: var(--white);
    color: var(--navBlack);
}

.bl_spNav_item:first-child {
    border-top: 1px solid var(--gray);
}

.bl_spNavItem.bl_spNav_item__arrow:hover,
.bl_spNavItem.bl_spNav_item__arrow:focus {
    color: var(--white);
    background-color: var(--linkPink);
}

.bl_spNav_item:hover .bl_categoryWrapper .bl_category_item {
    color: var(--textBlack);
}

.bl_spNav_item.bl_spNav_item__arrow {
    position: relative;

    display: block;
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 16px 0 16px 29px;
}

.bl_spNav_item.bl_spNav_item__arrow::after {
    transform: rotate(-180deg);
}

.bl_spNav_label {
    display: block;
}

.bl_spNav_label::after {
    position: absolute;
    top: 25px;
    right: 25px;

    content: url(../image/common/arrow_under_white.svg);
    transform: translateY(-50%);
}

#sp_drawer:checked+.bl_spNav_label::after {
    transform: rotate(180deg) translateY(4px);
}

.bl_spNav_labelInner {
    line-height: 1.3rem;

    padding-bottom: 20px;
}

.bl_spNav_item.bl_spNav_item__line {
    color: var(--white);
    background-color: var(--lineBtn);
}

.bl_spNav_item.bl_spNav_item__line:hover {
    color: var(--navBlack);
    background-color: var(--white);
}

.bl_spNav_item.bl_spNav_item__line svg:hover {
    color: var(--line);
}

.bl_spNav_item.bl_spNav_item__line a {
    display: flex;

    gap: 8px;
}

.bl_spNav_item.bl_spNav_item__rev {
    display: flex;

    width: 100%;

    background-color: var(--linkPinkDrawer);
}

.bl_spNav_item.bl_spNav_item__rev:hover {
    color: var(--navBlack);
    background-color: var(--white);
}

.bl_spNav_drawer_wrapper {
    position: absolute;
    top: 59px;

    visibility: hidden;
    overflow: hidden;
    /* 最初は高さも0にして非表示 */
    overflow: hidden;

    width: 100vw;
    /* アニメーションも追加 */
    height: 0;

    transition: opacity .3s ease, height .3s ease;

    opacity: 0;
    color: var(--navBlack);
    border-bottom: 1px solid var(--gray);
    /* 高さ0の状態で溢れる要素を隠す */
    background-color: var(--drawerBrown);
    background-color: var(--white);
    width: calc(100vw - 30px);
}

#sp_drawer:checked+label+.bl_spNav_drawer_wrapper {
    visibility: visible;

    height: auto;
    margin-left: -29px;

    opacity: 1;
    width: 100vw !important;
}

.bl_spNav_drawer_item {
    height: 59px;
    padding: 18px 0 0 30px;

    border-top: 1px solid var(--gray);
}

.bl_spNav_drawer_item:hover {
    color: var(--white);
    background-color: var(--linkPink);
}