*{
    margin: 0;
    padding: 0;
}

.sidebar_flex{
    display: flex;
    min-height: 100%;
}
.navbar{
    color: rgb(221, 221, 221);
    background-color: #5a4498;
}

.header_title{
    padding: 1rem 0;
}

/* サイドメニュー */
.sidebar{
    width: 14rem;
    height: 100%;
    background-color: #5a4498;
}

/* サイドメニューのアコーディオン */
.accordion_title_home_list,
.accordion_title_home_add,
.accordion_title_home_parts,
.accordion_title_set_list,
.accordion_title_set_add
{
    position: relative;
}
.accordion_item_home_list,
.accordion_item_home_add,
.accordion_item_home_parts,
.accordion_item_set_list,
.accordion_item_set_add
{
    padding: 1rem ;
}
.accordion_item_home_list:hover,
.accordion_item_home_add:hover,
.accordion_item_home_parts:hover,
.accordion_item_set_list:hover,
.accordion_item_set_add:hover
{
    color: #add8e6;
}

/* アコーディオン矢印 */
.accordion_title_home_list::after,
.accordion_title_home_add::after,
.accordion_title_home_parts::after,
.accordion_title_set_list::after,
.accordion_title_set_add::after
{
    border-right: solid 2px #fff;
    border-top: solid 2px #fff;
    content: "";
    display: block;
    height: 8px;
    position: absolute;
    right: 0;
    top: 38%;
    transform: rotate(45deg);
    transition: transform .3s ease-in-out,top .3s ease-in-out;
    width: 8px;
}

.accordion_title_home_list.open::after,
.accordion_title_home_add.open::after,
.accordion_title_home_parts.open::after,
.accordion_title_set_list.open::after,
.accordion_title_set_add.open::after
{
    top: 45%;
    transform: rotate(135deg);
}

.all_wrap{
    width: auto;
    margin-bottom: 5rem;
}
/* 登録ボタン */
.btn_color:hover{
    background-color: #dcdddf;
    border: 1px solid #c9c7c7;
}

/* 必須 */
.btn_required{
    margin-left: 10px;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background-color: #ffa500;
}
.btn_required2{
    font-size: 11px;
    font-weight: bold;
    text-align: center;
    color: #FF0000;
}

footer{
    background-color: #dcdddf;
  }
@media screen and (max-width: 768px){

    .sidebar, .company_logo{
        transform: translateX(-100%);
        position: fixed;
        top: 0;
        /* bottom: 0; */
    }

    .all_wrap{
        margin: 1rem;
    }

    footer{
        width: 100%;
    }
}

@media screen and (min-width: 768px){

    .sidebar{
        transform: translateX(0);
        position: fixed;
        top: 0; 
        /* bottom: 0; */
    }
    .company_logo{
        width: 10rem;
        height: auto;
        display: flex;
        align-items: center;
        margin: 1rem 0;
        padding-left: 1.5rem;
    }

    .company_logo img{
        width: 100%;
        height: 100%;
    }

    .sidebar_contents{
        margin:  1.5rem;
        padding: 0;
        list-style: none;
    }

    .sidebar_contents a{
        text-decoration: none;
        color: inherit;
    }

    /*navとメイン横並び  */
    .all_wrap{
        margin-left: 16rem;
        margin-right: 2rem;
    }

    footer{
        background-color: #dcdddf;
        margin-left: 14rem;
        width: calc(100% - 14rem);
    }
}

