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

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
ヘッダー
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

header {
    position: relative;
    z-index: 1000;
}

header .header_inner {
    position: relative;
    display: flex;
    height: 10rem;
    padding-left: 3vw;
    justify-content: space-between;
}

/*----------------------------------------*/
/* ヘッダのロゴ */
header .header_inner .header_logo {
    width: 28rem;
    background-color: #fff;
    height: 100%;
    position: relative;
}

header .header_inner .header_logo::after {
    content: '九州電気サポート株式会社';
    display: block;
    position: absolute;
    width: 100%;
    height: 4rem;
    text-align: center;
    color: #fff;
    background-color: #000;
    bottom: 0;
    left: 0;
    transform: translateY(100%);
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    padding-top: 1.1rem;
    box-sizing: border-box;
}

header .header_inner .header_logo a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

header .header_inner .header_logo a img {
    width: 12.7rem;
}

@media screen and (max-width:480px) {

    header {
        top: 0;
        left: 0;
        position: fixed;
        /* general.cssの#page_wrapのpadding-topと連動 */
        height: 4.4rem;
        width: 100%;
        background-color: #fff;
    }

    header .header_inner {
        height: 100%;
        padding-left: 0;
    }

    /*----------------------------------------*/
    /* ヘッダのロゴ */
    header .header_inner .header_logo {
        width: 7.2rem;
    }



    header .header_inner .header_logo::after {
        content: '九州電気サポート株式会社';
        display: block;
        position: absolute;
        width: 9em;
        height: auto;
        text-align: left;
        color: var(--color_main);
        background-color: transparent;
        bottom: auto;
        left: auto;
        top: 50%;
        right: 0;
        transform: translate(100%, -50%);
        font-size: 1rem;
        line-height: 1.3;
        padding-top: 0;
        box-sizing: border-box;
    }

    header .header_inner .header_logo a img {
        width: 5.3rem;
    }
}




/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
ハンバーガーボタン
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/*----------------------------------------*/
/* PC */
/*----------------------------------------*/
@media screen and (min-width:481px) {
    .menu_btn {
        display: none;
    }


}

/*----------------------------------------*/
/* スマートフォン */
/*----------------------------------------*/
@media screen and (max-width:480px) {

    .menu_btn {
        position: absolute;
        z-index: 20000;
        width: 4.4rem;
        height: 4.4rem;
        border: none;
        right: 0;
        top: 0;
        box-sizing: border-box;
        background: rgba(255, 255, 255, 0);
        transition: all 0.2s;
    }

    /*ボタンクリック時の枠線消し*/
    .menu_btn:focus {
        outline: 0;
    }

    /*ボタン下にテキストを入れる場合*/
    .menu_btn.plustext {
        padding: 0 1rem;
    }

    .menu_btn.plustext .text {
        display: block;
        font-size: 1rem;
        position: absolute;
        bottom: 0.5rem;
        left: 0;
        width: 100%;
        text-align: center;
        letter-spacing: 0.05em;
        color: #000;
    }

    /*ボタン罫線*/
    .menu_btn span.bar {
        transform-origin: center;
        display: block;
        height: 1px;
        background-color: #000;
        transition: all 0.2s;
        margin: 0 auto 0.6rem;
    }

    .menu_btn.open .bar1 {
        transform: rotate(45deg);
    }

    .menu_btn.open .bar3 {
        transform: rotate(-45deg);
        margin-top: -0.7rem;
    }

    /*----------------------------------------*/
    /*  メニューオープン時  */

    .menu_btn.open {
        background: var(--color_main);
    }

    .menu_btn.open .bar {
        background-color: #fff;
    }

    .menu_btn.plustext.open .text {
        color: #fff;
    }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
メニュー
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

/*----------------------------------------*/
/* PC */
/*----------------------------------------*/
@media screen and (min-width:481px) {

    /*グローバルナビ*/
    .glo_nav_wrap {
        z-index: 100;
        position: relative;
    }

    .glo_nav_wrap .glo_nav_wrap_inner {}

    /*----------------------------------------*/
    /*メニュー部分*/
    .glo_menu_wrap {
        display: flex;
    }

    .glo_menu_wrap .glo_menu {
        display: flex;
        margin-right: 3vw;
    }

    .glo_menu_wrap .glo_menu li {
        width: 11vw;
        min-width: 12rem;
        max-width: 18rem;
    }

    .glo_menu_wrap .glo_menu li a {
        display: flex;
        flex-direction: column;
        height: 100%;
        box-sizing: border-box;
        padding-top: 3.4rem;
        align-items: center;
    }

    .glo_menu_wrap .glo_menu li a span.ja {
        font-size: 1.8rem;
        letter-spacing: 0.2em;
        color: #000;
        padding-right: 2.25rem;
    }

    .glo_menu_wrap .glo_menu li a span.en {
        font-size: 1.2rem;
        letter-spacing: 0.05em;
        color: var(--color_main);
        margin-top: 0.75em;
        padding-right: 2.25rem;
    }

    /* コンタクト部分 */
    .glo_menu_wrap .contact_menu {
        display: flex;
    }

    .glo_menu_wrap .contact_menu li {
        min-width: 11rem;
        width: 11.8vw;
        height: 10rem;
    }

    .glo_menu_wrap .contact_menu li a {
        display: flex;
        justify-content: center;
        color: #fff;
        height: 100%;
        font-weight: 600;
        font-size: 1.6rem;
        letter-spacing: 0.05em;
        padding-top: 1.8rem;
        box-sizing: border-box;
    }

    .glo_menu_wrap .contact_menu li a span {
        padding: 4.3rem 0 0 0.05em;
        position: relative;
        display: block;
    }

    .glo_menu_wrap .contact_menu li a span::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 50%;
        width: 3.6rem;
        height: 3.6rem;
        transform: translate(-50%, 0);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center center;
    }

    .glo_menu_wrap .contact_menu li a.recfuit span::before {
        background-image: url(../img/common/icon_man_white.svg);
    }

    .glo_menu_wrap .contact_menu li a.contact span::before {
        background-image: url(../img/common/icon_mail_white.svg);
    }

    .glo_menu_wrap .contact_menu li a.recfuit {
        background-color: var(--color_main);
    }

    .glo_menu_wrap .contact_menu li a.contact {
        background-color: var(--color_deep_green);
    }
}

