@charset "utf-8";
/* Generic-child -makomanai main.content ONLY
    メインカラムのコンテンツブロック内にのみ適用される汎用スタイル
    各ページ共通と、ページ個別の指定があります
        【各ページ・複数ページ 共通】
　　　　・メインコンテンツ内ヘッダ・h要素・画像キャプション
　　　　・固定・最上親ページ内子ページリストレイアウト
        ・固定・子ページを持つ最上の親以外のページ内 孫ページ以下ページリスト
        ・ブロック要素（.article-body , .article-sub）
        【ページ個別】
        ・診療科・部門ページ
        ・サイトマップページ
        ・お問い合わせページ
        ・メインコンテンツ - INDEX・アーカイブページ（お知らせ・ブログ）ページナビ
        ・お知らせ・ブログページ（投稿・カスタム投稿タイプ）共通
        ・お知らせページ（投稿）
        ・ブログページ（カスタム投稿タイプ）
        ・検索結果ページ（search.php）
        ・会員専用ページ（WP-members）
        【メディアクエリ】
*/
/*
    Green: #54baa4 rgba(0, 166, 186,1.00) 
    Blue: #769bb5 rgba(118,155,181,1.00)
    Pink: #f19ca7 rgba(241,156,167,1.00)
    Beige: #cbb994 rgba(203,185,148,1.00)
*/

/*【各ページ・複数ページ 共通】*/
/* メインコンテンツ内ヘッダ・h要素
------------------------------------------------------------ */
/*メインコンテンツ - メインカラム - エントリーヘッダ：entry.php - header */
main.content header {}

/*メインコンテンツ - メインカラム - エントリーヘッダ - エントリータイトル：header h1.entry-title */
main.content header h1.entry-title {
    border-bottom: #666 double 3px;
    color: #333;
    font-size: 2.25em;
    font-weight: normal;
    line-height: initial;
    margin: 0 0 1em;
    padding: 0 0 .25em;
    position: relative;
}

main.content header h1.entry-title a {
    color: #333;
    pointer-events: none;
}

/*メインコンテンツ - メインカラム - エントリーコンテンツ：entry.php - article.post*/
main.content article.post {}

/*メインコンテンツ - メインカラム - エントリーコンテンツ - エントリーヘッダ：article.post header */
main.content article.post header {
    line-height: 160%;
}

/*メインコンテンツ - メインカラム - エントリーコンテンツ - エントリーコンテント：投稿内容 div.entry-content */
main.content article.post .entry-content {
    line-height: 160%;
    padding: 1em 0;
}

/*メインコンテンツ内 h要素（h2～h6）*/
main.content .entry-content h2,
main.content .entry-content h3,
main.content .entry-content h4,
main.content .entry-content h5,
main.content .entry-content h6 {
    margin: 0 0 1rem;
}

/*メインコンテンツ内 ページ内ナビ*/
main.content nav.local-menu {
    background-color: rgba(0, 166, 186, 0.1);
    color: #333;
    margin: 0 auto 2rem auto;
    padding: 1rem 1rem 0 1rem;
    width: 100%;
}

main.content nav.local-menu ul {
    list-style: none;
    margin: 0 auto;
}

main.content nav.local-menu ul li {
    display: inline-block;
    padding: 0 1rem;
    border-right: 1px solid #ccc;
    margin: 0 0 1rem 0;
}

main.content nav.local-menu ul li a:link,
main.content nav.local-menu ul li a:visited,
main.content nav.local-menu ul li a:active {
    color: #333;
    display: block;
    text-decoration: none;
}

main.content nav.local-menu ul li a:hover {
    color: #333;
    display: block;
    text-decoration: underline;
}

/*スクロールヒント スタイル上書き*/
.scroll-hint-icon-wrap {
        display: none;
    /* display: flex;
    justify-content: center; */
}

.scroll-hint-icon {
    background: rgba(0, 0, 0, .7);
    border-radius: 5px;
    box-sizing: border-box;
    height: fit-content;
    margin: 3rem 0 0;
    opacity: 0;
    padding: 20px 10px 10px 10px;
    position: relative;
    top: auto;
    left: auto;
    text-align: center;
    transition: opacity .3s;
    width: 120px;
}


/* 固定・最上親ページ内子ページリストレイアウト
-------------------------------------------------------------------- */
main.content .entry-content .child-page-list>ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
}

main.content .entry-content .child-page-list>ul::before,
main.content .entry-content .child-page-list>ul::after {
    content: "";
    display: block;
    width: 24%;
    height: 0;
}

main.content .entry-content .child-page-list>ul::before {
    order: 1;
}

main.content .entry-content .child-page-list>ul>li {
    background-color: #fff;
    border: #ddd solid 1px;
    list-style: none;
    position: relative;
    transition: .3s;
    width: 24%;
}

main.content .entry-content .child-page-list>ul>li:last-child {
    margin: 0 0 1em;
}

main.content .entry-content .child-page-list>ul>li:hover {
    background-color: #f7f7f7;
}

main.content .entry-content .child-page-list>ul>li:has(span.nolink):hover {
    background-color: #fff;
}

main.content .entry-content .child-page-list>ul>li figure p.thumbnail {
    background: url("../images/common/bg-childpage-list.png") no-repeat center center;
    background-size: cover;
    height: 160px;
    margin: 0;
    padding: 0;
    width: 100%;
}

