/**
 * Common Style Sheet
 * PC SP 共通
 */

body {
    /*font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;*/
    font-family: "Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","Helvetica Neue",Helvetica,Arial,sans-serif;
    color: #333;
}

/* 印刷 */
.printonly {
    display: none;
}

#staff_role_block {
    position: fixed;
    left: 0;
    bottom: 65px;
    background-color: rgba(255,255,255,0.8);
    padding: 10px;
    box-shadow: 3px 3px 5px rgba(1,1,1,0.2);
}

/* google icons */
.material-icons {
}
.material-icons.reverse {
    transform: scaleX(-1);
}
.material-icons.outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 48
}
p .material-icons,
li .material-icons,
a .material-icons,
button .material-icons,
span .material-icons,
h2 .material-icons,
h3 .material-icons,
h4 .material-icons,
h5 .material-icons {
    font-size: 1.2em;
    vertical-align: -0.13em;
    margin-right: 0.15em;
}

/* table */
.table.table-bordered thead {
    background-color: #f7f9ff;
}

/* .cols */
.cols {
    display: flex;
    justify-content: space-between;
}
.cols .col {
}

/* text-prewrap */
.text-prewrap {
    white-space: pre-wrap;
}

/* .like */
.btn-like {
    transition: all 0.2s ease;
}
.btn-like:hover {
    color: #ffc0c0;
}
.btn-like i {
    font-size: 1.2rem;
    color: #ddd;
    transition: all 0.2s ease;
}
.btn-like.liked i {
    color: #ff9696;
}

/* .btn-block */
.btn-block.btn-block-big {
    margin: 40px 0 0;
}
.btn-block.btn-block-big .btn {
    font-size: 1.5rem;
    padding: 1.5rem 6rem;
}
.btn-block.btn-block-center {
    text-align: center;
}
.system-message-big {
    padding: 70px;
}
.system-message-big .message-text {
    font-size: 1.2rem;
}

/* .tags */
.tags {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}
.tags li {
}
.tags li + li {
}
.tags .tag {
    margin: 0;
    background-color: var(--bs-primary);
    border-radius: 12px;
    color: #fff;
    padding: 4px 10px;
    font-size: 0.75rem;
    line-height: 1;
    text-decoration: none;
    border: 0;
}
.tags .tag:hover {
    opacity: 0.75;
    transition: all 0.2s ease;
}

.text-break {
    word-wrap: break-word !important;
    word-break: break-word !important;
/*
    white-space: pre-line;
*/
}

/* .pickups */
.pickups {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}
.pickups .pickup {
    border: solid 1px #ccc;
    border-radius: 5px;
    text-decoration: none;
    color: inherit;
    display: block;
    padding: 2px 5px;
    line-height: 1;
    margin: 0 4px 4px 0;
    font-size: 0.75rem;
    transition: all 0.2s ease;
}
.pickups .pickup:hover {
    background-color: var(--bs-primary);
    color: #fff;
}

/* form */
form .row {
    margin-bottom: 1rem;
}
.col-form-label {
    padding-top: 0;
}
.form-radio-input {
    width: 30px;
    height: 15px;
}
.col-checkbox-inline .checkbox,
.col-checkbox-inline .radio {
    display: inline-block;
    margin-right: 1rem;
}
.checkbox input,
.radio input {
    margin-right: 4px;
}
.checkbox input.readonly,
.radio input.readonly {
    opacity: 0.3;
}
.require {
    color: #f00;
    font-size: 22px;
    vertical-align: -0.3rem;
    margin: 0 0 0 0.2rem;
}
form.form-model .btn-block {
    text-align: center;
    border-top: solid 1px #ddd;
    padding: 2rem 0 0;
    margin-top: 3rem;
}

form .tselect .ts-control{
    padding: 0.47rem 0.75rem;
}

.form-switch {
    min-height: auto;
}
.form-switch .form-check-input {
    width: 30px;
    height: 15px;
}

