/* static/css/kosuapp/nav.css  守送(mailsms/nav.css)と同じ形式のヘッダーナビ */
#gnav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: #f1f1f1;
    border-bottom: 1px solid #d9d9d9;
    box-sizing: border-box;
}
#gnav > ul {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    min-height: 2.5rem;
}
#gnav li { min-width: 0; flex: 0 0 auto; list-style: none; }
#gnav > ul > li { position: relative; }
#gnav a {
    display: block;
    padding: 0.5rem 1.4rem;
    color: #013a84;
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
}
#gnav a:hover { opacity: 0.7; }

/* ロゴ(色が変わるグラデーション文字) */
#gnav .app-title .service-title { margin: 0; line-height: 1; font-size: 1rem; }
#gnav .app-title .service-title a { padding: 0 0.6rem 0 0; }
#gnav .app-title svg { display: block; width: 10rem; height: 2.5rem; }

/* 2階メニュー */
.gnav-parent > a { cursor: pointer; }
.gnav_child {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: calc(100% - 0.1rem);
    left: 50%;
    min-width: 10rem;
    max-width: min(90vw, 16rem);
    margin: 0;
    padding: 0.35rem 0;
    list-style: none;
    background: #fff;
    border: 1px solid #d9deea;
    border-radius: 0.5rem;
    box-shadow: 0 0.25rem 0.75rem rgba(15, 23, 42, 0.12);
    z-index: 1100;
    transform: translateX(-50%) scaleY(0);
    transform-origin: center top;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
.gnav_child li { width: 100%; }
.gnav_child a { padding: 0.55rem 0.9rem; }
.gnav_child a:hover { background: #f8fafc; opacity: 1; }
.gnav-parent:hover .gnav_child { visibility: visible; opacity: 1; transform: translateX(-50%) scaleY(1); }

@media (max-width: 600px) {
    #gnav > ul { min-height: 2.2rem; flex-wrap: wrap; }
    #gnav a { padding: 0.35rem 0.5rem; font-size: 0.8rem; }
    #gnav .app-title { flex-basis: 100%; display: flex; justify-content: center; }
    #gnav .app-title svg { width: 8rem; height: 2rem; }
    #gnav .app-title .service-title a { padding: 0; }
    .gnav_child {
        top: calc(100% - 0.1rem);
        left: auto;
        right: 0;
        min-width: 8rem;
        max-width: calc(100vw - 1rem);
        transform: scaleY(0);
        transform-origin: right top;
    }
    .gnav-parent:hover .gnav_child { visibility: hidden; opacity: 0; transform: scaleY(0); }
    .gnav-parent.is-open .gnav_child { visibility: visible; opacity: 1; transform: scaleY(1); }
    .gnav_child a { padding: 0.5rem 0.6rem; }
}
