@charset "utf-8";

/* =========================================================================================
全体指定
=========================================================================================*/
.entry-content a {
    text-decoration: underline;
}
.shippori-mincho {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    font-style: normal;
}
.marcellus {
    font-family: "Marcellus", serif;
    font-weight: 400;
    font-style: normal;
}
.cormorant {
    font-family: "Cormorant", serif;
    font-weight: bold;
    font-style: italic;
}

.text-vertical {
    writing-mode: vertical-lr;
    letter-spacing: 0.1em;
    line-height: 1.4;
}

/*NEW*/
.icon-new {
    position: relative;
    z-index: 1;
}
.icon-new::after {
    content: "NEW";
    color: #fff;
    font-size: 12px;
    display: inline-block;
    vertical-align: top;
    background: var(--recruit);
    padding: 0.2em 0.5em 0;
    margin-left: 0.5em;
}

/* 埋め込み動画（YOUTUBE）*/
.iframe-wrap,
.wp-block-embed.wp-block-embed-youtube .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: 0.5em;
}
.iframe-wrap iframe,
.wp-block-embed.wp-block-embed-youtube .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* =========================================================================================
全体指定（採用情報テンプレート選択時）
=========================================================================================*/
/* 共通 */
body.recruit-style #main {
    color: var(--color-base-recruit-font);
    font-weight: var(--weight-regular);
}
body.recruit-style .entry-content a[href^="tel:"],
body.recruit-style .entry-content a[href^="fax:"] {
    color: var(--color-base-recruit-font) !important;
}
@media only screen and (max-width: 468px) {
    /* デフォルト -----------------------------------------*/
    body.recruit-style .entry-content a[href^="tel:"],
    body.recruit-style .entry-content a[href^="fax:"] {
        color: var(--recruit) !important;
    }
    /* 研修医 親・子ページ　--------------------------------*/
    body.resident .entry-content a[href^="tel:"],
    body.resident .entry-content a[href^="fax:"] {
        color: var(--resident) !important;
    }
    /* 看護部 親・子ページ　--------------------------------*/
    body.nurse .entry-content a[href^="tel:"],
    body.nurse .entry-content a[href^="fax:"] {
        color: var(--nurse) !important;
    }
    /* 薬剤師 親・子ページ　--------------------------------*/
    body.pharmacist .entry-content a[href^="tel:"],
    body.pharmacist .entry-content a[href^="fax:"] {
        color: var(--pharmacist) !important;
    }
}

/* =========================================================================================
インデント用のsection
=========================================================================================*/
/*sectionというクラスのついたsectionはｈ2以下をインデントさせる*/
section.wp-block-group.section {
    padding-left: 30px;
    padding-block: 0;
    margin-bottom: 100px;
}
section.wp-block-group.section:last-child {
    margin-bottom: 50px;
}
section.wp-block-group.section h2 {
    translate: -30px 0;
}
@media only screen and (max-width: 820px) {
    section.wp-block-group.section {
        padding-left: 20px;
        margin-bottom: 75px;
    }
    section.wp-block-group.section h2 {
        translate: -20px 0;
    }
}
@media only screen and (max-width: 468px) {
    section.wp-block-group.section {
        padding-left: 15px;
        margin-bottom: 40px;
    }
    section.wp-block-group.section h2 {
        translate: -15px 0;
    }
}

/* =========================================================================================
インデント用のsection（採用情報テンプレート選択時）
=========================================================================================*/
/*sectionというクラスのついたsectionはｈ2以下をインデントさせる*/
body.recruit-style section.wp-block-group.section {
    padding-left: 20px;
    padding-block: 0;
    margin-bottom: 100px;
}
body.recruit-style section.wp-block-group.section h2 {
    translate: -20px 0;
}
@media only screen and (max-width: 820px) {
    body.recruit-style section.wp-block-group.section {
        padding-left: 15px;
        margin-bottom: 75px;
    }
    body.recruit-style section.wp-block-group.section h2 {
        translate: -15px 0;
    }
}
@media only screen and (max-width: 468px) {
    body.recruit-style section.wp-block-group.section {
        padding-left: 10px;
        margin-bottom: 40px;
    }
    body.recruit-style section.wp-block-group.section h2 {
        translate: -10px 0;
    }
}
/* =========================================================================================
リンク関係
=========================================================================================*/
/*リンクアイコン ※画像とボタンは除外する*/
.block-editor-iframe__body a[target="_blank"]:not(:has(img)):not(.wp-block-button__link),
.editor-styles-wrapper a[target="_blank"]:not(:has(img)):not(.wp-block-button__link),
.entry-content a[target="_blank"]:not(:has(img)):not(.wp-block-button__link) {
    color: var(--color-base-font);
}
.block-editor-iframe__body a[target="_blank"]:not(:has(img)):not(.wp-block-button__link)::before,
.editor-styles-wrapper a[target="_blank"]:not(:has(img)):not(.wp-block-button__link)::before,
.entry-content a[target="_blank"]:not(:has(img)):not(.wp-block-button__link)::before {
    content: "";
    background: var(--color-main);
    display: inline-block;
    width: 1em;
    aspect-ratio: 1 / 1;
    -webkit-mask-image: url(assets/images/common/icon_link.svg);
    mask-image: url(assets/images/common/icon_link.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    margin-inline: 0.2em;
    translate: 0 0.1275em;
}
.block-editor-iframe__body a[download]:not(:has(img)):not(.wp-block-button__link),
.editor-styles-wrapper a[download]:not(:has(img)):not(.wp-block-button__link),
.entry-content a[download]:not(:has(img)):not(.wp-block-button__link) {
    color: var(--color-base-font);
}
.block-editor-iframe__body a[download]:not(:has(img)):not(.wp-block-button__link)::before,
.editor-styles-wrapper a[download]:not(:has(img)):not(.wp-block-button__link)::before,
.entry-content a[download]:not(:has(img)):not(.wp-block-button__link)::before {
    content: "";
    background: var(--color-main);
    display: inline-block;
    width: 1em;
    aspect-ratio: 1 / 1;
    -webkit-mask-image: url(assets/images/common/icon_download.svg);
    mask-image: url(assets/images/common/icon_download.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    margin-inline: 0.2em;
    translate: 0 0.1275em;
}
.block-editor-iframe__body a[href$=".pdf"]:not(:has(img)):not(.wp-block-button__link),
.editor-styles-wrapper a[href$=".pdf"]:not(:has(img)):not(.wp-block-button__link),
.entry-content a[href$=".pdf"]:not(:has(img)):not(.wp-block-button__link) {
    color: var(--color-base-font);
}
.block-editor-iframe__body a[href$=".pdf"]:not(:has(img)):not(.wp-block-button__link)::before,
.editor-styles-wrapper a[href$=".pdf"]:not(:has(img)):not(.wp-block-button__link)::before,
.entry-content a[href$=".pdf"]:not(:has(img)):not(.wp-block-button__link)::before {
    content: "";
    background: var(--color-main);
    display: inline-block;
    width: 1.25em;
    aspect-ratio: 1 / 1;
    -webkit-mask-image: url(assets/images/common/icon_pdf.svg);
    mask-image: url(assets/images/common/icon_pdf.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    margin-inline: 0.2em;
    translate: 0 0.25em;
}
.block-editor-iframe__body a[href$=".xls"]:not(:has(img)):not(.wp-block-button__link),
.block-editor-iframe__body a[href$=".xlsx"]:not(:has(img)):not(.wp-block-button__link),
.editor-styles-wrapper a[href$=".xls"]:not(:has(img)):not(.wp-block-button__link),
.editor-styles-wrapper a[href$=".xlsx"]:not(:has(img)):not(.wp-block-button__link),
.entry-content a[href$=".xls"]:not(:has(img)):not(.wp-block-button__link),
.entry-content a[href$=".xlsx"]:not(:has(img)):not(.wp-block-button__link) {
    color: var(--color-base-font);
}
.block-editor-iframe__body a[href$=".xls"]:not(:has(img)):not(.wp-block-button__link)::before,
.block-editor-iframe__body a[href$=".xlsx"]:not(:has(img)):not(.wp-block-button__link)::before,
.editor-styles-wrapper a[href$=".xls"]:not(:has(img)):not(.wp-block-button__link)::before,
.editor-styles-wrapper a[href$=".xlsx"]:not(:has(img)):not(.wp-block-button__link)::before,
.entry-content a[href$=".xls"]:not(:has(img)):not(.wp-block-button__link)::before,
.entry-content a[href$=".xlsx"]:not(:has(img)):not(.wp-block-button__link)::before {
    content: "";
    background: var(--color-main);
    display: inline-block;
    width: 1.25em;
    aspect-ratio: 1 / 1;
    -webkit-mask-image: url(assets/images/common/icon_excel.svg);
    mask-image: url(assets/images/common/icon_excel.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    margin-inline: 0.2em;
    translate: 0 0.25em;
}
.block-editor-iframe__body a[href$=".doc"]:not(:has(img)):not(.wp-block-button__link),
.editor-styles-wrapper a[href$=".doc"]:not(:has(img)):not(.wp-block-button__link),
.entry-content a[href$=".doc"]:not(:has(img)):not(.wp-block-button__link) {
    color: var(--color-base-font);
}
.block-editor-iframe__body a[href$=".doc"]:not(:has(img)):not(.wp-block-button__link)::before,
.editor-styles-wrapper a[href$=".doc"]:not(:has(img)):not(.wp-block-button__link)::before,
.entry-content a[href$=".doc"]:not(:has(img)):not(.wp-block-button__link)::before {
    content: "";
    background: var(--color-main);
    display: inline-block;
    width: 1.25em;
    aspect-ratio: 1 / 1;
    -webkit-mask-image: url(assets/images/common/icon_word.svg);
    mask-image: url(assets/images/common/icon_word.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    margin-inline: 0.2em;
    translate: 0 0.25em;
}
.block-editor-iframe__body a[href^="mailto:"]:not(:has(img)):not(.wp-block-button__link),
.editor-styles-wrapper a[href^="mailto:"]:not(:has(img)):not(.wp-block-button__link),
.entry-content a[href^="mailto:"]:not(:has(img)):not(.wp-block-button__link) {
    color: var(--color-base-font);
}
.block-editor-iframe__body a[href^="mailto:"]:not(:has(img)):not(.wp-block-button__link)::before,
.editor-styles-wrapper a[href^="mailto:"]:not(:has(img)):not(.wp-block-button__link)::before,
.entry-content a[href^="mailto:"]:not(:has(img)):not(.wp-block-button__link)::before {
    content: "";
    background: var(--color-main);
    display: inline-block;
    width: 1.25em;
    aspect-ratio: 1 / 1;
    -webkit-mask-image: url(assets/images/common/icon_mail.svg);
    mask-image: url(assets/images/common/icon_mail.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    margin-inline: 0.2em;
    translate: 0 0.25em;
}
.block-editor-iframe__body a[href^="tel:"]:not(:has(img)):not(.wp-block-button__link),
.editor-styles-wrapper a[href^="tel:"]:not(:has(img)):not(.wp-block-button__link),
.entry-content a[href^="tel:"]:not(:has(img)):not(.wp-block-button__link) {
    color: var(--color-base-font);
}
.block-editor-iframe__body a[href^="tel:"]:not(:has(img)):not(.wp-block-button__link)::before,
.editor-styles-wrapper a[href^="tel:"]:not(:has(img)):not(.wp-block-button__link)::before,
.entry-content a[href^="tel:"]:not(:has(img)):not(.wp-block-button__link)::before {
    content: "";
    background: var(--color-main);
    display: inline-block;
    width: 1.25em;
    aspect-ratio: 1 / 1;
    -webkit-mask-image: url(assets/images/common/icon_tel.svg);
    mask-image: url(assets/images/common/icon_tel.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    margin-inline: 0.2em;
    translate: 0 0.25em;
}

/* =========================================================================================
リンク関係（採用情報テンプレート選択時）
=========================================================================================*/
/* 共通 */
body.recruit-style .block-editor-iframe__body a:not(:has(img)):not(.wp-block-button__link)::before,
body.recruit-style .editor-styles-wrapper a:not(:has(img)):not(.wp-block-button__link)::before,
body.recruit-style .entry-content a:not(:has(img)):not(.wp-block-button__link)::before {
    background: var(--color-base-recruit-font);
}

/* デフォルト -----------------------------------------*/
body.recruit-style .block-editor-iframe__body a:not(:has(img)):not(.wp-block-button__link),
body.recruit-style .editor-styles-wrapper a:not(:has(img)):not(.wp-block-button__link),
body.recruit-style .entry-content a:not(:has(img)):not(.wp-block-button__link) {
    color: var(--recruit);
}
/* 研修医 親・子ページ　--------------------------------*/
body.resident .block-editor-iframe__body a:not(:has(img)):not(.wp-block-button__link),
body.resident .editor-styles-wrapper a:not(:has(img)):not(.wp-block-button__link),
body.resident .entry-content a:not(:has(img)):not(.wp-block-button__link) {
    color: var(--resident);
}
/* 看護部 親・子ページ　--------------------------------*/
body.nurse .block-editor-iframe__body a:not(:has(img)):not(.wp-block-button__link),
body.nurse .editor-styles-wrapper a:not(:has(img)):not(.wp-block-button__link),
body.nurse .entry-content a:not(:has(img)):not(.wp-block-button__link) {
    color: var(--nurse);
}
/* 薬剤師 親・子ページ　--------------------------------*/
body.pharmacist .block-editor-iframe__body a:not(:has(img)):not(.wp-block-button__link),
body.pharmacist .editor-styles-wrapper a:not(:has(img)):not(.wp-block-button__link),
body.pharmacist .entry-content a:not(:has(img)):not(.wp-block-button__link) {
    color: var(--pharmacist);
}

/* =========================================================================================
サイドバー
=========================================================================================*/
/*content-box --------------------------------*/
#main .content-box:has(aside) {
    width: calc(100% - 40px - 40px);
    max-width: var(--contents-width-main);
    display: grid;
    grid-template-columns: 2.75fr minmax(250px, 1fr);
    align-items: start;
    gap: 6.5%;
    margin-inline: auto;
}
#main .content-box:has(aside) > article {
    min-width: 0; /* sliderなどの幅対策 */
}
#main .content-box:has(aside) article .inner {
    width: 100%;
}
@media only screen and (max-width: 980px) {
    #main .content-box:has(aside) {
        display: block;
        width: calc(100% - 20px - 20px);
    }
}
@media only screen and (max-width: 468px) {
}

/* aside ------------------------------------- */
#main .content-box aside {
    padding: 0;
    margin: 0;
}
#main .content-box aside a {
    text-decoration: none !important;
}
#main .content-box aside .side-title {
    color: var(--color-main);
    font-family: "Shippori Mincho", serif;
    font-size: clamp(1.125rem, calc(0.704rem + 1.798vw), 1.625rem); /* min: 18px, max: 26px */
    font-weight: var(--weight-semibold);
    line-height: 1.4;
    width: 100%;
    margin-bottom: 1em;
}
#main .content-box aside .side-nav ul {
    line-height: 1.4;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
}
#main .content-box aside .side-nav ul li a {
    color: var(--color-base-font);
    display: block;
    padding-block: 0.2em 0.3em;
}
#main .content-box aside .side-nav ul li a::before {
    content: "";
    width: 0.6em;
    aspect-ratio: 1 / 1;
    background-color: var(--color-main);
    position: absolute;
    top: 0;
    left: 0.2em;
    z-index: 1;
    -webkit-mask-image: url(assets/images/common/arrow_mask.svg);
    mask-image: url(assets/images/common/arrow_mask.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    translate: 0 0.6em;
    transition: 0.3s;
}
/*1階層*/
#main .content-box aside .side-nav > ul {
    border-bottom: 1px solid #dedede;
}
#main .content-box aside .side-nav > ul > li {
    border-top: 1px solid #dedede;
    padding-block: 0.6em 0.4em;
    padding-left: 1.2em;
    position: relative;
    z-index: 1;
}
#main .content-box aside .side-nav > ul > li > a::before {
    translate: 0 175%;
}
/*2階層*/
#main .content-box aside .side-nav ul li:has(ul) {
}
#main .content-box aside .side-nav ul li .sub-title {
    color: var(--color-main);
    font-family: "Shippori Mincho", serif;
    font-size: clamp(0.875rem, calc(0.559rem + 1.348vw), 1.25rem); /* min: 14px, max: 20px */
    font-weight: var(--weight-semibold);
    margin-block: 0.75em 0.5em;
    translate: -1.2em 0;
}
#main .content-box aside .side-nav ul li ul {
    margin-bottom: 0.5em;
    gap: 0.1em;
}
#main .content-box aside .side-nav ul li ul li {
    padding-left: 1.2em;
    position: relative;
    z-index: 1;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
    #main .content-box aside {
        margin-top: 50px;
    }
}
/*リンクアイコン ※画像とボタンは除外する */
#main .content-box aside a[target="_blank"]:not(:has(img)):not(.wp-block-button__link)::after {
    content: "";
    width: 1em;
    aspect-ratio: 1 / 1;
    background-color: var(--color-main);
    margin-left: 0.25em;
    -webkit-mask-image: url(assets/images/common/icon_link.svg);
    mask-image: url(assets/images/common/icon_link.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
サイドバー（採用情報テンプレート）
=========================================================================================*/
/* デフォルト -------------------------------*/
body.recruit-style #main .content-box aside {
    background: #f4f2f1;
    border: none;
    padding-block: 25px;
    padding-inline: 25px;
}
body.recruit-style #main .content-box aside .side-title {
    color: #fff;
    font-family: "IBM Plex Sans JP", sans-serif;
    font-size: clamp(0.938rem, calc(0.938rem + 0vw), 0.938rem); /* min: 15px, max: 15px */
    text-align: center;
    line-height: 1.4;
    width: 100%;
    padding: 0;
    translate: 0;
    margin: 0;
}
body.recruit-style #main .content-box aside .side-title a {
    color: #fff;
    text-decoration: none !important;
    width: 100%;
    height: 100%;
    min-height: 4em;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    background-color: #77d4fe;
    padding: 1em 1em 0.9em;
    filter: drop-shadow(0 5px 0 #49a9d5);
    transform: translateZ(0);
}
body.recruit-style #main .content-box aside .side-nav ul {
    line-height: 1.4;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 1em 10px;
    margin-top: 1em;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.05));
    transform: translateZ(0);
}
body.recruit-style #main .content-box aside .side-nav ul li {
    font-size: clamp(0.938rem, calc(0.938rem + 0vw), 0.938rem); /* min: 15px, max: 15px */
    width: 100%;
    min-height: 4em;
    border: none;
    padding: 0;
}
body.recruit-style #main .content-box aside .side-nav ul li.half {
    width: calc((100% - 10px) / 2);
}
body.recruit-style #main .content-box aside .side-nav ul li.slim {
    min-height: auto;
}
body.recruit-style #main .content-box aside .side-nav ul li.icon img {
    width: 1.5em;
}
body.recruit-style #main .content-box aside .side-nav ul li a {
    color: var(--color-base-font);
    text-align: center;
    line-height: 1.2;
    text-decoration: none !important;
    width: 100%;
    height: 100%;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25em;
    border-radius: 5px;
    padding: 1em 0.5em 0.75em;
    filter: drop-shadow(0 5px 0 #77d4fe);
    transform: translateZ(0);
    position: relative;
    z-index: 1;
}
body.recruit-style #main .content-box aside .side-nav ul li a.active {
    color: #fff;
    background-color: #77d4fe;
    filter: drop-shadow(0 5px 0 #49a9d5);
}