.btn-txt-switch {
    color: #ccc;
    border: 0;
    background: none;
    padding: 0;
    white-space: nowrap;
}
.btn-txt-switch span {
    border-bottom: solid 1px #ddd;
}
.btn-txt-switch.active {
    color: #ee8f8f;
}
.btn-txt-switch.active span {
    border-bottom: solid 1px #ee8f8f;
}
.btn-txt-switch:hover {
    opacity: 0.8;
}
.btn-txt-switch .on {
    display: none;
}
.btn-txt-switch.active .on {
    display: inline;
}
.btn-txt-switch .off {
    color: #52afff;
    border-bottom: solid 1px #52afff;
}
.btn-txt-switch.active .off {
    display: none;
}
.btn-txt-switch span.gray {
    color: #ccc;
    border-bottom: solid 1px #ccc;
}

/* validate */
form .error-message {
    color: #f00;
    margin: 4px 0 0;
    width: 100%;
}

/* .error */
.error {
    font-size: 1rem;
    width: auto;
    /*
    color: var(--bs-danger);
    */
}

/* .popover */
.btn-popover {
    border: 0;
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #7dbf81;
    font-size: 0.75rem;
}
.popover {
    box-shadow: 0 .125rem .25rem 0 rgba(58,59,69,.2);
    border-radius: 0;
    min-width: 300px;
    min-height: 100px;
}
.bs-popover-end>.popover-arrow::before,
.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before {
    border-right-color: #888;
}
.popover-header {
    font-size: 0.7rem;
    padding: 5px 8px;
    background-color: #ffaec3;
    color: #fff;
    border-radius: 0;
    border: 0;
}
.popover-body {
    font-size: 0.8rem;
    padding: 5px 8px;
    background-color: #fdfdfd;
}

/* .tab-container */
.tab-container {
    transition: all 0.5s ease;
}
.tab-container.hide {
    opacity: 0;
}
.tab-container .tab-content {
    padding: 3rem 0
}
.nav-tabs {
    --bs-nav-tabs-border-width: 1px;
    --bs-nav-tabs-border-color: #c9cfd5;
    --bs-nav-tabs-border-radius: 0.35rem;
    --bs-nav-tabs-link-hover-border-color: #c9cfd5;
    --bs-nav-tabs-link-active-color: #6e707e;
    --bs-nav-tabs-link-active-bg: #fff;
    --bs-nav-tabs-link-active-border-color: #c9cfd5 #c9cfd5 #fff #c9cfd5;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    color: var(--bs-nav-tabs-link-active-color);
    background-color: var(--bs-nav-tabs-link-active-bg);
    border-color: var(--bs-nav-tabs-link-active-border-color);
}

/* .nav-tab-flow */
.nav-tabs-flow {
    margin: 0 20px;
    flex-wrap: wrap;
    border: 0;
}
.nav-tabs-flow .nav-link {
    flex: 1;
    border-radius: 0;
    background-color: #ddd;
    padding: 15px 0px 15px 20px;
    position: relative;
    text-align: center;
    color: inherit;
    font-size: 1rem;
    border: 0!important;
    z-index: 10;
    font-weight: bold;
    color: #aaa;
    white-space: nowrap;
}
.nav-tabs-flow .nav-link:nth-child(2) {
    z-index: 9;
}
.nav-tabs-flow .nav-link:nth-child(3) {
    z-index: 8;
}
.nav-tabs-flow .nav-link:nth-child(4) {
    z-index: 7;
}
.nav-tabs-flow .nav-link:nth-child(5) {
    z-index: 6;
}
.nav-tabs-flow .nav-link:after {
    content: '';
    display: block;
    width: 37px;
    height: 37px;
    background-color: #ddd;
    position: absolute;
    right: -20px;
    top: 8px;
    transform: rotate(45deg);
    z-index: -1;
    border: solid 1px #fff!important;
    border-left: 0!important;
    border-bottom: 0!important;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;
}
.nav-tabs-flow .nav-link.active,
.nav-tabs-flow .nav-link:hover {
    border: 0 !important;
    background-color: #ece07c;
    color: #e88a37;
    font-weight: bold;
}
.nav-tabs-flow .nav-link.active:after,
.nav-tabs-flow .nav-link:hover:after {
    background-color: #ece07c;
    border: solid 1px #fff!important;
    border-left: 0!important;
    border-bottom: 0!important;
}

/* #wrapper */
#wrapper {
    margin-top: 1rem;
    gap: 20px;
    min-height: calc(100vh - 246px);
}

