@charset "utf-8";

:root {
    --corp-color1: #3237c9;
    --corp-color2: #1d2091;
    --header-height: 5rem;
    --footer-height: 2em;
    --sidebar-width: 15rem;
    --z-header: 10;
    --z-footer: 10;
}

/* 上右下左 */
html {
    width: 100%;
    height: 100%;
}

body {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    background: linear-gradient(var(--corp-color1), var(--corp-color2));
    background-repeat: no-repeat;
    background-size:cover;
    background-attachment: fixed;
}

header {
    position: fixed;
    top: 0;
    padding: 0;
    margin: 0;
    width: 100%;
    height: var(--header-height);
    z-index: var(--z-header);
}

main {
    width: 100%;
    padding: 0;
    margin: 0 auto;

    position: fixed;
    top: var(--header-height);
    left: 0;

    /* header と footerの高さに合わせて変更 */
    height: calc(100% - var(--header-height) - var(--footer-height));
    max-height: calc(100% - var(--header-height) - var(--footer-height));

    /* 背景 */
    background: linear-gradient(#ffffff, #f0f0f0);
    background-repeat: no-repeat;
    border-radius: 20px;

    overflow: auto;
}

main > .container {
    width: 100%;
    height: -webkit-fill-available;
    padding: 0;
    margin: 0 auto;
}

footer {
    left: 0;
    width: 100%;
    /* footerの高さに合わせて変更 */
    height: var(--footer-height);
    position: fixed;
    bottom: 0;
    padding: 0;
    margin: 0;
    color: white;
    z-index: var(--z-footer);
    background: linear-gradient(var(--corp-color1), var(--corp-color2));
    background-repeat: no-repeat;
    background-size:cover;
    background-attachment: fixed;
}

/* ユーザー情報個別 */
header h3 {
    margin: 0.5em;
    color: white;
    font-size: 2rem;
}

header .user_info {
    background-color: rgba(0, 0, 0, 0);
    position: fixed;
    top: 1rem;
    right: 1rem;
}
header .user_info table {
    font-size: 0.7rem;
}

/* サイドメニューバー個別 */
#sidebar {
    max-width: var(--sidebar-width);
}

.main_menu {
    margin: 10px 0 0 10px;
}

.main_menu ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.main_menu_li {
    display: flex;
    justify-content: start;
    margin: 3px 0;
}

.main_menu_li > a {
    display: block;
    width: 100%;
    padding: 10px 0;
    border-radius: 6px;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    background-image: linear-gradient(to right,
                                    #3d51ff 0%,
                                    #3d51ff 50%,
                                    #add3ff 50%,
                                    #add3ff 100%);
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
    transition: background-position ease 0.3s;
    text-align: center;
    color: rgb(6, 23, 39);
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
}

.main_menu_li > a:hover {
    background-position: 0 0;
    color: white;
}

/* メインコンテンツ用 */
#main_content {
    height: 95%;
    padding: 1rem;
    background: linear-gradient(135deg, #ffffff, #fafbfc);
    background-repeat: no-repeat;
}

/* ログイン画面個別 */
#login_content {
    padding: 0;
    margin: 10% auto;
    width: 6rem;
    min-width: 50vw;
    max-width: 90vw;
    height: auto;
    align-items: initial;
}

/* ボタン追加css */
.btn {
    margin: 0.6em 0;
}

/* ログイン画面追加css */
.input-group-text {
    width: 100px;
    height: auto;
}

/* input要素個別 */

input[type="date"]{
    flex-flow: initial;
    align-items: initial;
}

input[type="time"]{
    flex-flow: initial;
    align-items: initial;
}

input[type="text"]{
    border-radius: 15px;
    line-height: 20px;
}

input[type="password"]{
    border-radius: 15px;
    line-height: 20px;
}

/* ダイアログ */
dialog {
    border: 0px;
    border-radius: 3px;
}

/* footer要素個別 */
.footer_text {
    text-align: center;
    font-size: 15px;
    margin-top: 4px;
}

/* 削除アイコン */
.delete_btn {
    color: #000;
    position: relative;
    margin: 0;
    padding: 0;
    width: 18px;
    height: 17px;
    border-top: 0px;
    border-left: solid 2px currentColor;
    border-right: solid 2px currentColor;
    border-bottom: solid 2px currentColor;
    border-radius: 0 0 2px 2px;
    left: calc(100% - 5em);
    top: -2em;
}

.delete_btn::before {
    content: '';
    position: absolute;
    left: -4px;
    top: -3px;
    width: 22px;
    height: 2px;
    background-color: currentColor;
}

.delete_btn::after {
    content: '';
    position: absolute;
    left: 3px;
    top: -8px;
    width: 8px;
    height: 5px;
    border-left: solid 2px currentColor;
    border-right: solid 2px currentColor;
    border-top: solid 2px currentColor;
    border-radius: 4px 4px 0 0;
}

.delete_btn:hover::before {
    transform: rotate(20deg);
    transform-origin: 100% 100%;
}

.delete_btn:hover::after {
    transform: rotate(24deg);
    transform-origin: 100% 100%;
    top: -10px;
}

/* CSV出力ボタン */
#ch_btn {
    display: flex;
    justify-content: flex-end;
    left: calc(100% - 5em);
}

#csv_btn {
    margin: 0 1em 1em 0;
    padding: 0;
}

#download {
    margin: 0;
}

/* 検索アイコン */
#ch_search_btn {
    color: #000;
    position: relative;
    margin: 0;
    padding: 0;
    width: 16px;
    height: 16px;
    border: solid 1px currentColor;
    border-radius: 100%;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 0.5em;
}

#ch_search_btn:before {
    content: '';
    position: absolute;
    top: 16px;
    left: 7px;
    height: 8px;
    width: 1px;
    background-color: currentColor;
}

#ch_search_btn:hover {
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg);
}

/* table個別 */
#callhistory_table > thead > tr > th:nth-child(4) {
    width: 25%;
    max-width: 150px;
}