@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ★★★ブックマーク関連CSS ===== ここから ===== */
button.simplefavorite-button { /* ブックマークボタンの角丸化 */
    border-radius: 5px;
}
li.fav-list { /* マイページのブックマークをflex化 */
    display: flex;
    align-items: center;
}
li.fav-list p:nth-child(2) {
    flex-grow: 1;
}

/* 固定ページではブックマークボタン非表示 */
.page .simplefavorite-button {
    display: none;
}

/* ★★★ブックマーク関連CSS ===== ここまで ===== */


/* ★★★TOPページ用CSS ===== ここから ===== */
/* ★★看護マニュアルNotion風表レイアウト */
.notion-table {
    overflow-x: auto;
    white-space: baseline;
}
.notion-table table {
    width: 100%;
    min-width: 1000px;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    color: #333;
}
.notion-table a {
    color: #333;
}
.notion-table th, .notion-table td {
    padding: 5px;
    border-bottom: 1px solid #e0e0e0;
    text-align: left;
}
.notion-table th.sortable.asc:after {
    content: " ▲";
}

.notion-table th.sortable.desc:after {
    content: " ▼";
}
.notion-table th {
    background-color: #f4f4f4;
}
.notion-button-main {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
}
.notion-button {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    min-width: 0px;
    max-width: 100%;
    height: 20px;
    border-radius: 3px;
    font-size: 14px;
    line-height: 120%;
    color: #04384c;
    background: #c5d8e0;
    margin: 3px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 5px;
}
.notion-table td:last-child{ /* 一番右の列の指定 */
    border-right:0;
}
.notion-table th:last-child{ /* 一番右の列の指定 */
    border-right:0;
}
.notion-table td:first-child{ /* 一番左の列の指定 */
    border-left:0;
}
.notion-table th:first-child{ /* 一番左の列の指定 */
    border-left:0;
}
.notion_title_txt {
    text-decoration: underline 1px;
    text-decoration-color: #b5b5b5;
    text-underline-offset: .2em;
}

/* ★★★TOPページ用CSS ===== ここまで ===== */

/* ★★★手技書用CSS ===== ここから ===== */
.manual_div {
    padding-bottom: 3em;
}
/* ★★チェックボックス */
.chk_manual {
    border: none;
}
fieldset.chk_manual {
    padding: 0 0 0 .5em;
}
.chk_manual label {
    display: flex;
    align-items: center;
    position: relative;
    margin-top: 0.2em;
    cursor: pointer;
}
.chk_manual label::before,
.chk_manual label:has(:checked)::after {
    content: '';
}
.chk_manual label::before {
    min-width: 12px;
    min-height: 12px;
    border-radius: 50%;
    border: solid 1px #04384c;
    background-color: #c5d8e0;
}
.chk_manual label:has(:checked)::before {
    background-color: #e6edf3;
}
.chk_manual label:has(:checked)::after {
    position: absolute;
    top: 40%;
    left: -0.5%;
    transform: rotate(45deg) translateY(-50%) translateX(-50%);
    width: 13px;
    height: 20px;
    border: solid #04384c;
    border-width: 0px 3.5px 3.5px 0;
}
.chk_manual input {
    opacity: 0;
}
/* ★★コンテナ・ME機器 */
.cnt_div {
    padding-bottom: 3em;
}
.me_div {
    padding-bottom: 3em;
}

/* ★★関連マニュアル */
.report_body {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}

/* ★★集め物リスト */
.collect-item-var {
    box-sizing: border-box;
    margin-top: 50px;
    padding-bottom: 1em;
}
/* 術野に出す物品の背景色 */
tr.goods_put{
    box-shadow: inset 18px 0px 0px -10px #97b6c4;
    background: linear-gradient(135deg, transparent 25%, rgba(5, 70, 95, 0.05) 25%, rgba(5, 70, 95, 0.05) 50%, transparent 50%, transparent 75%, rgba(5, 70, 95, 0.05) 75%, rgba(5, 70, 95, 0.05));
    background-size: 4px 4px;
}
/* 集めものリスト 術野に出す物品説明用 */
.yoseru {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 2em;
}
.container {
    width: 1.2em;
}
.item-box {
    width: 200%;
    padding-top: 100%;
    box-shadow: inset 18px 0px 0px -10px #97b6c4;
    background: linear-gradient(135deg, transparent 25%, rgba(5, 70, 95, 0.05) 25%, rgba(5, 70, 95, 0.05) 50%, transparent 50%, transparent 75%, rgba(5, 70, 95, 0.05) 75%, rgba(5, 70, 95, 0.05));
    background-size: 4px 4px;
    border: solid 1px #ddd;
}