main.content .entry-content .child-page-list>ul>li figure p img {
    height: 160px;
    margin: 0;
    object-fit: cover;
    width: 100%;
}

main.content .entry-content .child-page-list>ul>li figure figcaption a,
main.content .entry-content .child-page-list>ul>li figure figcaption span.nolink {
    display: block;
    padding: 1rem;
    text-decoration: none;
}

main.content .entry-content .child-page-list>ul>li figure figcaption a::before,
main.content .entry-content .child-page-list>ul>li figure figcaption span.nolink::before {
    content: '\e5cc';
    font-family: 'Material Icons';
    padding: 0 .25em 0 0;
}

main.content .entry-content .child-page-list>ul>li figure figcaption a::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: auto;
    content: "";
    background-color: rgba(0, 0, 0, 0);
}

/*診療科・部門（section）のみアイキャッチ画像非表示*/
body.section main.content .entry-content .child-page-list>ul>li figure p.thumbnail {
    display: none;
}

/* 固定・子ページを持つ最上の親以外のページ内 孫ページ以下ページリスト
------------------------------------------------------------ */
.sub-child-page-list {}

.sub-child-page-list>ul:has(li) {
    align-items: flex-start;
    background-color: #f7f7f7;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 2rem 0 0 0;
    padding: 1rem 1rem 0 1rem;
}

.sub-child-page-list>ul::before,
.sub-child-page-list>ul::after {
    content: "";
    display: block;
    width: 32%;
    height: 0;
}

.sub-child-page-list>ul::before {
    order: 1;
}

.sub-child-page-list>ul>li {
    background-color: #fff;
    border: #ddd solid 1px;
    list-style: none;
    position: relative;
    transition: .3s;
    width: 32%;
}

.sub-child-page-list>ul>li:last-child {
    margin: 0 0 1rem !important;
}

.sub-child-page-list>ul>li>a {
    display: block;
    padding: 1rem;
}

.sub-child-page-list>ul>li>a::before {
    content: '\eac9';
    font-family: 'Material Icons';
}

/*曾孫以下ページリスト表示*/
.sub-child-page-list>ul>li>ul.children {
    margin: -.5rem 0 0 0 !important;
    padding: 0 0 0 1.5rem;
}

.sub-child-page-list>ul>li>ul.children li {
    list-style: none;
    padding: 0 .5rem .5rem;
}

.sub-child-page-list>ul>li>ul.children li>a::before {
    content: '\e5da';
    font-family: 'Material Icons';
}

/* ブロック要素
div class="article-body article-sub" .article-sbody , .article-sub
---------------------------------------------------- */
.content .article-body {
    margin: 0 auto 50px auto;
    width: 100%;
}

.content .article-body .article-sub {
    margin: 0 auto 25px auto;
    width: 100%;
}

/*【ページ個別】*/
/* 診療科・部門ページ 
------------------------------------------------------------ */
/*医師紹介ページ*/
.doctor_box-wrap {
    margin: 2rem 0;
}

/*医師紹介ボックス*/
.doctor_box-wrap .doctor_box {
    border: #eee solid 1px;
    margin: 0 0 1rem;
    padding: 1rem;
}

.doctor_box-wrap .doctor_box::before {
    background-color: rgba(0, 166, 186, 1.00);
    content: "";
    display: block;
    height: 5px;
    margin: -1rem -1rem 1rem;
    width: calc(100% + 2rem);
}

/*非表示チェック有*/
.doctor_box-wrap .doctor_box.no-display {
    display: none;
}

.doctor_box-wrap .doctor_box:last-child {
    margin: 0;
}

/*プロフィール枠（画像・氏名・氏名ルビ・役職・診療科）*/
.doctor_box-wrap .doctor_box .doctor-prof {
    display: flex;
    justify-content: space-between;
}

/*プロフィール枠 - 画像*/
.doctor_box-wrap .doctor_box .doctor-prof .photo {
    margin: 0 1rem 1rem 0;
}

.doctor_box-wrap .doctor_box .doctor-prof .photo p {
    border: #ddd solid 1px;
    line-height: 0;
    margin: 0;
}

.doctor_box-wrap .doctor_box .doctor-prof .photo img {
    height: 100px;
    object-fit: cover;
    width: 100px;
}

/*プロフィール枠 - 氏名・氏名ルビ・役職・診療科*/
.doctor_box-wrap .doctor_box .doctor-prof .name-post {
    flex: 1;
}

/*プロフィール枠 - 氏名*/
.doctor_box h4.name {
    align-items: center;
    border-bottom: 3px solid #eee;
    display: flex;
    font-size: 1.5em;
    justify-content: space-between;
    padding: 0.5rem 0 .5rem 1rem !important;
    position: relative;
}

.doctor_box h4.name::before {
    height: 2px;
}

/*プロフィール枠 - 氏名ルビ*/
.doctor_box h4.name span {
    color: #999;
    font-size: .75em;
    font-weight: normal;
}

/*プロフィール枠 - 役職・診療科*/
.doctor_box .post,
.doctor_box .section {
    margin: 0 0 .5rem;
}

.doctor_box .post {
    border-bottom: #ddd dotted 1px;
    padding: 0 0 .5rem;
}

.doctor_box .post p,
.doctor_box .section p {
    margin: 0;
}

