@charset "UTF-8";
/*!
 * Nankyo Portal
 */

/* General */
a {
    color: #457B9D;
    text-decoration: none;
}
a:hover {
    transition: 0.3s;
    color: #1D3557;
}

/* color */
.bg-notice {
    background-color: #277DA1;
}
.bg-event {
    background-color: #F3722C;
}
.bg-const {
    background-color: #F9C74F;
}
.bg-hr {
    background-color: #43AA8B;
}
.bg-other {
    background-color: #90BE6D;
}
.bg-profile {
    background-color: #457B9D;
}

.bg-m1 {
    background-color: #FB9A40;
}
.bg-m2 {
    background-color: #68C170;
}
.bg-m3 {
    background-color: #F67280;
}
.bg-m4 {
    background-color: #6C567B;
}


.btn-primary {
    color: #fff;
    background-color: #457B9D;
    border-color: #457B9D;
}
.btn-primary:hover {
    color: #fff;
    background-color: #1D3557;
    border-color: #1D3557;
}
.btn-outline-primary {
    color: #457B9D;
    background-color: #fff;
    border-color: #457B9D;
}
.btn-outline-primary:hover {
    color: #fff;
    background-color: #1D3557;
    border-color: #1D3557;
}
.page-item.active .page-link {
    color: #fff;
    background-color: #457B9D;
    border-color: #457B9D;
}
.page-link {
    color: #457B9D;
}
.page-link:hover {
    background-color: #A8DADC;
}

.modal-footer {
    justify-content: space-between;
}

.form-label {
    font-weight: bold;
}

/* Header */
#main-header {
}
header {
    font-size: 90%;
}

header ul.nav a {
    border-top: solid 2px transparent;
    border-bottom: solid 2px transparent;
}
header ul.nav a:hover {
    transition: 0.5s;
    border-bottom: solid 2px #0288D1;
}

header #site-name {
    font-size: 150%;
    font-weight: 600;
    letter-spacing: 0.1em;
    margin-left: 20px;
}



/* Footer */
#main-footer {
}
footer {
    padding: 0 0.5rem;
    font-size: 80%;
}

/* Body */
#main-body {
    background-color: rgba(0, 0, 0, .1);
    border: solid rgba(0, 0, 0, .15);
    border-width: 1px 0;
    /* box-shadow: inset 0 0.5em 1.5em rgb(0 0 0 / 10%), inset 0 0.125em 0.5em rgb(0 0 0 / 15%); */
}

.panel {
    position: relative;
    z-index: 0;
    overflow: hidden;
    background: #fff;
    padding: 1rem;
    border-radius: 5px;
    box-shadow: 0 0.5em 1.5em rgb(0 0 0 / 10%), 0 0.125em 0.5em rgb(0 0 0 / 15%);
}
.panel h2 {
    text-align: center;
    font-size: 80%;
    line-height: 1;
    margin: 0;
    padding: 0 0 0.7em 0;
    border-bottom: solid 1px #ccc;
    /*border-bottom: solid 2px #0288D1;*/
    letter-spacing: .1em;
}
.panel h2.ribbon {
    text-align: left;
    font-size: 200%;
    font-weight: 300;
    line-height: 1;
    position: absolute;
    top: 5px;
    left: -20px;
    margin: 0;
    padding: 10px 20px 10px 30px;
    border-bottom: none;
    letter-spacing: .1em;
    z-index: -1;
    color: #fff;
    background: #0288D1;
    transform: rotate(-15deg);
}
.panel-img {
    background-size: cover;
    background-position: center;
    border-radius: 5px;
    box-shadow: 0 0.5em 1.5em rgb(0 0 0 / 10%), 0 0.125em 0.5em rgb(0 0 0 / 15%);
}


.link {
    text-align: right;
    font-size: 80%;
    margin: 0.5em 0 0 0;
}
.link a {
    color: #999;
}
.link a:hover {
    transition: 0.3s;
    color: #0277BD;
}

.bookmark .row a {
    display: block;
    position: relative;
    padding: 5px 5px 5px 34px;
    font-size: 90%;
}
.bookmark .row a:hover {
    transition: 0.5s;
    background: #FFECB3;
}
.bookmark img {
    position: absolute;
    width: 24px;
    top: 4px;
    left: 5px;
}