/* ★★PDF資料プラグイン */
div#flowpaper-logo-bottom { /* フッター非表示 */
    display: none !important;
}
img#bttnSocialShare { /* シェアボタン非表示 */
    display: none !important;
}
.pdfdoc { /* 複数表示の場合間隔を空ける */
    margin-bottom: 1em;
}
/* ★★時系列手順書 */
.count {
    background-color: #04384c;
    width: 1.8em;
    height: 1.8em;
    border-radius: 50%;
    line-height: 1.8em;
    color: #fff;
    text-align: center;
}
.timeline {
    display: grid; 
    grid-auto-flow: row dense; 
    grid-auto-columns: auto; 
    grid-auto-rows: auto; 
    grid-template-columns: 10% 90%; 
    gap: 5px 0px; 
    grid-template-areas: 
    "count tl_main"
    "count tl_sub"; 
}
.count {
    align-self: start; 
    grid-area: count; 
}
.tl_main { grid-area: tl_main; }
.tl_sub { grid-area: tl_sub; }
.tl_sub {
    display: flex;
    flex-direction: column;
}
.tl_sub_item {
    display: flex;
    align-items: baseline;
    margin-bottom: 10px;
    flex-direction: column;
}
.tl_item_raw {
    /* width: 100%; */
}
.tl_item_raw.cap_box_content {
    padding-top: 25px;
}
/* ★★時系列手技書の画像 */
.tl_sub_pics {
    position: relative;
    margin-top: 10px;
}
.tl_sub_pics input {
    display: none;
}
/*開くためのボタンとテキストを隠すグラデーションの設定*/
.tl_sub_pics label {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
    bottom: -2px;
    width: 100%;
    height: 50px; /* グラデーションの高さ */
    cursor: pointer;
    text-align: center;
    /* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}
/* 開いた時にグラデーションを消す */
.tl_sub_pics input:checked + label {
    background: inherit;
}
.tl_sub_pics input:checked + label {
    /* display: none ; 閉じるボタンを消す場合コメントアウトを外す */
}
.tl_sub_pics .tl_sub_pics_cntn {
    overflow: hidden;
    height: 50px; /* 開く前に見えている部分の高さ */
    transition: all 0.5s;
}
/*画像を開くボタン*/
.tl_sub_pics label:after,
.tl_sub_pics label::before {
    content: '';
    position: absolute;
    line-height: 2rem;
}
.tl_sub_pics label:after {
    z-index: 2;
    bottom: 12px;
    width: 13em;
    content: '画像を開く';
    color: #ffffff;
    background: #04384c;
    border-radius: 20px;
}
.tl_sub_pics label::before {
    position: absolute;
    bottom: 25px;
    left: calc(50% - 3.5em);
    z-index: 3;
    width: 10px;
    height: 7px;
    background: #ffffff;
    clip-path: polygon(50% 100%, 0 0, 100% 0)
}
/*閉じるボタン*/
.tl_sub_pics input:checked + label:after {
    content: '閉じる';
}
.tl_sub_pics input:checked + label:before {
    left: calc(50% - 2.5em);
    transform: scale(1, -1);
}
.tl_sub_pics input:checked ~ .tl_sub_pics_cntn {
    height: auto;
    padding-bottom: 45px; /* 閉じるボタンのbottomからの位置 */
    transition: all 0.5s;
}

/* Search & Filter*/
.searchandfilter p{
    display:block;
}
.searchandfilter ul{
    display:block;
    padding-inline-start: 0;
}
.searchandfilter ul li label{
    list-style: none;
    display:block;
    margin-bottom: 1em;
    width: 100%;
}
.widget-area .searchandfilter li, .widget-area .searchandfilter p{
    display:block;
}
.searchandfilter{
    text-align: center;
}
input.sf-input-text {
    width: 100%;
    line-height: 2;
    background-color: #fff;
}
.searchandfilter select.sf-input-select {
    width: 100%;
    border-radius: 4px;
    height: 2.5em;
    background-color: #fff;
}
/* ★★★手技書用CSS ===== ここまで ===== */

/* ★★★目次関連 ========== ここから == */
/* ★目次をハイライト表示 == ここから == */
a.p-toc__link.current {
    background-color: #fcf69f !important;
}
/* ★目次をハイライト表示 == ここまで == */

/* ★目次を本文から非表示 == ここから == */
/* .l-mainContent .p-toc {
    display: none;
} */
/* ★目次を本文から非表示 == ここまで == */

/* ★アクションカード化 == ここから == */
.act_card ol.p-toc__list.is-style-index {
    font-size: 1.2em;
}
fieldset.act_card {
    padding: 0 0 0 .5em;
}
.act_card label {
    display: flex;
    align-items: flex-start;
    position: relative;
    margin-top: 0.2em;
    cursor: pointer;
}
.act_card label::before,
.act_card label:has(:checked)::after {
    content: '';
}
.act_card label::before {
    min-width: 20px;
    min-height: 20px;
    border-radius: 30%;
    border: solid 1px #ff4133;
    background-color: #ffb9b4;
    margin-top: 0.3em;
}
.act_card label:has(:checked)::before {
    background-color: #ffe6e5;
}
.act_card label:has(:checked)::after {
    position: absolute;
    top: 0.6em;
    left: 0%;
    transform: rotate(45deg) translateY(-50%) translateX(-50%);
    width: 13px;
    height: 20px;
    border: solid #b22d23;
    border-width: 0px 3.5px 3.5px 0;
}
.act_card input {
    opacity: 0;
}
/* ★アクションカード化 == ここまで == */
/* ★★★目次関連 ========== ここまで == */


/* ★★★SOSボタン用CSS == ここから == */
#accordion-check {
    display: none;
}
.sos-accordion {
    z-index: 10;
    position: fixed;
    bottom: 15%;
    right: 0;
    color: white;
    border-radius: 20px 0 0 20px;
    /* background-color: var(--color_main); */
    background-color: #ff4133;
    display: inline-flex;
    box-shadow: 0px 5px 15px -5px #777777;
}
.sos-navi-title {
    padding: 0.5rem 0.2rem 0.8rem;
    writing-mode: vertical-rl;
    font-weight: bold;
    font-size: 1.2rem;
    text-align: center;
}
.sos-navi-title label{
    text-align: left;
    position: relative;
    cursor: pointer;
    padding: 8px 8px 8px 3%; 
}
.sos-inner {
    display: none;
    padding: 1em;
    background-color: var(--color_main);
}
.sos-inner a {
    color: white;
    font-weight: bold;
    font-size: 1.3em;
}
.sos-navi-title:has(input:checked) ~ .sos-inner {
    display: block;
}
/* スマホでは非表示に */
@media screen and (max-width: 599px) {
    .sos-accordion {
        display: none;
    }
}
/* ★★★SOSボタン用CSS == ここまで == */