/* #content */
#content {
    flex-basis: 0;
    flex-grow: 1;
}
#content .content-header {
    display: flex;
    justify-content: space-between;
}
#content .content-header h2 {
    font-size: 1.5rem;
    font-weight: bold;
}

/* .tool-block */
.tool-block {
    text-align: right;
}
.search-form + .tool-block{
    margin: 10px 0;
}
.tool-block .btn {
    font-size: 0.9rem;
    padding: 0;
    margin: 0 0.4rem;
    line-height: 1;
    transition: all 0.2s ease;
}
.tool-block ul {
    margin: 0;
}
.tool-block ul li .btn:hover {
    color: #f55454!important;
}
.tool-block ul {
    list-style: none;
    padding: 0;
}
.tool-block ul li {
    display: inline-block;
    margin: 0 0 0 4px;
}
.tool-block ul li:first-child {
    border-left-width: 1px;
}
.tool-block ul li > * {
    vertical-align: middle;
}
.tool-block .btn {
    margin: 0;
}

/* navbar */
.navbar {
    height: auto;
}

/* header */
.topbar {
    padding: 0;
}
.topbar .logo img {
    height: 50px;
}
.topbar .navbar-brand {
    padding: 0;
}

.topbar .nav-item .nav-link i {
    font-size: 1.5rem;
    margin: 0;
}
.topbar .nav-item .nav-link i + .link-text {
    margin-left: 5px;
}

#gnav .container {
    justify-content: center;
}
#gnav .navbar-nav {
    flex-direction: row;
}
#gnav .dropdown-menu {
    padding: 0;
    border-radius: 0;
}
#gnav .dropdown-menu .dropdown-item {
    padding: 0;
}
#gnav .dropdown-menu a {
    text-decoration: none;
    color: inherit;
    padding: 8px 16px;
}
.navbar .nav-mypage .staff-info {
}
.navbar .nav-mypage .staff-info .staff-name-text {
    display: block;
}
.navbar .nav-mypage .staff-info .staff-name-company {
    display: block;
    font-size: 10px;
}
.navbar .nav-mypage .staff-info .staff-image {
    margin-left: 8px;
    width: 40px;
    height: 40px;
    overflow: hidden;
}
.navbar .nav-mypage .staff-info .staff-image img {
    width: 40px;
    height: 40px;
    object-fit: cover;
}
#system-version {
    top: 19px;
    transform: scale(0.6);
    position: relative;
    left: -28px;
}

/* card */
.card {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-border-width: 1px;
    --bs-card-border-color: #c9cfd5;
    --bs-card-border-radius: 0.35rem;
    --bs-card-box-shadow: ;
    --bs-card-inner-border-radius: calc(0.35rem - 1px);
    --bs-card-cap-padding-y: 0.5rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-cap-bg: #f8f9fc;
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: #fff;
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 0.75rem;
}

/**
 * .sidebar
 * #sidebar .sidebarは同じです
 * bootstrapに.sidebarが定義されているため両方定義しています
 */
.btn-toggle-sidemenu {
    display: none;
}
#sidebar {
    width: 220px !important;
    min-height: auto;
}
#sidebar label {
    word-break: break-all;
}
.sidebar {
    align-items: flex-start;
}
.sidebar .item-pic {
    text-align: center;
    padding: 1rem;
}
.sidebar .item-pic img {
    width: 150px;
    height: 150px;
}
.sidebar .item-card.staff .item-pic img {
    border-radius: 50%;
}
.sidebar .item-name {
    text-align: center;
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0;
}
.sidebar .item-name a {
    text-decoration: none;
    color: inherit;
}
.sidebar .item-company {
    font-size: 0.7rem;
    margin: 4px 0 0;
    text-align: center;
}
.sidebar .item-attrs {
    font-size: 0.75rem;
    text-align: center;
    line-height: 1.75;
}
.sidebar h3 {
}
.sidebar h4 {
    font-size: 0.8rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 0.3rem;
}
.sidebar .accordion-body {
    padding: 0.75rem;
}
.sidebar .accordion-item {
    width: 100%;
}
.sidebar .form-block {
}
.sidebar .form-block +  .form-block {
    padding-top: 10px;
}
.sidebar .status-block {
}
.sidebar .status-block .status-name {
    margin: 0;
    text-align: center;
    background-color: #eaeaea;
    padding: 8px;
}
.sidebar .status-block .btn-block {
    padding: 0;
    margin: 8px 0 0;
}
.sidebar .btn-block {
    text-align: center;
    padding: 1rem 0;
}
.sidebar .keyword-block {
    margin: 0.5rem 0 0;
}
.sidebar .keyword-block h3 {

}
.sidebar .keyword-block ul {
}
.sidebar .keyword-block ul li {
}
.sidebar .keyword-block ul li a {
}
.sidebar .keyword-block ul li a:hover {
}
.sidebar .list-group {
    border-radius: 0;
}
.sidebar .list-group a {
    text-decoration: none;
}
.sidebar .navbar {
}
.sidebar .card + .navbar,
.sidebar .navbar + .navbar {
    margin-top: 1rem;
}