/* サイトマップページ body.sitemap , ul#sitemap_list
------------------------------------------------------------ */
body.sitemap main.content .entry-content .wsp-pages-list {
    margin: 0;
}

/*h2見出し*/
body.sitemap main.content .entry-content .wsp-container h2 {
    border-bottom: 5px solid #eee;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.5em;
    padding: .5rem 0;
    position: relative;
    font-style: italic;
    color: rgba(51, 51, 51, 1);
}

body.sitemap main.content .entry-content .wsp-container h2::before {
    background-color: rgba(0, 166, 186, 1);
    ;
    content: '';
    height: 5px;
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 25%;
}

body.sitemap main.content .entry-content .wsp-pages-list li {
    line-height: normal;
    list-style: none;
    margin: 0
}

body.sitemap main.content .entry-content .wsp-pages-list li a {
    text-decoration: none;
}

body.sitemap main.content .entry-content .wsp-pages-list li ul {
    margin: 0;
}

/*第一階層*/
body.sitemap main.content .entry-content .wsp-pages-list>li {
    border-bottom: #ddd dotted 1px;
    font-weight: bold;
    margin: 0 0 1rem;
    padding: 0;
}

body.sitemap main.content .entry-content .wsp-pages-list>li>a::before {
    content: "\e5df";
    font-family: 'Material Icons';
}

body.sitemap main.content .entry-content .wsp-pages-list>li>a:last-child {
    display: block;
    padding: 0 0 1rem;
}

/*第二階層*/
body.sitemap main.content .entry-content .wsp-pages-list>li>ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: .5rem 0 0 1rem;
}

body.sitemap main.content .entry-content .wsp-pages-list>li>ul>li {
    font-weight: normal;
    margin: 0 0 .5rem;
    padding: 0 0 .5rem;
    width: 49%;
}

body.sitemap main.content .entry-content .wsp-pages-list>li>ul>li>a::before {
    content: "\e5cc";
    font-family: 'Material Icons';
}

/*第三階層*/
body.sitemap main.content .entry-content .wsp-pages-list>li>ul>li>ul {
    padding: .5rem 0 0 1rem;
}

body.sitemap main.content .entry-content .wsp-pages-list>li>ul>li>ul>li {
    font-weight: normal;
    margin: 0 0 .5rem;
    padding: 0 0 .5rem;
}

body.sitemap main.content .entry-content .wsp-pages-list>li>ul>li>ul>li:last-child {
    border-bottom: none;
    margin: 0;
    padding: 0;
}

body.sitemap main.content .entry-content .wsp-pages-list>li>ul>li>ul>li>a::before {
    content: "\eac9";
    font-family: 'Material Icons';
}

/*第三階層以下*/
body.sitemap main.content .entry-content .wsp-pages-list>li>ul>li>ul>li ul {
    padding: .5rem 0 0 1rem;
}

body.sitemap main.content .entry-content .wsp-pages-list>li>ul>li>ul>li ul li {
    font-weight: normal;
    margin: 0 0 .5rem;
    padding: 0 0 .5rem;
}

body.sitemap main.content .entry-content .wsp-pages-list>li>ul>li>ul>li ul li:last-child {
    border-bottom: none;
    margin: 0;
    padding: 0;
}

body.sitemap main.content .entry-content .wsp-pages-list>li>ul>li>ul>li ul li a::before {
    content: "-";
}

/*カスタム投稿タイプ表示  .wsp-xxx-list */
/*診療科・部門案内リスト*/
body.sitemap main.content .entry-content .wsp-sections-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
    padding: .5rem 0 0 1rem;
}

body.sitemap main.content .entry-content .wsp-sections-list>li {
    font-weight: normal;
    list-style: none;
    margin: 0 0 .5rem;
    padding: 0 0 .5rem;
    width: 49%;
}

body.sitemap main.content .entry-content .wsp-sections-list>li>a {
    text-decoration: none;
}

body.sitemap main.content .entry-content .wsp-sections-list>li>a::before {
    content: "\e5cc";
    font-family: 'Material Icons';
}

/*カスタム投稿タイプカテゴリ表示  .wsp-xxx-categorys-list */
/*診療科・部門案内カテゴリ*/
body.sitemap main.content .entry-content .wsp-section-categorys-list {
    border: rgba(0, 166, 186, 0.50) double 3px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0;
    padding: .5rem;
}

body.sitemap main.content .entry-content .wsp-section-categorys-list>li {
    font-weight: normal;
    list-style: none;
    margin: .5rem;
    padding: 0;
    width: auto;
}

body.sitemap main.content .entry-content .wsp-section-categorys-list>li>a {
    text-decoration: none;
}

body.sitemap main.content .entry-content .wsp-section-categorys-list>li>a::before {
    content: "\e5cc";
    font-family: 'Material Icons';
}

/*カスタム投稿タイプ表示  .wsp-xxx-list */
/*採用情報リスト*/
body.sitemap main.content .entry-content .wsp-recruits-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
    padding: .5rem 0 0 1rem;
}

body.sitemap main.content .entry-content .wsp-recruits-list>li {
    font-weight: normal;
    list-style: none;
    margin: 0 0 .5rem;
    padding: 0 0 .5rem;
    width: 49%;
}