.news {
    font-size: 90%;
}
.news .article {
    padding: 0.5em;
    border-bottom: solid 1px rgba(0,0,0,0.1);
}
.news .article time {
    color: #999;
    display: inline-block;
    font-size: 100%;
    margin-left: 0.2em;
}
.news .article .badge {
    margin-right: 0.1em;
    width: 6em;
}
.news .article.unread {
    font-weight: bold;
}


.news h3 {
    font-size: 90%;
    font-weight: 600;
    margin: 0.7em 0 0 0;
    background: #BDBDBD;
    padding: 0.1em 0.5em;
    color: #fff;
}
.news .indent {
    padding: 0 0 0 0.5rem;
}

.news-modal p {
    margin: 0;
}

.bnr {
    position: relative;
}
.bnr .card h3 {
    font-size: 140%;
    font-weight: 800;
}
.bnr .card time {
    font-size: 90%;
    color: rgba(255,255,255,0.8);
}
.bnr .card p {
    font-size: 80%;
    color: rgba(255,255,255,0.8);
}

.blog {
    position: relative;
}
.blog h2 {
}
.blog img {
    width: 100%;
    height: 120px;
    object-fit: cover;
}
.blog time {
    color: #999;
    display: inline-block;
    font-size: 80%;
    margin: 0.5rem 0 0.3rem 0;
}
.blog h3 {
    margin: 0 0 0.5rem 0;
    font-size: 110%;
    font-weight: 600;
}
.blog p {
    font-size: 80%;
    margin: 0.5em 0;
}
.blog .btn-sm {
    font-size: 90%;
}

.qanda h3 {
    font-size: 100%;
    font-weight: 600;
    margin: 0.7em 0 0.5em 0;
    padding: 0 0 0.5em 0;
    text-align: center;
    border-bottom: dashed 1px #999;
}
.qanda li {
    font-size: 80%;
}

.opinion h3 {
    font-size: 100%;
    font-weight: 600;
    margin: 0.7em 0 0.5em 0;
    padding: 0 0 0.5em 0;
    text-align: center;
    border-bottom: dashed 1px #999;
}
.opinion li {
    font-size: 80%;
}
.opinion p {
    font-size: 80%;
    text-align: right;
    line-height: 1.4;
}

#giraffe {
    position: absolute;
    bottom: -15px;
    right: 46%;
    z-index: 100;
}
#giraffe img {
    width: 120px;
    height: auto;
}

/* Topics */
#topics {
    background: url(../img/bg-topics.png);
    box-shadow: inset 0 0.5em 1.5em rgb(0 0 0 / 10%), inset 0 0.125em 0.5em rgb(0 0 0 / 0%);
}
#topics .bnr .card {
    padding: 5rem 1.5rem 0.5rem 1.5rem;
}
#topics .bnr .card h3 {
    font-size: 140%;
    font-weight: 800;
    margin: 0 0 1rem 0;
}



.article i.bi {
    color: #F94144;
}
.news-mdl .badge {
    margin-right: 0.5em;
}
.news-mdl .modal-body {
    font-size: 90%;
    padding: 20px 30px;
}
.news-mdl embed {
    width: 100%;
    height: 400px;
}
.news-mdl time {
    display: block;
    color: #999;
    font-size: 100%;
    text-align: right;
    margin-bottom: 10px;
}


.cal h3 {
    font-size: 120%;
    margin: 10px;
}