/* message-block */
.message-block {

}
.message-block .message {
    background: repeating-linear-gradient(-45deg, #fdd 0px, #fdd 3px, #fcc 3px, #fcc 6px);
    width: 100%;
    max-width: 1002px;
    margin: 0 0 20px;
    padding: 12px;
    border-radius: 3px;
    font-size: 1rem;
    color: #c77;
}

/* breadcrumb */
.navbar-breadcrumb {
    margin-top: 1.2rem;
    --bs-breadcrumb-divider: '>';
}
.navbar-breadcrumb .breadcrumb {
    margin: 0;
}

.breadcrumb li {

}
.breadcrumb li + li {

}
.breadcrumb li + li:before {
    content: '>';
    margin: 0 0.5rem;
}
.breadcrumb li a {
    text-decoration: none;
}

/**
 * .card-shadow
 * 主にログイン画面や会員登録画面で使用
 */
.card-shadow .card-content {
    padding: 4rem 4rem 3.5rem 0 !important
}
.card-shadow .card-content h2 {
    font-size: 1.5rem;
    font-weight: bold;
    padding: 1rem 0;
}
.card-shadow .card-content h2.font-size-xl {
    font-size: 2.5rem;
}
.card-shadow .card-content h3 {
    font-size: 1.2rem;
    font-weight: bold;
}
.card-shadow .card-content h4 {
}
.card-shadow .card-content h5 {
}
.card-shadow .card-content p {
}
.card-shadow .card-content ul {
    padding-left: 20px;
}
.card-shadow .card-content ul li {
}
.card-shadow .card-content .alert {
    margin-top: 2rem;
}
.card-shadow .bg-login-image {
    background-position: center;
    background-size: 100%;
    background-repeat: no-repeat;
}

/* info-card */
.info-card .card-header {
    min-height: 40px;
}
.info-card .card-body {
    overflow-y: scroll;
    height: 380px;
}
.info-card .item-datetime {
    width: 110px;
}

/**
 * itemクラスは全データ共通の構造用の定義です
 * データ用のクラスを共通化することで
 * 全体の共通化による効率化、整理されたHTML構造、実装時の設計負担軽減を目指します
 * ■HTMLの定義方法
 * <div class="card item item-card engineer">
 *   <h3 class="item-name">なまえ</h3>
 *   <p class="item-description>わわわ</p>
 *   <div class="item-pic">
 *     <img src="" alt="">
 * ■定義方法
 * .item・・・全画面共通
 * .item-card・・・１枚のカード
 * .item-card-list・・・カードのリスト
 * .item.engineer・・・学生のみ
 * .item.project・・・求人のみ
 * ■レイアウト用
 * item内をレイアウトしたい場合は以下のグルーピング用クラスをご使用ください
 * ・item-header
 * ・item-body
 * ・item-footer
 */

/* .item */
.item .item-pic {
    overflow: hidden;
    text-align: center;
}
.item.news .item-pic::after {
    font-family: 'Material Icons';
    /*content: "\e625";*/
    content: "\e05e";
    color: #f00;
    position: absolute;
    font-size: 22px;
    margin-top: -16px;
    margin-left: -8px;
}
.item.news.news-right .item-pic::after {
    margin-left: -72px;
    /* transform: scaleX(-1); */
}
.item .item-pic img {
    object-fit: cover;
    max-width: 100%;
}
.item .item-like {
    border: 0;
    background: none;
    text-align: center;
    margin: 4px 0 0;
}
.item .item-attrs {
    padding: 0;
    margin: 0;
    font-size: 0.75rem;
}
.item .item-attrs li {
    display: inline-block;
    margin-right: 10px;
}
.item .item-attrs li i {
    font-size: 1rem;
    color: #b99f76;
}
.item .item-attrs .item-attr-name {
}
.item .item-attrs .item-attr-name:after {
    content: ":";
    margin: 0 4px;
}
.item .item-attrs .item-attr-value {
}
.item .item-tags {
    display: flex;
    margin: 8px 0 0;
}
.item .item-tags .item-tags-title {
    background-color: #eee;
    font-size: 0.75rem;
    margin: 0 8px 0 0;
    padding: 4px;
}
.item .item-tags .item-tags-list {
    flex-grow: 1;
}
.item .item-tags .item-tag {
}
.item .item-tags .item-tag:hover {
}


/* .item-card-list */
.item-card-list .card {
    display: block;
    transition: all 0.2s ease;
    box-shadow: 0 .125rem .25rem 0 rgba(58,59,69,.2) !important;
}
.item-card-list .card:hover {
    background-color: #fafafa;
    transition: all 0.2s ease;
    cursor: pointer;
}
.item-card-list .card p {
    margin: 0;
}
.item-card-list .card a:hover {
    color: var(--bs-primary);
}
.item-card-list .card img {
    transition: all 0.2s ease;
}
.item-card-list .card:hover img {
    transform: scale(1.05);
}
.item-card-list .card .item-header {
}
.item-card-list .card .item-body {
    margin: 0 0 0 1rem;
    flex: 1;
}
.item-card-list .card .card-body {
    display: flex;
}
.item-card-list .card .item-footer {
}
.item-card-list .card .item-name {
    font-size: 1.3rem;
    font-weight: bold;
    word-break: break-all;
}
.item-card-list .card .item-pic img {
    width: 130px;
    height: 130px;
}
.item-card-list .card .item-like {
    margin: 4px 0 0;
}
.item-card-list .card .item-like i {
    margin: 0 4px 0 0;
}
.item-card-list .card hr {
    margin: 0.75rem 0;
}
.item-card-list .card-header {
    background: none;
    border: 0;
    padding: 0;
    display: flex;
    justify-content: end;
}
.item-card-list .card-header +  .card-body {
    margin-top: -32px;
}
.item-card-list .card-header .tool-block {
    padding: 0.3rem 0.6rem;
    display: block;
    position: relative;
}
.item-card-list .card-header .tool-block ul {
    margin: 0;
    height: 22px;
}
.item-card-list .card-header .tool-block ul li {
    border: 0;
}
.item-card-list .card-header .tool-block ul li .btn,
.item-card-list .card-header .tool-block ul li span {
    font-size: 0.75rem;
    color: #aaa;
}
.item-card-list .card-header .tool-block ul li .btn:hover {
    font-weight: 700;
}
.item-card-list .card-header .tool-block ul li .btn.btn-alert {
    color: #f55454!important;
    font-weight: 700;
}
.item-card-list .item-check {
    padding: 0 7px 7px 0;
    background-color: #fff;
    position: absolute;
    line-height: 1;
    border-radius: 5px;
    left: 8px;
    top: 8px;
    z-index: 1;
}
.item-card-list .item-check .form-check-input {
    width: 20px;
    height: 20px;

}

/* .item-card-list-standard */
.item-card-list-standard {
}

/* .item-card */
.item-card {
    border-radius: 0;
}

/* .card.matching */
.matching {
}
.matching .card-body {
    display: flex;
    justify-content: space-between;
}
.matching .matching-column {
    display: flex;
    flex-basis: 40%;
    align-items: center;
    text-align: center;
    max-width: 350px;
}
.matching .matching-column.matching-header {
    display: flex;
    flex-grow: 1;
    flex-basis: 0;
    justify-content: center;
    align-items: center;
    border: solid 1px #ccc;
    border-top: 0;
    border-bottom: 0;
    padding: 1rem 0;
    margin: 0 1rem;
    max-width: none;
    padding: 0 1rem;
}
.matching .matching-column.matching-header .item {
    width: 100%;
}
.matching .items {
    list-style: none;
    padding: 0;
    margin: 0;
}
.matching .items .item {
    display: flex;
}
.matching .items .item + .item {
    margin-top: 2px;
}
.matching .items .item a {
    display: flex;
    align-items: center;
}
.matching .items .item-pic img {
    width: 30px;
    height: 30px;
    margin-right: 4px;
    border-radius: 50%;
    border: solid 1px #ddd;
    max-width: none;
}
.matching:hover .item-pic img{
    transform: none;
}
.matching .items .item-name {
    margin: 0;
    font-size: 1rem;
    font-weight: normal;
}
.matching .item.staff {
}
.matching .item.staff .item-pic img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
}
.matching .item.staff .item-name {
    font-size: 1rem;
    font-weight: normal;
    margin-top: 4px;
}
.matching .item.matching-info .item-name {
}
.matching .item.matching-info .item-status {
}
.matching .item.matching-info .item-status-name {
    background-color: #eee;
    margin: 0 20px;
}
.matching .item.matching-info .item-status-pic {
    padding: 20px 0 10px;
}
.matching .item.matching-info .item-status-pic i {
    font-style: normal;
	font-family: "Material Icons";
}
.matching .item.matching-info .item-status-pic .item-status-icon:after {
    /* https://fonts.google.com/icons */
    font-size: 2.5rem;
    display: inline-block;
}
/* 成立 */
.matching.status-progress .item-status-icon:after {
	content: '\e91f';
}
.matching.status-success .item-status-icon:after {
	content: '\f7f9';
    font-family: 'Material Symbols Outlined';
}
.matching.status-dismiss .item-status-icon:after {
	content: '\e747';
    font-family: 'Material Symbols Outlined';
}
.matching.status-progress.status-progress-other .item.matching-info .item-status-pic .item-status-icon {
    transform: scaleX(-1);
}
.matching .item-status-icon-badge:after {
    color: #f00;
    position: absolute;
    font-size: 22px;
    margin-top: -8px;
    margin-left: 0px;
}
.matching.status-new .item-status-icon-badge:after {
    content: "\e05e";
}

