@charset "utf-8";
/* CSS Document */

.top-menu-01 {
    position: relative;
    height: 78px;
}

.header-jfw-logo {
    max-width: 80px;
    width: 100%;
}

.language-menu input[type="checkbox"] {
    display: none;
}

.language-menu .language-menu-contents {
    display: none;
}

.language-menu input[type="checkbox"]:checked + label + .language-menu-contents {
    display: block;
}

.language-menu-button {
    display: inline-block;
    padding: 3px 10px; 
    position: absolute;
    top: 0;
    right: 0;
    background-color: #B5B5B6;
    border-radius: 8px;
    cursor: pointer;
}

.language-menu-icon {
    display: inline;
    vertical-align: middle;
    width: 16px;
}

.language-menu-text {
    vertical-align: middle;
    font-size: 14px;
}

.language-menu-contents {
    position: absolute; 
    display: block;
    top: 24px;
    right: 7px;
    z-index: 100;
}

.language-menu-contents ul li {
    list-style-type: none;
    padding: 8px 22px;
    display: block;
    width: 60px;
    font-size: 14px;
    background-color: #fff;
    border: 1px solid #bbb;
    opacity: 80%;
    cursor: pointer;
}

.sub-menu input[type="checkbox"] {
    display: none;
}

.sub-menu .sub-menu-contents {
    display: none;
}

.sub-menu input[type="checkbox"]:checked + label + .sub-menu-contents {
    display: block;
}

.sub-menu-button {
    position: absolute;
    display: inline-block;
    padding: 4px 6px 4px 10px;
    top: 30px;
    right: 0px;
    width: 62px;
    height: 16px;
    background-color: #dcdddd;
    border-radius: 5px;
    cursor: pointer;
}

.hamburger-icon, .hamburger-icon::before, .hamburger-icon::after {
    position: absolute;
    top: 5px;
    display: inline-block;
    height: 2px;
    width: 18px;
    background-color: #666;
    content: ' ';
    cursor: pointer;
}

.hamburger-icon::before {
    top: 5px;
}

.hamburger-icon::after {
    top: 12px;
}

.sub-menu-contents {
    position: absolute; 
    display: block;
    top: 54px;
    right: 0px;
}

.sub-menu-contents ul li {
    list-style-type: none;
    display: block;
    background-color: #fff;
    opacity: 70%;
    cursor: pointer;
}

.sub-menu-contents ul li a {
    display: block;
    padding: 10px 10px;
    font-size: 14px;
}

.sub-menu-contents ul li:hover {
    color: #00A0E9;
    opacity: 100%;
}

.global-menu input[type="checkbox"] {
    display: none;
}

.global-menu input[type="checkbox"]:checked + label + .global-menu-contents {
    display: block;
}

.global-menu-button {
    display: inline-block;
    padding: 3px 15px; 
    position: absolute;
    top: 0px;
    right: 130px;
    background-color: #B5B5B6;
    border-radius: 8px;
    cursor: pointer;
}

.global-menu-text {
    font-size: 14px;    
}

.global-menu-contents {
    position: absolute; 
    display: none;
    top: 24px;
    right: 0px;
    width: 234px;
}

.global-menu-contents ul li {
    list-style-type: none;
    padding: 10px 8px;
    display: block;
    font-size: 14px;
    background-color: #fff;
    border: 1px solid #bbb;
    opacity: 80%;
    cursor: pointer;
}

.global-menu-contents ul li:visited, .global-menu-contents ul li:hover, .global-menu-contents ul li:active, .global-menu-contents ul li a:hover {
    color: #00A0E9;    
}

.global-menu-mark {
    position: relative;
    top: 1px;
    font-size: 22px;
    opacity: 0%;
}

.global-menu-current {
    color: #00A0E9;    
}

.global-menu-mark-current {
    position: relative;
    top: 1px;
    font-size: 22px;
    opacity: 100%;
}

.global-menu-contents ul li:has(> a:hover) .global-menu-mark {
    opacity: 100%;
}