body.sitemap main.content .entry-content .wsp-recruits-list>li>a {
    text-decoration: none;
}

body.sitemap main.content .entry-content .wsp-recruits-list>li>a::before {
    content: "\e5cc";
    font-family: 'Material Icons';
}

/*カスタム投稿タイプカテゴリ表示  .wsp-xxx-categorys-list */
/*採用情報カテゴリ*/
body.sitemap main.content .entry-content .wsp-recruit-categorys-list {
    border: rgba(0, 166, 186, 0.50) double 3px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0;
    padding: .5rem;
}

body.sitemap main.content .entry-content .wsp-recruit-categorys-list>li {
    font-weight: normal;
    list-style: none;
    margin: .5rem;
    padding: 0;
    width: auto;
}

body.sitemap main.content .entry-content .wsp-recruit-categorys-list>li>a {
    text-decoration: none;
}

body.sitemap main.content .entry-content .wsp-recruit-categorys-list>li>a::before {
    content: "\e5cc";
    font-family: 'Material Icons';
}


/* お問い合わせページ body.inquiry , .wpcf7
    メールフォーム共通 .wpcf7
------------------------------------------------------------ */
body.inquiry main.content .entry-content .wpcf7 {
    width: 100%;
}

.wpcf7 form {
    margin: 0 auto;
    width: 80%;
}

/*フォーム入力項目群*/
main.content .entry-content .wpcf7 form .mailform .form_list {
    margin: 3rem 0;
}

main.content .entry-content .wpcf7 form .mailform .form_list dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

main.content .entry-content .wpcf7 form .mailform .form_list dl dt {
    padding: .5rem 0;
    text-align: right;
    width: 10rem;
}

main.content .entry-content .wpcf7 form .mailform .form_list dl dd {
    margin: 0;
    width: calc(100% - 11rem);
}

main.content .entry-content .wpcf7 form .mailform .form_list input[type="checkbox"]+span {
    display: inline-block;
    padding: 0 0 0 .25rem;
}

main.content .entry-content .wpcf7 form .mailform .form_list span.required::after {
    content: "*";
    color: #f00;
    display: inline;
    padding: 0 0 0 .25em;
}

main.content .entry-content .wpcf7 form .mailform .form_list input[type="text"],
main.content .entry-content .wpcf7 form .mailform .form_list textarea {
    width: 100%;
}

main.content .entry-content .wpcf7 form .mailform .form_list dl dd>span.select {
    position: relative;
}

main.content .entry-content .wpcf7 form .mailform .form_list dl dd>span.select::after {
    color: #ddd;
    content: "\f078";
    display: inline;
    font-family: FontAwesome;
    position: absolute;
    top: calc(50% - .5em);
    right: .5em;
}

main.content .entry-content .wpcf7 form .mailform .form_list dl dd>p,
main.content .entry-content .wpcf7 form .mailform .form_list dl dd>ul li p {
    font-size: .875rem;
    margin: 0;
}

main.content .entry-content .wpcf7 form .mailform .form_list select {
    appearance: none;
    border: #ddd solid 1px;
    border-radius: 5px;
    font-size: 1em;
    margin: 0;
    padding: .5em 2em .5em .5em;
    max-width: 100% !important;
    height: auto;
}

/*フォーム入力項目群 - 各項目毎設定*/
main.content .entry-content .wpcf7 form .mailform .form_list dl.subject input[type="text"],
main.content .entry-content .wpcf7 form .mailform .form_list dl.affiliation input[type="text"],
main.content .entry-content .wpcf7 form .mailform .form_list dl.address-addr input[type="text"] {
    width: 80%;
}

main.content .entry-content .wpcf7 form .mailform .form_list dl.name input[type="text"],
main.content .entry-content .wpcf7 form .mailform .form_list dl.address-city input[type="text"],
main.content .entry-content .wpcf7 form .mailform .form_list dl.tel input[type="tel"],
main.content .entry-content .wpcf7 form .mailform .form_list dl.mail input[type="email"] {
    width: 60%;
}

main.content .entry-content .wpcf7 form .mailform .form_list dl.address-zip input[type="tel"],
main.content .entry-content .wpcf7 form .mailform .form_list dl.address-pref input[type="text"] {
    width: 30%;
}

main.content .entry-content .wpcf7 form .mailform .form_list dl.age input[type="text"] {
    width: 15%;
}

/*フォーム入力項目群 - 個別設定*/
main.content .entry-content .wpcf7 form .mailform .form_list dl.job span:first-child select {
    margin: 0 0 .5rem;
}

main.content .entry-content .wpcf7 form .mailform .form_list dl.qualification textarea,
main.content .entry-content .wpcf7 form .mailform .form_list dl.motive textarea,
main.content .entry-content .wpcf7 form .mailform .form_list dl.pr textarea,
main.content .entry-content .wpcf7 form .mailform .form_list dl.message textarea {
    height: 8rem;
}

/*プライバシーチェック*/
main.content .entry-content .wpcf7 form .mailform .form_privacy {
    border: #ddd double 3px;
    margin: 2rem 0;
    padding: 1rem;
    text-align: center;
}

/*プライバシーチェック - チェックボックス*/
main.content .entry-content .wpcf7 form .mailform .form_privacy p input[type="checkbox"] {
    box-sizing: border-box;
    display: none;
    padding: 0;
}

