/*      */
/* body */
/*      */
body {
    width: 650px;
    margin: 0 auto;
}

hr {
    margin: 10px auto;
}

button {
    background: #41487e;
    color: #fff;
    border: none;
    padding: 10px 20px;
    margin: 10px;
    display: inline-block;
    border-radius: 5px;
    text-align: center;
    font: large sans-serif;
    transition: 300ms;
}

button:hover {
    background-color: #1f275e;
}

/*         */
/* ヘッダー */
/*         */
.headerInner {
    max-width: 650px;
    height: 100px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.help_modal dt {
    background-color: #888;
    color: #fff;
    padding: 8px;
    border-radius: 5px;
    font: bold large sans-serif;
}
.help_modal dd {
    text-align: left;
}


/*           */
/* Task List */
/*           */
#task_list {
    text-align: center;
}

#task_list button {
    margin: 5px 2px;
    padding: 10px 20px;
    width: 48%;
    cursor: pointer;
    background-color: #efefef;
    color: black;
    
    border: none;
    border-radius: 20px;
    text-align: left;
    font: bold large sans-serif;
}

#task_list button:hover {
    background-color: #ccc;
}


/*            */
/* Edit Modal */
/*            */
.edit_modal_open_wraper {
    text-align: right;
}

#edit_modal_open {
    background: #41487e;
    color: #fff;
    border: none;
    padding: 10px 20px;
    margin: 10px;
    display: inline-block;
    border-radius: 5px;
    text-align: center;
    text-decoration: none;
    font: large sans-serif;
    transition: 300ms;
}

#edit_modal_open:hover {
    background: #1f275e;
}

.remodal {
    border-radius: 10px;
}

.remodal h1 {
    margin: 0 20px;
}

.remodal-cancel,
.remodal-confirm {
    border-radius: 5px;
    margin: 20px;
    font-weight: bold;
}


/*                    */
/* Configration Table */
/*                    */
.configuration {
    width: 100%;
    margin: 0 auto 20px;
    border-collapse: collapse;
}

.configuration td {
    border-bottom: 1px solid #e1e1e1;
}

.column_name {
    text-align: center;
    padding: 25px 20px;
}

.column_item {
    justify-content: space-around;
    text-align: center;
}

.tilde {
    padding: 10px;
    font-size: 20px;
    font-weight: bold;
}


/*           */
/* 教材名設定 */
/*           */
.title input[type="text"] {
    border: 1px solid #d1d1d1;
    border-radius: 5px;
    padding: 10px 10px;
    width: 80%;
    font-size: 16px;
}

.title input[type="text"]::placeholder {
    color: #aaa;
    transition: 300ms;
}

.title input[type="text"]:focus::placeholder {
    transform: translateX(30px);
    opacity: 0;
}


/*           */
/* ページ設定 */
/*           */
.page input[type="number"] {
    border: 1px solid #d1d1d1;
    border-radius: 5px;
    padding: 10px 10px;
    width: 160px;
    font-size: 16px;
}

.page input[type="number"]::placeholder {
    color: #aaa;
    transition: 300ms;
}

.page input[type="number"]:focus::placeholder {
    transform: translateX(30px);
    opacity: 0;
}


/*         */
/* 期間設定 */
/*         */
.term input[type="date"] {
    font-size: 15px;
    font-family: sans-serif;
    border: 1px solid #d1d1d1;
    border-radius: 5px;
    padding: 5px 10px;
    width: 160px;
}

/*         */
/* 曜日設定 */
/*         */
.holiday input[type="checkbox"] {
    display: none;
}

.day_of_week_label {
    margin: 0 12px;
    border: 2px solid #1f275e;
    padding: 5px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: bold;
}

input[type="checkbox"]:checked + .day_of_week_label {
    background: #1f275e;
    color: white;
    font-weight: bold;
}

.national_holiday {
    border-color: red;
}

input[type="checkbox"]:checked + .national_holiday {
    background: red;
    color: white;
    font-weight: bold;
}


/*           */
/* 削除ボタン */
/*           */
#delete_btn {
    border: none;
    border-radius: 5px;
    padding: 10px;
    margin: 10px;
    background-color: #e57373;
    color: #fff;
    font: bold large sans-serif;
}

#delete_btn:hover {
    background-color: #ef5350;
}


/*             */
/* 出力メニュー */
/*             */
#export_menu {
    text-align: center;
}

/*       */
/* 予定表 */
/*       */
.schedule_table{
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    margin: 20px 0;
}

.schedule_table tr,
.schedule_table th,
.schedule_table td {
    border: 1px solid #c4c4c4;
    padding: 5px;
    text-align: center;
}

.schedule_table th {
    border-bottom: 4px double #c4c4c4;
}