/*----------------------------------------*/
/*スマートフォン*/
/*----------------------------------------*/
@media screen and (max-width:480px) {

    /*----------------------------------------*/
    /*メニューの外側*/
    .glo_menu_wrap {
        height: calc(100vh - 4.4rem);
        /* safari用css */
        height: calc(100dvh - 4.4rem);
        /* .menu_btnの高さと連動 */
        box-sizing: border-box;
        overflow-y: auto;
        position: absolute;
        background-color: var(--color_bg);
        z-index: 1010;
        transition: 0.3s;
        /* 全画面の場合 */
        width: 100%;
        left: 0;
        top: 4.4rem;
        opacity: 0;
        display: none;
    }

    .glo_menu_wrap.open {
        /* 全画面の場合 */
        opacity: 1;
        display: flex;
        animation: manufadein 0.3s;
        /* 横からのスライドの場合 */
        /* right: 0; */
    }

    /*メニューフェードインのアニメーション*/
    /* フェードアウトは諦めた */
    @keyframes manufadein {
        0% {
            opacity: 0;
        }

        100% {
            opacity: 1;
        }
    }

    /*----------------------------------------*/
    /*メニュー部分*/
    .glo_menu_wrap {
        flex-direction: column-reverse;
        justify-content: flex-end;
    }

    .glo_menu_wrap .glo_menu {
        display: flex;
        flex-direction: column;
        width: 80%;
        margin: 1rem auto 0;
    }

    .glo_menu_wrap .glo_menu li {
        border-bottom: 1px solid #ccc;
    }

    .glo_menu_wrap .glo_menu li:last-child {
        border: none;
    }

    .glo_menu_wrap .glo_menu li a {
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        padding: 3rem 0;
        align-items: center;
    }

    .glo_menu_wrap .glo_menu li a span.ja {
        font-size: 1.8rem;
        letter-spacing: 0.2em;
        color: #000;
        padding-right: 2.25rem;
    }

    .glo_menu_wrap .glo_menu li a span.en {
        font-size: 1.2rem;
        letter-spacing: 0.05em;
        color: var(--color_main);
        margin-top: 0.75em;
        padding-right: 2.25rem;
    }

    /* コンタクト部分 */
    .glo_menu_wrap .contact_menu {
        display: flex;
    }

    .glo_menu_wrap .contact_menu li {
        width: 50%;
        flex-shrink: 0;
        height: 8rem;
    }

    .glo_menu_wrap .contact_menu li a {
        display: flex;
        justify-content: center;
        color: #fff;
        height: 100%;
        font-weight: 600;
        font-size: 1.4rem;
        letter-spacing: 0.05em;
        padding-top: 1.8rem;
        box-sizing: border-box;
    }

    .glo_menu_wrap .contact_menu li a span {
        padding: 3rem 0 0 0.05em;
        position: relative;
        display: block;
    }

    .glo_menu_wrap .contact_menu li a span::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 50%;
        width: 2.4rem;
        height: 2.4rem;
        transform: translate(-50%, 0);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center center;
    }

    .glo_menu_wrap .contact_menu li a.recfuit span::before {
        background-image: url(../img/common/icon_man_white.svg);
    }

    .glo_menu_wrap .contact_menu li a.contact span::before {
        background-image: url(../img/common/icon_mail_white.svg);
    }

    .glo_menu_wrap .contact_menu li a.recfuit {
        background-color: var(--color_main);
    }

    .glo_menu_wrap .contact_menu li a.contact {
        background-color: var(--color_deep_green);
    }


}