#fgo_img_share_maker .input_container{
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
}
#fgo_img_share_maker .input_container li{
    min-width: 62px;
    margin: 1px;
    border: 1px solid #1a2e59;
    box-sizing: border-box;
}
#fgo_img_share_maker .input_container li .th_replace{
    text-align: center;
    line-height: 1;
    padding: 10px 0;
    background: #1a2e59;
    font-size: 12px;
    font-weight: bold;
    color: #ffffff;
}
#fgo_img_share_maker .input_container li .td_replace{
    padding: 5px;
    text-align: center;
}
#fgo_img_share_maker .input_container li .td_replace button{
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    border: 3px dotted #2c4378;
    border-radius: 10px;
    box-sizing: border-box;
    font-size: 20px;
    background: #ffffff;
    cursor: pointer;
}
#fgo_img_share_maker .input_container li .td_replace button:nth-child(2){
    display: none;
}
#fgo_img_share_maker .input_container li .td_replace img{
    width: 50px;
    height: 50px;
    cursor: pointer;
}
#fgo_img_share_maker .button_container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 20px 0;
}
#fgo_img_share_maker .button_container button {
    border-radius: 25px;
    line-height: 2.8;
    font-weight: bold;
    cursor: pointer;
    text-align: center;
    border: 2px solid #ff6555;
}
#fgo_img_share_maker .button_container .canvas_trigger {
    width: 100%;
    margin-bottom: 15px;
    font-size: 15px;
    background: #ff6555;
    color: white;
}
#fgo_img_share_maker .button_container .reset_trigger {
    width: 32%;
    background: #ffffff;
    color: #ff6555;
    font-size: 13px;
}
#fgo_img_share_maker .button_container .error_message {
    width: 60%;
    font-size: 10px;
}
#fgo_img_share_maker .result_container .canvas_output{
    display: block;
    margin: auto;
}



.swal-overlay--show-modal .swal-modal{
    position: relative;
    vertical-align: top;
    margin-top: 40px;
}
.swal-overlay.swal-overlay--show-modal{
    z-index: 99999999;
}
.swal-overlay--show-modal .swal-modal .swal-content{
    padding: 34px 0 0 0;
    margin: 0px 5px 10px 5px;
    overflow: hidden;
}
.swal-overlay--show-modal .swal-modal .swal-footer{
    margin: 0;
    padding: 0;
    position: absolute;
    top: -10px;
    right: -10px;
}
.swal-overlay--show-modal .swal-modal .swal-footer .swal-button-container{
    margin: 0;
    display: block;
    position: static;
}
.swal-overlay--show-modal .swal-modal .swal-footer .swal-button-container .swal-button.swal-button--cancel{
    color: #2c4b91;
    border: 4px solid #2c4b91;
    line-height: 1;
    padding: 0;
    margin: 0;
    width: 35px;
    height: 35px;
    font-size: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: white;
    border-radius: 0;
}
.swal-overlay--show-modal .swal-modal .swal-footer .swal-button-container .swal-button.swal-button--confirm{
    position: absolute;
    bottom: calc(-65vh - 105px);
    right: 10px;
    width: 10em;
    height: 40px;
    margin: 0;
    padding: 0;
    line-height: 1;
    background: linear-gradient(to right, rgba(26,46,89,1) 0%,rgba(54,85,151,1) 100%);
    text-shadow: 1px 1px 4px #000000;
    border: 3px solid #ffbc00;
    border-radius: 15px;
    font-size: 15px;
    box-sizing: border-box;
}
#pop_up_favorite_chara_container{
    display: none;
    position: relative;
    padding-bottom: 36px;
}
#pop_up_favorite_chara_container .select_current_all{
    position: absolute;
    top: -26px;
    left: 0;
    display: flex;
}
#pop_up_favorite_chara_container .select_current_all button{
    font-size: 11px;
    line-height: 1.5;
    font-weight: bold;
    box-sizing: border-box;
    border: none;
    width: 6em;
    border-radius: 5px;
    margin-right: 0.3em;
}
#pop_up_favorite_chara_container .select_current_all button[data-action="switch"]{
    background: linear-gradient(120deg, #2c4b91 0%, #2c4b91 50%, #87acff 50%, #87acff 100%);
    color: white;
}
#pop_up_favorite_chara_container .select_current_all button[data-action="checked"]{
    background: #2c4b91;
    color: white;
}
#pop_up_favorite_chara_container .select_current_all button[data-action="hide"]{
    background: #87acff;
    color: white;
}
#pop_up_favorite_chara_container .select_current_all button[data-action="none"]{
    border: 2px solid #2c4b91;
    background: #f1f5ff;
    color: #2c4b91;
}
#pop_up_favorite_chara_container .favorite_chara_container{
    height: 65vh;
    overflow-y: scroll;
    margin-bottom: 5px;
    box-sizing: border-box;
}
#pop_up_favorite_chara_container .favorite_chara_container ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    width: 100%;
}