/* ★★★医療安全レポート用CSS == ここから == */
/* 報告書分類 */
.patient_safety { color: #dddddd; }
.ps_a { color: #04384c; }
.ps_c { color: #04384c; }
.ps_e { color: #04384c; }
.ps_g { color: #04384c; }
.patient_safety_tag {
    display: flex;
    gap: 1em;
    justify-content: space-evenly;
    height: 5.5em;
    align-items: flex-start;
    background-color: #f7f7f7;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, .06);
}
.patient_safety {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: bolder;
}
.ps_item{
    flex: 1;
}
.patient_safety p {
    font-size: 2em;
}
.patient_safety span {
    font-size: .8em;
}

/* ★★★医療安全レポート用CSS == ここまで == */

/* ★★★印刷用CSS == ここから == */
@page {
    margin: 10mm;
    size: 210mm 297mm; /* A4縦の場合 */
}
@media print {
	div#comments {
		display: contents !important;
	}
	#wpd-post-rating, .wpd-form-wrap{
		display: none;
	}
    body {
        -webkit-print-color-adjust: exact; /* 印刷時でも背景色や背景画像を表示 */
        width: 1190px; /* 印刷時の全ページ幅を統一（px数値はお好みで） */
        zoom: 0.8; /* なるべく多くのブラウザで切れないようにするため */
    }
    img {
        break-inside: avoid;
    }
    .c-infoBar.-bg-gradation { /* お知らせバー */
        display: none;
    }
    .sos-accordion { /* SOSボタン */
        display: none;
    }
    button.simplefavorite-button.has-count { /* ブックマークボタン */
        display: none;
    }
    .p-toc.-capbox { /* 目次 */
        display: none;
    }
    .p-toc.-capbox.act_card { /* アクションカードは印刷 */
        display: contents;
    }
    .collect-item { /* 集め物リスト */
        display: flex;
        flex-wrap: wrap;
        gap: 2em 3em;
    }
    .collect-item-var { /*集めものリストの中身の並び*/
        width: calc((100% - 3em) /2);
        margin-top: 0;
    }
    .tl_sub_txt { /* 使用物品とポイント */
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
        gap: 2em 1em;
    }
    .swell-block-capbox.cap_box.is-style-onborder_ttl {/* 使用物品とポイントの並び */
        width: calc((100% - 1em) / 2);
    }
    .tl_item_raw.cap_box_content { /* 使用物品とポイントを横並びにして高さをそろえる */
        height: 100%;
    }
    .tl_sub_pics .tl_sub_pics_cntn { /* 画像を展開状態にする */
        height: 100%;
        overflow: auto;
    }
    .tl_sub_pics { /* 画像の表示位置（高さ）を下げる */
        position: relative;
        top: 30px;
    }
    .tl_sub_pics label { /* 画像を開く・閉じるボタンを消す */
        position: fixed;
        display: none;
    }
    .cnt_me { /* コンテナ・ME機器の横並び */
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 2em 4em;
    }
    .cnt_div,.me_div { /* コンテナ・ME中身の並び */
        flex: 1;
    }
    .timeline { /* タイムラインのカウントアップの横幅を小さく */
        grid-template-columns: 5% 95%;
        break-inside: avoid;
    }
}
/* ★★★印刷用CSS == ここまで == */