body.recruit-style #main .content-box aside .side-nav ul li a::before {
    display: none;
}
body.recruit-style #main .content-box aside .side-nav ul li a[target="_blank"]:not(:has(img)):not(.wp-block-button__link)::after {
    translate: 0 -0.1em;
}
/*2階層*/
body.recruit-style #main .content-box aside .side-nav ul li .sub-title {
    color: var(--recruit);
    font-family: "IBM Plex Sans JP", sans-serif;
    font-weight: var(--weight-bold);
    text-align: center;
    margin-block: 0.75em 0.5em;
    translate: 0;
}
body.recruit-style #main .content-box aside .side-nav ul li .sub-title.no-bg a {
    width: fit-content;
    height: auto;
    display: inline-block;
    border-radius: 0;
    background-color: transparent !important;
    padding: 0;
    filter: none !important;
}
body.recruit-style #main .content-box aside .side-nav ul li ul {
    margin-bottom: 1em;
}
body.recruit-style #main .content-box aside .side-nav ul li ul li a {
    padding: 0.75em 0.5em 0.5em;
}
body.recruit-style #main .content-box aside .side-nav ul li ul li a::before {
    display: none;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/*リンクアイコン ※画像とボタンは除外する */
body.recruit-style #main .content-box aside a[target="_blank"]:not(:has(img)):not(.wp-block-button__link)::after {
    width: 0.75em;
    background-color: var(--color-base-font);
    margin: 0;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* 研修医 親・子ページ　--------------------------------*/
body.resident #main .content-box aside .side-title a {
    color: var(--color-base-font);
    background-color: #fff;
    filter: drop-shadow(0 5px 0 #4b859d);
}
body.resident #main .content-box aside .side-nav ul li a {
    filter: drop-shadow(0 5px 0 #4b859d);
    transform: translateZ(0);
}
body.resident #main .content-box aside .side-title a.active,
body.resident #main .content-box aside .side-nav ul li a.active {
    color: #fff !important;
    background-color: #4b859d !important;
    filter: drop-shadow(0 5px 0 var(--resident)) !important;
    transform: translateZ(0);
}
/*2階層*/
body.resident #main .content-box aside .side-nav ul li .sub-title,
body.resident #main .content-box aside .side-nav ul li .sub-title.no-bg a {
    color: var(--resident);
}

/* 看護部 親・子ページ　--------------------------------*/
body.nurse #main .content-box aside .side-nav ul li a {
    filter: drop-shadow(0 5px 0 #ffb8c2);
    transform: translateZ(0);
}
body.nurse #main .content-box aside .side-nav ul li a.active {
    color: #fff !important;
    background-color: #ff8797 !important;
    filter: drop-shadow(0 5px 0 var(--nurse)) !important;
    transform: translateZ(0);
}
/*2階層*/
body.nurse #main .content-box aside .side-nav ul li .sub-title,
body.nurse #main .content-box aside .side-nav ul li .sub-title.no-bg a {
    color: var(--nurse);
}

/* 薬剤師 親・子ページ　--------------------------------*/
body.pharmacist #main .content-box aside .side-title a {
    color: var(--color-base-font);
    background-color: #fff;
    filter: drop-shadow(0 5px 0 #b9cc6a);
}
body.pharmacist #main .content-box aside .side-nav ul li a {
    filter: drop-shadow(0 5px 0 #b9cc6a);
    transform: translateZ(0);
}
body.pharmacist #main .content-box aside .side-title a.active,
body.pharmacist #main .content-box aside .side-nav ul li a.active {
    color: #fff !important;
    background-color: #b9cc6a !important;
    filter: drop-shadow(0 5px 0 var(--pharmacist)) !important;
    transform: translateZ(0);
}
/*2階層*/
body.pharmacist #main .content-box aside .side-nav ul li .sub-title,
body.pharmacist #main .content-box aside .side-nav ul li .sub-title.no-bg a {
    color: var(--pharmacist);
}