main.content .entry-content .wpcf7 form .mailform .form_privacy p span:nth-child(2) {
    align-items: center;
    display: flex;
    position: relative;
}

main.content .entry-content .wpcf7 form .mailform .form_privacy p span:nth-child(2)::before {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    content: '';
    display: block;
    height: 20px;
    margin: 0 .5rem 0 0;
    position: relative;
    transition: all .2s;
    width: 20px;
}

main.content .entry-content .wpcf7 form .mailform .form_privacy p span:nth-child(2)::after {
    border-left: 2px solid #dc3232;
    border-bottom: 2px solid #dc3232;
    content: '';
    height: 6px;
    margin-top: -6px;
    opacity: 0;
    position: absolute;
    left: 4px;
    top: 50%;
    transform: rotate(-45deg) scale(.5);
    transition: all .2s;
    width: 14px;
}

main.content .entry-content .wpcf7 form .mailform .form_privacy p input[type="checkbox"]:checked+span:nth-child(2)::after {
    opacity: 1;
    -webkit-transform: rotate(-45deg) scale(1);
    transform: rotate(-45deg) scale(1);
}

/*送信ボタン*/
main.content .entry-content .wpcf7 form .mailform input[type="submit"] {
    transition: .3s;
}

/* メインコンテンツ - INDEX・アーカイブページ（お知らせ・ブログ）ページナビ
-------------------------------------------------------------------- */
#cms-pagination {
    width: 100%;
    overflow: hidden;
    margin: 2em 0 .5em;
}

#cms-pagination ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    position: relative;
}

#cms-pagination ul li,
#cms-pagination ul li:last-child {
    display: inline-block;
    margin: 0 0 .5em;
}

#cms-pagination ul li a,
#cms-pagination ul li span {
    align-items: center;
    background-color: #fff;
    border: #f7f7f7 solid 1px;
    display: inline-flex;
    justify-content: space-around;
    height: 100%;
    margin: 0 .25em;
    padding: .25em .5em;
    text-decoration: none;
}

#cms-pagination ul li span {
    background-color: #f7f7f7;
    color: #999;
}

/*現在のページ*/
#cms-pagination ul li.pagination-index span {
    color: rgba(0, 166, 186, 1.00);
    font-weight: bold;
}

/*先頭*/
#cms-pagination ul li.pagination-no-num.first a::before,
#cms-pagination ul li.pagination-no-num.first span::before {
    content: "\e5dc";
    font-family: 'Material Icons';
}

/*前*/
#cms-pagination ul li.pagination-no-num.prev a::before,
#cms-pagination ul li.pagination-no-num.prev span::before {
    content: "\e314";
    font-family: 'Material Icons';
}

/*次*/
#cms-pagination ul li.pagination-no-num.next a::after,
#cms-pagination ul li.pagination-no-num.next span::after {
    content: "\e315";
    font-family: 'Material Icons';
}

/*最後*/
#cms-pagination ul li.pagination-no-num.last a::after,
#cms-pagination ul li.pagination-no-num.last span::after {
    content: "\e5dd";
    font-family: 'Material Icons';
}

/*総件数表示*/
.pagination-txt {
    color: #999;
    text-align: center;
}

/* お知らせ・ブログページ（投稿・カスタム投稿タイプ）共通
body.blog（お知らせ INDEX）
body.archive（お知らせ カテゴリ・アーカイブ / ブログ カテゴリ・アーカイブ）
------------------------------------------------------------ */
body.blog main.content article,
body.archive main.content article {
    background-color: #fff;
    border-bottom: #ddd dotted 1px;
    margin: 0;
    padding: 1rem;
    position: relative;
    transition: .3s;
}

body.blog main.content article:hover,
body.archive main.content article:hover {
    background-color: #f7f7f7;
}

body.blog main.content article:first-of-type,
body.archive main.content article:first-of-type {
    border-top: #ddd dotted 1px;
}

body.blog main.content article::after,
body.archive main.content article::after {
    content: '\e5df';
    display: inline-block;
    font-family: 'Material Icons';
    padding: 0;
    position: absolute;
    right: 0;
    top: calc(50% - .5em);
}

body.blog main.content article header,
body.archive main.content article header {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: wrap;
}

body.blog main.content article header h2,
body.archive main.content article header h2 {
    font-size: 1.25em;
    font-weight: normal;
}

body.blog main.content article header h2 a,
body.archive main.content article header h2 a {
    text-decoration: none;
}

body.blog main.content article header h2 a::after,
body.archive main.content article header h2 a::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: auto;
    content: "";
    background-color: rgba(0, 0, 0, 0);
}

body.blog main.content article .entry-meta,
body.archive main.content article .entry-meta {
    margin: 0;
    padding: 0;
}

body.blog main.content article .entry-meta .entry-date,
body.archive main.content article .entry-meta .entry-date {
    padding: 0 .5em 0 0;
}

body.blog main.content article .entry-meta .category,
body.archive main.content article .entry-meta .category {
    background-color: #ddd;
    border: #ddd solid 1px;
    border-radius: 5px;
    color: #666;
    display: inline-block;
    line-height: 100%;
    padding: .15em 1em;
    ;
    text-align: center;
}