/* chat-viewer */
.chat-viewer {
    border-radius: 15px;
    border: 0;
}
.chat-viewer .card-header {
    display: flex;
    background-color: #074195;
    color: #fff;
    justify-content: space-between;
    padding: 1rem;
    align-items: center;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}
.chat-viewer .card-header .card-title {
    margin: 0;
    font-size: 1rem;
}
.chat-viewer .card-header a {
    color: #fff;
}
.chat-viewer .card-body {
    border: solid 1px var(--bs-card-border-color);
    border-top: 0;
    border-bottom: 0;
    padding: 30px;
    overflow-y: auto;
    max-height: 500px;
}
.chat-message {
    display: flex;
    margin: 1rem 0em;
}
.chat-message .item-content {
    max-width: 800px;
    min-width: 150px;
}
.chat-message .item-info {
    color: #999;
    margin: 0 8px 4px;
}
.chat-message .item-info span + span{
    margin-left: 10px;
}
.chat-message .item-pic {
}
.chat-message .item-pic img {
    object-fit: cover;
    width: 60px;
    height: 60px;
    border-radius: 50%;
}
.chat-message .item-text {
    padding: 1rem;
    border-radius: 15px;
}
.chat-message .item-text p {
    margin: 0;
    font-size: 1rem;
    white-space: pre-wrap;
}
.chat-message.own {
    justify-content: end;
}
.chat-message.own .item-text {
    border: solid 1px #ccc;
    background-color: #fbfbfb;
}
.chat-message.own .item-info {
    text-align: right;
}