/* =========================================================================================
見出し（デフォルト）
=========================================================================================*/
.wp-block-heading {
    word-break: auto-phrase; /* 日本語の改行制御 */
    font-weight: var(--weight-semibold);
    line-height: 1.5;
    margin-bottom: 0.75em;
}
h1.wp-block-heading {
    color: #fff;
    font-family: "Shippori Mincho", serif;
    font-size: clamp(1.25rem, calc(0.197rem + 4.494vw), 2.5rem); /* min: 20px, max: 40px */
    font-weight: var(--weight-semibold);
    line-height: 1.4;
    background: var(--color-main);
    padding: 0.375em 0.5em;
}
h1.wp-block-heading .sub {
    display: block;
    font-size: 0.6em;
    margin-top: 0.1em;
}
h2.wp-block-heading {
    color: var(--color-main);
    font-size: clamp(1.5rem, calc(0.868rem + 2.697vw), 2.25rem); /* min: 24px, max: 36px */
    font-family: "Shippori Mincho", serif;
    font-weight: var(--weight-semibold);
    font-style: normal;
    line-height: 1.4;
    letter-spacing: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: left;
    gap: 0.15em 1em;
    padding-left: 30px;
    margin-bottom: 1.25em;
    position: relative;
    z-index: 1;
}
h2.wp-block-heading .en {
    color: rgb(143, 172, 185, 0.75);
    font-size: clamp(1rem, calc(0.789rem + 0.899vw), 1.25rem); /* min: 16px, max: 20px */
    line-height: 1;
    translate: 0 10%;
}
h2.wp-block-heading::before {
    content: "";
    width: 4px;
    height: 100%;
    background: linear-gradient(to bottom, var(--color-main) 0%, var(--color-main) 50%, rgb(84, 135, 145, 0.25) 50%, rgb(84, 135, 145, 0.25) 100%);
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    z-index: 1;
}
h3.wp-block-heading {
    color: var(--color-main);
    font-family: "Shippori Mincho", serif;
    font-size: clamp(1.313rem, calc(0.838rem + 2.022vw), 1.875rem); /* min: 21px, max: 30px */
    margin-bottom: 0.5em;
}
h4.wp-block-heading {
    color: var(--color-base-font);
    font-size: clamp(1.125rem, calc(0.809rem + 1.348vw), 1.5rem); /* min: 18px, max: 24px */
    line-height: 1.4;
    padding-left: 0.75em;
    position: relative;
    z-index: 1;
}
h4.wp-block-heading::before {
    content: "";
    width: 4px;
    height: 85%;
    background: #8facb9;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
h5.wp-block-heading {
    font-size: clamp(1.063rem, calc(0.904rem + 0.674vw), 1.25rem); /* min: 17px, max: 20px */
    padding-bottom: 0.5em;
    position: relative;
    z-index: 1;
}
h5.wp-block-heading::before {
    content: "";
    width: 55px;
    height: 1px;
    background: var(--color-main);
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
}
h6.wp-block-heading {
    color: var(--color-main);
    font-size: clamp(0.938rem, calc(0.779rem + 0.674vw), 1.125rem); /* min: 15px, max: 18px */
}
@media only screen and (max-width: 820px) {
    h2.wp-block-heading {
        padding-left: 20px;
    }
}
@media only screen and (max-width: 468px) {
    h2.wp-block-heading {
        padding-left: 15px;
    }
}

/* ライン付見出し */
.wp-block-heading.midashi-line {
    color: var(--color-base-font);
    font-family: "Shippori Mincho", serif;
    font-weight: var(--weight-regular);
    font-size: clamp(1.188rem, calc(0.713rem + 2.022vw), 1.75rem); /* min: 19px, max: 28px */
    display: block !important;
}
.wp-block-heading.midashi-line .sub {
    color: var(--color-main);
    font-family: "IBM Plex Sans JP", sans-serif;
    font-size: clamp(1rem, calc(0.631rem + 1.573vw), 1.438rem); /* min: 16px, max: 23px */
    font-weight: var(--weight-medium);
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 0.5em;
    align-items: center;
}
.wp-block-heading.midashi-line .sub::after {
    content: "";
    width: 100%;
    height: 1px;
    background: var(--color-main);
}

/* 英語付見出し */
.wp-block-heading.midashi-en {
    color: var(--color-base-font);
    font-family: "Shippori Mincho", serif;
    font-weight: var(--weight-regular);
    font-size: clamp(1.375rem, calc(0.427rem + 4.045vw), 2.5rem); /* min: 22px, max: 40px */
    display: block !important;
    margin-bottom: 0.75em !important;
}
.wp-block-heading.midashi-en .sub {
    color: rgb(143, 172, 185, 0.75);
    font-size: clamp(1rem, calc(0.789rem + 0.899vw), 1.25rem); /* min: 16px, max: 20px */
    line-height: 1;
    display: block;
    width: 100%;
}
.wp-block-heading.midashi-en a:hover {
    text-decoration: none !important;
}

/* 県民公開講座 */
.wp-block-heading.kouza .held {
    color: var(--color-base-font);
    font-size: 0.6em;
}
.wp-block-heading.kouza .sub {
    font-size: 0.6em;
    display: block;
}

/* =========================================================================================
見出し（採用情報テンプレート選択時）
=========================================================================================*/
/* デフォルト -------------------------------*/
body.recruit-style h1.wp-block-heading {
    color: var(--color-base-font);
    font-size: clamp(2.188rem, calc(1.397rem + 3.371vw), 3.125rem); /* min: 35px, max: 50px */
    font-weight: var(--weight-regular);
    background: transparent;
    padding: 0;
}
body.recruit-style h2.wp-block-heading {
    color: var(--recruit);
    font-size: clamp(1.75rem, calc(1.381rem + 1.573vw), 2.188rem); /* min: 28px, max: 35px */
    font-weight: var(--weight-regular);
    padding: 0;
}
body.recruit-style h2.wp-block-heading::before {
    display: none;
}
body.recruit-style h2.wp-block-heading .en {
    color: var(--recruit);
}
body.recruit-style h3.wp-block-heading {
    color: var(--recruit);
    font-family: "IBM Plex Sans JP", sans-serif;
    font-size: clamp(1.25rem, calc(1.092rem + 0.674vw), 1.438rem); /* min: 20px, max: 23px */
}
body.recruit-style h4.wp-block-heading {
    font-size: clamp(1rem, calc(0.789rem + 0.899vw), 1.25rem); /* min: 16px, max: 20px */
}
body.recruit-style h4.wp-block-heading::before {
    background: #77d4fe;
}
body.recruit-style h5.wp-block-heading::before {
    background: var(--recruit);
}
body.recruit-style h6.wp-block-heading {
    color: var(--recruit);
}

/* ライン付見出し */
body.recruit-style .wp-block-heading.midashi-line {
    color: var(--color-base-font);
    font-family: "Shippori Mincho", serif;
    font-weight: var(--weight-regular);
    font-size: clamp(1.188rem, calc(0.713rem + 2.022vw), 1.75rem); /* min: 19px, max: 28px */
    display: block !important;
    margin-bottom: 0.5em;
}
body.recruit-style .wp-block-heading.midashi-line .sub {
    color: var(--recruit);
    font-family: "IBM Plex Sans JP", sans-serif;
    font-size: clamp(1rem, calc(0.631rem + 1.573vw), 1.438rem); /* min: 16px, max: 23px */
    font-weight: var(--weight-medium);
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 0.5em;
    align-items: center;
}
body.recruit-style .wp-block-heading.midashi-line .sub::after {
    content: "";
    width: 100%;
    height: 1px;
    background: var(--recruit);
}
/* 英語付見出し */
body.recruit-style .wp-block-heading.midashi-en {
    color: var(--recruit);
    font-family: "Shippori Mincho", serif;
    font-weight: var(--weight-regular);
    font-size: clamp(1.375rem, calc(0.427rem + 4.045vw), 2.5rem); /* min: 22px, max: 40px */
    display: block !important;
    margin-bottom: 0.5em;
}
body.recruit-style .wp-block-heading.midashi-en .sub {
    color: #8d7f76;
    font-family: "Hanken Grotesk", sans-serif;
    font-size: clamp(0.938rem, calc(0.411rem + 2.247vw), 1.563rem); /* min: 15px, max: 25px */
    font-weight: var(--weight-medium);
    text-indent: 0.15em;
    width: 100%;
    display: block;
    margin-bottom: 0.2em;
}

@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* 研修医 親・子ページ　--------------------------------*/
body.resident h1.wp-block-heading {
    background: var(--resident);
}
body.resident h2.wp-block-heading {
    color: var(--resident);
    padding: 0;
}
body.resident h2.wp-block-heading .en {
    color: var(--resident);
}
body.resident h3.wp-block-heading {
    color: var(--resident);
}
body.resident h4.wp-block-heading::before {
    background: #4b859d;
}
body.resident h5.wp-block-heading::before {
    background: var(--resident);
}
body.resident h6.wp-block-heading {
    color: var(--resident);
}
/* ライン付見出し */
body.resident .wp-block-heading.midashi-line .sub {
    color: var(--resident);
}
body.resident .wp-block-heading.midashi-line .sub::after {
    background: var(--resident);
}
/* 英語付見出し */
body.resident .wp-block-heading.midashi-en {
    color: var(--resident);
}

/* 看護部 親・子ページ　--------------------------------*/
body.nurse h1.wp-block-heading {
    background: var(--nurse);
}
body.nurse h2.wp-block-heading {
    color: var(--nurse);
    padding: 0;
}
body.nurse h2.wp-block-heading .en {
    color: var(--nurse);
}
body.nurse h3.wp-block-heading {
    color: var(--nurse);
}
body.nurse h4.wp-block-heading::before {
    background: #ff8797;
}
body.nurse h5.wp-block-heading::before {
    background: var(--nurse);
}
body.nurse h6.wp-block-heading {
    color: var(--nurse);
}
/* ライン付見出し */
body.nurse .wp-block-heading.midashi-line .sub {
    color: var(--nurse);
}
body.nurse .wp-block-heading.midashi-line .sub::after {
    background: var(--nurse);
}
/* 英語付見出し */
body.nurse .wp-block-heading.midashi-en {
    color: var(--nurse);
}

/* 薬剤師 親・子ページ　--------------------------------*/
body.pharmacist h1.wp-block-heading {
    background: var(--pharmacist);
}
body.pharmacist h2.wp-block-heading {
    color: var(--pharmacist);
    padding: 0;
}
body.pharmacist h2.wp-block-heading .en {
    color: var(--pharmacist);
}
body.pharmacist h3.wp-block-heading {
    color: var(--pharmacist);
}
body.pharmacist h4.wp-block-heading::before {
    background: #add700;
}
body.pharmacist h5.wp-block-heading::before {
    background: var(--pharmacist);
}
body.pharmacist h6.wp-block-heading {
    color: var(--pharmacist);
}
/* ライン付見出し */
body.pharmacist .wp-block-heading.midashi-line .sub {
    color: var(--pharmacist);
}
body.pharmacist .wp-block-heading.midashi-line .sub::after {
    background: var(--pharmacist);
}
/* 英語付見出し */
body.pharmacist .wp-block-heading.midashi-en {
    color: var(--pharmacist);
}

/* =========================================================================================
段落
=========================================================================================*/
/*デフォルトのスペース*/
.entry-content .inner > p,
.wp-block-group > p,
.wp-block-group__inner-container > p {
    margin-bottom: 1em;
}
/*本文（特大）*/
.has-x-large-font-size {
    font-size: clamp(1.25rem, calc(0.197rem + 4.494vw), 2.5rem) !important; /* min: 20px, max: 40px */
    font-weight: var(--weight-bold);
    line-height: 1.5;
}
/*本文（大）*/
.has-large-font-size {
    font-size: clamp(1rem, calc(0.789rem + 0.899vw), 1.25rem) !important; /* min: 16px, max: 20px */
    font-weight: var(--weight-medium);
}
/*本文（中）*/
.has-medium-font-size {
    font-size: clamp(0.875rem, calc(0.664rem + 0.899vw), 1.125rem) !important; /* min: 14px, max: 18px */
    font-weight: var(--weight-regular);
}
/*本文（小）*/
.has-small-font-size {
    /*font-size: clamp(0.625rem, calc(0.362rem + 1.124vw), 0.938rem) !important; /* min: 10px, max: 15px */
    font-size: clamp(0.75rem, calc(0.592rem + 0.674vw), 0.938rem) !important; /* min: 12px, max: 15px */
    font-weight: var(--weight-regular);
}

/* =========================================================================================
画像
=========================================================================================*/
/* 角丸 */
.wp-block-image.is-style-rounded img {
    border-radius: 10px;
}

/* 小さい画像を引き延ばす　.stretchを付与*/
.wp-block-image.stretch img {
    width: 100%;
    max-width: none;
}

/* 画像に枠をつける*/
.wp-block-image.border img {
    border: 1px solid var(--color-gray);
}
.wp-block-image :where(figcaption) {
    margin-top: 0;
    margin-bottom: 0;
}

/*キャプション*/
.wp-element-caption {
    font-size: clamp(0.75rem, calc(0.592rem + 0.674vw), 0.938rem) !important; /* min: 12px, max: 15px */
    line-height: 1.4;
    padding-bottom: 0 !important;
}

/*回り込み*/
.wp-block-image .alignright {
    width: fit-content;
    max-width: 40%;
    float: right;
    margin: 0.5em 0 1em 2em;
}
.wp-block-image .alignleft {
    width: fit-content;
    max-width: 40%;
    float: left;
    margin: 0.5em 2em 1em 0;
}
@media only screen and (max-width: 820px) {
    .wp-block-image .alignright,
    .wp-block-image .alignleft {
        float: none;
        max-width: none;
        margin: 0 auto 1em;
    }
}

/* =========================================================================================
埋め込み
=========================================================================================*/
/* 横幅を制御 */
.wp-block-embed__wrapper .wp-video {
    width: 100% !important;
}
.wp-block-embed__wrapper .wp-video {
    width: 100% !important;
}

/* 線をつける */
.wp-block-embed.border {
    border: 1px solid var(--color-gray);
}

/* =========================================================================================
ボタン
=========================================================================================*/
.btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    padding: 0;
}
.wp-block-buttons {
    display: flex;
    align-items: stretch;
}
.btn a,
.wp-block-button a {
    color: var(--color-main);
    font-size: clamp(0.75rem, calc(0.329rem + 1.798vw), 1.25rem); /* min: 12px, max: 20px */
    font-weight: var(--weight-medium);
    line-height: 1.4;
    text-decoration: none;
    background: #fff;
    border-radius: 5px;
    padding: 0.7em 2.5em 0.6em 1.25em;
    position: relative;
    z-index: 1;
    transition: 0.3s;
    box-shadow: inset 0px 0px 4px 0px rgba(0, 0, 0, 0.3);
}
.btn a[target="_blank"],
.wp-block-button a[target="_blank"] {
    background-image: none;
}
.btn a {
    min-width: 220px;
}
.wp-block-button a {
    height: 100%;
    min-width: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background-image: none;
}