@media ( min-width: 600px) {

    .language-menu-button {
        padding: 5px 15px; 
    }

    .language-menu-icon {
        width: 20px;
    }

    .language-menu-text {
        font-size: 16px;
    }

    .language-menu-contents {
        position: absolute; 
        display: block;
        top: 30px;
        right: 6px;
        z-index: 100;
    }

    .language-menu-contents ul li {
        padding: 10px 30px;
        width: 72px;
        font-size: 16px;
    }

    .sub-menu-button {
        padding: 6px 6px 6px 10px;
        top: 38px;
        right: 0px;
        width: 62px;
        height: 16px;
    }

    .hamburger-icon, .hamburger-icon::before, .hamburger-icon::after {
        top: 7px;
        height: 2px;
        width: 18px;
        background-color: #666;
        content: ' ';
        cursor: pointer;
    }

    .hamburger-icon::before {
        top: 7px;
    }

    .hamburger-icon::after {
        top: 14px;
    }

    .sub-menu-contents {
        top: 68px;
        right: 0px;
    }

    .sub-menu-contents ul li a {
        padding: 15px 10px;
        font-size: 16px;
    }

    .global-menu-button {
        padding: 5px 24px; 
        top: 0px;
        right: 186px;
    }

    .global-menu-text {
        font-size: 18px;    
    }

    .global-menu-contents {
        top: 32px;
        right: 192px;
        width: auto;
    }

    .global-menu-contents ul li {
        padding: 15px 10px;
        font-size: 16px;
    }

    .global-menu-mark {
        top: 1px;
        font-size: 22px;
    }

}

@media ( min-width: 700px) {

    .language-menu-button {
        padding: 5px 15px; 
    }

    .language-menu-icon {
        width: 20px;
    }

    .language-menu-text {
        font-size: 16px;
    }

    .language-menu-contents {
        position: absolute; 
        display: block;
        top: 30px;
        right: 6px;
        z-index: 100;
    }

    .language-menu-contents ul li {
        padding: 10px 30px;
        width: 72px;
        font-size: 16px;
    }

    .sub-menu-button {
        padding: 6px 6px 6px 10px;
        top: 38px;
        right: 0px;
        width: 62px;
        height: 16px;
    }

    .hamburger-icon, .hamburger-icon::before, .hamburger-icon::after {
        top: 7px;
        height: 2px;
        width: 18px;
        background-color: #666;
        content: ' ';
        cursor: pointer;
    }

    .hamburger-icon::before {
        top: 7px;
    }

    .hamburger-icon::after {
        top: 14px;
    }

    .sub-menu-contents {
        top: 68px;
        right: 0px;
    }

    .sub-menu-contents ul li a {
        padding: 15px 10px;
        font-size: 16px;
    }

    .global-menu-button {
        padding: 5px 24px; 
        top: 0px;
        right: 186px;
    }

    .global-menu-text {
        font-size: 18px;    
    }

    .global-menu-contents {
        top: 32px;
        right: 192px;
    }

    .global-menu-contents ul li {
        padding: 15px 10px;
        font-size: 16px;
    }

    .global-menu-mark {
        top: 1px;
        font-size: 22px;
    }

}

@media ( min-width: 1050px ) {

    .header-jfw-logo {
        max-width: 120px;
    }
    
    .language-menu-icon {
        vertical-align: text-top;
    }
    
    .language-menu-text {
        font-size: 20px;
    }
    
    .language-menu-contents {
        top: 34px;
        right: 6px;
        z-index: 100;
    }

    .language-menu-contents ul li {
        padding: 10px 42px;
        width: 70px;
    }
    
    .global-menu-button {
        display: none;
    }
    
    .global-menu-contents {
        position: absolute;
        top: 40px;
        right: 120px;
        display: block;
    }

    .global-menu-contents ul li {
        display: inline-block;
        font-size: 14px;
        padding: 0px 0px 0px 16px;
        list-style-type: none;
        border: none;
        background-color: none;
    }

}