.chat-message.other .item-text {
    background-color: rgba(57, 192, 237,.2);
}
.chat-message.own .item-text {
    text-align: right;
}
.chat-viewer .btn-block {
    margin: -12px 0 0;
    text-align: right;
}
.chat-viewer .card-footer {
    padding: 1rem;
    border: solid 1px var(--bs-card-border-color);
}
.chat-viewer .card-footer .form-label {
    margin: 0;
}
.chat-viewer .system-message {
    margin: 0;
}
.chat-viewer .system-first-message {
    margin: 0 0 40px;
}
.chat-viewer .system-last-message {
    margin: 40px 0 0;
}
.chat-viewer .system-message p {
    margin: 0;
}
.chat-viewer .system-message .message-text {
    margin: 4px 0 0;
}

/* .message-accordion */
.message-accordion {
    overflow: hidden;
    height: 0;
    opacity: 0;
    transition: all 0.3s ease-out;
}
.message-accordion.open {
    overflow: hidden;
    opacity: 1;
}
.btn-accordion {
    display: flex;
    justify-content: center;
    border: 0;
    background-color: #eee;
    color: #777;
    width: 100%;
    padding: 1rem;
    font-size: 1rem;
    margin-top: -20px;
    transition: all .2s ease-out;
}
.btn-accordion:hover {
    background-color: #bfbfbf;
    color: #fff;
}
.btn-accordion span {
    display: flex;
}
.btn-accordion span.open-text {
    display: none;
}
.btn-accordion.open span.close-text {
    display: none;
}
.btn-accordion.open span.open-text {
    display: flex;
}