/*お知らせカテゴリ-デフォルト*/
body.blog main.content article .entry-meta .category,
body.archive main.content article .entry-meta .category {
    background-color: rgba(0, 166, 186, .25);
    border: rgba(0, 166, 186, .25) solid 1px;
}

/*お知らせカテゴリ-重要*/
body.blog main.content article .entry-meta .category.important,
body.archive main.content article .entry-meta .category.important {
    background-color: rgba(241, 156, 167, .25);
    border: rgba(241, 156, 167, .25) solid 1px;
}

/*投稿ページ */
body.single main.content .entry-content {
    line-height: 160%;
    /* padding: 1rem 0; */
}

body.single main.content p {
    font-family: 'Noto Sans JP';
    font-size: 1rem;
    line-height: 160%;
    margin: 1rem 0;
}

/*投稿ページ 日付*/
body.single main.content article .entry-meta {
    background-color: #f7f7f7;
    line-height: 100%;
    margin: 1rem 0;
    padding: 1rem;
    text-align: right;
}

/*投稿ページ エントリーフッタ*/
body.single main.content article .entry-footer {
    border-bottom: #ddd dotted 1px;
    border-top: #ddd dotted 1px;
    margin: 1rem 0;
    padding: 1rem;
    text-align: right;
}

/*投稿ページ お知らせカテゴリ-デフォルト*/
body.single main.content article .entry-footer .category {
    background-color: rgba(0, 166, 186, .25);
    border: rgba(0, 166, 186, .25) solid 1px;
    border-radius: 5px;
    color: #666;
    display: inline-block;
    padding: .25em 1rem;
}

/*投稿ページ お知らせカテゴリ-重要*/
body.single main.content article .entry-footer .category.important {
    background-color: rgba(241, 156, 167, .25);
    border: rgba(241, 156, 167, .25) solid 1px;
}

/*投稿ページ 記事下ページャー（前へ・次へ）*/
body.single main.content footer .nav-links::after {
    content: "";
    clear: both;
    display: block;
}

body.single main.content footer .nav-links .nav-previous a,
body.single main.content footer .nav-links .nav-next a {
    align-items: center;
    border: #f7f7f7 solid 1px;
    display: inline-flex;
    justify-content: space-around;
    height: 100%;
    margin: 0 .25em;
    padding: .25em .75em;
    text-decoration: none;
}

body.single main.content footer .nav-links .nav-previous a::before {
    content: "\e314";
    font-family: 'Material Icons';
    padding: 0 .25em 0 0;
}

body.single main.content footer .nav-links .nav-next a::after {
    content: "\e315";
    font-family: 'Material Icons';
    padding: 0 0 0 .25em;
}

/* 検索結果ページ（search.php）
body.search-results（検索結果）
------------------------------------------------------------ */
/*検索結果一覧表示*/
body.search-results main.content article {
    background-color: #fff;
    border-bottom: #ddd dotted 1px;
    margin: 0;
    padding: 1rem;
    position: relative;
    transition: .3s;
}

body.search-results main.content article:hover {
    background-color: #f7f7f7;
}

body.search-results main.content article::after {
    content: '\e5df';
    display: inline-block;
    font-family: 'Material Icons';
    padding: 0;
    position: absolute;
    right: 0;
    top: calc(50% - .5em);
}

body.search-results main.content article:first-child {
    border-top: #ddd dotted 1px;
}

body.search-results main.content article header {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: wrap;
}

body.search-results main.content article header h2 {
    font-size: 1.25em;
    font-weight: normal;
}

body.search-results main.content article header h2 a {
    text-decoration: none;
}

body.search-results main.content article header h2 a::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: auto;
    content: "";
    background-color: rgba(0, 0, 0, 0);
}

/*【ページ個別】*/
/* 外来診療担当医表ページ
body.schedule.visit-child（page_schedule.php）
------------------------------------------------------------ */
/*.schedule .content{
    width: 100%;
}*?
/*
body.schedule.visit-child aside#sidebar {
    display: none;
}
*/

.schedule .content .schedule_pdf {
	border: rgba(0, 166, 186, 1.00) solid 2px;
    border-radius: 3px;
    text-align: center;
    padding: 0;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
	margin-bottom: 30px;
    max-width: 300px;
}

.schedule .content .schedule_pdf p{
	margin: 0;
}

.schedule .content .schedule_pdf p a {
	background-color: rgba(0, 166, 186, 0.1);
    color: rgba(0, 166, 186, 1.00);
    display: block;
    padding: 1em;
    text-decoration: none;
    width: 100%;
    height: 100%;
}

.schedule .content .schedule_pdf p a i {
    padding-right: 0.5em;
}

.schedule .content .schedule_pdf p a:hover {
	background-color: #fff;
    color: rgba(0, 166, 186, 1.00);
    opacity: 1.0;
}

.schedule .content table th.am {
    background-color: #E0EDFA;
    color: #000;
    font-weight: bold;
}

.schedule .content table th.pm {
    background-color: #FCD997;
    color: #000;
    font-weight: bold;
}

.schedule .content table th.ev {
    background-color: #E4EDD9;
    color: #000;
    font-weight: bold;
}

.schedule .content table td {
    text-align: center;
}

.schedule .content table td.dep {
    text-align: center;
    background-color: #F6F7F8;
    font-weight: bold;
}

.schedule .content table td.remarks {
    -webkit-text-size-adjust: 100%;
    text-align: left;
}


