@charset "utf-8";
@import url("input-style.css");
/* 管理画面で AdminLTE以外のスタイルが必要な時はここに記述する */
/* ----------------------------------------
共通
---------------------------------------- */
tr.nowrap th, tr.nowrap td, th.nowrap, td.nowrap { white-space: nowrap; }
.btn-white{ background-color: #fff; border-color: #ddd;}
.btn-gray{ background-color: #999; border-color: #888; }
.btn-gray:hover{ background-color: #666; border-color: #555; color:#fff;}
.btn-gray:active, .btn-gray:focus{ color: #fff;}
.btn-green{ background-color: #23b83c; border-color: #1aaf33;}
.btn-green:hover{ background-color: #147725; border-color: #10611e; color:#fff;}
.btn-green:active, .btn-green:focus{ color: #fff;}
.btn-indigo{ background-color: #1d4299; border-color:#0a1633;}
.btn-indigo:hover{ background-color: #0a1633; border-color:#0a1633;color:#fff;}
.btn-brown{ background-color: #a3620d; border-color:#925506;color:#fff;}
.btn-brown:hover{ background-color: #724409; border-color:#553102;color:#fff;}
.bg-dark-viridian { background:#44A5CB; }
.bg-dark-green { background:#54B345; }
.bg-dark-purple { background:#9D73BB; }
.bg-dark-red { background: #DA6272}
.bg-wine { background: #CE579B; }
.bg-dark-aqua { background: #4CBCE5; }
.bg-dark-orange { background: #E5B04C; }
.bg-dark-teal { background: #43B6CA; }
.bg-light-orange { background: #E2D9BD; }
.bg-light-red { background: #FF9FB5; }
.box-sub-header {color: #444; display: block; padding: 5px; position: relative; }
.box-add{width:100%; max-width:1250px}
.btn-status { color: #fff;}
.users-add { text-align: left !important; }
.btn-support { width: 100%; padding: 3px 10px; margin:10px 0 5px;}

 .bg-wine, .bg-dark-green, .bg-dark-aqua, .bg-dark-orange, .bg-dark-red, .bg-dark-purple, .bg-dark-viridian, .bg-dark-teal {
    color: #ffffff;
}
.bg-dark-aqua:hover,.bg-dark-aqua:active, .bg-dark-aqua:focus{
    color: #ffffff;
    background:#009ed8 !important;
}
.bg-dark-orange:hover,.bg-dark-orange:active, .bg-dark-orange:focus{
    color: #ffffff;
    background:#d88d00 !important;
}
.bg-dark-viridian:hover,.bg-dark-viridian:active, .bg-dark-viridian:focus{
    color: #ffffff;
    background:#27647c !important;
}
.bg-dark-green:hover,.bg-dark-green:active, .bg-dark-green:focus{
    color: #ffffff;
    background:#479e39 !important;
}
.bg-dark-purple:hover,.bg-dark-purple:active, .bg-dark-purple:focus{
    color: #ffffff;
    background:#6a3a8d !important;
}
.bg-wine:hover,.bg-wine:active, .bg-wine:focus {
    color: #ffffff;
    background: #863954 !important;
}
.bg-dark-red:hover,.bg-dark-red:active, .bg-dark-red:focus{
    color: #ffffff;
    background:#da475a !important;
}
.bg-dark-teal:hover,.bg-dark-teal:active, .bg-dark-teal:focus{
    color: #ffffff;
    background:#1db8b8 !important;
}

.bg-light-orange,.bg-light-red {
    color: #333;
}
.bg-light-orange:hover,.bg-light-orange:active, .bg-light-orange:focus{
    color: #333;
    background:#cec4a8 !important;
}
.bg-light-red:hover,.bg-light-red:active, .bg-light-red:focus{
    color: #333;
    background:#e78ba1 !important;
}


.btn-cancel { font-size: 11px; margin-top: 5px; width:100%;}
.mar-10 { margin:10px;}
.mar-t4 { margin-top: 4px;}
.mar-t20 { margin-top:20px;}
.mar-b10 { margin-bottom:10px;}
.mar-b20 { margin-bottom:20px;}

.pad-b20 { padding-bottom:20px;}

.m-wid500 { max-width: 500px;}
.m-wid400 { max-width: 400px;}
.m-wid300 { max-width: 300px;}

.wid500 { width: 500px;}
.wid400 { width: 400px;}
.wid300 { width: 300px;}
.wid200 { width: 200px;}

.pad-left { padding-left: 1rem; }


.box.box-solid>.box-header .btn:hover,
.box.box-solid>.box-header a:hover {
    -webkit-box-shadow: inset 0 0 100px rgba(0,0,0,0.2) !important;
    box-shadow: inset 0 0 100px rgba(0,0,0,0.2) !important;
}

.btn-social-icon>:first-child {
    font-size: 1.2em !important;
}

div.box-back-link {
    margin-bottom: 10px;
}

div.furigana {
    font-size: clamp(0.8em, 2vw, 0.9em);
}


/* ----------------------------------------
総合検索
---------------------------------------- */
#header-search {
    padding:10px;
    min-width:200px;
    width:300px;
    float:right;
}
#header-search .input-group-btn .btn-info {
    background: #00BBFF;
}
#header-search .input-group-btn .btn-info:hover {
    background: #00A9E6;
}
.join_cell {
    visibility: hidden;
}
mark {
    background: #FF9FB5;
}


/* ----------------------------------------
CKエディタ
---------------------------------------- */
body.cke_editable {
    height: 83%;
    padding: 10px;
}

/* ----------------------------------------
Flash
---------------------------------------- */
.alert-info-pale {
    background-color: #AAE8FF;
    color: #195b74;
}
.alert-success-pale {
    /* background-color: #B3E5A1; */
    background-color: #B5FFAA;
    color: #19660d;
}
.alert-danger-pale {
    /* background-color: #ECACB5; */
    background-color: #FFAAB5;
    color: #770716;
}

/* ----------------------------------------
モーダル
---------------------------------------- */
.modal-header {
    background: #657ebd;
    color: #ffffff;
}
input#file-upload-button {
    padding: 10px !important;
}

/* .modal-dialog {
    margin: calc(100vh/3) auto;
} */


/* ----------------------------------------
檀家情報パネル、過去帳情報パネル
---------------------------------------- */
.p-panel-name-box {
    line-height: 280%;
}

/* ----------------------------------------
一覧画面 テーブル共通
---------------------------------------- */
table.table-bordered thead tr th {
    background: #B3C1E1;
    text-align:center;
    vertical-align: middle !important;
    line-height:1.5;
    white-space: nowrap;
    /* color: #eeeeee; */
}
table.table-bordered thead tr th a {
    color: #415EA6;
}
table.table-bordered tbody tr td {
    vertical-align: middle !important;
}
/* ソート（ASC） */
table.table-bordered thead tr th a.asc:after {
        content: ' ▲';
}
/* ソート（DESC） */
table.table-bordered thead tr th a.desc:after {
        content: ' ▼';
}

.box-flex {
    display: flex;
}
.box-flex > a{
    flex-grow : 1;
    margin: 1px;
}
table tr td.actions {
    max-width: 232px;
    width: 100px;
}
a.text-link {
    font-weight: bolder;
}

.box-flex .btn-sm {
    line-height: 1.8;
}
table tr.past td {
    background: #E3E3E3;
}

.tooltip-inner a {
    font-weight: bolder;
}

/* ----------------------------------------
一覧画面 検索エリア
---------------------------------------- */
div.box-search{
    margin:10px;
    padding: 10px;
    border-radius: 3px 3px 3px 3px;
    border: 1px solid #ccc;
    background: #f6f6f6;
}
div.box-search label.control-label {
    max-width:none;
}

div.box-search .form-group {
    height: 60px;
}
div.row-search-btn {
    display: flex;
    flex-direction: row-reverse;
    justify-content:space-between;
}

/* ----------------------------------------
檀家一覧画面
---------------------------------------- */
.payment-notice {
    background-color: #F6D4D8 !important;
}
.payment-alert {
    background-color: #FF8080 !important;
}

td.cell-hoonko button.btn-off {
    background-color: #c8dce4;
    border-color: #bacfd8;
}
td.cell-hoonko button.btn-off:hover{
    background-color: #bacfd8;
    border-color: #acc2cc;
}

td.cell-hoonko button.btn-on {
    background-color: #43CACA;
    border-color: #39b9b9;
}
td.cell-hoonko button.btn-on:hover{
    background-color: #39b9b9;
    border-color: #30a8a8;
}

td.cell-intimate button.btn-off {
    background-color: #cae0e6;
    border-color: #bdd3da;
}
td.cell-intimate button.btn-off:hover{
    background-color: #bdd3da;
    border-color: #adc5cc;
}

td.cell-intimate button.btn-on {
    background-color: #43AFCA;
    border-color: #39a0b9;
}
td.cell-intimate button.btn-on:hover{
    background-color: #39a0b9;
    border-color: #3090a8;
}

/* ----------------------------------------
法要一覧画面
---------------------------------------- */
button.btn-off {
    background-color: #d3d9e7;
    border-color: #c6cddd;
}
button.btn-off:hover{
    background-color: #c6cddd;
    border-color: #b7bfd1;
}

button.btn-on,
button.btn-on:hover,
button.btn-on:active,
button.btn-on:focus{
    color: #ffffff;
}

td.cell-contacted button.btn-on {
    background-color: #6A8CC7;
    border-color: #5b7bb3;
}
td.cell-contacted button.btn-on:hover{
    background-color: #5b7bb3;
    border-color: #5170a5;
}

td.cell-implemented button.btn-on {
    background-color: #6A8CC7;
    border-color: #5b7bb3;
}
td.cell-implemented button.btn-on:hover{
    background-color: #5b7bb3;
    border-color: #5170a5;
}


/* ----------------------------------------
詳細画面テーブル
---------------------------------------- */
table.v-table {
    width: 100%;
    border: 1px solid #ddd;
}
table.v-table th {
    background: #eee;
    width: 150px;
    white-space: nowrap;
}
table.v-table tr td {
    width:auto;
}
table.v-table tr th,table.v-table tr td {
    padding:10px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

table.c-table {
    width: 100%;
    border-collapse: collapse;
}
table.c-table th {
    background: #eee;
    text-align: center;
}
table.c-table tr th,table.c-table tr td {
    padding:10px;
    border: 1px solid #ddd;
}
table.c-table tr td {
    height: 70px;
}

.upload-link-box {
    width:100%;
    max-width:100%;
    height: 30px;
    padding: 5px 10px;
    background-color: #E3E3E3;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ----------------------------------------
入力画面共通
---------------------------------------- */
div.required label.control-label:after {
    margin-top: -2px;
    display: inline-block;
    content:'必須';
    background: #ff0000;
    color: #ffffff;
    font-size: 70%;
    margin-left: 5px;
    padding:1px 3px 0px;
    border-radius: 3px;
}

div.form-group.multiCheckbox div.checkbox,
div.form-group.radio > div.radio {
    display: inline-block;
    padding-right:20px;
}
div.form-group.multiCheckbox > label.control-label,
div.form-group.radio > label.control-label,
div.has-error.multiCheckbox > label.control-label,
div.has-error.radio > label.control-label {
    display:block !important;
    font-weight: 700;
    padding-left: 0px;
}

span.help-block {
    display: inline-block;
    padding: 3px 30px;
    border: 1px solid #EFB7BF;
    background: #FFDBDF;
    color: #C7243A !important;
    border-radius: 3px;
}

/* アップロード済み画像サムネイル */
.thumbnail-box {
    margin:5px 0;
    padding:10px;
    background:#E3E3E3;
}
.object-fit-cover {
    background-color: #ccc;
    object-fit: cover;
    height: calc((100vh + 100vw) / 12);
}

/* bootstrap override */
.checkbox, .radio {
    margin-top: 5px !important;
}

/* 入力フィールド単位の背景色 */
span.input-group-addon {
    background: #eee !important;
}
span.input-group-addon.non-style {
    background: none !important;
    border: 0;
}

.delete-box {
    padding:5px;
    background: #C6C6C6;
    margin-bottom: 0;
}
/* ----------------------------------------
檀家入力画面
---------------------------------------- */
section#parishioners-add input#name,
section#parishioners-add input#kana,
section#parishioners-add input#delegate-name,
section#parishioners-add input#delegate-kana,
section#parishioners-add input#special-note,
section#parishioners-add input#grave-location {
    max-width: 300px;
}
section#parishioners-add input#annual-fee,
section#parishioners-add div.annual_fee,
section#parishioners-add input#delegate-zip,
section#parishioners-add input#delegate-tel1,
section#parishioners-add input#delegate-tel2 {
    min-width: 150px;
    max-width: 200px;
}
section#parishioners-add input#delegate-address {
    max-width: 500px;
}

/* ----------------------------------------
過去帳入力画面
---------------------------------------- */
section#necrologies-add input#secular-name,
section#necrologies-add input#secular-kana {
    max-width: 300px;
}
section#necrologies-add input#afterlife-name,
section#necrologies-add input#afterlife-kana {
    max-width: 400px;
}
section#necrologies-add input#passing-age,
section#necrologies-add div.passing-age,
section#necrologies-add input#passing-date {
    min-width: 150px;
    max-width: 150px;
}


/* ----------------------------------------
法要入力画面
---------------------------------------- */
section#memorialServices-add input#service-name {
    max-width: 400px;
}

section#memorialServices-add input#service-date,
section#memorialServices-add input#scheduled-date {
    max-width: 150px;
}


/* ----------------------------------------
維持費支払入力画面
---------------------------------------- */
section#payments-add input#target-year,
section#payments-add div.target-year,
section#payments-add input#payment-date,
section#payments-add input#amount,
section#payments-add div.amount {
    min-width: 150px;
    max-width: 150px;
}

/* ----------------------------------------
ログインユーザー入力画面
---------------------------------------- */
section#admins-add input#name,
section#admins-add input#kana {
    min-width: 300px;
    max-width: 300px;
}

section#admins-add input#email,
section#admins-add input#password {
    max-width: 450px;
}


/* ----------------------------------------
PC表示用
---------------------------------------- */
@media screen and (min-width:992px) {
    .pc-hide {
        display:none;
    }
}
/* ----------------------------------------
タブレット表示用
---------------------------------------- */
@media screen and (max-width:991px) {
    /* タブレットの時は隠す  */
    .tb-hide {
        display:none;
    }
    table tr td.actions {
        max-width: 232px;
        min-width: 50px;
        width: unset;
    }

    table.table-bordered tr td {
        white-space: nowrap;
    }
    /* 一覧テーブル */
    table.list-table tr:nth-child(odd) td {
        background: #edeff7;
    }



}
/* ----------------------------------------
スマホ表示用
---------------------------------------- */
@media screen and (max-width:767px) {
    /* スマホの時は隠す  */
    .sp-hide {
        display:none;
    }

    div.box-body table.table-bordered tr {
        width: 100%;
    }
    div.box-body table.table-bordered th,
    div.box-body table.table-bordered td {
        display: block;
        text-align: right;
        width: 100%;
    }
    .dropzone {
        padding: 5px 5px !important;
    }
    table tr td.actions {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* 検索フォーム */
    div.box-search .form-group {
        height: auto;
    }

    /* 一覧テーブル */
    table.list-table {
        width: 100%;
    }
    table.list-table .thead {
        display: none;
    }
    table.list-table tr {
        width: 100%;
    }
    table.list-table td {
        display: block;
        text-align: right;
        width: 100%;
        white-space: unset !important;
    }
    table.list-table td:first-child {
        background: #B3C1E1 !important;
        font-weight: bold;
        text-align: center;
    }
    #necrologies-index table.list-table td:nth-child(2),
    #payments-index table.list-table td:nth-child(2),
    #memorialServices-index  table.list-table td:nth-child(2),
    #memorialServices-index  table.list-table td:nth-child(3) {
        background: #B3C1E1 !important;
    }
    #pages-index table.list-table td.necrology-name {
        background: #bfe1f0 !important;
    }
    #pages-index table.list-table td.necrology-memo {
        background: #deeff5 !important;
    }

    table.list-table td:before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
        margin-right: 10px;
    }

    table.list-table tr:nth-child(odd) td {
        background: #edeff7;
    }

    /* 詳細画面 */
    table.v-table th {
        min-width: 80px;
        max-width: 120px;
    }

    /* 檀家情報パネル・過去帳情報パネル */
    .info-panel div.form-group {
        display: flex;
        justify-content: space-between;
    }
    .info-panel-value {
        text-align:right;
    }
    .p-panel-name-box {
        line-height: unset;
    }

    /* フォームのラジオボタンとチェックボックス */
    div.form-group.multiCheckbox div.checkbox,
    div.form-group.radio > div.radio {
        padding-right:12px;
    }

}


/* ----------------------------------------
dropzoneのcssをoverride
---------------------------------------- */
.dropzone .dz-preview .dz-image img {
    display: block;
    object-fit: cover;
}


/* ----------------------------------------
掲示板
---------------------------------------- */
.box-number {
    float: left;
    width: 30px;
    height: 30px;
}
.box-comments .box-comment-one:not(:last-child) {
    border-bottom: 1px solid #ddd !important;
}
.box-comments .box-comment-one:first-of-type {
    padding-top: 0;
}
.box-comments .box-comment-one {
    padding: 8px 0;
}

.comment-date {
    font-weight: bold;
    display: inline-block;
    margin-right: 20px;
}

div.comment-title {
    display: flex;
    flex-direction: row;
    margin-bottom:5px;
}
span.delete-link {
    margin-left:auto;
}
span.edit-link a:hover {
   color: #325895 !important;
}
span.delete-link a:link {
    color:#dd4b39;
}

span.edit-link a:hover,
span.delete-link a:hover {
    font-weight:bold;
}