.btn a::after,
.wp-block-button a::after {
    content: "";
    background: var(--color-main);
    width: 0.75em;
    aspect-ratio: 1 / 1;
    position: absolute;
    right: 0.5em;
    top: 50%;
    translate: 0 -50%;
    transition: 0.3s;

    -webkit-mask-image: url(assets/images/common/arrow_mask.svg);
    mask-image: url(assets/images/common/arrow_mask.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transform: none;
    transition: 0.3s;
    z-index: 2;
}
.btn a:hover,
.wp-block-button a:hover {
    color: #fff;
    background-color: var(--color-main);
    text-decoration: none;
    opacity: 1;
    box-shadow: inset 0px 0px 8px 0px rgba(0, 0, 0, 0.15);
}
.btn a:hover::after,
.wp-block-button a:hover::after {
    background: #fff;
}

/*color-white*/
.btn a.white {
    color: var(--color-base-font);
    background-color: #fff;
}
.btn a.white:hover {
    color: #fff;
    background-color: var(--color-base-font);
    border-color: #fff;
}
.btn a.white::after {
    background: var(--color-base-font);
}
.btn a.white:hover:after {
    background: #fff;
}

/*color-member*/
.btn a.member {
    font-size: clamp(0.875rem, calc(0.559rem + 1.348vw), 1.25rem); /* min: 14px, max: 20px */
    font-weight: var(--weight-semibold);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    padding: 0.9em 3em 0.7em 2em;
}
.btn a.member span.icon {
    background: var(--color-main);
    width: 1.25em;
    aspect-ratio: 1 / 1;
    -webkit-mask-image: url(assets/images/common/icon_member.svg);
    mask-image: url(assets/images/common/icon_member.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    translate: 0 -12.5%;
    transition: 0.3s;
}
.btn a.member:hover span.icon {
    background-color: #fff;
}
.btn a.member::before {
    display: none;
}
.btn a.member::after {
    content: "";
    width: 1.3em;
    aspect-ratio: 1 / 1;
    border-radius: 0;
    background: var(--color-main);
    -webkit-mask-image: url(assets/images/common/arrow_mask02.svg);
    mask-image: url(assets/images/common/arrow_mask02.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transform: none;
    position: absolute;
    right: 0.75em;
    top: 50%;
    translate: 0 -50%;
    transition: 0.3s;
    z-index: 2;
}
.btn a.member:hover::after {
    background: #fff;
}

/*btn - PDF*/
.wp-block-button a[href*=".pdf"] {
    min-width: auto;
    padding-left: 2.5em !important;
}
.wp-block-button a[href*=".pdf"]::before {
    content: "";
    background: var(--color-main);
    width: 1.25em;
    aspect-ratio: 1 / 1;
    border-radius: 0;
    position: absolute;
    right: suto;
    left: 1em;
    top: 50%;
    translate: 0 -50%;
    z-index: 1;
    -webkit-mask-image: url(assets/images/common/icon_pdf.svg);
    mask-image: url(assets/images/common/icon_pdf.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: 0.3s;
}
.wp-block-button a[href$=".pdf"]:hover::before {
    background: #fff;
}

/*btn - 吹き出し*/
.wp-block-buttons.fukidashi .wp-block-button a {
    color: #fff !important;
    font-size: clamp(0.75rem, calc(0.434rem + 1.348vw), 1.125rem); /* min: 12px, max: 18px */
    background: var(--color-main) !important;
    padding: 0.75em 0.75em 0.5em;
    margin-top: 0.5em;
}
.wp-block-buttons.fukidashi .wp-block-button a:hover {
    opacity: 0.7;
}
.wp-block-buttons.fukidashi .wp-block-button a::after {
    aspect-ratio: 4/3;
    background: var(--color-main) !important ;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    top: 0;
    left: 50%;
    right: auto;
    translate: -50% -80%;
    mask: none !important;
}
.wp-block-buttons.fukidashi .wp-block-button a[href*=".pdf"]::before {
    background: #fff;
}

@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
    .btn a {
        min-width: 110px;
    }
}

/* =========================================================================================
ボタン（採用情報テンプレート選択時）
=========================================================================================*/
/* デフォルト ------------------------------------------------------ */
body.recruit-style .wp-block-button a {
    color: var(--recruit);
    border: 1px solid #77d4fe;
    border-radius: 10px;
    padding: 1em 2.25em 0.75em 0.75em;
    box-shadow: none;
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
    transform: translateZ(0);
}
body.recruit-style .wp-block-button a::after {
    width: 1.25em;
    background: #77d4fe;
    -webkit-mask-image: url(assets/images/common/arrow_mask02.svg);
    mask-image: url(assets/images/common/arrow_mask02.svg);
    translate: 0 -45%;
}
body.recruit-style .wp-block-button a:hover {
    color: #fff !important;
    background-color: #77d4fe;
}
body.recruit-style .wp-block-button a:hover::after {
    background: #fff;
}
/*color-member*/
body.recruit .btn a.member,
body.recruit-style .btn a.member {
    color: var(--recruit);
}
body.recruit .btn a.member span.icon,
body.recruit-style .btn a.member span.icon {
    background: var(--recruit);
}
body.recruit .btn a.member::after,
body.recruit-style .btn a.member::after {
    background: var(--recruit);
}
body.recruit .btn a.member:hover,
body.recruit-style .btn a.member:hover {
    color: #fff;
    background: var(--recruit);
}
body.recruit .btn a.member:hover span.icon,
body.recruit-style .btn a.member:hover span.icon {
    background-color: #fff;
}
body.recruit .btn a.member:hover::after,
body.recruit-style .btn a.member:hover::after {
    background: #fff;
}
/*btn - 吹き出し*/
body.recruit .wp-block-buttons.fukidashi .wp-block-button a,
body.recruit-style .wp-block-buttons.fukidashi .wp-block-button a,
body.recruit .wp-block-buttons.fukidashi .wp-block-button a::after,
body.recruit-style .wp-block-buttons.fukidashi .wp-block-button a::after {
    background: var(--recruit) !important;
}

/* 研修医 ------------------------------------------------------------ */
body.resident .wp-block-button a {
    color: var(--resident);
    border: 1px solid #4b859d;
    border-radius: 10px;
    padding: 1em 2.25em 0.75em 0.75em;
    box-shadow: none;
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
    transform: translateZ(0);
}
body.resident .wp-block-button a::after {
    width: 1.25em;
    background: #4b859d;
    -webkit-mask-image: url(assets/images/common/arrow_mask02.svg);
    mask-image: url(assets/images/common/arrow_mask02.svg);
    translate: 0 -45%;
}
body.resident .wp-block-button a:hover {
    color: #fff !important;
    background-color: #4b859d;
}
body.resident .wp-block-button a:hover::after {
    background: #fff;
}
/*color-member*/
body.resident .btn a.member {
    color: var(--resident);
    background: #fff;
}
body.resident .btn a.member span.icon {
    background: var(--resident);
}
body.resident .btn a.member::after {
    background: var(--resident);
}
body.resident .btn a.member:hover {
    color: #fff;
    background: var(--resident);
}
body.resident .btn a.member:hover span.icon {
    background-color: #fff;
}
body.resident .btn a.member:hover::after {
    background: #fff;
}
/*btn - 吹き出し*/
body.resident .wp-block-buttons.fukidashi .wp-block-button a,
body.resident .wp-block-buttons.fukidashi .wp-block-button a::after {
    background: var(--resident) !important;
}

/* 看護部 ------------------------------------------------------------ */
body.nurse .wp-block-button a {
    color: var(--nurse);
    border: 1px solid #ff8797;
    border-radius: 10px;
    padding: 1em 2.25em 0.75em 0.75em;
    box-shadow: none;
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
    transform: translateZ(0);
}
body.nurse .wp-block-button a::after {
    width: 1.25em;
    background: #ff8797;
    -webkit-mask-image: url(assets/images/common/arrow_mask02.svg);
    mask-image: url(assets/images/common/arrow_mask02.svg);
    translate: 0 -45%;
}
body.nurse .wp-block-button a:hover {
    color: #fff !important;
    background-color: #ff8797;
}
body.nurse .wp-block-button a:hover::after {
    background: #fff;
}
/*color-member*/
body.nurse .btn a.member {
    color: var(--nurse);
    background: #fff;
}
body.nurse .btn a.member span.icon {
    background: var(--nurse);
}
body.nurse .btn a.member::after {
    background: var(--nurse);
}
body.nurse .btn a.member:hover {
    color: #fff;
    background: var(--nurse);
}
body.nurse .btn a.member:hover span.icon {
    background-color: #fff;
}
body.nurse .btn a.member:hover::after {
    background: #fff;
}
/*btn - 吹き出し*/
body.nurse .wp-block-buttons.fukidashi .wp-block-button a,
body.nurse .wp-block-buttons.fukidashi .wp-block-button a::after {
    background: var(--nurse) !important;
}

/* 薬剤師 ------------------------------------------------------------ */
body.pharmacist .wp-block-button a {
    color: var(--pharmacist);
    border: 1px solid #add700;
    border-radius: 10px;
    padding: 1em 2.25em 0.75em 0.75em;
    box-shadow: none;
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
    transform: translateZ(0);
}
body.pharmacist .wp-block-button a::after {
    width: 1.25em;
    background: #add700;
    -webkit-mask-image: url(assets/images/common/arrow_mask02.svg);
    mask-image: url(assets/images/common/arrow_mask02.svg);
    translate: 0 -45%;
}
body.pharmacist .wp-block-button a:hover {
    color: #fff !important;
    background-color: #add700;
}
body.pharmacist .wp-block-button a:hover::after {
    background: #fff;
}
/*color-member*/
body.pharmacist .btn a.member {
    color: var(--pharmacist);
    background: #fff;
}
body.pharmacist .btn a.member span.icon {
    background: var(--pharmacist);
}
body.pharmacist .btn a.member::after {
    background: var(--pharmacist);
}
body.pharmacist .btn a.member:hover {
    color: #fff;
    background: var(--pharmacist);
}
body.pharmacist .btn a.member:hover span.icon {
    background-color: #fff;
}
body.pharmacist .btn a.member:hover::after {
    background: #fff;
}
/*btn - 吹き出し*/
body.pharmacist .wp-block-buttons.fukidashi .wp-block-button a,
body.pharmacist .wp-block-buttons.fukidashi .wp-block-button a::after {
    background: var(--pharmacist) !important;
}

/* =========================================================================================
区切り
=========================================================================================*/
hr,
.wp-block-separator {
    width: 100%;
    height: 1px;
    border: none;
    background-color: var(--color-gray);
    margin: 1em 0;
}
.wp-block-separator.is-style-dots {
    width: 100%;
    height: 1px;
    border-bottom: 1px dotted var(--color-gray) !important;
    margin: 1em 0;
}
.wp-block-separator.is-style-dots::before {
    display: none;
}
@media only screen and (max-width: 820px) {
}

/* =========================================================================================
テーブル
=========================================================================================*/
.wp-block-table table,
.entry-content table {
    border-spacing: 0;
    border-top: 2px solid #98a6b5;
    border-bottom: 2px solid #98a6b5;
}
.wp-element-caption,
.entry-content .caption,
.wp-block-flexible-table-block-table figcaption {
    color: var(--color-base-font);
    padding: 0.5em 0;
}
.wp-block-table thead th {
    border-bottom: none;
}
.wp-block-table th,
.wp-block-table td,
.entry-content th,
.entry-content td,
dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dt,
dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dd {
    padding: 0.75em;
    text-align: left;
    vertical-align: top;
    border: none;
    position: relative;
}
.wp-block-table th small,
.entry-content th small,
dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dt small {
    font-size: 0.75em;
    display: inline-block;
    line-height: 1.2;
}
.wp-block-table th,
.wp-block-table td strong,
.entry-content th,
dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dt {
    color: var(--color-main);
}
.wp-block-table tr th:first-child,
.wp-block-table tr td:first-child,
.entry-content tr th:first-child,
.entry-content tr td:first-child {
    border-left: none !important;
}
.wp-block-table tr th:last-child,
.wp-block-table tr td:last-child,
.entry-content tr th:last-child,
.entry-content tr td:last-child {
    border-right: none !important;
}
.wp-block-table.is-style-stripes .wp-element-caption {
    border-top: 2px solid;
}
@media only screen and (max-width: 820px) {
    .is-stacked-on-mobile th,
    .is-stacked-on-mobile td {
        border-left: none !important;
        border-right: none !important;
    }
    .wp-block-table th,
    .entry-content th,
    .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th,
    dl.wp-block-chikamori-table > dt {
        padding: 0.4em 0.75em 0.3em;
        border-bottom: none;
    }
    .wp-block-table td,
    .entry-content td,
    .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td,
    dl.wp-block-chikamori-table > dd {
        border-top: none;
    }
    /* スクロール時の文言 */
    .wp-block-flexible-table-block-table.is-scroll-on-mobile::before {
        content: "▼横にスクロールしてご覧ください";
        color: var(--color-main);
        line-height: 1.4;
        display: block;
        width: 100%;
        margin-bottom: 0.5em;
    }
}

/* カスタムtable ※820ox以下で段落ち*/
dl.wp-block-chikamori-table {
    font-size: clamp(0.75rem, calc(0.434rem + 1.348vw), 1.125rem); /* min: 12px, max: 18px */
    border-top: 2px solid var(--color-gray);
    border-bottom: 1px solid var(--color-gray);
    width: 100%;
    margin: 0;
}
dl.wp-block-chikamori-table .wp-block-chikamori-table-item {
    display: grid;
    grid-template-columns: minmax(30%, 1fr) 3fr;
    align-items: stretch;
    border-bottom: 1px solid var(--color-gray);
}
dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dt {
    color: var(--color-main);
    font-weight: var(--weight-bold);
    white-space: nowrap;
    width: 100%;
    height: 100%;
    background-color: #edf3f4;
    margin: 0;
}
dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dd {
    width: 100%;
    min-width: 0;
    margin: 0;
}
@media only screen and (max-width: 820px) {
    /* dl.wp-block-chikamori-table .wp-block-chikamori-table-item {
        display: block;
    }
    dl.wp-block-chikamori-table .wp-block-chikamori-table-item .chikamori-dt-area > dt {
        padding: 0.4em 0.75em 0.3em;
    } */
}

/* logo-table */
table.logo-table {
    border-spacing: 0;
    border: 1px solid var(--color-gray);
    border-bottom: none;
    margin: 20px;
}
table.logo-table th,
table.logo-table td {
    line-height: 1.4;
    text-align: center;
    border-right: 1px solid var(--color-gray);
}
table.logo-table th {
    color: var(--color-main);
    background-color: #edf3f4;
    border-bottom: 1px solid var(--color-gray);
    padding: 0.75em 0.5em 0.5em;
}
table.logo-table td {
    padding: 0.5em;
}
table.logo-table tr.img td:nth-child(4) {
    background: #bfbfbf;
}
table.logo-table tr.img td:nth-child(5) {
    background: #595959;
}
table.logo-table td.name {
    font-weight: var(--weight-bold);
    writing-mode: vertical-rl;
    letter-spacing: 0.25em;
    padding: 0.5em !important;
}
table.logo-table tr.img td:first-child,
table.logo-table tr.download td {
    border-bottom: 1px solid var(--color-gray);
}
table.logo-table tr.img td {
    padding: 2em;
}
table.logo-table tr.download td {
    padding: 1em 0.5em 0.8em;
}
table.logo-table tr.download td a {
    margin-inline: 1em;
}
@media only screen and (max-width: 820px) {
    table.logo-table {
        margin-inline: 0;
    }
    table.logo-table tr.img td {
        padding: 1em 0.25em;
    }
    table.logo-table tr.download td a {
        margin-inline: 0.5em;
    }
}
@media only screen and (max-width: 468px) {
    table.logo-table td.name {
        padding: 0.25em !important;
    }
    table.logo-table tr.download td a {
        margin-inline: 0;
    }
}

/* 段落ちテーブル */
table.mb-block {
}
@media only screen and (max-width: 820px) {
    table.mb-block th,
    table.mb-block td {
        display: block;
    }
}

@media only screen and (max-width: 468px) {
}

/*テーブルのscroll（カスタムHTMLにて手動設定のとき） */
/*※scroll直下のテーブルのmin-widthはstyle="min-width:〇〇px"で直接指定*/
.scroll-box {
    width: 100%;
    overflow: auto;
}
@media only screen and (max-width: 820px) {
    /* スクロール時の文言 */
    .scroll-box::before {
        content: "▼横にスクロールしてご覧ください";
        color: var(--color-main);
        line-height: 1.4;
        display: block;
        width: 100%;
        margin-bottom: 0.5em;
    }
}

/* =========================================================================================
テーブル（採用情報テンプレート選択時）
=========================================================================================*/
/* recruit-table*/
body.recruit-style .wp-block-table table,
body.recruit-style .entry-content table,
body.recruit-style dl.wp-block-chikamori-table {
    font-weight: var(--weight-medium);
    border-top: 1px solid #d3d0cf;
    border-bottom: none;
}
body.recruit-style .wp-block-table th,
body.recruit-style .entry-content th,
body.recruit-style .wp-block-table td,
body.recruit-style .entry-content td {
    border-bottom: 1px solid #d3d0cf;
}
body.recruit-style .wp-block-table th,
body.recruit-style .entry-content th,
body.recruit-style .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th,
body.recruit-style .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th strong,
body.recruit-style dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dt {
    color: var(--color-base-recruit-font);
    font-weight: var(--weight-medium);
    white-space: wrap;
    background-color: #f9f9f9;
}
body.recruit-style .wp-block-table th strong,
body.recruit-style .entry-content th strong,
body.recruit-style dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dt strong {
    font-weight: var(--weight-medium);
}
body.recruit-style .wp-block-table th,
body.recruit-style .entry-content th,
body.recruit-style .wp-block-table td,
body.recruit-style .entry-content td,
body.recruit-style dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dt,
body.recruit-style dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dd {
    padding: 1em 1.5em;
}
@media only screen and (max-width: 820px) {
    body.recruit-style .wp-block-table th,
    body.recruit-style .entry-content th,
    body.recruit-style .wp-block-table td,
    body.recruit-style .entry-content td,
    body.recruit-style dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dt,
    body.recruit-style dl.wp-block-chikamori-table .wp-block-chikamori-table-item > dd {
        padding: 1em;
    }
}

/* =========================================================================================
リスト
=========================================================================================*/
/* ul.list*/
ul.wp-block-list,
ul.list {
    display: flex;
    flex-direction: column;
    list-style: none;
    gap: 0.5em;
    padding: 0;
    margin: 0.5em 0;
}
ul.wp-block-list li,
ul.list li {
    padding-left: 1.25em;
    line-height: 1.6;
    position: relative;
}
ul.wp-block-list li::before,
ul.list li::before {
    position: absolute;
    content: "";
    background: #a9c3c8;
    width: 0.8em;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    top: 0.25em;
    left: 0;
}
/* 第二階層 */
ul.wp-block-list ul.wp-block-list li {
}
ul.wp-block-list ul.wp-block-list li::before {
    background: var(--color-base-font);
    width: 0.2em;
    top: 0.6em;
    left: 0.4em;
    opacity: 1;
}

/* ol.list*/
ol.wp-block-list,
ol.list {
    /*list-style: none;
	counter-reset: number;*/
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    padding: 0;
    margin: 0.5em 0 0.5em 1.375em;
}
ol.wp-block-list li,
ol.list li {
    line-height: 1.6;
    position: relative;
}
ol.wp-block-list li::marker,
ol.list li::marker {
    color: var(--color-main);
    font-weight: var(--weight-bold);
}
ol.my-counter {
    counter-reset: my-counter;
    list-style: none;
}
ol.my-counter li:before {
    content: counter(my-counter);
    counter-increment: my-counter;
    font-size: 0.7em;
    line-height: 1em;
    text-align: center;
    display: block;
    position: absolute;
    top: 0.6em;
    left: 0;
    z-index: 1;
}
ol.my-counter li::after {
    content: "";
    width: 1em;
    aspect-ratio: 1 / 1;
    border: 1px solid;
    border-radius: 50%;
    position: absolute;
    top: 0.2em;
    left: 0;
    z-index: 1;
}

/*List - note*/
ul.note {
    list-style: none;
}
ul.note li {
    position: relative;
    z-index: 1;
}
ul.note li:before {
    content: "※";
    background: none !important;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
ul.note.count {
    counter-reset: my-counter;
}
ul.note.count li {
    padding-left: 2.5em;
}
ul.note.count li:before {
    content: "※" counter(my-counter);
    counter-increment: my-counter;
    white-space: nowrap;
}

/*リンク付きリスト*/
ul.link li::before {
    content: "";
    background: var(--color-main);
    width: 0.75em;
    aspect-ratio: 1 / 1;
    position: absolute;
    left: 0;
    top: 0.3em;
    translate: 0 0;
    -webkit-mask-image: url(assets/images/common/arrow_mask.svg);
    mask-image: url(assets/images/common/arrow_mask.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transform: none;
    transition: 0.3s;
    z-index: 2;
}
ul.link.right li {
    width: fit-content;
    padding-left: 0;
    padding-right: 1em;
}
ul.link.right li::before {
    content: "";
    left: auto;
    right: 0;
}
/* ul.link li a[target="_blank"] {
    padding-left: 0;
    padding-right: 1.25em;
    background: url(assets/images/common/icon_link.svg) no-repeat top 30% right / 0.9em;
} */

/*List - tag*/
ul.tag {
    width: fit-content !important;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: left;
    gap: 0.5em;
}
ul.tag + ul.tag {
    margin-top: 1em;
    border-top: 1px dotted var(--color-gray);
}
ul.tag li {
    width: fit-content !important;
    border: 1px solid var(--color-gray);
    padding: 0.6em 1em 0.4em;
    border-radius: 10px;
    margin: 0;
}
ul.tag li::before {
    display: none;
}

/*SNSリスト*/
ul.sns-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.75em 1.5em;
}
ul.sns-list li::before,
ul.sns-list li::after {
    display: none;
}
ul.sns-list li {
    padding: 0;
}
ul.sns-list li a {
    color: var(--color-base-font);
    text-decoration: none;
    background: none !important;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5em;
    padding: 0 !important;
}
ul.sns-list li a::before {
    content: "";
    width: 2em !important;
    aspect-ratio: 1 / 1 !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    margin-inline: 0 !important;
    translate: 0 -5% !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
ul.sns-list li.facebook a::before {
    background-image: url(assets/images/common/icon_facebook.svg) !important;
}
ul.sns-list li.instagram a::before {
    background-image: url(assets/images/common/icon_instagram.svg) !important;
}
ul.sns-list li.line a::before {
    background-image: url(assets/images/common/icon_line.svg) !important;
}

/* ULをカラム表示したいとき */
/* 2列 */
ul.wp-block-list.column-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 1em;
}
/* 3列 */
ul.wp-block-list.column-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 1em;
}
/* 4列 */
ul.wp-block-list.column-3 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 1em;
}
@media only screen and (max-width: 820px) {
    ul.wp-block-list.column-3,
    ul.wp-block-list.column-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media only screen and (max-width: 468px) {
    ul.wp-block-list.column-2,
    ul.wp-block-list.column-3,
    ul.wp-block-list.column-4 {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* 近森専用パターン　-　理念のリスト */
ol.philosophy-list {
    counter-reset: my-counter;
    list-style: none;
    gap: 4em;
    margin-top: 5em;
    margin-left: 0;
}
ol.philosophy-list li {
    font-family: "Shippori Mincho", serif;
    font-size: clamp(1rem, calc(0.579rem + 1.798vw), 1.5rem); /* min: 16px, max: 24px */
    font-weight: var(--weight-medium);
    line-height: 2;
    padding-left: 4em;
    position: relative;
    z-index: 1;
}
ol.philosophy-list li:before {
    content: counter(my-counter) ".";
    counter-increment: my-counter;
    color: var(--color-main);
    font-family: "Shippori Mincho", serif;
    font-size: clamp(2.5rem, calc(-0.66rem + 13.483vw), 6.25rem); /* min: 40px, max: 100px */
    font-weight: var(--weight-regular);
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    translate: 0 -57.5%;
    z-index: 1;
}
@media only screen and (max-width: 820px) {
    ol.philosophy-list li {
        padding-left: 4em;
    }
}
@media only screen and (max-width: 468px) {
    ol.philosophy-list li {
        padding-left: 3em;
    }
    ol.philosophy-list li:before {
        translate: 0 -0.2em;
    }
}

/* =========================================================================================
リスト（採用情報テンプレート選択時）
=========================================================================================*/
/* デフォルト　--------------------------------*/
/* ul.list*/
body.recruit-style ul.wp-block-list li::before,
body.recruit-style ul.list li::before {
    background: #7ecef1;
}
/* ol.list*/
body.recruit-style ol.wp-block-list li::marker,
body.recruit-style ol.list li::marker {
    color: var(--recruit);
}
/*リンク付きリスト*/
body.recruit-style ul.link li::before {
    background-color: var(--recruit);
}
/* 近森専用パターン　-　理念のリスト */
body.recruit-style ol.philosophy-list {
    gap: 2em;
    margin-top: 2.5em;
}
body.recruit-style ol.philosophy-list li {
    font-family: "IBM Plex Sans JP", sans-serif;
    font-size: clamp(0.813rem, calc(0.549rem + 1.124vw), 1.125rem); /* min: 13px, max: 18px */
    padding-left: 2.5em;
}
body.recruit-style ol.philosophy-list li:before {
    color: var(--recruit);
    font-size: clamp(1.875rem, calc(1.348rem + 2.247vw), 2.5rem); /* min: 30px, max: 40px */
    translate: 0 -30%;
}

/* 研修医 親・子ページ　--------------------------------*/
/* ul.list*/
body.resident ul.wp-block-list li::before,
body.resident ul.list li::before {
    background: #4b859d;
}
/* ol.list*/
body.resident ol.wp-block-list li::marker,
body.resident ol.list li::marker {
    color: var(--resident);
}
/*リンク付きリスト*/
body.resident ul.link li::before {
    background-color: var(--resident);
}
/* 近森専用パターン　-　理念のリスト */
body.resident ol.philosophy-list li:before {
    color: var(--resident);
}

/* 看護部 親・子ページ　--------------------------------*/
/* ul.list*/
body.nurse ul.wp-block-list li::before,
body.nurse ul.list li::before {
    background: #ff8797;
}
/* ol.list*/
body.nurse ol.wp-block-list li::marker,
body.nurse ol.list li::marker {
    color: var(--nurse);
}
/*リンク付きリスト*/
body.nurse ul.link li::before {
    background-color: var(--nurse);
}
/* 近森専用パターン　-　理念のリスト */
body.nurse ol.philosophy-list li:before {
    color: var(--nurse);
}

/* 薬剤師 親・子ページ　--------------------------------*/
/* ul.list*/
body.pharmacist ul.wp-block-list li::before,
body.pharmacist ul.list li::before {
    background: #add700;
}
/* ol.list*/
body.pharmacist ol.wp-block-list li::marker,
body.pharmacist ol.list li::marker {
    color: var(--pharmacist);
}
/*リンク付きリスト*/
body.pharmacist ul.link li::before {
    background-color: var(--pharmacist);
}
/* 近森専用パターン　-　理念のリスト */
body.pharmacist ol.philosophy-list li:before {
    color: var(--pharmacist);
}

/* =========================================================================================
カラム
=========================================================================================*/

/*2カラム*/
.wp-block-columns.chikamori-column-2 {
    gap: 50px;
}
/*3カラム*/
.wp-block-columns.chikamori-column-3 {
    gap: 40px;
}
/*4カラム*/
.wp-block-columns.chikamori-column-4 {
    gap: 30px;
}
.wp-block-columns.chikamori-column-2 .wp-block-image,
.wp-block-columns.chikamori-column-3 .wp-block-image,
.wp-block-columns.chikamori-column-4 .wp-block-image {
    margin-bottom: 0.5em;
}

@media only screen and (max-width: 820px) {
    /* 「モバイルでも並列を維持」にチェックが入っていない標準カラムが対象 */
    .wp-block-columns:not(.is-not-stacked-on-mobile) {
        flex-direction: column;
    }

    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-bottom: 1em; /* 縦並び時の余白 */
    }
    .wp-block-columns.chikamori-column-2,
    .wp-block-columns.chikamori-column-3,
    .wp-block-columns.chikamori-column-4 {
        gap: 30px;
    }
    .wp-block-columns.chikamori-column-4 .wp-block-column {
        flex-basis: auto !important;
        width: calc((100% - 30px) / 2);
    }
    /*段落ち時の順番制御*/
    .wp-block-columns.mobile-reverse {
        flex-direction: column-reverse;
    }
}
/* 標準の782pxでの段落ちを無効化（干渉を防ぐ） */
@media (min-width: 783px) and (max-width: 820px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile) {
        display: flex;
        flex-wrap: wrap;
    }
}

/* グループ */
.wp-block-columns.group-banner {
    padding-block: 70px 60px;
    position: relative;
    z-index: 2;
}
.wp-block-columns.group-banner::before {
    content: "";
    width: 100vw;
    height: 100%;
    background: #f5f5f5;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    z-index: -1;
}
.wp-block-columns.group-banner a {
    text-decoration: none !important;
}
.wp-block-columns.group-banner .wp-block-heading {
    font-size: clamp(1.25rem, calc(0.302rem + 4.045vw), 2.375rem); /* min: 20px, max: 38px */
    width: fit-content;
    padding-left: 0;
    padding-right: 1em;
    margin-top: 0.75em;
    margin-bottom: 0;
    font-weight: var(--weight-medium);
}
.wp-block-columns.group-banner .wp-block-heading::before {
    display: none;
}
.wp-block-columns.group-banner .wp-block-heading .sub {
    font-family: "Marcellus", serif;
    color: var(--color-main);
    font-size: clamp(0.875rem, calc(0.559rem + 1.348vw), 1.25rem); /* min: 14px, max: 20px */
    text-indent: 0.2em;
    margin-top: 0.5em;
    opacity: 0.5;
}
.wp-block-columns.group-banner .wp-block-heading::after {
    content: "";
    display: inline-block;
    width: 0.6em;
    aspect-ratio: 1 / 1;
    background: var(--color-main);
    -webkit-mask-image: url(assets/images/common/arrow_mask.svg);
    mask-image: url(assets/images/common/arrow_mask.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    translate: 0 10%;
    position: absolute;
    top: 18%;
    right: 0;
    z-index: 1;
}
@media only screen and (max-width: 820px) {
    .wp-block-columns.group-banner {
        padding-block: 50px 40px;
    }
}
@media only screen and (max-width: 468px) {
    .wp-block-columns.group-banner {
        gap: 40px;
        padding-block: 40px;
    }
}

/* =========================================================================================
グリッド
=========================================================================================*/
/*共通*/
.wp-block-group.is-layout-grid {
    gap: 30px 50px;
}
.wp-block-group.is-layout-grid + .is-layout-grid {
    margin-top: 50px;
}
a.wp-block-tiptip-hyperlink-group-block {
    text-decoration: none;
}
@media only screen and (max-width: 820px) {
    .wp-block-group.is-layout-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 30px;
    }
    .wp-block-group.is-layout-grid + .is-layout-grid {
        margin-top: 30px;
    }
}
@media only screen and (max-width: 468px) {
    .wp-block-group.is-layout-grid {
        grid-template-columns: repeat(1, 1fr) !important;
    }
    .wp-block-group.is-layout-grid + .is-layout-grid {
        margin-top: 15px;
    }
}
/*近森専用パターン　-　コンテンツ  -  カード（横）*/
.wp-block-group.is-layout-grid.card-link {
    gap: 50px 6.5%;
}
.wp-block-group.is-layout-grid.card-link > a {
    text-decoration: none !important;
}
.wp-block-group.is-layout-grid.card-link > a .wp-block-group,
.wp-block-group.is-layout-grid.card-link > a .wp-block-group .wp-block-group__inner-container {
    height: 100%;
}
.wp-block-group.is-layout-grid.card-link .wp-block-media-text {
    height: 100%;
    background: #fff;
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.1));
    transform: translateZ(0);
}
.wp-block-group.is-layout-grid.card-link .wp-block-media-text > .wp-block-media-text__content {
    direction: ltr;
    grid-column: 2;
    grid-row: 1;
    padding: 1em 5%;
    word-break: break-word;
}
.wp-block-group.is-layout-grid.card-link .wp-block-media-text__media,
.wp-block-group.is-layout-grid.card-link .wp-block-media-text__media a {
    width: 100%;
    height: 100%;
}
.wp-block-group.is-layout-grid.card-link .wp-block-media-text__media img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.wp-block-group.is-layout-grid.card-link .wp-block-media-text .wp-block-heading {
    color: var(--color-base-font);
    font-size: clamp(0.938rem, calc(0.55rem + 1.653vw), 1.563rem); /* min: 15px, max: 25px */
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    justify-content: left;
    gap: 0.5em;
}
.wp-block-group.is-layout-grid.card-link .wp-block-media-text .wp-block-heading::after {
    content: "";
    display: inline-block;
    width: 0.6em;
    aspect-ratio: 1 / 1;
    background: var(--color-main);
    -webkit-mask-image: url(assets/images/common/arrow_mask.svg);
    mask-image: url(assets/images/common/arrow_mask.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    translate: 0 10%;
}
@media only screen and (max-width: 820px) {
    .wp-block-group.is-layout-grid.card-link {
        grid-template-columns: auto !important;
        gap: 30px 6.5%;
    }
}
@media only screen and (max-width: 468px) {
    .wp-block-group.is-layout-grid.card-link {
        gap: 15px 6.5%;
    }
}

/*近森専用パターン　-　コンテンツ  -  カード*/
.wp-block-group.is-layout-grid.chikamori-card . {
    gap: 30px;
}
.wp-block-group.is-layout-grid.chikamori-card .chikamori-card-item {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.wp-block-group.is-layout-grid.chikamori-card .chikamori-card-item .image-box {
    background: #fff;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.1));
    transform: translateZ(0);
    margin-bottom: 1em;
    position: relative;
    z-index: 1;
}
.wp-block-group.is-layout-grid.chikamori-card .chikamori-card-item .image-box figure {
    height: 100%;
    margin-bottom: 0;
}
.wp-block-group.is-layout-grid.chikamori-card .chikamori-card-item .image-box .wp-block-heading {
    font-size: clamp(0.75rem, calc(0.013rem + 3.146vw), 1.625rem) !important; /* min: 12px, max: 26px */
    width: calc(100% + 2px); /*はみ出し防止*/
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to bottom, transparent 0%, #fff 30%, #fff 100%);
    padding: 1em 0 0.5em;
    margin: 0;
    position: absolute;
    left: 50%;
    bottom: 0;
    translate: -50% 0;
    z-index: 5;
}
.wp-block-group.is-layout-grid.chikamori-card .chikamori-card-item .image-box p {
    height: 100%;
}
@media only screen and (max-width: 820px) {
    .wp-block-group.is-layout-grid.chikamori-card {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media only screen and (max-width: 468px) {
    .wp-block-group.is-layout-grid.chikamori-card {
        gap: 20px;
    }
}

/*【ページ専用】　理事紹介用ブロック*/
.chikamori-director-column {
    gap: 50px 6.5% !important;
}
.chikamori-director-column > .wp-block-group {
    background: #fff;
    padding-bottom: 0.75em;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.1));
    transform: translateZ(0);
}
.chikamori-director-column .wp-block-image {
    margin-bottom: 2em;
}
.chikamori-director-column h2.wp-block-heading,
.chikamori-director-column p {
    width: calc(100% - 2rem - 2rem);
    margin-inline: auto;
}
.chikamori-director-column h2.wp-block-heading {
    margin-bottom: 0.75em;
}
.chikamori-director-column h2.wp-block-heading .post {
    font-size: clamp(1rem, calc(0.789rem + 0.899vw), 1.25rem); /* min: 16px, max: 20px */
    line-height: 1;
    display: block;
    width: 100%;
}
.chikamori-director-column h2.wp-block-heading .name {
    color: var(--color-base-font);
}
@media only screen and (max-width: 820px) {
    .chikamori-director-column {
        gap: 30px 6.5% !important;
    }
    .chikamori-director-column h2.wp-block-heading,
    .chikamori-director-column p {
        width: calc(100% - 1rem - 1rem);
    }
}
@media only screen and (max-width: 468px) {
    .chikamori-director-column {
        grid-template-columns: auto !important;
    }
}

/* 近森専用パターン　-　資料のリスト */
.is-layout-grid.file-list {
    gap: 0.5em 5%;
}
.is-layout-grid.file-list p {
    margin-bottom: 0;
}
.is-layout-grid.file-list a {
    display: block;
    width: fit-content;
}

/* =========================================================================================
メディアとテキスト
=========================================================================================*/
@media only screen and (max-width: 600px) {
    .wp-block-media-text .wp-block-media-text__content {
        margin: 0;
        padding: 1em 0;
    }
}

/* =========================================================================================
詳細
=========================================================================================*/
.wp-block-details {
    border: 2px solid #adc2cc;
    border-radius: 5px;
    padding: 0.75em 1em 0.5em;
    margin-bottom: 1em;
}
.wp-block-details summary {
    color: var(--color-main);
    font-weight: var(--weight-semibold);
    list-style: none; /* 標準仕様でマーカーを消す */
    padding-right: 1.5em;
    position: relative;
    z-index: 1;
}
.wp-block-details summary::before,
.wp-block-details summary::after {
    content: "";
    background-color: var(--color-main);
    border-radius: 10px;
    pointer-events: none; /* クリック判定を邪魔しないように */
    position: absolute;
    top: 0.75em;
    right: 0;
    z-index: 5;
    transition: transform 0.3s ease;
}
.wp-block-details summary::after {
    width: 1em;
    height: 4px;
    margin-top: -2px; /* 完全に中央にするための微調整（太さの半分） */
    right: 0;
}
.wp-block-details summary::before {
    width: 4px;
    height: 1em;
    margin-top: -0.5em;
    right: calc(0.5em - 2px); /* 横棒の中心に来るように位置調整 */
}
.wp-block-details[open] summary {
    margin-bottom: 0.5em;
}
.wp-block-details[open] summary::before {
    transform: rotate(90deg);
}

/* =========================================================================================
詳細（採用情報テンプレート選択時）
=========================================================================================*/
/* デフォルト -----------------------------------------*/
body.recruit-style .wp-block-details {
    border-color: #77d4fe;
}
body.recruit-style .wp-block-details summary {
    color: var(--recruit);
}
body.recruit-style .wp-block-details summary::before,
body.recruit-style .wp-block-details summary::after {
    background-color: var(--recruit);
}

/* 研修医 親・子ページ　--------------------------------*/
body.resident .wp-block-details {
    border-color: #4b859d;
}
body.resident .wp-block-details summary {
    color: var(--resident);
}
body.resident .wp-block-details summary::before,
body.resident .wp-block-details summary::after {
    background-color: var(--resident);
}

/* 看護部 親・子ページ　--------------------------------*/
body.nurse .wp-block-details {
    border-color: #4b859d;
}
body.nurse .wp-block-details summary {
    color: var(--nurse);
}
body.nurse .wp-block-details summary::before,
body.nurse .wp-block-details summary::after {
    background-color: var(--nurse);
}

/* 薬剤師 親・子ページ　--------------------------------*/
body.pharmacist .wp-block-details {
    border-color: #4b859d;
}
body.pharmacist .wp-block-details summary {
    color: var(--pharmacist);
}
body.pharmacist .wp-block-details summary::before,
body.pharmacist .wp-block-details summary::after {
    background-color: var(--pharmacist);
}

/* =========================================================================================
クエリパターン
=========================================================================================*/
.wp-block-query .wp-block-post-template > li {
    padding-block: 1.25em 1em;
    border-bottom: 1px solid var(--color-gray);
}

.wp-block-query .wp-block-post-template > li .wp-block-columns {
    display: grid;
    grid-template-columns: minmax(70px, 15%) 1fr;
}
.wp-block-query .wp-block-post-template > li .wp-block-post-title {
    font-size: clamp(0.875rem, calc(0.664rem + 0.899vw), 1.125rem) !important; /* min: 14px, max: 18px */
    font-weight: var(--weight-bold);
}
.wp-block-query .wp-block-post-template > li .wp-block-post-title a {
    color: var(--color-base-font);
}
.wp-block-query .wp-block-post-template > li .custom-excerpt-area {
    font-size: clamp(0.813rem, calc(0.654rem + 0.674vw), 1rem) !important; /* min: 13px, max: 16px */
}
.wp-block-query .wp-block-post-template > li .attachment-post-thumbnail {
    border: 1px solid var(--color-gray);
}
.wp-block-query .wp-block-post-template > li ul.note li {
    padding-left: 1.25em;
}
@media only screen and (max-width: 468px) {
    .wp-block-query .wp-block-post-template > li .wp-block-columns {
        gap: 20px;
    }
}

/* =========================================================================================
近森専用パターン　-　囲み
=========================================================================================*/
/*線*/
.chikamori-box-border,
.box-border {
    border: 8px solid #c6d5d9;
    background: #fff;
    padding: 2em;
}
/*背景色*/
.chikamori-box-bg,
.box-bg {
    background: #e5edef;
    padding: calc(2em + 8px); /* borderと並べた時に高さがずれないように線の太さ分調整 */
}
@media only screen and (max-width: 820px) {
    .chikamori-box-border,
    .box-border {
        padding: 1.5em;
    }
    /*背景色*/
    .chikamori-box-bg,
    .box-bg {
        padding: calc(1.5em + 8px);
    }
}
@media only screen and (max-width: 468px) {
    .chikamori-box-border,
    .box-border {
        border-width: 4px;
        padding: 1;
    }
    /*背景色*/
    .chikamori-box-bg,
    .box-bg {
        padding: calc(1em + 4px);
    }
}

/* =========================================================================================
近森専用パターン　-　囲み（採用情報テンプレート選択時）
=========================================================================================*/
/* デフォルト -----------------------------------------*/
/*線*/
body.recruit-style .box-border {
    border-color: #e7f6fd;
}
/*背景色*/
body.recruit-style .box-bg {
    background: #e7f6fd;
}

/* 研修医 親・子ページ　--------------------------------*/
/*線*/
body.resident .box-border {
    border-color: #f2f6f7;
}
/*背景色*/
body.resident .box-bg {
    background: #f2f6f7;
}

/* 看護部 親・子ページ　--------------------------------*/
/*線*/
body.nurse .box-border {
    border-color: #fff4f5;
}
/*背景色*/
body.nurse .box-bg {
    background: #fff4f5;
}

/* 薬剤師 親・子ページ　--------------------------------*/
/*線*/
body.pharmacist .box-border {
    border-color: #f1f5df;
}
/*背景色*/
body.pharmacist .box-bg {
    background: #f1f5df;
}

/* =========================================================================================
近森専用パターン　-　プロフィール
=========================================================================================*/
.chikamori-profile-item {
    width: fit-content;
    gap: 0;
    margin: auto;
}
.chikamori-profile-item .post {
    color: var(--color-main);
    font-weight: var(--weight-medium);
    padding-left: 0.2em;
    margin-top: 1em;
}
.chikamori-profile-item .name {
    font-family: "Shippori Mincho", serif;
    width: 100%;
    border-bottom: 1px solid var(--color-gray);
    padding-bottom: 0.25em;
    margin-bottom: 0.5em;
}
.chikamori-profile-item .wp-block-buttons {
    margin-block: 0.5em;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
    .chikamori-profile-item {
        padding-inline: 30px;
    }
}

/* =========================================================================================
近森専用パターン　-　プロフィール（採用情報テンプレート）
=========================================================================================*/
/* デフォルト -------------------------------*/
body.recruit-style .chikamori-profile-item .post {
    color: var(--color-base-recruit-font);
    text-align: center;
    padding-left: 0;
    margin-inline: auto;
    margin-bottom: 0;
}
body.recruit-style .chikamori-profile-item .name {
    text-align: center;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
近森専用パターン　-　詳細プロフィール
=========================================================================================*/
.chikamori-profile-box {
    border: 8px solid #c6d5d9;
    gap: 2em 6.5%;
    padding: 45px 40px;
}
.chikamori-profile-box .photo {
    max-width: 350px;
    margin-inline: auto;
}
.chikamori-profile-box .name {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25em;
    padding: 0;
    margin-bottom: 1em;
}
.chikamori-profile-box .name span {
    color: var(--color-main);
    font-size: clamp(1.313rem, calc(0.838rem + 2.022vw), 1.875rem); /* min: 21px, max: 30px */
    font-family: "Shippori Mincho", serif;
}
.chikamori-profile-box .name small {
    font-weight: var(--weight-regular);
    font-size: 0.75em;
}
.chikamori-profile-box .name::before {
    display: none;
}
@media only screen and (max-width: 820px) {
    .chikamori-profile-box {
        padding: 30px;
    }
}
@media only screen and (max-width: 468px) {
    .chikamori-profile-box {
        padding: 25px 20px;
        border-width: 4px;
    }
}

/* =========================================================================================
各種パーツ　-　お問い合わせ
=========================================================================================*/
.chikamori-tel-number {
    gap: 0;
}
.chikamori-tel-number .tel {
    margin-bottom: 0.25em;
}
.chikamori-tel-number a[href^="tel:"] {
    color: var(--color-base-font);
    font-size: clamp(1.75rem, calc(1.539rem + 0.899vw), 2rem); /* min: 28px, max: 32px */
    text-decoration: none;
}

/* =========================================================================================
各種パーツ　-　院内誌「ひろっぱ」
=========================================================================================*/
/* 共通 */
.hiroppa-block {
    background: #fff;
    padding: 3.5%;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.1));
    transform: translateZ(0);
}
.hiroppa-block .is-layout-grid {
    gap: 50px 6.5%;
}
.hiroppa-block .wp-block-image {
    width: 100%;
    max-width: 300px;
    border: 1px solid #cdd6dd;
    margin-bottom: 1em;
}
.hiroppa-block .wp-block-buttons {
    width: 100%;
}
.hiroppa-block .wp-block-buttons > .wp-block-button {
    width: 100%;
    max-width: 300px;
}
.hiroppa-block .wp-block-button a {
    color: var(--color-base-font);
    text-decoration: underline;
    justify-content: left;
}
.hiroppa-block .wp-block-button a:hover {
    color: #fff;
    text-decoration: none;
}
@media only screen and (max-width: 820px) {
    .hiroppa-block {
        padding: 20px;
    }
    .hiroppa-block .is-layout-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 40px 30px;
    }
    .hiroppa-block .wp-block-image {
        margin-bottom: 0.75em;
    }
}
@media only screen and (max-width: 468px) {
    .hiroppa-block .is-layout-grid {
        gap: 30px 15px;
    }
    .hiroppa-block .wp-block-image {
        margin-bottom: 0.5em;
    }
}
/* ひろっぱ　最新号 */
.hiroppa-latest {
    padding: 6.5%;
}

/* =========================================================================================
お知らせブロック（chikamori-custom-block）
=========================================================================================*/
.wp-block-chikamori-news-list {
    list-style: none;
    margin-top: 0;
    padding-left: 0;
    width: 100%;
}
.news-title a:has(ruby) {
    display: inline-block;
    translate: 0 -0.325em;
}
@media (max-width: 820px) {
    .wp-block-chikamori-news-list {
        margin-bottom: 0;
    }
    .wp-block-chikamori-news-item {
        flex-direction: column;
        gap: 0;
    }
    .news-title a:has(ruby) {
        translate: 0;
    }
}

/* =========================================================================================
定義ブロック（chikamori-custom-block）
=========================================================================================*/
/* 装飾なし */
.wp-block-chikamori-dl.is-layout-plain .wp-block-chikamori-dl-item {
    margin-bottom: 0.5em;
}
/* 横並び */
.wp-block-chikamori-dl.is-layout-row .wp-block-chikamori-dl-item {
    margin-bottom: 0.5em;
}

/* =========================================================================================
採用情報TOP 専用スライダー
=========================================================================================*/
/* スライダー全体のコンテナ */
.swiper-recruit-main,
.swiper-carousel {
    width: 100%;
    overflow: hidden;
    /* 読み込み前のちらつき対策で最初は非表示 */
    opacity: 0;
    transition: opacity 0.3s ease;
}
/* Swiperが初期化されると自動的に付与されるクラスを利用 */
.swiper-recruit-main.swiper-initialized,
.swiper-carousel.swiper-initialized {
    opacity: 1;
}
/* JS実行前のスライドの並びを制御 */
.swiper-recruit-main .swiper-wrapper {
    transition-timing-function: linear;
    display: flex; /* 縦並びを防ぐ */
}
.swiper-recruit-main .swiper-slide {
    flex-shrink: 0; /* 幅が潰れるのを防ぐ */
    /* 読み込み時に画像が画面一杯にならないよう、
       一番大きい画面での想定幅（例: 10%）を仮置きする */
    width: 12.5%;
}
@media (max-width: 820px) {
    .swiper-recruit-main-reverse {
        width: 100%;
        overflow: hidden;
        /* 読み込み前のちらつき対策で最初は非表示 */
        opacity: 0;
        transition: opacity 0.3s ease;
    }
    .swiper-recruit-main-reverse.swiper-initialized {
        opacity: 1;
        overflow: visible;
    }
}
/* =========================================================================================
カルーセルスライダー
=========================================================================================*/
.swiper-carousel {
    width: 100%;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
/* スライドのサイズ指定（★ここが見切れ具合の鍵になります） */
.swiper-carousel .swiper-slide {
    /* 例: 80%にすると、残り30%のスペースに左右のスライドが15%ずつ見切れます */
    width: 80%;
    opacity: 0.4; /* おまけ：中央以外のスライドを少し暗くする */
    transition: opacity 0.3s ease;
}
/* 中央のアクティブなスライドだけをハッキリ表示 */
.swiper-carousel .swiper-slide-active {
    opacity: 1;
}
/* 画像のスタイル */
.swiper-carousel .swiper-slide figure {
    border-radius: 10px;
    overflow: hidden;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.1));
    transform: translateZ(0);
    position: relative;
    z-index: 1;
}
.swiper-carousel .swiper-slide figcaption {
    color: #fff;
    font-size: clamp(0.75rem, calc(0.697rem + 0.225vw), 0.813rem); /* min: 12px, max: 13px */
    text-align: center;
    width: 100%;
    background: rgba(59, 47, 40, 0.5);
    padding: 0.75em 1em 0.5em;
    position: absolute;
    left: 50%;
    bottom: 0;
    translate: -50% 0;
    z-index: 2;
}
.swiper-carousel .swiper-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.swiper-pagination {
    position: static !important;
    margin-top: 10px;
}
.swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
}
.swiper-pagination-bullet-active {
    background: var(--color-main) !important;
}