.calendar {
  position: relative;
  width: 100%;
  background-color: #fff;
  box-sizing: border-box;
  box-shadow: 0 5px 50px rgba(#000, 0.5);
  border-radius: 8px;
  overflow: hidden;
}

.cal_date {
  padding: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr ;
  grid-gap: 10px;
  box-sizing: border-box;
}

.cal_day {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 25px;
  font-weight: 600;
  color: #262626;
}

.cal_num {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 25px;
  color: #262626;
}

.cal_num.out {
    color: rgba(0,0,0,0.2);
}

.cal_num.today {
    font-weight: bold;
    border-bottom: solid 2px #c00;
}

.cal_idx {
    padding: 10px 5px 0 5px;
    margin: 0;
    border-top: solid 1px #ccc;
}
.cal_idx li {
    list-style: none;
    display: inline-block;
    font-size: 12px;
    padding: 0 0.5em 0 0;
}
.cal_idx li span {
    display: inline-block;
    width: 1em;
    height: 1em;
    background: #ccc;
}

.cal_num.c_土日, .cal_idx .c_土日 {
    background: #FCD988;
}
.cal_num.c_祝日, .cal_idx .c_祝日 {
    background: #F9A622;
    color: #fff;
}
.cal_num.c_指定休, .cal_idx .c_指定休 {
    background: #F55E01;
    color: #fff;
}
.cal_num.c_イベント, .cal_idx .c_イベント {
    background: #1CBDAD;
    color: #fff;
}
.cal_num.c_取締役会, .cal_idx .c_取締役会 {
    background: #388CA6;
    color: #fff;
}
.cal_num.c_株主総会, .cal_idx .c_株主総会 {
    background: #9C2784;
    color: #fff;
}



h1.page-title {
    font-size: 280%;
    font-weight: 200;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
}

.section-footer {
    margin: 25px 0 0 0;
}
.section-footer nav {
    margin: 0 auto;
}

.members {
    padding: 0 30px 30px 30px;
}
.members .person {
    display: inline-block;
    text-align: center;
    margin: 15px 8px 25px 8px;
}
.members .person img {
    width: 80px;
    height: 80px;
}
.members .person .p-name {
    margin: -10px 0 0 0;
    line-height: 1;
}
.members h2 {
    font-size: 150%;
    font-weight: bold;
    padding: 0.5em;
    margin: 30px 0 0 0;
}
.members h3 {
    font-size: 130%;
    font-weight: bold;
    background: #e9ecef;
    padding: 0.5em;
    margin: 30px 0 0 0;
}
.members h4 {
    font-size: 110%;
    font-weight: bold;
    margin: 30px 0 0 10px;
}
.members h2 > .phone, .members h3 > .phone, .members h4 > .phone {
    display: inline-block;
    font-size: 80%;
    margin-left: 15px;
}
.members .person .phone {
    display: inline-block;
    font-size: 70%;
}
.members .person .badge {
    display: inline-block;
    margin: 0 0 5px 0;
}



/* profile */
.profile {
    padding: 30px;
}
.profile p {
    margin: 1em 0;
    line-height: 1.6;
    font-size: 120%;
}
.profile p.photo {
    padding: 1em 2em;
}
.profile p.info {
    padding: 0;
    text-align: center;
}
.profile h1 {
    font-size: 250%;
    font-weight: bold;
    margin: 60px 0 0 0;
    text-align: left;
}
.profile .kana {
    color: #999;
    font-size: 150%;
    margin: 0;
    font-weight: 200;
    letter-spacing: 0.1em;
}
.profile .badge {
    margin-right: 1em;
    width: 8em;
}
.photo-ex {
    display: flex;
    justify-content: center;
    align-items: center;
}
.photo-ex a {
    max-width: 25%;
    margin: 5px;
}

.text-alert {
    color: #E63946;
}


textarea#memo {
    width: 100%;
    height: 12em;
    border: none;
    margin: 10px 0 0 0;
    font-size: 12px;
    line-height: 1.3;
    padding: 5px;
}
textarea#memo:focus {
    background: #f0f0f0;
}

/* 2022.04.05 cha moo song カレンダーeditのcss */

.cal_num.edit {
    align-items: start;
    flex-direction: column;
    justify-content: start;
    padding: 3px;
    border-radius: 5px;
    height: 100px; 
    font-size: 100%;
    cursor: pointer;
    box-shadow: 5px 5px 5px rgb(204, 204, 204);
}
  
.cal_num.edit.today {
    font-weight: bold;
    border: solid 2px #c00;
}

.cal_num.edit.choice {
    font-weight: bold;
    border: solid 3px rgb(70, 46, 249);
}
  
.cal_num.edit:hover {
    opacity: 0.5;
}


/* docs */
.docs .path {
    padding: 0 10px 10px 10px;
    border-bottom: solid 1px #ccc;
    color: #999;
}
.docs .path a {
    display: inline-block;
    color: #000;
}

.docs .article {
    display: inline-block;
    margin: 15px 15px 10px 15px;
    width: 190px;
    vertical-align: top;
    position: relative;
}
.docs .article a {
    display: block;
    text-align: center;
    width: 100%;
    padding: 15px 10px;
}
.docs .article img {
    width: 60%;
    margin: 0 auto 15px auto;
    display: block;
}
.docs .article time {
    display: block;
    position: absolute;
    font-size: 70%;
    color: #666;
    background: rgba(0,0,0,0.1);
    padding: 3px 6px;
    line-height: 1;
    top: 0;
    right: 0;
}

