@charset "UTF-8";
/* ハンバーガーメニュー */

/*ヘッダーまわりはご自由に*/
nav {
    padding: 20px;
    /*background: #fff;*/

}

#nav-drawer {
    position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
    display: none;
}

/*アイコンのスペース*/
#nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
    cursor: pointer;
    position: fixed;
    right: 20px;
    top: 20px;
    z-index: 10000;
    /* メニューボタンを最前面に */
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span,
#nav-open span:before,
#nav-open span:after {
    position: absolute;
    height: 3px;
    /*線の太さ 三本線*/
    width: 25px;
    /*長さ*/
    border-radius: 3px;
    background: #555;
    display: block;
    content: '';
    cursor: pointer;
    right: 0px;
    transition: all 0.4s ease-in-out;
}

#nav-open span:before {
    bottom: -8px;
}

#nav-open span:after {
    bottom: -16px;
}

#nav-input:checked~#nav-open span {
    background: transparent;
}

#nav-input:checked~#nav-open span::before {
    bottom: 0;
    transform: rotate(45deg);
}

#nav-input:checked~#nav-open span::after {
    bottom: 0;
    transform: rotate(-45deg);
}

/*閉じる用の薄黒カバー*/
#nav-close {
    display: none;
    /*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;
    /*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
    color: #fff;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    /* z-indexを上げて最前面に表示 */
    width: 100%;
    height: 100vh;
    /* 高さを100vhに変更して画面全体をカバー */
    background: rgba(0, 0, 0, 0.9);
    transition: transform 0.3s ease-in-out;
    transform: translateX(100%);
    -webkit-overflow-scrolling: touch;
    padding-top: 50px;
    /* ヘッダー分の余白を追加 */
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked~#nav-close {
    display: block;
    /*カバーを表示*/
    opacity: .5;
}

#nav-input:checked~#nav-content {
    transform: translateX(0%);
    /*中身を表示*/
    box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
}


/*アコーディオンメニューの装飾*/

.accordion-menu {
    margin: 0;
    padding: 0;
}

.accordion-menu li {
    border-bottom: 1px #ffffff dotted;
    /* ボーダーの色を白に変更 */
    list-style: none;
    padding: 5px 0px 5px 20px;
    font-size: auto;
}

.accordion-menu li:before {
    font-family: "Font Awesome 5 Free";
    content: '\f054';
    font-weight: 900;
    padding-right: 10px;
    color: #1e8d3b;
    /* アイコンの色を白に変更 */
}

.accordion-menu li:last-child {
    list-style: none;
    border-bottom: 0px;
}

.sub-acc-menu {
    margin: 0;
    padding: 0;
}

.sub-acc-menu li {
    padding: 5px 0px 5px 10px;

}

.sub-acc-menu li:last-child {
    padding: 7px 0px 5px 10px;
    border-bottom: 0px;

}

.accordion-menu li a {
    color: #fff;
    text-decoration: none;
}

#nav-input {
    display: none;
}