/* オリジナルページネーションの配置 */
.custom-pagination {
    display: flex;
    justify-content: center;
    gap: 8px; /* ドット同士の隙間 */
    margin-top: 20px; /* スライダーとの距離 */
}
/* ドットの基本スタイル（Swiperの標準に近い見た目） */
.custom-dot {
    width: 10px;
    height: 10px;
    background-color: #000;
    opacity: 0.2;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}
/* アクティブ（現在表示中）のドットのスタイル */
.custom-dot.active {
    opacity: 1;
    background-color: #007cba;
}
@media only screen and (max-width: 820px) {
}

/* =========================================================================================
カルーセルスライダー（採用情報テンプレート選択時）
=========================================================================================*/
/* デフォルト -----------------------------------------*/
body.recruit-style .custom-dot.active,
body.recruit-style .swiper-pagination-bullet-active {
    background-color: var(--recruit) !important;
}

/* 研修医 親・子ページ　--------------------------------*/
body.resident .custom-dot.active,
body.resident .swiper-pagination-bullet-active {
    background-color: var(--resident) !important;
}

/* 看護部 親・子ページ　--------------------------------*/
body.nurse .custom-dot.active,
body.nurse .swiper-pagination-bullet-active {
    background-color: var(--nurse) !important;
}

/* 薬剤師 親・子ページ　--------------------------------*/
body.pharmacist .custom-dot.active,
body.pharmacist .swiper-pagination-bullet-active {
    background-color: var(--pharmacist) !important;
}