.doc-mdl .modal-body {
    font-size: 90%;
    padding: 20px 30px;
}
.doc-mdl embed {
    width: 100%;
    height: 600px;
}
.doc-mdl time {
    display: block;
    color: #999;
    font-size: 100%;
    text-align: right;
    margin-bottom: 10px;
}

table.table-meal {
    table-layout: fixed;
}
    table.table-meal thead th {
        text-align: center;
    }
    table.table-meal thead th .badge {
        width: 100%;
        font-size: 100%;
    }
    table.table-meal thead th a {
        font-size: 70%;
    }
    table.table-meal tbody th {
        vertical-align: middle;
        text-align: center;
        font-size: 80%;
    }
    table.table-meal tbody td {
        vertical-align: top;
        text-align: center;
        font-size: 80%;
    }
    table.table-meal tbody td strong {
        font-size: 120%;
    }
    table.table-meal tbody tr.past th, table.table-meal tbody tr.past td {
        color: #999;
    }
    table.table-meal tbody tr.today th, table.table-meal tbody tr.today td {
        border-bottom: solid 2px red;
    }
    table.table-meal tbody tr.tommorow th, table.table-meal tbody tr.tommorow td {
        font-weight: bold;
        font-size: 100%;
    }
    table.table-meal tfoot th, table.table-meal tfoot td {
        text-align: center;
        font-size: 120%;
    }

table.table-doc {
    table-layout: fixed;
}
    table.table-doc th {
        text-align: center;
        font-size: 80%;
    }
    table.table-doc td {
        text-align: center;
        vertical-align: middle;
    }
    table.table-doc td.filename {
        text-align: left;
        font-size: 120%;
        padding: 0.3em 1em;
    }
    table.table-doc .icon {
        height: 40px;
    }
    table.table-doc tbody td {
        border-right: solid 1px rgba(0,0,0,0.1);
    }
    table.table-doc tbody td:last-child {
        border-right: none;
    }
    table.table-doc tbody tr.main-category td {
        /* background: #f0f0f0; */
        border-bottom: solid 1px #000;
    }
    table.table-doc tbody td.sub-title {
        text-align: center;
        font-weight: bold;
        background: #fff;
        padding: 1.5em 1em 0.5em 1em;
        border-bottom: dashed 1px #666;
    }

table.table-pfc {
    width: 100%;
    table-layout: fixed;
    margin: 1em 0 0 0;
}


/* SHIFT SCHEDULE */
.shift-wrapper {
    overflow: scroll;
}
.shift-table {
    border-top: solid 1px #999;
    border-left: solid 1px #ccc;
}
    .shift-table th, .shift-table td {
        font-size: 12px;
        margin: 0;
        padding: 0.3em;
        line-height: 1;
        text-align: center;
        width: 2.5em;
        border-right: solid 1px #ccc;
        border-bottom: dotted 1px #ccc;
    }
    .shift-table thead th {
    }
    .shift-table thead td {
        font-size: 10px;
        border-bottom: solid 2px #333;
    }
        .shift-table thead td.hol {
            background: #ffc;
        }
    .shift-table tbody tr.team th {
        width: 6em;
        font-weight: bold;
        font-size: 15px;
        border-bottom: solid 1px #999;
    }
    .shift-table tbody tr.team td {
        border-bottom: solid 1px #999;
    }
    .shift-table tbody tr.team td.hol {
        background: #646FD4;
        color: #fff;
    }
    .shift-table tbody tr.member th {
        width: 6em;
        font-weight: normal;
    }

table.table-contract {
}
    table.table-contract thead th {
        vertical-align: middle;
        text-align: center;
        font-size: 90%;
    }
    table.table-contract tbody td {
        vertical-align: middle;
        text-align: center;
        font-size: 80%;
    }
    table.table-contract tbody td strong {
        font-size: 120%;
    }


table.table-history {
    table-layout: fixed;
}
    table.table-history tbody th time {
        display: inline-block;
        width: 7em;
        font-weight: normal;
    }
    table.table-history tbody th, table.table-history tbody td {
        vertical-align: middle;
    }
.document-no small {
    font-size: 0.8rem !important;
}

table#summary.table-meal tbody td {
    font-size: 100%;
}

br.md-none {
    display: none;
}

@media (max-width: 767px) {
    div.top-meal br.md-none {
        display: block !important;
    }

    div.top-meal table.table-meal th {
        font-size: 10px;
    }

    div.top-meal table.table-meal td strong {
        font-size: 14px;
    }
}

