@charset "UTF-8";

/* CSS変数定義はvariable.css参照 */
.theme-hospital {
    --theme--color: var(--hospital-theme--color);
    --theme--border-color: var(--hospital-theme--border-color);
}
.theme-staff {
    --theme--color: var(--staff-theme--color);
    --theme--border-color: var(--hospital-theme--border-color);
}
.theme-organization {
    --theme--color: var(--organization-theme--color);
}
.theme-facility {
    --theme--color: var(--facility-theme--color);
}
.theme-admin {
    --theme--color: var(--admin-theme--color);
}

/******************************************************************************
 * Theme：　各テーマカラーに追従するスタイル
******************************************************************************/
:is(.nav-link, .nav-link:visited) {
    color: var( --theme--color);
}

/******************************************************************************
 * Theme：　各テーマ固有のスタイルの上書きベースカラー設定
******************************************************************************/
:where(.theme-admin .button-basic).action-button::before {
    color: #ffffff;
}
:where(.theme-admin .button-basic).action-button:hover::before {
    color: var(--theme--color);
}
.button--hospital-theme-color {
    border-color: var(--hospital-theme--color) !important;
    color: #ffffff !important;
    background-color: var(--hospital-theme--color) !important;
}
.button--hospital-theme-color:hover {
    color: var(--hospital-theme--color) !important;
    background-color: #ffffff !important;
}
.button--hospital-theme-color::before {
    color: #ffffff;
}
.button--hospital-theme-color:hover::before {
    color: var(--hospital-theme--color);
}
.button--organization-theme-color {
    border-color: var(--organization-theme--color) !important;
    color: #ffffff !important;
    background-color: var(--organization-theme--color) !important;
}
.button--organization-theme-color:hover {
    color: var(--organization-theme--color) !important;
    background-color: #ffffff !important;
}
.button--organization-theme-color::before {
    color: #ffffff !important;
}
.button--organization-theme-color:hover::before {
    color: var(--organization-theme--color) !important;
}

