@charset "utf-8";

:root {
    --side-nav-width: 350px;
    --keycolor:       #2d6eb6;
    --accentcolor:    #f1b318;
    --textcolor:      #444444;
    --subcolor:       #ccc8db;
    --backgroundcolor:#e5e6f2;
    --basecolor:      #f4f4f4;
    --errorcolor:     #db3444;
}

html {
    font-size: 14px !important;
}

body {
    margin:0;
    padding:0;
    background-color:var(--backgroundcolor) !important;
    color:var(--textcolor);
}

.advanced_search_area {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
}



.horizontal_control_area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 2rem;
    margin-bottom: 2rem;
}

.horizontal_control_area .operation {
    display: flex;
    gap: 0 0.5rem;
}

.text_pager a,
.text_pager button.anchor {
    color: var(--keycolor) !important;
    border: none !important;
    display: inline !important;
    background-color: transparent !important;
    text-decoration: underline !important;
    border: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.text_pager a:hover,
.text_pager button.anchor:hover {
    color: var(--keycolor) !important;
    border: none !important;
    background-color: transparent !important;
    text-decoration: underline !important;
    border: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.text_pager .button,
.text_pager span {
    vertical-align: middle;
}

.pager_button,
.pager_label {
    display: inline-block !important;
    margin: 0 0.5rem !important;
    padding: 0 !important;
}

.content {
    display:flex;
    flex-direction: row;
    align-items: flex-start;
}

.side_nav {
    background-color: #fff;
    z-index: 1;
    width: var(--side-nav-width);
    box-shadow: 1.5px 1.5px 2px 1px rgba(0, 0, 0, 0.07);
}

.side_nav {
    font-size: 1rem;
    color: #555;
}

.side_nav h1 {
    color: #333;
    font-size: 1rem;
    display: table-cell;
    vertical-align: bottom;
    padding-bottom: 2.5em;
}

.side_nav h2 {
    color: #444;
    font-size: 1rem;
    padding: 0.4rem 0.5rem 0.3rem 1.5rem;
    margin: 0;
}

.side_nav .button_group {
    margin: 1.0rem 0 1.0rem 0;
}

.side_nav h1 .cms_logo {
    display: inline;
    width: calc(100% - 5rem);
    height: auto;
    padding: 2.0rem 1.0rem 0rem 2.0rem;
    vertical-align: bottom;
}

.side_nav .button {
    display: inline-block;
    width: 100%;
    padding: 1rem 2rem;
    color:#444;
    text-decoration: none;
    vertical-align: middle;
}

.side_nav .button svg {
    vertical-align: middle;
    font-size: 2rem;
    margin-right: 0.5rem;
    padding-bottom: 0.1rem;
    width: 2rem;
    height: 2rem;
}

.side_nav .button:hover {
    background-color: var(--subcolor);
}

.side_nav hr {
    border-bottom: 1px solid #444;
    margin: 0;
}

.main_container {
    width: calc(100% - var(--side-nav-width));
}

.top_nav {
    background-color: #fff;
    padding:1.5rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 6.0rem;
}

.top_nav h1,
.top_nav h2,
.top_nav h3 {
    margin:0 0 0 1rem;
    font-size: 2rem;
}

.top_nav .button {
    min-width: 10rem;
}

main {
    padding: 2rem;
    background-color: transparent;
}


.footer {
    text-align: center;
    padding: 0.5rem;
}

.control_area {
    text-align:center;
    margin: 2rem 0;
}

h1:not(:first-child),
h2:not(:first-child), 
h3:not(:first-child) {
    margin-top: 0.5rem;
}

.dropdown-item_group_label {
    font-weight: bold;
    background-color: #f7f7f7;
}

.panel {
    border: 1px solid #ccc;
    background-color: #fff;
    border-radius: 0.5rem;
    padding: 3rem;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 2rem !important;
}

.panel h1:not(.accordion-header),
.panel h2:not(.accordion-header),
.panel h3:not(.accordion-header) {
    font-size: 1.9rem;
    margin-bottom: 1rem;
}

.panel h1 svg,
.panel h2 svg,
.panel h2 svg {
    vertical-align: middle;
    font-size: 2.5rem;
    margin-right: 1rem;
    padding-bottom: 0.25rem;
    width: 2.5rem !important;
    height: 2.5rem;
}

.panel > div:not(:first-child) {
    margin: 2rem 0 0 0;
}

.panel h1:first-child,
.panel h2:first-child,
.panel h3:first-child {
    margin-top: 0;
}

.panel_with_tab {
    margin-bottom: 1rem;
}

.panel_with_tab .tabs {
    display: flex;
    gap: 0 0.75rem;
    flex-wrap: wrap;
    margin:0;
}

.panel_with_tab .tabs > *:hover {
    display: flex;
    background-color: #fff !important;
    gap: 0 0.75rem;
    flex-wrap: wrap;
    margin:0;
}

.panel_with_tab .tabs > * {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.5rem 0.5rem 0 0;
    border-style: none;
    background-color: var(--subcolor);
    color: var(--textcolor);
    box-shadow: none;
    padding: 1rem 2rem;
}

.panel_with_tab .content {
    display:block;
    border-radius: 0 0 0.5rem 0.5rem;
    background-color: #fff;
    color: var(--textcolor);
    margin:0;
}

.panel_with_tab .content > div {
    padding: 2rem 3rem 2rem 3rem;
}

.panel_with_tab .content > hr {
    margin: 0;
}

.panel_with_tab .tabs > *:hover {
    box-shadow: none;
    text-decoration: none;
}

.panel_with_tab .tabs > *.selected {
    background-color: #fff;
}

.form-group:not(:last-child) {
    margin-bottom: 1rem;
}

.form-inline:not(:last-child) {
    margin-bottom: 1rem;
}

.error-message-header {
    background-color: var(--errorcolor);
    color: #fff;
    text-align: center;
    padding: 0.7rem;
    margin:0.5rem auto;
    border-radius: 0.3rem;
    max-width: 70rem;
}

.error-message {
    background-color: var(--errorcolor);
    color: #fff;
    text-align: center;
    padding: 0.5rem;
    margin:0.5rem 0 !important;
    border-radius: 0.3rem;
    max-width: 50rem;
}

/*----- 管理画面 -----*/
div.page-header .sub_title {
    color: #a0a0a0;
    font-size: 18px;
    font-weight: bold;
    margin-left: 15px;
}

div.page-header .glyphicon {
    font-size: 18px;
    margin-right: 15px;
}

table.table {
    margin: 15px 0;
}

table.table thead {
    font-size: 11px;
}

table.table td {
    vertical-align: middle !important;
}

a.del_btn,
a.del_req_btn,
a.flag_btn,
a.change_btn {
    color: #ccc;
}

a.del_btn:hover,
a.del_req_btn:hover,
a.flag_btn:hover {
    color: #d20000;
}

a.change_btn:hover {
    color: #5cb85c;
}

table.table a.restart_btn {
    color: #999;
}

table.table a.restart_btn:hover {
    color: #0000d2;
}

/*
.add_form {
    max-width: 650px;
    margin: 30px auto;
}
*/

.add_form .form-group {
    padding: 0 15px;
}

.required {
    color: #ff0000;
    font-size: 12px;
    font-weight: normal;
    margin-left: 5px;
}

.note {
    color: #777;
    font-size: 12px;
    font-weight: normal;
    margin: 0;
}

.error {
    font-size: 12px;
    margin: 5px 0;
    padding: 5px;
}

.error .glyphicon {
    font-size: 11px;
    margin-right: 5px;
}

.modal-body .del_pop_text {
    background-color: #f8f8f8;
    border-color: #e7e7e7;
    margin: 10px 0;
    padding: 5px;
}

.modal-body .del_pop_text p {
    margin: 0;
}

.panel-body .subject {
    border-bottom: 1px dotted #999;
    font-size: 18px;
    font-weight: bold;
    margin: 35px 0 15px;
    padding: 5px 0;
}

.panel-body .top {
    margin: 0 0 15px;
}

.fw-normal {
    font-weight: normal;
}

.font12 {
    font-size: 12px;
}

.content_item_title {
    color: #666;
    font-size: 14px;
    font-weight: bold;
    margin: 0;
    padding: 0;
}

#download_btn,
#download_stop {
    padding: 5px;
}

.search_stop,
#download_stop {
    display:none;
    opacity: 0.7;
}

