/* Clinic chrome copied from beluraclinic-ginza.com; scoped to protect article blocks.
 * The source's Noto @font-face declarations have no valid family. Keep its sans-serif fallback,
 * isolated from the article block web fonts. lang="ja" preserves Japanese glyph selection.
 * Source rem values use a 16px root; equivalent px values avoid SWELL's fluid mobile root size.
 */
@font-face { font-family: 'Berura Site Lato'; src: url('site/Lato-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
.berura-site-header, .berura-site-footer, .berura-site-description {
  font-family: sans-serif;
  font-size: 16px; font-weight: 400; line-height: 1.5;
  font-feature-settings: "palt" 1, "pkna" 1; letter-spacing: .5px;
  padding: 0; margin: 0; border: 0;
}
.berura-site-header *, .berura-site-footer *, .berura-site-description,
.berura-site-header *::before, .berura-site-header *::after,
.berura-site-footer *::before, .berura-site-footer *::after { box-sizing: content-box; }
.berura-site-header p, .berura-site-header ul, .berura-site-header li,
.berura-site-footer p, .berura-site-footer ul, .berura-site-footer li { padding: 0; margin: 0; }
.berura-site-header ul, .berura-site-footer ul { list-style: none; }
.berura-site-header a, .berura-site-footer a { color: #333; text-decoration: none; transition: all .3s ease-in-out; }
.berura-site-header a:hover { color: #42b9ae; }
.berura-site-header img, .berura-site-footer img { display: block; width: 100%; height: auto; border: 0; padding: 0; margin: 0; max-width: none; }
.berura-site-header button, .berura-site-footer button { appearance: none; font: inherit; letter-spacing: inherit; color: inherit; border: 0; border-radius: 0; padding: 0; background: none; text-align: left; }
.berura-site-description { line-height: 1.2; }
.berura-site-footer { --belura-color: #42b9ae; }
.berura-site-footer {
    display: block;
    width: 100%;
}

.berura-site-header {
    color: #000;
    font-size: clamp(11.008px, 5.696px + 0.58vw, 14.0px);
    padding: 37px 0 13px;
    margin: -15px auto 0;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    position: sticky;
    top: 0;
    z-index: 50;
    background-color: rgba(255, 255, 255, 0.9);
    letter-spacing: 0;
}

.berura-site-header .pc_menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 16.0px;
    width: calc(100% - 32.0px);
    max-width: calc(1440px - 32.0px);
    margin: 0 auto;
}

.berura-site-header .header_title {
    font-size: 10.0px;
    margin: 0 0 8px;
    width: 100%;
}

.berura-site-header .pc_menu .header_left {
    width: 23%;
    max-width: 300px;
}

.berura-site-header .pc_menu .header_left .pc_logo {
    width: 100%;
    height: auto;
}

.berura-site-header .pc_menu .header_right {
    display: flex;
    flex-wrap: wrap;

    width: 54%;
    justify-content: flex-end;
    align-items: flex-end;
}

.berura-site-header .pc_menu .header_right ul {
    display: flex;
    flex-wrap: nowrap;
    gap: clamp(8.0px, -34.464px + 4.62vw, 32.0px);

    margin: 0;


}

.berura-site-header .pc_menu .cta_btn {

    width: 18%;
}

.berura-site-header .pc_menu .cta_btn a {
    background-color: #06C755;
    color: #fff;
    font-size: clamp(12.0px, 1.392px + 1.15vw, 18.0px);

    position: relative;
    font-weight: bold;
    text-align: center;
    padding: 1em 0 10.0px 0;

    box-shadow: 0px 4px 0px 0px rgba(1, 88, 37, 1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.berura-site-header .pc_menu .cta_btn a::after {
    content: "";

    transition: all .3s ease-in-out;
    display: inline-block;
    width: clamp(12.8px, -11.728px + 2.67vw, 16.0px);
    height: clamp(12.8px, -11.728px + 2.67vw, 16.0px);

    margin: 0 0 0 .5em;

}

.berura-site-header .pc_menu .cta_btn a:hover {
    padding-right: .5em;
}

.berura-site-header .pc_menu .cta_btn a:hover::after {
    margin: 0 -1em 0 1em;

}

.berura-site-header .pc_menu .cta_btn a::before {
    content: "＼ 24時間受付中 ／";
    background-color: #fff;
    color: #333;
    font-size: clamp(10.0px, -13.008px + 2.5vw, 13.008px);

    font-weight: bold;
    text-align: center;
    padding: 5px 0;

    border-radius: 30px;
    border: solid 2px #06C755;
    display: inline-table;
    position: absolute;
    top: -22px;
    left: 0;
    right: 0;
    margin: auto;
    width: clamp(120.0px, -186.672px + 33.33vw, 160.0px);

}

.berura-site-header .sp_hamburger {
    display: none;
}

.berura-site-header .pc_menu .header_right .header_tel {
    margin: -24.0px 0 .6em;
    justify-content: flex-end;
    display: flex;
    flex-wrap: wrap;
    line-height: 1;
    position: absolute;
    right: 19%;
    top: 0;
}

.berura-site-header .pc_menu .header_right .header_tel a {
    font-size: clamp(21.008px, -9.664px + 3.33vw, 25.008px);

    font-weight: 400;
    font-family: 'Berura Site Lato';
    display: inline-block;
    width: 8em;
    line-height: 1;
    text-align: right;
    letter-spacing: 1px;
    margin: 0;
}

.berura-site-header .pc_menu .header_right .header_tel span {
    font-size: 12px;
    width: 100%;
    text-align: right;
    color: #333;
    margin-top: 4.0px;
}

.berura-site-header .pc_menu .header_right.medical_tel_none .header_tel {
    display: none;
}

.berura-site-header .pc_menu .header_right.medical_tel_none ul {
    margin: 0 0 clamp(4.8px, -32.0px + 4vw, 9.6px);

    align-items: flex-end;
}

.berura-site-footer {
    color: #fff;
    background-color: var(--belura-color);
    width: 100%;
    padding: clamp(64.0px, 51.696px + 3.08vw, 80.0px) 0 0;

    display: flex;
    flex-wrap: wrap;
}

.berura-site-footer a {
    position: relative;
}

.berura-site-footer a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #fff;
    bottom: -3px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
}

.berura-site-footer a:hover::after {
    transform: scale(1, 1);
}

.berura-site-footer .Footer_menu a {
    color: #fff;
}

.berura-site-footer .Footer_wrap {
    width: 90%;
    max-width: 1440px;
    margin: auto;
}

.berura-site-footer .Footer_logo {
    text-align: center;
    width: 50%;
    max-width: 240px;
    margin: 0 auto 80.0px;
}

.berura-site-footer .Footer_logo a {
    position: static;
}

.berura-site-footer .Footer_menu {
    width: 92%;
    max-width: 1440px;
    margin: 0 auto 80.0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5%;
}

.berura-site-footer .Footer_menu ul {
    width: auto;
    display: inline-block;
}

.berura-site-footer .Footer_menu ul li {
    width: 100%;
    margin: 0 0 12.48px;
}

.berura-site-footer .Footer_menu ul li:first-of-type {
    font-size: 20.0px;
    margin: 0 0 16.0px;
    font-weight: 600;
}

.berura-site-footer .Footer__last {
    width: 98%;
    margin: 0 auto 40.0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.berura-site-footer .Footer__last p {
    font-size: 14.0px;

}

.berura-site-footer .Footer__last p a {
    margin: 0 32.0px 0 0;
    color: #fff;
}

.berura-site-footer .Footer__last p a:hover {
    color: #fff;
}

.berura-site-footer .Footer__last p a:last-of-type {
    margin: 0;
}

.berura-site-footer .Footer__sp_menu {
    display: none;
}

@media screen and (max-width: 920px) {
.berura-site-header {
        padding: 8.0px 16.0px;
        background: none;
        background-color: rgba(255, 255, 255, 0.9);
        width: calc(100% - 32.0px);
        height: 48.0px;
    }

.berura-site-header .header_logo {
        width: 65%;
        max-width: 220px;
        height: auto;
        margin: 0;
        z-index: 100;
    }

.berura-site-header .sp_hamburger {
        display: flex;
        flex-wrap: nowrap;
        width: 100%;
        justify-content: space-between;
        align-items: center;
    }

.berura-site-header .sp_right {
        display: flex;
        align-content: center;
        flex-wrap: wrap;
    }

.berura-site-header .pc_menu {
        display: none;
    }

.berura-site-header nav {
        display: block;
    }

.berura-site-header ul li a::after {
        position: absolute;
        content: "";
        background: url("site/chevron.svg")no-repeat;
        width: 16.0px;
        height: 16.0px;
        right: clamp(48.0px, 23.392px + 6.15vw, 80.0px);
    }

.berura-site-header .drawer__button {
        position: relative;
        width: 40.0px;
        height: 40.0px;
        background-color: transparent;
        border: none;
        cursor: pointer;
        z-index: 999;
    }

.berura-site-header .drawer__button>span {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 40.0px;
        height: 2px;
        background-color: black;
        transform: translateX(-50%);
    }

.berura-site-header .drawer__button>span:first-child {
        transform: translate(-50%, calc(-50% - 11.2px));
        transition: transform 0.3s ease;
    }

.berura-site-header .drawer__button>span:nth-child(2) {
        transform: translate(-50%, calc(-50% + 0.0px));
        transition: opacity 0.3s ease;
    }

.berura-site-header .drawer__button>span:last-child {
        transform: translate(-50%, calc(-50% + 11.2px));
        transition: transform 0.3s ease;
    }

.berura-site-header .drawer__button.active>span:first-child {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

.berura-site-header .drawer__button.active>span:nth-child(2) {
        opacity: 0;
    }

.berura-site-header .drawer__button.active>span:last-child {
        transform: translate(-50%, -50%) rotate(45deg);
    }

.berura-site-header .drawer__nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.5);
        transition: opacity 0.3s ease;
        opacity: 0;
        visibility: hidden;
    }

.berura-site-header .drawer__nav.active {
        opacity: 1;
        visibility: visible;
        padding: 64.0px 0 0;
        background-color: #fff;
        transition: opacity 0.3s ease;
    }

.berura-site-header .drawer__nav__inner {
        position: relative;
        width: 100%;
        height: 100vh;
        background-color: white;
        padding: 24.0px 0 0;
        margin: 0;
        border-top: solid 1px #e5e5ea;
        overflow: scroll;
    }

.berura-site-header .drawer__nav__inner::-webkit-scrollbar {
        display: none;
    }

.berura-site-header .drawer__nav__menu {
        list-style: none;
        padding-left: 0;
        flex-wrap: wrap;
    }

.berura-site-header .drawer__nav__link {
        padding: 24.0px;
        border-bottom: 1px #333 dashed;
        width: calc(90% - 48.0px);
        margin: auto;
        text-align: left;
        align-items: center;
        display: flex;
    }

.berura-site-header li.drawer__nav__item {
        width: 100%;
        text-align: center;
        padding: 0;
        font-size: 14.0px;

    }

body.berura-menu-open {
        height: 100%;
        overflow: hidden;
    }

.berura-site-footer {
        padding-bottom: 112.0px;
    }

.berura-site-footer .Footer_menu {
        gap: 16.0px;
    }

.berura-site-footer .Footer_menu ul {
        width: calc(100% / 2 - 16.0px);
    }
}

@media screen and (max-width: 767px) {
.berura-site-footer .Footer_wrap {
        width: 100%;
    }

.berura-site-footer .Footer_menu {
        display: none;
    }

.berura-site-footer .Footer__sp_menu {
        display: block;
    }

.berura-site-footer .Footer__last {
        flex-direction: column;
        margin: 0 auto;
    }

.berura-site-footer .Footer__last p {
        width: auto;
        margin: 0 auto clamp(48.0px, 13.12px + 8.72vw, 80.0px);

        display: flex;
        flex-direction: column;
        text-align: center;
    }

.berura-site-footer .Footer__last p:first-of-type {
        margin: 0 auto;
    }

.berura-site-footer .Footer__last p:last-of-type {
        order: -1;
    }

.berura-site-footer .Footer__last p a {
        margin: 0 auto 32.0px;
    }

.berura-site-footer .Footer__sp_menu_content {
        display: none;
    }

.berura-site-footer .Footer__sp_menu {
        width: 100%;
        margin: auto;
        margin: 0 auto 48.0px;
    }

.berura-site-footer .Footer__sp_menu_header {
        padding: 24.0px 32.0px 24.0px 16.0px;
        margin: 0;
        cursor: pointer;
        position: relative;
        border-bottom: solid 1px #fff;
    }

.berura-site-footer .Footer__sp_menu_header:nth-child(1) {
        border-top: solid 1px #fff;
    }

.berura-site-footer .Footer__sp_menu_header::before,
.berura-site-footer .Footer__sp_menu_header::after {
        position: absolute;
        content: '';
        top: 1px;
        right: 16.0px;
        bottom: 0;
        width: 1em;
        height: 1px;
        margin: auto;
        background: #fff;
    }

.berura-site-footer .Footer__sp_menu_header::after {
        transform: rotate(-90deg);
        transition: transform 0.3s;
    }

.berura-site-footer .Footer__sp_menu_header.active::after {
        transform: rotate(0deg);
    }

.berura-site-footer .Footer__sp_menu_content {
        background-color: #fff;
    }

.berura-site-footer .Footer__sp_menu_header span,
.berura-site-footer .Footer__sp_menu_content span {
        position: relative;
    }

.berura-site-footer .Footer__sp_menu_content span a {
        color: #000;
        padding: 24.0px 32.0px 24.0px 16.0px;
        display: block;
        border-bottom: solid 1px var(--belura-color);
    }
}
.berura-site-description {
    position: sticky;
    font-size: 10.0px;
    z-index: 100;
    color: #000;
    letter-spacing: 0;
    display: block;
    width: calc(100% - 32.0px);
    max-width: calc(1440px - 32.0px);
    margin: 0 auto -3px;
    top: 16px;
}

@media screen and (max-width: 920px) {
.berura-site-description {
        display: block;
        font-size: 10.0px;

        color: #fff;
        z-index: 1;
        position: absolute;
        top: 16.0px;
        text-align: left;
        width: 95%;
        overflow-x: auto;
        white-space: nowrap;
    }

.berura-site-description {
        display: none;
    }

.berura-site-description {
        display: none;
    }
}

.berura-site-header .pc_menu {
    position: relative;
}

.berura-site-header .pc_menu .cta_btn {
    margin: 0;
    position: absolute;
    right: 0;
    top: -32.0px;
}

.berura-site-header .pc_menu .cta_btn a {
    background-color: #06C755;
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    position: relative;
    font-weight: bold;
    text-align: center;
    padding: clamp(5.6px, -2.32px + 0.86vw, 8.0px) 0;

    box-shadow: 0px 2px 0px 0px rgba(1, 88, 37, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
}

.berura-site-header .pc_menu .cta_btn a::before,
.berura-site-header .pc_menu .cta_btn a::after {
    display: none;
}

.berura-site-header .pc_menu .cta_btn a:hover {
    padding-right: 0;
}

.berura-site-header .pc_menu .header_right {
    width: 75%;
}

.berura-site-footer .Footer_menu ul li:first-of-type,
.berura-site-footer .Footer_menu ul.Text_bold li {
    font-size: 20.0px;
    margin: 0 0 16.0px;
    font-weight: 600;
}
.berura-site-footer .Footer__sp_menu_header { display: block; width: calc(100% - 48.0px); }
.berura-site-footer .Footer__sp_menu_content[aria-hidden="false"] { display: block; }
.berura-site-header a:focus-visible, .berura-site-header button:focus-visible,
.berura-site-footer a:focus-visible, .berura-site-footer button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 920px) { .berura-site-header { margin-top: 0; } }
@media (prefers-reduced-motion: reduce) { .berura-site-header *, .berura-site-footer *, .berura-site-header *::after, .berura-site-footer *::after { transition: none; } }

.berura-site-header, .berura-site-footer { box-sizing: content-box; }
@media (max-width: 767px) { .berura-site-footer { font-size: 14px; } }
/* Keep the drawer's scrollable area inside the visible viewport. */
@media (max-width: 920px) {
  .berura-site-header .drawer__nav.active { height: calc(100dvh - 64px); }
  .berura-site-header .drawer__nav__inner { box-sizing: border-box; height: 100%; overflow-x: hidden; overflow-y: auto; }
}
html.berura-site-chrome { scroll-padding-top: var(--berura-header-offset, 120px); }
@media (min-width: 601px) {
  .admin-bar .berura-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
  .admin-bar .berura-site-description { top: calc(var(--wp-admin--admin-bar--height, 32px) + 16px); }
}