/** 管理者
******************************************************************************/
.theme-admin :is(.header, .footer) {
    /* background: linear-gradient(to right, var(--admin-theme--color), #156ecc); */
    background-color: var(--admin-theme--color);
}
.theme-admin .button-design {
    border-color: var(--admin-theme--color);
    background-color: var(--admin-theme--color);
}
.theme-admin .button-design:hover {
    background-color: #ffffff;
    color: var(--admin-theme--color);
}
.theme-admin .button-design.dropshadow {
    filter: drop-shadow(0 5px 0px #160064);
}
.theme-admin .button-design.dropshadow:hover {
    background-color: var(--admin-theme--color);
    color: #ffffff;

    filter: drop-shadow(0 5px 0px var(--admin-theme--color));
}
.theme-admin .page-title {
    color: var(--admin-theme--color);
}
:where(.theme-admin) .page-title-container.side-line::after {
    background-color: rgba(102, 102, 102, 0.5);
}
.theme-admin .side-menu .nav-label.current, .theme-admin .side-menu .nav-label:hover {
    color: var(--admin-theme--color);
}
.theme-admin .list-table th {
    background-color: var(--admin-theme--color);
}
.theme-admin .info-list-block-heading {
    border-bottom-color: var(--admin-theme--color);
}
.theme-admin .info-list-block .info-list-block-heading .info-list-block-title {
    color: var(--admin-theme--color);
}
.theme-admin .favorite-button-icon {
    background-color: var(--admin-theme--color);
}
:where(.theme-admin .search-form) .round-label {
    color: #ffffff;
    background-color: var(--admin-theme--color);
}
:where(.theme-admin) .page-sub-title {
    color: var(--admin-theme--color);
    border-bottom-color: rgba(102, 102, 102, 0.5);
}
:where(.theme-admin) .select-design::before {
    border-top-color: var(--admin-theme--color);
}
:where(.theme-admin) .checkbox-design + label::before {
    border-color: var(--admin-theme--color);
}
:where(.theme-admin) .checkbox-design:checked + label::after {
    border-color: var(--admin-theme--color);
}

/* .button-basic.action-button */
:where(.theme-admin .button-basic).action-button {
    border-color: var(--admin-theme--color);
    background-color: var(--admin-theme--color);
    color: #ffffff;
}
:where(.theme-admin .button-basic).action-button:hover {
    color: var(--admin-theme--color);
}
:where(.theme-admin) .fixed-submit-button {
    border-color: var(--admin-theme--color);
    background-color: var(--admin-theme--color);
}

:where(.theme-admin) .page-nav-list a:is(.current, :hover) {
    border-color: var(--admin-theme--color);
    background-color: var(--admin-theme--color);
}
:where(.theme-admin) .side-menu .nav-label .nav-label-text::after {
    background-color: var(--admin-theme--color);
}
:where(.theme-admin) .pagination {
    color: var(--admin-theme--color);
}
:where(.theme-admin) .pagination .page-numbers {
    border-color: var(--admin-theme--color);
    color: var(--admin-theme--color);
}
:where(.theme-admin) .pagination :is(.page-numbers:not(.dots):hover, .page-numbers.current) {
    background-color: var(--admin-theme--color);
}
:where(.theme-admin) .pagination .w-arrow::before, :where(.theme-admin) .pagination .w-arrow::after {
    border-bottom-color: var(--admin-theme--color);
    border-left-color: var(--admin-theme--color);
}

/** 病院
******************************************************************************/
/* アカウント登録 */
:where(.theme-hospital).page-signup .main {
    background-color: var(--hospital-theme--color);
}

/** 病院・職員
******************************************************************************/
:where(.theme-hospital, .theme-staff) :is(input:not([type="checkbox"]):not([type="radio"]):focus, textarea:focus, .input-basic:focus, .input-file-design:focus) {
    border-color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .step-progress-nav li {
    border-color: var(--hospital-theme--color);
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .step-progress-nav li.current {
    background-color: var(--hospital-theme--color);
    color: #ffffff;
}
:where(.theme-hospital, .theme-staff) .step-progress-nav::after {
    background-color: var(--hospital-theme--color);
}

/* layout */
:where(.theme-hospital, .theme-staff) :is(.header, .footer) {
    background-color: var(--hospital-theme--color);
}

:where(.theme-hospital, .theme-staff):where(.page-signup) .main {
    background-color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff):where(:not(.page-signup)) :is(.nav-link,.nav-link:visited) {
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff):where(.page-signup) :is(.nav-link-consent, .nav-link-consent:visited) {
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .message-area {
    border-color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .message-area .message.message-notify {
    color: var(--hospital-theme--color);
}
/* layout:sidebar */
:where(.theme-hospital, .theme-staff) .side-menu .nav-label:is(.current, :hover) {
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .side-menu .nav-label .nav-label-text::after {
    background-color: var(--hospital-theme--color);
}
/* icon */
:where(.theme-hospital, .theme-staff) :is([class^="icon-"], [class*=" icon-"]) {
    color: var(--hospital-theme--color);
}
/* .button-basic */
:where(.theme-hospital, .theme-staff) .button-basic {
    border-color: var(--hospital-theme--color);
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .button-basic:hover {
    background-color: var(--hospital-theme--color);
    border-color: var(--hospital-theme--color);
    color: #ffffff;
}
:where(.theme-hospital, .theme-staff) .button-basic.icon::before {
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .button-basic.icon:hover::before {
    color: #ffffff;
}
:where(.theme-hospital, .theme-staff) .button-basic.button-basic-middle {
    border-color: var(--hospital-theme--color);
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .button-basic.button-basic-middle:hover,
:where(.theme-hospital, .theme-staff) .button-basic.button-basic-middle:hover::before {
    color: #ffffff;
}
:where(.theme-hospital, .theme-staff) .button-basic:not([disabled]):not(.button-basic-disabled):hover .icon:before {
    color: #ffffff !important;
}

/* .button-basic.action-button */
:where(.theme-hospital, .theme-staff) .button-basic.action-button {
    background-color: var(--hospital-theme--color);
    color: #ffffff;
}
:where(.theme-hospital, .theme-staff) .button-basic.action-button.icon::before {
    color: #ffffff;
}
:where(.theme-hospital, .theme-staff) .button-basic.action-button:hover {
    background-color: #ffffff;
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .button-basic.action-button:hover::before {
    color: var(--hospital-theme--color) !important;
}

:where(.theme-hospital, .theme-staff) .button-basic.action-button.action-button-reverse {
    background-color: #ffffff;
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .button-basic.action-button.action-button-reverse.icon::before {
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .button-basic.action-button.action-button-reverse:hover {
    background-color: var(--hospital-theme--color);
    color: #ffffff;
}
:where(.theme-hospital, .theme-staff) .button-basic.action-button.action-button-reverse:hover::before {
    color: #ffffff !important;
}

/* .favorite-button */
:where(.theme-hospital, .theme-staff) :where(.main-container) .favorite-button.icon:before {
    color: #cccccc;
}
:where(.theme-hospital, .theme-staff) .button-basic.favorite-button.registed.icon {
    border-color: var(--hospital-theme--color);
    background-color: var(--hospital-theme--color);
    color: #ffffff;
}
:where(.theme-hospital, .theme-staff) .button-basic.favorite-button.registed.icon::before {
    color: #ffffff;
}

/* .button-design */
/* :where(.theme-hospital, .theme-staff) .button-design {
    border-color: var(--hospital-theme--color);
    background-color: var(--hospital-theme--color);
} */
.button-design {
    border-color: var(--theme--color);
    background-color: var(--theme--color);
}
:where(.theme-hospital, .theme-staff) .button-design:hover {
    background-color: #ffffff;
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .button-design.dropshadow {
    filter: drop-shadow(0 5px 0px #4070d4);
}
:where(.theme-hospital, .theme-staff) .button-design.dropshadow:hover {
    background-color: var(--hospital-theme--color);
    color: #ffffff;

    filter: drop-shadow(0 5px 0px var(--hospital-theme--color));
}
:where(.theme-hospital, .theme-staff) .select-design::before {
    border-top-color: var(--hospital-theme--color);
}
/* .round-button */
:where(.theme-hospital, .theme-staff) .round-button {
    color: var(--hospital-theme--color);
    border-color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .round-button:hover {
    background-color: var(--hospital-theme--color);
}
/* module:checkbox */
:where(.theme-hospital, .theme-staff) .checkbox-design + label::before {
    border-color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .checkbox-design:checked + label::after {
    border-color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .radio-design + label::before {
    border-color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .radio-design:checked + label::after {
    border-color: var(--hospital-theme--color);
    background-color: var(--hospital-theme--color);
}

/* module:pagination */
:where(.theme-hospital, .theme-staff) .pagination {
    color: var(--staff-theme--color);
}
:where(.theme-hospital, .theme-staff) .pagination .page-numbers {
    border-color: var(--staff-theme--color);
    color: var(--staff-theme--color);
}
:where(.theme-hospital, .theme-staff) .pagination .page-numbers:is(:not(.dots):hover, .current) {
    background-color: var(--staff-theme--color);
    color: #ffffff;
}
:where(.theme-hospital, .theme-staff) .pagination .w-arrow:is(::before,::after) {
    border-color: transparent transparent var(--staff-theme--color) var(--staff-theme--color);
}
:where(.theme-hospital, .theme-staff) .page-nav-list a:is(.current,:hover) {
    border-color: var(--hospital-theme--color);
    background-color: var(--hospital-theme--color);
}
/* page-module */
:where(.theme-hospital, .theme-staff) .page-title-container {
    border-bottom-color: #e2eff8;
}
:where(.theme-hospital, .theme-staff) .page-title {
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .page-sub-title {
    border-bottom-color: #e2eff8;
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .list-table th {
    background-color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .search-form-title {
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .search-form-title .icon::before {
    color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .review-comment__item-header {
    border-bottom-color: var(--hospital-theme--color);
}
:where(.theme-hospital, .theme-staff) .room-capacity {
    color: var(--hospital-theme--color);
}

/** 運営組織・介護施設
******************************************************************************/
/* layout */
:where(.theme-facility, .theme-organization) :is(.header, .footer) {
    background-color: var(--facility-theme--color);
}
/* .icon */
:where(.theme-facility, .theme-organization) .icon-qrcode:before {
    color: var(--facility-theme--color);
}
:where(.theme-facility, .theme-organization) .symbol-fold:is(::before, ::after) {
    border-color: var(--facility-theme--color);
}
/* button系 */
/* .button-design */
:where(.theme-facility, .theme-organization) .button-design:hover {
    background-color: #ffffff;
    color: var(--facility-theme--color);
}
:where(.theme-facility, .theme-organization) .button-design.dropshadow {
    filter: drop-shadow(0 5px 0px #4fa292);
}
:where(.theme-facility, .theme-organization) .button-design.dropshadow:hover {
    background-color: var(--facility-theme--color);
    color: #ffffff;
    filter: drop-shadow(0 5px 0px var(--facility-theme--color));
}
:where(.theme-facility, .theme-organization) .button-basic.qrcode-button {
    border-color: var(--facility-theme--color);
    color: var(--facility-theme--color);
    background-color: #fff;
}
:where(.theme-facility, .theme-organization) .button-basic.qrcode-button:hover {
    background-color: var(--facility-theme--color);
}
:where(.theme-facility, .theme-organization) .round-button {
    color: var(--facility-theme--color);
    border-color: var(--facility-theme--color);
}
:where(.theme-facility, .theme-organization) .fixed-submit-button {
    border-color: var(--facility-theme--color);
    background-color: var(--facility-theme--color);
}

/* select */
:where(.theme-facility, .theme-organization) .select-active-area :is(a:before, .mark::before, .mark::after) {
    background-color: var(--facility-theme--color);
}

:where(.theme-facility, .theme-organization) .page-title {
    color: var(--facility-theme--color);
}
:where(.theme-facility, .theme-organization) .side-menu .nav-label:is(.current,:hover) {
    color: var(--facility-theme--color);
}
:where(.theme-facility, .theme-organization) .list-table th {
    background-color: var(--facility-theme--color);
}
:where(.theme-facility, .theme-organization) .info-link__text {
    color: var(--facility-theme--color);
    text-decoration: underline;
}
:where(.theme-facility, .theme-organization) .info-link::before {
    margin-right: 1em;
    color: var(--facility-theme--color);
}
:where(.theme-facility, .theme-organization) .search-form-title {
    color: var(--facility-theme--color);
}
:where(.theme-facility, .theme-organization) .list-facility__item__header {
    border-bottom-color: #E2F8F7;
}