@charset "utf-8";
```css
/*============================================================

Drawer Menu

============================================================*/


/*============================================================
Checkbox
============================================================*/

/* チェックボックスを非表示 */

.drawer-menu input {
    display: none;
}


/*============================================================
Overlay
============================================================*/

.nav-tgl-close {
    position: fixed;
    top: 0;
    right: 0;

    width: 100%;
    height: 100%;

    margin: 0;

    pointer-events: none;
    cursor: pointer;

    transition: background .6s;

    z-index: 1000;
}


/* メニューOPEN時 */

#id_nav-tgl:checked ~ .nav-tgl-close {
    pointer-events: auto;
    background: rgba(0, 0, 0, .6);
}


/*============================================================
Drawer Navigation
============================================================*/

.drawer-nav {
    position: fixed;
    top: 0;
    right: 0;

    width: 272px;
    height: 100%;

    margin: 0;
    padding: 0 0 10px;

    overflow-y: auto;
    -webkit-overflow-scrolling: touch;

    background-color: #fff;

    transform: translateX(100%);

    transition:
        transform .6s cubic-bezier(.215, .61, .355, 1);

    z-index: 1001;
}


/* メニューOPEN時 */

#id_nav-tgl:checked ~ .drawer-nav {
    transform: translateX(0);
}


/*============================================================
Navigation Link
============================================================*/

.drawer-nav a {
    display: block;

    padding: 10px;

    text-decoration: inherit;

    transition: background .6s;
}


/*============================================================
Header
============================================================*/

.drawer-nav .head {
    width: 100%;
    padding: 15px 10px;

    font-size: 15px;
    font-weight: bold;
    text-align: center;

    color: #fff;
    background-color: rgb(163, 130, 85);
}


/*============================================================
Menu
============================================================*/

.drawer-nav .menu {
    width: 100%;
}

.drawer-nav .menu input {
    display: none;
}


/*============================================================
Menu List : Level 1
============================================================*/

.drawer-nav .menu .list1 {
    position: relative;

    display: block;

    padding: 15px 7px;

    line-height: 1;

    cursor: pointer;

    border-top: 1px solid hsl(0, 0%, 90%);

    transition: background .3s ease-out;
}

.drawer-nav .menu .list1:first-child {
    border-top: none;
}

.drawer-nav .menu .list1:last-child {
    border-bottom: 1px solid hsl(0, 0%, 90%);
}

.drawer-nav .menu .list1:hover {
    background: rgba(0, 0, 0, .1);
}

.drawer-nav .menu .list1 > a {
    display: flex;
    align-items: center;
    justify-content: flex-start;

    text-decoration: none;
}


/*============================================================
Menu List : Level 2
============================================================*/

.drawer-nav .menu > ul > li > ul > li {
    display: flex;

    height: 0;

    overflow: hidden;

    opacity: 1;

    text-align: center;

    transition: height .7s ease;
}

.drawer-nav .menu > ul > li > ul > li:hover {
    background: rgba(0, 0, 0, .1);
}

.drawer-nav .menu > ul > li > ul > li > a {
    position: relative;

    display: flex;
    align-items: center;

    padding: 15px 0 15px 40px;

    text-decoration: none;
}


/* Arrow Icon */

.drawer-nav .menu > ul > li > ul > li > a::before {
    position: absolute;
    top: 50%;
    left: 20px;

    transform: translateY(-50%);

    font-family: "Font Awesome 5 Free";
    font-size: 1em;
    font-weight: bold;

    content: "\f105";

    color: rgba(0, 0, 0, .4);

    transition: .5s;
}


/*============================================================
Accordion Button
============================================================*/

.drawer-nav .menu label::after {
    position: absolute;
    top: 50%;
    right: .8em;

    display: inline-block;

    transform: translateY(-50%) rotate(0deg);

    font-family: "Font Awesome 5 Free";
    font-weight: bold;

    content: "\f067";

    color: rgba(0, 0, 0, .4);

    cursor: pointer;

    transition: transform .5s ease-out;
}


/*============================================================
Accordion : Open
============================================================*/

.drawer-nav .menu input:checked + label + ul > li {
    height: 45px;
    opacity: 1;
}

.drawer-nav .menu input:checked + label + ul > li:first-child {
    margin-top: 10px;
}

.drawer-nav .menu input:checked + label + ul > li:last-child {
    margin-bottom: 10px;
}

.drawer-nav .menu input:checked + label::after {
    transform: translateY(-50%) rotate(135deg);
}

.drawer-nav .menu input:checked + label {
    background: rgba(0, 0, 0, .05);
}

.drawer-nav .menu input:checked + label:hover {
    background: rgba(0, 0, 0, .1);
}


/*============================================================
Menu List : CTA
============================================================*/

.drawer-nav .menu .list2 {
    position: relative;

    display: block;

    padding: 15px 15px 0;

    line-height: 1;

    cursor: pointer;

    transition: .5s ease-out;
}

.drawer-nav .menu .list2.type1 {
    border-top: 1px solid hsl(0, 0%, 90%);
}

.drawer-nav .menu .list2 > a {
    display: flex;
    align-items: center;
    justify-content: flex-start;

    padding: 25px 0 25px 17px;

    color: #fff;
    background-color: #f18a28;

    border-radius: 5px;

    text-decoration: none;

    transition: opacity .3s ease-out;
}


/* CTA Colors */

.drawer-nav .menu .list2 > a.color1 {
    background-color: #e9795b;
}

.drawer-nav .menu .list2 > a.color2 {
    background-color: #f1a218;
}

.drawer-nav .menu .list2 > a.color3 {
    background-color: #7cc213;
}


/* CTA Hover */

.drawer-nav .menu .list2 > a:hover {
    opacity: .7;
}
```