/* =========================================================================================
スライダー（ Meta slider ）※プラグイン
=========================================================================================*/
/* 共通　--------------------------------*/
/*  */
.metaslider {
}
/* dot */
.metaslider .flex-control-nav li a {
    color: var(--color-gray) !important;
    background: var(--color-gray);
}
.metaslider .flex-control-nav li a.flex-active {
    color: var(--color-main) !important;
    background: var(--color-main);
}
/* caption */
.metaslider .caption-wrap .caption {
    color: #fff;
    font-size: clamp(0.75rem, calc(0.697rem + 0.225vw), 0.813rem); /* min: 12px, max: 13px */
    text-align: center;
    padding: 0.75em 1em 0.5em;
    opacity: 1;
}

@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
    .metaslider .flex-direction-nav .flex-prev {
        left: -10px !important;
    }
    .metaslider .flex-direction-nav .flex-next {
        right: -10px !important;
    }
    .metaslider .flex-control-nav {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.5em 0;
        translate: 0 50%;
    }
}

/* デフォルト　--------------------------------*/
body.recruit-style .metaslider .flex-control-nav li a.flex-active {
    color: var(--recruit) !important;
    background: var(--recruit);
}
/* 研修医 親・子ページ　--------------------------------*/
/* dot */
body.resident .metaslider .flex-control-nav li a.flex-active {
    color: var(--resident) !important;
    background: var(--resident);
}

