
/**************************
header
***************************/
header {
    box-sizing: border-box;
    color: #000;

    position: fixed;  
    top: 0;           
    width: 100%;
    z-index: 1000;

    /* PC-H3 TEXT_Eng */
    font-family: Montserrat;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 1px;

    background: var(---2, linear-gradient(180deg, #FFFCF7 0%, #EEE8D7 100%));
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.30);
}

/* header内のすべての要素と、その前後の要素にbox-sizingを適用 */
header *, header *::before, header *::after {
    box-sizing: inherit;
}

.top-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 40px 24px 24px;
}

.logo {
    font-size: 24px;
    font-weight: bold;
}
.logo img {
    width: 229px;
    height: 72px;
    flex-shrink: 0;
}

.menu {
    display: flex;
    gap:48px;
}

.hamburger-menu {
    display: none;
    flex-direction: column;
    gap: 6px;
}

.bar {
    width: 20px;
    height: 1px;
    background-color: black;
}

.mobile-menu {
    display: none;
    flex-direction: row;
    justify-content: flex-start;
    width: 100%;
    background-color: #FFFCF7;
    gap: 24px;
    padding: 24px 28px;
    border:1px solid #F2EDDA;
    box-shadow:rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -webkit-box-shadow:rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
    -moz-box-shadow:rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
}
.mobile-menu.active {
    display: flex;
}

.menu > div {
    flex-shrink: 0;
}

.nav-link {
    position: relative;
}

.pc-menu > div:last-child {
    /* エントリー終了後の対応 */
    border-bottom: 1px solid #000;
}

/* エントリー終了後の対応 */
.mobile-menu > div:last-child {
    margin-left: auto;
    margin-right:5px;
    border-bottom: 1px solid #000;
}

@media screen and (max-width: 768px) {
    header {
        color: #000;
        font-family: Montserrat;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        letter-spacing: 0.7px;
    }
    .top-header {
        display: flex;
        justify-content: space-between;
        padding: 21px 20px;
    }

    .logo {
        flex-shrink: 0;
    }

    .logo img {
        width: 133px;
        height: 42px;
    }

    .hamburger-menu {
        display: flex;
        flex-shrink: 0;
    }
    .pc-menu {
        display: none;
    }
}

/* エントリー期間終了後の対応 */
.mobile-menu div:not(:last-child) .nav-link::after {
/* .mobile-menu div .nav-link::after { */
    content: url('../img/00_header/Icon-SP_Arrow-menu_down_black.svg');
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 12px;
}
/* エントリー期間終了後の対応 */
.mobile-menu div:last-child .nav-link::after {
    content: url('../img/00_header/Icon-SP_Arrow-menu_forward_black.svg');
    position: absolute;
    right: -10px;
    transform: translateY(30%);
    font-size: 12px;
}