/* document list */
.table_in_input {
    background-color: #eee;
    margin: 0;
    padding: 5px 10px;
}

.table_in_input .table_items {
    margin: 5px 0;
}

.table_items .item_title {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 80%;
}

.invisible {
    opacity:0;
    position: absolute;
}

.file_color {
    background-color: #d9edf7;
}

.form-inline .m_b10 {
    margin-bottom: 10px;
}

/* enquete */
.enquete_item_name {
    font-size: 12px;
    font-weight: bold;
    margin: 5px 0 0;
}

#sort_enquete li.table_items {
    height: auto;
}

.error_check_box {
    font-size: 12px;
    font-weight: normal;
}

.error_check_box input {
    margin: 0 5px 0 0;
    vertical-align: middle;
}

/*
.error_check_list {
//    max-width: 400px;
}
*/

.error_check_list .error_check_box {
    width: 100px;
}

#sort_enquete .li_enquete {
    padding: 6px 12px 10px;
}

#sort_enquete .enquete_item {
    background-color: #fff;
    padding: 5px;
}

#sort_enquete .enquete_color {
    background-color: #d9edf7;
}

#sort_enquete .enquete_color2 {
    background-color: #f2dede;
}

#sort_enquete .enquete_color .item_title{
    color: #31708f;
}