.schedule .content .schedule_link {
    border: #fff solid 2px;
    text-align: center;
    padding: 0;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
    max-width: 300px;
}

.schedule .content .schedule_link a {
    text-decoration: none;
    font-size: 14px;
}

.schedule .content .schedule_link p a {
    background-color: #E8EEFE;
    color: #fff;
    display: block;
    padding: 1em;
    text-decoration: none;
    width: 100%;
    height: 100%;
}

.schedule .content .schedule_link a:hover {
    background-color: #FFF;
    color: rgba(0, 166, 186, 1.00);
    opacity: 1.0;
}

/* 病院指標ページ（page-hpdata.php）
body.hpdata , body.hpdata-child
------------------------------------------------------------ */
/*病院情報の公表 - 子ページリスト*/
body.hpdata .sub-child-page-list>ul:has(li) {
    align-items: flex-start;
    background-color: #f7f7f7;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 2rem 0 0 0;
    padding: 1rem 1rem 0 1rem;
}

body.hpdata .sub-child-page-list>ul>li {
    width: 100%;
}

/*病院情報の公表 - 詳細ページ*/
/*プリズム配布テンプレート対応スタイル*/
/*外部サイトリンク*/
body.page-template-page-hpdata .out_link {
    text-align: right;
}

/*見出し*/
body.page-template-page-hpdata .div-title,
body.page-template-page-hpdata .div-title-hist,
body.page-template-page-hpdata .div-title-shitsu {
    background-color: rgba(0, 166, 186, 1);
    ;
    color: #fff;
    display: flex;
    flex-wrap: nowrap;
    font-size: 1.14em;
    justify-content: space-between;
    padding: 0.5rem;
}

/*csvダウンロードリンク*/
body.page-template-page-hpdata a.csv_btn {
    align-items: center;
    background-color: rgba(255, 255, 255, .85);
    border: 1px solid #fff;
    display: inline-flex;
    font-size: .75rem;
    justify-content: center;
    padding: 0 .5rem;
    position: relative;
    text-decoration: none;
    width: fit-content;
}

body.page-template-page-hpdata a.csv_btn::after {
    content: "\f090";
    font-family: "Material Icons";
}

/*table*/
body.page-template-page-hpdata .template-table {
    border-collapse: collapse;
}

body.page-template-page-hpdata .template-table th,
body.page-template-page-hpdata .template-table td {
    width: auto;
}

body.page-template-page-hpdata .template-table th.left_align {
    text-align: left;
}

body.page-template-page-hpdata .number-cell {
    text-align: right;
    width: 75px;
}

/*コメント*/
body.page-template-page-hpdata .comment,
body.page-template-page-hpdata .comment-shitsu {
    background-color: #f5f5f5;
    margin: 1rem 0;
    padding: .5rem;
}

/*米印*/
body.page-template-page-hpdata span.kome {
    font-size: x-small;
}

/*更新履歴*/
body.page-template-page-hpdata .div-title-hist {
    background-color: rgba(0, 166, 186, 1);
    margin: 0 0 1rem;
}

body.page-template-page-hpdata .hist_list {
    display: flex;
    flex-wrap: wrap;
    padding: 1rem 0;
}

body.page-template-page-hpdata .hist_list dt {
    width: 130px;
}

body.page-template-page-hpdata .hist_list dd {
    width: calc(100% - 140px);
}

body.page-template-page-hpdata div[id^="cd_top3_nm_"],
body.page-template-page-hpdata div[id^="ope_top3_nm_"],
body.page-template-page-hpdata div[id^="cd_top5_nm_"],
body.page-template-page-hpdata div[id^="ope_top5_nm_"] {
    padding: 5px;
}

body.page-template-page-hpdata div[id^="cd_top3_nm_"]:before,
body.page-template-page-hpdata div[id^="ope_top3_nm_"]:before,
body.page-template-page-hpdata div[id^="cd_top5_nm_"]:before,
body.page-template-page-hpdata div[id^="ope_top5_nm_"]:before {
    content: "■";
    font-size: large;
}

/*【メディアクエリ】*/
@media(max-width:1024px) {

    /*【各ページ・複数ページ 共通】*/
    /* 固定・最上親ページ内子ページリストレイアウト
-------------------------------------------------------------------- */
    main.content .entry-content .child-page-list>ul::before {
        display: none;
    }

    main.content .entry-content .child-page-list>ul::after {
        width: 32%;
    }

    main.content .entry-content .child-page-list>ul>li {
        width: 32%;
    }
}

@media(min-width:769px) {}

