    /* Base */
    
    ul {
        list-style: none;
    }
    
    a {
        text-decoration: none;
    }
    /* Wrap */
    
    .wrap {
        width: calc(100% - 20px);
        max-width: 420px;
        margin: auto;
    }
    /* Calendar */
    
    .calendar {
        margin: 1rem 0px;
        overflow: hidden;
        border-radius: 7px;
    }
    
    .calendar__heading,
    .calendar__content {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }
    
    .calendar__heading>li,
    .calendar__content>li {
        width: 14.285%;
    }
    
    .calendar__item {
        width: 100%;
        height: 100%;
        display: inline-block;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: 10px 0px;
        border-radius: 3px;
        transition: all 0.3s;
        color: #4A4A4A;
    }
    
    .calendar__item .current {
        background-color: #E5E5E5;
    }
    
    .calendar__item .quota {
        font-size: 0.875rem;
        border: 1px solid rgba(0, 0, 0, 0.2);
    }
    
    .calendar__item .quota:hover {
        font-size: 0.875rem;
        background: rgba(0, 0, 0, 0.1);
        border: 1px solid rgba(0, 0, 0, 5);
    }
    
    .calendar__item.is-today {
        background-color: #4A4A4A;
        color: #FFFFFF;
    }
    
    .calendar__header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 10px;
        background-color: #E5E5E5;
    }
    
    .calendar__header .arrow-btn {
        display: flex;
        font-size: 0rem;
    }
    
    .calendar__header .arrow-btn::before {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
    }
    
    .calendar__header .arrow-btn.btn-prevmonth::before {
        border-width: 10px 13px 10px 0;
        border-color: transparent #4A4A4A transparent transparent;
    }
    
    .calendar__header .arrow-btn.btn-nextmonth::before {
        border-width: 10px 0 10px 13px;
        border-color: transparent transparent transparent #4A4A4A;
    }
    
    .calendar__title {
        text-align: center;
        font-size: 1.3rem;
        cursor: pointer;
    }
    
    .calendar__heading {
        padding: 0px 5px;
        background-color: #F2F2F2;
    }
    
    .calendar__heading .calendar__item {
        color: #4A4A4A;
    }
    
    .calendar__content {
        padding: 5px;
        position: relative;
        background-color: #FFFFFF;
    }
    
    .calendar__content .calendar__item {
        font-size: 1.3rem;
        cursor: pointer;
    }
    /* Todolist */
    
    .todolist {
        margin: 1rem 0px;
        overflow: hidden;
        border-radius: 7px;
        background-color: #FFFFFF;
    }
    
    .todolist__header {
        font-size: 1.5rem;
        padding: 10px 15px;
    }
    /* Animation */
    
    .fade-enter-active,
    .fade-leave-active {
        transition: opacity 0.5s;
    }
    
    .fade-enter,
    .fade-leave-to {
        opacity: 0;
    }