/**
 * .single-page
 * １データページ共通のクラスです
 */
.single-page #content .content-body {
    margin-top: 3rem;
}
.single-page .entity-header .item-name {
    font-size: 1.8rem;
    font-weight: bold;
}
.single-page .entity-header .header-border {
    margin: 1.5rem 0 0;
}
.single-page .entity-header .item-attrs {
    font-size: 1rem;
}
.single-page .entity-header .item-attrs + hr {
}
.single-page .entity-header .item-description {
    font-size: 1rem;
    color: var(--bs-gray-700);
}
.single-page .entity-header + .entity-body {
    padding-top: 3rem;
}
.single-page .entity-body {
}
.single-page .entity-body hr {
}
.single-page .items + .items {
    margin-top: 2rem;
}
.single-page .items h4 {
    font-size: 1.25rem;
    font-weight: bold;
    border-left: solid 0.4rem #8bd7f0;
    padding: 0 0 0 10px;
}
.single-page .items .btn-block {
    text-align: right;
}
.single-page .items .btn-block .btn {
    border: solid 1px #ccc;
    box-shadow: none;
    background-color: transparent;
    color: inherit;
    text-align: right;
    padding: 4px 10px;
    font-size: 0.8rem;
}
.single-page .items .item-table-list thead th {
    text-align: center;
    vertical-align: middle;
    padding: 1.25rem .5rem;
}
.single-page .items .item-table-list thead td {
    white-space: break-spaces;
}
.single-page .items .item-table-list h5 {
    font-size: 10px;
    margin: 0 0 2px;
}
.single-page .items .item-table-list * + h5 {
    margin-top: 8px;
}
.single-page .items .item-table-list .tags {
}
.single-page .items .item-table-list .tags .tag {
    font-size: 11px;
    padding: 2px 10px;
    border-radius: 10px;
}
.single-page .items .item-table-list .tags li + li {
}
.single-page .items .item-table-list .item-no {
    text-align: center;
}
.single-page .items .item-table-list .item-name {
    width: 200px;
    text-align: center;
}
.single-page .items .item-table-list .item-years {
    width: 100px;
    text-align: center;
}
.single-page .items .item-table-list .item-btns {
    width: 50px;
    text-align: center;
}

.single-page .items .item-table-list .item-btns + .actions{

        width: 100px;
    text-align: center;
}

.single-page .items .item-table-list .item-btns .btn {
    font-size: 0.75rem;
    padding: 0;
    white-space: nowrap;
}
.single-page .items .item-table-list tr.template {
    display: none;
}

/* add-select-tag（タグ追加） */
.add-select-tag {
}
.add-select-tag .add-value-block {
    margin: 2px 0 10px;
}
.add-select-tag .add-value-block .btn-add-value:hover,
.add-select-tag .add-value-block .btn-add-value[aria-expanded=true] {
    color: var(--bs-link-color);
}
.add-value-block .btn-add-value {
    border: 0;
    background: 0;
    padding: 0;
    color: #aaa;
    text-decoration: underline;
}

/* .item-edit-list */
.item-edit-list .list-head label {
    background-color: #eaecf4;
}

.item-edit-list .list-body label {
    border: solid 1px #d1d3e2 !important;
}