@media(max-width:768px) {

    /*【各ページ・複数ページ 共通】*/
    /* メインコンテンツ内ヘッダ・h要素
------------------------------------------------------------ */
    /*メインコンテンツ - メインカラム - エントリーヘッダ - エントリータイトル：header h1.entry-title */
    main.content header h1.entry-title {
        font-size: 1.75em;
    }

    /* 固定・最上親ページ内子ページリストレイアウト
-------------------------------------------------------------------- */
    main.content .entry-content .child-page-list>ul::before,
    main.content .entry-content .child-page-list>ul::after {
        display: none;
    }

    main.content .entry-content .child-page-list>ul>li {
        width: 48%;
    }

    /* 固定・子ページを持つ最上の親以外のページ内 孫ページ以下ページリスト
------------------------------------------------------------ */
    .sub-child-page-list {}

    .sub-child-page-list>ul:has(li) {
        margin: 2rem auto;
        padding: .5rem;
        width: 96%;
    }

    .sub-child-page-list>ul {
        margin: 0;
        padding: 0;
    }

    .sub-child-page-list>ul::before,
    .sub-child-page-list>ul::after {
        display: none;
    }

    .sub-child-page-list>ul>li {
        margin: 0 0 .5rem !important;
        width: 100%;
    }

    .sub-child-page-list>ul>li:last-child {
        margin: 0 !important;
    }

    /* ブロック要素
div class="article-body article-sub" .article-sbody , .article-sub
---------------------------------------------------- */
    .content .article-body {
        margin: 0 auto 25px auto;
    }

    .content .article-body .article-sub {
        margin: 0 auto 12.5px auto;
    }

    /* サイトマップページ body.sitemap , ul.wsp-pages-list
------------------------------------------------------------ */
    body.sitemap main.content .entry-content .wsp-pages-list>li>ul>li {
        width: 100%;
    }

    /* お問い合わせページ body.inquiry , .wpcf7
------------------------------------------------------------ */
    .wpcf7 form {
        margin: 0;
        width: 100%;
    }
}

@media(max-width:767px) {}

@media(max-width:576px) {

    /*【各ページ・複数ページ 共通】*/
    /* 固定・最上親ページ内子ページリストレイアウト
-------------------------------------------------------------------- */
    main.content .entry-content .child-page-list>ul>li {
        padding: .25rem;
        width: 100%;
    }

    main.content .entry-content .child-page-list>ul>li:last-child {
        margin: 0;
    }

    main.content .entry-content .child-page-list>ul>li figure {
        align-items: center;
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
    }

    main.content .entry-content .child-page-list>ul>li figure p.thumbnail {
        height: 60px;
        width: 20%;
    }

    main.content .entry-content .child-page-list>ul>li figure p img {
        height: 60px;
    }

    main.content .entry-content .child-page-list>ul>li figure figcaption {
        width: 80%;
    }

    main.content .entry-content .child-page-list>ul>li figure figcaption a {
        padding: .5rem;
    }

    /*画像の左揃え・右揃え 指定解除*/
    main.content .entry-content img.alignleft,
    main.content .entry-content img.alignright {
        display: block;
        float: none;
        margin: 0 auto 30px;
    }

    /*【ページ個別】*/
    /* 診療科・部署ページ
------------------------------------------------------------ */
    /*医師紹介ページ*/
    .doctor_box-wrap .doctor_box .doctor-prof {
        align-items: center;
        flex-direction: column;
    }

    .doctor_box-wrap .doctor_box .doctor-prof .photo {
        margin: 0 auto;
    }

    .doctor_box-wrap .doctor_box .doctor-prof .name-post {
        width: 100%;
    }

    .doctor_box h4.name {
        flex-wrap: wrap;
    }

    .doctor_box h4.name span {
        display: block;
        width: 100%;
    }


    /* お問い合わせフォーム body.inquiry .wpcf7
------------------------------------------------------------ */
    main.content .entry-content .wpcf7 form .mailform .form_list dl {
        margin: 0 auto .5em auto;
    }

    main.content .entry-content .wpcf7 form .mailform .form_list dl dt,
    main.content .entry-content .wpcf7 form .mailform .form_list dl dd {
        width: 100%;
    }

    main.content .entry-content .wpcf7 form .mailform .form_list dl dt {
        margin: 0;
        text-align: left;
    }

    /*フォーム入力項目群 - 各項目毎設定*/
    main.content .entry-content .wpcf7 form .mailform .form_list dl.subject input[type="text"],
    main.content .entry-content .wpcf7 form .mailform .form_list dl.affiliation input[type="text"],
    main.content .entry-content .wpcf7 form .mailform .form_list dl.address-addr input[type="text"] {
        max-width: 80%
    }

    main.content .entry-content .wpcf7 form .mailform .form_list dl.name input[type="text"],
    main.content .entry-content .wpcf7 form .mailform .form_list dl.address-city input[type="text"],
    main.content .entry-content .wpcf7 form .mailform .form_list dl.tel input[type="tel"],
    main.content .entry-content .wpcf7 form .mailform .form_list dl.mail input[type="email"] {
        max-width: 80%;
    }

    main.content .entry-content .wpcf7 form .mailform .form_list dl.address-zip input[type="tel"],
    main.content .entry-content .wpcf7 form .mailform .form_list dl.address-pref input[type="text"] {
        max-width: 30%;
    }

    main.content .entry-content .wpcf7 form .mailform .form_list dl.age input[type="text"] {
        max-width: 15%;
    }

    /*フォーム入力項目群 - 個別設定*/
    main.content .entry-content .wpcf7 form .mailform .form_list dl.birth input[type="number"] {
        max-width: 25%;
    }
}

@media(max-width:350px) {

    /*【各ページ・複数ページ 共通】*/
    /* 固定・最上親ページ内子ページリストレイアウト
-------------------------------------------------------------------- */
    main.content .entry-content .child-page-list>ul>li figure p.thumbnail {
        width: 60px;
    }

    main.content .entry-content .child-page-list>ul>li figure figcaption {
        width: calc(100% - 60px);
    }
}