.del_flag {
    color: #ff0000;
    font-size: 12px;
    margin-right: 5px;
}

.enq_top_border {
    border-top: 1px dashed #ccc;
    margin-top: 5px;
    padding-top: 5px;
}

.list_box_css {
    font-weight: normal;
    margin: 0;
}

.list_box_css input {
    margin: 0px 7px 0px 0px;
    vertical-align: middle;
}

/* copy */
th.info {
    border-bottom: none !important;
    font-weight: normal !important;
}

.copy_in { display: none; }

.print_footer {
    display:none;
}

@page {
    size: A4;
    margin: 10mm;
}

@media print{

    thead { display: table-header-group; }
    .copy_in { display: inline; }

    .main-container {
        margin: 0 auto;
        width:100%;
    }

    .container,
    .page-header,
    h3 {
        margin-top: 0 !important;
    }

    a[href]:after {
        content: "" !important;
    }
    .print_footer {
        display:block;
    }

    .clickcount {
        font-size:80%;
    }
}

.accordion-item h2 {
    margin-top: 0;
}

/*== form elements ===*/

.panel_article input[type="text"],
.panel_article select {
    display:inline-block;
    min-width: 30rem;
    background-color: #fff;
    border: 1px solid var(--subcolor);
    border-radius: 0.2rem;
    padding: 0.4rem;
}

/* button & elements looks like button */

.main_container button.button,
.main_container a.button,
.main_container select.button,
.main_container label.button > input[type="checkbox"] + span,
.main_container label.button > input[type="radio"] + span {
    padding: 0.8rem 2rem;
    border-radius: 0.2rem;
    border: none;
    box-shadow: 0.1rem 0.1rem 0.3rem 0.07rem rgba(0, 0, 0, 0.2);
    text-decoration: none;
    color:#000;
    background-color: #fff;
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
    font-weight: normal;
    user-select: none;
    vertical-align: middle;
    margin-bottom: 0.5em;
}

.main_container label.button {
    margin:0.5em 0.1rem !important;
}

.main_container select.button {
    text-align: left;
}
.main_container select.button:hover {
    background-color: #fff;
    text-align: left;
}
.main_container select.button option {
    background-color: #fff;
    text-align: left;
}

.main_container button.button,
.main_container a.button,
.main_container select.button,
.main_container label.button > input[type="checkbox"] + span,
.main_container label.button > input[type="radio"] + span {
    cursor: pointer;
}

.main_container span.button {
    cursor: not-allowed;
}

.main_container a.button:hover {
    box-shadow: inset 0.15rem 0.15rem 0.3rem 0.07rem rgba(0, 0, 0, 0.4);
    text-decoration: none;
    color: var(--textcolor);
    background-color: var(--backgroundcolor);
}