/* icd-edit-list */
.icd-edit-list .row.hide {
    opacity: 0.4;
    display: none;
}
.icd-edit-list .form-control {
    display: none;
}
.icd-select-block .select-icdmiddle .option {
    display: none;
}
.icd-select-block .select-icdmiddle .option[data-icdmajor-id="0"] {
    /* display: block; */
}

/* search list */
.search-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
}
.search-info .search-info-params {
    display: flex;
}
.search-info .search-info-result {
    flex: 1;
}
.search-info .search-info-params .search-select {
    font-size: 0.75rem;
    height: 32px;
    width: 110px;
}
.search-info .search-info-params * + .search-select {
    margin-left: 8px;
}
.search-result {
    margin-top: 1rem;
}
.search-result .col + .col {
    margin-top: 1rem;
}
.search-result a {
    text-decoration: none;
    color: inherit;
}

/* .pagination */
.pagination-block {
    margin: 2rem 0 0;
}

/* Paginator */
.paginator {
    display: flex;
    justify-content: space-between;
    margin: 1rem 0;
}
.pagination {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    flex-wrap: wrap;
}
.prev.disabled a,
.next.disabled a {
    cursor: not-allowed;
    color: #606c76;
}
.pagination li a {
    position: relative;
    display: block;
    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
    font-size: var(--bs-pagination-font-size);
    color: var(--bs-pagination-color);
    text-decoration: none;
    background-color: var(--bs-pagination-bg);
    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out
}
.pagination li.active a {
    background-color: var(--bs-primary);
    color: #fff;
}
.pagination li:hover a {
    background-color: var(--bs-info);
    color: #fff;
}

/* .modal */
.modal .modal-header {
    padding: 10px;
}
.modal .modal-title {
    font-size: 1rem;
}
.modal .message {
    color: #f00;
}
.modal-body {
    /* min-height: 130px; */
}
.modal .modal-footer {
    padding: 10px;
}

.modal .keyword-block {
    margin-top: 1rem;
}
.modal .keyword-block h4 {
    font-size: 1rem;
    font-weight: bold;
}

.modal .form-block + .form-block {
    margin-top: 1rem;
}
.modal .inline-group {
    display: flex;
}

.modal.add .btn-delete {
    display: none;
}

/* .error */
#content.error-content {
    text-align: center;
    max-width: none;
    padding: 4rem 0;
}
#content.error-content .error-header {
}
#content.error-content .error-body {
}
#content.error-content .error-code {
    font-size: 5rem;
    color: #ccc;
    font-weight: bold;
}
#content.error-content .error-message {
    margin-bottom: 2.5rem;
}
#content.error-content .error-message-sub {
    font-size: 1rem;
}

/* footer */
footer.sticky-footer {
    padding: 1.75rem 0;
}
footer .container {
    display: flex;
    max-width: none;
    justify-content: end;
    padding: 0 80px 0 0;
}
footer .fnav {
    margin: 0 12px 0 0;
    padding: 0;
    list-style: none;
    font-size: 0.75rem;
}
footer .fnav a {
    color: inherit;
    text-decoration: none;
}
footer a:hover {
    opacity: 0.5;
    transition: all 0.1s ease-out;
}
footer.sticky-footer .copyright {
    font-family: sans-serif;
    font-size: 0.75rem;
}
footer.sticky-footer .copyright a {
    text-decoration: none;
    color: inherit;
}

.bg-academy-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(100, 150, 225) !important
}

.list-group-item.active {
    z-index: 2;
    color: var(--bs-list-group-active-color);
    background-color:  rgba(100, 150, 225) !important;
    border-color: rgba(100, 150, 225) !important;
}

.single-page .items h4 {
    font-size: 1.25rem;
    font-weight: bold;
    border-left: solid 0.4rem #64b900;
    padding: 0 0 0 10px;
}

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(100, 150, 225) !important;
}

.breadcrumb li a{
    color: rgba(100, 150, 225) !important;
    text-decoration: none;
}

#nav-home-tab:not(.active) ,#nav-profile-tab:not(.active), #nav-disabled-tab:not(.active), #nav-business-tab:not(.active){
    color: rgba(100, 150, 225) !important;
    text-decoration: none;
}

/*
.accordion-button{
    color: rgba(30,180,130) !important; 
}
*/