#pop_up_favorite_chara_container .favorite_chara_container li.single_chara{
    box-sizing: border-box;
    padding: 2px;
    cursor: pointer;
    margin: 2px;
    font-size: 10px;
    line-height: 1;
    font-weight: bold;
}
#pop_up_favorite_chara_container .favorite_chara_container li.no_result_dom{
    display: none;
    width: 100%;
    font-size: 15px;
}
#pop_up_favorite_chara_container .favorite_chara_container li img{
    width: 100%;
}
#pop_up_favorite_chara_container .favorite_chara_container li span{
    display: block;
    font-size: 10px;
    font-weight: bold;
    line-height: 2;
}
#pop_up_favorite_chara_container .filter_dom{
    position: absolute;
    top: calc(65vh + 5px);
    width: 100%;
    background: white;
    overflow: hidden;
}
#pop_up_favorite_chara_container .filter_dom .filter_table{
    margin-bottom: 0px;
}
#pop_up_favorite_chara_container .filter_dom .filter_switch_button{
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    line-height: 2.8;
    font-size: 13px;
    background: #2c4b91;
    border: none;
    border-bottom: 2px solid white;
    color: #ffffff;
    font-weight: bold;
    overflow: hidden;
}
#pop_up_favorite_chara_container .filter_dom .filter_switch_button div{
    position: absolute;
    left: 5px;
    top: 0;
    bottom: 0;
    margin: auto;
    display: none;
}
#pop_up_favorite_chara_container .filter_dom .filter_switch_button span{
    transition: transform 0.3s;
    position: absolute;
    right: calc(50% - 7em);
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 1;
    height: fit-content;
}
#pop_up_favorite_chara_container .filter_table tr th{
    background: #2c4b91;
    color: white !important;
    position: relative;
    overflow: hidden;
    border: none;
    border-right: none;
    font-size: 12px;
    padding: 0;
}
#pop_up_favorite_chara_container .filter_table tr td{
    padding: 2px 4px;
}
#pop_up_favorite_chara_container .filter_table .filter_container{
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}
#pop_up_favorite_chara_container .filter_table .filter_container li{
    border: 2px solid #f6f6f6;
    border-radius: 10px;
    font-size: 13px;
    font-weight: bold;
    box-sizing: border-box;
    text-align: center;
    line-height: 2;
    margin: 3px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

#pop_up_favorite_chara_container .filter_table .filter_container[data-filter_item="type"] li,
#pop_up_favorite_chara_container .filter_table .filter_container[data-filter_item="range"] li{
    width: calc(100% / 4 - 6px);
}

#pop_up_favorite_chara_container .filter_table .filter_container li[data-checked="checked"]{
    border: 2px solid #2c4b91;
}
#pop_up_favorite_chara_container .filter_table .filter_container li img{
    width: calc(100% - 6px);
    margin: 3px;
}
#pop_up_favorite_chara_container .filter_table .filter_container[data-filter_item="type"] li img{
    max-width: 45px;
    width: 60%;
    margin: 2px 0;
}