label.button > input:checked[type="checkbox"] + span,
label.button > input:checked[type="radio"] + span {
    color: #fff;
    background-color: var(--keycolor);
    box-shadow: inset 0.15rem 0.15rem 0.3rem 0.07rem rgba(0, 0, 0, 0.4);
}

.top_nav .control .button:not(:first-child) {
    margin-left: 1.5rem;
}

.control_area .button:not(:first-child) {
    margin-left: 1.5rem;
}

button:hover,
a.button:hover,
label.button > input[type="checkbox"] + span:hover,
label.button > input[type="radio"] + span:hover {
    color: var(--textcolor) !important;
    background-color: var(--subcolor) !important;
}

label.button > input[type="checkbox"],
label.button > input[type="radio"] {
    display:none;
}

label.button > input[type="checkbox"] + span,
label.button > input[type="radio"] + span {
    min-width: 12rem;
}

.top_nav .control .button {
    font-size: 1.2rem;
}

.top_nav .control .button:not(:first-child) {
    margin-left: 1rem;
}

.button_keycolor {
    color: #fff !important;
    background-color: var(--keycolor) !important;
}

.button_accentcolor {
    color: var(--textcolor) !important;
    background-color: var(--accentcolor) !important;
}

.button_large {
    font-size: 1.25rem;
}

.search_area {
    padding: 3rem;
}

.search_area div {
    margin-top: 0.6rem !important;
}

.search_area label {
    font-weight: normal;
}

.search_area .wide_input {
    width:100%;
    font-size: 1.2rem;
    padding: 0.5rem
}


/*=== bootstrap override ===*/

.accordion-button {
    color: var(--textcolor) !important;
    background-color: var(--subcolor) !important;
}

.accordion-button.collapsed {
    color: var(--textcolor);
    background-color: var(--subcolor) !important;
}

.accordion-button,
.accordion-button:focus {
    text-align: left !important;
    box-shadow: none !important;
}

.form-group {
    margin-top: 0 !important;
}

.form-group input[type="text"],
.form-group select,
.form-group button {
    height: 3rem;
    border-radius: 0.2rem;
    border: 1px solid #ccc;
    color: var(--textcolor);
}

select[name="cid"],
select[name="cids[]"] {
    margin: 0.2rem 0;
}

.form-group select {
    background-color: #fff;
}

.info_message {
    border-color: var(--keycolor);
    border-style: dotted;
    border-width: 1px;
    border-radius: 0.5rem;
    color: var(--keycolor);
    display: inline-block;
    padding: 0.5rem 1rem;;
}

.error_message {
    background-color: var(--errorcolor);
    border-radius: 0.5rem;
    color: #fff;
    display: inline-block;
    padding: 0.5rem 1rem;;
}

/* === Temp. style === */
.table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

.table, .table th, .table td {
    border: 1px solid #ddd;
}

.table th, .table td {
    text-align: left;
    padding: 8px;
}

.table th {
    background-color: #f2f2f2;
}

.table tr:nth-child(even) {
    background-color: #f9f9f9;
}

.table tr:hover {
    background-color: #ddd;
}

form.member_search .form-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

form.member_search .form-group {
    flex: 1;
    margin-right: 10px;
}

form.member_search .form-group:last-child {
    margin-right: 0;
}

form.member_search label {
    display: block;
    margin-bottom: 5px;
}

form.member_search input[type="text"],
form.member_search input[type="email"],
form.member_search input[type="tel"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
    height: 3em;
}

form.member_search button {
    background: #007bff;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

form.member_search button:hover {
    background: #0056b3;
}

.image_fit_box {
    width: 500px;
    min-height: 3.5rem;
    background-color: #eee;
    margin-bottom: 1em;
    position: relative;
}

.image_fit_box img {
    width: 100%;
    height: auto;
}

.image_fit_box .delete_button {
    background-color: transparent;
    border-color: #000;
    border-style: solid;
    border-radius: 0.5rem;
    border-width: 1px;
    margin: 0.5rem;
    height: 2rem;
    padding: 0.25rem 0.5rem;
    font-size: 1rem;
    color: #000;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.3;
}

.image_fit_box .delete_button:hover {
    background-color: #000 !important;
    border-style: solid;
    color: #fff !important;
    opacity: 1;
}