/* 看護部 親・子ページ　--------------------------------*/
/* dot*/
body.nurse .metaslider .flex-control-nav li a.flex-active {
    color: var(--nurse) !important;
    background: var(--nurse);
}

/* 薬剤師 親・子ページ　--------------------------------*/
/* dot*/
body.pharmacist .metaslider .flex-control-nav li a.flex-active {
    color: var(--pharmacist) !important;
    background: var(--pharmacist);
}

/* =========================================================================================
FORM
=========================================================================================*/
/*reCAPTCHAバッジ（ロゴマーク）を消す ※設定がうまくいったことを確認してからこのCSSを有効化すること*/
.grecaptcha-badge {
    visibility: hidden;
}
.entry-content form {
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
}
.entry-content form ::placeholder {
    color: #ededed;
}
.entry-content form input[type="text"],
.entry-content form input[type="tel"],
.entry-content form input[type="email"],
.entry-content form textarea,
.entry-content form select {
    width: 100%;
    background: #fff;
    border: 1px solid #c6d5d9;
    padding: 0.75em 1em 0.5em;
    transition: 0.3s;
}
.entry-content form .wpcf7-radio {
    /*ラジオボタンの位置調整*/
    margin-top: 1em;
    display: block;
}
.entry-content form .wpcf7-radio .wpcf7-list-item {
    margin: 0 1em 0 0;
}
.entry-content form .wpcf7-radio .wpcf7-list-item:nth-last-of-type(1) {
    /*ラジオボタンの一番最後のmargin調整*/
    margin: 0;
}
.entry-content form select {
    width: fit-content;
    min-width: 300px;
    padding-right: 4em;
    background: #fff url(assets/images/common/icon_dropdown.svg) no-repeat;
    background-position: right 1em center;
    background-size: 0.6em;
}
.entry-content form .post-add input {
    max-width: 150px;
}
.entry-content form .select-pref select {
    min-width: 100px;
}
.entry-content form input[type="submit"],
.entry-content form input[type="button"] {
    color: #fff;
    font-size: clamp(1.25rem, calc(0.934rem + 1.348vw), 1.625rem); /* min: 20px, max: 26px */
    font-weight: var(--weight-bold);
    background-color: var(--color-base-font);
    padding: 0.75em 1.5em 0.5em;
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    border-radius: 100px;
    min-width: 320px;
    border: none;
    transition: 0.3s;
}
.entry-content form input[type="submit"] {
    background-color: var(--color-main);
    padding-right: 2em;
    background-image: url(assets/images/common/arrow_mask.svg);
    background-size: 0.375em;
    background-position: center right 1em;
    background-repeat: no-repeat;
}
.entry-content form input[type="button"] {
    background-color: #555;
    letter-spacing: 0.25em;
    text-indent: 0.25em;
    padding-left: 2em;
    background-image: url(assets/images/common/arrow_mask_reverse.svg);
    background-size: 0.375em;
    background-position: center left 1em;
    background-repeat: no-repeat;
}
.entry-content form input[type="submit"]:hover,
.entry-content form input[type="button"]:hover {
    opacity: 0.8 !important;
}
.entry-content form .btn-area p {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 30px;
    position: relative;
    width: 100%;
}
.entry-content form .btn-area p br {
    display: none;
}
.entry-content form .btn-area .wpcf7-spinner {
    position: absolute;
    right: -80px;
    top: 30%;
}
/* カレンダー表示の制御 */
.entry-content form dd p:has(.my-common-datepicker) {
    flex-wrap: wrap !important;
}
.entry-content form dd p:has(.my-common-datepicker) .wpcf7-form-control-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    flex: auto !important;
    width: 100%;
    max-width: 11em;
    min-width: 180px;
    position: relative;
}
.entry-content form dd p:has(.my-common-datepicker) input.my-common-datepicker {
    padding-right: 2em !important;
}
/* ラジオボタンの見た目 */
.entry-content form input[type="radio"] {
    appearance: none;
    position: relative;
    width: 20px;
    height: 20px;
    border: 1px solid var(--color-main);
    border-radius: 9999px;
    cursor: pointer;
    translate: 0 20%;
}
.entry-content form input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 12px;
    height: 12px;
    margin: auto;
    border-radius: 9999px;
    background-color: var(--color-main);
}
/* チェックボックスの見た目 */
.entry-content form input[type="checkbox"] {
    appearance: none;
    position: relative;
    width: 20px;
    height: 20px;
    border: 1px solid var(--color-main);
    border-radius: 2px;
    cursor: pointer;
    translate: 0 20%;
}
.entry-content form input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 5px;
    left: 3px;
    width: 12px;
    height: 6px;
    border-bottom: 2px solid var(--color-main);
    border-left: 2px solid var(--color-main);
    transform: rotate(-45deg);
}
@media only screen and (max-width: 820px) {
    .entry-content form .btn-area {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 800px;
    }
    .entry-content form .btn-area p {
        position: relative;
    }
    .entry-content form .btn-area .wpcf7-spinner {
        position: absolute;
        right: -80px;
        top: 30%;
    }
}
@media only screen and (max-width: 468px) {
    .entry-content form input[type="submit"],
    .entry-content form input[type="button"] {
        width: 100%;
        min-width: 100%;
    }
}

/*問い合わせ画面 --------------------------------------------------------*/
.entry-content .contact-bg {
    margin: 0;
}
.entry-content .contact-bg .privacy {
    text-align: center;
    border: 8px solid #c6d5d9;
    padding: 45px 40px;
    margin-bottom: 2em;
}
.entry-content .contact-bg .privacy .wpcf7-list-item {
    margin: 0;
}
.entry-content .contact-bg .privacy a {
    text-decoration: underline;
}
.entry-content .contact-bg .center {
    text-align: center;
    margin-top: 3em;
}
.entry-content .contact-bg > p {
    text-align: center;
    padding: 1em 0.5em 0.8em;
    background: #ededed;
    margin-top: 1em;
}
.entry-content form dl {
    width: 100%;
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 0 2em;
    padding-block: 2em;
}
.entry-content form dl + dl {
    border-top: 1px solid var(--color-gray);
}
.entry-content form dt {
    font-weight: var(--weight-bold);
    text-align: left;
    line-height: 1.6;
    padding-block: 0.5em;
}
.entry-content form dt label {
    display: flex;
    flex-wrap: nowrap;
    align-items: start;
    justify-content: left;
    gap: 0 1em;
}
.entry-content form dt span {
    font-size: small;
    color: var(--color-attention);
    line-height: 1;
    letter-spacing: 0.25em;
    text-indent: 0.25em;
    white-space: nowrap;
    display: inline-block;
    border: 1px solid var(--color-attention);
    padding: 0.5em 0.5em 0.3em;
}
.entry-content form dd p {
    display: block;
}
.entry-content form dd p + p {
    margin-top: 1em;
}
.entry-content form dd p:has(.wpcf7-form-control-wrap) {
    margin-top: 0;
}
.entry-content form [data-class="wpcf7cf_group"] {
    margin-top: 1em;
}
.entry-content form small {
    display: block;
    line-height: 1.7;
}
@media only screen and (max-width: 820px) {
    .entry-content .contact-bg .privacy {
        border-width: 4px;
        padding: 2em;
    }
    .entry-content form dl {
        display: block;
        padding-block: 1em;
    }
    .entry-content form dt {
        text-align: left;
        width: 100%;
    }
    .entry-content form dt label {
        justify-content: left;
    }
    .entry-content form dd {
        width: 100%;
        margin-bottom: 1em;
    }
}
@media only screen and (max-width: 468px) {
    .entry-content .contact-bg .privacy {
        padding: 1em;
    }
}

/*入力確認画面 -------------------------------------------------------------------*/
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}
/*送信完了画面 -------------------------------------------------------------------*/
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
FORM（採用情報テンプレート選択時）
=========================================================================================*/
/* デフォルト　--------------------------------*/
body.recruit-style .entry-content form input[type="text"],
body.recruit-style .entry-content form input[type="tel"],
body.recruit-style .entry-content form input[type="email"],
body.recruit-style .entry-content form textarea,
body.recruit-style .entry-content form select {
    border: 1px solid #d3d0cf;
}
.entry-content .contact-bg > p {
    background: #f4f2f1;
}
/* 送信ボタンの色　*/
body.recruit-style .entry-content form input[type="submit"] {
    background-color: var(--recruit);
}
/* ラジオボタンの見た目 */
body.recruit-style .entry-content form input[type="radio"] {
    border-color: var(--recruit);
}
body.recruit-style .entry-content form input[type="radio"]:checked::after {
    background-color: var(--recruit);
}
/* チェックボックスの見た目 */
body.recruit-style .entry-content form input[type="checkbox"] {
    border-color: var(--recruit);
}
body.recruit-style .entry-content form input[type="checkbox"]:checked::after {
    border-color: var(--recruit);
}
/*問い合わせ画面 */
body.recruit-style .entry-content .contact-bg .privacy {
    border-color: #e7f6fd;
}

/* 研修医 親・子ページ　--------------------------------*/
/* 送信ボタンの色　*/
body.resident .entry-content form input[type="submit"] {
    background-color: var(--resident);
}
/* ラジオボタンの見た目 */
body.resident .entry-content form input[type="radio"] {
    border-color: var(--resident);
}
body.resident .entry-content form input[type="radio"]:checked::after {
    background-color: var(--resident);
}
/* チェックボックスの見た目 */
body.resident .entry-content form input[type="checkbox"] {
    border-color: var(--resident);
}
body.resident .entry-content form input[type="checkbox"]:checked::after {
    border-color: var(--resident);
}
/*問い合わせ画面 */
body.resident .entry-content .contact-bg .privacy {
    border-color: #f2f6f7;
}

/* 看護部 親・子ページ　--------------------------------*/
/* 送信ボタンの色　*/
body.nurse .entry-content form input[type="submit"] {
    background-color: var(--nurse);
}
/* ラジオボタンの見た目 */
body.nurse .entry-content form input[type="radio"] {
    border-color: var(--nurse);
}
body.nurse .entry-content form input[type="radio"]:checked::after {
    background-color: var(--nurse);
}
/* チェックボックスの見た目 */
body.nurse .entry-content form input[type="checkbox"] {
    border-color: var(--nurse);
}
body.nurse .entry-content form input[type="checkbox"]:checked::after {
    border-color: var(--nurse);
}
/*問い合わせ画面 */
body.nurse .entry-content .contact-bg .privacy {
    border-color: #fff4f5;
}

/* 薬剤師 親・子ページ　--------------------------------*/
/* 送信ボタンの色　*/
body.pharmacist .entry-content form input[type="submit"] {
    background-color: var(--pharmacist);
}
/* ラジオボタンの見た目 */
body.pharmacist .entry-content form input[type="radio"] {
    border-color: var(--pharmacist);
}
body.pharmacist .entry-content form input[type="radio"]:checked::after {
    background-color: var(--pharmacist);
}
/* チェックボックスの見た目 */
body.pharmacist .entry-content form input[type="checkbox"] {
    border-color: var(--pharmacist);
}
body.pharmacist .entry-content form input[type="checkbox"]:checked::after {
    border-color: var(--pharmacist);
}
/*問い合わせ画面 */
body.pharmacist .entry-content .contact-bg .privacy {
    border-color: #f1f5df;
}

/* =========================================================================================
その他
=========================================================================================*/
/*全体幅*/
.alignfull {
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

/**/

/*インデント*/
.indent {
    text-indent: 1em;
}
.indent-minus {
    text-indent: -1em;
}
.ind-icon-1em {
    display: inline-block;
    text-indent: -1em !important;
    margin-left: 1em !important;
}
.ind-icon-2em {
    display: inline-block;
    text-indent: -2em !important;
    margin-left: 2em !important;
}
.ind-icon-3em {
    display: inline-block;
    text-indent: -3em !important;
    margin-left: 3em !important;
}
.ind-icon-4em {
    display: inline-block;
    text-indent: -4em !important;
    margin-left: 4em !important;
}

/*--------------------------------------------------
  汎用グリッド
--------------------------------------------------*/
.grid-item {
    display: grid;
    align-items: start;
}
.grid-item.column-2 {
    grid-template-columns: auto 1fr;
    gap: 0 1em;
}

.grid-item.no-gap {
    gap: 0 !important;
}
.grid-item.column-gap-1em {
    column-gap: 1em;
}
.grid-item.column-gap-2em {
    column-gap: 2em;
}
.grid-item.column-gap-3em {
    column-gap: 3em;
}
.grid-item.column-gap-4em {
    column-gap: 4em;
}
.grid-item.column-gap-5em {
    column-gap: 5em;
}

/*--------------------------------------------------
  回り込み
--------------------------------------------------*/
.float-l {
    float: left;
    max-width: 400px;
    margin-right: 3em;
    margin-bottom: 1.5em;
}
.float-r {
    float: right;
    max-width: 400px;
    margin-left: 3em;
    margin-bottom: 1.5em;
}
@media only screen and (max-width: 820px) {
    .float-l,
    .float-r {
        width: fit-content;
        float: none;
        max-width: none;
        margin-inline: auto;
    }
}
@media only screen and (max-width: 468px) {
}

/*--------------------------------------------------
  余白調整（0.5em刻み）
--------------------------------------------------*/
/* 要素下の余白（margin-bottom） */
.mb-0 {
    margin-bottom: 0 !important;
}
.mb-0-5em {
    margin-bottom: 0.5em !important;
}
.mb-1em {
    margin-bottom: 1em !important;
}
.mb-1-5em {
    margin-bottom: 1.5em !important;
}
.mb-2em {
    margin-bottom: 2em !important;
}
.mb-2-5em {
    margin-bottom: 2.5em !important;
}
.mb-3em {
    margin-bottom: 3em !important;
}
.mb-3-5em {
    margin-bottom: 3.5em !important;
}
.mb-4em {
    margin-bottom: 4em !important;
}
.mb-4-5em {
    margin-bottom: 4.5em !important;
}
.mb-5em {
    margin-bottom: 5em !important;
}

/* 要素左の余白（margin-left） */
.ml-0 {
    margin-left: 0 !important;
}
.ml-0-5em {
    margin-left: 0.5em !important;
}
.ml-1em {
    margin-left: 1em !important;
}
.ml-1-5em {
    margin-left: 1.5em !important;
}
.ml-2em {
    margin-left: 2em !important;
}
.ml-2-5em {
    margin-left: 2.5em !important;
}
.ml-3em {
    margin-left: 3em !important;
}
.ml-3-5em {
    margin-left: 3.5em !important;
}
.ml-4em {
    margin-left: 4em !important;
}
.ml-4-5em {
    margin-left: 4.5em !important;
}
.ml-5em {
    margin-left: 5em !important;
}
